localize library cdn, remove approve button from transaction page, fix all fitur running datatable as well, fixing sortable datatable using new cdn, fix modal approve, add note to receiver mutations

This commit is contained in:
2025-06-16 15:01:08 +07:00
parent 9cfb566aee
commit 567e4aa5fc
45 changed files with 16202 additions and 365 deletions
+129
View File
@@ -0,0 +1,129 @@
/*! DataTables Bootstrap 4 integration
* ©2011-2017 SpryMedia Ltd - datatables.net/license
*/
!(function (t) {
var n, o;
"function" == typeof define && define.amd
? define(["jquery", "datatables.net"], function (e) {
return t(e, window, document);
})
: "object" == typeof exports
? ((n = require("jquery")),
(o = function (e, a) {
a.fn.dataTable || require("datatables.net")(e, a);
}),
"undefined" == typeof window
? (module.exports = function (e, a) {
return (
(e = e || window),
(a = a || n(e)),
o(e, a),
t(a, 0, e.document)
);
})
: (o(window, n),
(module.exports = t(n, window, window.document))))
: t(jQuery, window, document);
})(function (x, e, n, o) {
"use strict";
var r = x.fn.dataTable;
return (
x.extend(!0, r.defaults, {
dom: "<'row'<'col-sm-12 col-md-6'l><'col-sm-12 col-md-6'f>><'row'<'col-sm-12'tr>><'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7'p>>",
renderer: "bootstrap",
}),
x.extend(r.ext.classes, {
sWrapper: "dataTables_wrapper dt-bootstrap4",
sFilterInput: "form-control form-control-sm",
sLengthSelect:
"custom-select custom-select-sm form-control form-control-sm",
sProcessing: "dataTables_processing card",
sPageButton: "paginate_button page-item",
}),
(r.ext.renderer.pageButton.bootstrap = function (i, e, d, a, l, c) {
function u(e, a) {
for (
var t,
n,
o = function (e) {
e.preventDefault(),
x(e.currentTarget).hasClass("disabled") ||
m.page() == e.data.action ||
m.page(e.data.action).draw("page");
},
r = 0,
s = a.length;
r < s;
r++
)
if (((t = a[r]), Array.isArray(t))) u(e, t);
else {
switch (((f = p = ""), t)) {
case "ellipsis":
(p = "&#x2026;"), (f = "disabled");
break;
case "first":
(p = g.sFirst),
(f = t + (0 < l ? "" : " disabled"));
break;
case "previous":
(p = g.sPrevious),
(f = t + (0 < l ? "" : " disabled"));
break;
case "next":
(p = g.sNext),
(f = t + (l < c - 1 ? "" : " disabled"));
break;
case "last":
(p = g.sLast),
(f = t + (l < c - 1 ? "" : " disabled"));
break;
default:
(p = t + 1), (f = l === t ? "active" : "");
}
p &&
((n = -1 !== f.indexOf("disabled")),
(n = x("<li>", {
class: b.sPageButton + " " + f,
id:
0 === d && "string" == typeof t
? i.sTableId + "_" + t
: null,
})
.append(
x("<a>", {
href: n ? null : "#",
"aria-controls": i.sTableId,
"aria-disabled": n ? "true" : null,
"aria-label": w[t],
role: "link",
"aria-current":
"active" === f ? "page" : null,
"data-dt-idx": t,
tabindex: n ? -1 : i.iTabIndex,
class: "page-link",
}).html(p)
)
.appendTo(e)),
i.oApi._fnBindAction(n, { action: t }, o));
}
}
var p,
f,
t,
m = new r.Api(i),
b = i.oClasses,
g = i.oLanguage.oPaginate,
w = i.oLanguage.oAria.paginate || {};
try {
t = x(e).find(n.activeElement).data("dt-idx");
} catch (e) {}
u(x(e).empty().html('<ul class="pagination"/>').children("ul"), a),
t !== o &&
x(e)
.find("[data-dt-idx=" + t + "]")
.trigger("focus");
}),
r
);
});
+415
View File
@@ -0,0 +1,415 @@
/*! FixedColumns 4.2.2
* © SpryMedia Ltd - datatables.net/license
*/
!(function (e) {
var i, l;
"function" == typeof define && define.amd
? define(["jquery", "datatables.net"], function (t) {
return e(t, window, document);
})
: "object" == typeof exports
? ((i = require("jquery")),
(l = function (t, s) {
s.fn.dataTable || require("datatables.net")(t, s);
}),
"undefined" != typeof window
? (module.exports = function (t, s) {
return (
(t = t || window),
(s = s || i(t)),
l(t, s),
e(s, 0, t.document)
);
})
: (l(window, i),
(module.exports = e(i, window, window.document))))
: e(jQuery, window, document);
})(function (l, t, s, F) {
"use strict";
var A,
i,
e,
o,
r = l.fn.dataTable;
function d(t, s) {
var e = this;
if (i && i.versionCheck && i.versionCheck("1.10.0"))
return (
(t = new i.Api(t)),
(this.classes = A.extend(!0, {}, d.classes)),
(this.c = A.extend(!0, {}, d.defaults, s)),
(s && s.left !== F) ||
this.c.leftColumns === F ||
(this.c.left = this.c.leftColumns),
(s && s.right !== F) ||
this.c.rightColumns === F ||
(this.c.right = this.c.rightColumns),
(this.s = {
barWidth: 0,
dt: t,
rtl: "rtl" === A("body").css("direction"),
}),
(s = {
bottom: "0px",
display: "block",
position: "absolute",
width: this.s.barWidth + 1 + "px",
}),
(this.dom = {
leftBottomBlocker: A("<div>")
.css(s)
.css("left", 0)
.addClass(this.classes.leftBottomBlocker),
leftTopBlocker: A("<div>")
.css(s)
.css({ left: 0, top: 0 })
.addClass(this.classes.leftTopBlocker),
rightBottomBlocker: A("<div>")
.css(s)
.css("right", 0)
.addClass(this.classes.rightBottomBlocker),
rightTopBlocker: A("<div>")
.css(s)
.css({ right: 0, top: 0 })
.addClass(this.classes.rightTopBlocker),
}),
this.s.dt.settings()[0]._bInitComplete
? (this._addStyles(), this._setKeyTableListener())
: t.one("init.dt", function () {
e._addStyles(), e._setKeyTableListener();
}),
t.on("column-sizing.dt", function () {
return e._addStyles();
}),
(t.settings()[0]._fixedColumns = this)
);
throw new Error("StateRestore requires DataTables 1.10 or newer");
}
function h(t, s) {
void 0 === s && (s = null);
(t = new r.Api(t)),
(s = s || t.init().fixedColumns || r.defaults.fixedColumns);
new e(t, s);
}
return (
(d.prototype.left = function (t) {
return (
t !== F && ((this.c.left = t), this._addStyles()), this.c.left
);
}),
(d.prototype.right = function (t) {
return (
t !== F && ((this.c.right = t), this._addStyles()), this.c.right
);
}),
(d.prototype._addStyles = function () {
this.s.dt.settings()[0].oScroll.sY &&
((s = A(this.s.dt.table().node()).closest(
"div.dataTables_scrollBody"
)[0]),
(e = this.s.dt.settings()[0].oBrowser.barWidth),
s.offsetWidth - s.clientWidth >= e
? (this.s.barWidth = e)
: (this.s.barWidth = 0),
this.dom.rightTopBlocker.css("width", this.s.barWidth + 1),
this.dom.leftTopBlocker.css("width", this.s.barWidth + 1),
this.dom.rightBottomBlocker.css("width", this.s.barWidth + 1),
this.dom.leftBottomBlocker.css("width", this.s.barWidth + 1));
for (
var t = null,
s = this.s.dt.column(0).header(),
e = null,
i =
(null !== s &&
((e = (s = A(s)).outerHeight() + 1),
(t = A(s.closest("div.dataTables_scroll")).css(
"position",
"relative"
))),
this.s.dt.column(0).footer()),
l = null,
o =
(null !== i &&
((l = (i = A(i)).outerHeight()), null === t) &&
(t = A(i.closest("div.dataTables_scroll")).css(
"position",
"relative"
)),
this.s.dt.columns().data().toArray().length),
r = 0,
d = 0,
h = A(this.s.dt.table().node())
.children("tbody")
.children("tr"),
n = 0,
a = new Map(),
c = 0;
c < o;
c++
) {
var f = this.s.dt.column(c);
if ((0 < c && a.set(c - 1, n), f.visible())) {
var u = A(f.header()),
g = A(f.footer());
if (c - n < this.c.left) {
if (
(A(this.s.dt.table().node()).addClass(
this.classes.tableFixedLeft
),
t.addClass(this.classes.tableFixedLeft),
0 < c - n)
)
for (var C = c; C + 1 < o; ) {
if (
(y = this.s.dt.column(C - 1, {
page: "current",
})).visible()
) {
(r += A(y.nodes()[0]).outerWidth()),
(d +=
y.header() || y.footer()
? A(y.header()).outerWidth()
: 0);
break;
}
C--;
}
for (var m = 0, p = h; m < p.length; m++) {
var x = p[m];
A(A(x).children()[c - n])
.css(this._getCellCSS(!1, r, "left"))
.addClass(this.classes.fixedLeft);
}
u
.css(this._getCellCSS(!0, d, "left"))
.addClass(this.classes.fixedLeft),
g
.css(this._getCellCSS(!0, d, "left"))
.addClass(this.classes.fixedLeft);
} else {
for (var b = 0, v = h; b < v.length; b++) {
x = v[b];
(R = A(A(x).children()[c - n])).hasClass(
this.classes.fixedLeft
) &&
R.css(this._clearCellCSS("left")).removeClass(
this.classes.fixedLeft
);
}
u.hasClass(this.classes.fixedLeft) &&
u
.css(this._clearCellCSS("left"))
.removeClass(this.classes.fixedLeft),
g.hasClass(this.classes.fixedLeft) &&
g
.css(this._clearCellCSS("left"))
.removeClass(this.classes.fixedLeft);
}
} else n++;
}
for (var B = 0, S = 0, _ = 0, c = o - 1; 0 <= c; c--)
if ((f = this.s.dt.column(c)).visible()) {
var u = A(f.header()),
g = A(f.footer()),
k = a.get(c);
if ((k === F && (k = n), c + _ >= o - this.c.right)) {
if (
(A(this.s.dt.table().node()).addClass(
this.classes.tableFixedRight
),
t.addClass(this.classes.tableFixedRight),
c + 1 + _ < o)
)
for (var y, C = c; C + 1 < o; ) {
if (
(y = this.s.dt.column(C + 1, {
page: "current",
})).visible()
) {
(B += A(y.nodes()[0]).outerWidth()),
(S +=
y.header() || y.footer()
? A(y.header()).outerWidth()
: 0);
break;
}
C++;
}
for (var w = 0, T = h; w < T.length; w++) {
x = T[w];
A(A(x).children()[c - k])
.css(this._getCellCSS(!1, B, "right"))
.addClass(this.classes.fixedRight);
}
u
.css(this._getCellCSS(!0, S, "right"))
.addClass(this.classes.fixedRight),
g
.css(this._getCellCSS(!0, S, "right"))
.addClass(this.classes.fixedRight);
} else {
for (var L = 0, W = h; L < W.length; L++) {
var R,
x = W[L];
(R = A(A(x).children()[c - k])).hasClass(
this.classes.fixedRight
) &&
R.css(this._clearCellCSS("right")).removeClass(
this.classes.fixedRight
);
}
u.hasClass(this.classes.fixedRight) &&
u
.css(this._clearCellCSS("right"))
.removeClass(this.classes.fixedRight),
g.hasClass(this.classes.fixedRight) &&
g
.css(this._clearCellCSS("right"))
.removeClass(this.classes.fixedRight);
}
} else _++;
s &&
(this.s.rtl
? (this.dom.leftTopBlocker.outerHeight(e),
t.append(this.dom.leftTopBlocker))
: (this.dom.rightTopBlocker.outerHeight(e),
t.append(this.dom.rightTopBlocker))),
i &&
(this.s.rtl
? (this.dom.leftBottomBlocker.outerHeight(l),
t.append(this.dom.leftBottomBlocker))
: (this.dom.rightBottomBlocker.outerHeight(l),
t.append(this.dom.rightBottomBlocker)));
}),
(d.prototype._getCellCSS = function (t, s, e) {
return "left" === e
? this.s.rtl
? { position: "sticky", right: s + "px" }
: { left: s + "px", position: "sticky" }
: this.s.rtl
? {
left: s + (t ? this.s.barWidth : 0) + "px",
position: "sticky",
}
: {
position: "sticky",
right: s + (t ? this.s.barWidth : 0) + "px",
};
}),
(d.prototype._clearCellCSS = function (t) {
return "left" === t
? this.s.rtl
? { position: "", right: "" }
: { left: "", position: "" }
: this.s.rtl
? { left: "", position: "" }
: { position: "", right: "" };
}),
(d.prototype._setKeyTableListener = function () {
var h = this;
this.s.dt.on("key-focus", function (t, s, e) {
var i,
l,
o,
r = A(e.node()).offset(),
d = A(
A(h.s.dt.table().node()).closest(
"div.dataTables_scrollBody"
)
);
0 < h.c.left &&
((i = (l = A(
h.s.dt.column(h.c.left - 1).header()
)).offset()),
(l = l.outerWidth()),
r.left < i.left + l) &&
((o = d.scrollLeft()),
d.scrollLeft(o - (i.left + l - r.left))),
0 < h.c.right &&
((i = h.s.dt.columns().data().toArray().length),
(l = A(e.node()).outerWidth()),
(e = A(h.s.dt.column(i - h.c.right).header()).offset()),
r.left + l > e.left) &&
((o = d.scrollLeft()),
d.scrollLeft(o - (e.left - (r.left + l))));
}),
this.s.dt.on("draw", function () {
h._addStyles();
}),
this.s.dt.on("column-reorder", function () {
h._addStyles();
}),
this.s.dt.on("column-visibility", function (t, s, e, i, l) {
l &&
!s.bDestroying &&
setTimeout(function () {
h._addStyles();
}, 50);
});
}),
(d.version = "4.2.2"),
(d.classes = {
fixedLeft: "dtfc-fixed-left",
fixedRight: "dtfc-fixed-right",
leftBottomBlocker: "dtfc-left-bottom-blocker",
leftTopBlocker: "dtfc-left-top-blocker",
rightBottomBlocker: "dtfc-right-bottom-blocker",
rightTopBlocker: "dtfc-right-top-blocker",
tableFixedLeft: "dtfc-has-left",
tableFixedRight: "dtfc-has-right",
}),
(d.defaults = { i18n: { button: "FixedColumns" }, left: 1, right: 0 }),
(e = d),
(i = (A = l).fn.dataTable),
(l.fn.dataTable.FixedColumns = e),
(l.fn.DataTable.FixedColumns = e),
(o = r.Api.register)("fixedColumns()", function () {
return this;
}),
o("fixedColumns().left()", function (t) {
var s = this.context[0];
return t !== F
? (s._fixedColumns.left(t), this)
: s._fixedColumns.left();
}),
o("fixedColumns().right()", function (t) {
var s = this.context[0];
return t !== F
? (s._fixedColumns.right(t), this)
: s._fixedColumns.right();
}),
(r.ext.buttons.fixedColumns = {
action: function (t, s, e, i) {
l(e).attr("active")
? (l(e).removeAttr("active").removeClass("active"),
s.fixedColumns().left(0),
s.fixedColumns().right(0))
: (l(e).attr("active", "true").addClass("active"),
s.fixedColumns().left(i.config.left),
s.fixedColumns().right(i.config.right));
},
config: { left: 1, right: 0 },
init: function (t, s, e) {
t.settings()[0]._fixedColumns === F && h(t.settings(), e),
l(s).attr("active", "true").addClass("active"),
t
.button(s)
.text(
e.text ||
t.i18n(
"buttons.fixedColumns",
t.settings()[0]._fixedColumns.c.i18n.button
)
);
},
text: null,
}),
l(s).on("plugin-init.dt", function (t, s) {
"dt" !== t.namespace ||
(!s.oInit.fixedColumns && !r.defaults.fixedColumns) ||
s._fixedColumns ||
h(s, null);
}),
r
);
});
File diff suppressed because it is too large Load Diff
+239
View File
File diff suppressed because one or more lines are too long
+43
View File
@@ -0,0 +1,43 @@
/*!
* @kurkle/color v0.3.4
* https://github.com/kurkle/color#readme
* (c) 2024 Jukka Kurkela
* Released under the MIT License
*/
/*!
* Chart.js v4.5.0
* https://www.chartjs.org
* (c) 2025 Chart.js Contributors
* Released under the MIT License
*/
/*!
* chartjs-plugin-datalabels v2.2.0
* https://chartjs-plugin-datalabels.netlify.app
* (c) 2017-2022 chartjs-plugin-datalabels contributors
* Released under the MIT license
*/
/*!
* jQuery JavaScript Library v3.7.1
* https://jquery.com/
*
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license
* https://jquery.org/license
*
* Date: 2023-08-28T13:37Z
*/
/*! DataTables Bootstrap 4 integration
* ©2011-2017 SpryMedia Ltd - datatables.net/license
*/
/*! FixedColumns 4.3.0
* © SpryMedia Ltd - datatables.net/license
*/
/*! FixedColumns 4.3.0
* © SpryMedia Ltd - datatables.net/license
*/
File diff suppressed because one or more lines are too long
+14
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+4
View File
@@ -0,0 +1,4 @@
/*! DataTables Bootstrap 4 integration
* ©2011-2017 SpryMedia Ltd - datatables.net/license
*/
!function(t){var n,o;"function"==typeof define&&define.amd?define(["jquery","datatables.net"],function(e){return t(e,window,document)}):"object"==typeof exports?(n=require("jquery"),o=function(e,a){a.fn.dataTable||require("datatables.net")(e,a)},"undefined"==typeof window?module.exports=function(e,a){return e=e||window,a=a||n(e),o(e,a),t(a,0,e.document)}:(o(window,n),module.exports=t(n,window,window.document))):t(jQuery,window,document)}(function(x,e,n,o){"use strict";var r=x.fn.dataTable;return x.extend(!0,r.defaults,{dom:"<'row'<'col-sm-12 col-md-6'l><'col-sm-12 col-md-6'f>><'row'<'col-sm-12'tr>><'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7'p>>",renderer:"bootstrap"}),x.extend(r.ext.classes,{sWrapper:"dataTables_wrapper dt-bootstrap4",sFilterInput:"form-control form-control-sm",sLengthSelect:"custom-select custom-select-sm form-control form-control-sm",sProcessing:"dataTables_processing card",sPageButton:"paginate_button page-item"}),r.ext.renderer.pageButton.bootstrap=function(i,e,d,a,l,c){function u(e,a){for(var t,n,o=function(e){e.preventDefault(),x(e.currentTarget).hasClass("disabled")||m.page()==e.data.action||m.page(e.data.action).draw("page")},r=0,s=a.length;r<s;r++)if(t=a[r],Array.isArray(t))u(e,t);else{switch(f=p="",t){case"ellipsis":p="&#x2026;",f="disabled";break;case"first":p=g.sFirst,f=t+(0<l?"":" disabled");break;case"previous":p=g.sPrevious,f=t+(0<l?"":" disabled");break;case"next":p=g.sNext,f=t+(l<c-1?"":" disabled");break;case"last":p=g.sLast,f=t+(l<c-1?"":" disabled");break;default:p=t+1,f=l===t?"active":""}p&&(n=-1!==f.indexOf("disabled"),n=x("<li>",{class:b.sPageButton+" "+f,id:0===d&&"string"==typeof t?i.sTableId+"_"+t:null}).append(x("<a>",{href:n?null:"#","aria-controls":i.sTableId,"aria-disabled":n?"true":null,"aria-label":w[t],role:"link","aria-current":"active"===f?"page":null,"data-dt-idx":t,tabindex:n?-1:i.iTabIndex,class:"page-link"}).html(p)).appendTo(e),i.oApi._fnBindAction(n,{action:t},o))}}var p,f,t,m=new r.Api(i),b=i.oClasses,g=i.oLanguage.oPaginate,w=i.oLanguage.oAria.paginate||{};try{t=x(e).find(n.activeElement).data("dt-idx")}catch(e){}u(x(e).empty().html('<ul class="pagination"/>').children("ul"),a),t!==o&&x(e).find("[data-dt-idx="+t+"]").trigger("focus")},r});
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long