mirror of
https://github.com/antos-rde/antosdk-apps.git
synced 2024-11-08 06:28:29 +01:00
fix(GPClient): do not assign directly the setting object as data to an UI element
This commit is contained in:
parent
3b14ff5b9f
commit
5618965d3c
@ -1 +1 @@
|
||||
(function(){var t,i,e;(t=class t extends this.OS.GUI.BasicDialog{constructor(){super("ClientDialog",t.scheme)}main(){var t,i,e,n;if(super.main(),e=$(this.scheme).find("input[type=text]"),this.data)for(i=0,n=e.length;i<n;i++)t=e[i],this.data[t.name]&&(t.value=this.data[t.name]);return this.find("btncancel").onbtclick=()=>this.quit(),this.find("btnok").onbtclick=i=>{var n,a,s;for(n={},a=0,s=e.length;a<s;a++){if(""===(t=e[a]).value)return this.notify(__("Please enter all the fields"));n[t.name]=t.value}return this.handle&&this.handle(n),this.quit()}}}).scheme='<afx-app-window width=\'400\' height=\'300\'>\n <afx-vbox padding="5">\n <afx-label data-height="25" text = "__(Client name)"></afx-label>\n <input type="text" name="text" data-height="30" ></input>\n <div data-height="5"></div>\n <afx-label data-height="25" text = "__(URL)"></afx-label>\n <input type="text" name="url" data-height="30" ></input>\n <div></div>\n <div data-height="35" style="text-align: right;">\n <afx-button data-id="btnok" text="__(Ok)"></afx-button>\n <afx-button data-id="btncancel" text="__(Cancel)"></afx-button>\n </div>\n </afx-vbox>\n</afx-app-window>',(i=class i extends this.OS.GUI.BasicDialog{constructor(){super("ClientListDialog",i.scheme)}main(){return super.main(),this.clist=this.find("client-list"),this.clist.buttons=[{text:"",iconclass:"fa fa-plus-circle",onbtclick:i=>this.openDialog(new t,{title:__("Add new client")}).then(t=>(this.parent.setting.clients.push(t),this.clist.data=this.parent.setting.clients))},{text:"",iconclass:"fa fa-minus-circle",onbtclick:t=>{var i,e;if(e=this.clist.selectedItem,i=this.clist.selected,e)return this.ask({text:__("Do you realy want to delete: `{0}`",e.data.text)}).then(t=>{if(t)return this.parent.setting.clients.splice(i,1),this.clist.data=this.parent.setting.clients})}},{text:"",iconclass:"fa fa-pencil-square-o",onbtclick:i=>{var e;if(e=this.clist.selectedItem)return this.openDialog(new t,{title:__("Add new client"),text:e.data.text,url:e.data.url}).then(t=>{if(t)return e.data.text=t.text,e.data.url=t.url,this.clist.data=this.parent.setting.clients})}}],this.find("btnswitch").onbtclick=t=>{var i;if(i=this.clist.selectedItem)return this.parent.setting.curl=i.data.url,this.parent.setting.cname=i.data.text,this.parent.switchClient(),this.quit()},this.clist.data=this.parent.setting.clients}}).scheme='<afx-app-window width=\'400\' height=\'300\'>\n <afx-vbox padding="5">\n <afx-list-view data-id="client-list"></afx-list-view>\n <div data-height="35" style="text-align: right;">\n <afx-button text="__(Switch client)" data-id="btnswitch"></afx-button>\n <div>\n </afx-vbox>\n</afx-app-window>',(e=class extends this.OS.application.BaseApplication{constructor(t){super("GPClient",t)}main(){return this.setting.clients||(this.setting.clients=[]),this.container=this.find("container"),this.bindKey("CTRL-M",()=>this.openDialog(new i,{title:__("Client Manager")})),this.switchClient()}switchClient(){return this.setting.curl?(this.container.src=this.setting.curl,this.scheme.apptitle=this.setting.cname):this.notify(__("No client selected, manager client in menu Options > Client manager"))}menu(){return[{text:"__(Options)",nodes:[{text:"__(Client manager)",shortcut:"C-M"}],onchildselect:t=>this.openDialog(new i,{title:__("Client Manager")})}]}}).singleton=!0,this.OS.register("GPClient",e)}).call(this);
|
||||
(function(){var t,e,i;(t=class t extends this.OS.GUI.BasicDialog{constructor(){super("ClientDialog",t.scheme)}main(){var t,e,i,n;if(super.main(),i=$(this.scheme).find("input[type=text]"),this.data)for(e=0,n=i.length;e<n;e++)t=i[e],this.data[t.name]&&(t.value=this.data[t.name]);return this.find("btncancel").onbtclick=()=>this.quit(),this.find("btnok").onbtclick=e=>{var n,a,s;for(n={},a=0,s=i.length;a<s;a++){if(""===(t=i[a]).value)return this.notify(__("Please enter all the fields"));n[t.name]=t.value}return this.handle&&this.handle(n),this.quit()}}}).scheme='<afx-app-window width=\'400\' height=\'300\'>\n <afx-vbox padding="5">\n <afx-label data-height="25" text = "__(Client name)"></afx-label>\n <input type="text" name="text" data-height="30" ></input>\n <div data-height="5"></div>\n <afx-label data-height="25" text = "__(URL)"></afx-label>\n <input type="text" name="url" data-height="30" ></input>\n <div></div>\n <div data-height="35" style="text-align: right;">\n <afx-button data-id="btnok" text="__(Ok)"></afx-button>\n <afx-button data-id="btncancel" text="__(Cancel)"></afx-button>\n </div>\n </afx-vbox>\n</afx-app-window>',(e=class e extends this.OS.GUI.BasicDialog{constructor(){super("ClientListDialog",e.scheme)}refresh_list(){return this.clist.data=this.parent.setting.clients.map(t=>({text:t.text,url:t.url}))}main(){return super.main(),this.clist=this.find("client-list"),this.clist.buttons=[{text:"",iconclass:"fa fa-plus-circle",onbtclick:e=>this.openDialog(new t,{title:__("Add new client")}).then(t=>(console.log(t),this.parent.setting.clients.push(t),this.clist.data=this.parent.setting.clients.map(t=>({text:t.text,url:t.url}))))},{text:"",iconclass:"fa fa-minus-circle",onbtclick:t=>{var e,i;if(i=this.clist.selectedItem,e=this.clist.selected,i)return this.ask({text:__("Do you realy want to delete: `{0}`",i.data.text)}).then(t=>{if(t)return this.parent.setting.clients.splice(e,1),this.refresh_list()})}},{text:"",iconclass:"fa fa-pencil-square-o",onbtclick:e=>{var i;if(i=this.clist.selectedItem)return this.openDialog(new t,{title:__("Add new client"),text:i.data.text,url:i.data.url}).then(t=>{if(t)return i.data.text=t.text,i.data.url=t.url,this.refresh_list()})}}],this.find("btnswitch").onbtclick=t=>{var e;if(e=this.clist.selectedItem)return this.parent.setting.curl=e.data.url,this.parent.setting.cname=e.data.text,this.parent.switchClient(),this.quit()},this.refresh_list()}}).scheme='<afx-app-window width=\'400\' height=\'300\'>\n <afx-vbox padding="5">\n <afx-list-view data-id="client-list"></afx-list-view>\n <div data-height="35" style="text-align: right;">\n <afx-button text="__(Switch client)" data-id="btnswitch"></afx-button>\n <div>\n </afx-vbox>\n</afx-app-window>',(i=class extends this.OS.application.BaseApplication{constructor(t){super("GPClient",t)}main(){return this.setting.clients||(this.setting.clients=[]),this.container=this.find("container"),this.bindKey("CTRL-M",()=>this.openDialog(new e,{title:__("Client Manager")})),this.switchClient()}switchClient(){return this.setting.curl?(this.container.src=this.setting.curl,this.scheme.apptitle=this.setting.cname):this.notify(__("No client selected, manager client in menu Options > Client manager"))}menu(){return[{text:"__(Options)",nodes:[{text:"__(Client manager)",shortcut:"C-M"}],onchildselect:t=>this.openDialog(new e,{title:__("Client Manager")})}]}}).singleton=!0,this.OS.register("GPClient",i)}).call(this);
|
Binary file not shown.
@ -43,7 +43,14 @@ ClientDialog.scheme = """
|
||||
class ClientListDialog extends this.OS.GUI.BasicDialog
|
||||
constructor: () ->
|
||||
super "ClientListDialog", ClientListDialog.scheme
|
||||
|
||||
|
||||
refresh_list: () ->
|
||||
@clist.data = @parent.setting.clients.map (e) =>
|
||||
{
|
||||
text: e.text,
|
||||
url: e.url
|
||||
}
|
||||
|
||||
main: () ->
|
||||
super.main()
|
||||
@clist = @find("client-list")
|
||||
@ -56,9 +63,13 @@ class ClientListDialog extends this.OS.GUI.BasicDialog
|
||||
title: __("Add new client")
|
||||
})
|
||||
.then (data) =>
|
||||
#console.log(data)
|
||||
console.log(data)
|
||||
@parent.setting.clients.push(data)
|
||||
@clist.data = @parent.setting.clients
|
||||
@clist.data = @parent.setting.clients.map (e) =>
|
||||
{
|
||||
text: e.text,
|
||||
url: e.url
|
||||
}
|
||||
|
||||
},
|
||||
{
|
||||
@ -72,7 +83,7 @@ class ClientListDialog extends this.OS.GUI.BasicDialog
|
||||
.then (d) =>
|
||||
return unless d
|
||||
@parent.setting.clients.splice(index,1)
|
||||
@clist.data = @parent.setting.clients
|
||||
@refresh_list()
|
||||
},
|
||||
{
|
||||
text: "",
|
||||
@ -90,7 +101,7 @@ class ClientListDialog extends this.OS.GUI.BasicDialog
|
||||
return unless data
|
||||
item.data.text = data.text
|
||||
item.data.url = data.url
|
||||
@clist.data = @parent.setting.clients
|
||||
@refresh_list()
|
||||
}
|
||||
]
|
||||
@find("btnswitch").onbtclick = (e) =>
|
||||
@ -100,7 +111,7 @@ class ClientListDialog extends this.OS.GUI.BasicDialog
|
||||
@parent.setting.cname = item.data.text
|
||||
@parent.switchClient()
|
||||
@quit()
|
||||
@clist.data = @parent.setting.clients
|
||||
@refresh_list()
|
||||
|
||||
ClientListDialog.scheme = """
|
||||
<afx-app-window width='400' height='300'>
|
||||
|
Binary file not shown.
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user