2 export interface IItemMenu {
6 export interface IMenuItemProperties {
15 export class FoldersMenu {
16 private _folders:Array<FoldersItemsMenu> = [];
18 constructor(folders:Array<IMenuItemProperties>) {
20 folders.forEach(function (folder:IMenuItemProperties) {
21 if (folder.groupname) {
22 self._folders.push(new FoldersItemsMenuGroup(folder));
24 self._folders.push(new FoldersItemsMenu(folder));
27 self._folders[0].setSelected(true);
30 public getFolders():Array<FoldersItemsMenu> {
34 public getCurrentFolder():FoldersItemsMenu {
35 let menuItem:FoldersItemsMenu = undefined;
36 this.getFolders().forEach(function (tmpFolder:FoldersItemsMenu) {
37 if (tmpFolder.isSelected()) {
44 public setSelected(folder:FoldersItemsMenu):void {
45 this.getFolders().forEach(function (tmpFolder:FoldersItemsMenu) {
46 tmpFolder.setSelected(false);
48 folder.setSelected(true);
52 export class FoldersItemsMenu implements IItemMenu {
57 public states:Array<any>;
59 private selected:boolean = false;
61 constructor(menuProperties:IMenuItemProperties) {
62 this.text = menuProperties.text;
63 this.group = menuProperties.group;
64 this.state = menuProperties.state;
65 this.states = menuProperties.states;
66 this.dist = menuProperties.dist;
69 public isSelected():boolean {
73 public setSelected(value:boolean):void {
74 this.selected = value;
77 public isGroup():boolean {
82 export class FoldersItemsMenuGroup extends FoldersItemsMenu {
83 public groupname:string;
85 constructor(menuProperties:IMenuItemProperties) {
86 super(menuProperties);
87 this.groupname = menuProperties.groupname;
90 public isGroup():boolean {