blixify-ui-web 1.2.23 → 1.2.25
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/lib/components/data/dataTemplate/index.d.ts.map +1 -1
- package/lib/components/data/dataTemplate/index.js +300 -109
- package/lib/components/data/dataTemplate/index.js.map +1 -1
- package/lib/components/data/dataTemplate/model.d.ts +10 -0
- package/lib/components/data/dataTemplate/model.d.ts.map +1 -1
- package/lib/components/data/listModule.d.ts.map +1 -1
- package/lib/components/data/listModule.js +5 -9
- package/lib/components/data/listModule.js.map +1 -1
- package/lib/components/display/newKanban/index.d.ts +10 -0
- package/lib/components/display/newKanban/index.d.ts.map +1 -1
- package/lib/components/display/newKanban/index.js +134 -54
- package/lib/components/display/newKanban/index.js.map +1 -1
- package/lib/components/display/newList/index.d.ts +48 -5
- package/lib/components/display/newList/index.d.ts.map +1 -1
- package/lib/components/display/newList/index.js +453 -31
- package/lib/components/display/newList/index.js.map +1 -1
- package/lib/components/display/newTable/index.d.ts +15 -0
- package/lib/components/display/newTable/index.d.ts.map +1 -1
- package/lib/components/display/newTable/index.js +170 -43
- package/lib/components/display/newTable/index.js.map +1 -1
- package/lib/components/display/table/index.d.ts +3 -0
- package/lib/components/display/table/index.d.ts.map +1 -1
- package/lib/components/display/table/index.js +30 -22
- package/lib/components/display/table/index.js.map +1 -1
- package/lib/components/index.d.ts +2 -0
- package/lib/components/index.d.ts.map +1 -1
- package/lib/components/index.js.map +1 -1
- package/lib/components/input/address/index.d.ts.map +1 -1
- package/lib/components/input/address/index.js.map +1 -1
- package/lib/components/input/textInput/index.d.ts.map +1 -1
- package/lib/components/input/textInput/index.js.map +1 -1
- package/lib/tail.css +2 -2
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/display/newTable/index.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,EACZ,YAAY,EAKb,MAAM,OAAO,CAAC;AAGf,OAAO,EACL,YAAY,EAEZ,WAAW,EACZ,MAAM,+BAA+B,CAAC;AAQvC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/display/newTable/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -96,6 +96,7 @@ var readModule_1 = require("../../data/readModule");
|
|
|
96
96
|
var updateModule_1 = require("../../data/updateModule");
|
|
97
97
|
var utils_1 = require("../../data/utils");
|
|
98
98
|
var detailList_1 = require("../detailList");
|
|
99
|
+
var tag_1 = require("../tag");
|
|
99
100
|
var textButton_1 = require("../../action/textButton");
|
|
100
101
|
var iconButton_1 = require("../../action/iconButton");
|
|
101
102
|
var link_1 = require("../../structure/link");
|
|
@@ -110,8 +111,37 @@ var resolveValue = function (row, key) {
|
|
|
110
111
|
}
|
|
111
112
|
return value;
|
|
112
113
|
};
|
|
114
|
+
// INFO: resolves a display-safe string from spaceRow (may contain React elements)
|
|
115
|
+
// falling back to raw row data when the value is not a primitive.
|
|
116
|
+
var resolveValueToString = function (key, source, row) {
|
|
117
|
+
var spaceVal = resolveValue(source, key);
|
|
118
|
+
if (typeof spaceVal === "boolean") {
|
|
119
|
+
return spaceVal ? "Yes" : "No";
|
|
120
|
+
}
|
|
121
|
+
if (typeof spaceVal === "string" || typeof spaceVal === "number") {
|
|
122
|
+
return String(spaceVal);
|
|
123
|
+
}
|
|
124
|
+
if (Array.isArray(spaceVal) &&
|
|
125
|
+
spaceVal.length > 0 &&
|
|
126
|
+
spaceVal.every(function (eachVal) { return typeof eachVal === "string" || typeof eachVal === "number"; })) {
|
|
127
|
+
return spaceVal.join(", ");
|
|
128
|
+
}
|
|
129
|
+
var rawVal = resolveValue(row, key);
|
|
130
|
+
if (typeof rawVal === "boolean") {
|
|
131
|
+
return rawVal ? "Yes" : "No";
|
|
132
|
+
}
|
|
133
|
+
if (typeof rawVal === "string" || typeof rawVal === "number") {
|
|
134
|
+
return String(rawVal);
|
|
135
|
+
}
|
|
136
|
+
if (Array.isArray(rawVal) &&
|
|
137
|
+
rawVal.length > 0 &&
|
|
138
|
+
rawVal.every(function (eachVal) { return typeof eachVal === "string" || typeof eachVal === "number"; })) {
|
|
139
|
+
return rawVal.join(", ");
|
|
140
|
+
}
|
|
141
|
+
return "";
|
|
142
|
+
};
|
|
113
143
|
var NewTable = function (props) {
|
|
114
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
144
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
115
145
|
var columns = (_b = (_a = props.columns) !== null && _a !== void 0 ? _a : props.header) !== null && _b !== void 0 ? _b : [];
|
|
116
146
|
var defaultLimit = 10;
|
|
117
147
|
var defaultPageSize = 5;
|
|
@@ -160,24 +190,24 @@ var NewTable = function (props) {
|
|
|
160
190
|
flatColumns.length = 0;
|
|
161
191
|
flatColumns.push.apply(flatColumns, __spreadArray(__spreadArray(__spreadArray([], leftCols, false), middleCols, false), rightCols, false));
|
|
162
192
|
}
|
|
163
|
-
var
|
|
193
|
+
var _q = (0, react_2.useState)(props.fixedPagination ? true : false), isFixed = _q[0], setIsFixed = _q[1];
|
|
164
194
|
//=====================================================================================
|
|
165
195
|
// SECTION: Advanced Settings
|
|
166
196
|
//=====================================================================================
|
|
167
|
-
var
|
|
168
|
-
var
|
|
197
|
+
var _r = (0, react_2.useState)(""), filterModal = _r[0], setFilterModal = _r[1];
|
|
198
|
+
var _s = (0, react_2.useState)(""), addColumnModal = _s[0], setAddColumnModal = _s[1];
|
|
169
199
|
//=====================================================================================
|
|
170
200
|
// SECTION: Editable & Addable cells
|
|
171
201
|
//=====================================================================================
|
|
172
|
-
var
|
|
173
|
-
var
|
|
174
|
-
var
|
|
175
|
-
var
|
|
176
|
-
var
|
|
177
|
-
var
|
|
178
|
-
var
|
|
179
|
-
var
|
|
180
|
-
var
|
|
202
|
+
var _t = (0, react_2.useState)(""), editDataRowId = _t[0], setEditDataRowId = _t[1];
|
|
203
|
+
var _u = (0, react_2.useState)(""), editDataHeaderKey = _u[0], setEditDataHeaderKey = _u[1];
|
|
204
|
+
var _v = (0, react_2.useState)({}), editDataValue = _v[0], setEditDataValue = _v[1];
|
|
205
|
+
var _w = (0, react_2.useState)(false), editDataIsLoading = _w[0], setEditDataIsLoading = _w[1];
|
|
206
|
+
var _x = (0, react_2.useState)(false), addData = _x[0], setAddData = _x[1];
|
|
207
|
+
var _y = (0, react_2.useState)({}), addDataValue = _y[0], setAddDataValue = _y[1];
|
|
208
|
+
var _z = (0, react_2.useState)({}), referencesOptions = _z[0], setReferencesOptions = _z[1];
|
|
209
|
+
var _0 = (0, react_2.useState)({}), referencesDetails = _0[0], setReferencesDetails = _0[1];
|
|
210
|
+
var _1 = (0, react_2.useState)(false), referenceLoading = _1[0], setReferenceLoading = _1[1];
|
|
181
211
|
var editDataValueRef = (0, react_2.useRef)({});
|
|
182
212
|
var editDataRowIdRef = (0, react_2.useRef)("");
|
|
183
213
|
var editDataInputRefs = (0, react_2.useRef)([]);
|
|
@@ -586,7 +616,8 @@ var NewTable = function (props) {
|
|
|
586
616
|
});
|
|
587
617
|
return currentPageData.length === totalCount_1;
|
|
588
618
|
}
|
|
589
|
-
else
|
|
619
|
+
else {
|
|
620
|
+
// INFO: covers "page", "scroll", and undefined paginationType
|
|
590
621
|
props.data.map(function (eachData) {
|
|
591
622
|
var _a;
|
|
592
623
|
if ((_a = props.selectedIds) === null || _a === void 0 ? void 0 : _a.includes(eachData.id))
|
|
@@ -623,8 +654,8 @@ var NewTable = function (props) {
|
|
|
623
654
|
var editingRow = editDataRowId === rowId;
|
|
624
655
|
return (react_2.default.createElement("td", { key: col.key + String(colIndex),
|
|
625
656
|
// INFO: pinned columns use whitespace-normal so text wraps within the fixed width
|
|
626
|
-
className: "".concat(getPinProps(col.key, false) ? "" : "whitespace-nowrap", " text-sm ").concat(cellFontColor, " ").concat((_c = (_b = getPinProps(col.key, false, rowBgClass, isHoverable)) === null || _b === void 0 ? void 0 : _b.className) !== null && _c !== void 0 ? _c : ""), style: (_d = getPinProps(col.key, false, rowBgClass, isHoverable)) === null || _d === void 0 ? void 0 : _d.style },
|
|
627
|
-
react_2.default.createElement("div", { className: "w-max
|
|
657
|
+
className: "".concat(cellPadding, " ").concat(getPinProps(col.key, false) ? "" : "whitespace-nowrap", " text-sm ").concat(cellFontColor, " ").concat((_c = (_b = getPinProps(col.key, false, rowBgClass, isHoverable)) === null || _b === void 0 ? void 0 : _b.className) !== null && _c !== void 0 ? _c : ""), style: (_d = getPinProps(col.key, false, rowBgClass, isHoverable)) === null || _d === void 0 ? void 0 : _d.style },
|
|
658
|
+
react_2.default.createElement("div", { className: "w-max p-[1px]", onClick: function (e) {
|
|
628
659
|
e.stopPropagation();
|
|
629
660
|
handleEditDataOnClick(rowId, col.key, rowData);
|
|
630
661
|
} }, renderFormCell(rowData, tempDS, editingRow ? editDataInputRefs.current[colIndex] : null, {
|
|
@@ -734,6 +765,9 @@ var NewTable = function (props) {
|
|
|
734
765
|
var _a, _b, _c, _d, _e;
|
|
735
766
|
if (!((_a = props.multiActionFloatingBtns) === null || _a === void 0 ? void 0 : _a.length))
|
|
736
767
|
return null;
|
|
768
|
+
var visibleBtns = props.multiActionFloatingBtns.filter(function (btn) { return !btn.hide; });
|
|
769
|
+
if (visibleBtns.length === 0)
|
|
770
|
+
return null;
|
|
737
771
|
var hasSelection = props.selectAll || ((_c = (_b = props.selectedIds) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0) > 0;
|
|
738
772
|
if (!hasSelection)
|
|
739
773
|
return null;
|
|
@@ -753,14 +787,14 @@ var NewTable = function (props) {
|
|
|
753
787
|
.map(function (btn) { return (react_2.default.createElement(textButton_1.TextButton, { key: btn.id, text: btn.btnText, className: "px-2 py-1 text-xs sm:text-sm whitespace-nowrap ".concat(props.darkMode ? "!text-gray-300 hover:!text-primary-300" : "!text-gray-600 hover:!text-primary-600"), onClick: function () { return btn.onClick(btn.id); } })); });
|
|
754
788
|
};
|
|
755
789
|
var pillBase = "shadow-xl ".concat(borderRadius, " ").concat(bgColor, " border ").concat(props.darkMode ? "border-primary-300" : "border-primary-500");
|
|
756
|
-
return (react_2.default.createElement("div", { className: "fixed bottom-10 inset-x-4 z-10 flex justify-center" },
|
|
757
|
-
react_2.default.createElement("div", { className: "sm:hidden flex flex-col w-full px-4 py-2.5 ".concat(pillBase) },
|
|
790
|
+
return (react_2.default.createElement("div", { className: "fixed ".concat(props.multiActionFloatingOffset || "bottom-10", " inset-x-4 z-10 flex justify-center pointer-events-none") },
|
|
791
|
+
react_2.default.createElement("div", { className: "sm:hidden flex flex-col w-full px-4 py-2.5 pointer-events-auto ".concat(pillBase) },
|
|
758
792
|
react_2.default.createElement("div", { className: "flex items-center justify-between" },
|
|
759
793
|
renderSelectedCount(),
|
|
760
794
|
renderCloseBtn()),
|
|
761
795
|
react_2.default.createElement("div", { className: "border-t ".concat(borderColor, " my-1.5") }),
|
|
762
796
|
react_2.default.createElement("div", { className: "flex flex-wrap justify-center" }, renderActionBtns())),
|
|
763
|
-
react_2.default.createElement("div", { className: "hidden sm:flex items-center gap-x-1 px-4 py-2.5 min-w-0 ".concat(pillBase) },
|
|
797
|
+
react_2.default.createElement("div", { className: "hidden sm:flex items-center gap-x-1 px-4 py-2.5 min-w-0 pointer-events-auto ".concat(pillBase) },
|
|
764
798
|
renderSelectedCount(),
|
|
765
799
|
react_2.default.createElement("div", { className: "flex items-center overflow-x-auto mx-1 border-l ".concat(props.darkMode ? "border-gray-500" : "") }, renderActionBtns()),
|
|
766
800
|
renderCloseBtn())));
|
|
@@ -816,7 +850,13 @@ var NewTable = function (props) {
|
|
|
816
850
|
return (react_2.default.createElement("thead", null,
|
|
817
851
|
react_2.default.createElement("tr", { className: "border-b ".concat(dividerColor, " ").concat(tableHeaderBgColor, " ").concat(tableHeaderFontColor) },
|
|
818
852
|
props.checkbox && (react_2.default.createElement("th", { className: "w-10 ".concat(cellPadding, " ").concat(hasPinColumns ? tableHeaderBgColor : ""), style: hasPinColumns
|
|
819
|
-
? {
|
|
853
|
+
? {
|
|
854
|
+
position: "sticky",
|
|
855
|
+
left: 0,
|
|
856
|
+
zIndex: 3,
|
|
857
|
+
width: CHECKBOX_WIDTH,
|
|
858
|
+
minWidth: CHECKBOX_WIDTH,
|
|
859
|
+
}
|
|
820
860
|
: undefined }, renderSelectAll())),
|
|
821
861
|
flatColumns.map(function (col) {
|
|
822
862
|
var _a, _b, _c, _d;
|
|
@@ -836,7 +876,13 @@ var NewTable = function (props) {
|
|
|
836
876
|
return (react_2.default.createElement("thead", null,
|
|
837
877
|
react_2.default.createElement("tr", { className: "border-b ".concat(dividerColor, " ").concat(tableHeaderBgColor, " ").concat(tableHeaderFontColor) },
|
|
838
878
|
props.checkbox && (react_2.default.createElement("th", { className: "w-10 ".concat(cellPadding, " ").concat(hasPinColumns ? tableHeaderBgColor : ""), style: hasPinColumns
|
|
839
|
-
? {
|
|
879
|
+
? {
|
|
880
|
+
position: "sticky",
|
|
881
|
+
left: 0,
|
|
882
|
+
zIndex: 3,
|
|
883
|
+
width: CHECKBOX_WIDTH,
|
|
884
|
+
minWidth: CHECKBOX_WIDTH,
|
|
885
|
+
}
|
|
840
886
|
: undefined, rowSpan: 2 }, renderSelectAll())),
|
|
841
887
|
visibleColumns.map(function (col) {
|
|
842
888
|
var _a, _b, _c, _d;
|
|
@@ -940,18 +986,84 @@ var NewTable = function (props) {
|
|
|
940
986
|
var expandHeaderFontColor_1 = props.darkMode ? "text-white" : "";
|
|
941
987
|
var headerBgColor_1 = props.darkMode ? "bg-gray-900" : "";
|
|
942
988
|
var headerFontColor_1 = props.darkMode ? "text-white" : "";
|
|
989
|
+
// INFO: renders tag + trailing text adjacent to the Collapse title
|
|
990
|
+
var renderMobileTitleAdjacent_1 = function (row, spaceRow) {
|
|
991
|
+
var _a;
|
|
992
|
+
var ta = (_a = props.mobileTooltip) === null || _a === void 0 ? void 0 : _a.titleAdjacent;
|
|
993
|
+
if (!ta)
|
|
994
|
+
return undefined;
|
|
995
|
+
var source = spaceRow !== null && spaceRow !== void 0 ? spaceRow : row;
|
|
996
|
+
var tagValue = ta.tagKey
|
|
997
|
+
? resolveValueToString(ta.tagKey, source, row)
|
|
998
|
+
: "";
|
|
999
|
+
var trailingValue = ta.trailingKey
|
|
1000
|
+
? resolveValueToString(ta.trailingKey, source, row)
|
|
1001
|
+
: "";
|
|
1002
|
+
if (!tagValue && !trailingValue)
|
|
1003
|
+
return undefined;
|
|
1004
|
+
var tagColor = tagValue && ta.tagColor ? ta.tagColor[tagValue] : undefined;
|
|
1005
|
+
return (react_2.default.createElement("div", { className: "flex items-center gap-2 mr-2" },
|
|
1006
|
+
tagValue && (react_2.default.createElement(tag_1.Tag, { tagText: String(tagValue), size: "small", variant: "flat", color: tagColor !== null && tagColor !== void 0 ? tagColor : undefined, rounded: "md" })),
|
|
1007
|
+
trailingValue && (react_2.default.createElement("span", { className: "text-xs whitespace-nowrap ".concat(props.darkMode ? "text-gray-300" : "text-gray-500") }, String(trailingValue)))));
|
|
1008
|
+
};
|
|
1009
|
+
// INFO: renders the hover tooltip card content — image, summary pairs, and tags
|
|
1010
|
+
var renderMobileTooltipContent_1 = function (row, spaceRow) {
|
|
1011
|
+
var _a, _b, _c;
|
|
1012
|
+
var tt = (_a = props.mobileTooltip) === null || _a === void 0 ? void 0 : _a.tooltip;
|
|
1013
|
+
if (!tt)
|
|
1014
|
+
return null;
|
|
1015
|
+
var source = spaceRow !== null && spaceRow !== void 0 ? spaceRow : row;
|
|
1016
|
+
var imageUrl = tt.imageKey
|
|
1017
|
+
? resolveValue(source, tt.imageKey)
|
|
1018
|
+
: undefined;
|
|
1019
|
+
var summaryPairs = ((_b = tt.summaryKeys) !== null && _b !== void 0 ? _b : [])
|
|
1020
|
+
.map(function (key) {
|
|
1021
|
+
var _a;
|
|
1022
|
+
var col = flatColumns.find(function (c) { return c.key === key; });
|
|
1023
|
+
return {
|
|
1024
|
+
key: key,
|
|
1025
|
+
label: (_a = col === null || col === void 0 ? void 0 : col.title) !== null && _a !== void 0 ? _a : key,
|
|
1026
|
+
value: resolveValue(source, key),
|
|
1027
|
+
};
|
|
1028
|
+
})
|
|
1029
|
+
.filter(function (p) { return p.value !== undefined && p.value !== null && p.value !== ""; });
|
|
1030
|
+
var tagValues = ((_c = tt.tagKeys) !== null && _c !== void 0 ? _c : [])
|
|
1031
|
+
.map(function (key) {
|
|
1032
|
+
var val = resolveValueToString(key, source, row);
|
|
1033
|
+
return {
|
|
1034
|
+
key: key,
|
|
1035
|
+
value: val,
|
|
1036
|
+
color: val && tt.tagColors ? tt.tagColors[val] : undefined,
|
|
1037
|
+
};
|
|
1038
|
+
})
|
|
1039
|
+
.filter(function (t) { return !!t.value; });
|
|
1040
|
+
if (!imageUrl && summaryPairs.length === 0 && tagValues.length === 0)
|
|
1041
|
+
return null;
|
|
1042
|
+
return (react_2.default.createElement("div", { className: "rounded-xl border shadow-lg p-3 w-72 ".concat(props.darkMode ? "bg-gray-800 border-gray-700" : "bg-white border-gray-200") },
|
|
1043
|
+
react_2.default.createElement("div", { className: "flex gap-3" },
|
|
1044
|
+
imageUrl && (react_2.default.createElement("img", { src: String(imageUrl), alt: "", className: "h-14 w-14 rounded-lg object-cover flex-shrink-0" })),
|
|
1045
|
+
react_2.default.createElement("div", { className: "flex flex-col gap-1.5 min-w-0 flex-1" }, summaryPairs.map(function (p) { return (react_2.default.createElement("div", { key: p.key, className: "flex flex-col" },
|
|
1046
|
+
react_2.default.createElement("span", { className: "text-[10px] uppercase tracking-wide ".concat(props.darkMode ? "text-gray-400" : "text-gray-400") }, p.label),
|
|
1047
|
+
react_2.default.createElement("span", { className: "text-xs font-medium ".concat(props.darkMode ? "text-gray-200" : "text-gray-700", " truncate") }, typeof p.value === "object"
|
|
1048
|
+
? JSON.stringify(p.value)
|
|
1049
|
+
: String(p.value)))); }))),
|
|
1050
|
+
tagValues.length > 0 && (react_2.default.createElement("div", { className: "flex flex-wrap gap-1 mt-2 pt-2 border-t border-gray-100" }, tagValues.map(function (t) {
|
|
1051
|
+
var _a;
|
|
1052
|
+
return (react_2.default.createElement(tag_1.Tag, { key: t.key, tagText: String(t.value), size: "small", variant: "flat", color: (_a = t.color) !== null && _a !== void 0 ? _a : undefined, rounded: "md" }));
|
|
1053
|
+
})))));
|
|
1054
|
+
};
|
|
943
1055
|
return (react_2.default.createElement("div", null,
|
|
944
|
-
react_2.default.createElement("div", { className: "w-full overflow-hidden border ".concat(borderRadius, " ").concat(borderColor, " ").concat(bgColor, " shadow-sm divide-y ").concat(dividerColor, " ").concat((
|
|
1056
|
+
react_2.default.createElement("div", { className: "w-full ".concat(((_h = props.mobileTooltip) === null || _h === void 0 ? void 0 : _h.tooltip) ? "overflow-visible" : "overflow-hidden", " border ").concat(borderRadius, " ").concat(borderColor, " ").concat(bgColor, " shadow-sm divide-y ").concat(dividerColor, " ").concat((_j = props.className) !== null && _j !== void 0 ? _j : "") },
|
|
945
1057
|
react_2.default.createElement("div", { className: "p-3 flex justify-between" },
|
|
946
1058
|
renderSelectAll(),
|
|
947
1059
|
renderSelectedCount()),
|
|
948
1060
|
props.loading &&
|
|
949
1061
|
Array.from({ length: 3 }).map(function (_, i) { return (react_2.default.createElement("div", { key: "skeleton-".concat(i), className: "p-4" },
|
|
950
1062
|
react_2.default.createElement("div", { className: "h-5 w-3/4 rounded-md animate-pulse ".concat(props.darkMode ? "bg-gray-700" : "bg-gray-200") }))); }),
|
|
951
|
-
!props.loading && props.data.length === 0 && (react_2.default.createElement("p", { className: "p-4 text-center text-sm ".concat(cellFontColor) }, (
|
|
1063
|
+
!props.loading && props.data.length === 0 && (react_2.default.createElement("p", { className: "p-4 text-center text-sm ".concat(cellFontColor) }, (_k = props.emptyTitle) !== null && _k !== void 0 ? _k : "No items")),
|
|
952
1064
|
!props.loading &&
|
|
953
1065
|
props.data.map(function (row, index) {
|
|
954
|
-
var _a, _b, _c, _d, _e;
|
|
1066
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
955
1067
|
var spaceRow = (_a = props.spaceData) === null || _a === void 0 ? void 0 : _a[index];
|
|
956
1068
|
var cardTitle = titleCol_1
|
|
957
1069
|
? spaceRow
|
|
@@ -969,20 +1081,30 @@ var NewTable = function (props) {
|
|
|
969
1081
|
detailList.push({
|
|
970
1082
|
id: "".concat(row.id, "-more-details-btn"),
|
|
971
1083
|
title: "",
|
|
972
|
-
text: props.newTabUrl ? (react_2.default.createElement(link_1.Link, { href: props.newTabUrl + row.id + ((_e = props.addNewTabUrl) !== null && _e !== void 0 ? _e : ""), className: "flex items-center", linkType: props.linkType, custom: props.custom
|
|
1084
|
+
text: props.onClickRow && props.newTabUrl ? (react_2.default.createElement(link_1.Link, { href: props.newTabUrl + row.id + ((_e = props.addNewTabUrl) !== null && _e !== void 0 ? _e : ""), className: "flex items-center", linkType: props.linkType, custom: props.custom, onClick: function (e) {
|
|
1085
|
+
var _a;
|
|
1086
|
+
if (!e.metaKey && !e.ctrlKey) {
|
|
1087
|
+
e.preventDefault();
|
|
1088
|
+
(_a = props.onClickRow) === null || _a === void 0 ? void 0 : _a.call(props, row.id, row, spaceRow);
|
|
1089
|
+
}
|
|
1090
|
+
} },
|
|
973
1091
|
react_2.default.createElement(textButton_1.TextButton, { text: "More details", className: "text-sm", onClick: function () { } }),
|
|
974
|
-
react_2.default.createElement(solid_1.ChevronRightIcon, { className: "ml-1 w-3 h-3 text-primary-500" }))) : (react_2.default.createElement("div", { className: "flex items-center" },
|
|
1092
|
+
react_2.default.createElement(solid_1.ChevronRightIcon, { className: "ml-1 w-3 h-3 text-primary-500" }))) : props.onClickRow ? (react_2.default.createElement("div", { className: "flex items-center" },
|
|
975
1093
|
react_2.default.createElement(textButton_1.TextButton, { text: "More details", className: "text-sm", onClick: function (e) {
|
|
976
1094
|
var _a;
|
|
977
1095
|
e.stopPropagation();
|
|
978
1096
|
(_a = props.onClickRow) === null || _a === void 0 ? void 0 : _a.call(props, row.id, row, spaceRow);
|
|
979
1097
|
} }),
|
|
980
|
-
react_2.default.createElement(solid_1.ChevronRightIcon, { className: "ml-1 w-3 h-3 text-primary-500" }))),
|
|
1098
|
+
react_2.default.createElement(solid_1.ChevronRightIcon, { className: "ml-1 w-3 h-3 text-primary-500" }))) : props.newTabUrl ? (react_2.default.createElement(link_1.Link, { href: props.newTabUrl + row.id + ((_f = props.addNewTabUrl) !== null && _f !== void 0 ? _f : ""), className: "flex items-center", linkType: props.linkType, custom: props.custom },
|
|
1099
|
+
react_2.default.createElement(textButton_1.TextButton, { text: "More details", className: "text-sm", onClick: function () { } }),
|
|
1100
|
+
react_2.default.createElement(solid_1.ChevronRightIcon, { className: "ml-1 w-3 h-3 text-primary-500" }))) : null,
|
|
981
1101
|
});
|
|
982
1102
|
}
|
|
983
|
-
return (react_2.default.createElement("div", { key: row.id },
|
|
984
|
-
react_2.default.createElement(collapse_1.Collapse, { title: cardTitle, titleClassName: "text-sm font-medium !p-0 ".concat(props.onClickRow ? titleFontColor : ""), icon: props.checkbox ? renderCheckbox(isSelected, function () { }, function (e) { return handleSelectRow(row.id, e); }, "w-4 h-4 cursor-pointer") : (react_2.default.createElement(solid_1.ListBulletIcon, { className: "w-4 h-4 ".concat(props.darkMode ? "text-gray-400" : "text-gray-500") })), defaultValue: false, collapseContainerCss: "".concat(isSelected ? selectedRowBg : expandHeaderBg_1, " ").concat(expandHeaderFontColor_1), notCollapseContainerCss: "".concat(isSelected ? selectedRowBg : headerBgColor_1, " ").concat(headerFontColor_1), content: react_2.default.createElement("div", null,
|
|
985
|
-
react_2.default.createElement(detailList_1.DetailList, { title: "", list: detailList, size: "compact", darkMode: props.darkMode })) })
|
|
1103
|
+
return (react_2.default.createElement("div", { key: row.id, className: "relative group/tooltip" },
|
|
1104
|
+
react_2.default.createElement(collapse_1.Collapse, { title: cardTitle, titleClassName: "text-sm font-medium !p-0 ".concat(props.onClickRow ? titleFontColor : ""), icon: props.checkbox ? renderCheckbox(isSelected, function () { }, function (e) { return handleSelectRow(row.id, e); }, "w-4 h-4 cursor-pointer") : (react_2.default.createElement(solid_1.ListBulletIcon, { className: "w-4 h-4 ".concat(props.darkMode ? "text-gray-400" : "text-gray-500") })), defaultValue: false, additionalComp: renderMobileTitleAdjacent_1(row, spaceRow), collapseContainerCss: "".concat(isSelected ? selectedRowBg : expandHeaderBg_1, " ").concat(expandHeaderFontColor_1), notCollapseContainerCss: "".concat(isSelected ? selectedRowBg : headerBgColor_1, " ").concat(headerFontColor_1), content: react_2.default.createElement("div", null,
|
|
1105
|
+
react_2.default.createElement(detailList_1.DetailList, { title: "", list: detailList, size: "compact", darkMode: props.darkMode })) }),
|
|
1106
|
+
((_g = props.mobileTooltip) === null || _g === void 0 ? void 0 : _g.tooltip) &&
|
|
1107
|
+
renderMobileTooltipContent_1(row, spaceRow) && (react_2.default.createElement("div", { className: "absolute left-1/2 -translate-x-1/2 top-full mt-1 z-50 hidden group-hover/tooltip:block" }, renderMobileTooltipContent_1(row, spaceRow)))));
|
|
986
1108
|
})),
|
|
987
1109
|
!props.hidePagination && props.paginationType && (react_2.default.createElement("div", { className: "mt-2 flex items-center justify-between ".concat(props.fixedPagination
|
|
988
1110
|
? "pagination-container w-full sm:px-6 ".concat(borderColor, " ").concat(isFixed
|
|
@@ -993,7 +1115,7 @@ var NewTable = function (props) {
|
|
|
993
1115
|
renderPagination())),
|
|
994
1116
|
renderFloatingActionBar()));
|
|
995
1117
|
}
|
|
996
|
-
return (react_2.default.createElement("div", { className: "w-full ".concat((
|
|
1118
|
+
return (react_2.default.createElement("div", { className: "w-full ".concat((_l = props.className) !== null && _l !== void 0 ? _l : "") },
|
|
997
1119
|
react_2.default.createElement(modal_1.Modal, { open: filterModal ? true : false, title: "Filter Options", renderContent: function () {
|
|
998
1120
|
var _a, _b;
|
|
999
1121
|
return (react_2.default.createElement("div", { className: "pb-44" },
|
|
@@ -1004,7 +1126,7 @@ var NewTable = function (props) {
|
|
|
1004
1126
|
return (react_2.default.createElement("div", null, (_b = (_a = props.advSettings) === null || _a === void 0 ? void 0 : _a.renderAddColumnElements) === null || _b === void 0 ? void 0 : _b.call(_a, addColumnModal, function (id) { return handleAddColumnModal(id); })));
|
|
1005
1127
|
}, onClose: function () { return handleAddColumnModal(""); } }),
|
|
1006
1128
|
react_2.default.createElement("div", { className: "w-full overflow-x-auto ".concat(borderRadius, " border ").concat(borderColor, " ").concat(bgColor, " shadow-sm") },
|
|
1007
|
-
(props.selectAll || ((
|
|
1129
|
+
(props.selectAll || ((_o = (_m = props.selectedIds) === null || _m === void 0 ? void 0 : _m.length) !== null && _o !== void 0 ? _o : 0) > 0) &&
|
|
1008
1130
|
(!props.multiActionFloatingBtns ||
|
|
1009
1131
|
(props.multiActionFloatingBtns &&
|
|
1010
1132
|
props.multiActionFloatingBtns.length <= 0)) && (react_2.default.createElement("div", { className: "sticky left-0 flex flex-row items-center px-4 py-3 gap-x-2" },
|
|
@@ -1039,36 +1161,41 @@ var NewTable = function (props) {
|
|
|
1039
1161
|
? "animate-pulse"
|
|
1040
1162
|
: "") },
|
|
1041
1163
|
props.checkbox && (react_2.default.createElement("td", { className: "w-10 ".concat(cellPadding, " ").concat(hasPinColumns ? "".concat(rowBgClass, " ").concat(isRowHoverable ? (props.darkMode ? "group-hover:bg-gray-700" : "group-hover:bg-gray-100") : "") : ""), style: hasPinColumns
|
|
1042
|
-
? {
|
|
1164
|
+
? {
|
|
1165
|
+
position: "sticky",
|
|
1166
|
+
left: 0,
|
|
1167
|
+
zIndex: 1,
|
|
1168
|
+
width: CHECKBOX_WIDTH,
|
|
1169
|
+
minWidth: CHECKBOX_WIDTH,
|
|
1170
|
+
}
|
|
1043
1171
|
: undefined, onClick: function (e) { return handleSelectRow(row.id, e); } }, renderCheckbox(isSelected, function () { }))),
|
|
1044
1172
|
flatColumns.map(function (col, colIndex) {
|
|
1045
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
1173
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
1046
1174
|
var cellValue = spaceRow
|
|
1047
1175
|
? spaceRow[col.key]
|
|
1048
1176
|
: resolveValue(row, col.key);
|
|
1049
1177
|
// INFO: first col with type "string" is never made editable
|
|
1050
|
-
var
|
|
1051
|
-
|
|
1178
|
+
var resolvedColType = (_a = col.type) !== null && _a !== void 0 ? _a : "string";
|
|
1179
|
+
var isEditable = ((_b = props.editable) === null || _b === void 0 ? void 0 : _b.active) &&
|
|
1180
|
+
!(((_d = (_c = props.selectedIds) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : 0) > 0 ||
|
|
1052
1181
|
props.selectAll) &&
|
|
1053
|
-
|
|
1054
|
-
utils_1.supportedTableAddList.includes(col.type) &&
|
|
1055
|
-
!(colIndex === 0 && col.type === "string");
|
|
1182
|
+
utils_1.supportedTableAddList.includes(resolvedColType);
|
|
1056
1183
|
var rowData = editDataRowId === row.id ? editDataValue : row;
|
|
1057
1184
|
if (isEditable) {
|
|
1058
|
-
var bareOverride = (
|
|
1185
|
+
var bareOverride = (_f = (_e = props.bareSettings) === null || _e === void 0 ? void 0 : _e.bareListDescription) === null || _f === void 0 ? void 0 : _f.call(_e, col.key, cellValue);
|
|
1059
1186
|
if (!bareOverride)
|
|
1060
1187
|
return renderEditDataInputs(colIndex, col, rowData, row.id, rowBgClass, isRowHoverable);
|
|
1061
1188
|
}
|
|
1062
1189
|
return (
|
|
1063
1190
|
// INFO: pinned columns use whitespace-normal so text wraps within the fixed width
|
|
1064
|
-
react_2.default.createElement("td", { key: col.key, className: "".concat(cellPadding, " text-sm ").concat(colIndex === 0 && props.onClickRow ? titleFontColor : cellFontColor, " ").concat(col.width ? "".concat(col.width, " flex-shrink-0") : getPinProps(col.key, false) ? "" : "whitespace-nowrap", " ").concat((
|
|
1191
|
+
react_2.default.createElement("td", { key: col.key, className: "".concat(cellPadding, " text-sm ").concat(colIndex === 0 && props.onClickRow ? titleFontColor : cellFontColor, " ").concat(col.width ? "".concat(col.width, " flex-shrink-0") : getPinProps(col.key, false) ? "" : "whitespace-nowrap", " ").concat((_h = (_g = getPinProps(col.key, false, rowBgClass, isRowHoverable)) === null || _g === void 0 ? void 0 : _g.className) !== null && _h !== void 0 ? _h : ""), style: (_j = getPinProps(col.key, false, rowBgClass, isRowHoverable)) === null || _j === void 0 ? void 0 : _j.style }, props.newTabUrl && props.onClickRow ? (react_2.default.createElement(link_1.Link, { href: props.newTabUrl +
|
|
1065
1192
|
row.id +
|
|
1066
|
-
((
|
|
1193
|
+
((_k = props.addNewTabUrl) !== null && _k !== void 0 ? _k : ""), className: "w-full block", linkType: props.linkType, custom: props.custom }, (0, readModule_1.renderEachRowDataBasedOnDataType)(col.key, cellValue, props.bareSettings, true, props.disableEllipsisOnLongWord))) : ((0, readModule_1.renderEachRowDataBasedOnDataType)(col.key, cellValue, props.bareSettings, true, props.disableEllipsisOnLongWord))));
|
|
1067
1194
|
}),
|
|
1068
1195
|
renderActionColumnCell(row.id)));
|
|
1069
1196
|
}),
|
|
1070
1197
|
!props.loading && addData && renderAddDataRow())),
|
|
1071
|
-
!props.loading && props.data.length === 0 && (react_2.default.createElement("div", { className: "p-4 text-sm ".concat(cellFontColor, " text-center sticky left-0") }, (
|
|
1198
|
+
!props.loading && props.data.length === 0 && (react_2.default.createElement("div", { className: "p-4 text-sm ".concat(cellFontColor, " text-center sticky left-0") }, (_p = props.emptyTitle) !== null && _p !== void 0 ? _p : "No items")),
|
|
1072
1199
|
renderAddableSection()),
|
|
1073
1200
|
!props.hidePagination && props.paginationType && (react_2.default.createElement("div", { className: "mt-2 flex items-center justify-between ".concat(props.fixedPagination
|
|
1074
1201
|
? "pagination-container w-full ".concat(borderColor, " ").concat(isFixed ? "fixed bottom-0 left-0 z-10" : "sticky top-0 left-0")
|