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
13
14
15
const CreatePopupList = function (
  scene: Phaser.Scene,
  x: number,
  y: number,
  options: string[],
  onClick: (button: Phaser.GameObjects.Text) => void
): 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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
  menu.on('button.click', function (button) {
    if (button.text === 'Добавить колонку') {
      CreateRequestModalColumn(scene)
        .setPosition(400, 300)
        .layout()
        .modalPromise({
          manaulClose: true,
          duration: {
            in: 500,
            out: 500,
          },
        })
        .then(function (data) {
          console.log(data);
        });
    } else if (button.text === 'Переименовать доску') {
      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;