Files
yakpanel-core/YakPanel/static/amd/utils.min.js

3054 lines
106 KiB
JavaScript
Raw Normal View History

2026-04-07 02:04:22 +05:30
var __createBinding =
(this && this.__createBinding) ||
(Object.create
? function (o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, {
enumerable: true,
get: function () {
return m[k];
},
});
}
: function (o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
});
var __setModuleDefault =
(this && this.__setModuleDefault) ||
(Object.create
? function (o, v) {
Object.defineProperty(o, 'default', { enumerable: true, value: v });
}
: function (o, v) {
o['default'] = v;
});
var __importStar =
(this && this.__importStar) ||
function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== 'default' && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __exportStar =
(this && this.__exportStar) ||
function (m, exports) {
for (var p in m) if (p !== 'default' && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
var __awaiter =
(this && this.__awaiter) ||
function (thisArg, _arguments, P, generator) {
function adopt(value) {
return value instanceof P
? value
: new P(function (resolve) {
resolve(value);
});
}
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
}
function rejected(value) {
try {
step(generator['throw'](value));
} catch (e) {
reject(e);
}
}
function step(result) {
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
}
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator =
(this && this.__generator) ||
function (thisArg, body) {
var _ = {
label: 0,
sent: function () {
if (t[0] & 1) throw t[1];
return t[1];
},
trys: [],
ops: [],
},
f,
y,
t,
g;
return (
(g = { next: verb(0), throw: verb(1), return: verb(2) }),
typeof Symbol === 'function' &&
(g[Symbol.iterator] = function () {
return this;
}),
g
);
function verb(n) {
return function (v) {
return step([n, v]);
};
}
function step(op) {
if (f) throw new TypeError('Generator is already executing.');
while (_)
try {
if (((f = 1), y && (t = op[0] & 2 ? y['return'] : op[0] ? y['throw'] || ((t = y['return']) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)) return t;
if (((y = 0), t)) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0:
case 1:
t = op;
break;
case 4:
_.label++;
return { value: op[1], done: false };
case 5:
_.label++;
y = op[1];
op = [0];
continue;
case 7:
op = _.ops.pop();
_.trys.pop();
continue;
default:
if (!((t = _.trys), (t = t.length > 0 && t[t.length - 1])) && (op[0] === 6 || op[0] === 2)) {
_ = 0;
continue;
}
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
_.label = op[1];
break;
}
if (op[0] === 6 && _.label < t[1]) {
_.label = t[1];
t = op;
break;
}
if (t && _.label < t[2]) {
_.label = t[2];
_.ops.push(op);
break;
}
if (t[2]) _.ops.pop();
_.trys.pop();
continue;
}
op = body.call(thisArg, _);
} catch (e) {
op = [6, e];
y = 0;
} finally {
f = t = 0;
}
if (op[0] & 5) throw op[1];
return { value: op[0] ? op[1] : void 0, done: true };
}
};
var __importDefault =
(this && this.__importDefault) ||
function (mod) {
return mod && mod.__esModule ? mod : { default: mod };
};
var __extends =
(this && this.__extends) ||
(function () {
var extendStatics = function (d, b) {
extendStatics =
Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array &&
function (d, b) {
d.__proto__ = b;
}) ||
function (d, b) {
for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];
};
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== 'function' && b !== null) throw new TypeError('Class extends value ' + String(b) + ' is not a constructor or null');
extendStatics(d, b);
function __() {
this.constructor = d;
}
d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());
};
})();
define('h', ['require', 'exports', './vnode', './is'], function (require, exports, vnode_1, is) {
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
exports.h = void 0;
is = __importStar(is);
function addNS(data, children, sel) {
data.ns = 'http://www.w3.org/2000/svg';
if (sel !== 'foreignObject' && children !== undefined) {
for (var i = 0; i < children.length; ++i) {
var childData = children[i].data;
if (childData !== undefined) {
addNS(childData, children[i].children, children[i].sel);
}
}
}
}
function h(sel, b, c) {
var data = {};
var children;
var text;
var i;
if (c !== undefined) {
if (b !== null) {
data = b;
}
if (is.array(c)) {
children = c;
} else if (is.primitive(c)) {
text = c.toString();
} else if (c && c.sel) {
children = [c];
}
} else if (b !== undefined && b !== null) {
if (is.array(b)) {
children = b;
} else if (is.primitive(b)) {
text = b.toString();
} else if (b && b.sel) {
children = [b];
} else {
data = b;
}
}
if (children !== undefined) {
for (i = 0; i < children.length; ++i) {
if (is.primitive(children[i])) children[i] = (0, vnode_1.vnode)(undefined, undefined, undefined, children[i], undefined);
}
}
if (sel[0] === 's' && sel[1] === 'v' && sel[2] === 'g' && (sel.length === 3 || sel[3] === '.' || sel[3] === '#')) {
addNS(data, children, sel);
}
return (0, vnode_1.vnode)(sel, data, children, text, undefined);
}
exports.h = h;
});
define('hooks', ['require', 'exports'], function (require, exports) {
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
});
define('htmldomapi', ['require', 'exports'], function (require, exports) {
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
exports.htmlDomApi = void 0;
function createElement(tagName, options) {
return document.createElement(tagName, options);
}
function createElementNS(namespaceURI, qualifiedName, options) {
return document.createElementNS(namespaceURI, qualifiedName, options);
}
function createTextNode(text) {
return document.createTextNode(text);
}
function createComment(text) {
return document.createComment(text);
}
function insertBefore(parentNode, newNode, referenceNode) {
parentNode.insertBefore(newNode, referenceNode);
}
function removeChild(node, child) {
node.removeChild(child);
}
function appendChild(node, child) {
node.appendChild(child);
}
function parentNode(node) {
return node.parentNode;
}
function nextSibling(node) {
return node.nextSibling;
}
function tagName(elm) {
return elm.tagName;
}
function setTextContent(node, text) {
node.textContent = text;
}
function getTextContent(node) {
return node.textContent;
}
function isElement(node) {
return node.nodeType === 1;
}
function isText(node) {
return node.nodeType === 3;
}
function isComment(node) {
return node.nodeType === 8;
}
exports.htmlDomApi = {
createElement: createElement,
createElementNS: createElementNS,
createTextNode: createTextNode,
createComment: createComment,
insertBefore: insertBefore,
removeChild: removeChild,
appendChild: appendChild,
parentNode: parentNode,
nextSibling: nextSibling,
tagName: tagName,
setTextContent: setTextContent,
getTextContent: getTextContent,
isElement: isElement,
isText: isText,
isComment: isComment,
};
});
define('init', ['require', 'exports', './vnode', './is', './htmldomapi'], function (require, exports, vnode_2, is, htmldomapi_1) {
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
exports.init = void 0;
is = __importStar(is);
function isUndef(s) {
return s === undefined;
}
function isDef(s) {
return s !== undefined;
}
var emptyNode = (0, vnode_2.vnode)('', {}, [], undefined, undefined);
function sameVnode(vnode1, vnode2) {
var _a, _b;
var isSameKey = vnode1.key === vnode2.key;
var isSameIs = ((_a = vnode1.data) === null || _a === void 0 ? void 0 : _a.is) === ((_b = vnode2.data) === null || _b === void 0 ? void 0 : _b.is);
var isSameSel = vnode1.sel === vnode2.sel;
return isSameSel && isSameKey && isSameIs;
}
function isVnode(vnode) {
return vnode.sel !== undefined;
}
function createKeyToOldIdx(children, beginIdx, endIdx) {
var _a;
var map = {};
for (var i = beginIdx; i <= endIdx; ++i) {
var key = (_a = children[i]) === null || _a === void 0 ? void 0 : _a.key;
if (key !== undefined) {
map[key] = i;
}
}
return map;
}
var hooks = ['create', 'update', 'remove', 'destroy', 'pre', 'post'];
function init(modules, domApi) {
var cbs = {
create: [],
update: [],
remove: [],
destroy: [],
pre: [],
post: [],
};
var api = domApi !== undefined ? domApi : htmldomapi_1.htmlDomApi;
for (var _i = 0, hooks_1 = hooks; _i < hooks_1.length; _i++) {
var hook = hooks_1[_i];
for (var _f = 0, modules_1 = modules; _f < modules_1.length; _f++) {
var module_1 = modules_1[_f];
var currentHook = module_1[hook];
if (currentHook !== undefined) {
cbs[hook].push(currentHook);
}
}
}
function emptyNodeAt(elm) {
var id = elm.id ? '#' + elm.id : '';
var classes = elm.getAttribute('class');
var c = classes ? '.' + classes.split(' ').join('.') : '';
return (0, vnode_2.vnode)(api.tagName(elm).toLowerCase() + id + c, {}, [], undefined, elm);
}
function createRmCb(childElm, listeners) {
return function rmCb() {
if (--listeners === 0) {
var parent_1 = api.parentNode(childElm);
api.removeChild(parent_1, childElm);
}
};
}
function createElm(vnode, insertedVnodeQueue) {
var _a, _b;
var i;
var data = vnode.data;
if (data !== undefined) {
var init_1 = (_a = data.hook) === null || _a === void 0 ? void 0 : _a.init;
if (isDef(init_1)) {
init_1(vnode);
data = vnode.data;
}
}
var children = vnode.children;
var sel = vnode.sel;
if (sel === '!') {
if (isUndef(vnode.text)) {
vnode.text = '';
}
vnode.elm = api.createComment(vnode.text);
} else if (sel !== undefined) {
var hashIdx = sel.indexOf('#');
var dotIdx = sel.indexOf('.', hashIdx);
var hash = hashIdx > 0 ? hashIdx : sel.length;
var dot = dotIdx > 0 ? dotIdx : sel.length;
var tag = hashIdx !== -1 || dotIdx !== -1 ? sel.slice(0, Math.min(hash, dot)) : sel;
var elm = (vnode.elm = isDef(data) && isDef((i = data.ns)) ? api.createElementNS(i, tag, data) : api.createElement(tag, data));
if (hash < dot) elm.setAttribute('id', sel.slice(hash + 1, dot));
if (dotIdx > 0) elm.setAttribute('class', sel.slice(dot + 1).replace(/\./g, ' '));
for (i = 0; i < cbs.create.length; ++i) cbs.create[i](emptyNode, vnode);
if (is.array(children)) {
for (i = 0; i < children.length; ++i) {
var ch = children[i];
if (ch != null) {
api.appendChild(elm, createElm(ch, insertedVnodeQueue));
}
}
} else if (is.primitive(vnode.text)) {
api.appendChild(elm, api.createTextNode(vnode.text));
}
var hook = vnode.data.hook;
if (isDef(hook)) {
(_b = hook.create) === null || _b === void 0 ? void 0 : _b.call(hook, emptyNode, vnode);
if (hook.insert) {
insertedVnodeQueue.push(vnode);
}
}
} else {
vnode.elm = api.createTextNode(vnode.text);
}
return vnode.elm;
}
function addVnodes(parentElm, before, vnodes, startIdx, endIdx, insertedVnodeQueue) {
for (; startIdx <= endIdx; ++startIdx) {
var ch = vnodes[startIdx];
if (ch != null) {
api.insertBefore(parentElm, createElm(ch, insertedVnodeQueue), before);
}
}
}
function invokeDestroyHook(vnode) {
var _a, _b;
var data = vnode.data;
if (data !== undefined) {
(_b = (_a = data === null || data === void 0 ? void 0 : data.hook) === null || _a === void 0 ? void 0 : _a.destroy) === null || _b === void 0 ? void 0 : _b.call(_a, vnode);
for (var i = 0; i < cbs.destroy.length; ++i) cbs.destroy[i](vnode);
if (vnode.children !== undefined) {
for (var j = 0; j < vnode.children.length; ++j) {
var child = vnode.children[j];
if (child != null && typeof child !== 'string') {
invokeDestroyHook(child);
}
}
}
}
}
function removeVnodes(parentElm, vnodes, startIdx, endIdx) {
var _a, _b;
for (; startIdx <= endIdx; ++startIdx) {
var listeners = void 0;
var rm = void 0;
var ch = vnodes[startIdx];
if (ch != null) {
if (isDef(ch.sel)) {
invokeDestroyHook(ch);
listeners = cbs.remove.length + 1;
rm = createRmCb(ch.elm, listeners);
for (var i = 0; i < cbs.remove.length; ++i) cbs.remove[i](ch, rm);
var removeHook = (_b = (_a = ch === null || ch === void 0 ? void 0 : ch.data) === null || _a === void 0 ? void 0 : _a.hook) === null || _b === void 0 ? void 0 : _b.remove;
if (isDef(removeHook)) {
removeHook(ch, rm);
} else {
rm();
}
} else {
api.removeChild(parentElm, ch.elm);
}
}
}
}
function updateChildren(parentElm, oldCh, newCh, insertedVnodeQueue) {
var oldStartIdx = 0;
var newStartIdx = 0;
var oldEndIdx = oldCh.length - 1;
var oldStartVnode = oldCh[0];
var oldEndVnode = oldCh[oldEndIdx];
var newEndIdx = newCh.length - 1;
var newStartVnode = newCh[0];
var newEndVnode = newCh[newEndIdx];
var oldKeyToIdx;
var idxInOld;
var elmToMove;
var before;
while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {
if (oldStartVnode == null) {
oldStartVnode = oldCh[++oldStartIdx];
} else if (oldEndVnode == null) {
oldEndVnode = oldCh[--oldEndIdx];
} else if (newStartVnode == null) {
newStartVnode = newCh[++newStartIdx];
} else if (newEndVnode == null) {
newEndVnode = newCh[--newEndIdx];
} else if (sameVnode(oldStartVnode, newStartVnode)) {
patchVnode(oldStartVnode, newStartVnode, insertedVnodeQueue);
oldStartVnode = oldCh[++oldStartIdx];
newStartVnode = newCh[++newStartIdx];
} else if (sameVnode(oldEndVnode, newEndVnode)) {
patchVnode(oldEndVnode, newEndVnode, insertedVnodeQueue);
oldEndVnode = oldCh[--oldEndIdx];
newEndVnode = newCh[--newEndIdx];
} else if (sameVnode(oldStartVnode, newEndVnode)) {
patchVnode(oldStartVnode, newEndVnode, insertedVnodeQueue);
api.insertBefore(parentElm, oldStartVnode.elm, api.nextSibling(oldEndVnode.elm));
oldStartVnode = oldCh[++oldStartIdx];
newEndVnode = newCh[--newEndIdx];
} else if (sameVnode(oldEndVnode, newStartVnode)) {
patchVnode(oldEndVnode, newStartVnode, insertedVnodeQueue);
api.insertBefore(parentElm, oldEndVnode.elm, oldStartVnode.elm);
oldEndVnode = oldCh[--oldEndIdx];
newStartVnode = newCh[++newStartIdx];
} else {
if (oldKeyToIdx === undefined) {
oldKeyToIdx = createKeyToOldIdx(oldCh, oldStartIdx, oldEndIdx);
}
idxInOld = oldKeyToIdx[newStartVnode.key];
if (isUndef(idxInOld)) {
api.insertBefore(parentElm, createElm(newStartVnode, insertedVnodeQueue), oldStartVnode.elm);
} else {
elmToMove = oldCh[idxInOld];
if (elmToMove.sel !== newStartVnode.sel) {
api.insertBefore(parentElm, createElm(newStartVnode, insertedVnodeQueue), oldStartVnode.elm);
} else {
patchVnode(elmToMove, newStartVnode, insertedVnodeQueue);
oldCh[idxInOld] = undefined;
api.insertBefore(parentElm, elmToMove.elm, oldStartVnode.elm);
}
}
newStartVnode = newCh[++newStartIdx];
}
}
if (oldStartIdx <= oldEndIdx || newStartIdx <= newEndIdx) {
if (oldStartIdx > oldEndIdx) {
before = newCh[newEndIdx + 1] == null ? null : newCh[newEndIdx + 1].elm;
addVnodes(parentElm, before, newCh, newStartIdx, newEndIdx, insertedVnodeQueue);
} else {
removeVnodes(parentElm, oldCh, oldStartIdx, oldEndIdx);
}
}
}
function patchVnode(oldVnode, vnode, insertedVnodeQueue) {
var _a, _b, _c, _d, _e;
var hook = (_a = vnode.data) === null || _a === void 0 ? void 0 : _a.hook;
(_b = hook === null || hook === void 0 ? void 0 : hook.prepatch) === null || _b === void 0 ? void 0 : _b.call(hook, oldVnode, vnode);
var elm = (vnode.elm = oldVnode.elm);
var oldCh = oldVnode.children;
var ch = vnode.children;
if (oldVnode === vnode) return;
if (vnode.data !== undefined) {
for (var i = 0; i < cbs.update.length; ++i) cbs.update[i](oldVnode, vnode);
(_d = (_c = vnode.data.hook) === null || _c === void 0 ? void 0 : _c.update) === null || _d === void 0 ? void 0 : _d.call(_c, oldVnode, vnode);
}
if (isUndef(vnode.text)) {
if (isDef(oldCh) && isDef(ch)) {
if (oldCh !== ch) updateChildren(elm, oldCh, ch, insertedVnodeQueue);
} else if (isDef(ch)) {
if (isDef(oldVnode.text)) api.setTextContent(elm, '');
addVnodes(elm, null, ch, 0, ch.length - 1, insertedVnodeQueue);
} else if (isDef(oldCh)) {
removeVnodes(elm, oldCh, 0, oldCh.length - 1);
} else if (isDef(oldVnode.text)) {
api.setTextContent(elm, '');
}
} else if (oldVnode.text !== vnode.text) {
if (isDef(oldCh)) {
removeVnodes(elm, oldCh, 0, oldCh.length - 1);
}
api.setTextContent(elm, vnode.text);
}
(_e = hook === null || hook === void 0 ? void 0 : hook.postpatch) === null || _e === void 0 ? void 0 : _e.call(hook, oldVnode, vnode);
}
return function patch(oldVnode, vnode) {
var i, elm, parent;
var insertedVnodeQueue = [];
for (i = 0; i < cbs.pre.length; ++i) cbs.pre[i]();
if (!isVnode(oldVnode)) {
oldVnode = emptyNodeAt(oldVnode);
}
if (sameVnode(oldVnode, vnode)) {
patchVnode(oldVnode, vnode, insertedVnodeQueue);
} else {
elm = oldVnode.elm;
parent = api.parentNode(elm);
createElm(vnode, insertedVnodeQueue);
if (parent !== null) {
api.insertBefore(parent, vnode.elm, api.nextSibling(elm));
removeVnodes(parent, [oldVnode], 0, 0);
}
}
for (i = 0; i < insertedVnodeQueue.length; ++i) {
insertedVnodeQueue[i].data.hook.insert(insertedVnodeQueue[i]);
}
for (i = 0; i < cbs.post.length; ++i) cbs.post[i]();
return vnode;
};
}
exports.init = init;
});
define('is', ['require', 'exports'], function (require, exports) {
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
exports.primitive = exports.array = void 0;
exports.array = Array.isArray;
function primitive(s) {
return typeof s === 'string' || typeof s === 'number' || s instanceof String || s instanceof Number;
}
exports.primitive = primitive;
});
define('jsx', ['require', 'exports', './vnode', './h'], function (require, exports, vnode_3, h_1) {
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
exports.jsx = void 0;
function flattenAndFilter(children, flattened) {
for (var _i = 0, children_1 = children; _i < children_1.length; _i++) {
var child = children_1[_i];
if (child !== undefined && child !== null && child !== false && child !== '') {
if (Array.isArray(child)) {
flattenAndFilter(child, flattened);
} else if (typeof child === 'string' || typeof child === 'number' || typeof child === 'boolean') {
flattened.push((0, vnode_3.vnode)(undefined, undefined, undefined, String(child), undefined));
} else {
flattened.push(child);
}
}
}
return flattened;
}
function jsx(tag, data) {
var children = [];
for (var _i = 2; _i < arguments.length; _i++) {
children[_i - 2] = arguments[_i];
}
var flatChildren = flattenAndFilter(children, []);
if (typeof tag === 'function') {
return tag(data, flatChildren);
} else {
if (flatChildren.length === 1 && !flatChildren[0].sel && flatChildren[0].text) {
return (0, h_1.h)(tag, data, flatChildren[0].text);
} else {
return (0, h_1.h)(tag, data, flatChildren);
}
}
}
exports.jsx = jsx;
(function (jsx) {})(jsx || (exports.jsx = jsx = {}));
});
define('snabbdom', [
'require',
'exports',
'./htmldomapi',
'./init',
'./thunk',
'./vnode',
'./helpers/attachto',
'./is',
'./tovnode',
'./h',
'./hooks',
'./modules/attributes',
'./modules/class',
'./modules/dataset',
'./modules/eventlisteners',
'./modules/props',
'./modules/style',
'./jsx',
], function (require, exports, htmldomapi_2, init_2, thunk_1, vnode_4, attachto_1, is_1, tovnode_1, h_2, hooks_2, attributes_1, class_1, dataset_1, eventlisteners_1, props_1, style_1, jsx_1) {
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
exports.jsx =
exports.styleModule =
exports.propsModule =
exports.eventListenersModule =
exports.datasetModule =
exports.classModule =
exports.attributesModule =
exports.h =
exports.toVNode =
exports.primitive =
exports.array =
exports.attachTo =
exports.vnode =
exports.thunk =
exports.init =
exports.htmlDomApi =
void 0;
Object.defineProperty(exports, 'htmlDomApi', {
enumerable: true,
get: function () {
return htmldomapi_2.htmlDomApi;
},
});
Object.defineProperty(exports, 'init', {
enumerable: true,
get: function () {
return init_2.init;
},
});
Object.defineProperty(exports, 'thunk', {
enumerable: true,
get: function () {
return thunk_1.thunk;
},
});
Object.defineProperty(exports, 'vnode', {
enumerable: true,
get: function () {
return vnode_4.vnode;
},
});
Object.defineProperty(exports, 'attachTo', {
enumerable: true,
get: function () {
return attachto_1.attachTo;
},
});
Object.defineProperty(exports, 'array', {
enumerable: true,
get: function () {
return is_1.array;
},
});
Object.defineProperty(exports, 'primitive', {
enumerable: true,
get: function () {
return is_1.primitive;
},
});
Object.defineProperty(exports, 'toVNode', {
enumerable: true,
get: function () {
return tovnode_1.toVNode;
},
});
Object.defineProperty(exports, 'h', {
enumerable: true,
get: function () {
return h_2.h;
},
});
__exportStar(hooks_2, exports);
Object.defineProperty(exports, 'attributesModule', {
enumerable: true,
get: function () {
return attributes_1.attributesModule;
},
});
Object.defineProperty(exports, 'classModule', {
enumerable: true,
get: function () {
return class_1.classModule;
},
});
Object.defineProperty(exports, 'datasetModule', {
enumerable: true,
get: function () {
return dataset_1.datasetModule;
},
});
Object.defineProperty(exports, 'eventListenersModule', {
enumerable: true,
get: function () {
return eventlisteners_1.eventListenersModule;
},
});
Object.defineProperty(exports, 'propsModule', {
enumerable: true,
get: function () {
return props_1.propsModule;
},
});
Object.defineProperty(exports, 'styleModule', {
enumerable: true,
get: function () {
return style_1.styleModule;
},
});
Object.defineProperty(exports, 'jsx', {
enumerable: true,
get: function () {
return jsx_1.jsx;
},
});
});
define('thunk', ['require', 'exports', './h'], function (require, exports, h_3) {
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
exports.thunk = void 0;
function copyToThunk(vnode, thunk) {
vnode.data.fn = thunk.data.fn;
vnode.data.args = thunk.data.args;
thunk.data = vnode.data;
thunk.children = vnode.children;
thunk.text = vnode.text;
thunk.elm = vnode.elm;
}
function init(thunk) {
var cur = thunk.data;
var vnode = cur.fn.apply(cur, cur.args);
copyToThunk(vnode, thunk);
}
function prepatch(oldVnode, thunk) {
var i;
var old = oldVnode.data;
var cur = thunk.data;
var oldArgs = old.args;
var args = cur.args;
if (old.fn !== cur.fn || oldArgs.length !== args.length) {
copyToThunk(cur.fn.apply(cur, args), thunk);
return;
}
for (i = 0; i < args.length; ++i) {
if (oldArgs[i] !== args[i]) {
copyToThunk(cur.fn.apply(cur, args), thunk);
return;
}
}
copyToThunk(oldVnode, thunk);
}
var thunk = function thunk(sel, key, fn, args) {
if (args === undefined) {
args = fn;
fn = key;
key = undefined;
}
return (0, h_3.h)(sel, {
key: key,
hook: { init: init, prepatch: prepatch },
fn: fn,
args: args,
});
};
exports.thunk = thunk;
});
define('tovnode', ['require', 'exports', './vnode', './htmldomapi'], function (require, exports, vnode_5, htmldomapi_3) {
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
exports.toVNode = void 0;
function toVNode(node, domApi) {
var api = domApi !== undefined ? domApi : htmldomapi_3.htmlDomApi;
var text;
if (api.isElement(node)) {
var id = node.id ? '#' + node.id : '';
var cn = node.getAttribute('class');
var c = cn ? '.' + cn.split(' ').join('.') : '';
var sel = api.tagName(node).toLowerCase() + id + c;
var attrs = {};
var children = [];
var name_1;
var i = void 0,
n = void 0;
var elmAttrs = node.attributes;
var elmChildren = node.childNodes;
for (i = 0, n = elmAttrs.length; i < n; i++) {
name_1 = elmAttrs[i].nodeName;
if (name_1 !== 'id' && name_1 !== 'class') {
attrs[name_1] = elmAttrs[i].nodeValue;
}
}
for (i = 0, n = elmChildren.length; i < n; i++) {
children.push(toVNode(elmChildren[i], domApi));
}
return (0, vnode_5.vnode)(sel, { attrs: attrs }, children, undefined, node);
} else if (api.isText(node)) {
text = api.getTextContent(node);
return (0, vnode_5.vnode)(undefined, undefined, undefined, text, node);
} else if (api.isComment(node)) {
text = api.getTextContent(node);
return (0, vnode_5.vnode)('!', {}, [], text, node);
} else {
return (0, vnode_5.vnode)('', {}, [], undefined, node);
}
}
exports.toVNode = toVNode;
});
define('vnode', ['require', 'exports'], function (require, exports) {
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
exports.vnode = void 0;
function vnode(sel, data, children, text, elm) {
var key = data === undefined ? undefined : data.key;
return { sel: sel, data: data, children: children, text: text, elm: elm, key: key };
}
exports.vnode = vnode;
});
define('helpers/attachto', ['require', 'exports'], function (require, exports) {
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
exports.attachTo = void 0;
function pre(vnode, newVnode) {
var attachData = vnode.data.attachData;
newVnode.data.attachData.placeholder = attachData.placeholder;
newVnode.data.attachData.real = attachData.real;
vnode.elm = vnode.data.attachData.real;
}
function post(_, vnode) {
vnode.elm = vnode.data.attachData.placeholder;
}
function destroy(vnode) {
if (vnode.elm !== undefined) {
vnode.elm.parentNode.removeChild(vnode.elm);
}
vnode.elm = vnode.data.attachData.real;
}
function create(_, vnode) {
var real = vnode.elm;
var attachData = vnode.data.attachData;
var placeholder = document.createElement('span');
vnode.elm = placeholder;
attachData.target.appendChild(real);
attachData.real = real;
attachData.placeholder = placeholder;
}
function attachTo(target, vnode) {
if (vnode.data === undefined) vnode.data = {};
if (vnode.data.hook === undefined) vnode.data.hook = {};
var data = vnode.data;
var hook = vnode.data.hook;
data.attachData = { target: target, placeholder: undefined, real: undefined };
hook.create = create;
hook.prepatch = pre;
hook.postpatch = post;
hook.destroy = destroy;
return vnode;
}
exports.attachTo = attachTo;
});
define('modules/attributes', ['require', 'exports'], function (require, exports) {
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
exports.attributesModule = void 0;
var xlinkNS = 'http://www.w3.org/1999/xlink';
var xmlNS = 'http://www.w3.org/XML/1998/namespace';
var colonChar = 58;
var xChar = 120;
function updateAttrs(oldVnode, vnode) {
var key;
var elm = vnode.elm;
var oldAttrs = oldVnode.data.attrs;
var attrs = vnode.data.attrs;
if (!oldAttrs && !attrs) return;
if (oldAttrs === attrs) return;
oldAttrs = oldAttrs || {};
attrs = attrs || {};
for (key in attrs) {
var cur = attrs[key];
var old = oldAttrs[key];
if (old !== cur) {
if (cur === true) {
elm.setAttribute(key, '');
} else if (cur === false) {
elm.removeAttribute(key);
} else {
if (key.charCodeAt(0) !== xChar) {
elm.setAttribute(key, cur);
} else if (key.charCodeAt(3) === colonChar) {
elm.setAttributeNS(xmlNS, key, cur);
} else if (key.charCodeAt(5) === colonChar) {
elm.setAttributeNS(xlinkNS, key, cur);
} else {
elm.setAttribute(key, cur);
}
}
}
}
for (key in oldAttrs) {
if (!(key in attrs)) {
elm.removeAttribute(key);
}
}
}
exports.attributesModule = {
create: updateAttrs,
update: updateAttrs,
};
});
define('modules/class', ['require', 'exports'], function (require, exports) {
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
exports.classModule = void 0;
function updateClass(oldVnode, vnode) {
var cur;
var name;
var elm = vnode.elm;
var oldClass = oldVnode.data.class;
var klass = vnode.data.class;
if (!oldClass && !klass) return;
if (oldClass === klass) return;
oldClass = oldClass || {};
klass = klass || {};
for (name in oldClass) {
if (oldClass[name] && !Object.prototype.hasOwnProperty.call(klass, name)) {
elm.classList.remove(name);
}
}
for (name in klass) {
cur = klass[name];
if (cur !== oldClass[name]) {
elm.classList[cur ? 'add' : 'remove'](name);
}
}
}
exports.classModule = { create: updateClass, update: updateClass };
});
define('modules/dataset', ['require', 'exports'], function (require, exports) {
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
exports.datasetModule = void 0;
var CAPS_REGEX = /[A-Z]/g;
function updateDataset(oldVnode, vnode) {
var elm = vnode.elm;
var oldDataset = oldVnode.data.dataset;
var dataset = vnode.data.dataset;
var key;
if (!oldDataset && !dataset) return;
if (oldDataset === dataset) return;
oldDataset = oldDataset || {};
dataset = dataset || {};
var d = elm.dataset;
for (key in oldDataset) {
if (!dataset[key]) {
if (d) {
if (key in d) {
delete d[key];
}
} else {
elm.removeAttribute('data-' + key.replace(CAPS_REGEX, '-$&').toLowerCase());
}
}
}
for (key in dataset) {
if (oldDataset[key] !== dataset[key]) {
if (d) {
d[key] = dataset[key];
} else {
elm.setAttribute('data-' + key.replace(CAPS_REGEX, '-$&').toLowerCase(), dataset[key]);
}
}
}
}
exports.datasetModule = {
create: updateDataset,
update: updateDataset,
};
});
define('modules/eventlisteners', ['require', 'exports'], function (require, exports) {
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
exports.eventListenersModule = void 0;
function invokeHandler(handler, vnode, event) {
if (typeof handler === 'function') {
handler.call(vnode, event, vnode);
} else if (typeof handler === 'object') {
for (var i = 0; i < handler.length; i++) {
invokeHandler(handler[i], vnode, event);
}
}
}
function handleEvent(event, vnode) {
var name = event.type;
var on = vnode.data.on;
if (on && on[name]) {
invokeHandler(on[name], vnode, event);
}
}
function createListener() {
return function handler(event) {
handleEvent(event, handler.vnode);
};
}
function updateEventListeners(oldVnode, vnode) {
var oldOn = oldVnode.data.on;
var oldListener = oldVnode.listener;
var oldElm = oldVnode.elm;
var on = vnode && vnode.data.on;
var elm = vnode && vnode.elm;
var name;
if (oldOn === on) {
return;
}
if (oldOn && oldListener) {
if (!on) {
for (name in oldOn) {
oldElm.removeEventListener(name, oldListener, false);
}
} else {
for (name in oldOn) {
if (!on[name]) {
oldElm.removeEventListener(name, oldListener, false);
}
}
}
}
if (on) {
var listener = (vnode.listener = oldVnode.listener || createListener());
listener.vnode = vnode;
if (!oldOn) {
for (name in on) {
elm.addEventListener(name, listener, false);
}
} else {
for (name in on) {
if (!oldOn[name]) {
elm.addEventListener(name, listener, false);
}
}
}
}
}
exports.eventListenersModule = {
create: updateEventListeners,
update: updateEventListeners,
destroy: updateEventListeners,
};
});
define('modules/module', ['require', 'exports'], function (require, exports) {
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
});
define('modules/props', ['require', 'exports'], function (require, exports) {
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
exports.propsModule = void 0;
function updateProps(oldVnode, vnode) {
var key;
var cur;
var old;
var elm = vnode.elm;
var oldProps = oldVnode.data.props;
var props = vnode.data.props;
if (!oldProps && !props) return;
if (oldProps === props) return;
oldProps = oldProps || {};
props = props || {};
for (key in props) {
cur = props[key];
old = oldProps[key];
if (old !== cur && (key !== 'value' || elm[key] !== cur)) {
elm[key] = cur;
}
}
}
exports.propsModule = { create: updateProps, update: updateProps };
});
define('modules/style', ['require', 'exports'], function (require, exports) {
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
exports.styleModule = void 0;
var raf = (typeof window !== 'undefined' && window.requestAnimationFrame.bind(window)) || setTimeout;
var nextFrame = function (fn) {
raf(function () {
raf(fn);
});
};
var reflowForced = false;
function setNextFrame(obj, prop, val) {
nextFrame(function () {
obj[prop] = val;
});
}
function updateStyle(oldVnode, vnode) {
var cur;
var name;
var elm = vnode.elm;
var oldStyle = oldVnode.data.style;
var style = vnode.data.style;
if (!oldStyle && !style) return;
if (oldStyle === style) return;
oldStyle = oldStyle || {};
style = style || {};
var oldHasDel = 'delayed' in oldStyle;
for (name in oldStyle) {
if (!style[name]) {
if (name[0] === '-' && name[1] === '-') {
elm.style.removeProperty(name);
} else {
elm.style[name] = '';
}
}
}
for (name in style) {
cur = style[name];
if (name === 'delayed' && style.delayed) {
for (var name2 in style.delayed) {
cur = style.delayed[name2];
if (!oldHasDel || cur !== oldStyle.delayed[name2]) {
setNextFrame(elm.style, name2, cur);
}
}
} else if (name !== 'remove' && cur !== oldStyle[name]) {
if (name[0] === '-' && name[1] === '-') {
elm.style.setProperty(name, cur);
} else {
elm.style[name] = cur;
}
}
}
}
function applyDestroyStyle(vnode) {
var style;
var name;
var elm = vnode.elm;
var s = vnode.data.style;
if (!s || !(style = s.destroy)) return;
for (name in style) {
elm.style[name] = style[name];
}
}
function applyRemoveStyle(vnode, rm) {
var s = vnode.data.style;
if (!s || !s.remove) {
rm();
return;
}
if (!reflowForced) {
vnode.elm.offsetLeft;
reflowForced = true;
}
var name;
var elm = vnode.elm;
var i = 0;
var style = s.remove;
var amount = 0;
var applied = [];
for (name in style) {
applied.push(name);
elm.style[name] = style[name];
}
var compStyle = getComputedStyle(elm);
var props = compStyle['transition-property'].split(', ');
for (; i < props.length; ++i) {
if (applied.indexOf(props[i]) !== -1) amount++;
}
elm.addEventListener('transitionend', function (ev) {
if (ev.target === elm) --amount;
if (amount === 0) rm();
});
}
function forceReflow() {
reflowForced = false;
}
exports.styleModule = {
pre: forceReflow,
create: updateStyle,
update: updateStyle,
destroy: applyDestroyStyle,
remove: applyRemoveStyle,
};
});
define('public/describe', ['require', 'exports'], function (require, exports) {
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
});
define('public/vdom', ['require', 'exports', 'snabbdom'], function (require, exports, snabbdom_1) {
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var patch = (0, snabbdom_1.init)([snabbdom_1.classModule, snabbdom_1.propsModule, snabbdom_1.styleModule, snabbdom_1.eventListenersModule]);
var Vm = (function () {
function Vm(config) {
var _this = this;
var el = config.el,
template = config.template,
methods = config.methods,
mounted = config.mounted;
this.$element = document.querySelector(''.concat(el));
this.$el = el;
this.$methods = methods;
this.$template = template;
this.$mounted = mounted;
this.$keys = {};
this.$watcher({
data: config.data,
watch: function (key, oldVal, newVal) {
_this.$reanderElement(_this.$el);
},
});
this.$eventHandle();
this.$reanderElement(el);
}
Vm.prototype.$watcher = function (opts) {
this._data = this.$getBaseType(opts.data) === 'Object' ? opts.data : {};
this.$watch = opts.watch;
for (var key in opts.data) {
this.$setData(key);
}
};
Vm.prototype.$getBaseType = function (target) {
var typeStr = Object.prototype.toString.apply(target);
return typeStr.slice(8, -1);
};
Vm.prototype.$reanderElement = function (el) {
var _this = this;
var jsxTemplate = (0, snabbdom_1.jsx)(
'div',
{
props: { id: el.replace('#', '') },
hook: {
insert: function (vnode) {
if (typeof _this.$VirtualDOM === 'undefined') _this.$mounted && _this.$mounted();
},
},
},
' ',
this.$template(this)
);
this.$VirtualDOM = patch(typeof this.$VirtualDOM !== 'undefined' ? this.$VirtualDOM : this.$element, jsxTemplate);
};
Vm.prototype.$setData = function (_key) {
Object.defineProperty(this, _key, {
get: function () {
return this._data[_key];
},
set: function (val) {
var oldVal = this._data[_key];
if (oldVal === val) return val;
this._data[_key] = val;
this.$watch.call(this, _key, oldVal, val);
return val;
},
});
};
Vm.prototype.$eventHandle = function () {
Object.assign(this, this.$methods);
for (var key in this.$methods) {
if (Object.prototype.hasOwnProperty.call(this.$methods, key)) {
this.$methods[key].bind(this);
}
}
};
Vm.prototype.$class = function (array) {
if (typeof array === 'string') array = array.trim().split(' ');
var classList = {};
for (var i = 0; i < array.length; i++) classList[array[i]] = true;
return classList;
};
Vm.prototype.$style = function (str) {
if (!str) return {};
if (typeof str === 'object') return str;
var style = {},
styleList = str.split(';');
for (var i = 0; i < styleList.length; i++) {
if (styleList[i] === '') continue;
var styleItem = styleList[i].split(':');
style[styleItem[0].trim()] = styleItem[1];
}
return style;
};
Vm.prototype.$ul = function (config, arry) {
if (Array.isArray(config)) {
arry = config;
config = { style: {}, className: '' };
}
var style = config.style,
className = config.className;
var liList = arry.map(function (item, index) {
if (typeof item === 'string') item = [item];
return (0, snabbdom_1.jsx)('li', { key: index, style: { color: item[1] || '' } }, item[0] || item);
});
return (0, snabbdom_1.jsx)('ul', { class: this.$class('help-info-text c7 '.concat(className || '')), style: this.$style(style) }, liList);
};
Vm.prototype.$line = function (config, content) {
if (typeof config != 'object') config = { title: config };
var title = config.title,
width = config.width,
style = config.style,
hide = config.hide;
return (0, snabbdom_1.jsx)(
'div',
{ class: { line: true, hide: hide } },
(0, snabbdom_1.jsx)('span', { class: { tname: true }, style: this.$style(''.concat(width ? 'width:' + width + ';' : '').concat(style)) }, title),
(0, snabbdom_1.jsx)('div', { class: { 'info-r': true }, style: { marginLeft: width } }, content)
);
};
Vm.prototype.$box = function (element1, element2) {
return (0, snabbdom_1.jsx)('div', { class: this.$class('group-box') }, ' ', element1, ' ', element2);
};
Vm.prototype.$switch = function (config) {
var checked = config.checked,
change = config.change,
model = config.model,
name = config.name;
if (model) (checked = this[model]), (name = model);
return (0, snabbdom_1.jsx)(
'div',
{ class: { 'info-block': true } },
(0, snabbdom_1.jsx)('input', {
class: this.$class('btswitch btswitch-ios'),
props: { id: model + '_vm', type: 'checkbox', name: name, checked: checked },
on: { input: this.$inputEvent.bind(this), change: change },
}),
(0, snabbdom_1.jsx)('label', { style: { position: 'relative', top: '5px' }, class: { 'btswitch-btn': true }, props: { htmlFor: model + '_vm' } })
);
};
Vm.prototype.$input = function (config) {
var name = config.name,
readonly = config.readonly,
disabled = config.disabled,
style = config.style,
value = config.value,
type = config.type,
change = config.change,
className = config.className,
model = config.model,
width = config.width,
id = config.id,
placeholder = config.placeholder,
keyup = config.keyup;
if (model) (value = this[model]), (name = model);
if (width) style = 'width:'.concat(width, ';').concat(style);
return (0, snabbdom_1.jsx)('input', {
class: this.$class('bt-input-text mr5 '.concat(className || '')),
props: { readonly: readonly, name: name, type: type || 'text', disabled: disabled, value: value, id: id, placeholder: placeholder },
style: this.$style(style),
on: { input: this.$inputEvent.bind(this), change: change, keyup: keyup },
});
};
Vm.prototype.$select = function (config) {
var style = config.style,
className = config.className,
options = config.options,
model = config.model,
name = config.name,
value = config.value,
width = config.width,
change = config.change;
if (model) (value = this[model]), (name = model);
if (width) style = 'width:'.concat(width, ';').concat(style);
var optionList = options.map(function (item, index) {
if (typeof item === 'string') item = { value: index, label: item };
return (0, snabbdom_1.jsx)('option', { key: index, props: { value: item.value, selected: item.value === value } }, item.label);
});
return (0, snabbdom_1.jsx)(
'select',
{ class: this.$class('bt-input-text mr5 '.concat(className || '')), props: { name: name }, on: { input: this.$inputEvent.bind(this), change: change }, style: this.$style(style) },
optionList
);
};
Vm.prototype.$textarea = function (config) {
var style = config.style,
className = config.className,
value = config.value,
model = config.model,
name = config.name,
width = config.width,
height = config.height,
id = config.id;
if (model) (value = this[model]), (name = model);
if (width) style = 'width:'.concat(width, ';').concat(style);
if (height) style = 'height:'.concat(height, ';').concat(style);
return (0, snabbdom_1.jsx)(
'textarea',
{ class: this.$class('bt-input-text '.concat(className || '')), style: this.$style(style), props: { name: name, id: id }, on: { input: this.$inputEvent.bind(this) } },
value
);
};
Vm.prototype.$button = function (config) {
var type = config.type,
size = config.size,
click = config.click,
style = config.style,
className = config.className,
title = config.title,
width = config.width,
height = config.height;
if (width) style = 'width:'.concat(width, ';').concat(style);
if (height) style = 'height:'.concat(height, ';').concat(style);
return (0, snabbdom_1.jsx)(
'button',
{
class: this.$class(
'btn btn-'
.concat(type || 'success', ' btn-')
.concat(size || 'sm', ' ')
.concat(className || '')
),
style: this.$style(style),
on: { click: click },
},
title
);
};
Vm.prototype.$link = function (config) {
var click = config.click,
style = config.style,
className = config.className,
title = config.title,
href = config.href,
target = config.target;
return (0, snabbdom_1.jsx)(
'a',
{ class: this.$class('btlink ' + className), props: { href: href || 'javascript:;', target: target || '_blank' }, style: this.$style(style), on: { click: click } },
title
);
};
Vm.prototype.$icon = function (config) {
var click = config.click,
style = config.style,
type = config.type;
return (0, snabbdom_1.jsx)('span', { class: this.$class('glyphicon glyphicon-'.concat(type, ' cursor')), style: this.$style(style), on: { click: click } });
};
Vm.prototype.$warningTitle = function (tips) {
return (0, snabbdom_1.jsx)(
'div',
{ class: { mb15: true, 'layer-info-head': true } },
(0, snabbdom_1.jsx)('i', { class: this.$class('layui-layer-ico layui-layer-ico3 layer-info-ico') }),
(0, snabbdom_1.jsx)('h3', { class: { 'layer-info-title': true } }, tips)
);
};
Vm.prototype.$learnMore = function (config) {
var title = config.title,
model = config.model,
className = config.className,
style = config.style,
id = config.id,
link = config.link,
relation = model + '_more';
return (0, snabbdom_1.jsx)(
'div',
{ class: this.$class('mt10 agreementBox '.concat(className || '')), props: { id: id }, style: this.$style(style) },
(0, snabbdom_1.jsx)(
'div',
{ class: this.$class('agreementCont') },
this.$input({ type: 'checkbox', model: model, id: relation }),
(0, snabbdom_1.jsx)('label', { props: { htmlFor: relation } }, title)
),
link
);
};
Vm.prototype.$table = function (config) {
return (0, snabbdom_1.jsx)('div', { class: { divtable: true } }, (0, snabbdom_1.jsx)('table', { class: { 'table table-bordered table-hover': true } }));
};
Vm.prototype.$tab = function (config) {
var title = config.title,
content = config.content,
className = config.className,
style = config.style,
id = config.id;
return (0, snabbdom_1.jsx)(
'div',
{ class: { 'bt-w-main': true } },
(0, snabbdom_1.jsx)('div', { class: { 'bt-w-menu': true } }),
(0, snabbdom_1.jsx)('div', { class: { 'bt-w-con': true, pd15: true } }, { content: content })
);
};
Vm.prototype.$tabItem = function (config) {
var title = config.title,
content = config.content,
hide = config.hide;
return (0, snabbdom_1.jsx)('div', { class: { 'bt-w-item': true, hide: hide }, props: { title: title } }, content);
};
Vm.prototype.$inputEvent = function (ev, fn) {
var targets = ev.target;
var targetValue = targets.value;
var targetType = targets.getAttribute('type');
var name = targets.getAttribute('name');
if (ev.type === 'input' && targetType === 'checkbox') {
this[name] = targets.checked;
} else {
this[name] = targetValue;
}
if (typeof fn === 'function') fn(ev);
};
return Vm;
})();
exports.default = Vm;
});
define('public/utils', ['require', 'exports', 'public/vdom'], function (require, exports, vdom_1) {
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
vdom_1 = __importDefault(vdom_1);
var Utils = (function () {
function Utils() {
this.System = 'linux';
this.Language = 'zh-CN';
this.API = {};
this.vDdomList = {};
this.layerIndex = 0;
this.$ajaxSetup();
this.$requestInit();
}
Utils.prototype.$ajaxSetup = function () {
var my_headers = {};
var request_token_ele = document.getElementById('request_token_head');
if (request_token_ele) {
var request_token = request_token_ele.getAttribute('token');
if (request_token) {
my_headers['x-http-token'] = request_token;
}
}
var request_token_cookie = this.$getCookie('request_token');
if (request_token_cookie) {
my_headers['x-cookie-token'] = request_token_cookie;
}
if (my_headers) {
$.ajaxSetup({
headers: my_headers,
error: function (jqXHR, textStatus, errorThrown) {
if (!jqXHR.responseText) return;
if (typeof String.prototype.trim === 'undefined') {
String.prototype.trim = function () {
return String(this).replace(/^\s+|\s+$/g, '');
};
}
var error_key = 'We need to make sure this has a favicon so that the debugger does';
var error_find = jqXHR.responseText.indexOf(error_key);
if (jqXHR.status == 500 && (jqXHR.responseText.indexOf('An error occurred while the panel was running') != -1 || error_find != -1)) {
if (error_find != -1) {
var error_body = jqXHR.responseText.split('<!--')[2].replace('-->', '');
var tmp = error_body.split('During handling of the above exception, another exception occurred:');
error_body = tmp[tmp.length - 1];
var error_msg =
'<div>\
<h3 style="margin-bottom: 10px;">An error occurred while the panel was running</h3>\
<pre style="height:635px;word-wrap: break-word;white-space: pre-wrap;margin: 0 0 0px">' +
error_body.trim() +
'</pre>\
<ul class="help-info-text">\
<li style="list-style: none;"><b>Sorry, please try to resolve this error in the following order:</b></li>\
<li style="list-style: none;">1. Click the repair panel in the upper right corner of the [Homepage], log out of the panel and log in again.</li>\
<li style="list-style: none;">2. If the above attempts fail to resolve this error, please screenshot this window and post it to the Pagoda Forum for help, forum address:<a class="btlink" href="https://www.yakpanel.com/forum" target="_blank">https://www.yakpanel.com/forum</a></li>\
</ul>\
</div>';
} else {
error_msg = jqXHR.responseText;
}
$('.layui-layer-padding').parents('.layer-anim').remove();
$('.layui-layer-shade').remove();
setTimeout(function () {
layer.open({
title: false,
content: error_msg,
closeBtn: 2,
area: ['1000px', '800px'],
btn: false,
shadeClose: false,
shade: 0.3,
success: function () {
$('pre').scrollTop(100000000000);
},
});
}, 100);
}
},
});
}
};
Utils.prototype.$checkIp = function (ip) {
var reg = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/;
return reg.test(ip);
};
Utils.prototype.$checkIps = function (ips) {
var reg = /^\d{1, 3}\.\d{1, 3}\.\d{1, 3}\.\d{1, 3}(\/\d{1, 2})?$/;
return reg.test(ips);
};
Utils.prototype.$checkDomainList = function (domainInfo) {
if (typeof domainInfo === 'string') domainInfo = domainInfo.split(',');
var reg = /^([a-zA-Z0-9]([a-zA-Z0-9\-]{0, 61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2, 6}$/;
for (var _i = 0, domainInfo_1 = domainInfo; _i < domainInfo_1.length; _i++) {
var item = domainInfo_1[_i];
if (!reg.test(item)) return false;
}
return true;
};
Utils.prototype.$checkPawComplexity = function (paw) {
var regList = {
length: /^.{8,}$/,
number: /\d+/,
lowercase: /[a-z]+/,
capital: /[A-Z]+/,
special: /[^A-Za-z0-9]+/,
};
return false;
};
Utils.prototype.$checkWeakCipher = function (paw) {
var checks = ['admin888', '123123123', '12345678', '45678910', '87654321', 'asdfghjkl', 'password', 'qwerqwer'],
pchecks = 'abcdefghijklmnopqrstuvwxyz1234567890',
lower = paw.toLowerCase(),
isError = '';
for (var i = 0; i < pchecks.length; i++) {
var item = pchecks[i];
checks.push(item + item + item + item + item + item + item + item);
}
for (var i = 0; i < checks.length; i++) {
var item = checks[i];
if (lower === item) isError += '['.concat(item, ']');
break;
}
return {
status: !isError,
msg: isError,
};
};
Utils.prototype.$checkUrl = function (url) {
var reg = /^((https|http|ftp|rtsp|mms)?:\/\/)[^\s]+/;
return reg.test(url);
};
Utils.prototype.$checkPort = function (port) {
var reg = /^([1-9]|[1-9]\d|[1-9]\d{2}|[1-9]\d{3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$/;
return reg.test(port.toString());
};
Utils.prototype.$checkChinese = function (chinese) {
var reg = /^[\u4e00-\u9fa5]+$/;
return reg.test(chinese);
};
Utils.prototype.$checkDomain = function (domain) {
var reg = /^([\w\u4e00-\u9fa5\-\*]{1, 100}\.){1, 10}([\w\u4e00-\u9fa5\-]{1, 24}|[\w\u4e00-\u9fa5\-]{1, 24}\.[\w\u4e00-\u9fa5\-]{1, 24})$/;
return reg.test(domain);
};
Utils.prototype.$checkEmail = function (email) {
var reg = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/;
return reg.test(email);
};
Utils.prototype.$checkPhone = function (phone) {
var reg = /^1[3456789]\d{9}$/;
return reg.test(phone.toString());
};
Utils.prototype.$containsStr = function (str, subStr) {
if (typeof str !== 'string' && typeof subStr !== 'string') return false;
return str.indexOf(subStr) > -1;
};
Utils.prototype.$replaceTrim = function (str) {
return str.replace(/\s+/g, '');
};
Utils.prototype.$ltrim = function (str, l) {
var reg = new RegExp('/(^\\' + l + '+)/g');
return str.replace(reg, '');
};
Utils.prototype.$rtrim = function (str, r) {
var reg = new RegExp('/(\\' + r + '+$)/g');
return str.replace(reg, '');
};
Utils.prototype.$formatTime = function (time, format) {
if (format === void 0) {
format = 'yyyy/MM/dd hh:mm:ss';
}
var timestamp = '';
if (typeof time === 'object') timestamp = time.getTime().toString();
if (typeof time === 'string') timestamp = new Date(time).getTime().toString();
if (typeof time === 'number') timestamp = time.toString();
if (timestamp.length > 10) timestamp = timestamp.substring(0, 10);
var date = new Date(parseInt(timestamp) * 1000);
var o = {
'M+': date.getMonth() + 1,
'd+': date.getDate(),
'h+': date.getHours(),
'm+': date.getMinutes(),
's+': date.getSeconds(),
'q+': Math.floor((date.getMonth() + 3) / 3),
S: date.getMilliseconds(),
};
if (/(y+)/.test(format)) format = format.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
for (var k in o) {
if (new RegExp('(' + k + ')').test(format)) {
format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ('00' + o[k]).substr(('' + o[k]).length));
}
}
return format;
};
Utils.prototype.$formatSize = function (bytes, isUnit, fixed, endUnit) {
if (bytes === void 0) {
bytes = 0;
}
if (isUnit === void 0) {
isUnit = true;
}
if (fixed === void 0) {
fixed = 2;
}
if (endUnit === void 0) {
endUnit = '';
}
if (typeof bytes === 'string') bytes = parseInt(bytes);
var unit = [' B', ' KB', ' MB', ' GB', 'TB'],
c = 1024;
for (var i = 0; i < unit.length; i++) {
var cUnit = unit[i];
var val = bytes;
if (fixed !== 0 && i === 0) val = bytes.toFixed(fixed);
if (endUnit) {
if (cUnit.trim() == endUnit.trim()) {
if (endUnit) {
return val + cUnit;
} else {
return val;
}
}
} else {
if (bytes < c) {
if (isUnit) {
return val + cUnit;
} else {
return val;
}
}
}
bytes /= c;
}
};
Utils.prototype.$formatPath = function (path) {
var reg = /(\\)/g;
path = path.replace(reg, '/');
return path;
};
Utils.prototype.$getFilePath = function (filename) {
if (filename === '/') return '/';
filename = (filename + '/').replace(/\/\//g, '/');
var arr = filename.split('/'),
last = arr[arr.length - 1];
return filename.replace('/' + arr[arr.length - (last === '' ? 2 : 1)], '');
};
Utils.prototype.$getRandom = function (len) {
if (len === void 0) {
len = 32;
}
var $chars = 'AaBbCcDdEeFfGHhiJjKkLMmNnPpRSrTsWtXwYxZyz2345678',
maxPos = $chars.length;
var password = '';
for (var i = 0; i < len; i++) {
password += $chars.charAt(Math.floor(Math.random() * maxPos));
}
return password;
};
Utils.prototype.$getRandomNum = function (min, max) {
if (min === void 0) {
min = 0;
}
if (max === void 0) {
max = 9;
}
return Math.floor(Math.random() * (max - min + 1) + min);
};
Utils.prototype.$getStorage = function (key) {
return window.localStorage.getItem(key);
};
Utils.prototype.$setStorage = function (key, value) {
window.localStorage.setItem(key, value);
};
Utils.prototype.$removeStorage = function (key) {
window.localStorage.removeItem(key);
};
Utils.prototype.$getCookie = function (name) {
var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)');
var itExist = document.cookie.match(reg);
if (itExist) {
var val = unescape(itExist[2]);
return val == 'undefined' ? '' : val;
} else {
return null;
}
};
Utils.prototype.$setCookie = function (name, value, time) {
if (time === void 0) {
time = 2592000000;
}
var date = '',
expires = new Date();
expires.setTime(expires.getTime() + time);
date = expires.toGMTString();
var isHttps = window.location.protocol === 'https:';
var sameSite = ';Secure; Path=/; SameSite=None';
document.cookie = name + '=' + escape(value) + ';expires=' + time + (isHttps ? sameSite : '');
};
Utils.prototype.$removeCookie = function (name) {
this.$setCookie(name, '', 0);
};
Utils.prototype.$requestInit = function () {
var _this_1 = this;
var requestTokenHead = document.getElementById('request_token_head');
var headers = { 'x-http-token': '', 'x-cookie-token': '' };
var httpToken = (requestTokenHead && requestTokenHead.getAttribute('token')) || '';
var cookieToken = this.$getCookie('request_token') || '';
httpToken && (headers['x-http-token'] = httpToken);
cookieToken && (headers['x-cookie-token'] = cookieToken);
if (httpToken) {
$.ajaxSetup({
headers: headers,
error: function (XHR) {
return __awaiter(_this_1, void 0, void 0, function () {
var resText, resStatus, monitorStr, content, errorHead, isErrorHead, errorBody, tmp;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
(resText = XHR.responseText), (resStatus = XHR.status), (monitorStr = ['/static/favicon.ico', '/static/img/qrCode.png', '<!DOCTYPE html>']), (content = '');
if (resText) return [2, false];
if (
typeof resText == 'string' &&
monitorStr.some(function (item) {
return resText.indexOf(item) > -1;
})
)
return [2, this.$refreshBrowser('/login')];
(errorHead = 'We need to make sure this has a favicon so that the debugger does'), (isErrorHead = resText.indexOf(errorHead) > -1);
if (resStatus === 500 && resText.indexOf('运行时发生错误') > -1 && isErrorHead) {
if (resText.indexOf('请先绑定 YakPanel 账号!') > -1) {
this.$refreshBrowser('/bind?redirect='.concat(encodeURIComponent(window.location.href)));
return [2, false];
}
if (isErrorHead) {
errorBody = resText.split('<!--')[2].replace('-->', '');
tmp = errorBody.split('During handling of the above exception, another exception occurred:');
errorBody = tmp[tmp.length - 1];
content =
'<div>\n <h3 style="margin-bottom: 10px;">Something went wrong, an error occurred while the panel was running!</h3>\n <pre style="height:635px;word-wrap: break-word;white-space: pre-wrap;margin: 0 0">'.concat(
errorBody.trim(),
'</pre>\n <ul class="help-info-text">\n <li style="list-style: none;"><b>Sorry, an unexpected error occurred while panel was running, please try to resolve this error in the following order: </b></li>\n <li style="list-style: none;">1. Click Fix Panel in the upper right corner of [Home] and log out of the panel to log in again.</li>\n <li style="list-style: none;">2. if the above attempts fail to lift this error, please screenshot this window to the YakPanel Forum to post for help, forum address: <a class="btlink" href="https://www.yakpanel.com/forum" target="_blank">https://www.yakpanel.com/forum</a></li> </ul>\n </div>'
);
} else {
content = resText;
}
}
return [
4,
this.$open({
title: false,
content: content,
area: ['1200px', '810px'],
btn: false,
}),
];
case 1:
_a.sent();
return [2];
}
});
});
},
});
}
};
Utils.prototype.$send = function (param, param1, param2) {
var _this_1 = this;
if (param2 === void 0) {
param2 = '';
}
return new Promise(function (resolve, reject) {
var config = {
url: '',
method: 'POST',
msg: false,
data: {},
},
loading = '',
loadT;
if (typeof param === 'string') {
var urls = param.split('/');
config.url = '/'.concat(urls[0], '?action=').concat(urls[1]);
if (typeof param1 === 'string') {
loading = param1;
} else if (typeof param1 === 'object') {
config.data = param1;
loading = param2;
}
} else if (typeof param === 'object') {
config.url = param.url;
config.method = param.method || 'POST';
config.msg = param.msg || false;
config.data = param.data || {};
loading = param.loading || '';
}
if (loading) loadT = _this_1.$load(''.concat(loading));
$.ajax({
url: config.url,
method: config.method,
data: config.data,
success: function (rdata) {
return __awaiter(_this_1, void 0, void 0, function () {
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
if (loadT) loadT.close();
if (!(typeof rdata === 'object')) return [3, 3];
if (!(typeof rdata.msg === 'string' && rdata.msg.indexOf('CSRF校验失败请重新登录面板') > -1)) return [3, 2];
return [4, this.$confirm({ title: 'Tips', msg: 'Panel login has expired, please login again!' })];
case 1:
_a.sent();
layer.closeAll();
this.$load('Logging out, please wait...');
this.$refreshBrowser('/login?dologin=True');
return [2, false];
case 2:
if (typeof rdata.msg === 'string' && rdata.msg === '没有权限' && !rdata.status) {
layer.closeAll();
this.$error(rdata.msg);
return [2, false];
}
if (typeof rdata.status === 'boolean' && !rdata.status && rdata.msg && config.msg) this.$error(rdata.msg);
_a.label = 3;
case 3:
resolve(rdata);
return [2];
}
});
});
},
error: function (err) {
reject(err);
},
});
});
};
Utils.prototype.$apiInit = function (apiInfo) {
this.API = Object.assign(this.API, apiInfo);
};
Utils.prototype.$request = function (info, param, config) {
var _this_1 = this;
if (param === void 0) {
param = {};
}
return new Promise(function (resolve, reject) {
return __awaiter(_this_1, void 0, void 0, function () {
var url, loading, rdata, error_1;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
if (typeof info === 'string') info = this.API[info];
if (typeof param === 'boolean') (config = param), (param = {});
if (typeof param === 'object' && param.hasOwnProperty('loading') && param.hasOwnProperty('msg')) (config = param), (param = {});
if (typeof config === 'boolean') config = { msg: config };
if (typeof config === 'undefined') config = { msg: true, loading: true };
(url = info[0]), (loading = info[1] || '');
if (!config.loading) loading = '';
_a.label = 1;
case 1:
_a.trys.push([1, 3, , 4]);
return [4, this.$send(url, param, loading)];
case 2:
rdata = _a.sent();
config.msg && typeof rdata.msg === 'string' && this.$msg(rdata);
resolve(rdata);
return [3, 4];
case 3:
error_1 = _a.sent();
reject(error_1);
return [3, 4];
case 4:
return [2];
}
});
});
});
};
Utils.prototype.$open = function (param) {
var _this_1 = this;
var _this = this;
return new Promise(function (resolve, reject) {
var id = 'virtual-'.concat(_this_1.$getRandom(5));
var content = param.content,
success = param.success,
yes = param.yes,
btn2 = param.btn2,
cancel = param.cancel,
title = param.title,
shadeClose = param.shadeClose,
closeBtn = param.closeBtn,
skin = param.skin,
type = param.type;
var config = typeof param.content === 'string' ? '' : param.content;
var vm;
switch (typeof param.content) {
case 'string':
content = param.content;
break;
case 'object':
content = '<div id="'.concat(id, '"></div>');
break;
}
var layerConfig = {
title: title,
type: type || 1,
shadeClose: shadeClose,
content: content,
skin: skin,
closeBtn: closeBtn || 2,
success: function (layers, indexs) {
if (typeof config === 'object') {
var vm_1 = new vdom_1.default(Object.assign(config, { el: '#'.concat(id) }));
vm_1['$closeLayer'] = function () {
layer.close(indexs);
return indexs;
};
_this.vDdomList[indexs] = vm_1;
}
success && success(layers, indexs, vm);
},
yes: function (indexs) {
_this.layerIndex = indexs;
var config = {
close: function () {
layer.close(indexs);
return indexs;
},
vm: _this.vDdomList[indexs],
};
yes && yes(config);
resolve(config);
},
cancel: function (indexs) {
_this.layerIndex = indexs;
if (cancel) {
cancel && cancel();
} else {
reject({ cancel: true, type: 'cancel' });
}
delete _this.vDdomList[indexs];
},
btn2: function (indexs) {
_this.layerIndex = indexs;
if (btn2) {
btn2 && btn2();
} else {
reject({ cancel: true, type: 'btn2' });
}
delete _this.vDdomList[indexs];
},
end: function () {
delete _this.vDdomList[_this.layerIndex];
},
};
layer.open(Object.assign(param, layerConfig));
});
};
Utils.prototype.$confirm = function (param) {
return new Promise(function (resolve, reject) {
var msg = '';
if (param.hasOwnProperty('msg')) {
msg = param.msg;
delete param.msg;
}
layer.confirm(
msg,
Object.assign(
{
title: 'Tips',
icon: 3,
btn: [lan.public.confirm, lan.public.cancel],
shadeClose: false,
closeBtn: 2,
cancel: function () {
return reject({ cancel: true });
},
},
param
),
function (indexs) {
return resolve(indexs);
},
function () {
return reject({ cancel: true });
}
);
});
};
Utils.prototype.$tips = function (param) {
var msg = '',
el = '';
if (param.msg) {
msg = param.msg;
delete param.msg;
}
if (param.el) {
el = param.el;
delete param.el;
}
param.success = function (layero) {
var oldLeft = layero.css('left');
oldLeft = oldLeft.substring(0, oldLeft.indexOf('px'));
layero.css('left', ''.concat(oldLeft - 10, 'px'));
};
return {
layer: layer.tips(msg, el, Object.assign({ tips: [1, 'red'] }, param)),
close: function () {
layer.close(this.layer);
},
};
};
Utils.prototype.$close = function (index) {
layer.close(index);
};
Utils.prototype.$msg = function (param, param1) {
var config = {
time: 1500,
shade: 0.3,
shadeClose: true,
closeBtn: 0,
icon: 1,
},
msg = '';
if (typeof param === 'object') {
for (var key in config) {
if (Object.prototype.hasOwnProperty.call(config, key)) {
if (typeof param[key] !== 'undefined') config[key] = param[key];
}
}
msg = param.msg + (param.msg_error || '') + (param.msg_solve || '');
if (typeof msg == 'string' && typeof param.status === 'boolean') {
config.icon = typeof param.status === 'boolean' ? (param.status ? 1 : 2) : 1;
}
} else if (typeof param === 'string') {
msg = param;
if (typeof param1 === 'boolean' || typeof param1 === 'number') {
config.icon = typeof param1 === 'boolean' ? (param1 ? 1 : 2) : param1;
}
}
return {
layer: layer.msg(msg, config),
close: function () {
layer.close(this.layer);
},
};
};
Utils.prototype.$error = function (msg) {
return this.$msg({ msg: msg, icon: 2 });
};
Utils.prototype.$warning = function (msg) {
return this.$msg({ msg: msg, icon: 0 });
};
Utils.prototype.$load = function (tips) {
if (tips === void 0) {
tips = 'Processing, please wait...';
}
return this.$msg({ msg: tips, icon: 16, time: 0, shade: [0.3, '#000'] });
};
Utils.prototype.$verifySubmit = function (param, msg) {
var _this_1 = this;
return new Promise(function (resolve) {
var status = false;
status = typeof param === 'function' ? param() : param;
if (status) {
_this_1.$error(msg);
} else {
resolve(status);
}
});
};
Utils.prototype.$verifySubmitList = function (list) {
var _this_1 = this;
return new Promise(function (resolve) {
return __awaiter(_this_1, void 0, void 0, function () {
var status, i, element;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
status = true;
i = 0;
_a.label = 1;
case 1:
if (!(i < list.length)) return [3, 4];
element = list[i];
return [4, this.$verifySubmit(element[0], element[1])];
case 2:
status = _a.sent();
if (status) return [3, 4];
_a.label = 3;
case 3:
i++;
return [3, 1];
case 4:
if (!status) resolve(true);
return [2];
}
});
});
});
};
Utils.prototype.$refreshBrowser = function (href, time) {
if (href === void 0) {
href = 1500;
}
if (time === void 0) {
time = 1500;
}
typeof href === 'number' && (time = href);
setTimeout(function () {
switch (typeof href) {
case 'string':
window.parent.location.href = href;
break;
case 'number':
window.parent.location.reload();
break;
}
}, time);
};
Utils.prototype.$require = function (moduleName) {
return new Promise(function (resolve, reject) {
try {
if (!Array.isArray(moduleName)) moduleName = [moduleName];
require(moduleName, function () {
var param = {};
for (var i = 0; i < arguments.length; i++) {
param[moduleName[i]] = arguments[i];
}
resolve(param);
});
} catch (error) {
reject(error);
}
});
};
Utils.prototype.$delay = function (time) {
if (time === void 0) {
time = 1000;
}
return new Promise(function (resolve) {
setTimeout(function () {
resolve(time);
}, time);
});
};
return Utils;
})();
exports.default = Utils;
});
define('public/public', ['require', 'exports', 'snabbdom', 'public/utils'], function (require, exports, snabbdom_2, utils_1) {
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
utils_1 = __importDefault(utils_1);
var Public = (function (_super) {
__extends(Public, _super);
function Public() {
var _this_1 = _super.call(this) || this;
_this_1.apiInfo = {
getUserInfo: ['ssl/GetUserInfo', 'Getting bind account information, please wait...'],
unbindUserInfo: ['ssl/DelToken', 'Unbinding the pagoda account, please wait...'],
restartPanel: ['system/ReWeb', lan.public.the],
GetToken: ['ssl/GetToken', lan.config.token_get],
getFileDir: ['files/GetDir', lan.public.the],
getMsgConfig: ['config/get_settings2', 'Getting profile, please wait...'],
setTelegramConfig: ['config/set_tg_bot', 'The notification is being generated, please wait...'],
setDingDingConfig: ['config/set_msg_config&name=dingding', 'The notification is being generated, please wait...'],
clearTelegramConfig: ['config/del_tg_info', 'Deleting notification, please wait...'],
addMailAddress: ['config/add_mail_address', 'Please wait while creating recipient list...'],
delMailAddress: ['config/del_mail_list', 'Deleting email, please wait...'],
getMailList: ['config/get_settings2', lan.public.the],
setMailConfig: ['config/user_mail_send', 'The notification is being generated, please wait...'],
};
_this_1.$apiInit(_this_1.apiInfo);
return _this_1;
}
Public.prototype.fixedTableHead = function (el, height, isBorder) {
if (isBorder === void 0) {
isBorder = true;
}
$(el).css({ border: 'none' });
var data = { 'overflow-y': 'auto', 'max-height': height };
if (isBorder) data.border = '1px solid #ddd';
$(el).parent().css(data);
$(el)
.parent()
.bind('scroll', function () {
var scrollTop = this.scrollTop;
$(this)
.find('thead')
.css({
transform: 'translateY(' + scrollTop + 'px)',
position: 'relative',
'z-index': '1',
});
});
};
Public.prototype.bindBtAccount = function (isEdit) {
if (isEdit === void 0) {
isEdit = false;
}
var that = this;
var title = !isEdit ? lan.config.config_user_binding : lan.config.config_user_edit;
var bindBtn = !isEdit ? lan.config.binding : lan.public.edit;
this.$open({
title: title,
area: ['420px', '360px'],
content: {
data: {
username: '',
password: '',
},
template: function () {
return (0, snabbdom_2.jsx)(
'div',
{ class: this.$class('pd20 bt-form libLogin') },
(0, snabbdom_2.jsx)('h4', { class: this.$class('c2 f18 text-center mtb20') }, lan.public_backup.bind_bt_account),
(0, snabbdom_2.jsx)('div', { class: { line: true } }, this.$input({ model: 'username', placeholder: lan.public.user })),
(0, snabbdom_2.jsx)('div', { class: { line: true } }, this.$input({ model: 'password', type: 'password', placeholder: lan.public.pass, keyup: this.bindUserInfo.bind(this) })),
(0, snabbdom_2.jsx)('div', { class: { line: true } }, this.$button({ className: 'login-button', title: bindBtn, click: this.bindUserInfo.bind(this), width: '360px', height: '40px' })),
(0, snabbdom_2.jsx)('p', { class: { 'text-right': true } }, ' ', this.$link({ title: lan.public_backup.no_account, href: 'https://brandnew.yakpanel.com/user_admin/register' }))
);
},
methods: {
bindUserInfo: function (ev) {
return __awaiter(this, void 0, void 0, function () {
var _a, username, password, param, rdata;
return __generator(this, function (_b) {
switch (_b.label) {
case 0:
if (ev.type === 'keyup' && ev.keyCode !== 13) return [2, false];
(_a = this), (username = _a.username), (password = _a.password);
return [
4,
that.$verifySubmitList([
[!username, 'Please input account'],
[!password, 'Please input password'],
]),
];
case 1:
_b.sent();
param = { username: username, password: password };
return [4, that.$request('GetToken', param)];
case 2:
rdata = _b.sent();
that.$msg(rdata);
rdata.status && that.$refreshBrowser();
return [2];
}
});
});
},
},
},
}).catch(function (err) {});
};
Public.prototype.selectFileDir = function (id, type, success, default_path) {
var _this_1 = this;
if (type === void 0) {
type = 'all';
}
this.$setCookie('SetName', '');
if (typeof type !== 'string') (success = type), (type = 'dir');
this.$open({
area: '680px',
title: type === 'all' ? 'Select directories or files' : type === 'file' ? lan.bt.file : lan.bt.dir,
closeBtn: 2,
content:
"\n <div class='changepath'>\n <div class='path-top'>\n <button type='button' id='btn_back' class='btn btn-default btn-sm'><span class='glyphicon glyphicon-share-alt'></span> "
.concat(lan.public.return, "</button>\n <div class='place' id='PathPlace'>")
.concat(
lan.bt.path,
"<span></span></div>\n </div>\n <div class='path-con'>\n <div class='path-con-left'>\n <dl>\n <dt id='changecomlist'></dt>\n </dl>\n </div>\n <div class='path-con-right'>\n <ul class='default' id='computerDefautl'></ul>\n <div class='file-list divtable'>\n <table class='table table-hover'>\n <thead>\n <tr class='file-list-head'>\n <th width='5%'></th>\n <th width='38%'>"
)
.concat(lan.bt.filename, "</th>\n <th width='24%'>")
.concat(lan.bt.etime, "</th>\n <th width='8%'>")
.concat(lan.bt.access, "</th>\n <th width='15%'>")
.concat(
lan.bt.own,
"</th>\n </tr>\n </thead>\n <tbody id='tbody' class='list-list'></tbody>\n </table>\n </div>\n </div>\n </div>\n </div>\n <div class='getfile-btn' style='margin-top:0'>\n <button type='button' class='btn btn-default btn-sm pull-left' onclick='CreateFolder()'>"
)
.concat(lan.bt.adddir, "</button>\n <button type='button' class='btn btn-danger btn-sm mr5 closeLayer'>")
.concat(lan.public.close, "</button>\n <button type='button' id='bt_select' class='btn btn-success btn-sm' >")
.concat(lan.bt.path_ok, '</button>\n </div>\n '),
success: function (layers, indexs) {
var el = null;
if (id.indexOf('.') === 0) el = $('.' + id);
if (id.indexOf('#') === 0) el = $('#' + id);
if (id.indexOf('.') !== 0 && id.indexOf('#') !== 0) el = $(id);
_this_1.fixedTableHead('.file-list .table', '100%', false);
$('#btn_back').on('click', function () {
var path = $('#PathPlace').find('span').text();
path = _this_1.$rtrim(_this_1.$formatPath(path), '/');
_this_1.getFileList(_this_1.$getFilePath(path), type);
});
$('#bt_select').on('click', function () {
var path = _this_1.$formatPath($('#PathPlace').find('span').text());
if (type === 'file' && !$('#tbody tr.active').length) {
layer.msg('Select the file first!', { icon: 0 });
return false;
}
if ($('#tbody tr').hasClass('active')) path = $('#tbody tr.active .bt_open_dir').attr('path');
path = _this_1.$rtrim(path, '/');
el.val(path).trigger('input');
success && success(path);
layer.close(indexs);
});
$('.closeLayer').on('click', function () {
layer.close(indexs);
});
_this_1.getFileList(el.val() || '/www/wwwroot', type);
},
}).catch(function (err) {});
};
Public.prototype.getFileList = function (path, type) {
if (type === void 0) {
type = 'dir';
}
return __awaiter(this, void 0, void 0, function () {
var _this, diskHtml, fileHtml, dirHtml, rdata, fileList, dirList, diskList, i_1, item, i_2, item, unfoldList, dirName, i, item, unfoldList, fileName;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
(_this = this), (diskHtml = ''), (fileHtml = ''), (dirHtml = '');
return [4, this.$request('getFileDir', { path: path, disk: true })];
case 1:
rdata = _a.sent();
(fileList = rdata.FILES), (dirList = rdata.DIR), (diskList = rdata.DISK);
for (i_1 = 0; i_1 < diskList.length; i_1++) {
item = diskList[i_1];
diskHtml += '<dd class="bt_open_dir" path ="' + item.path + "\"><span class='glyphicon glyphicon-hdd'></span>&nbsp;" + item.path + '</dd>';
}
for (i_2 = 0; i_2 < dirList.length; i_2++) {
(item = dirList[i_2]), (unfoldList = item.split(';'));
dirName = unfoldList[0];
if (dirName.length > 20) dirName = dirName.substring(0, 20) + '...';
if (this.$checkChinese(dirName) && dirName.length > 10) dirName = dirName.substring(0, 10) + '...';
dirHtml +=
'<tr><td>' +
(type === 'all' || type === 'dir' ? '<input type="checkbox" />' : '') +
'</td><td class="bt_open_dir" path ="' +
rdata.PATH +
'/' +
unfoldList[0] +
'" data-type="dir" title=\'' +
unfoldList[0] +
"'><span class='glyphicon glyphicon-folder-open'></span><span>" +
dirName +
'</span></td><td>' +
this.$formatTime(parseInt(unfoldList[2])) +
'</td><td>' +
unfoldList[3] +
'</td><td>' +
unfoldList[4] +
'</td></tr>';
}
for (i = 0; i < fileList.length; i++) {
(item = fileList[i]), (unfoldList = item.split(';'));
fileName = unfoldList[0];
if (fileName.length > 20) fileName = fileName.substring(0, 20) + '...';
if (this.$checkChinese(fileName) && fileName.length > 10) fileName = fileName.substring(0, 10) + '...';
fileHtml +=
'<tr><td>' +
(type === 'all' || type === 'file' ? '<input type="checkbox" />' : '') +
'<td class="bt_open_dir" title=\'' +
unfoldList[0] +
'\' data-type="files" path ="' +
rdata.PATH +
'/' +
unfoldList[0] +
"\"><span class='glyphicon glyphicon-file'></span><span>" +
fileName +
'</span></td><td>' +
this.$formatTime(parseInt(unfoldList[2])) +
'</td><td>' +
unfoldList[3] +
'</td><td>' +
unfoldList[4] +
'</td></tr>';
}
$('#changecomlist').html(diskHtml);
$('.default').hide();
$('.file-list').show();
$('#tbody').html(dirHtml + fileHtml);
if (rdata.PATH.substr(rdata.PATH.length - 1, 1) != '/') {
rdata.PATH += '/';
}
$('#PathPlace').find('span').html(rdata.PATH);
$('#tbody tr').click(function () {
if ($(this).find('td:eq(0) input').length > 0) {
if ($(this).hasClass('active')) {
$(this).removeClass('active');
$(this).find('td:eq(0) input').prop('checked', false);
} else {
$(this).find('td:eq(0) input').prop('checked', true);
$(this).siblings().find('td:eq(0) input').prop('checked', false);
$(this).addClass('active').siblings().removeClass('active');
}
}
});
$('#changecomlist dd').click(function () {
_this.getFileList($(this).attr('path'), type);
});
$('.bt_open_dir span').click(function () {
if ($(this).parent().data('type') == 'dir') _this.getFileList($(this).parent().attr('path'), type);
});
return [2];
}
});
});
};
Public.prototype.setMessageChannelView = function (type, info) {
if (type === void 0) {
type = 0;
}
return __awaiter(this, void 0, void 0, function () {
var rdata, _a, setup, id, token, error_2;
var _this_1 = this;
return __generator(this, function (_b) {
switch (_b.label) {
case 0:
_b.trys.push([0, 3, , 4]);
return [4, this.$request('getMsgConfig')];
case 1:
rdata = _b.sent();
(_a = rdata.telegram), (setup = _a.setup), (id = _a.my_id), (token = _a.bot_token);
console.log(rdata);
console.log(rdata);
return [
4,
this.$open({
area: '600px',
title: 'Setting up notification',
skin: 'layer-channel-auth',
content: '<div class="bt-form">\n <div class="bt-w-main" style="height:460px">\n <div class="bt-w-menu">\n <p class="'
.concat(type === 0 ? 'bgw' : '', '">Email</p>\n <p class="')
.concat(type === 1 ? 'bgw' : '', '">DingDing</p>\n <p class="')
.concat(type === 2 ? 'bgw' : '', '">Feishu</p>\n <p class="')
.concat(
type === 3 ? 'bgw' : '',
'">Telegram</p>\n </div>\n <div class="bt-w-con" style="padding: 15px;">\n <div class="plugin_body">\n <div class="conter_box '
)
.concat(
type === 0 ? 'active' : 'hide',
'">\n <div class="bt-form">\n <div class="line">\n <button class="btn btn-success btn-sm addRecipient">Add recipient</button>\n <button class="btn btn-default btn-sm setMailMessageView">Sender settings</button>\n </div>\n <div class="line">\n <div class="divtable">\n <table id="receive_table" class="table table-hover" width="100%">\n <thead>\n <tr>\n <th>Email</th>\n <th width="80px">Operating</th>\n </tr>\n </thead>\n <tbody>\n <tr><td class="text-center" colspan="2">No Data</td></tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n </div>\n\t\t\t\t\t\t\t\t<div class="conter_box '
)
.concat(
type === 1 ? 'active' : 'hide',
'">\n\t\t\t\t\t\t\t\t\t<div class="bt-form">\n\t\t\t\t\t\t\t\t\t\t<div class="line">\n <span class="tname" style="width: 100px;">Name</span>\n <div class="info-r">\n <input name="chatName" class="bt-input-text mr5" type="text" placeholder="Robot name or remarks" style="width: 300px" value="'
)
.concat(
id,
'" />\n </div>\n </div>\n\t\t\t\t\t\t\t\t\t\t<div class="line">\n <span class="tname" style="width: 100px;">Url</span>\n <div class="info-r" style="line-height: 1;">\n <textarea name="dingding_url" class="bt-input-text mr5" placeholder="Please enter the DingDing robot url" style="width: 300px; height:120px; line-height:20px; resize: none;"></textarea>\n </div>\n </div>\n\t\t\t\t\t\t\t\t\t\t<div class="line">\n\t\t\t\t\t\t\t\t\t\t\t<span class="tname" style="width: 100px;"></span>\n\t\t\t\t\t\t\t\t\t\t\t<button class="btn btn-success btn-sm addDingDing">Save</button>\n\t\t\t\t\t\t\t\t\t\t\t'
)
.concat(
setup ? '<button class="btn btn-default ml5 btn-sm delDingDing">Clear set</button>' : '',
'\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class="conter_box '
)
.concat(
type === 2 ? 'active' : 'hide',
'">\n\t\t\t\t\t\t\t\t\t<div class="bt-form">\n\t\t\t\t\t\t\t\t\t\t<div class="line">\n <span class="tname" style="width: 100px;">Name</span>\n <div class="info-r">\n <input name="chatName" class="bt-input-text mr5" type="text" placeholder="Robot name or remarks" style="width: 300px" value="'
)
.concat(
id,
'">\n </div>\n </div>\n\t\t\t\t\t\t\t\t\t\t<div class="line">\n <span class="tname" style="width: 100px;">Url</span>\n <div class="info-r" style="line-height: 1;">\n <textarea name="feishu_url" class="bt-input-text mr5" placeholder="Please enter the Feishu robot url" style="width: 300px; height:120px; line-height:20px; resize: none;"></textarea>\n </div>\n </div>\n\t\t\t\t\t\t\t\t\t\t<div class="line">\n\t\t\t\t\t\t\t\t\t\t\t<span class="tname" style="width: 100px;"></span>\n\t\t\t\t\t\t\t\t\t\t\t<button class="btn btn-success btn-sm addFeishu">Save</button>\n\t\t\t\t\t\t\t\t\t\t\t'
)
.concat(
setup ? '<button class="btn btn-default ml5 btn-sm delFeishu">Clear set</button>' : '',
'\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n <div class="conter_box '
)
.concat(
type === 3 ? 'active' : 'hide',
'">\n <div class="bt-form">\n <div class="line">\n <span class="tname" style="width: 100px;">ID</span>\n <div class="info-r">\n <input name="telegram_id" class="bt-input-text mr5" type="text" placeholder="Telegram ID" style="width: 300px" value="'
)
.concat(
id,
'">\n </div>\n </div>\n <div class="line">\n <span class="tname" style="width: 100px;">TOKEN</span>\n <div class="info-r">\n <input name="telegram_token" class="bt-input-text mr5" type="text" placeholder="Telegram TOKEN" style="width: 300px" value="'
)
.concat(
token,
'">\n </div>\n <div class="line">\n <span class="tname" style="width: 100px;"></span>\n <button class="btn btn-success btn-sm addTelegram">Save</button>\n '
)
.concat(
setup ? '<button class="btn btn-default ml5 btn-sm delTelegram">Clear set</button>' : '',
'\n </div>\n </div>\n </div>\n <ul class="help-info-text c7" style="margin-top: 226px;">\n <li>ID: Your telegram user ID</li>\n <li>Token: Your telegram bot token</li>\n <li>e.g: [ 12345677:AAAAAAAAA_a0VUo2jjr__CCCCDDD ] <a class="btlink" href="https://www.yakpanel.com/forum/d/5115-how-to-add-telegram-to-panel-notifications" target="_blank" rel="noopener">Help</a></li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n </div>'
),
success: function ($layer) {
$('.bt-w-menu p').click(function () {
var index = $(this).index();
$(this).addClass('bgw').siblings().removeClass('bgw');
$('.conter_box').eq(index).removeClass('hide').siblings().addClass('hide');
});
$('.addRecipient').on('click', function () {
return _this_1.addMessageMail();
});
$('.setMailMessageView').on('click', function () {
return _this_1.setMailMessageView(info);
});
$('#receive_table').on('click', '.del_email', function (ev) {
return __awaiter(_this_1, void 0, void 0, function () {
var email, res, err_1;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
email = $(ev.target).data('mail');
_a.label = 1;
case 1:
_a.trys.push([1, 6, , 7]);
return [4, this.$confirm({ title: 'Delete Email ['.concat(email, ']'), msg: 'Are your sure to delete the Email?' })];
case 2:
_a.sent();
return [4, this.$request('delMailAddress', { email: email })];
case 3:
res = _a.sent();
if (!res.status) return [2];
return [4, this.$delay()];
case 4:
_a.sent();
return [4, this.renderMailMessageList()];
case 5:
_a.sent();
return [3, 7];
case 6:
err_1 = _a.sent();
return [3, 7];
case 7:
return [2];
}
});
});
});
$('.addTelegram').click(function () {
return __awaiter(_this_1, void 0, void 0, function () {
var id_1, token_1, res, err_2;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
_a.trys.push([0, 3, , 4]);
id_1 = $('input[name="telegram_id"]').val();
token_1 = $('input[name="telegram_token"]').val();
return [4, this.$verifySubmit(id_1 == '' || token_1 == '', 'input box cannot be empty!')];
case 1:
_a.sent();
return [4, this.$request('setTelegramConfig', { my_id: id_1, bot_token: token_1 })];
case 2:
res = _a.sent();
if (!res.status) return [2];
$('.addTelegram').after('<button class="btn btn-default ml5 btn-sm delTelegram">Clear set</button>');
this.setLinkText('.setMessageChannelTelegram', 'Telegram is set', 'btlink');
return [3, 4];
case 3:
err_2 = _a.sent();
return [3, 4];
case 4:
return [2];
}
});
});
});
$layer.on('click', '.delTelegram', function () {
return __awaiter(_this_1, void 0, void 0, function () {
var res, err_3;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
_a.trys.push([0, 3, , 4]);
return [4, this.$confirm({ title: 'Clear set', msg: 'Delete Clear Settings?' })];
case 1:
_a.sent();
return [4, this.$request('clearTelegramConfig')];
case 2:
res = _a.sent();
if (!res.status) return [2];
$('.delTelegram').remove();
$('input[name="telegram_id"]').val('');
$('input[name="telegram_token"]').val('');
this.setLinkText('.setMessageChannelTelegram', 'Telegram is not set', 'bt_warning');
return [3, 4];
case 3:
err_3 = _a.sent();
return [3, 4];
case 4:
return [2];
}
});
});
});
$('.addDingDing').click(function () {
return __awaiter(_this_1, void 0, void 0, function () {
var name_2, url, res, err_4;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
_a.trys.push([0, 3, , 4]);
name_2 = $('input[name=chatName]').val();
url = $('[name=dingding_url]').val();
return [4, this.$verifySubmit(name_2 == '' || url == '', 'input box cannot be empty!')];
case 1:
_a.sent();
return [4, this.$request('setDingDingConfig', { title: name_2, url: url, atall: 'True' })];
case 2:
res = _a.sent();
if (!res.status) return [2];
return [3, 4];
case 3:
err_4 = _a.sent();
return [3, 4];
case 4:
return [2];
}
});
});
});
_this_1.fixedTableHead('#receive_table', '356px');
_this_1.renderMailMessageList();
},
}),
];
case 2:
_b.sent();
return [3, 4];
case 3:
error_2 = _b.sent();
return [3, 4];
case 4:
return [2];
}
});
});
};
Public.prototype.setLinkText = function (el, text, type) {
var $el = $(el);
switch (type) {
case 'btlink':
$el.text(text).addClass('btlink').removeClass('bt_warning');
break;
case 'bt_warning':
$el.text(text).addClass('bt_warning').removeClass('btlink');
break;
}
};
Public.prototype.addMessageMail = function () {
return __awaiter(this, void 0, void 0, function () {
var error_3;
var _this_1 = this;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
_a.trys.push([0, 2, , 3]);
return [
4,
this.$open({
area: '400px',
title: 'Add recipient email',
btn: ['Create', 'Close'],
content:
'<div class="bt-form pd20">\n <div class="line">\n <span class="tname">Recipient mailbox</span>\n <div class="info-r">\n <input name="creater_email_value" class="bt-input-text mr5" type="text" style="width: 240px">\n </div>\n </div>\n </div>',
yes: function (config) {
return __awaiter(_this_1, void 0, void 0, function () {
var email, rdata;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
email = $('input[name=creater_email_value]').val();
return [
4,
this.$verifySubmitList([
[email === '', 'Recipient mailbox cannot be empty!'],
[!this.$checkEmail(email), 'Recipient mailbox format is incorrect!'],
]),
];
case 1:
_a.sent();
return [4, this.$request('addMailAddress', { email: email })];
case 2:
rdata = _a.sent();
if (!rdata.status) return [3, 5];
config.close();
return [4, this.$delay()];
case 3:
_a.sent();
return [4, this.renderMailMessageList()];
case 4:
_a.sent();
_a.label = 5;
case 5:
return [2];
}
});
});
},
}),
];
case 1:
_a.sent();
return [3, 3];
case 2:
error_3 = _a.sent();
return [3, 3];
case 3:
return [2];
}
});
});
};
Public.prototype.setMailMessageView = function (info) {
return __awaiter(this, void 0, void 0, function () {
var rdata, _a, qq_mail, qq_stmp_pwd, hosts, port, verifyPortList, err_5;
var _this_1 = this;
return __generator(this, function (_b) {
switch (_b.label) {
case 0:
_b.trys.push([0, 3, , 4]);
return [4, this.$request('getMsgConfig')];
case 1:
rdata = _b.sent();
(_a = rdata.user_mail.info.msg), (qq_mail = _a.qq_mail), (qq_stmp_pwd = _a.qq_stmp_pwd), (hosts = _a.hosts), (port = _a.port);
qq_mail = qq_mail || '';
qq_stmp_pwd = qq_stmp_pwd || '';
hosts = hosts || '';
port = port || '';
verifyPortList = ['25', '465', '587', ''];
return [
4,
this.$open({
title: 'Set sender email information',
area: '466px',
content:
'<div class="bt-form pd20 pb70">\n <div class="line">\n <span class="tname">Sender email</span>\n <div class="info-r"><input name="channel_email_value" class="bt-input-text mr5" type="text" style="width: 300px" value="'
.concat(
qq_mail || '',
'"></div>\n </div>\n <div class="line">\n <span class="tname">SMTP password</span>\n <div class="info-r"><input name="channel_email_password" class="bt-input-text mr5" type="password" style="width: 300px" value="'
)
.concat(
qq_stmp_pwd || '',
'"></div>\n </div>\n <div class="line">\n <span class="tname">SMTP server</span>\n <div class="info-r"><input name="channel_email_server" class="bt-input-text mr5" type="text" style="width: 300px" value="'
)
.concat(
hosts || '',
'"></div>\n </div>\n <div class="line">\n <span class="tname">SMTP port</span>\n <div class="info-r">\n <select class="bt-input-text mr5" id="port_select" style="width:'
)
.concat(verifyPortList.indexOf(port) > -1 ? '300px' : '100px', '">\n <option value="465" ')
.concat(port === '465' || port === '' ? 'selected' : '', '>465</option>\n <option value="25" ')
.concat(port === '25' ? 'selected' : '', '>25</option>\n <option value="587" ')
.concat(port === '587' ? 'selected' : '', '>587</option>\n <option value="other" ')
.concat(
verifyPortList.indexOf(port) > -1 ? '' : 'selected',
'>Customize</option>\n </select>\n <input name="channel_email_port" class="bt-input-text" type="Number" style="display:'
)
.concat(verifyPortList.indexOf(port) > -1 ? 'none' : 'inline-block', ';width: 192px" value="')
.concat(
port || '',
'">\n </div>\n </div>\n <ul class="help-info-text c7">\n <li>465 port is recommended, the protocol is SSL/TLS</li>\n <li>Port 25 is SMTP protocol, port 587 is STARTTLS protocol</li>\n </ul>\n <div class="bt-form-submit-btn">\n '
)
.concat(
qq_mail ? '<button type="button" class="btn btn-default btn-sm pull-left set_empty">Clear set</button>' : '',
'\n <button type="button" class="btn btn-danger btn-sm smtp_closeBtn">Close</button>\n <button class="btn btn-success btn-sm SetChannelEmail">Save</button>\n </div>\n </div>'
),
success: function (layers, indexs) {
return __awaiter(_this_1, void 0, void 0, function () {
var portSelect, mailPort;
var _this_1 = this;
return __generator(this, function (_a) {
portSelect = $('#port_select');
mailPort = $('input[name=channel_email_port]');
portSelect.change(function (ev) {
var that = $(ev.target),
mailPort = $('input[name=channel_email_port]');
that.css('width', ev.target.value === 'other' ? '100px' : '300px');
mailPort.css('display', ev.target.value === 'other' ? 'inline-block' : 'none');
});
$('.SetChannelEmail').click(function () {
return __awaiter(_this_1, void 0, void 0, function () {
var email, stmp_pwd, hosts, port, portSelectVal, rdata, text, type;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
email = $('input[name="channel_email_value"]').val();
stmp_pwd = $('input[name="channel_email_password"]').val();
hosts = $('input[name="channel_email_server"]').val();
(port = ''), (portSelectVal = portSelect.val());
port = portSelectVal === 'other' ? mailPort.val() : portSelectVal;
return [
4,
this.$verifySubmitList([
[!email, 'Email address cannot be empty!'],
[!stmp_pwd, 'STMP password cannot be empty!'],
[!hosts, 'STMP server address cannot be empty!'],
[!port, 'STMP server port cannot be empty!'],
[!this.$checkPort(port), 'STMP server port format is incorrect'],
]),
];
case 1:
_a.sent();
return [4, this.$request('setMailConfig', { email: email, stmp_pwd: stmp_pwd, hosts: hosts, port: port })];
case 2:
rdata = _a.sent();
if (!rdata.status) return [2];
layer.close(indexs);
info.isSetEmail = true;
text = info.mail ? 'Already set' : 'Not set';
type = info.mail ? 'btlink' : 'bt_warning';
this.setLinkText('.setMessageChannelMail', 'Email is set', 'btlink');
this.setLinkText('.setAlarmMail', text, type);
return [4, this.$delay()];
case 3:
_a.sent();
return [4, this.renderMailMessageList()];
case 4:
_a.sent();
return [2];
}
});
});
});
$('.smtp_closeBtn').click(function () {
layer.close(indexs);
});
$('.set_empty').click(function () {
return __awaiter(_this_1, void 0, void 0, function () {
var rdata;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
return [4, this.$request(['config/set_empty', 'notification, please wait...'], { type: 'mail' })];
case 1:
rdata = _a.sent();
if (!rdata.status) return [2];
layer.close(indexs);
info.isSetEmail = false;
this.setLinkText('.setMessageChannelMail', 'Email is not set', 'bt_warning');
this.setLinkText('.setAlarmMail', 'Email is not set', 'bt_warning');
return [2];
}
});
});
});
return [2];
});
});
},
}),
];
case 2:
_b.sent();
return [3, 4];
case 3:
err_5 = _b.sent();
return [3, 4];
case 4:
return [2];
}
});
});
};
Public.prototype.renderMailMessageList = function () {
return __awaiter(this, void 0, void 0, function () {
var rdata, _html, _list, i, item;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
return [4, this.$request('getMailList', { loading: true, msg: false })];
case 1:
rdata = _a.sent();
(_html = ''), (_list = rdata.user_mail.mail_list);
if (_list.length > 0) {
for (i = 0; i < _list.length; i++) {
item = _list[i];
_html += '<tr>\n <td>'
.concat(item, '</td>.\n <td width="80px" style="text-align:right;">\n <a class="btlink del_email red" data-mail="')
.concat(item, '" href="javascript:;">Del</a>\n </td>\n </tr>');
}
} else {
_html = '<tr><td class="text-center" colspan="2">No Data</td></tr>';
}
$('#receive_table tbody').html(_html);
return [2];
}
});
});
};
return Public;
})(utils_1.default);
exports.default = Public;
});