class RepositoryDialog extends this.OS.GUI.BaseDialog constructor: () -> super "RepositoryDialog" init: () -> @_gui.htmlToScheme RepositoryDialog.scheme, @, @host #@render "#{@meta().path}/repositorydia.html" main: () -> me = @ @list = @find "repo-list" @list.set "onlistdbclick", (e) -> selidx = me.list.get "selidx" return unless selidx >= 0 sel = me.systemsetting.system.repositories[selidx] me.openDialog "PromptDialog", (e) -> m = e.match /\[([^\]]*)\]\s*(.*)/ return me.error "Wrong format: it should be [name] url" if not m or m.length isnt 3 sel.name = m[1] sel.text = sel.name sel.url = m[2] me.refreshList() , __("Edit repository"), { label: __("Format : [name] url"), value: "[#{e.data.text}] #{e.data.url}" } @list.set "buttons", [ { text: "+", onbtclick: () -> me.openDialog "PromptDialog", (e) -> m = e.match /\[([^\]]*)\]\s*(.*)/ return me.error __("Wrong format: it should be [name] url") if not m or m.length isnt 3 me.systemsetting.system.repositories.push { name: m[1], url: m[2], text: m[1], i: me.systemsetting.system.repositories.length } me.refreshList() , __("Add repository"), { label: __("Format : [name] url") } }, { text: "-", onbtclick: () -> selidx = me.list.get "selidx" return unless selidx >= 0 me.systemsetting.system.repositories.splice selidx, selidx me.refreshList() } ] (@find "btquit").set "onbtclick", (e) -> me.quit() @refreshList() refreshList: () -> ls = ({ text: v.name, iconclass: "fa fa-link", url: v.url, complex: true, detail: [{ text: v.url }] } for v in @systemsetting.system.repositories) @list.set "items", ls onexit: (e) -> @parent.repo.set "items", @systemsetting.system.repositories @parent.dialog = undefined if @parent RepositoryDialog.scheme = """
""" this.OS.register "RepositoryDialog", RepositoryDialog