From b13a8ab206124c65356d7df9db2bd66ecf7a8195 Mon Sep 17 00:00:00 2001 From: Joxit Date: Thu, 12 May 2016 22:51:34 +0200 Subject: [PATCH] [change] Add listener on change dialog button --- change.tag | 9 +++++++-- script.js | 24 +++++++++++++++++++++++- 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/change.tag b/change.tag index 3aa99b0..0650ef5 100644 --- a/change.tag +++ b/change.tag @@ -20,7 +20,7 @@
@@ -35,16 +35,21 @@ this.on('updated', function () { componentHandler.upgradeElements(this['change-server-dialog']); registryUI.changeTag.dialog = registryUI.changeTag.dialog || document.querySelector('#change-server-dialog'); - registryUI.changeTag.tileServerList = registryUI.changeTag.tileServerList + registryUI.changeTag.serverList = registryUI.changeTag.serverList || registryUI.changeTag.dialog.querySelector('#server-list'); if (!registryUI.changeTag.dialog.showModal) { dialogPolyfill.registerDialog(registryUI.changeTag.dialog); } }); registryUI.changeTag.show = function() { + registryUI.changeTag.update(); registryUI.changeTag.dialog.showModal(); }; registryUI.changeTag.change = function() { + if (registryUI.changeTag.serverList.value && registryUI.changeTag.serverList.value.length > 0) { + registryUI.changeServer(registryUI.changeTag.serverList.value); + } + registryUI.changeTag.serverList.value = ''; registryUI.changeTag.dialog.close(); }; registryUI.changeTag.close = function() { diff --git a/script.js b/script.js index e05f753..0969f20 100644 --- a/script.js +++ b/script.js @@ -16,10 +16,32 @@ */ var registryUI = {} registryUI.url = function () { - return localStorage.getItem('registryServer'); + return registryUI.getRegistryServer(0); +} +registryUI.getRegistryServer = function (i) { + try { + var res = JSON.parse(localStorage.getItem('registryServer')); + if (res instanceof Array) { + return i ? res[i] : res; + } + } catch (e) {} + return i ? '' : []; +} +registryUI.changeServer = function (url) { + var registryServer = registryUI.getRegistryServer(); + url = url.trim(); + var index = registryServer.indexOf(url); + if (index == -1) { + return; + } + registryServer.splice(index, 1); + registryServer = [ url ].concat(registryServer); + registryUI.registryServer.servers = registryServer; + localStorage.setItem('registryServer', JSON.stringify(registryServer)); } var catalog = {}; registryUI.taglist = {}; + riot.mount('catalog'); riot.mount('taglist'); riot.mount('change');