| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- import {AjaxReq} from "./OMGUtils";
- export class ModalEslDetails {
- constructor(modalClass) {
- this._FetchSignal = null;
- this.modalClass = modalClass;
- let self = this;
- $(modalClass).on('show.bs.modal', function () {
- let labelID = $(`${modalClass} #labelID`).html();
- self.RefreshESLStatus(labelID);
- });
- $(modalClass).on('hide.bs.modal', function () {
- self._FetchSignal.abort();
- });
- }
- _clearStatusModalFields() {
- $('#esl_rssi_list').html('');
- $('#svgpath').removeAttr('src');
- $('#cardbox_esl_status span').each((i, o) => {
- $('#cardbox_esl_status #' + o.id).html('');
- });
- };
- OpenESLDetails(labelID) {
- this._FetchSignal = new AbortController();
- this._clearStatusModalFields();
- $(`${this.modalClass} #labelID`).html(labelID);
- $(`${this.modalClass}`).modal('show');
- }
- _fillESLDetails(ESLstatus) {
- this._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)) {
- 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)
- $('#svgpath').prop('src', BASEURL + '/' + ESLstatus.svgPath);
- }
- RefreshESLStatus(labelID) {
- $('#spinnerloader').removeClass('d-none');
- let self = this;
- AjaxReq(`${BASEURL}/admin/config`, {
- method: 'POST',
- body: JSON.stringify({"method": "geteslstatus", "label_id": labelID}),
- signal: self._FetchSignal.signal
- })
- .then(json => {
- self._fillESLDetails(json);
- toastr.success(json.err);
- if ($(this.modalClass).is(':visible'))
- setTimeout(function () {
- self.RefreshESLStatus(labelID);
- }, 3000);
- })
- .catch(err => {
- if (err.name == 'AbortError')
- return;
- if (err.url !== undefined)
- toastr.error(err.url, `${err.status} (${err.statusText})`);
- else
- toastr.error(err);
- }).finally(function () {
- $('#spinnerloader').addClass('d-none');
- });
- }
- }
|