From 9ca66313ece050f7486cf2de02167f37c0473c71 Mon Sep 17 00:00:00 2001 From: AJ ONeal Date: Thu, 1 Feb 2018 15:15:07 -0700 Subject: [PATCH] cleanup --- lib/public/index.html | 12 ++--- lib/public/js/app.js | 107 +++++++++++++++++++++++------------------- 2 files changed, 66 insertions(+), 53 deletions(-) diff --git a/lib/public/index.html b/lib/public/index.html index fc22ec3..3598252 100644 --- a/lib/public/index.html +++ b/lib/public/index.html @@ -11,14 +11,14 @@

-

/api/peers

-

/api/zones

-

/api/zones//api/peers

+

/api/zones

+

/api/zones/:zone/records

-

/api/records

-

/api/records/:name +

/api/records

+

/api/records/:name

@@ -55,7 +55,7 @@ - + Vanity Nameservers: diff --git a/lib/public/js/app.js b/lib/public/js/app.js index 449d2f5..8e2261e 100644 --- a/lib/public/js/app.js +++ b/lib/public/js/app.js @@ -68,6 +68,7 @@ console.log(data); localStorage.setItem('auth', auth); + changeAuth(); return fetchPeers(auth).then(function () { return fetchZones(auth); @@ -83,9 +84,6 @@ return resp.json().then(function (data) { var tpl = ''; var el; - if (!tpls.peer) { - tpls.peer = $qs('.js-peer-tpl').innerHTML; - } cache.peers = data.peers; cache.peers.forEach(function (peer) { el = document.createElement('div'); @@ -140,23 +138,6 @@ function renderRecords() { var tpl = ''; var el; - if (!tpls.recordsMap) { - //tpls.recordTypes = Array.prototype.slice.call($qsa('.js-record-tpl li')); - //.innerHTML; - tpls.recordsMap = {}; - tpls.recordsMap.soa = $qs('.js-record-soa').outerHTML; - tpls.recordsMap.ns = $qs('.js-record-ns').outerHTML; - tpls.recordsMap.a = $qs('.js-record-a').outerHTML; - tpls.recordsMap.aaaa = $qs('.js-record-aaaa').outerHTML; - tpls.recordsMap.aname = $qs('.js-record-aname').outerHTML; - tpls.recordsMap.cname = $qs('.js-record-cname').outerHTML; - tpls.recordsMap.caa = $qs('.js-record-caa').outerHTML; - tpls.recordsMap.ptr = $qs('.js-record-ptr').outerHTML; - tpls.recordsMap.mx = $qs('.js-record-mx').outerHTML; - tpls.recordsMap.txt = $qs('.js-record-txt').outerHTML; - tpls.recordsMap.srv = $qs('.js-record-srv').outerHTML; - //tpls.recordsMap.typex = $qs('.js-record-typex').outerHTML; - } console.log('tpls.recordsMap:'); console.log(tpls.recordsMap); cache.records.forEach(function (record) { @@ -216,18 +197,32 @@ $on('button.js-jwt', 'click', verifyAuth); - $on('input.js-zone', 'keyup', function (ev) { - $qs('code.js-zone').innerHTML = ev.target.value || ':zone'; + function changeAuth() { + $qs('a.js-peers').href = + $qs('a.js-peers').dataset.href.replace(/:token/, auth); + $qs('a.js-zones').href = + $qs('a.js-zones').dataset.href.replace(/:token/, auth); + $qs('a.js-records').href = + $qs('a.js-records').dataset.href.replace(/:token/, auth); + changeZone(); + changeRecord(); + } + function changeZone(ev) { + var val = (ev && ev.target.value || $qs('input.js-zone').value) || ':zone'; + $qs('code.js-zone').innerHTML = val; // $qs('a.js-zone').setAttribute('data-href', ...) $qs('a.js-zone').href = - $qs('a.js-zone').dataset.href.replace(/:zone/, ev.target.value || ':zone'); - }); + $qs('a.js-zone').dataset.href.replace(/:zone/, val).replace(/:token/, auth); + } + $on('input.js-zone', 'keyup', changeZone); - $on('input.js-name', 'keyup', function (ev) { - $qs('code.js-name').innerHTML = ev.target.value || ':name'; + function changeRecord(ev) { + var val = (ev && ev.target.value || $qs('input.js-name').value) || ':name'; + $qs('code.js-name').innerHTML = val; $qs('a.js-name').href = - $qs('a.js-name').dataset.href.replace(/:name/, ev.target.value || ':name'); - }); + $qs('a.js-name').dataset.href.replace(/:name/, val).replace(/:token/, auth); + } + $on('input.js-name', 'keyup', changeRecord); $on('button.js-zone-destroy', 'click', function (ev) { var zoneId = ev.target.parentElement.dataset.id; var zoneName = ev.target.parentElement.dataset.name; @@ -322,9 +317,13 @@ $qs('.js-record-ttl', $vns).value = 7200; }); - [ 'name', 'admin', 'expiration', 'minimum', 'serial', 'retry', 'refresh', 'ttl' ].forEach(function (key) { + [ 'name', 'admin', 'expiration', 'minimum', 'retry', 'refresh', 'ttl' ].forEach(function (key) { $qs('.js-zone-form-tpl .js-record-' + key).value = zone[key]; }); + [ 'primary', 'serial' ].forEach(function (key) { + $qs('.js-zone-form-tpl .js-recordx-' + key).value = zone[key]; + }); + $qs('input.js-zone-form-vanityns').checked = zone.vanity; $qs('input.js-zone-form-vanityns').dispatchEvent(new Event('change', { bubbles: true })); @@ -357,6 +356,7 @@ $on('button.js-zone-edit', 'click', function (ev) { //var zoneId = ev.target.parentElement.dataset.id; var zoneName = ev.target.parentElement.dataset.name; + myZone = zoneName; openZoneForm(zoneName, cache.peers); }); $on('button.js-zone-save', 'click', function (/*ev*/) { @@ -416,21 +416,6 @@ var type = ev.target.value; var $tpl; console.log("form type:", type); - if (!tpls.formsMap) { - tpls.formsMap = {}; - tpls.formsMap.SOA = $qs('.js-record-form-soa').outerHTML; - tpls.formsMap.NS = $qs('.js-record-form-ns').outerHTML; - tpls.formsMap.A = $qs('.js-record-form-a').outerHTML; - tpls.formsMap.AAAA = $qs('.js-record-form-aaaa').outerHTML; - tpls.formsMap.ANAME = $qs('.js-record-form-aname').outerHTML; - tpls.formsMap.CAA = $qs('.js-record-form-caa').outerHTML; - tpls.formsMap.CNAME = $qs('.js-record-form-cname').outerHTML; - tpls.formsMap.MX = $qs('.js-record-form-mx').outerHTML; - tpls.formsMap.PTR = $qs('.js-record-form-ptr').outerHTML; - tpls.formsMap.SRV = $qs('.js-record-form-srv').outerHTML; - tpls.formsMap.TXT = $qs('.js-record-form-txt').outerHTML; - tpls.formsMap.typeX = $qs('.js-record-form-typex').outerHTML; - } $tpl = $qs('.js-record-form-tpl'); $tpl.innerHTML = tpls.formsMap[type] || ''; if (!tpls.formsMap[type]) { @@ -612,12 +597,40 @@ }); }); - $qs('select.js-record-form-type').value = ''; - // Create a new 'change' event and dispatch it. - $qs('select.js-record-form-type').dispatchEvent(new Event('change', { bubbles: true })); tpls.newNs = $qs('.js-zone-form-tpl .js-zone-form-vns-tpl').innerHTML; $qs('.js-zone-form-tpl .js-zone-form-vns-tpl').innerHTML = ''; tpls.newZone = $qs('.js-zone-form-tpl').innerHTML; + tpls.peer = $qs('.js-peer-tpl').innerHTML; + $qs('.js-peer-tpl').innerHTML = ''; + tpls.formsMap = {}; + tpls.formsMap.SOA = $qs('.js-record-form-soa').outerHTML; + tpls.formsMap.NS = $qs('.js-record-form-ns').outerHTML; + tpls.formsMap.A = $qs('.js-record-form-a').outerHTML; + tpls.formsMap.AAAA = $qs('.js-record-form-aaaa').outerHTML; + tpls.formsMap.ANAME = $qs('.js-record-form-aname').outerHTML; + tpls.formsMap.CAA = $qs('.js-record-form-caa').outerHTML; + tpls.formsMap.CNAME = $qs('.js-record-form-cname').outerHTML; + tpls.formsMap.MX = $qs('.js-record-form-mx').outerHTML; + tpls.formsMap.PTR = $qs('.js-record-form-ptr').outerHTML; + tpls.formsMap.SRV = $qs('.js-record-form-srv').outerHTML; + tpls.formsMap.TXT = $qs('.js-record-form-txt').outerHTML; + tpls.formsMap.typeX = $qs('.js-record-form-typex').outerHTML; + tpls.recordsMap = {}; + tpls.recordsMap.soa = $qs('.js-record-soa').outerHTML; + tpls.recordsMap.ns = $qs('.js-record-ns').outerHTML; + tpls.recordsMap.a = $qs('.js-record-a').outerHTML; + tpls.recordsMap.aaaa = $qs('.js-record-aaaa').outerHTML; + tpls.recordsMap.aname = $qs('.js-record-aname').outerHTML; + tpls.recordsMap.cname = $qs('.js-record-cname').outerHTML; + tpls.recordsMap.caa = $qs('.js-record-caa').outerHTML; + tpls.recordsMap.ptr = $qs('.js-record-ptr').outerHTML; + tpls.recordsMap.mx = $qs('.js-record-mx').outerHTML; + tpls.recordsMap.txt = $qs('.js-record-txt').outerHTML; + tpls.recordsMap.srv = $qs('.js-record-srv').outerHTML; + $qs('.js-record-tpl').innerHTML = ''; $qs('.js-zone-form-tpl').innerHTML = ''; + $qs('select.js-record-form-type').value = ''; + // Create a new 'change' event and dispatch it. + $qs('select.js-record-form-type').dispatchEvent(new Event('change', { bubbles: true })); }());