-
Notifications
You must be signed in to change notification settings - Fork 18
/
load-menu-sided-item.ts
63 lines (56 loc) · 2.35 KB
/
load-menu-sided-item.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
/*
* Copyright (C) 2019 Toshiba Corporation
* SPDX-License-Identifier: Apache-2.0
*/
import { DisplayObject } from "pixi.js";
import { DMenuItemCheckIsCompatible } from "../d-menu-item-check-is-compatible";
import { DMenuItemLinkIsCompatible } from "../d-menu-item-link-is-compatible";
import { DMenuItemMenuIsCompatible } from "../d-menu-item-menu-is-compatible";
import { DMenuItemMenuToSubMenuOptions } from "../d-menu-item-menu-to-sub-menu-options";
import { DMenuItemOptionsUnion } from "../d-menu-item-options-union";
import { DMenuItemSeparatorIsCompatible } from "../d-menu-item-separator";
import { DMenuItemSpaceIsCompatible } from "../d-menu-item-space-is-compatible";
import { DMenuSidedItemCheck } from "../d-menu-sided-item-check";
import { DMenuSidedItemLink } from "../d-menu-sided-item-link";
import { DMenuSidedItemMenu } from "../d-menu-sided-item-menu";
import { DMenuSidedItemSeparator } from "../d-menu-sided-item-separator";
import { DMenuSidedItemSpace } from "../d-menu-sided-item-space";
import { DMenuSidedItemText } from "../d-menu-sided-item-text";
import { DMenuSideds } from "../d-menu-sideds";
export const loadMenuSidedItem = (): void => {
DMenuSideds.setItemCreatorDefault((options: any): DisplayObject | null => {
return new DMenuSidedItemText(options);
});
DMenuSideds.addItemCreator((options: DMenuItemOptionsUnion<any>): DisplayObject | null => {
if (DMenuItemSpaceIsCompatible(options)) {
return new DMenuSidedItemSpace(options);
}
return null;
});
DMenuSideds.addItemCreator((options: DMenuItemOptionsUnion<any>): DisplayObject | null => {
if (DMenuItemSeparatorIsCompatible(options)) {
return new DMenuSidedItemSeparator(options);
}
return null;
});
DMenuSideds.addItemCreator(
(options: DMenuItemOptionsUnion<any>, sticky: boolean): DisplayObject | null => {
if (DMenuItemMenuIsCompatible(options)) {
return new DMenuSidedItemMenu(DMenuItemMenuToSubMenuOptions(options, sticky));
}
return null;
}
);
DMenuSideds.addItemCreator((options: DMenuItemOptionsUnion<any>): DisplayObject | null => {
if (DMenuItemLinkIsCompatible(options)) {
return new DMenuSidedItemLink(options);
}
return null;
});
DMenuSideds.addItemCreator((options: DMenuItemOptionsUnion<any>): DisplayObject | null => {
if (DMenuItemCheckIsCompatible(options)) {
return new DMenuSidedItemCheck(options);
}
return null;
});
};