(function() { void 0; var Ant, ShowCase; Ant = this; ShowCase = class ShowCase extends this.OS.GUI.BaseApplication { constructor(args) { super("ShowCase", args); } main() { var bt, btrun, cal, dllist, fileview, grid, list, menu, pk, slider, spin, sw, tdata, tree, viewoption; bt = this.find('bttest'); bt.set("onbtclick", (e) => { return this.error("test error"); }); this.observable.on("btclick", (e) => { return this.notify("button clicked"); }); this.observable.on("menuselect", (e) => { return this.notify(e.id); }); list = this.find('list'); list.set("data", [ { text: "some thing with avery long text" }, { text: "some thing 1", closable: true }, { text: "some thing 2", iconclass: "fa fa-camera-retro fa-lg" }, { text: "some thing 3" }, { text: "some thing 4" }, { text: "some thing 5" } ]); list.unshift({ text: "shifted el" }); list.set("onlistselect", (e) => { return this.notify(e.data.items); }); sw = this.find('switch'); sw.set("onchange", (e) => { return this.notify(e.data); }); spin = this.find('spin'); spin.set("onchange", (e) => { return this.notify(e.data); }); menu = this.find('menu'); menu.set("items", this.menu()); list.contextmenuHandle = (e, m) => { m.set("items", this.menu()); return m.show(e); }; grid = this.find('grid'); grid.set("oncelldbclick", (e) => { return this.notify("on dbclick", e); }); grid.set("onrowselect", (e) => { return this.notify("on rowselect", e.data.items); }); this.observable.on("cellselect", function(e) { return console.log("observable", e); }); grid.set("header", [ { text: "header1", width: 80 }, { text: "header2" }, { text: "header3" } ]); grid.set("rows", [ [ { text: "text 1" }, { text: "text 2" }, { text: "text 3" } ], [ { text: "text 4" }, { text: "text 5" }, { text: "text 6" } ], [ { text: "text 7" }, { text: "text 8" }, { text: "text 9" } ], [ { text: "text 7" }, { text: "Subgrid on columns and rows. Subgrid on columns, implicit grid rows. Subgrid on rows, defined column tracks" }, { text: "text 9" } ], [ { text: "text 7" }, { text: "text 8" }, { text: "text 9" } ], [ { text: "text 7" }, { text: "text 8" }, { text: "text 9" } ], [ { text: "text 7" }, { text: "text 8" }, { text: "text 9" } ], [ { text: "text 7" }, { text: "text 8" }, { text: "text 9" } ], [ { text: "text 7" }, { text: "text 8" }, { text: "text 9" } ], [ { text: "text 7" }, { text: "text 8" }, { text: "text 9" } ], [ { text: "text 7" }, { text: "text 8" }, { text: "text 9" } ] ]); tdata = { name: 'My Tree', nodes: [ { name: 'hello', iconclass: 'fa fa-car' }, { name: 'wat' }, { name: 'child folder', nodes: [ { name: 'child folder', nodes: [ { name: 'hello' }, { name: 'wat' } ] }, { name: 'hello' }, { name: 'wat' }, { name: 'child folder', nodes: [ { name: 'hello' }, { name: 'wat' } ] } ] } ] }; tree = this.find('tree'); tree.set("data", tdata); tree.set("ontreeselect", (e) => { return this.notify(e.data.item.get("treepath")); }); tree.set("ontreedbclick", (e) => { return this.notify("treedbclick", e); }); this.observable.on("treedbclick", (e) => { return this.notify("observable treedbclick", e); }); slider = this.find('slider'); slider.set("onchange", (v) => { return this.notify(v); }); cal = this.find('cal'); cal.set("ondateselect", (e) => { return this.notify(e); }); pk = this.find('cpk'); pk.set("oncolorselect", (e) => { return this.notify(e); }); pk.set("oncolorselect", (e) => { return this.notify(e); }); fileview = this.find('fileview'); fileview.set("fetch", function(path) { return new Promise(function(resolve, reject) { var dir; dir = path.asFileHandle(); return dir.read().then(function(d) { var p; p = dir.parent().asFileHandle(); p.filename = "[..]"; p.type = "dir"; if (d.error) { return reject(d.error); } d.result.unshift(p); return resolve(d.result); }); }); }); fileview.set("path", "home:///"); viewoption = this.find('viewoption'); viewoption.set("data", [ { text: "icon" }, { text: "list" }, { text: "tree" } ]); viewoption.set("onlistselect", (e) => { this.notify(e.data.item.get("data").text); return fileview.set("view", e.data.item.get("data").text); }); dllist = this.find("dialoglist"); btrun = this.find("btrundia"); dllist.set("data", [ { text: "Prompt dialog", id: "prompt" }, { text: "Calendar dialog", id: "calendar" }, { text: "Color picker dialog", id: "colorpicker" }, { text: "Info dialog", id: "info" }, { text: "YesNo dialog", id: "yesno" }, { text: "Selection dialog", id: "selection" }, { text: "About dialog", id: "about" }, { text: "File dialog", id: "file" } ]); return btrun.set("onbtclick", (e) => { var item; item = dllist.get("selectedItem"); if (!item) { return; } switch (item.get("data").id) { case "prompt": return this.openDialog("PromptDialog", { title: "Prompt review", value: "txt data", label: "enter value" }).then((d) => { return this.notify(d); }); case "calendar": return this.openDialog("CalendarDialog", { title: "Calendar" }).then((d) => { return this.notify(d); }); case "colorpicker": return this.openDialog("ColorPickerDialog").then((d) => { return this.notify(d); }); case "info": return this.openDialog("InfoDialog", { title: "Info application", name: "Show case", date: "10/12/2014", description: "the brown fox jumps over the lazy dog" }).then(function(d) {}); case "yesno": return this.openDialog("YesNoDialog", { title: "Question ?", text: "Do you realy want to delete file ?" }).then((d) => { return this.notify(d); }); case "selection": return this.openDialog("SelectionDialog", { title: "Select data ?", data: [ { text: "Option 1" }, { text: "Option 2" }, { text: "Option 3", iconclass: "fa fa-camera-retro fa-lg" } ] }).then((d) => { return this.notify(d.text); }); case "about": return this.openDialog("AboutDialog").then((d) => {}); case "file": return this.openDialog("FileDialog", { title: "Select file ?", //root: "home:///", mimes: ["text/*", "dir"], file: "Untitled".asFileHandle() }).then((f, name) => { return this.notify(f, name); }); } }); } mnFile() { var arr; //@notify file arr = { text: "__(File)", child: [ { text: "__(New file)", dataid: `${this.name}-mkf`, shortcut: 'C-F' }, { text: "__(New folder)", dataid: `${this.name}-mkdir`, shortcut: 'C-D' }, { text: "__(Open with)", dataid: `${this.name}-open`, child: this.apps }, { text: "__(Upload)", dataid: `${this.name}-upload`, shortcut: 'C-U' }, { text: "__(Download)", dataid: `${this.name}-download` }, { text: "__(Share file)", dataid: `${this.name}-share`, shortcut: 'C-S' }, { text: "__(Properties)", dataid: `${this.name}-info`, shortcut: 'C-I' } ], onchildselect: (e) => { return this.notify("child", e); } }; return arr; } mnEdit() { return { text: "__(Edit)", child: [ { text: "__(Rename)", dataid: `${this.name}-mv`, shortcut: 'C-R' }, { text: "__(Delete)", dataid: `${this.name}-rm`, shortcut: 'C-M' }, { text: "__(Cut)", dataid: `${this.name}-cut`, shortcut: 'C-X' }, { text: "__(Copy)", dataid: `${this.name}-copy`, shortcut: 'C-C' }, { text: "__(Paste)", dataid: `${this.name}-paste`, shortcut: 'C-P' } ], onchildselect: (e) => { return console.log("child", e); } }; } menu() { var menu; menu = [ this.mnFile(), this.mnEdit(), { text: "__(View)", child: [ { text: "__(Refresh)", dataid: `${this.name}-refresh`, onmenuselect: function(e) { return console.log("select", e); } }, { text: "__(Sidebar)", switch: true, checked: true }, { text: "__(Navigation bar)", switch: true, checked: false }, { text: "__(Hidden files)", switch: true, checked: true, dataid: `${this.name}-hidden` }, { text: "__(Type)", child: [ { text: "__(Icon view)", radio: true, checked: true, dataid: `${this.name}-icon`, type: 'icon' }, { text: "__(List view)", radio: true, checked: false, dataid: `${this.name}-list`, type: 'list' }, { text: "__(Tree view)", radio: true, checked: false, dataid: `${this.name}-tree`, type: 'tree' } ], onchildselect: function(e) { return console.log("child", e); } } ], onchildselect: (e) => { return console.log("child", e); } } ]; return menu; } }; ShowCase.singleton = true; this.OS.register("ShowCase", ShowCase); }).call(this);