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

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
);
});

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
);
});

5690
public/js/cdn/jquery.dataTables.min.js vendored Normal file

File diff suppressed because it is too large Load Diff

239
public/js/vendor.js Normal file

File diff suppressed because one or more lines are too long

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
*/

1
public/js/vendor.js.map Normal file

File diff suppressed because one or more lines are too long

14
public/js/vendor/chart.umd.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

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

5
public/js/vendor/sweetalert2.min.js vendored Normal file

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