CreatePopupList.ts 1,9 КБ
Newer Older
avathar's avatar
avathar включено в состав коммита
1
2
// @ts-nocheck

Medvedev Anton's avatar
Medvedev Anton включено в состав коммита
3
4
5
6
7
import { COLOR_LIGHT, COLOR_PRIMARY, COLOR_DARK } from './Const';
import CreateTextObject from './CreateTextObject';
import CreateRequestModalColumn from './CreateRequestModalColumn';
import CreateRequestModalBoard from './CreateRequestModalBoard';

avathar's avatar
avathar включено в состав коммита
8
9
10
11
12
const CreatePopupList = function (
  scene: Phaser.Scene,
  x: number,
  y: number,
  options: string[],
Medvedev Anton's avatar
Medvedev Anton включено в состав коммита
13
  onClick: (button: Phaser.GameObjects.Text) => void,
avathar's avatar
avathar включено в состав коммита
14
15
): Phaser.GameObjects.Container {
  const items = options.map((option) => ({ label: option }));
Medvedev Anton's avatar
Medvedev Anton включено в состав коммита
16
  const menu = scene.rexUI.add.menu({
avathar's avatar
avathar включено в состав коммита
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
    x: x,
    y: y,
    orientation: 'y',
    items: items,
    createButtonCallback: (item, i, options) => {
      return scene.rexUI.add.label({
        background: scene.rexUI.add.roundRectangle(0, 0, 2, 2, 0, COLOR_DARK),
        text: CreateTextObject(scene, item.label),
        space: {
          left: 10,
          right: 10,
          top: 10,
          bottom: 10,
          icon: 10,
        },
      });
    },
    easeIn: {
      duration: 500,
      orientation: 'y',
    },
    easeOut: {
      duration: 100,
Medvedev Anton's avatar
Medvedev Anton включено в состав коммита
40
      orientation: 'y',
avathar's avatar
avathar включено в состав коммита
41
    },
Medvedev Anton's avatar
Medvedev Anton включено в состав коммита
42
43
  });

avathar's avatar
avathar включено в состав коммита
44
  menu.on('button.click', function (button) {
Medvedev Anton's avatar
Medvedev Anton включено в состав коммита
45
    if (button.text === 'Add column') {
avathar's avatar
avathar включено в состав коммита
46
47
48
49
50
51
52
53
54
55
56
57
58
      CreateRequestModalColumn(scene)
        .setPosition(400, 300)
        .layout()
        .modalPromise({
          manaulClose: true,
          duration: {
            in: 500,
            out: 500,
          },
        })
        .then(function (data) {
          console.log(data);
        });
Medvedev Anton's avatar
Medvedev Anton включено в состав коммита
59
    } else if (button.text === 'Rename column') {
avathar's avatar
avathar включено в состав коммита
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
      CreateRequestModalBoard(scene)
        .setPosition(400, 300)
        .layout()
        .modalPromise({
          manaulClose: true,
          duration: {
            in: 500,
            out: 500,
          },
        })
        .then(function (data) {
          console.log(data);
        });
    }
    menu.collapse();
Medvedev Anton's avatar
Medvedev Anton включено в состав коммита
75
76
77
78
79
  });

  return menu;
};
export default CreatePopupList;