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');