| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- import {AjaxReq} from "./OMGUtils";
- // Private Methods
- function clearStatusModalFields() {
- $('#esl_rssi_list').html('');
- $('#svgtpl').html('');
- $('#cardbox_esl_status span').each((i, o) => {
- $('#cardbox_esl_status #' + o.id).html('');
- });
- }
- function fillESLDetails(ESLstatus) {
- clearStatusModalFields();
- $('#cardbox_esl_status span').each((i, o) => {
- let value = (ESLstatus.value.status[o.id]);
- $('#cardbox_esl_status #' + o.id).html(value);
- });
- for (let [ap, rssi] of Object.entries(ESLstatus.value.rssi)) {
- // language=HTML
- let ap_rssi = `
- <tr>
- <td>
- <span class="badge badge-primary">${ap}</span>
- </td>
- <td>
- <span class="badge text-inverse badge-warning">${rssi}</span>
- </td>
- </tr>
- `;
- $('#esl_rssi_list').append(ap_rssi);
- }
- if (ESLstatus.svgPath != null) {
- // Retrieve SVG from server
- $.get(BASEURL + '/' + ESLstatus.svgPath, data => {
- $('#svgtpl').html(data);
- }, "text");
- }
- }
- // MAIN CLASS
- export class ModalEslDetails {
- constructor(modalClass) {
- let self = this;
- this.abort = null;
- this.modalClass = modalClass;
- this.timer = null;
- $(modalClass).on('show.bs.modal', function () {
- let labelID = $(`${modalClass} #labelID`).html();
- self.RefreshESLStatus(labelID);
- });
- $(modalClass).on('hide.bs.modal', function () {
- self.abort();
- clearTimeout(self.timer);
- });
- }
- OpenESLDetails(labelID) {
- clearStatusModalFields();
- $(`${this.modalClass} #labelID`).html(labelID);
- $(`${this.modalClass}`).modal('show');
- }
- RefreshESLStatus(labelID) {
- let self = this;
- $('#spinnerloader').removeClass('d-none');
- let req = AjaxReq(`${BASEURL}/admin/config`, {
- method: 'POST',
- body: JSON.stringify({"method": "geteslstatus", "label_id": labelID})
- });
- req.fetchPromise()
- .then(json => {
- fillESLDetails(json);
- toastr.success(json.err);
- if ($(this.modalClass).is(':visible'))
- self.timer = setTimeout(function () {
- self.RefreshESLStatus(labelID);
- }, 3000);
- })
- .catch(err => console.log)
- .finally(function () {
- $('#spinnerloader').addClass('d-none');
- });
- this.abort = req.abort;
- }
- }
|