[change] Add listener on change dialog button

This commit is contained in:
Joxit 2016-05-12 22:51:34 +02:00
parent 3589a7e369
commit b13a8ab206
2 changed files with 30 additions and 3 deletions

View file

@ -20,7 +20,7 @@
<div class="mdl-dialog__content"> <div class="mdl-dialog__content">
<div class="mdl-textfield mdl-js-textfield"> <div class="mdl-textfield mdl-js-textfield">
<select class="mdl-textfield__input mdl-textfield__select" name="server-list" id="server-list"> <select class="mdl-textfield__input mdl-textfield__select" name="server-list" id="server-list">
<option each="{ url in registryUI.url() }" value={url}>{url}</option> <option each="{ url in registryUI.getRegistryServer() }" value={url}>{url}</option>
</select> </select>
</div> </div>
</div> </div>
@ -35,16 +35,21 @@ this.on('updated', function () {
componentHandler.upgradeElements(this['change-server-dialog']); componentHandler.upgradeElements(this['change-server-dialog']);
registryUI.changeTag.dialog = registryUI.changeTag.dialog registryUI.changeTag.dialog = registryUI.changeTag.dialog
|| document.querySelector('#change-server-dialog'); || document.querySelector('#change-server-dialog');
registryUI.changeTag.tileServerList = registryUI.changeTag.tileServerList registryUI.changeTag.serverList = registryUI.changeTag.serverList
|| registryUI.changeTag.dialog.querySelector('#server-list'); || registryUI.changeTag.dialog.querySelector('#server-list');
if (!registryUI.changeTag.dialog.showModal) { if (!registryUI.changeTag.dialog.showModal) {
dialogPolyfill.registerDialog(registryUI.changeTag.dialog); dialogPolyfill.registerDialog(registryUI.changeTag.dialog);
} }
}); });
registryUI.changeTag.show = function() { registryUI.changeTag.show = function() {
registryUI.changeTag.update();
registryUI.changeTag.dialog.showModal(); registryUI.changeTag.dialog.showModal();
}; };
registryUI.changeTag.change = function() { 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.dialog.close();
}; };
registryUI.changeTag.close = function() { registryUI.changeTag.close = function() {

View file

@ -16,10 +16,32 @@
*/ */
var registryUI = {} var registryUI = {}
registryUI.url = function () { 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 = {}; var catalog = {};
registryUI.taglist = {}; registryUI.taglist = {};
riot.mount('catalog'); riot.mount('catalog');
riot.mount('taglist'); riot.mount('taglist');
riot.mount('change'); riot.mount('change');