You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1954 lines
70 KiB
Plaintext
1954 lines
70 KiB
Plaintext
!function (e, t) { "object" == typeof exports && "object" == typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define([], t) : "object" == typeof exports ? exports.axios = t() : e.axios = t() }(this, function () { return function (e) { function t(r) { if (n[r]) return n[r].exports; var o = n[r] = { exports: {}, id: r, loaded: !1 }; return e[r].call(o.exports, o, o.exports, t), o.loaded = !0, o.exports } var n = {}; return t.m = e, t.c = n, t.p = "", t(0) }([function (e, t, n) { e.exports = n(1) }, function (e, t, n) { "use strict"; function r(e) { var t = new i(e), n = s(i.prototype.request, t); return o.extend(n, i.prototype, t), o.extend(n, t), n } var o = n(2), s = n(3), i = n(4), a = n(22), u = n(10), c = r(u); c.Axios = i, c.create = function (e) { return r(a(c.defaults, e)) }, c.Cancel = n(23), c.CancelToken = n(24), c.isCancel = n(9), c.all = function (e) { return Promise.all(e) }, c.spread = n(25), c.isAxiosError = n(26), e.exports = c, e.exports.default = c }, function (e, t, n) { "use strict"; function r(e) { return "[object Array]" === R.call(e) } function o(e) { return "undefined" == typeof e } function s(e) { return null !== e && !o(e) && null !== e.constructor && !o(e.constructor) && "function" == typeof e.constructor.isBuffer && e.constructor.isBuffer(e) } function i(e) { return "[object ArrayBuffer]" === R.call(e) } function a(e) { return "undefined" != typeof FormData && e instanceof FormData } function u(e) { var t; return t = "undefined" != typeof ArrayBuffer && ArrayBuffer.isView ? ArrayBuffer.isView(e) : e && e.buffer && e.buffer instanceof ArrayBuffer } function c(e) { return "string" == typeof e } function f(e) { return "number" == typeof e } function p(e) { return null !== e && "object" == typeof e } function d(e) { if ("[object Object]" !== R.call(e)) return !1; var t = Object.getPrototypeOf(e); return null === t || t === Object.prototype } function l(e) { return "[object Date]" === R.call(e) } function h(e) { return "[object File]" === R.call(e) } function m(e) { return "[object Blob]" === R.call(e) } function y(e) { return "[object Function]" === R.call(e) } function g(e) { return p(e) && y(e.pipe) } function v(e) { return "undefined" != typeof URLSearchParams && e instanceof URLSearchParams } function x(e) { return e.replace(/^\s*/, "").replace(/\s*$/, "") } function w() { return ("undefined" == typeof navigator || "ReactNative" !== navigator.product && "NativeScript" !== navigator.product && "NS" !== navigator.product) && ("undefined" != typeof window && "undefined" != typeof document) } function b(e, t) { if (null !== e && "undefined" != typeof e) if ("object" != typeof e && (e = [e]), r(e)) for (var n = 0, o = e.length; n < o; n++)t.call(null, e[n], n, e); else for (var s in e) Object.prototype.hasOwnProperty.call(e, s) && t.call(null, e[s], s, e) } function E() { function e(e, n) { d(t[n]) && d(e) ? t[n] = E(t[n], e) : d(e) ? t[n] = E({}, e) : r(e) ? t[n] = e.slice() : t[n] = e } for (var t = {}, n = 0, o = arguments.length; n < o; n++)b(arguments[n], e); return t } function j(e, t, n) { return b(t, function (t, r) { n && "function" == typeof t ? e[r] = S(t, n) : e[r] = t }), e } function C(e) { return 65279 === e.charCodeAt(0) && (e = e.slice(1)), e } var S = n(3), R = Object.prototype.toString; e.exports = { isArray: r, isArrayBuffer: i, isBuffer: s, isFormData: a, isArrayBufferView: u, isString: c, isNumber: f, isObject: p, isPlainObject: d, isUndefined: o, isDate: l, isFile: h, isBlob: m, isFunction: y, isStream: g, isURLSearchParams: v, isStandardBrowserEnv: w, forEach: b, merge: E, extend: j, trim: x, stripBOM: C } }, function (e, t) { "use strict"; e.exports = function (e, t) { return function () { for (var n = new Array(arguments.length), r = 0; r < n.length; r++)n[r] = arguments[r]; return e.apply(t, n) } } }, function (e, t, n) { "use strict"; function r(e) { this.defaults = e, this.interceptors = { request: new i, response: new i } } var o = n(2), s = n(5), i = n(6), a = n(7), u = n(22); r.prototype.request = function (e) { "string" == typeof e ? (e = arguments[1] || {}, e.url = arguments[0]) : e = e || {}, e = u(this.defaults, e), e.method ? e.method = e.method.toLowerCase() : this.defaults.method ? e.method = this.defaults.method.toLowerCase() : e.method = "get"; var t = [a, void 0], n = Promise.resolve(e); for (this.interceptors.request.forEach(function (e) { t.unshift(e.fulfilled, e.rejected) }), this.interceptors.response.forEach(function (e) { t.push(e.fulfilled, e.rejected) }); t.length;)n = n.then(t.shift(), t.shift()); return n }, r.prototype.getUri = function (e) { return e = u(this.defaults, e), s(e.url, e.params, e.paramsSerializer).replace(/^\?/, "") }, o.forEach(["delete", "get", "head", "options"], function (e) { r.prototype[e] = function (t, n) { return this.request(u(n || {}, { method: e, url: t, data: (n || {}).data })) } }), o.forEach(["post", "put", "patch"], function (e) { r.prototype[e] = function (t, n, r) { return this.request(u(r || {}, { method: e, url: t, data: n })) } }), e.exports = r }, function (e, t, n) { "use strict"; function r(e) { return encodeURIComponent(e).replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+").replace(/%5B/gi, "[").replace(/%5D/gi, "]") } var o = n(2); e.exports = function (e, t, n) { if (!t) return e; var s; if (n) s = n(t); else if (o.isURLSearchParams(t)) s = t.toString(); else { var i = []; o.forEach(t, function (e, t) { null !== e && "undefined" != typeof e && (o.isArray(e) ? t += "[]" : e = [e], o.forEach(e, function (e) { o.isDate(e) ? e = e.toISOString() : o.isObject(e) && (e = JSON.stringify(e)), i.push(r(t) + "=" + r(e)) })) }), s = i.join("&") } if (s) { var a = e.indexOf("#"); a !== -1 && (e = e.slice(0, a)), e += (e.indexOf("?") === -1 ? "?" : "&") + s } return e } }, function (e, t, n) { "use strict"; function r() { this.handlers = [] } var o = n(2); r.prototype.use = function (e, t) { return this.handlers.push({ fulfilled: e, rejected: t }), this.handlers.length - 1 }, r.prototype.eject = function (e) { this.handlers[e] && (this.handlers[e] = null) }, r.prototype.forEach = function (e) { o.forEach(this.handlers, function (t) { null !== t && e(t) }) }, e.exports = r }, function (e, t, n) { "use strict"; function r(e) { e.cancelToken && e.cancelToken.throwIfRequested() } var o = n(2), s = n(8), i = n(9), a = n(10); e.exports = function (e) { r(e), e.headers = e.headers || {}, e.data = s(e.data, e.headers, e.transformRequest), e.headers = o.merge(e.headers.common || {}, e.headers[e.method] || {}, e.headers), o.forEach(["delete", "get", "head", "post", "put", "patch", "common"], function (t) { delete e.headers[t] }); var t = e.adapter || a.adapter; return t(e).then(function (t) { return r(e), t.data = s(t.data, t.headers, e.transformResponse), t }, function (t) { return i(t) || (r(e), t && t.response && (t.response.data = s(t.response.data, t.response.headers, e.transformResponse))), Promise.reject(t) }) } }, function (e, t, n) { "use strict"; var r = n(2); e.exports = function (e, t, n) { return r.forEach(n, function (n) { e = n(e, t) }), e } }, function (e, t) { "use strict"; e.exports = function (e) { return !(!e || !e.__CANCEL__) } }, function (e, t, n) { "use strict"; function r(e, t) { !s.isUndefined(e) && s.isUndefined(e["Content-Type"]) && (e["Content-Type"] = t) } function o() { var e; return "undefined" != typeof XMLHttpRequest ? e = n(12) : "undefined" != typeof process && "[object process]" === Object.prototype.toString.call(process) && (e = n(12)), e } var s = n(2), i = n(11), a = { "Content-Type": "application/x-www-form-urlencoded" }, u = { adapter: o(), transformRequest: [function (e, t) { return i(t, "Accept"), i(t, "Content-Type"), s.isFormData(e) || s.isArrayBuffer(e) || s.isBuffer(e) || s.isStream(e) || s.isFile(e) || s.isBlob(e) ? e : s.isArrayBufferView(e) ? e.buffer : s.isURLSearchParams(e) ? (r(t, "application/x-www-form-urlencoded;charset=utf-8"), e.toString()) : s.isObject(e) ? (r(t, "application/json;charset=utf-8"), JSON.stringify(e)) : e }], transformResponse: [function (e) { if ("string" == typeof e) try { e = JSON.parse(e) } catch (e) { } return e }], timeout: 0, xsrfCookieName: "XSRF-TOKEN", xsrfHeaderName: "X-XSRF-TOKEN", maxContentLength: -1, maxBodyLength: -1, validateStatus: function (e) { return e >= 200 && e < 300 } }; u.headers = { common: { Accept: "application/json, text/plain, */*" } }, s.forEach(["delete", "get", "head"], function (e) { u.headers[e] = {} }), s.forEach(["post", "put", "patch"], function (e) { u.headers[e] = s.merge(a) }), e.exports = u }, function (e, t, n) { "use strict"; var r = n(2); e.exports = function (e, t) { r.forEach(e, function (n, r) { r !== t && r.toUpperCase() === t.toUpperCase() && (e[t] = n, delete e[r]) }) } }, function (e, t, n) { "use strict"; var r = n(2), o = n(13), s = n(16), i = n(5), a = n(17), u = n(20), c = n(21), f = n(14); e.exports = function (e) { return new Promise(function (t, n) { var p = e.data, d = e.headers; r.isFormData(p) && delete d["Content-Type"]; var l = new XMLHttpRequest; if (e.auth) { var h = e.auth.username || "", m = e.auth.password ? unescape(encodeURIComponent(e.auth.password)) : ""; d.Authorization = "Basic " + btoa(h + ":" + m) } var y = a(e.baseURL, e.url); if (l.open(e.method.toUpperCase(), i(y, e.params, e.paramsSerializer), !0), l.timeout = e.timeout, l.onreadystatechange = function () { if (l && 4 === l.readyState && (0 !== l.status || l.responseURL && 0 === l.responseURL.indexOf("file:"))) { var r = "getAllResponseHeaders" in l ? u(l.getAllResponseHeaders()) : null, s = e.responseType && "text" !== e.responseType ? l.response : l.responseText, i = { data: s, status: l.status, statusText: l.statusText, headers: r, config: e, request: l }; o(t, n, i), l = null } }, l.onabort = function () { l && (n(f("Request aborted", e, "ECONNABORTED", l)), l = null) }, l.onerror = function () { n(f("Network Error", e, null, l)), l = null }, l.ontimeout = function () { var t = "timeout of " + e.timeout + "ms exceeded"; e.timeoutErrorMessage && (t = e.timeoutErrorMessage), n(f(t, e, "ECONNABORTED", l)), l = null }, r.isStandardBrowserEnv()) { var g = (e.withCredentials || c(y)) && e.xsrfCookieName ? s.read(e.xsrfCookieName) : void 0; g && (d[e.xsrfHeaderName] = g) } if ("setRequestHeader" in l && r.forEach(d, function (e, t) { "undefined" == typeof p && "content-type" === t.toLowerCase() ? delete d[t] : l.setRequestHeader(t, e) }), r.isUndefined(e.withCredentials) || (l.withCredentials = !!e.withCredentials), e.responseType) try { l.responseType = e.responseType } catch (t) { if ("json" !== e.responseType) throw t } "function" == typeof e.onDownloadProgress && l.addEventListener("progress", e.onDownloadProgress), "function" == typeof e.onUploadProgress && l.upload && l.upload.addEventListener("progress", e.onUploadProgress), e.cancelToken && e.cancelToken.promise.then(function (e) { l && (l.abort(), n(e), l = null) }), p || (p = null), l.send(p) }) } }, function (e, t, n) { "use strict"; var r = n(14); e.exports = function (e, t, n) { var o = n.config.validateStatus; n.status && o && !o(n.status) ? t(r("Request failed with status code " + n.status, n.config, null, n.request, n)) : e(n) } }, function (e, t, n) { "use strict"; var r = n(15); e.exports = function (e, t, n, o, s) { var i = new Error(e); return r(i, t, n, o, s) } }, function (e, t) { "use strict"; e.exports = function (e, t, n, r, o) { return e.config = t, n && (e.code = n), e.request = r, e.response = o, e.isAxiosError = !0, e.toJSON = function () { return { message: this.message, name: this.name, description: this.description, number: this.number, fileName: this.fileName, lineNumber: this.lineNumber, columnNumber: this.columnNumber, stack: this.stack, config: this.config, code: this.code } }, e } }, function (e, t, n) { "use strict"; var r = n(2); e.exports = r.isStandardBrowserEnv() ? function () { return { write: function (e, t, n, o, s, i) { var a = []; a.push(e + "=" + encodeURIComponent(t)), r.isNumber(n) && a.push("expires=" + new Date(n).toGMTString()), r.isString(o) && a.push("path=" + o), r.isString(s) && a.push("domain=" + s), i === !0 && a.push("secure"), document.cookie = a.join("; ") }, read: function (e) { var t = document.cookie.match(new RegExp("(^|;\\s*)(" + e + ")=([^;]*)")); return t ? decodeURIComponent(t[3]) : null }, remove: function (e) { this.write(e, "", Date.now() - 864e5) } } }() : function () { return { write: function () { }, read: function () { return null }, remove: function () { } } }() }, function (e, t, n) { "use strict"; var r = n(18), o = n(19); e.exports = function (e, t) { return e && !r(t) ? o(e, t) : t } }, function (e, t) { "use strict"; e.exports = function (e) { return /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e) } }, function (e, t) { "use strict"; e.exports = function (e, t) { return t ? e.replace(/\/+$/, "") + "/" + t.replace(/^\/+/, "") : e } }, function (e, t, n) { "use strict"; var r = n(2), o = ["age", "authorization", "content-length", "content-type", "etag", "expires", "from", "host", "if-modified-since", "if-unmodified-since", "last-modified", "location", "max-forwards", "proxy-authorization", "referer", "retry-after", "user-agent"]; e.exports = function (e) { var t, n, s, i = {}; return e ? (r.forEach(e.split("\n"), function (e) { if (s = e.indexOf(":"), t = r.trim(e.substr(0, s)).toLowerCase(), n = r.trim(e.substr(s + 1)), t) { if (i[t] && o.indexOf(t) >= 0) return; "set-cookie" === t ? i[t] = (i[t] ? i[t] : []).concat([n]) : i[t] = i[t] ? i[t] + ", " + n : n } }), i) : i } }, function (e, t, n) { "use strict"; var r = n(2); e.exports = r.isStandardBrowserEnv() ? function () { function e(e) { var t = e; return n && (o.setAttribute("href", t), t = o.href), o.setAttribute("href", t), { href: o.href, protocol: o.protocol ? o.protocol.replace(/:$/, "") : "", host: o.host, search: o.search ? o.search.replace(/^\?/, "") : "", hash: o.hash ? o.hash.replace(/^#/, "") : "", hostname: o.hostname, port: o.port, pathname: "/" === o.pathname.charAt(0) ? o.pathname : "/" + o.pathname } } var t, n = /(msie|trident)/i.test(navigator.userAgent), o = document.createElement("a"); return t = e(window.location.href), function (n) { var o = r.isString(n) ? e(n) : n; return o.protocol === t.protocol && o.host === t.host } }() : function () { return function () { return !0 } }() }, function (e, t, n) { "use strict"; var r = n(2); e.exports = function (e, t) { function n(e, t) { return r.isPlainObject(e) && r.isPlainObject(t) ? r.merge(e, t) : r.isPlainObject(t) ? r.merge({}, t) : r.isArray(t) ? t.slice() : t } function o(o) { r.isUndefined(t[o]) ? r.isUndefined(e[o]) || (s[o] = n(void 0, e[o])) : s[o] = n(e[o], t[o]) } t = t || {}; var s = {}, i = ["url", "method", "data"], a = ["headers", "auth", "proxy", "params"], u = ["baseURL", "transformRequest", "transformResponse", "paramsSerializer", "timeout", "timeoutMessage", "withCredentials", "adapter", "responseType", "xsrfCookieName", "xsrfHeaderName", "onUploadProgress", "onDownloadProgress", "decompress", "maxContentLength", "maxBodyLength", "maxRedirects", "transport", "httpAgent", "httpsAgent", "cancelToken", "socketPath", "responseEncoding"], c = ["validateStatus"]; r.forEach(i, function (e) { r.isUndefined(t[e]) || (s[e] = n(void 0, t[e])) }), r.forEach(a, o), r.forEach(u, function (o) { r.isUndefined(t[o]) ? r.isUndefined(e[o]) || (s[o] = n(void 0, e[o])) : s[o] = n(void 0, t[o]) }), r.forEach(c, function (r) { r in t ? s[r] = n(e[r], t[r]) : r in e && (s[r] = n(void 0, e[r])) }); var f = i.concat(a).concat(u).concat(c), p = Object.keys(e).concat(Object.keys(t)).filter(function (e) { return f.indexOf(e) === -1 }); return r.forEach(p, o), s } }, function (e, t) { "use strict"; function n(e) { this.message = e } n.prototype.toString = function () { return "Cancel" + (this.message ? ": " + this.message : "") }, n.prototype.__CANCEL__ = !0, e.exports = n }, function (e, t, n) { "use strict"; function r(e) { if ("function" != typeof e) throw new TypeError("executor must be a function."); var t; this.promise = new Promise(function (e) { t = e }); var n = this; e(function (e) { n.reason || (n.reason = new o(e), t(n.reason)) }) } var o = n(23); r.prototype.throwIfRequested = function () { if (this.reason) throw this.reason }, r.source = function () { var e, t = new r(function (t) { e = t }); return { token: t, cancel: e } }, e.exports = r }, function (e, t) { "use strict"; e.exports = function (e) { return function (t) { return e.apply(null, t) } } }, function (e, t) { "use strict"; e.exports = function (e) { return "object" == typeof e && e.isAxiosError === !0 } }]) });
|
|
|
|
|
|
function delay(callback, ms) {
|
|
var timer = 0;
|
|
return function () {
|
|
var context = this, args = arguments;
|
|
clearTimeout(timer);
|
|
timer = setTimeout(function () {
|
|
callback.apply(context, args);
|
|
}, ms || 0);
|
|
};
|
|
}
|
|
|
|
= function(el) {
|
|
var obj = {}
|
|
if (typeof el == 'object') {
|
|
obj.el = el;
|
|
} else {
|
|
obj.el = document.createElement(el);
|
|
}
|
|
obj.ch = [];
|
|
obj.id = function (a) {
|
|
this.el.id = a;
|
|
globalThis[a] = {
|
|
parent: this.el,
|
|
el: globalThis.el(this.el),
|
|
child: function (a) {
|
|
return this.parent.appendChild(a.get())
|
|
}
|
|
}
|
|
return this;
|
|
}
|
|
obj.text = function (a) {
|
|
this.el.className += ' disable-selection ';
|
|
this.el.innerText = a;
|
|
return this;
|
|
}
|
|
obj.addModule = function (name, func){
|
|
this.el[name] = func;
|
|
return this;
|
|
}
|
|
obj.html = function (a) {
|
|
this.el.innerHTML = a;
|
|
return this;
|
|
}
|
|
obj.name = function (a) {
|
|
this.el.setAttribute('name', a);
|
|
return this;
|
|
}
|
|
obj.href = function (a) {
|
|
this.el.setAttribute('href', a);
|
|
return this;
|
|
}
|
|
obj.rel = function (a) {
|
|
this.el.setAttribute('rel', a);
|
|
return this;
|
|
}
|
|
obj.val = function (a) {
|
|
this.el.value = a;
|
|
return this;
|
|
}
|
|
obj.css = function (a, b) {
|
|
if (typeof a == "object") {
|
|
var ky = Object.keys(a);
|
|
ky.forEach(function (item) {
|
|
this.el.style[item] = a[item];
|
|
}, this)
|
|
return this;
|
|
} else {
|
|
this.el.style[a] = b;
|
|
return this;
|
|
}
|
|
}
|
|
obj.change = function (func) {
|
|
this.el.addEventListener('change', func, false);
|
|
return this;
|
|
}
|
|
obj.keydown = function (func) {
|
|
this.el.addEventListener('keydown', func, false);
|
|
return this;
|
|
}
|
|
obj.mouseover = function (func) {
|
|
this.el.addEventListener('mouseover', func, false);
|
|
return this;
|
|
}
|
|
obj.resize = function (func) {
|
|
var gopy = this;
|
|
window.addEventListener('resize', function (e) {
|
|
width = e.target.outerWidth;
|
|
height = e.target.outerHeight;
|
|
var elm = {
|
|
el: gopy.el,
|
|
width: width,
|
|
height: height
|
|
}
|
|
setTimeout(function () {
|
|
func(elm);
|
|
}, 100)
|
|
}, gopy)
|
|
return gopy;
|
|
}
|
|
obj.load = function (func) {
|
|
var gopy = this;
|
|
var width = window.outerWidth;
|
|
var height = window.outerHeight;
|
|
var elm = {
|
|
el: gopy.el,
|
|
width: width,
|
|
height: height
|
|
}
|
|
setTimeout(function () {
|
|
func(elm);
|
|
}, 100)
|
|
return gopy;
|
|
}
|
|
obj.mouseout = function (func) {
|
|
this.el.addEventListener('mouseout', func, false);
|
|
return this;
|
|
}
|
|
obj.keypress = function (func) {
|
|
this.el.addEventListener('keypress', func, false);
|
|
return this;
|
|
}
|
|
obj.click = function (func) {
|
|
this.el.addEventListener('click', func, false);
|
|
return this;
|
|
}
|
|
obj.submit = function (func) {
|
|
this.el.addEventListener('submit', function (e) {
|
|
el = e.path[0];
|
|
|
|
el = new FormData(el);
|
|
|
|
var object = {};
|
|
el.forEach(function (value, key) {
|
|
object[key] = value;
|
|
});
|
|
var json = object;
|
|
|
|
func(json)
|
|
|
|
e.preventDefault();
|
|
}, false);
|
|
return this;
|
|
}
|
|
obj.keyup = function (func) {
|
|
this.el.addEventListener('keyup', func, false);
|
|
return this;
|
|
}
|
|
obj.src = function (a) {
|
|
this.el.setAttribute('src', a);
|
|
return this;
|
|
}
|
|
obj.required = function (a) {
|
|
this.el.setAttribute('required', '');
|
|
return this;
|
|
}
|
|
obj.required = function (a) {
|
|
this.el.setAttribute('required', '');
|
|
return this;
|
|
}
|
|
obj.width = function (a) {
|
|
this.el.style.width = a;
|
|
return this;
|
|
}
|
|
obj.margin = function (a) {
|
|
this.el.style.margin = a;
|
|
return this;
|
|
}
|
|
obj.outline = function (a) {
|
|
this.el.style.outline = a;
|
|
return this;
|
|
}
|
|
obj.border = function (a) {
|
|
this.el.style.border = a;
|
|
return this;
|
|
}
|
|
obj.padding = function (a) {
|
|
this.el.style.padding = a;
|
|
return this;
|
|
}
|
|
obj.fixed = function () {
|
|
this.el.style.position = "fixed";
|
|
return this;
|
|
}
|
|
obj.radius = function (a) {
|
|
this.el.style.borderRadius = a;
|
|
return this;
|
|
}
|
|
obj.bottom = function (a) {
|
|
this.el.style.bottom = a;
|
|
return this;
|
|
}
|
|
obj.right = function (a) {
|
|
this.el.style.right = a;
|
|
return this;
|
|
}
|
|
obj.left = function (a) {
|
|
this.el.style.left = a;
|
|
return this;
|
|
}
|
|
obj.top = function (a) {
|
|
this.el.style.top = a;
|
|
return this;
|
|
}
|
|
obj.float = function (a) {
|
|
this.el.style.float = a;
|
|
return this;
|
|
}
|
|
obj.color = function (a) {
|
|
this.el.style.color = a;
|
|
return this;
|
|
}
|
|
obj.align = function (a) {
|
|
this.el.style.textAlign = a;
|
|
return this;
|
|
}
|
|
obj.size = function (a) {
|
|
this.el.style.fontSize = a;
|
|
return this;
|
|
}
|
|
obj.fontWeight = function (a) {
|
|
if (a == undefined) {
|
|
a = 'bold';
|
|
}
|
|
this.el.style.fontWeight = a;
|
|
return this;
|
|
}
|
|
obj.background = function (a) {
|
|
this.el.style.background = a;
|
|
return this;
|
|
}
|
|
obj.padding = function (a) {
|
|
this.el.style.padding = a;
|
|
return this;
|
|
}
|
|
obj.marginTop = function (a) {
|
|
this.el.style.marginTop = a;
|
|
return this;
|
|
}
|
|
obj.marginBottom = function (a) {
|
|
this.el.style.marginBottom = a;
|
|
return this;
|
|
}
|
|
obj.marginLeft = function (a) {
|
|
this.el.style.marginLeft = a;
|
|
return this;
|
|
}
|
|
obj.marginRight = function (a) {
|
|
this.el.style.marginRight = a;
|
|
return this;
|
|
}
|
|
obj.backgroundImage = function (a) {
|
|
this.el.style.backgroundImage = "url(" + a + ")";
|
|
return this;
|
|
}
|
|
obj.font = function (a) {
|
|
this.el.style.fontFamily = a;
|
|
return this;
|
|
}
|
|
obj.backgroundSize = function (a) {
|
|
this.el.style.backgroundSize = a;
|
|
return this;
|
|
}
|
|
obj.backgroundRepeat = function (a) {
|
|
this.el.style.backgroundRepeat = a;
|
|
return this;
|
|
}
|
|
obj.backgroundPosition = function (a) {
|
|
this.el.style.backgroundPosition = a;
|
|
return this;
|
|
}
|
|
obj.cursor = function (a) {
|
|
this.el.style.cursor = a;
|
|
return this;
|
|
}
|
|
obj.display = function (a) {
|
|
this.el.style.display = a;
|
|
return this;
|
|
}
|
|
obj.height = function (a) {
|
|
this.el.style.height = a;
|
|
return this;
|
|
}
|
|
obj.placeholder = function (a) {
|
|
this.el.setAttribute('placeholder', a);
|
|
return this;
|
|
}
|
|
obj.hold = function (a) {
|
|
this.el.setAttribute('placeholder', a);
|
|
return this;
|
|
}
|
|
obj.design = function () {
|
|
this.el.setAttribute('contenteditable', true);
|
|
return this;
|
|
}
|
|
obj.class = function (a) {
|
|
if (this.el.className != "") {
|
|
this.el.className += ' ' + a + ' ';
|
|
} else {
|
|
this.el.className += a;
|
|
}
|
|
return this;
|
|
}
|
|
obj.type = function (a) {
|
|
this.el.setAttribute("type", a);
|
|
return this;
|
|
}
|
|
obj.attr = function (a, d) {
|
|
this.el.setAttribute(a, d);
|
|
return this;
|
|
}
|
|
obj.data = function (a, d) {
|
|
this.el.setAttribute('data-' + a, d);
|
|
return this;
|
|
}
|
|
obj.aria = function (a, d) {
|
|
this.el.setAttribute('aria-' + a, d);
|
|
return this;
|
|
}
|
|
obj.get = function () {
|
|
if (this.ch.length != 0) {
|
|
this.ch.forEach(function (item) {
|
|
this.el.appendChild(item)
|
|
}, this)
|
|
return this.el;
|
|
} else {
|
|
return this.el;
|
|
}
|
|
}
|
|
|
|
obj.child = function (a) {
|
|
this.ch.push(a.get());
|
|
return this;
|
|
}
|
|
|
|
obj.roboto = function(){
|
|
this.el.style.fontFamily = 'Roboto';
|
|
return this;
|
|
}
|
|
|
|
|
|
obj.getChild = function (pop) {
|
|
return {
|
|
parent: this.get().children[pop],
|
|
el: globalThis.el(this.get().children[pop]),
|
|
child: function (a) {
|
|
return this.parent.appendChild(a.get())
|
|
}
|
|
}
|
|
}
|
|
|
|
obj.row = function (a) {
|
|
var d = div()
|
|
.class('row')
|
|
|
|
a.forEach(function (elm) {
|
|
d.child(
|
|
div().class(elm['class']).child(elm['content'])
|
|
)
|
|
}, d);
|
|
this.ch.push(d.get());
|
|
return this;
|
|
}
|
|
return obj;
|
|
}
|
|
|
|
globalThis.el = el;
|
|
|
|
function tanggal(a) {
|
|
var newDate = new Date();
|
|
if (a != undefined) {
|
|
if (a === "gugus") {
|
|
newDate = new Date(helper.sesiGet('tahun') + '-' + helper.sesiGet('bulan'));
|
|
} else {
|
|
newDate = new Date(a);
|
|
}
|
|
}
|
|
|
|
var namaBulan = ['Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', 'Juli', 'Agustus', 'September', 'Oktober', 'November', 'Desember'];
|
|
|
|
var namaHari = ['Minggu', 'Senin', 'Selasa', 'Rabu', 'Kamis', 'Jum`at', 'Sabtu'];
|
|
|
|
function buat(newDate) {
|
|
var year = newDate.getFullYear();
|
|
var month = (newDate.getMonth() + 1) + '';
|
|
var day = (newDate.getDate()) + '';
|
|
var format = '00';
|
|
var ansMonth = format.substring(0, format.length - month.length) + month;
|
|
var ansDay = format.substring(0, format.length - day.length) + day;
|
|
var dayKnow = ansDay + '-' + ansMonth + '-' + year;
|
|
if (a == null) {
|
|
return "";
|
|
} else {
|
|
return dayKnow;
|
|
}
|
|
}
|
|
|
|
function buatN(newDate) {
|
|
var year = newDate.getFullYear();
|
|
var month = newDate.getMonth();
|
|
var day = (newDate.getDate()) + '';
|
|
var format = '00';
|
|
var ansMonth = namaBulan[month];
|
|
var ansDay = format.substring(0, format.length - day.length) + day;
|
|
var dayKnow = ansDay + ' ' + ansMonth + ' ' + year;
|
|
if (a == null) {
|
|
return "";
|
|
} else {
|
|
return dayKnow;
|
|
}
|
|
}
|
|
|
|
function buatO(newDate) {
|
|
var year = newDate.getFullYear();
|
|
var month = (newDate.getMonth() + 1) + '';
|
|
var day = (newDate.getDate()) + '';
|
|
var format = '00';
|
|
var ansMonth = format.substring(0, format.length - month.length) + month;
|
|
var ansDay = format.substring(0, format.length - day.length) + day;
|
|
var dayKnow = year + '-' + ansMonth + '-' + ansDay;
|
|
return {
|
|
full: dayKnow,
|
|
day: newDate.getDay()
|
|
};
|
|
}
|
|
|
|
function buatNum(newDate) {
|
|
var year = newDate.getFullYear();
|
|
var month = (newDate.getMonth() + 1) + '';
|
|
var day = (newDate.getDate()) + '';
|
|
var format = '00';
|
|
var ansMonth = format.substring(0, format.length - month.length) + month;
|
|
var ansDay = format.substring(0, format.length - day.length) + day;
|
|
var dayKnow = year + ansMonth + ansDay;
|
|
return Number(dayKnow);
|
|
}
|
|
|
|
function buatC(newDate) {
|
|
var year = newDate.getFullYear();
|
|
var month = newDate.getMonth();
|
|
var day = newDate.getDate();
|
|
var dateK = new Date(year, month, day);
|
|
return dateK;
|
|
}
|
|
var date = new Date(),
|
|
y = date.getFullYear(),
|
|
m = date.getMonth();
|
|
var firstDay = new Date(newDate.getFullYear(), newDate.getMonth(), 1);
|
|
var lastDay = new Date(newDate.getFullYear(), newDate.getMonth() + 1, 0)
|
|
var returnData = {
|
|
oneDayMilisecond: 86400000,
|
|
milisecond: newDate.getTime(),
|
|
normal: buatO(newDate).full,
|
|
cek1: buatC(newDate),
|
|
sekarang: buat(newDate),
|
|
sekarang2: buatN(newDate),
|
|
cek2: buatC(firstDay),
|
|
normal2: buatO(firstDay).full,
|
|
awal: buat(firstDay),
|
|
awal2: buatN(firstDay),
|
|
akhir: buat(lastDay),
|
|
akhir2: buatN(lastDay),
|
|
cek3: buatC(lastDay),
|
|
normal3: buatO(lastDay).full,
|
|
angka: buatNum(newDate),
|
|
dayn: namaHari[buatO(newDate).day],
|
|
day: buatO(newDate).day,
|
|
day2n: namaHari[buatO(firstDay).day],
|
|
day2: buatO(firstDay).day,
|
|
day3n: namaHari[buatO(lastDay).day],
|
|
day3: buatO(lastDay).day
|
|
}
|
|
return returnData;
|
|
}
|
|
|
|
const a = function() {
|
|
return el('a')
|
|
}
|
|
|
|
const img = function() {
|
|
return el('img');
|
|
}
|
|
const label = function() {
|
|
return el('label')
|
|
}
|
|
const br = function() {
|
|
return el('BR')
|
|
}
|
|
|
|
const div = function() {
|
|
return el('div');
|
|
}
|
|
const p = function() {
|
|
return el('p');
|
|
}
|
|
const line = function() {
|
|
return el('hr')
|
|
.css("padding", "0")
|
|
.css("margin", "0")
|
|
}
|
|
const h1 = function() {
|
|
return el('h1').css("font-family", "baloo");
|
|
}
|
|
const h2 = function() {
|
|
return el('h2').css("fontFamily", "arima");
|
|
}
|
|
const h3 = function() {
|
|
return el('h3');
|
|
}
|
|
const h4 = function() {
|
|
return el('h4');
|
|
}
|
|
const h5 = function() {
|
|
return el('h5');
|
|
}
|
|
const h6 = function() {
|
|
return el('h6');
|
|
}
|
|
const input = function() {
|
|
return el('input');
|
|
}
|
|
const btn = function() {
|
|
return el('button');
|
|
}
|
|
const tabel = function() {
|
|
return el('TABLE');
|
|
}
|
|
const tr = function() {
|
|
return el('TR');
|
|
}
|
|
const nav = function() {
|
|
return el('nav');
|
|
}
|
|
const td = function() {
|
|
return el('TD');
|
|
}
|
|
const th = function() {
|
|
return el('TH');
|
|
}
|
|
const thead = function() {
|
|
return el('THEAD');
|
|
}
|
|
const tbody = function() {
|
|
return el('TBODY');
|
|
}
|
|
const form = function() {
|
|
return el('FORM');
|
|
}
|
|
const ul = function() {
|
|
return el('ul');
|
|
}
|
|
const li = function() {
|
|
return el('li');
|
|
}
|
|
const option = function() {
|
|
return el('option');
|
|
}
|
|
const textarea = function() {
|
|
return el('textarea');
|
|
}
|
|
|
|
// bootstrap element select
|
|
const btSelect = function(text, name, el, act) {
|
|
var a = select().name(name).class('form-control')
|
|
.id(name)
|
|
.child(
|
|
option().val('').text('pilih data')
|
|
)
|
|
if (act != undefined) {
|
|
Object.keys(act).forEach(function (eld) {
|
|
a[eld](act[eld]);
|
|
}, a)
|
|
}
|
|
if (el != undefined) {
|
|
el.forEach(function (item) {
|
|
a.child(
|
|
option().val(item.value).text(item.name)
|
|
)
|
|
}, a)
|
|
}
|
|
var b = div()
|
|
.class('form-group')
|
|
.child(
|
|
label().text(text)
|
|
)
|
|
.child(
|
|
a
|
|
)
|
|
return b;
|
|
}
|
|
|
|
const select = function() {
|
|
return el('select');
|
|
}
|
|
const span = function() {
|
|
return el('span');
|
|
}
|
|
const i = function() {
|
|
return el('i');
|
|
}
|
|
const video = function() {
|
|
return el('video');
|
|
}
|
|
const canvas = function() {
|
|
return el('canvas');
|
|
}
|
|
const icon = function(a) {
|
|
return i().class(a)
|
|
.css('cursor', 'pointer')
|
|
.css('fontSize', '30px')
|
|
.css('marginRight', '10px')
|
|
.css('marginLeft', '10px')
|
|
.css('transition', '0.5s')
|
|
}
|
|
|
|
const getElementById = function(a, func){
|
|
setTimeout(function() {
|
|
func(globalThis[a]);
|
|
},100)
|
|
}
|
|
|
|
const domp = function(a, ch) {
|
|
var domp = document.getElementById(a);
|
|
if (domp != null) {
|
|
var parent = domp.parentNode;
|
|
var newd = div().id(a).child(ch);
|
|
parent.replaceChild(newd.get(), domp);
|
|
} else {
|
|
domp.appendChild(ch.get());
|
|
}
|
|
}
|
|
|
|
const dompp = function(a, ch) {
|
|
var domp = a;
|
|
if (domp != null) {
|
|
var parent = domp.parentNode;
|
|
var newd = div().id(a).child(ch);
|
|
parent.replaceChild(newd.get(), domp);
|
|
} else {
|
|
domp.appendChild(ch.get());
|
|
}
|
|
}
|
|
|
|
const dom = function(a, ch) {
|
|
var domp = a;
|
|
domp.appendChild(ch.get());
|
|
}
|
|
|
|
const newStyle = function(ccs) {
|
|
var style = document.createElement('style');
|
|
style.type = 'text/css';
|
|
style.innerHTML = ccs;
|
|
document.head.appendChild(style);
|
|
}
|
|
|
|
const prop = function(name, child, value) {
|
|
if (value != undefined && child != undefined) {
|
|
globalThis[name][child] = value
|
|
} else {
|
|
if (value != undefined) {
|
|
return globalThis[name][child]
|
|
} else {
|
|
return globalThis[name]
|
|
}
|
|
}
|
|
}
|
|
|
|
const loadJs = function(url, callback) {
|
|
var script = document.createElement('script');
|
|
script.onload = function () {
|
|
callback()
|
|
};
|
|
script.src = url;
|
|
document.head.appendChild(script);
|
|
}
|
|
|
|
const headConf = function(callback) {
|
|
document.head.innerHTML += callback;
|
|
}
|
|
|
|
const perulangan = function(a, b, c) {
|
|
if (a != undefined && b != undefined && c != undefined) {
|
|
for (i = a; i < b; i++) {
|
|
c(i);
|
|
}
|
|
} else {
|
|
// do nothing
|
|
}
|
|
}
|
|
|
|
const loads = function(arr = [], success, errorf) {
|
|
function loadScript(url) {
|
|
return new Promise(function (resolve, reject) {
|
|
let script = document.createElement("script");
|
|
script.src = url;
|
|
script.async = false;
|
|
script.onload = function () {
|
|
resolve(url);
|
|
};
|
|
script.onerror = function () {
|
|
reject(url);
|
|
};
|
|
document.body.appendChild(script);
|
|
});
|
|
}
|
|
|
|
let scripts = arr;
|
|
|
|
// save all Promises as array
|
|
let promises = [];
|
|
scripts.forEach(function (url) {
|
|
promises.push(loadScript(url));
|
|
|
|
});
|
|
|
|
Promise.all(promises)
|
|
.then(function () {
|
|
success();
|
|
})
|
|
.catch(function (script) {
|
|
errorf(script)
|
|
});
|
|
}
|
|
|
|
const childes = function(el = null , err = []){
|
|
var e = el;
|
|
for (let x = 0; x < err.length; x++) {
|
|
if((err.length - 1)== x){
|
|
e = e.getChild(err[x])
|
|
}else{
|
|
e = e.getChild(err[x]).el;
|
|
}
|
|
}
|
|
return e;
|
|
}
|
|
|
|
class ControlTable {
|
|
constructor(a) {
|
|
this.table = a
|
|
this.dataRow = [];
|
|
}
|
|
|
|
ai(name) {
|
|
this.dataRow.push(` \`${name}\` INT(11) AUTO_INCREMENT PRIMARY KEY `)
|
|
}
|
|
|
|
char(name, length, def) {
|
|
this.dataRow.push(` \`${name}\` VARCHAR(${length}) NOT NULL DEFAULT '${def}' `)
|
|
}
|
|
|
|
text(name) {
|
|
this.dataRow.push(` \`${name}\` TEXT `)
|
|
}
|
|
|
|
longtext(name) {
|
|
this.dataRow.push(` \`${name}\` LONGTEXT `)
|
|
}
|
|
|
|
timecreate(name) {
|
|
this.dataRow.push(` \`${name}\` DATETIME NULL DEFAULT CURRENT_TIMESTAMP `)
|
|
}
|
|
|
|
timeupdate(name) {
|
|
this.dataRow.push(` \`${name}\` DATETIME NULL DEFAULT CURRENT_TIMESTAMP `)
|
|
}
|
|
|
|
cek() {
|
|
query(`SELECT * FROM \`${this.table}\``, function (a) {
|
|
console.log(a)
|
|
})
|
|
}
|
|
|
|
createTable(func) {
|
|
var createTable = `CREATE TABLE \`${this.table}\` (
|
|
${this.dataRow.join(", \n ")}
|
|
)
|
|
`;
|
|
query(createTable, function (a) {
|
|
func(a)
|
|
})
|
|
|
|
}
|
|
}
|
|
|
|
function compare( a, b ) {
|
|
if ( a.last_nom < b.last_nom ){
|
|
return -1;
|
|
}
|
|
if ( a.last_nom > b.last_nom ){
|
|
return 1;
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
Array.prototype.dinamicSort = function(property){
|
|
var sortOrder = 1;
|
|
if(property[0] === "-") {
|
|
sortOrder = -1;
|
|
property = property.substr(1);
|
|
}
|
|
return function (a,b) {
|
|
/* next line works with strings and numbers,
|
|
* and you may want to customize it to your needs
|
|
*/
|
|
var result = (a[property] < b[property]) ? -1 : (a[property] > b[property]) ? 1 : 0;
|
|
return result * sortOrder;
|
|
}
|
|
};
|
|
|
|
Number.prototype.pad = function(length) {
|
|
var s = this;
|
|
var number = s.valueOf()
|
|
var str = '' + number;
|
|
while (str.length < length) {
|
|
str = '0' + str;
|
|
}
|
|
return str;
|
|
}
|
|
|
|
Array.prototype.dinamicSortMultiple = function(){
|
|
/*
|
|
* save the arguments object as it will be overwritten
|
|
* note that arguments object is an array-like object
|
|
* consisting of the names of the properties to sort by
|
|
*/
|
|
var dynamicSort = function(property){
|
|
var sortOrder = 1;
|
|
if(property[0] === "-") {
|
|
sortOrder = -1;
|
|
property = property.substr(1);
|
|
}
|
|
return function (a,b) {
|
|
/* next line works with strings and numbers,
|
|
* and you may want to customize it to your needs
|
|
*/
|
|
var result = (a[property] < b[property]) ? -1 : (a[property] > b[property]) ? 1 : 0;
|
|
return result * sortOrder;
|
|
}
|
|
};
|
|
var props = arguments;
|
|
return function (obj1, obj2) {
|
|
var i = 0, result = 0, numberOfProperties = props.length;
|
|
/* try getting a different result from 0 (equal)
|
|
* as long as we have extra properties to compare
|
|
*/
|
|
while(result === 0 && i < numberOfProperties) {
|
|
result = dynamicSort(props[i])(obj1, obj2);
|
|
i++;
|
|
}
|
|
return result;
|
|
}
|
|
}
|
|
|
|
Array.prototype.sortArrayObjectAsc = function(param){
|
|
var arr = this;
|
|
var dinamicFunc = this.dinamicSort;
|
|
return arr.sort(dinamicFunc(param));
|
|
}
|
|
|
|
Array.prototype.sortArrayObjectMultiple = function(){
|
|
var arr = this;
|
|
var props = arguments;
|
|
var dynamicSortMultiple = this.dinamicSortMultiple;
|
|
return arr.sort(dynamicSortMultiple(...props));
|
|
}
|
|
|
|
Array.prototype.sortArrayObjectDesc = function(param){
|
|
var arr = this;
|
|
var dinamicFunc = this.dinamicSort;
|
|
return arr.sort(dinamicFunc('-'+param));
|
|
}
|
|
|
|
globalThis.ArrayNumberExample = [0,1,2,3,4,5,6,7,8,9];
|
|
|
|
Array.prototype.asc = function(param){
|
|
return this.sort();
|
|
}
|
|
|
|
Array.prototype.sum = function(){
|
|
function myFunc(total, num) {
|
|
return total + num;
|
|
}
|
|
if(this.length > 0){
|
|
return this.reduce(myFunc);
|
|
}else{
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
Array.prototype.desc = function(param){
|
|
return this.reverse();
|
|
}
|
|
|
|
globalThis.ArrayObjectExample = [
|
|
{Name: "Name", Surname: "Surname"},
|
|
{Name:"AAA", Surname:"ZZZ"},
|
|
{Name: "Name", Surname: "AAA"}
|
|
];
|
|
|
|
String.prototype.number = function(fn = false){
|
|
var s = this;
|
|
if(fn == 2){
|
|
s = s.replace(/\./g, ',');
|
|
}
|
|
s = s.replace(/[^,\d]/g, '');
|
|
if(s == null){
|
|
s = '0';
|
|
}
|
|
if(fn == false){
|
|
return Number(s.replace(/\./g,'').replace(/\,/g,'.'));
|
|
}else if(fn == true){
|
|
console.log(s);
|
|
return s.replace(/\./g,'');
|
|
}else if(fn == 2){
|
|
return Number(s.replace(/\,/g, '.'));
|
|
}else{
|
|
return Number(s.replace(/\./g,'').replace(/\,/g,'.'));
|
|
}
|
|
}
|
|
|
|
Array.prototype.count = function (a, val) {
|
|
var t = this
|
|
if(a != undefined && val != undefined){
|
|
return t.filter(function(dat,x){
|
|
if(dat[a] == val){
|
|
return dat;
|
|
}
|
|
}).length
|
|
}else{
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
Array.prototype.row = function (a, val) {
|
|
var t = this
|
|
if(a != undefined && val != undefined){
|
|
var g = t.filter(function(dat,x){
|
|
if(dat[a] == val){
|
|
return dat;
|
|
}
|
|
})
|
|
if(g.length > 0){
|
|
return g[0];
|
|
}else{
|
|
return g;
|
|
}
|
|
}else{
|
|
return t
|
|
}
|
|
}
|
|
|
|
Array.prototype.del = function (a, val) {
|
|
var t = this
|
|
if(a != undefined && val != undefined){
|
|
return t.filter(function(dat,x){
|
|
if(dat[a] != val){
|
|
return dat;
|
|
}
|
|
})
|
|
}else{
|
|
return t
|
|
}
|
|
}
|
|
|
|
String.prototype.currency = function(){
|
|
var s = this;
|
|
s = s.replace(/\,/g, '.');
|
|
if(s != ''){
|
|
s = this.formatRupiah();
|
|
}
|
|
return s;
|
|
}
|
|
|
|
String.prototype.lastDotToComa = function(){
|
|
var s = this;
|
|
var l = this.length - 1;
|
|
var sl = s.slice(0, l);
|
|
if(s[l] == '.'){
|
|
return sl+',';
|
|
}else{
|
|
return s+'';
|
|
}
|
|
}
|
|
|
|
window.ifnull = function(a, b){
|
|
if(a == null){
|
|
return b;
|
|
}else{
|
|
return a;
|
|
}
|
|
}
|
|
|
|
window.nullif = function(a, b){
|
|
if(a == b){
|
|
return null;
|
|
}else{
|
|
return a;
|
|
}
|
|
}
|
|
|
|
String.prototype.capitaize = function(){
|
|
var str = this;
|
|
return str.toLowerCase().replace(/(?:^|\s|["'([{])+\S/g, match => match.toUpperCase())
|
|
}
|
|
|
|
String.prototype.formatRupiah = function(){
|
|
var angka = this;
|
|
if(angka == null || angka == ''){
|
|
angka = 0;
|
|
angka = angka.toFixed(2).replace(/\./g, ',');
|
|
}
|
|
var negative = '';
|
|
if (angka[0] == '-') {
|
|
negative = '-';
|
|
}
|
|
var angka = angka.replace(/\./g, ',')
|
|
var prefix;
|
|
var number_string = angka.replace(/[^,\d]/g, '').toString(),
|
|
split = number_string.split(','),
|
|
sisa = split[0].length % 3,
|
|
rupiah = split[0].substr(0, sisa),
|
|
ribuan = split[0].substr(sisa).match(/\d{3}/gi);
|
|
|
|
// tambahkan titik jika yang di input sudah menjadi angka ribuan
|
|
if(ribuan){
|
|
var separator = sisa ? '.' : '';
|
|
rupiah += separator + ribuan.join('.');
|
|
}
|
|
|
|
rupiah = split[1] != undefined ? rupiah + ',' + split[1] : rupiah;
|
|
return prefix == undefined ? negative+rupiah : (rupiah ? '' + negative+rupiah : '');
|
|
}
|
|
|
|
Number.prototype.currency = function(a){
|
|
var s = this;
|
|
if(s == null){
|
|
s = 0;
|
|
}
|
|
var num = s.valueOf().toFixed(a).formatRupiah();
|
|
return num;
|
|
}
|
|
|
|
String.prototype.t2b = function(){
|
|
var string = JSON.stringify(this);
|
|
return string.split('').map(function (char) {
|
|
return char.charCodeAt(0).toString(2);
|
|
}).join('2');
|
|
}
|
|
|
|
String.prototype.b2t = function(){
|
|
var array = this.split("2");
|
|
var pop = array.map(code => String.fromCharCode(parseInt(code, 2))).join("");
|
|
return JSON.parse(pop);
|
|
}
|
|
|
|
String.prototype.left = function(number){
|
|
return this.substring(0,number);
|
|
}
|
|
|
|
Array.prototype.t2b = function(){
|
|
var string = JSON.stringify(this);
|
|
return string.split('').map(function (char) {
|
|
return char.charCodeAt(0).toString(2);
|
|
}).join('2');
|
|
}
|
|
|
|
Array.prototype.duplikasi = function(name){
|
|
var arr = this.sortArrayObjectAsc(name);
|
|
var cek = null;
|
|
var baru = [];
|
|
arr.forEach(function(d,i){
|
|
if(cek != d[name]){
|
|
baru.push(d);
|
|
cek = d[name];
|
|
}
|
|
})
|
|
return baru;
|
|
}
|
|
|
|
window.t2b = function(){
|
|
var string = this.toString();
|
|
return string.split('').map(function (char) {
|
|
return char.charCodeAt(0).toString(2);
|
|
}).join('2');
|
|
};
|
|
|
|
String.prototype.replaceAll = function (find, replace) {
|
|
var str = this;
|
|
return str.replace(new RegExp(find.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'), 'g'), replace);
|
|
};
|
|
|
|
Array.prototype.search = function(search = ''){
|
|
|
|
if(typeof search == 'number'){
|
|
search = search.toString().toLowerCase();
|
|
}else{
|
|
search = search.toLowerCase();
|
|
}
|
|
|
|
var data = this;
|
|
return data.filter(function(dat){
|
|
if(typeof dat == 'object'){
|
|
var f = Object.keys(dat);
|
|
var numcek = 0;
|
|
for(var t of f){
|
|
var g = dat[t];
|
|
if(g != null){
|
|
if(typeof g == 'number'){
|
|
g = g.toString().toLowerCase();
|
|
}else{
|
|
g = g.toLowerCase();
|
|
}
|
|
if(numcek == 0){
|
|
if(g.indexOf(search) != -1){
|
|
numcek = 1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if(numcek == 1){
|
|
return dat;
|
|
}
|
|
}else{
|
|
if(dat != null){
|
|
if(typeof dat == 'number'){
|
|
var dats = dat.toString().toLowerCase();
|
|
if(dats.indexOf(search) != -1){
|
|
return dat
|
|
}
|
|
}else{
|
|
if(dat.indexOf(search) != -1){
|
|
return dat
|
|
}
|
|
}
|
|
}
|
|
}
|
|
})
|
|
}
|
|
|
|
Array.prototype.cond = function(search = '', name = ''){
|
|
if(search != ''){
|
|
if(typeof search == 'number'){
|
|
search = search.toString().toLowerCase();
|
|
}else{
|
|
search = search.toLowerCase();
|
|
}
|
|
|
|
var data = this;
|
|
return data.filter(function(dat){
|
|
if(typeof dat == 'object'){
|
|
var g = dat[name];
|
|
var numcek = 0;
|
|
if(g != null){
|
|
if(typeof g == 'number'){
|
|
g = g.toString().toLowerCase();
|
|
}else{
|
|
g = g.toLowerCase();
|
|
}
|
|
if(numcek == 0){
|
|
if(g == search){
|
|
numcek = 1;
|
|
}
|
|
}
|
|
}
|
|
if(numcek == 1){
|
|
return dat;
|
|
}
|
|
}else{
|
|
if(dat != null){
|
|
if(typeof dat == 'number'){
|
|
var dats = dat.toString().toLowerCase();
|
|
if(dats == search){
|
|
return dat
|
|
}
|
|
}else{
|
|
if(dat.toLowerCase() == search){
|
|
return dat
|
|
}
|
|
}
|
|
}
|
|
}
|
|
})
|
|
}else{
|
|
return this;
|
|
}
|
|
}
|
|
|
|
globalThis.cronTab = function(action, tim){
|
|
var times = 3000;
|
|
if(tim != undefined){
|
|
if(typeof tim == 'number'){
|
|
times = tim;
|
|
}
|
|
}
|
|
var newIdCron = Date.now();
|
|
globalThis.cronIdSetUpNewSession = newIdCron;
|
|
setInterval(function(){
|
|
if(newIdCron == globalThis.cronIdSetUpNewSession){
|
|
if(action != undefined){
|
|
action()
|
|
}
|
|
}
|
|
},times)
|
|
}
|
|
|
|
|
|
globalThis.loadPlugins = function(path='', arr = [], func){
|
|
var pt = path;
|
|
var start = 0;
|
|
var length = arr.length - 1;
|
|
var dataScript = "";
|
|
(function loadas(){
|
|
fetch(path+'/'+arr[start]+'.js?v='+Date.now()).then(function(res){
|
|
return res.text();
|
|
})
|
|
.then(function(textScript){
|
|
dataScript += textScript+"\n";
|
|
if(start == length){
|
|
eval(dataScript);
|
|
if(func != undefined){
|
|
func();
|
|
}
|
|
}else{
|
|
start++;
|
|
loadas();
|
|
}
|
|
})
|
|
})();
|
|
}
|
|
|
|
globalThis.lE = function(name){
|
|
return globalThis[name];
|
|
}
|
|
|
|
globalThis.props = function(params = null, value = null){
|
|
if(params != null){
|
|
if(window.propertyWebsiteApp == undefined){
|
|
window.propertyWebsiteApp = {}
|
|
}
|
|
if(value != null){
|
|
window.propertyWebsiteApp[params] = value;
|
|
}else{
|
|
if(window.propertyWebsiteApp[params] != undefined){
|
|
return window.propertyWebsiteApp[params];
|
|
}else{
|
|
return null;
|
|
}
|
|
}
|
|
}else{
|
|
return null;
|
|
}
|
|
}
|
|
|
|
// proto element
|
|
|
|
|
|
window.localD = {
|
|
read : function(name){
|
|
if(localStorage.getItem('localdata') == undefined){
|
|
var dat = {}
|
|
localStorage.setItem('localdata', JSON.stringify(dat));
|
|
}
|
|
if( JSON.parse(localStorage.getItem('localdata'))[name] == undefined ){
|
|
return 0;
|
|
}else{
|
|
return JSON.parse(localStorage.getItem('localdata'))[name];
|
|
}
|
|
},
|
|
write: function(name, data){
|
|
if(localStorage.getItem('localdata') == undefined){
|
|
var dat = {}
|
|
localStorage.setItem('localdata', JSON.stringify(dat));
|
|
}
|
|
var y = JSON.parse(localStorage.getItem('localdata'));
|
|
y[name] = data;
|
|
localStorage.setItem('localdata', JSON.stringify(y))
|
|
}
|
|
}
|
|
|
|
Node.prototype.readonly = function(){
|
|
this.setAttribute('readonly','');
|
|
this.style.background = '#ddd';
|
|
}
|
|
|
|
Node.prototype.inputRupiah = function(){
|
|
this.addEventListener('keyup', function(){
|
|
if(this.value != ''){
|
|
this.value = this.value.lastDotToComa().number(true).currency();
|
|
}
|
|
}, false)
|
|
}
|
|
|
|
Node.prototype.uuid = function(){
|
|
function generateUUID() { // Public Domain/MIT
|
|
var d = new Date().getTime();//Timestamp
|
|
var d2 = ((typeof performance !== 'undefined') && performance.now && (performance.now()*1000)) || 0;//Time in microseconds since page-load or 0 if unsupported
|
|
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
|
|
var r = Math.random() * 16;//random number between 0 and 16
|
|
if(d > 0){//Use timestamp until depleted
|
|
r = (d + r)%16 | 0;
|
|
d = Math.floor(d/16);
|
|
} else {//Use microseconds since page-load if supported
|
|
r = (d2 + r)%16 | 0;
|
|
d2 = Math.floor(d2/16);
|
|
}
|
|
return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16);
|
|
});
|
|
}
|
|
this.value = generateUUID();
|
|
}
|
|
|
|
Node.prototype.uuidtime = function(aliase = ''){
|
|
this.value = aliase+Date.now();
|
|
}
|
|
|
|
globalThis.getform = function(id){
|
|
return document.querySelector('#form-get-app'+act.data.id+' #'+id);
|
|
}
|
|
|
|
globalThis.selectNode = function(a){
|
|
return document.querySelector(a);
|
|
}
|
|
|
|
globalThis.getNode = function(id){
|
|
return globalThis[id];
|
|
}
|
|
|
|
globalThis.Keys = function(a){
|
|
return Object.keys(a);
|
|
}
|
|
|
|
const calculator = {
|
|
run : function(id, height=30, output = null){
|
|
this.data = {}
|
|
this.data.newCalculator = document.getElementById(id)
|
|
|
|
this.data.idaction = 'api-cal'+Date.now();
|
|
|
|
globalThis[this.data.idaction] = function(a){
|
|
|
|
if(a.getAttribute('data-val') != undefined){
|
|
output(a.getAttribute('data-val'), a)
|
|
}else{
|
|
if(a.innerText != '.' && a.innerText != ''){
|
|
|
|
var val = Number(a.innerText);
|
|
if(output != null){
|
|
output(val, a)
|
|
}
|
|
}else{
|
|
if(output != null){
|
|
output(a.innerText, a)
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
this.data.newCalculator.innerHTML = `
|
|
<style>
|
|
.gg-math-plus,
|
|
.gg-math-plus::after {
|
|
display: block;
|
|
box-sizing: border-box;
|
|
background: currentColor;
|
|
border-radius: 10px
|
|
}
|
|
.gg-math-plus {
|
|
margin-top: -2px;
|
|
position: relative;
|
|
transform: scale(var(--ggs,1));
|
|
width: 16px;
|
|
height: 2px
|
|
}
|
|
.gg-math-plus::after {
|
|
content: "";
|
|
position: absolute;
|
|
width: 2px;
|
|
height: 16px;
|
|
top: -7px;
|
|
left: 7px
|
|
}
|
|
.gg-math-minus {
|
|
box-sizing: border-box;
|
|
position: relative;
|
|
display: block;
|
|
transform: scale(var(--ggs,1));
|
|
width: 16px;
|
|
height: 2px;
|
|
background: currentColor;
|
|
border-radius: 10px
|
|
}
|
|
</style>
|
|
<div style="display:grid;grid-template-columns: auto 60px">
|
|
<div style="
|
|
display:grid;
|
|
grid-template-columns:auto auto auto;
|
|
">
|
|
<div onclick="globalThis['${this.data.idaction}'](this)" style="
|
|
display: flex;
|
|
height: ${height}px;
|
|
cursor: pointer;
|
|
justify-content: center;
|
|
align-items:center;
|
|
border: 1px solid #ddd;
|
|
">1</div>
|
|
<div onclick="globalThis['${this.data.idaction}'](this)" style="
|
|
display: flex;
|
|
height: ${height}px;
|
|
cursor: pointer;
|
|
justify-content: center;
|
|
align-items:center;
|
|
border: 1px solid #ddd;
|
|
">2</div>
|
|
<div onclick="globalThis['${this.data.idaction}'](this)" style="
|
|
display: flex;
|
|
height: ${height}px;
|
|
cursor: pointer;
|
|
justify-content: center;
|
|
align-items:center;
|
|
border: 1px solid #ddd;
|
|
">3</div>
|
|
<div onclick="globalThis['${this.data.idaction}'](this)" style="
|
|
display: flex;
|
|
height: ${height}px;
|
|
cursor: pointer;
|
|
justify-content: center;
|
|
align-items:center;
|
|
border: 1px solid #ddd;
|
|
">4</div>
|
|
<div onclick="globalThis['${this.data.idaction}'](this)" style="
|
|
display: flex;
|
|
height: ${height}px;
|
|
cursor: pointer;
|
|
justify-content: center;
|
|
align-items:center;
|
|
border: 1px solid #ddd;
|
|
">5</div>
|
|
<div onclick="globalThis['${this.data.idaction}'](this)" style="
|
|
display: flex;
|
|
height: ${height}px;
|
|
cursor: pointer;
|
|
justify-content: center;
|
|
align-items:center;
|
|
border: 1px solid #ddd;
|
|
">6</div>
|
|
<div onclick="globalThis['${this.data.idaction}'](this)" style="
|
|
display: flex;
|
|
height: ${height}px;
|
|
cursor: pointer;
|
|
justify-content: center;
|
|
align-items:center;
|
|
border: 1px solid #ddd;
|
|
">7</div>
|
|
<div onclick="globalThis['${this.data.idaction}'](this)" style="
|
|
display: flex;
|
|
height: ${height}px;
|
|
cursor: pointer;
|
|
justify-content: center;
|
|
align-items:center;
|
|
border: 1px solid #ddd;
|
|
">8</div>
|
|
<div onclick="globalThis['${this.data.idaction}'](this)" style="
|
|
display: flex;
|
|
height: ${height}px;
|
|
cursor: pointer;
|
|
justify-content: center;
|
|
align-items:center;
|
|
border: 1px solid #ddd;
|
|
">9</div>
|
|
<div onclick="globalThis['${this.data.idaction}'](this)" style="
|
|
display: flex;
|
|
height: ${height}px;
|
|
cursor: pointer;
|
|
justify-content: center;
|
|
align-items:center;
|
|
border: 1px solid #ddd;
|
|
">0</div>
|
|
<div onclick="globalThis['${this.data.idaction}'](this)" style="
|
|
display: flex;
|
|
height: ${height}px;
|
|
cursor: pointer;
|
|
justify-content: center;
|
|
align-items:center;
|
|
border: 1px solid #ddd;
|
|
">.</div>
|
|
<div onclick="globalThis['${this.data.idaction}'](this)" style="
|
|
display: flex;
|
|
height: ${height}px;
|
|
cursor: pointer;
|
|
justify-content: center;
|
|
align-items:center;
|
|
border: 1px solid #ddd;
|
|
"></div>
|
|
</div>
|
|
<div style="
|
|
display:grid;
|
|
grid-template-columns: auto;
|
|
">
|
|
|
|
<div action-do-calc onclick="globalThis['${this.data.idaction}'](this)" style="
|
|
display: flex;
|
|
height: ${height}px;
|
|
cursor: pointer;
|
|
justify-content: center;
|
|
align-items:center;
|
|
border: 1px solid #ddd;
|
|
font-size: 12px;
|
|
" data-val="qty">
|
|
Qty
|
|
</div>
|
|
|
|
<div action-do-calc onclick="globalThis['${this.data.idaction}'](this)" style="
|
|
display: flex;
|
|
height: ${height}px;
|
|
cursor: pointer;
|
|
justify-content: center;
|
|
align-items:center;
|
|
border: 1px solid #ddd;
|
|
font-size: 12px;
|
|
" data-val="disc">
|
|
Disc
|
|
</div>
|
|
|
|
<div action-do-calc onclick="globalThis['${this.data.idaction}'](this)" style="
|
|
display: flex;
|
|
height: ${height}px;
|
|
cursor: pointer;
|
|
justify-content: center;
|
|
align-items:center;
|
|
border: 1px solid #ddd;
|
|
font-size: 12px;
|
|
" data-val="price">
|
|
Price
|
|
</div>
|
|
|
|
<div action-do-calc onclick="globalThis['${this.data.idaction}'](this)" style="
|
|
display: flex;
|
|
height: ${height}px;
|
|
cursor: pointer;
|
|
justify-content: center;
|
|
align-items:center;
|
|
border: 1px solid #ddd;
|
|
font-size: 12px;
|
|
" data-val="-">Del</div>
|
|
</div>
|
|
|
|
</div>
|
|
`;
|
|
|
|
}
|
|
}
|
|
|
|
const slicing = function(string, a = 1000){
|
|
var start = a;
|
|
var arrayBaru = [];
|
|
var total = Math.ceil(string.length / a);
|
|
for(var n = 0; n < total; n++){
|
|
var f = (n + 1) * start;
|
|
var x = n * start;
|
|
arrayBaru.push(string.substring(x,f));
|
|
}
|
|
return arrayBaru;
|
|
}
|
|
|
|
const upload = function(url = '/admin/upload', path = '', name = 'data.post' ,data = null, funcpro, funcres){
|
|
var rendr = data;
|
|
rendr = slicing(rendr, 215000);
|
|
var length = rendr.length;
|
|
var start = 0;
|
|
var itm = Date.now();
|
|
function uploadProsses(){
|
|
if (start < length) {
|
|
funcpro(Math.round(((start+1) / length) * 100)+'%');
|
|
$.ajax({
|
|
url: url,
|
|
method: 'POST',
|
|
dataType: 'text',
|
|
data: {
|
|
_token: $('meta[name=csrf-token]').attr('content'),
|
|
ok: rendr[start],
|
|
start: start,
|
|
end: length - 1,
|
|
path: path,
|
|
tipe: path + name,
|
|
enm: itm
|
|
},
|
|
success: function(e){
|
|
if(start == (length - 1)){
|
|
funcres(e);
|
|
}else{
|
|
start += 1;
|
|
uploadProsses();
|
|
}
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
uploadProsses()
|
|
|
|
}
|
|
|
|
const text2Binary = function( string) {
|
|
string = JSON.stringify(string);
|
|
return string.split('').map(function (char) {
|
|
return char.charCodeAt(0).toString(2);
|
|
}).join('2');
|
|
}
|
|
|
|
const binary2text = function(str = null)
|
|
{
|
|
var array = str.split("2");
|
|
var pop = array.map(code => String.fromCharCode(parseInt(code, 2))).join("");
|
|
return JSON.parse(pop);
|
|
}
|
|
|
|
String.prototype.replaceAll = function(search, replacement) {
|
|
var target = this;
|
|
return target.replace(new RegExp(search, 'g'), replacement);
|
|
};
|
|
|
|
const AuditDev = function(validasi = '', urlapp = '') {
|
|
return {
|
|
urlsave : "https://indowebs.my.id/admin/api/save",
|
|
getnew: "https://s-feed.com/simanis/api/regist",
|
|
token: "https://s-feed.com/simanis/api/getToken",
|
|
masterlink: "?key=master-api&value=",
|
|
data: {
|
|
regist: false,
|
|
table: "",
|
|
limit: "",
|
|
order: "",
|
|
select: " * ",
|
|
condition: "",
|
|
setCreate: 0,
|
|
leftJoin: "",
|
|
saveset: 0,
|
|
updatedata: null,
|
|
obj: null
|
|
},
|
|
table: function(a){
|
|
this.data.table = a;
|
|
return this;
|
|
},
|
|
group: function(arr = []){
|
|
this.data.groupby = arr;
|
|
return this;
|
|
},
|
|
regist: function(){
|
|
this.data.regist = true;
|
|
return this;
|
|
},
|
|
condition : function(a = []){
|
|
var sp = " WHERE ";
|
|
sp += a.map(function(x,i){
|
|
return ` ${x.opsi} ${x.data[0]} ${x.data[1]} ${x.data[2]} `;
|
|
}).join(" ")
|
|
this.data.condition = sp;
|
|
return this;
|
|
},
|
|
like : function(a = []){
|
|
var sp = " ";
|
|
if (this.data.condition != "") {
|
|
sp = "";
|
|
}else{
|
|
sp = " WHERE ";
|
|
}
|
|
sp += a.map(function(x,i){
|
|
return ` ${x.opsi} ${x.data[0]} ${x.data[1]} ${x.data[2]} `;
|
|
}).join(" ")
|
|
if (this.data.condition != "") {
|
|
this.data.condition += ' AND ('+sp+')';
|
|
}else{
|
|
this.data.condition += sp;
|
|
}
|
|
return this;
|
|
},
|
|
select: function(a){
|
|
this.data.select = a;
|
|
return this;
|
|
},
|
|
delete: function() {
|
|
var up = " DELETE FROM "+this.data.table+" ";
|
|
up += this.data.condition;
|
|
this.data.updatedata = up;
|
|
return this;
|
|
},
|
|
update: function(a = {}){
|
|
function escapeHtml(text) {
|
|
return text
|
|
.replace(/&/g, "&")
|
|
.replace(/</g, "<")
|
|
.replace(/>/g, ">")
|
|
.replace(/'/g, "'");
|
|
}
|
|
var up = " UPDATE "+this.data.table+" SET ";
|
|
up += Object.keys(a).map(function(x, s){
|
|
return ` ${x} = '${a[x]}' `;
|
|
}).join(",")
|
|
up += this.data.condition;
|
|
this.data.updatedata = up;
|
|
return this;
|
|
},
|
|
leftJoin: function(a = []){
|
|
this.data.leftJoin = '';
|
|
var pp = this;
|
|
a.forEach(function(y,i){
|
|
pp.data.leftJoin += " LEFT JOIN "+y[0]+" ON "+y[1]+" "+y[2]+" "+y[3]+" ";
|
|
})
|
|
return this;
|
|
},
|
|
order: function(a,b = "DESC"){
|
|
this.data.order = ` ORDER BY ${a} ${b} `;
|
|
return this;
|
|
},
|
|
limit: function(a, b){
|
|
this.data.limit = ` LIMIT ${a}, ${b} `;
|
|
return this;
|
|
},
|
|
save: function(obj = {}){
|
|
|
|
function escapeHtml(text) {
|
|
return text
|
|
.replace(/&/g, "&")
|
|
.replace(/</g, "<")
|
|
.replace(/>/g, ">")
|
|
.replace(/'/g, "'");
|
|
}
|
|
this.data.obj = obj;
|
|
var dat = Object.keys(obj);
|
|
var dd = dat.map(function(x,c){
|
|
return '\''+obj[x]+'\'';
|
|
}).join(",");
|
|
|
|
this.data.saveset = 1;
|
|
this.data.save = `INSERT INTO ${this.data.table} (${dat.join(",")}) VALUES (${dd}) `;
|
|
return this;
|
|
}
|
|
,createTable: function(a = {}){
|
|
this.data.setCreate = 1;
|
|
this.data.createTable = "CREATE TABLE "+this.data.table+" (";
|
|
this.data.createTable += " id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY, ";
|
|
var pp = this;
|
|
Object.keys(a).forEach(function(x, i){
|
|
if(i == (Object.keys(a).length - 1)){
|
|
pp.data.createTable += " "+x+" "+a[x]+" ";
|
|
}else{
|
|
pp.data.createTable += " "+x+" "+a[x]+" , ";
|
|
}
|
|
})
|
|
this.data.createTable += " ) ";
|
|
return this;
|
|
},
|
|
text2Binary : function( string) {
|
|
return string.split('').map(function (char) {
|
|
return char.charCodeAt(0).toString(2);
|
|
}).join('2');
|
|
},
|
|
nextIncrement : function(){
|
|
this.data.nextIncrement = `SELECT auto_increment AS increment FROM INFORMATION_SCHEMA.TABLES WHERE table_name = '${this.data.table}'`;
|
|
return this;
|
|
},
|
|
master: function(data, func, unsafe = 0){
|
|
if(unsafe == 0){
|
|
var loco = this;
|
|
xdb('epost',['dataMaster'] ,7, function(s){
|
|
s.read('dataMaster', 'master', function(s){
|
|
if (s != null) {
|
|
$.ajax({
|
|
url: loco.masterlink+'/'+loco.text2Binary(JSON.stringify(data)),
|
|
success:function(res){
|
|
res = JSON.parse(res)
|
|
globalThis.dataMaster = res;
|
|
setTimeout(function(){
|
|
func()
|
|
})
|
|
xdb('epostadmin',['dataMaster'] ,7, function(s){
|
|
s.add('dataMaster',{id: 'master', data: res})
|
|
});
|
|
|
|
},
|
|
error: function (xhr, ajaxOptions, thrownError) {
|
|
console.log(xhr.status);
|
|
console.log(thrownError);
|
|
}
|
|
})
|
|
}else{
|
|
$.ajax({
|
|
url: loco.masterlink+'/'+loco.text2Binary(JSON.stringify(data)),
|
|
success:function(res){
|
|
res = JSON.parse(res)
|
|
globalThis.dataMaster = res;
|
|
func()
|
|
xdb('epostadmin',['dataMaster'] ,7, function(s){
|
|
s.add('dataMaster',{id: 'master', data: res})
|
|
});
|
|
|
|
},
|
|
error: function (xhr, ajaxOptions, thrownError) {
|
|
console.log(xhr.status);
|
|
console.log(thrownError);
|
|
}
|
|
})
|
|
}
|
|
})
|
|
});
|
|
}else{
|
|
var loco = this;
|
|
$.ajax({
|
|
url: loco.masterlink+'/'+loco.text2Binary(JSON.stringify(data)),
|
|
success:function(res){
|
|
res = JSON.parse(res);
|
|
func()
|
|
globalThis.dataMaster = res;
|
|
},
|
|
error: function (xhr, ajaxOptions, thrownError) {
|
|
console.log(xhr.status);
|
|
console.log(thrownError);
|
|
}
|
|
})
|
|
}
|
|
}
|
|
,getToken: function(a){
|
|
$.ajax({
|
|
url: this.token+'/'+this.text2Binary(JSON.stringify(a)),
|
|
success:function(res){
|
|
if(res.includes('nodata')){
|
|
alert('maaf user tidak terdaftar')
|
|
}else{
|
|
res = JSON.parse(res);
|
|
localStorage.setItem('loginCond', res.token);
|
|
location.href = "#/";
|
|
}
|
|
},
|
|
error: function (xhr, ajaxOptions, thrownError) {
|
|
console.log(xhr.status);
|
|
console.log(thrownError);
|
|
}
|
|
})
|
|
return this;
|
|
},
|
|
get: function(func, qr = null){
|
|
var ck = this;
|
|
var query = "";
|
|
var nTable = this.data.table;
|
|
var groupby = '';
|
|
if(this.data.groupby != undefined){
|
|
if(this.data.groupby.length > 0){
|
|
groupby = " GROUP BY "+this.data.groupby.join(",");
|
|
}
|
|
}
|
|
query = ` SELECT ${this.data.select} FROM (SELECT * FROM ${nTable} ${groupby} ) a ${this.data.leftJoin} ${this.data.condition} ${this.data.order} ${this.data.limit} `;
|
|
if(qr != null){
|
|
query = qr.replace(/\n/g, ' ');
|
|
}
|
|
if(this.data.setCreate == 1){
|
|
query = this.data.createTable;
|
|
}
|
|
if(this.data.saveset == 1){
|
|
query = this.data.save;
|
|
}
|
|
|
|
if(this.data.updatedata != null){
|
|
query = this.data.updatedata;
|
|
}
|
|
|
|
if(this.data.nextIncrement != null){
|
|
query = this.data.nextIncrement;
|
|
}
|
|
|
|
if (query.indexOf("SELECT") != -1) {
|
|
upload('{api}'+validasi, '', 'qr.data', btoa(query), (a)=>{}, (b)=>{
|
|
var res = JSON.parse(b);
|
|
func(res.data, res.count, ck)
|
|
});
|
|
}else{
|
|
upload('{api}'+validasi, '', 'qr.data', btoa(query), (a)=>{}, (b)=>{
|
|
var res = b;
|
|
if(res.includes('simpan')){
|
|
func('disimpan', ck)
|
|
}else{
|
|
res = JSON.parse(res)
|
|
func(res.data, res.count, ck)
|
|
}
|
|
});
|
|
}
|
|
return this;
|
|
}
|
|
}
|
|
}
|
|
|
|
const AuditDevQuery = function(validasi, a, func) {
|
|
AuditDev(validasi).get(func, a);
|
|
}
|
|
|
|
const multiInsert = function(table = ''){
|
|
return {
|
|
data: {
|
|
table: table
|
|
},
|
|
save: function(obj = {}){
|
|
|
|
function escapeHtml(text) {
|
|
return text
|
|
.replace(/&/g, "&")
|
|
.replace(/</g, "<")
|
|
.replace(/>/g, ">")
|
|
.replace(/'/g, "'");
|
|
}
|
|
this.data.obj = obj;
|
|
var dat = Object.keys(obj);
|
|
var dd = dat.map(function(x,c){
|
|
if(obj[x] == null){
|
|
return 'null';
|
|
}else{
|
|
return '\''+obj[x]+'\'';
|
|
}
|
|
}).join(",");
|
|
|
|
this.data.saveset = 1;
|
|
return `INSERT INTO \`${this.data.table}\` ( \`${dat.join("\`,\`")}\`) VALUES (${dd}) `;
|
|
},
|
|
get: function(arrayObject = []){
|
|
var qr = [];
|
|
for(obj of arrayObject){
|
|
qr.push(this.save(obj));
|
|
}
|
|
return qr;
|
|
}
|
|
}
|
|
}
|
|
|
|
const dbread = function(params, func){
|
|
xdb('kcp-error-cek', ['errorkcp'], 8, function (s) {
|
|
log(s)
|
|
s.read('errorkcp', params, function (s) {
|
|
if(s != undefined){
|
|
func(s.data);
|
|
}else{
|
|
func(null);
|
|
}
|
|
})
|
|
})
|
|
}
|
|
|
|
const dbwrite = function(params, data){
|
|
xdb('kcp-error-cek', ['errorkcp'], 8, function (s) {
|
|
s.add('errorkcp', { id: params, data: data })
|
|
});
|
|
}
|