@compill/admin 1.0.93 → 1.0.94
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.cjs.js +311 -473
- package/index.esm.js +246 -400
- package/package.json +1 -1
package/index.cjs.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
3
|
var tslib = require('tslib');
|
|
6
4
|
var jsxRuntime = require('@soperio/jsx-runtime');
|
|
7
5
|
var api = require('@compill/api');
|
|
@@ -28,12 +26,6 @@ var reactQuery = require('@tanstack/react-query');
|
|
|
28
26
|
var Image = require('next/image');
|
|
29
27
|
var auth = require('@compill/auth');
|
|
30
28
|
|
|
31
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
32
|
-
|
|
33
|
-
var Link__default = /*#__PURE__*/_interopDefaultLegacy(Link);
|
|
34
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
35
|
-
var Image__default = /*#__PURE__*/_interopDefaultLegacy(Image);
|
|
36
|
-
|
|
37
29
|
function SectionTitle(_a) {
|
|
38
30
|
var {
|
|
39
31
|
children
|
|
@@ -70,20 +62,8 @@ var mdiPublish = "M5,4V6H19V4H5M5,14H9V20H15V14H19L12,7L5,14Z";
|
|
|
70
62
|
var mdiPublishOff = "M20.8 22.7L15 16.9V20H9V14H5L8.6 10.4L1.1 3L2.4 1.7L22.1 21.4L20.8 22.7M19 6V4H7.2L9.2 6H19M17.2 14H19L12 7L11.1 7.9L17.2 14Z";
|
|
71
63
|
var mdiRefresh = "M17.65,6.35C16.2,4.9 14.21,4 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20C15.73,20 18.84,17.45 19.73,14H17.65C16.83,16.33 14.61,18 12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6C13.66,6 15.14,6.69 16.22,7.78L13,11H20V4L17.65,6.35Z";
|
|
72
64
|
|
|
73
|
-
function
|
|
74
|
-
|
|
75
|
-
function isPlainObject(value) {
|
|
76
|
-
if (!value || typeof value !== 'object') {
|
|
77
|
-
return false;
|
|
78
|
-
}
|
|
79
|
-
const proto = Object.getPrototypeOf(value);
|
|
80
|
-
const hasObjectPrototype = proto === null ||
|
|
81
|
-
proto === Object.prototype ||
|
|
82
|
-
Object.getPrototypeOf(proto) === null;
|
|
83
|
-
if (!hasObjectPrototype) {
|
|
84
|
-
return false;
|
|
85
|
-
}
|
|
86
|
-
return Object.prototype.toString.call(value) === '[object Object]';
|
|
65
|
+
function eq(value, other) {
|
|
66
|
+
return value === other || (Number.isNaN(value) && Number.isNaN(other));
|
|
87
67
|
}
|
|
88
68
|
|
|
89
69
|
function getSymbols(object) {
|
|
@@ -124,8 +104,22 @@ const bigInt64ArrayTag = '[object BigInt64Array]';
|
|
|
124
104
|
const float32ArrayTag = '[object Float32Array]';
|
|
125
105
|
const float64ArrayTag = '[object Float64Array]';
|
|
126
106
|
|
|
127
|
-
function
|
|
128
|
-
return
|
|
107
|
+
function isArray(value) {
|
|
108
|
+
return Array.isArray(value);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
function isPlainObject(value) {
|
|
112
|
+
if (!value || typeof value !== 'object') {
|
|
113
|
+
return false;
|
|
114
|
+
}
|
|
115
|
+
const proto = Object.getPrototypeOf(value);
|
|
116
|
+
const hasObjectPrototype = proto === null ||
|
|
117
|
+
proto === Object.prototype ||
|
|
118
|
+
Object.getPrototypeOf(proto) === null;
|
|
119
|
+
if (!hasObjectPrototype) {
|
|
120
|
+
return false;
|
|
121
|
+
}
|
|
122
|
+
return Object.prototype.toString.call(value) === '[object Object]';
|
|
129
123
|
}
|
|
130
124
|
|
|
131
125
|
function isEqualWith(a, b, areValuesEqual) {
|
|
@@ -306,6 +300,8 @@ function areObjectsEqual(a, b, stack, areValuesEqual) {
|
|
|
306
300
|
}
|
|
307
301
|
}
|
|
308
302
|
|
|
303
|
+
function noop() { }
|
|
304
|
+
|
|
309
305
|
function isEqual(a, b) {
|
|
310
306
|
return isEqualWith(a, b, noop);
|
|
311
307
|
}
|
|
@@ -314,10 +310,6 @@ function capitalize(str) {
|
|
|
314
310
|
return (str.charAt(0).toUpperCase() + str.slice(1).toLowerCase());
|
|
315
311
|
}
|
|
316
312
|
|
|
317
|
-
function isArray(value) {
|
|
318
|
-
return Array.isArray(value);
|
|
319
|
-
}
|
|
320
|
-
|
|
321
313
|
function Breadcrumbs(_a) {
|
|
322
314
|
var {
|
|
323
315
|
breadcrumbs
|
|
@@ -391,7 +383,7 @@ function BreadcrumbItem({
|
|
|
391
383
|
children: [showSeparator && jsxRuntime.jsx(ui.Icon, {
|
|
392
384
|
path: mdiCircleSmall,
|
|
393
385
|
mx: "1"
|
|
394
|
-
}), jsxRuntime.jsx(
|
|
386
|
+
}), jsxRuntime.jsx(Link, {
|
|
395
387
|
href: `/${breadcrumb.path || "#"}`,
|
|
396
388
|
children: jsxRuntime.jsx("span", {
|
|
397
389
|
// onClick={breadcrumb.path ? handleClick : undefined}
|
|
@@ -408,13 +400,13 @@ function DialogButton(_a) {
|
|
|
408
400
|
buildDialog
|
|
409
401
|
} = _a,
|
|
410
402
|
props = tslib.__rest(_a, ["buildDialog"]);
|
|
411
|
-
const [showDialog, setShowDialog] =
|
|
412
|
-
const onShowDialog =
|
|
403
|
+
const [showDialog, setShowDialog] = React.useState(false);
|
|
404
|
+
const onShowDialog = React.useCallback(event => {
|
|
413
405
|
event === null || event === void 0 ? void 0 : event.preventDefault();
|
|
414
406
|
event === null || event === void 0 ? void 0 : event.stopPropagation();
|
|
415
407
|
setShowDialog(true);
|
|
416
408
|
}, [setShowDialog]);
|
|
417
|
-
const onCloseDialog =
|
|
409
|
+
const onCloseDialog = React.useCallback(() => {
|
|
418
410
|
setShowDialog(false);
|
|
419
411
|
}, [setShowDialog]);
|
|
420
412
|
return jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
@@ -441,7 +433,7 @@ function ButtonBar(_a) {
|
|
|
441
433
|
children: children
|
|
442
434
|
}));
|
|
443
435
|
}
|
|
444
|
-
const ButtonBarButton = /*#__PURE__*/
|
|
436
|
+
const ButtonBarButton = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
445
437
|
var {
|
|
446
438
|
icon,
|
|
447
439
|
children
|
|
@@ -464,7 +456,7 @@ const ButtonBarButton = /*#__PURE__*/React__default["default"].forwardRef(functi
|
|
|
464
456
|
}), children]
|
|
465
457
|
}));
|
|
466
458
|
});
|
|
467
|
-
const ButtonBarSubmitButton = /*#__PURE__*/
|
|
459
|
+
const ButtonBarSubmitButton = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
468
460
|
var _b;
|
|
469
461
|
var {
|
|
470
462
|
useDirty,
|
|
@@ -478,10 +470,8 @@ const ButtonBarSubmitButton = /*#__PURE__*/React__default["default"].forwardRef(
|
|
|
478
470
|
handleSubmit
|
|
479
471
|
} = (_b = formik.useFormikContext()) !== null && _b !== void 0 ? _b : {
|
|
480
472
|
dirty: false,
|
|
481
|
-
handleSubmit: undefined
|
|
482
|
-
|
|
483
|
-
};
|
|
484
|
-
const onSubmit = React__default["default"].useCallback(() => handleSubmit(), [handleSubmit]);
|
|
473
|
+
handleSubmit: undefined};
|
|
474
|
+
const onSubmit = React.useCallback(() => handleSubmit(), [handleSubmit]);
|
|
485
475
|
return jsxRuntime.jsxs(ui.Button, Object.assign({
|
|
486
476
|
scheme: "dark",
|
|
487
477
|
size: "sm",
|
|
@@ -548,7 +538,7 @@ function NavigateButton(_a) {
|
|
|
548
538
|
} = _a,
|
|
549
539
|
props = tslib.__rest(_a, ["path"]);
|
|
550
540
|
const navigate = reactRouterDom.useNavigate();
|
|
551
|
-
const handleClick =
|
|
541
|
+
const handleClick = React.useCallback(() => {
|
|
552
542
|
navigate(path);
|
|
553
543
|
}, [navigate, path]);
|
|
554
544
|
return jsxRuntime.jsx(ui.Button, Object.assign({
|
|
@@ -577,7 +567,7 @@ function PublishButton(_a) {
|
|
|
577
567
|
const mutation = api.useInvalidateMutation(isDraft ? api$1.publish : api$1.unpublish, api$1.queryKey, queryId, {
|
|
578
568
|
networkMode: "always"
|
|
579
569
|
});
|
|
580
|
-
const publish =
|
|
570
|
+
const publish = React.useCallback(() => {
|
|
581
571
|
mutation.reset();
|
|
582
572
|
mutation.mutateAsync(queryId).then(() => reactToastify.toast.success(isDraft ? "Published!" : "Unpublished!")).catch(error => reactToastify.toast.error(`Error: ${error}`));
|
|
583
573
|
}, [mutation, queryId]);
|
|
@@ -590,391 +580,238 @@ function PublishButton(_a) {
|
|
|
590
580
|
}));
|
|
591
581
|
}
|
|
592
582
|
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
esc: 'escape',
|
|
611
|
-
"return": 'enter',
|
|
612
|
-
'.': 'period',
|
|
613
|
-
',': 'comma',
|
|
614
|
-
'-': 'slash',
|
|
615
|
-
' ': 'space',
|
|
616
|
-
'`': 'backquote',
|
|
617
|
-
'#': 'backslash',
|
|
618
|
-
'+': 'bracketright',
|
|
619
|
-
ShiftLeft: 'shift',
|
|
620
|
-
ShiftRight: 'shift',
|
|
621
|
-
AltLeft: 'alt',
|
|
622
|
-
AltRight: 'alt',
|
|
623
|
-
MetaLeft: 'meta',
|
|
624
|
-
MetaRight: 'meta',
|
|
625
|
-
OSLeft: 'meta',
|
|
626
|
-
OSRight: 'meta',
|
|
627
|
-
ControlLeft: 'ctrl',
|
|
628
|
-
ControlRight: 'ctrl'
|
|
583
|
+
const j = ["shift", "alt", "meta", "mod", "ctrl", "control"], Q = {
|
|
584
|
+
esc: "escape",
|
|
585
|
+
return: "enter",
|
|
586
|
+
left: "arrowleft",
|
|
587
|
+
right: "arrowright",
|
|
588
|
+
up: "arrowup",
|
|
589
|
+
down: "arrowdown",
|
|
590
|
+
ShiftLeft: "shift",
|
|
591
|
+
ShiftRight: "shift",
|
|
592
|
+
AltLeft: "alt",
|
|
593
|
+
AltRight: "alt",
|
|
594
|
+
MetaLeft: "meta",
|
|
595
|
+
MetaRight: "meta",
|
|
596
|
+
OSLeft: "meta",
|
|
597
|
+
OSRight: "meta",
|
|
598
|
+
ControlLeft: "ctrl",
|
|
599
|
+
ControlRight: "ctrl"
|
|
629
600
|
};
|
|
630
|
-
function
|
|
631
|
-
return (
|
|
632
|
-
}
|
|
633
|
-
function
|
|
634
|
-
return
|
|
635
|
-
}
|
|
636
|
-
function
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
601
|
+
function K(e) {
|
|
602
|
+
return (Q[e.trim()] || e.trim()).toLowerCase().replace(/key|digit|numpad/, "");
|
|
603
|
+
}
|
|
604
|
+
function D(e) {
|
|
605
|
+
return j.includes(e);
|
|
606
|
+
}
|
|
607
|
+
function H(e, r = ",") {
|
|
608
|
+
return e.toLowerCase().split(r);
|
|
609
|
+
}
|
|
610
|
+
function P(e, r = "+", o = ">", i = false, u) {
|
|
611
|
+
let n = [], c = false;
|
|
612
|
+
e = e.trim(), e.includes(o) ? (c = true, n = e.toLocaleLowerCase().split(o).map((f) => K(f))) : n = e.toLocaleLowerCase().split(r).map((f) => K(f));
|
|
613
|
+
const y = {
|
|
614
|
+
alt: n.includes("alt"),
|
|
615
|
+
ctrl: n.includes("ctrl") || n.includes("control"),
|
|
616
|
+
shift: n.includes("shift"),
|
|
617
|
+
meta: n.includes("meta"),
|
|
618
|
+
mod: n.includes("mod"),
|
|
619
|
+
useKey: i
|
|
620
|
+
}, d = n.filter((f) => !j.includes(f));
|
|
621
|
+
return {
|
|
622
|
+
...y,
|
|
623
|
+
keys: d,
|
|
624
|
+
description: u,
|
|
625
|
+
isSequence: c,
|
|
626
|
+
hotkey: e
|
|
655
627
|
};
|
|
656
|
-
var singleCharKeys = keys.filter(function (k) {
|
|
657
|
-
return !reservedModifierKeywords.includes(k);
|
|
658
|
-
});
|
|
659
|
-
return _extends({}, modifiers, {
|
|
660
|
-
keys: singleCharKeys,
|
|
661
|
-
description: description
|
|
662
|
-
});
|
|
663
628
|
}
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
function
|
|
691
|
-
|
|
692
|
-
}
|
|
693
|
-
function
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
}
|
|
718
|
-
function
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
}
|
|
728
|
-
|
|
729
|
-
return currentlyPressedKeys["delete"](hotkey.toLowerCase());
|
|
730
|
-
});
|
|
731
|
-
}
|
|
732
|
-
}
|
|
733
|
-
|
|
734
|
-
function maybePreventDefault(e, hotkey, preventDefault) {
|
|
735
|
-
if (typeof preventDefault === 'function' && preventDefault(e, hotkey) || preventDefault === true) {
|
|
736
|
-
e.preventDefault();
|
|
737
|
-
}
|
|
738
|
-
}
|
|
739
|
-
function isHotkeyEnabled(e, hotkey, enabled) {
|
|
740
|
-
if (typeof enabled === 'function') {
|
|
741
|
-
return enabled(e, hotkey);
|
|
742
|
-
}
|
|
743
|
-
return enabled === true || enabled === undefined;
|
|
744
|
-
}
|
|
745
|
-
function isKeyboardEventTriggeredByInput(ev) {
|
|
746
|
-
return isHotkeyEnabledOnTag(ev, ['input', 'textarea', 'select']);
|
|
747
|
-
}
|
|
748
|
-
function isHotkeyEnabledOnTag(_ref, enabledOnTags) {
|
|
749
|
-
var target = _ref.target;
|
|
750
|
-
if (enabledOnTags === void 0) {
|
|
751
|
-
enabledOnTags = false;
|
|
752
|
-
}
|
|
753
|
-
var targetTagName = target && target.tagName;
|
|
754
|
-
if (isReadonlyArray(enabledOnTags)) {
|
|
755
|
-
return Boolean(targetTagName && enabledOnTags && enabledOnTags.some(function (tag) {
|
|
756
|
-
return tag.toLowerCase() === targetTagName.toLowerCase();
|
|
757
|
-
}));
|
|
758
|
-
}
|
|
759
|
-
return Boolean(targetTagName && enabledOnTags && enabledOnTags === true);
|
|
760
|
-
}
|
|
761
|
-
function isScopeActive(activeScopes, scopes) {
|
|
762
|
-
if (activeScopes.length === 0 && scopes) {
|
|
763
|
-
console.warn('A hotkey has the "scopes" option set, however no active scopes were found. If you want to use the global scopes feature, you need to wrap your app in a <HotkeysProvider>');
|
|
764
|
-
return true;
|
|
765
|
-
}
|
|
766
|
-
if (!scopes) {
|
|
629
|
+
typeof document < "u" && (document.addEventListener("keydown", (e) => {
|
|
630
|
+
e.code !== void 0 && I([K(e.code)]);
|
|
631
|
+
}), document.addEventListener("keyup", (e) => {
|
|
632
|
+
e.code !== void 0 && _([K(e.code)]);
|
|
633
|
+
})), typeof window < "u" && (window.addEventListener("blur", () => {
|
|
634
|
+
L.clear();
|
|
635
|
+
}), window.addEventListener("contextmenu", () => {
|
|
636
|
+
setTimeout(() => {
|
|
637
|
+
L.clear();
|
|
638
|
+
}, 0);
|
|
639
|
+
}));
|
|
640
|
+
const L = /* @__PURE__ */ new Set();
|
|
641
|
+
function R(e) {
|
|
642
|
+
return Array.isArray(e);
|
|
643
|
+
}
|
|
644
|
+
function U(e, r = ",") {
|
|
645
|
+
return (R(e) ? e : e.split(r)).every((i) => L.has(i.trim().toLowerCase()));
|
|
646
|
+
}
|
|
647
|
+
function I(e) {
|
|
648
|
+
const r = Array.isArray(e) ? e : [e];
|
|
649
|
+
L.has("meta") && L.forEach((o) => !D(o) && L.delete(o.toLowerCase())), r.forEach((o) => L.add(o.toLowerCase()));
|
|
650
|
+
}
|
|
651
|
+
function _(e) {
|
|
652
|
+
const r = Array.isArray(e) ? e : [e];
|
|
653
|
+
e === "meta" ? L.clear() : r.forEach((o) => L.delete(o.toLowerCase()));
|
|
654
|
+
}
|
|
655
|
+
function V(e, r, o) {
|
|
656
|
+
(typeof o == "function" && o(e, r) || o === true) && e.preventDefault();
|
|
657
|
+
}
|
|
658
|
+
function X(e, r, o) {
|
|
659
|
+
return typeof o == "function" ? o(e, r) : o === true || o === void 0;
|
|
660
|
+
}
|
|
661
|
+
const Y = [
|
|
662
|
+
"input",
|
|
663
|
+
"textarea",
|
|
664
|
+
"select",
|
|
665
|
+
"searchbox",
|
|
666
|
+
"slider",
|
|
667
|
+
"spinbutton",
|
|
668
|
+
"menuitem",
|
|
669
|
+
"menuitemcheckbox",
|
|
670
|
+
"menuitemradio",
|
|
671
|
+
"option",
|
|
672
|
+
"radio",
|
|
673
|
+
"textbox"
|
|
674
|
+
];
|
|
675
|
+
function Z(e) {
|
|
676
|
+
return F(e, Y);
|
|
677
|
+
}
|
|
678
|
+
function F(e, r = false) {
|
|
679
|
+
const { target: o, composed: i } = e;
|
|
680
|
+
let u, n;
|
|
681
|
+
return ee(o) && i ? (u = e.composedPath()[0] && e.composedPath()[0].tagName, n = e.composedPath()[0] && e.composedPath()[0].role) : (u = o && o.tagName, n = o && o.role), R(r) ? !!(u && r && r.some((c) => c.toLowerCase() === u.toLowerCase() || c === n)) : !!(u && r && r);
|
|
682
|
+
}
|
|
683
|
+
function ee(e) {
|
|
684
|
+
return !!e.tagName && !e.tagName.startsWith("-") && e.tagName.includes("-");
|
|
685
|
+
}
|
|
686
|
+
function te(e, r) {
|
|
687
|
+
return e.length === 0 && r ? (console.warn(
|
|
688
|
+
'A hotkey has the "scopes" option set, however no active scopes were found. If you want to use the global scopes feature, you need to wrap your app in a <HotkeysProvider>'
|
|
689
|
+
), true) : r ? e.some((o) => r.includes(o)) || e.includes("*") : true;
|
|
690
|
+
}
|
|
691
|
+
const re = (e, r, o = false) => {
|
|
692
|
+
const { alt: i, meta: u, mod: n, shift: c, ctrl: y, keys: d, useKey: f } = r, { code: p, key: t, ctrlKey: a, metaKey: l, shiftKey: g, altKey: k } = e, m = K(p);
|
|
693
|
+
if (f && d?.length === 1 && d.includes(t))
|
|
767
694
|
return true;
|
|
768
|
-
|
|
769
|
-
return activeScopes.some(function (scope) {
|
|
770
|
-
return scopes.includes(scope);
|
|
771
|
-
}) || activeScopes.includes('*');
|
|
772
|
-
}
|
|
773
|
-
var isHotkeyMatchingKeyboardEvent = function isHotkeyMatchingKeyboardEvent(e, hotkey, ignoreModifiers) {
|
|
774
|
-
if (ignoreModifiers === void 0) {
|
|
775
|
-
ignoreModifiers = false;
|
|
776
|
-
}
|
|
777
|
-
var alt = hotkey.alt,
|
|
778
|
-
meta = hotkey.meta,
|
|
779
|
-
mod = hotkey.mod,
|
|
780
|
-
shift = hotkey.shift,
|
|
781
|
-
ctrl = hotkey.ctrl,
|
|
782
|
-
keys = hotkey.keys;
|
|
783
|
-
var pressedKeyUppercase = e.key,
|
|
784
|
-
code = e.code,
|
|
785
|
-
ctrlKey = e.ctrlKey,
|
|
786
|
-
metaKey = e.metaKey,
|
|
787
|
-
shiftKey = e.shiftKey,
|
|
788
|
-
altKey = e.altKey;
|
|
789
|
-
var keyCode = mapKey(code);
|
|
790
|
-
var pressedKey = pressedKeyUppercase.toLowerCase();
|
|
791
|
-
if (!(keys != null && keys.includes(keyCode)) && !(keys != null && keys.includes(pressedKey)) && !['ctrl', 'control', 'unknown', 'meta', 'alt', 'shift', 'os'].includes(keyCode)) {
|
|
695
|
+
if (!d?.includes(m) && !["ctrl", "control", "unknown", "meta", "alt", "shift", "os"].includes(m))
|
|
792
696
|
return false;
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
// We check the pressed keys for compatibility with the keyup event. In keyup events the modifier flags are not set.
|
|
796
|
-
if (alt === !altKey && pressedKey !== 'alt') {
|
|
697
|
+
if (!o) {
|
|
698
|
+
if (i !== k && m !== "alt" || c !== g && m !== "shift")
|
|
797
699
|
return false;
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
return false;
|
|
801
|
-
}
|
|
802
|
-
// Mod is a special key name that is checking for meta on macOS and ctrl on other platforms
|
|
803
|
-
if (mod) {
|
|
804
|
-
if (!metaKey && !ctrlKey) {
|
|
700
|
+
if (n) {
|
|
701
|
+
if (!l && !a)
|
|
805
702
|
return false;
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
if (meta === !metaKey && pressedKey !== 'meta' && pressedKey !== 'os') {
|
|
809
|
-
return false;
|
|
810
|
-
}
|
|
811
|
-
if (ctrl === !ctrlKey && pressedKey !== 'ctrl' && pressedKey !== 'control') {
|
|
812
|
-
return false;
|
|
813
|
-
}
|
|
814
|
-
}
|
|
815
|
-
}
|
|
816
|
-
// All modifiers are correct, now check the key
|
|
817
|
-
// If the key is set, we check for the key
|
|
818
|
-
if (keys && keys.length === 1 && (keys.includes(pressedKey) || keys.includes(keyCode))) {
|
|
819
|
-
return true;
|
|
820
|
-
} else if (keys) {
|
|
821
|
-
// Check if all keys are present in pressedDownKeys set
|
|
822
|
-
return isHotkeyPressed(keys);
|
|
823
|
-
} else if (!keys) {
|
|
824
|
-
// If the key is not set, we only listen for modifiers, that check went alright, so we return true
|
|
825
|
-
return true;
|
|
703
|
+
} else if (u !== l && m !== "meta" && m !== "os" || y !== a && m !== "ctrl" && m !== "control")
|
|
704
|
+
return false;
|
|
826
705
|
}
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
var useBoundHotkeysProxy = function useBoundHotkeysProxy() {
|
|
833
|
-
return React.useContext(BoundHotkeysProxyProvider);
|
|
834
|
-
};
|
|
835
|
-
|
|
836
|
-
function deepEqual(x, y) {
|
|
837
|
-
//@ts-ignore
|
|
838
|
-
return x && y && typeof x === 'object' && typeof y === 'object' ? Object.keys(x).length === Object.keys(y).length &&
|
|
839
|
-
//@ts-ignore
|
|
840
|
-
Object.keys(x).reduce(function (isEqual, key) {
|
|
841
|
-
return isEqual && deepEqual(x[key], y[key]);
|
|
842
|
-
}, true) : x === y;
|
|
706
|
+
return d && d.length === 1 && d.includes(m) ? true : d ? U(d) : !d;
|
|
707
|
+
}, $ = React.createContext(void 0), oe = () => React.useContext($);
|
|
708
|
+
function x(e, r) {
|
|
709
|
+
return e && r && typeof e == "object" && typeof r == "object" ? Object.keys(e).length === Object.keys(r).length && // @ts-expect-error TS7053
|
|
710
|
+
Object.keys(e).reduce((o, i) => o && x(e[i], r[i]), true) : e === r;
|
|
843
711
|
}
|
|
844
|
-
|
|
845
|
-
var HotkeysContext = /*#__PURE__*/React.createContext({
|
|
712
|
+
const W = React.createContext({
|
|
846
713
|
hotkeys: [],
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
};
|
|
855
|
-
|
|
856
|
-
function useDeepEqualMemo(value) {
|
|
857
|
-
var ref = React.useRef(undefined);
|
|
858
|
-
if (!deepEqual(ref.current, value)) {
|
|
859
|
-
ref.current = value;
|
|
860
|
-
}
|
|
861
|
-
return ref.current;
|
|
862
|
-
}
|
|
863
|
-
|
|
864
|
-
var stopPropagation = function stopPropagation(e) {
|
|
865
|
-
e.stopPropagation();
|
|
866
|
-
e.preventDefault();
|
|
867
|
-
e.stopImmediatePropagation();
|
|
868
|
-
};
|
|
869
|
-
var useSafeLayoutEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;
|
|
870
|
-
function useHotkeys(keys, callback, options, dependencies) {
|
|
871
|
-
var ref = React.useRef(null);
|
|
872
|
-
var hasTriggeredRef = React.useRef(false);
|
|
873
|
-
var _options = !(options instanceof Array) ? options : !(dependencies instanceof Array) ? dependencies : undefined;
|
|
874
|
-
var _keys = isReadonlyArray(keys) ? keys.join(_options == null ? void 0 : _options.splitKey) : keys;
|
|
875
|
-
var _deps = options instanceof Array ? options : dependencies instanceof Array ? dependencies : undefined;
|
|
876
|
-
var memoisedCB = React.useCallback(callback, _deps != null ? _deps : []);
|
|
877
|
-
var cbRef = React.useRef(memoisedCB);
|
|
878
|
-
if (_deps) {
|
|
879
|
-
cbRef.current = memoisedCB;
|
|
880
|
-
} else {
|
|
881
|
-
cbRef.current = callback;
|
|
714
|
+
activeScopes: [],
|
|
715
|
+
// This array has to be empty instead of containing '*' as default, to check if the provider is set or not
|
|
716
|
+
toggleScope: () => {
|
|
717
|
+
},
|
|
718
|
+
enableScope: () => {
|
|
719
|
+
},
|
|
720
|
+
disableScope: () => {
|
|
882
721
|
}
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
722
|
+
}), se = () => React.useContext(W);
|
|
723
|
+
function ie(e) {
|
|
724
|
+
const r = React.useRef(void 0);
|
|
725
|
+
return x(r.current, e) || (r.current = e), r.current;
|
|
726
|
+
}
|
|
727
|
+
const N = (e) => {
|
|
728
|
+
e.stopPropagation(), e.preventDefault(), e.stopImmediatePropagation();
|
|
729
|
+
}, ue = typeof window < "u" ? React.useLayoutEffect : React.useEffect;
|
|
730
|
+
function fe(e, r, o, i) {
|
|
731
|
+
const u = React.useRef(null), n = React.useRef(false), c = Array.isArray(o) ? Array.isArray(i) ? void 0 : i : o, y = R(e) ? e.join(c?.delimiter) : e, d = Array.isArray(o) ? o : Array.isArray(i) ? i : void 0, f = React.useCallback(r, d ?? []), p = React.useRef(f);
|
|
732
|
+
d ? p.current = f : p.current = r;
|
|
733
|
+
const t = ie(c), { activeScopes: a } = se(), l = oe();
|
|
734
|
+
return ue(() => {
|
|
735
|
+
if (t?.enabled === false || !te(a, t?.scopes))
|
|
889
736
|
return;
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
return;
|
|
898
|
-
}
|
|
899
|
-
// TODO: SINCE THE EVENT IS NOW ATTACHED TO THE REF, THE ACTIVE ELEMENT CAN NEVER BE INSIDE THE REF. THE HOTKEY ONLY TRIGGERS IF THE
|
|
900
|
-
// REF IS THE ACTIVE ELEMENT. THIS IS A PROBLEM SINCE FOCUSED SUB COMPONENTS WON'T TRIGGER THE HOTKEY.
|
|
901
|
-
if (ref.current !== null) {
|
|
902
|
-
var rootNode = ref.current.getRootNode();
|
|
903
|
-
if ((rootNode instanceof Document || rootNode instanceof ShadowRoot) && rootNode.activeElement !== ref.current && !ref.current.contains(rootNode.activeElement)) {
|
|
904
|
-
stopPropagation(e);
|
|
905
|
-
return;
|
|
906
|
-
}
|
|
907
|
-
}
|
|
908
|
-
if ((_e$target = e.target) != null && _e$target.isContentEditable && !(memoisedOptions != null && memoisedOptions.enableOnContentEditable)) {
|
|
909
|
-
return;
|
|
910
|
-
}
|
|
911
|
-
parseKeysHookInput(_keys, memoisedOptions == null ? void 0 : memoisedOptions.splitKey).forEach(function (key) {
|
|
912
|
-
var _hotkey$keys;
|
|
913
|
-
var hotkey = parseHotkey(key, memoisedOptions == null ? void 0 : memoisedOptions.combinationKey);
|
|
914
|
-
if (isHotkeyMatchingKeyboardEvent(e, hotkey, memoisedOptions == null ? void 0 : memoisedOptions.ignoreModifiers) || (_hotkey$keys = hotkey.keys) != null && _hotkey$keys.includes('*')) {
|
|
915
|
-
if (memoisedOptions != null && memoisedOptions.ignoreEventWhen != null && memoisedOptions.ignoreEventWhen(e)) {
|
|
737
|
+
let g = [], k;
|
|
738
|
+
const m = (s, B = false) => {
|
|
739
|
+
if (!(Z(s) && !F(s, t?.enableOnFormTags))) {
|
|
740
|
+
if (u.current !== null) {
|
|
741
|
+
const v = u.current.getRootNode();
|
|
742
|
+
if ((v instanceof Document || v instanceof ShadowRoot) && v.activeElement !== u.current && !u.current.contains(v.activeElement)) {
|
|
743
|
+
N(s);
|
|
916
744
|
return;
|
|
917
745
|
}
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
746
|
+
}
|
|
747
|
+
s.target?.isContentEditable && !t?.enableOnContentEditable || H(y, t?.delimiter).forEach((v) => {
|
|
748
|
+
if (v.includes(t?.splitKey ?? "+") && v.includes(t?.sequenceSplitKey ?? ">")) {
|
|
749
|
+
console.warn(
|
|
750
|
+
`Hotkey ${v} contains both ${t?.splitKey ?? "+"} and ${t?.sequenceSplitKey ?? ">"} which is not supported.`
|
|
751
|
+
);
|
|
924
752
|
return;
|
|
925
753
|
}
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
754
|
+
const h = P(
|
|
755
|
+
v,
|
|
756
|
+
t?.splitKey,
|
|
757
|
+
t?.sequenceSplitKey,
|
|
758
|
+
t?.useKey,
|
|
759
|
+
t?.description
|
|
760
|
+
);
|
|
761
|
+
if (h.isSequence) {
|
|
762
|
+
k = setTimeout(() => {
|
|
763
|
+
g = [];
|
|
764
|
+
}, t?.sequenceTimeoutMs ?? 1e3);
|
|
765
|
+
const C = h.useKey ? s.key : K(s.code);
|
|
766
|
+
if (D(C.toLowerCase()))
|
|
767
|
+
return;
|
|
768
|
+
g.push(C);
|
|
769
|
+
const G = h.keys?.[g.length - 1];
|
|
770
|
+
if (C !== G) {
|
|
771
|
+
g = [], k && clearTimeout(k);
|
|
772
|
+
return;
|
|
773
|
+
}
|
|
774
|
+
g.length === h.keys?.length && (p.current(s, h), k && clearTimeout(k), g = []);
|
|
775
|
+
} else if (re(s, h, t?.ignoreModifiers) || h.keys?.includes("*")) {
|
|
776
|
+
if (t?.ignoreEventWhen?.(s) || B && n.current)
|
|
777
|
+
return;
|
|
778
|
+
if (V(s, h, t?.preventDefault), !X(s, h, t?.enabled)) {
|
|
779
|
+
N(s);
|
|
780
|
+
return;
|
|
781
|
+
}
|
|
782
|
+
p.current(s, h), B || (n.current = true);
|
|
930
783
|
}
|
|
931
|
-
}
|
|
932
|
-
});
|
|
933
|
-
};
|
|
934
|
-
var handleKeyDown = function handleKeyDown(event) {
|
|
935
|
-
if (event.key === undefined) {
|
|
936
|
-
// Synthetic event (e.g., Chrome autofill). Ignore.
|
|
937
|
-
return;
|
|
938
|
-
}
|
|
939
|
-
pushToCurrentlyPressedKeys(mapKey(event.code));
|
|
940
|
-
if ((memoisedOptions == null ? void 0 : memoisedOptions.keydown) === undefined && (memoisedOptions == null ? void 0 : memoisedOptions.keyup) !== true || memoisedOptions != null && memoisedOptions.keydown) {
|
|
941
|
-
listener(event);
|
|
942
|
-
}
|
|
943
|
-
};
|
|
944
|
-
var handleKeyUp = function handleKeyUp(event) {
|
|
945
|
-
if (event.key === undefined) {
|
|
946
|
-
// Synthetic event (e.g., Chrome autofill). Ignore.
|
|
947
|
-
return;
|
|
948
|
-
}
|
|
949
|
-
removeFromCurrentlyPressedKeys(mapKey(event.code));
|
|
950
|
-
hasTriggeredRef.current = false;
|
|
951
|
-
if (memoisedOptions != null && memoisedOptions.keyup) {
|
|
952
|
-
listener(event, true);
|
|
953
|
-
}
|
|
954
|
-
};
|
|
955
|
-
var domNode = ref.current || (_options == null ? void 0 : _options.document) || document;
|
|
956
|
-
// @ts-ignore
|
|
957
|
-
domNode.addEventListener('keyup', handleKeyUp);
|
|
958
|
-
// @ts-ignore
|
|
959
|
-
domNode.addEventListener('keydown', handleKeyDown);
|
|
960
|
-
if (proxy) {
|
|
961
|
-
parseKeysHookInput(_keys, memoisedOptions == null ? void 0 : memoisedOptions.splitKey).forEach(function (key) {
|
|
962
|
-
return proxy.addHotkey(parseHotkey(key, memoisedOptions == null ? void 0 : memoisedOptions.combinationKey, memoisedOptions == null ? void 0 : memoisedOptions.description));
|
|
963
|
-
});
|
|
964
|
-
}
|
|
965
|
-
return function () {
|
|
966
|
-
// @ts-ignore
|
|
967
|
-
domNode.removeEventListener('keyup', handleKeyUp);
|
|
968
|
-
// @ts-ignore
|
|
969
|
-
domNode.removeEventListener('keydown', handleKeyDown);
|
|
970
|
-
if (proxy) {
|
|
971
|
-
parseKeysHookInput(_keys, memoisedOptions == null ? void 0 : memoisedOptions.splitKey).forEach(function (key) {
|
|
972
|
-
return proxy.removeHotkey(parseHotkey(key, memoisedOptions == null ? void 0 : memoisedOptions.combinationKey, memoisedOptions == null ? void 0 : memoisedOptions.description));
|
|
973
784
|
});
|
|
974
785
|
}
|
|
786
|
+
}, O = (s) => {
|
|
787
|
+
s.code !== void 0 && (I(K(s.code)), (t?.keydown === void 0 && t?.keyup !== true || t?.keydown) && m(s));
|
|
788
|
+
}, q = (s) => {
|
|
789
|
+
s.code !== void 0 && (_(K(s.code)), n.current = false, t?.keyup && m(s, true));
|
|
790
|
+
}, E = u.current || c?.document || document;
|
|
791
|
+
return E.addEventListener("keyup", q, c?.eventListenerOptions), E.addEventListener("keydown", O, c?.eventListenerOptions), l && H(y, t?.delimiter).forEach(
|
|
792
|
+
(s) => l.addHotkey(
|
|
793
|
+
P(
|
|
794
|
+
s,
|
|
795
|
+
t?.splitKey,
|
|
796
|
+
t?.sequenceSplitKey,
|
|
797
|
+
t?.useKey,
|
|
798
|
+
t?.description
|
|
799
|
+
)
|
|
800
|
+
)
|
|
801
|
+
), () => {
|
|
802
|
+
E.removeEventListener("keyup", q, c?.eventListenerOptions), E.removeEventListener("keydown", O, c?.eventListenerOptions), l && H(y, t?.delimiter).forEach(
|
|
803
|
+
(s) => l.removeHotkey(
|
|
804
|
+
P(
|
|
805
|
+
s,
|
|
806
|
+
t?.splitKey,
|
|
807
|
+
t?.sequenceSplitKey,
|
|
808
|
+
t?.useKey,
|
|
809
|
+
t?.description
|
|
810
|
+
)
|
|
811
|
+
)
|
|
812
|
+
), g = [], k && clearTimeout(k);
|
|
975
813
|
};
|
|
976
|
-
}, [
|
|
977
|
-
return ref;
|
|
814
|
+
}, [y, t, a]), u;
|
|
978
815
|
}
|
|
979
816
|
|
|
980
817
|
function UpdateButton(_a) {
|
|
@@ -985,10 +822,8 @@ function UpdateButton(_a) {
|
|
|
985
822
|
handleSubmit
|
|
986
823
|
} = (_b = formik.useFormikContext()) !== null && _b !== void 0 ? _b : {
|
|
987
824
|
dirty: false,
|
|
988
|
-
handleSubmit: undefined
|
|
989
|
-
|
|
990
|
-
};
|
|
991
|
-
useHotkeys('ctrl+s', () => {
|
|
825
|
+
handleSubmit: undefined};
|
|
826
|
+
fe('ctrl+s', () => {
|
|
992
827
|
if (dirty && !props.disabled) handleSubmit();
|
|
993
828
|
}, {
|
|
994
829
|
preventDefault: true
|
|
@@ -1007,7 +842,7 @@ function ViewButton(_a) {
|
|
|
1007
842
|
icon
|
|
1008
843
|
} = _a,
|
|
1009
844
|
props = tslib.__rest(_a, ["label", "path", "icon"]);
|
|
1010
|
-
const openPage =
|
|
845
|
+
const openPage = React.useCallback(() => {
|
|
1011
846
|
window.open(path, '_blank');
|
|
1012
847
|
}, [path]);
|
|
1013
848
|
return jsxRuntime.jsx(admin.ButtonBarButton, Object.assign({
|
|
@@ -1031,13 +866,13 @@ function OrderCell({
|
|
|
1031
866
|
}) {
|
|
1032
867
|
const mutationDown = api.useInvalidateMutation(api$1.moveDown, api$1.queryKey);
|
|
1033
868
|
const mutationUp = api.useInvalidateMutation(api$1.moveUp, api$1.queryKey);
|
|
1034
|
-
const moveDown =
|
|
869
|
+
const moveDown = React.useCallback(e => {
|
|
1035
870
|
e.stopPropagation();
|
|
1036
871
|
mutationDown.mutateAsync(postId).catch(error => {
|
|
1037
872
|
reactToastify.toast.error(`Error: ${error}`);
|
|
1038
873
|
});
|
|
1039
874
|
}, [mutationDown, postId]);
|
|
1040
|
-
const moveUp =
|
|
875
|
+
const moveUp = React.useCallback(e => {
|
|
1041
876
|
e.stopPropagation();
|
|
1042
877
|
mutationUp.mutateAsync(postId).catch(error => {
|
|
1043
878
|
reactToastify.toast.error(`Error: ${error}`);
|
|
@@ -1143,7 +978,7 @@ function PageQueryStateContainerInner(_a) {
|
|
|
1143
978
|
children: apiFn == "get" ? children(data) : children(data)
|
|
1144
979
|
}));
|
|
1145
980
|
}
|
|
1146
|
-
const PageQueryStateContainer = /*#__PURE__*/
|
|
981
|
+
const PageQueryStateContainer = /*#__PURE__*/React.forwardRef(PageQueryStateContainerInner);
|
|
1147
982
|
|
|
1148
983
|
function PageSidebar(_a) {
|
|
1149
984
|
var {
|
|
@@ -1213,7 +1048,7 @@ const [CP, usePageTabbedTopBarContext] = react.createContext();
|
|
|
1213
1048
|
function PageTabbedTopBarProvider({
|
|
1214
1049
|
children
|
|
1215
1050
|
}) {
|
|
1216
|
-
const [containerEl, setContainerEl] =
|
|
1051
|
+
const [containerEl, setContainerEl] = React.useState(null);
|
|
1217
1052
|
return jsxRuntime.jsx(CP, {
|
|
1218
1053
|
value: {
|
|
1219
1054
|
containerEl,
|
|
@@ -1229,12 +1064,12 @@ function PageTabbedTopBar(_a) {
|
|
|
1229
1064
|
children
|
|
1230
1065
|
} = _a,
|
|
1231
1066
|
props = tslib.__rest(_a, ["title", "breadcrumbs", "children"]);
|
|
1232
|
-
const ref = /*#__PURE__*/
|
|
1067
|
+
const ref = /*#__PURE__*/React.createRef();
|
|
1233
1068
|
const {
|
|
1234
1069
|
setContainerEl
|
|
1235
1070
|
} = usePageTabbedTopBarContext();
|
|
1236
|
-
const [isSet, setIsSet] =
|
|
1237
|
-
|
|
1071
|
+
const [isSet, setIsSet] = React.useState(false);
|
|
1072
|
+
React.useEffect(() => {
|
|
1238
1073
|
if (!isSet && ref.current) {
|
|
1239
1074
|
setContainerEl(ref.current);
|
|
1240
1075
|
setIsSet(true);
|
|
@@ -1268,14 +1103,14 @@ function PageTopBarToolbar({
|
|
|
1268
1103
|
const {
|
|
1269
1104
|
containerEl
|
|
1270
1105
|
} = usePageTabbedTopBarContext();
|
|
1271
|
-
const [visible, setVisible] =
|
|
1272
|
-
const portal =
|
|
1106
|
+
const [visible, setVisible] = React.useState(false);
|
|
1107
|
+
const portal = React.useMemo(() => {
|
|
1273
1108
|
const node = containerEl; //?.ownerDocument.createElement("div")
|
|
1274
1109
|
// if (node) node.className = PORTAL_CLASSNAME
|
|
1275
1110
|
return node;
|
|
1276
1111
|
}, [containerEl]);
|
|
1277
1112
|
const host = containerEl !== null && containerEl !== void 0 ? containerEl : typeof window !== "undefined" ? document.body : undefined;
|
|
1278
|
-
|
|
1113
|
+
React.useLayoutEffect(() => {
|
|
1279
1114
|
if (!portal || !host) return;
|
|
1280
1115
|
try {
|
|
1281
1116
|
if (visible) host.appendChild(portal);else host.removeChild(portal);
|
|
@@ -1286,11 +1121,11 @@ function PageTopBarToolbar({
|
|
|
1286
1121
|
} catch (e) {}
|
|
1287
1122
|
};
|
|
1288
1123
|
}, [visible, portal, host]);
|
|
1289
|
-
const callback =
|
|
1124
|
+
const callback = React.useCallback(entries => {
|
|
1290
1125
|
// @ts-ignore
|
|
1291
1126
|
setVisible(entries[0].isVisible);
|
|
1292
1127
|
}, [children]);
|
|
1293
|
-
|
|
1128
|
+
React.useEffect(() => {
|
|
1294
1129
|
const opts = {
|
|
1295
1130
|
root: null,
|
|
1296
1131
|
rootMargin: '0px',
|
|
@@ -1344,7 +1179,7 @@ function Buttons$1({
|
|
|
1344
1179
|
}) {
|
|
1345
1180
|
return jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
1346
1181
|
children: [buttonBar && buttonBar.length > 0 && jsxRuntime.jsx(admin.ButtonBar, {
|
|
1347
|
-
children: buttonBar.map((button, index) => jsxRuntime.jsxs(
|
|
1182
|
+
children: buttonBar.map((button, index) => jsxRuntime.jsxs(React.Fragment, {
|
|
1348
1183
|
children: [button.type === "link" && jsxRuntime.jsx(ViewButton, {
|
|
1349
1184
|
label: button.label,
|
|
1350
1185
|
path: button.path,
|
|
@@ -1387,7 +1222,7 @@ function DetailsView(_a) {
|
|
|
1387
1222
|
} = _a,
|
|
1388
1223
|
props = tslib.__rest(_a, ["queryField", "api", "useNextRouter", "processInput", "screen", "tabbed"]);
|
|
1389
1224
|
const id = useQueryField(queryField, useNextRouter);
|
|
1390
|
-
const ref =
|
|
1225
|
+
const ref = React.useRef(null);
|
|
1391
1226
|
return jsxRuntime.jsx(PageQueryStateContainer, Object.assign({
|
|
1392
1227
|
api: api,
|
|
1393
1228
|
apiFn: "get",
|
|
@@ -1561,7 +1396,7 @@ function QueryWrapper(_a) {
|
|
|
1561
1396
|
const {
|
|
1562
1397
|
data
|
|
1563
1398
|
} = api.useApiQuery(mApi.queryKey, fn === "get" || fn === "getTransformed" ? mApi.get : mApi.getAll, react.isFunction(api$1) ? undefined : id);
|
|
1564
|
-
const transformedData =
|
|
1399
|
+
const transformedData = React.useMemo(() => {
|
|
1565
1400
|
if (data && (fn === "getTransformed" || fn === "getAllTransformed")) {
|
|
1566
1401
|
if (!transformFn) console.warn(`QueryWrapperDialog: you forgot to pass transformFn as parameter for fn ${fn}`);
|
|
1567
1402
|
return transformFn === null || transformFn === void 0 ? void 0 : transformFn(data);
|
|
@@ -1637,11 +1472,11 @@ function TableContainerContextProvider({
|
|
|
1637
1472
|
children
|
|
1638
1473
|
}) {
|
|
1639
1474
|
var _a, _b;
|
|
1640
|
-
const [showFilters, setShowFilters] =
|
|
1641
|
-
const [showMassActions, setShowMassActions] =
|
|
1642
|
-
const [visibleColumnIds, setVisibleColumnIds] =
|
|
1475
|
+
const [showFilters, setShowFilters] = React.useState(false);
|
|
1476
|
+
const [showMassActions, setShowMassActions] = React.useState(false);
|
|
1477
|
+
const [visibleColumnIds, setVisibleColumnIds] = React.useState((_a = initialVisibleColumns !== null && initialVisibleColumns !== void 0 ? initialVisibleColumns : columns === null || columns === void 0 ? void 0 : columns.map(col => getColId(col))) !== null && _a !== void 0 ? _a : []);
|
|
1643
1478
|
const filteredColumns = (_b = columns === null || columns === void 0 ? void 0 : columns.filter(col => visibleColumnIds.includes(getColId(col)))) !== null && _b !== void 0 ? _b : [];
|
|
1644
|
-
const toggleColumnVisibility =
|
|
1479
|
+
const toggleColumnVisibility = React.useCallback(id => {
|
|
1645
1480
|
const index = visibleColumnIds.indexOf(id);
|
|
1646
1481
|
if (index > -1) {
|
|
1647
1482
|
const newIds = visibleColumnIds.concat();
|
|
@@ -1651,7 +1486,7 @@ function TableContainerContextProvider({
|
|
|
1651
1486
|
setVisibleColumnIds(visibleColumnIds.concat(id));
|
|
1652
1487
|
}
|
|
1653
1488
|
}, [visibleColumnIds, setVisibleColumnIds]);
|
|
1654
|
-
const isColumnVisible =
|
|
1489
|
+
const isColumnVisible = React.useCallback(id => {
|
|
1655
1490
|
return visibleColumnIds.includes(id);
|
|
1656
1491
|
}, [visibleColumnIds]);
|
|
1657
1492
|
const Provider = provider$1;
|
|
@@ -1829,18 +1664,18 @@ function TableFilters({
|
|
|
1829
1664
|
getFilters,
|
|
1830
1665
|
setFilters
|
|
1831
1666
|
} = table.useTableContext();
|
|
1832
|
-
const handleSubmit =
|
|
1667
|
+
const handleSubmit = React.useCallback((values, actions) => {
|
|
1833
1668
|
var _a;
|
|
1834
1669
|
const params = (_a = processInput === null || processInput === void 0 ? void 0 : processInput(values)) !== null && _a !== void 0 ? _a : values;
|
|
1835
1670
|
if (!isEqual(params, getFilters())) setFilters(params);
|
|
1836
1671
|
// setFilters(processInput?.(values) ?? values)
|
|
1837
1672
|
actions.setSubmitting(false);
|
|
1838
1673
|
}, [setFilters, processInput]);
|
|
1839
|
-
const handleReset =
|
|
1674
|
+
const handleReset = React.useCallback(resetForm => {
|
|
1840
1675
|
setFilters(initialValues);
|
|
1841
1676
|
resetForm();
|
|
1842
1677
|
}, [setFilters, initialValues]);
|
|
1843
|
-
|
|
1678
|
+
React.useEffect(() => setFilters(initialValues), []);
|
|
1844
1679
|
return jsxRuntime.jsx(ui.Collapse, {
|
|
1845
1680
|
in: showFilters,
|
|
1846
1681
|
style: {
|
|
@@ -2008,14 +1843,14 @@ function ItemEditDialog(_a) {
|
|
|
2008
1843
|
error /*, error*/,
|
|
2009
1844
|
refetch
|
|
2010
1845
|
} = api.useApiQuery(api$1.queryKey, api$1.get, queryId, Object.assign({
|
|
2011
|
-
enabled: !(
|
|
1846
|
+
enabled: !(/*queryId == 0 || */queryId == "" || queryId == null || queryId == undefined),
|
|
2012
1847
|
onError: onFetchError
|
|
2013
1848
|
}, queryFetchOptions));
|
|
2014
1849
|
// const [activeTab, setActiveTab] = React.useState(form && Array.isArray(form) ? form[0].key : "");
|
|
2015
1850
|
// const [showTab, setShowTab] = React.useState(true);
|
|
2016
1851
|
const mutation = invalidateQueriesOnSuccess ? api.useInvalidateParentMutation(api$1.upsert, invalidateQueryKey !== null && invalidateQueryKey !== void 0 ? invalidateQueryKey : api$1.queryKey, querySaveOptions) : api.useApiMutation(api$1.upsert, api$1.queryKey, queryId, querySaveOptions);
|
|
2017
|
-
const retry =
|
|
2018
|
-
const saveItem =
|
|
1852
|
+
const retry = React.useCallback(() => refetch(), [refetch]);
|
|
1853
|
+
const saveItem = React.useCallback((item, actions) => tslib.__awaiter(this, void 0, void 0, function* () {
|
|
2019
1854
|
// Clear mutation error if any
|
|
2020
1855
|
mutation.reset();
|
|
2021
1856
|
const formItem = formToQueryData ? formToQueryData(item) : Object.assign({}, item);
|
|
@@ -2085,7 +1920,7 @@ function ItemEditDialog(_a) {
|
|
|
2085
1920
|
children: [jsxRuntime.jsx(ui.Modal.Body, {
|
|
2086
1921
|
pb: "6",
|
|
2087
1922
|
children: jsxRuntime.jsxs(formik.Form, {
|
|
2088
|
-
children: [/*#__PURE__*/
|
|
1923
|
+
children: [/*#__PURE__*/React.isValidElement(form$1) && form$1, Array.isArray(form$1) && jsxRuntime.jsx(form.FormRenderer, {
|
|
2089
1924
|
form: form$1
|
|
2090
1925
|
}), react.isFunction(form$1) && jsxRuntime.jsx(form.FormRenderer, {
|
|
2091
1926
|
form: form$1(data !== null && data !== void 0 ? data : values)
|
|
@@ -2131,7 +1966,7 @@ function QueryWrapperDialog({
|
|
|
2131
1966
|
refetchOnMount: false,
|
|
2132
1967
|
refetchOnWindowFocus: false
|
|
2133
1968
|
});
|
|
2134
|
-
const transformedData =
|
|
1969
|
+
const transformedData = React.useMemo(() => {
|
|
2135
1970
|
if (data && (fn === "getTransformed" || fn === "getAllTransformed")) {
|
|
2136
1971
|
if (!transformFn) console.warn(`QueryWrapperDialog: you forgot to pass transformFn as parameter for fn ${fn}`);
|
|
2137
1972
|
// @ts-ignore
|
|
@@ -2168,7 +2003,7 @@ function MultiQueryWrapperDialog({
|
|
|
2168
2003
|
staleTime: q.cache === false ? 0 : undefined
|
|
2169
2004
|
}
|
|
2170
2005
|
})));
|
|
2171
|
-
const transformedData =
|
|
2006
|
+
const transformedData = React.useMemo(() => {
|
|
2172
2007
|
return data === null || data === void 0 ? void 0 : data.map((d, index) => {
|
|
2173
2008
|
var _a, _b;
|
|
2174
2009
|
return queries[index].transformFn ? (_b = (_a = queries[index]) === null || _a === void 0 ? void 0 : _a.transformFn) === null || _b === void 0 ? void 0 : _b.call(_a, d) : d;
|
|
@@ -2195,7 +2030,10 @@ function DialogRenderer({
|
|
|
2195
2030
|
invalidateQueryKey,
|
|
2196
2031
|
queryId
|
|
2197
2032
|
}) {
|
|
2198
|
-
const
|
|
2033
|
+
const {
|
|
2034
|
+
type
|
|
2035
|
+
} = config,
|
|
2036
|
+
props = tslib.__rest(config, ["type"]);
|
|
2199
2037
|
if (config.type === "dialog") return jsxRuntime.jsx(ItemEditDialog, Object.assign({}, props, {
|
|
2200
2038
|
queryId: queryId,
|
|
2201
2039
|
invalidateQueryKey: invalidateQueryKey,
|
|
@@ -2219,7 +2057,7 @@ function RefreshButton({
|
|
|
2219
2057
|
queryKey
|
|
2220
2058
|
}) {
|
|
2221
2059
|
const invalidate = api.useInvalidateQuery(queryKey);
|
|
2222
|
-
|
|
2060
|
+
fe('ctrl+r', () => invalidate(), {
|
|
2223
2061
|
preventDefault: true
|
|
2224
2062
|
}, [invalidate]);
|
|
2225
2063
|
return jsxRuntime.jsx(ButtonBarButton, {
|
|
@@ -2256,7 +2094,7 @@ function ItemDeleteDialog(_a) {
|
|
|
2256
2094
|
const mutate = api.useMutate(mutation, {
|
|
2257
2095
|
onSuccess: () => onClose === null || onClose === void 0 ? void 0 : onClose()
|
|
2258
2096
|
});
|
|
2259
|
-
const handleDelete =
|
|
2097
|
+
const handleDelete = React.useCallback(() => mutate(queryId), [mutate, queryId]);
|
|
2260
2098
|
return jsxRuntime.jsxs(ui.Modal, Object.assign({
|
|
2261
2099
|
size: size,
|
|
2262
2100
|
show: show,
|
|
@@ -2300,9 +2138,9 @@ function TableViewProvider({
|
|
|
2300
2138
|
}) {
|
|
2301
2139
|
const openLink = hooks.useOpenLink();
|
|
2302
2140
|
const navigate = reactRouterDom.useNavigate();
|
|
2303
|
-
const [dialog, setDialog] =
|
|
2304
|
-
const onCloseDialog =
|
|
2305
|
-
const onAction =
|
|
2141
|
+
const [dialog, setDialog] = React.useState(null);
|
|
2142
|
+
const onCloseDialog = React.useCallback(() => setDialog(null), [setDialog]);
|
|
2143
|
+
const onAction = React.useCallback((action, item) => {
|
|
2306
2144
|
switch (action.type) {
|
|
2307
2145
|
case "view":
|
|
2308
2146
|
{
|
|
@@ -2443,7 +2281,7 @@ function TableRowPublishPostButton$1(_a) {
|
|
|
2443
2281
|
const mutation = api.useInvalidateParentMutation(isDraft ? api$1.publish : api$1.unpublish, invalidateQueryKey !== null && invalidateQueryKey !== void 0 ? invalidateQueryKey : api$1.queryKey, {
|
|
2444
2282
|
networkMode: "always"
|
|
2445
2283
|
});
|
|
2446
|
-
const publish =
|
|
2284
|
+
const publish = React.useCallback(event => {
|
|
2447
2285
|
event === null || event === void 0 ? void 0 : event.preventDefault();
|
|
2448
2286
|
event === null || event === void 0 ? void 0 : event.stopPropagation();
|
|
2449
2287
|
mutation.reset();
|
|
@@ -2477,7 +2315,7 @@ function TableRowActionsView({
|
|
|
2477
2315
|
alignItems: "stretch",
|
|
2478
2316
|
placeContent: "end",
|
|
2479
2317
|
h: "full",
|
|
2480
|
-
children: (_a = react.runIfFn(rowActions, item)) === null || _a === void 0 ? void 0 : _a.map((action, index) => jsxRuntime.jsxs(
|
|
2318
|
+
children: (_a = react.runIfFn(rowActions, item)) === null || _a === void 0 ? void 0 : _a.map((action, index) => jsxRuntime.jsxs(React.Fragment, {
|
|
2481
2319
|
children: [action.type === "publish" && jsxRuntime.jsx(TableRowPublishPostButton$1, {
|
|
2482
2320
|
id: item.id,
|
|
2483
2321
|
api: api,
|
|
@@ -2501,7 +2339,7 @@ function ActionButton(_a) {
|
|
|
2501
2339
|
onClick
|
|
2502
2340
|
} = _a,
|
|
2503
2341
|
props = tslib.__rest(_a, ["onClick"]);
|
|
2504
|
-
const handleClick =
|
|
2342
|
+
const handleClick = React.useCallback(event => {
|
|
2505
2343
|
event === null || event === void 0 ? void 0 : event.preventDefault();
|
|
2506
2344
|
event === null || event === void 0 ? void 0 : event.stopPropagation();
|
|
2507
2345
|
onClick === null || onClick === void 0 ? void 0 : onClick(event);
|
|
@@ -2539,7 +2377,7 @@ function useTableProps(api, table, rowActions, queryParams) {
|
|
|
2539
2377
|
columns: c
|
|
2540
2378
|
} = table,
|
|
2541
2379
|
props = tslib.__rest(table, ["onRowClick", "columns"]);
|
|
2542
|
-
const onRowClickHandler =
|
|
2380
|
+
const onRowClickHandler = React.useCallback(item => {
|
|
2543
2381
|
var _a;
|
|
2544
2382
|
const config = react.runIfFn(onRowClick, item);
|
|
2545
2383
|
if (config) {
|
|
@@ -2562,7 +2400,7 @@ function useTableProps(api, table, rowActions, queryParams) {
|
|
|
2562
2400
|
}
|
|
2563
2401
|
}
|
|
2564
2402
|
}, [navigate, onRowClick]);
|
|
2565
|
-
const columns =
|
|
2403
|
+
const columns = React.useMemo(() => {
|
|
2566
2404
|
const columns = table.columns.concat([]);
|
|
2567
2405
|
if (rowActions) {
|
|
2568
2406
|
columns.push(createColumnHelper().display({
|
|
@@ -2687,7 +2525,7 @@ function TableButtonBar({
|
|
|
2687
2525
|
api,
|
|
2688
2526
|
children
|
|
2689
2527
|
}) {
|
|
2690
|
-
const createDialogFn =
|
|
2528
|
+
const createDialogFn = React.useCallback(data => {
|
|
2691
2529
|
return onClose => {
|
|
2692
2530
|
var _a;
|
|
2693
2531
|
const view = (_a = react.runIfFn(createView, data)) !== null && _a !== void 0 ? _a : react.runIfFn(editView, null);
|
|
@@ -2704,7 +2542,7 @@ function TableButtonBar({
|
|
|
2704
2542
|
return jsxRuntime.jsxs(ButtonBar, {
|
|
2705
2543
|
children: [jsxRuntime.jsx(RefreshButton, {
|
|
2706
2544
|
queryKey: queryKey
|
|
2707
|
-
}), buttonBar && buttonBar.map((button, index) => jsxRuntime.jsxs(
|
|
2545
|
+
}), buttonBar && buttonBar.map((button, index) => jsxRuntime.jsxs(React.Fragment, {
|
|
2708
2546
|
children: [button.type === "create" && editView && jsxRuntime.jsx(TableCreateButton, {
|
|
2709
2547
|
buildDialog: createDialogFn(button.data),
|
|
2710
2548
|
icon: button.icon,
|
|
@@ -2723,7 +2561,7 @@ function TableWrapper({
|
|
|
2723
2561
|
queryParams
|
|
2724
2562
|
}) {
|
|
2725
2563
|
const tableProps = useTableProps(api, table$1, rowActions, queryParams);
|
|
2726
|
-
const _subtitle =
|
|
2564
|
+
const _subtitle = React.useMemo(() => {
|
|
2727
2565
|
if (!subtitle) return undefined;
|
|
2728
2566
|
return data => {
|
|
2729
2567
|
return jsxRuntime.jsx("div", {
|
|
@@ -2785,7 +2623,7 @@ function useQueries(queries) {
|
|
|
2785
2623
|
function useInvalidate(queries) {
|
|
2786
2624
|
const queryClient = reactQuery.useQueryClient();
|
|
2787
2625
|
const params = reactRouterDom.useParams();
|
|
2788
|
-
const invalidate =
|
|
2626
|
+
const invalidate = React.useCallback(() => {
|
|
2789
2627
|
const queryKeys = [];
|
|
2790
2628
|
queries.forEach(q => {
|
|
2791
2629
|
if (!q.queryField || !react.isFunction(q.api)) {
|
|
@@ -2968,7 +2806,7 @@ function NextMenuItem(_a) {
|
|
|
2968
2806
|
const selected = path == "/" ? pathname == "/" : pathname.startsWith(path.startsWith("/") ? path : `/${path}`);
|
|
2969
2807
|
const match = path == "/" ? pathname == "/" : pathname == (path.startsWith("/") ? path : `/${path}`);
|
|
2970
2808
|
return jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
2971
|
-
children: [jsxRuntime.jsxs(
|
|
2809
|
+
children: [jsxRuntime.jsxs(Link, {
|
|
2972
2810
|
href: path,
|
|
2973
2811
|
style: {
|
|
2974
2812
|
position: "relative"
|
|
@@ -3044,13 +2882,13 @@ function UserBlock({
|
|
|
3044
2882
|
menuConfig,
|
|
3045
2883
|
path
|
|
3046
2884
|
}) {
|
|
3047
|
-
var _a, _b
|
|
2885
|
+
var _a, _b;
|
|
3048
2886
|
const {
|
|
3049
2887
|
isLoading,
|
|
3050
2888
|
user
|
|
3051
2889
|
} = auth.useSessionUser();
|
|
3052
2890
|
const navigate = reactRouterDom.useNavigate();
|
|
3053
|
-
const handleClick =
|
|
2891
|
+
const handleClick = React.useCallback(() => navigate(path), [navigate, path]);
|
|
3054
2892
|
if (isLoading) return null;
|
|
3055
2893
|
return jsxRuntime.jsxs("div", {
|
|
3056
2894
|
dflex: true,
|
|
@@ -3072,7 +2910,7 @@ function UserBlock({
|
|
|
3072
2910
|
}), jsxRuntime.jsx("span", {
|
|
3073
2911
|
flexGrow: true,
|
|
3074
2912
|
ms: "2",
|
|
3075
|
-
children: `${capitalize((
|
|
2913
|
+
children: `${capitalize((user === null || user === void 0 ? void 0 : user.firstname) || (user === null || user === void 0 ? void 0 : user.lastname) || "")}`
|
|
3076
2914
|
}), jsxRuntime.jsx(ui.IconButton, {
|
|
3077
2915
|
variant: "borderless",
|
|
3078
2916
|
corners: "pill",
|
|
@@ -3094,7 +2932,7 @@ function OverflowMenu({
|
|
|
3094
2932
|
darkMode,
|
|
3095
2933
|
menuConfig
|
|
3096
2934
|
}) {
|
|
3097
|
-
const [showPopup, setShowPopup] =
|
|
2935
|
+
const [showPopup, setShowPopup] = React.useState(false);
|
|
3098
2936
|
const navigate = reactRouterDom.useNavigate();
|
|
3099
2937
|
const logout = auth.useSessionLogout(false);
|
|
3100
2938
|
return jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
@@ -3152,7 +2990,7 @@ function MenuItem(_a) {
|
|
|
3152
2990
|
children
|
|
3153
2991
|
} = _a,
|
|
3154
2992
|
props = tslib.__rest(_a, ["icon", "onClick", "children"]);
|
|
3155
|
-
const handleClick =
|
|
2993
|
+
const handleClick = React.useCallback(e => {
|
|
3156
2994
|
e.preventDefault();
|
|
3157
2995
|
e.stopPropagation();
|
|
3158
2996
|
onClick === null || onClick === void 0 ? void 0 : onClick(e);
|
|
@@ -3212,7 +3050,7 @@ function Sidebar(_a) {
|
|
|
3212
3050
|
darkMode: darkMode
|
|
3213
3051
|
}), jsxRuntime.jsx("h1", {
|
|
3214
3052
|
textSize: "md",
|
|
3215
|
-
children: title
|
|
3053
|
+
children: title || env.AppEnv.appName()
|
|
3216
3054
|
})]
|
|
3217
3055
|
}), jsxRuntime.jsx(Menu, {
|
|
3218
3056
|
overflowY: "auto",
|
|
@@ -3239,7 +3077,7 @@ function Logo(_a) {
|
|
|
3239
3077
|
} = _a,
|
|
3240
3078
|
props = tslib.__rest(_a, ["width", "height", "darkMode"]);
|
|
3241
3079
|
return jsxRuntime.jsx("div", Object.assign({}, props, {
|
|
3242
|
-
children: jsxRuntime.jsx(
|
|
3080
|
+
children: jsxRuntime.jsx(Image, {
|
|
3243
3081
|
src: `/logo_${darkMode ? "light" : "dark"}.png`,
|
|
3244
3082
|
alt: env.AppEnv.appName(),
|
|
3245
3083
|
width: width,
|
|
@@ -3298,7 +3136,7 @@ function LeftPanel({
|
|
|
3298
3136
|
userSettingsPath
|
|
3299
3137
|
}) {
|
|
3300
3138
|
const [isOpen, __, toggle] = hooks.useBoolean(true);
|
|
3301
|
-
|
|
3139
|
+
fe('ctrl+t', () => toggle(), [toggle]);
|
|
3302
3140
|
return jsxRuntime.jsxs("div", {
|
|
3303
3141
|
ms: isOpen ? "0" : "-14.5rem",
|
|
3304
3142
|
transition: "all",
|
|
@@ -3372,11 +3210,11 @@ function AttachDialog(_a) {
|
|
|
3372
3210
|
refetch: refetchAll,
|
|
3373
3211
|
error: errorAll
|
|
3374
3212
|
} = api.useApiQuery(queryFetchAllKey, queryFetchAllFn);
|
|
3375
|
-
const [selectedResources, setSelectedResources] =
|
|
3213
|
+
const [selectedResources, setSelectedResources] = React.useState([]);
|
|
3376
3214
|
const isLoading = fetchLoading || fetchAllLoading;
|
|
3377
3215
|
const isError = fetchError || fetchAllError;
|
|
3378
3216
|
const mutation = api.useApiMutation(querySaveFn, queryKey, queryId);
|
|
3379
|
-
const handleClick =
|
|
3217
|
+
const handleClick = React.useCallback(event => {
|
|
3380
3218
|
var _a;
|
|
3381
3219
|
const id = (_a = event === null || event === void 0 ? void 0 : event.currentTarget.dataset.id) !== null && _a !== void 0 ? _a : "";
|
|
3382
3220
|
const arr = selectedResources.concat([]);
|
|
@@ -3384,11 +3222,11 @@ function AttachDialog(_a) {
|
|
|
3384
3222
|
if (i != -1) arr.splice(i, 1);else arr.push(id);
|
|
3385
3223
|
setSelectedResources(arr);
|
|
3386
3224
|
}, [selectedResources, setSelectedResources]);
|
|
3387
|
-
const retry =
|
|
3225
|
+
const retry = React.useCallback(() => {
|
|
3388
3226
|
if (fetchError) refetch();
|
|
3389
3227
|
if (fetchAllError) refetchAll();
|
|
3390
3228
|
}, [refetch, refetchAll, fetchError, fetchAllError]);
|
|
3391
|
-
const saveItem =
|
|
3229
|
+
const saveItem = React.useCallback(() => {
|
|
3392
3230
|
// Clear mutation error if any
|
|
3393
3231
|
mutation.reset();
|
|
3394
3232
|
mutation.mutateAsync({
|
|
@@ -3405,7 +3243,7 @@ function AttachDialog(_a) {
|
|
|
3405
3243
|
if (onSaveError) onSaveError();else reactToastify.toast.error(`Error adding ${itemLabel}`);
|
|
3406
3244
|
});
|
|
3407
3245
|
}, [mutation, queryId, onSuccess, queryClient, onSaveError, onClose]);
|
|
3408
|
-
const resources =
|
|
3246
|
+
const resources = React.useMemo(() => {
|
|
3409
3247
|
let r = [];
|
|
3410
3248
|
if (attached && data) {
|
|
3411
3249
|
r = [].concat(data);
|
|
@@ -3553,7 +3391,7 @@ function FormActionDialog(_a) {
|
|
|
3553
3391
|
}, formikProps, {
|
|
3554
3392
|
children: [jsxRuntime.jsxs(ui.Modal.Body, {
|
|
3555
3393
|
pb: "6",
|
|
3556
|
-
children: [/*#__PURE__*/
|
|
3394
|
+
children: [/*#__PURE__*/React.isValidElement(form$1) && form$1, Array.isArray(form$1) && jsxRuntime.jsx(form.FormRenderer, {
|
|
3557
3395
|
form: form$1
|
|
3558
3396
|
})]
|
|
3559
3397
|
}), jsxRuntime.jsxs(ui.Modal.Footer, {
|
|
@@ -3588,7 +3426,7 @@ function PageSectionTitle(_a) {
|
|
|
3588
3426
|
}));
|
|
3589
3427
|
}
|
|
3590
3428
|
|
|
3591
|
-
const PageStateContainer = /*#__PURE__*/
|
|
3429
|
+
const PageStateContainer = /*#__PURE__*/React.forwardRef((_a, ref) => {
|
|
3592
3430
|
var {
|
|
3593
3431
|
loading = false,
|
|
3594
3432
|
children
|
|
@@ -3687,7 +3525,7 @@ function TableRowViewButton(_a) {
|
|
|
3687
3525
|
path
|
|
3688
3526
|
} = _a,
|
|
3689
3527
|
props = tslib.__rest(_a, ["path"]);
|
|
3690
|
-
const openPage =
|
|
3528
|
+
const openPage = React.useCallback(event => {
|
|
3691
3529
|
event === null || event === void 0 ? void 0 : event.preventDefault();
|
|
3692
3530
|
event === null || event === void 0 ? void 0 : event.stopPropagation();
|
|
3693
3531
|
window.open(`${env.AppEnv.websiteUrl()}/${path}`, '_blank');
|
|
@@ -3704,7 +3542,7 @@ function TableRowNavigateButton(_a) {
|
|
|
3704
3542
|
} = _a,
|
|
3705
3543
|
props = tslib.__rest(_a, ["path"]);
|
|
3706
3544
|
const navigate = reactRouterDom.useNavigate();
|
|
3707
|
-
const handleClick =
|
|
3545
|
+
const handleClick = React.useCallback(event => {
|
|
3708
3546
|
event === null || event === void 0 ? void 0 : event.preventDefault();
|
|
3709
3547
|
event === null || event === void 0 ? void 0 : event.stopPropagation();
|
|
3710
3548
|
navigate(`${path}`);
|
|
@@ -3803,7 +3641,7 @@ function TableRowPublishPostButton(_a) {
|
|
|
3803
3641
|
const mutation = api.useInvalidateParentMutation(isDraft ? api$1.publish : api$1.unpublish, invalidateQueryKey !== null && invalidateQueryKey !== void 0 ? invalidateQueryKey : api$1.queryKey, {
|
|
3804
3642
|
networkMode: "always"
|
|
3805
3643
|
});
|
|
3806
|
-
const publish =
|
|
3644
|
+
const publish = React.useCallback(event => {
|
|
3807
3645
|
event === null || event === void 0 ? void 0 : event.preventDefault();
|
|
3808
3646
|
event === null || event === void 0 ? void 0 : event.stopPropagation();
|
|
3809
3647
|
mutation.reset();
|