From 5bdeca94fefdc6569d9aeeac4af1980f92a99b9a Mon Sep 17 00:00:00 2001 From: Alex Ling Date: Fri, 19 Aug 2022 12:12:45 +0000 Subject: [PATCH] Merge dev --- public/js/subscription-manager.js | 150 ++++++++++++++---------------- 1 file changed, 71 insertions(+), 79 deletions(-) diff --git a/public/js/subscription-manager.js b/public/js/subscription-manager.js index 089d68c..e54869d 100644 --- a/public/js/subscription-manager.js +++ b/public/js/subscription-manager.js @@ -13,86 +13,78 @@ const component = () => { if (!data.success) throw new Error(data.error); this.plugins = data.plugins; - let pid = localStorage.getItem("plugin"); - if (!pid || !this.plugins.find((p) => p.id === pid)) { - pid = this.plugins[0].id; - } + let pid = localStorage.getItem('plugin'); + if (!pid || !this.plugins.find((p) => p.id === pid)) { + pid = this.plugins[0].id; + } - this.pid = pid; - this.list(pid); - }) - .catch((e) => { - alert( - "danger", - `Failed to list the available plugins. Error: ${e}` - ); - }); - }, - pluginChanged() { - localStorage.setItem("plugin", this.pid); - this.list(this.pid); - }, - list(pid) { - if (!pid) return; - fetch( - `${base_url}api/admin/plugin/subscriptions?${new URLSearchParams( - { - plugin: pid, - } - )}`, - { - method: "GET", - } - ) - .then((response) => response.json()) - .then((data) => { - if (!data.success) throw new Error(data.error); - this.subscriptions = data.subscriptions; - }) - .catch((e) => { - alert( - "danger", - `Failed to list subscriptions. Error: ${e}` - ); - }); - }, - renderStrCell(str) { - const maxLength = 40; - if (str.length > maxLength) - return `${str.substring( - 0, - maxLength - )}...
${str}
`; - return `${str}`; - }, - renderDateCell(timestamp) { - return `${moment - .duration(moment.unix(timestamp).diff(moment())) - .humanize(true)}`; - }, - selected(event, modal) { - const id = event.currentTarget.getAttribute("sid"); - this.subscription = this.subscriptions.find((s) => s.id === id); - UIkit.modal(modal).show(); - }, - renderFilterRow(ft) { - const key = ft.key; - let type = ft.type; - switch (type) { - case "number-min": - type = "number (minimum value)"; - break; - case "number-max": - type = "number (maximum value)"; - break; - case "date-min": - type = "minimum date"; - break; - case "date-max": - type = "maximum date"; - break; - } - let value = ft.value; + this.pid = pid; + this.list(pid); + }) + .catch((e) => { + alert('danger', `Failed to list the available plugins. Error: ${e}`); + }); + }, + pluginChanged() { + localStorage.setItem('plugin', this.pid); + this.list(this.pid); + }, + list(pid) { + if (!pid) return; + fetch( + `${base_url}api/admin/plugin/subscriptions?${new URLSearchParams({ + plugin: pid, + })}`, + { + method: 'GET', + }, + ) + .then((response) => response.json()) + .then((data) => { + if (!data.success) throw new Error(data.error); + this.subscriptions = data.subscriptions; + }) + .catch((e) => { + alert('danger', `Failed to list subscriptions. Error: ${e}`); + }); + }, + renderStrCell(str) { + const maxLength = 40; + if (str.length > maxLength) + return `${str.substring( + 0, + maxLength, + )}...
${str}
`; + return `${str}`; + }, + renderDateCell(timestamp) { + return `${moment + .duration(moment.unix(timestamp).diff(moment())) + .humanize(true)}`; + }, + selected(event, modal) { + const id = event.currentTarget.getAttribute('sid'); + this.subscription = this.subscriptions.find((s) => s.id === id); + UIkit.modal(modal).show(); + }, + renderFilterRow(ft) { + const key = ft.key; + let type = ft.type; + switch (type) { + case 'number-min': + type = 'number (minimum value)'; + break; + case 'number-max': + type = 'number (maximum value)'; + break; + case 'date-min': + type = 'minimum date'; + break; + case 'date-max': + type = 'maximum date'; + break; + } + let value = ft.value; if (ft.type.startsWith('number') && isNaN(value)) value = ''; else if (ft.type.startsWith('date') && value)