blixify-ui-web 1.2.4 → 1.2.5
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/model.d.ts +3 -0
- package/lib/components/data/dataTemplate/model.d.ts.map +1 -1
- package/lib/components/data/updateModule.d.ts.map +1 -1
- package/lib/components/data/updateModule.js +20 -3
- package/lib/components/data/updateModule.js.map +1 -1
- package/lib/components/data/utils.d.ts.map +1 -1
- package/lib/components/data/utils.js +6 -0
- package/lib/components/data/utils.js.map +1 -1
- package/lib/components/display/flexTable/index.d.ts +11 -0
- package/lib/components/display/flexTable/index.d.ts.map +1 -1
- package/lib/components/display/flexTable/index.js +288 -23
- package/lib/components/display/flexTable/index.js.map +1 -1
- package/lib/components/display/flexTable/newMobileItemCard.d.ts +14 -0
- package/lib/components/display/flexTable/newMobileItemCard.d.ts.map +1 -0
- package/lib/components/display/flexTable/newMobileItemCard.js +140 -0
- package/lib/components/display/flexTable/newMobileItemCard.js.map +1 -0
- package/lib/tail.css +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/components/data/utils.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/components/data/utils.tsx"],"names":[],"mappings":"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"}
|
|
@@ -38,6 +38,9 @@ interface Props {
|
|
|
38
38
|
flexMathQueries?: FlexMathQuery[];
|
|
39
39
|
maxRows?: number;
|
|
40
40
|
defaultTitleTemplate?: string;
|
|
41
|
+
mobileView?: boolean;
|
|
42
|
+
categoryColumnLabel?: string;
|
|
43
|
+
optional?: boolean;
|
|
41
44
|
onChangeData?: (data: FlexTableItem[]) => void;
|
|
42
45
|
onAddColumn?: (column: FlexTableColumn) => void;
|
|
43
46
|
onRemoveColumn?: (columnKey: string) => void;
|
|
@@ -49,10 +52,13 @@ interface State {
|
|
|
49
52
|
newColumnType: "text" | "number" | "textarea";
|
|
50
53
|
error: string;
|
|
51
54
|
invalidCells: Set<string>;
|
|
55
|
+
mobileSheetVisible: boolean;
|
|
56
|
+
mobileEditingItemId: string | null;
|
|
52
57
|
}
|
|
53
58
|
export declare class FlexTable extends Component<Props, State> {
|
|
54
59
|
initializeColumns(): FlexTableColumn[];
|
|
55
60
|
state: State;
|
|
61
|
+
componentDidUpdate(prevProps: Props): void;
|
|
56
62
|
handleItemChange: (itemId: string, field: string, value: any) => void;
|
|
57
63
|
handleAddNewItem: (category: string | null) => void;
|
|
58
64
|
handleRemoveItem: (itemId: string) => void;
|
|
@@ -79,6 +85,11 @@ export declare class FlexTable extends Component<Props, State> {
|
|
|
79
85
|
renderCustomCell: (column: FlexTableColumn, value: any, row: any) => React.JSX.Element;
|
|
80
86
|
renderActionCell: (row: any) => React.JSX.Element;
|
|
81
87
|
renderAddColumnModal: () => React.JSX.Element;
|
|
88
|
+
getMobilePreviewColumns: () => FlexTableColumn[];
|
|
89
|
+
getMobileItemSubtitle: (item: FlexTableItem) => string;
|
|
90
|
+
renderMobileSummaryCard: () => React.JSX.Element;
|
|
91
|
+
renderMobileItemCard: (item: FlexTableItem) => React.JSX.Element;
|
|
92
|
+
renderMobileSheet: () => React.JSX.Element;
|
|
82
93
|
render(): React.JSX.Element;
|
|
83
94
|
}
|
|
84
95
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/display/flexTable/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAMvD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/display/flexTable/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -126,6 +126,7 @@ var textInput_1 = require("../../input/textInput");
|
|
|
126
126
|
var text_1 = require("../../structure/text");
|
|
127
127
|
var modal_1 = require("../modal");
|
|
128
128
|
var uploadCell_1 = require("./uploadCell");
|
|
129
|
+
var newMobileItemCard_1 = require("./newMobileItemCard");
|
|
129
130
|
var utils_1 = require("./utils");
|
|
130
131
|
var minColumnWidth = "min-w-[120px]";
|
|
131
132
|
var FlexTable = /** @class */ (function (_super) {
|
|
@@ -139,6 +140,8 @@ var FlexTable = /** @class */ (function (_super) {
|
|
|
139
140
|
newColumnType: "text",
|
|
140
141
|
error: "",
|
|
141
142
|
invalidCells: new Set(),
|
|
143
|
+
mobileSheetVisible: false,
|
|
144
|
+
mobileEditingItemId: null,
|
|
142
145
|
};
|
|
143
146
|
_this.handleItemChange = function (itemId, field, value) {
|
|
144
147
|
var _a, _b, _c;
|
|
@@ -249,8 +252,11 @@ var FlexTable = /** @class */ (function (_super) {
|
|
|
249
252
|
testCond = true;
|
|
250
253
|
error = "";
|
|
251
254
|
if (!(!this.props.data || this.props.data.length === 0)) return [3 /*break*/, 1];
|
|
252
|
-
|
|
253
|
-
|
|
255
|
+
// INFO: skip the "at least one row" requirement when optional={true}
|
|
256
|
+
if (!this.props.optional) {
|
|
257
|
+
testCond = false;
|
|
258
|
+
error = "Please add at least one item to the table";
|
|
259
|
+
}
|
|
254
260
|
return [3 /*break*/, 4];
|
|
255
261
|
case 1:
|
|
256
262
|
if (!(this.props.maxRows !== undefined &&
|
|
@@ -751,6 +757,241 @@ var FlexTable = /** @class */ (function (_super) {
|
|
|
751
757
|
} }),
|
|
752
758
|
react_1.default.createElement(button_1.Button, { text: "Add Column", type: "normal", size: "small", onClick: _this.handleAddColumn })))); } }));
|
|
753
759
|
};
|
|
760
|
+
// INFO: first 2 non-image columns to show as subtitle in summary card
|
|
761
|
+
_this.getMobilePreviewColumns = function () {
|
|
762
|
+
return _this.state.columns
|
|
763
|
+
.filter(function (c) {
|
|
764
|
+
return c.key !== "category" &&
|
|
765
|
+
c.type !== "image" &&
|
|
766
|
+
c.type !== "multipleImage";
|
|
767
|
+
})
|
|
768
|
+
.slice(0, 2);
|
|
769
|
+
};
|
|
770
|
+
// INFO: one-line subtitle for the summary card — e.g. "09:00 · 11:30"
|
|
771
|
+
_this.getMobileItemSubtitle = function (item) {
|
|
772
|
+
return _this.getMobilePreviewColumns()
|
|
773
|
+
.map(function (col) {
|
|
774
|
+
var val = item[col.key];
|
|
775
|
+
if (val === null || val === undefined || val === "")
|
|
776
|
+
return null;
|
|
777
|
+
if (col.type === "timePicker")
|
|
778
|
+
return (0, dayjs_1.default)(val).format("HH:mm");
|
|
779
|
+
return String(val);
|
|
780
|
+
})
|
|
781
|
+
.filter(Boolean)
|
|
782
|
+
.join(" · ");
|
|
783
|
+
};
|
|
784
|
+
// INFO: compact summary card shown inside the form on mobile
|
|
785
|
+
_this.renderMobileSummaryCard = function () {
|
|
786
|
+
var data = _this.props.data || [];
|
|
787
|
+
var atLimit = _this.props.maxRows !== undefined && data.length >= _this.props.maxRows;
|
|
788
|
+
var labelColor = _this.props.darkMode ? "text-white" : "text-gray-700";
|
|
789
|
+
var cardBg = _this.props.darkMode ? "bg-gray-800" : "bg-white";
|
|
790
|
+
var headerBg = _this.props.darkMode ? "bg-gray-700" : "bg-gray-50";
|
|
791
|
+
var borderColor = _this.props.darkMode
|
|
792
|
+
? "border-gray-600"
|
|
793
|
+
: "border-gray-200";
|
|
794
|
+
return (react_1.default.createElement("div", { className: "md:hidden" },
|
|
795
|
+
_this.props.label && (react_1.default.createElement("div", { className: "flex items-center mb-2 gap-2" },
|
|
796
|
+
react_1.default.createElement("label", { className: "block text-sm font-medium ".concat(labelColor) },
|
|
797
|
+
_this.props.label,
|
|
798
|
+
" ",
|
|
799
|
+
_this.props.labelExtra),
|
|
800
|
+
_this.props.infoElement &&
|
|
801
|
+
react_1.default.isValidElement(_this.props.infoElement) && (react_1.default.createElement(infoWindow_1.InfoWindow, { type: "bottom end", icon: react_1.default.createElement(solid_1.QuestionMarkCircleIcon, { className: "w-4 h-4 text-gray-400" }), content: _this.props.infoElement })))),
|
|
802
|
+
react_1.default.createElement("div", { className: "border ".concat(borderColor, " rounded-xl overflow-hidden ").concat(cardBg) },
|
|
803
|
+
react_1.default.createElement("div", { className: "flex items-center justify-between px-3 py-2 ".concat(headerBg, " border-b ").concat(borderColor) },
|
|
804
|
+
react_1.default.createElement("span", { className: "text-xs font-medium ".concat(_this.props.darkMode ? "text-gray-200" : "text-gray-700") }, _this.props.label || "Items"),
|
|
805
|
+
react_1.default.createElement("span", { className: "text-xs text-gray-400" },
|
|
806
|
+
data.length,
|
|
807
|
+
" ",
|
|
808
|
+
data.length === 1 ? "row" : "rows")),
|
|
809
|
+
data.length === 0 && !_this.props.hideEmptyState && (react_1.default.createElement("div", { className: "flex items-center justify-between px-3 py-3" },
|
|
810
|
+
react_1.default.createElement("span", { className: "text-sm text-gray-400" }, "No entries yet."),
|
|
811
|
+
!_this.props.disabled && (react_1.default.createElement("button", { type: "button", className: "flex items-center gap-1 px-3 py-1.5 bg-green-600 text-white rounded-lg text-xs font-medium", onClick: function () {
|
|
812
|
+
return _this.setState({
|
|
813
|
+
mobileSheetVisible: true,
|
|
814
|
+
mobileEditingItemId: null,
|
|
815
|
+
});
|
|
816
|
+
} },
|
|
817
|
+
react_1.default.createElement(outline_1.PlusIcon, { className: "w-3 h-3" }),
|
|
818
|
+
"Add item")))),
|
|
819
|
+
data.map(function (item, idx) { return (react_1.default.createElement("div", { key: item.id, className: "flex items-center justify-between px-3 py-2.5 ".concat(idx < data.length - 1 ? "border-b ".concat(borderColor) : "") },
|
|
820
|
+
react_1.default.createElement("div", { className: "flex flex-col gap-0.5 min-w-0 flex-1 pr-2" },
|
|
821
|
+
react_1.default.createElement("span", { className: "text-sm font-medium truncate ".concat(_this.props.darkMode ? "text-white" : "text-gray-900") }, item.title || "Item ".concat(idx + 1)),
|
|
822
|
+
react_1.default.createElement("span", { className: "text-xs text-gray-400 truncate" }, _this.getMobileItemSubtitle(item) || "—")),
|
|
823
|
+
react_1.default.createElement("div", { className: "flex items-center gap-1.5 flex-shrink-0" },
|
|
824
|
+
react_1.default.createElement("button", { type: "button", className: "px-2.5 py-1 rounded-md text-xs font-medium ".concat(_this.props.darkMode
|
|
825
|
+
? "bg-gray-600 text-white"
|
|
826
|
+
: "bg-gray-900 text-white"), onClick: function () {
|
|
827
|
+
return _this.setState({
|
|
828
|
+
mobileSheetVisible: true,
|
|
829
|
+
mobileEditingItemId: item.id,
|
|
830
|
+
});
|
|
831
|
+
} }, _this.props.disabled ? "View" : "Edit"),
|
|
832
|
+
!_this.props.disabled && (react_1.default.createElement("button", { type: "button", className: "w-7 h-7 flex items-center justify-center bg-red-50 border border-red-200 rounded-md", onClick: function () { return _this.handleRemoveItem(item.id); } },
|
|
833
|
+
react_1.default.createElement(outline_1.TrashIcon, { className: "w-3.5 h-3.5 text-red-500" })))))); }),
|
|
834
|
+
data.length > 0 && !_this.props.disabled && !atLimit && (react_1.default.createElement("div", { className: "border-t ".concat(borderColor) },
|
|
835
|
+
react_1.default.createElement("button", { type: "button", className: "flex items-center gap-1.5 w-full px-3 py-2 text-xs font-medium text-green-600", onClick: function () {
|
|
836
|
+
return _this.setState({
|
|
837
|
+
mobileSheetVisible: true,
|
|
838
|
+
mobileEditingItemId: null,
|
|
839
|
+
});
|
|
840
|
+
} },
|
|
841
|
+
react_1.default.createElement(outline_1.PlusIcon, { className: "w-3.5 h-3.5" }),
|
|
842
|
+
"Add item"))),
|
|
843
|
+
atLimit && !_this.props.disabled && (react_1.default.createElement("div", { className: "px-3 py-2 border-t ".concat(borderColor) },
|
|
844
|
+
react_1.default.createElement("span", { className: "text-xs text-gray-400" },
|
|
845
|
+
"Max ",
|
|
846
|
+
_this.props.maxRows,
|
|
847
|
+
" ",
|
|
848
|
+
_this.props.maxRows === 1 ? "row" : "rows",
|
|
849
|
+
" reached"))),
|
|
850
|
+
_this.state.error && (react_1.default.createElement("div", { className: "px-3 py-2 bg-red-50 border-t border-red-200" },
|
|
851
|
+
react_1.default.createElement("span", { className: "text-xs text-red-500" }, _this.state.error))))));
|
|
852
|
+
};
|
|
853
|
+
// INFO: renders one item as a flat field list inside the modal — no card border
|
|
854
|
+
// so it doesn't look like a modal-inside-modal. Matches the mobile input row style.
|
|
855
|
+
// NOTE: hardcodes light-theme classes intentionally — the Modal component always
|
|
856
|
+
// renders with a white background regardless of darkMode, so dark-mode overrides
|
|
857
|
+
// inside the modal content would look inconsistent.
|
|
858
|
+
_this.renderMobileItemCard = function (item) {
|
|
859
|
+
var isDisabled = _this.props.disabled;
|
|
860
|
+
return (react_1.default.createElement("div", { key: item.id },
|
|
861
|
+
react_1.default.createElement("div", { className: "flex items-center justify-between pb-2 mb-1" },
|
|
862
|
+
react_1.default.createElement("span", { className: "text-sm font-semibold text-gray-900" }, item.title || "Item"),
|
|
863
|
+
!isDisabled && (react_1.default.createElement("button", { type: "button", className: "w-7 h-7 flex items-center justify-center rounded-md text-red-500 hover:bg-red-50", onClick: function () { return _this.handleRemoveItem(item.id); } },
|
|
864
|
+
react_1.default.createElement(outline_1.TrashIcon, { className: "w-4 h-4" })))),
|
|
865
|
+
react_1.default.createElement("div", null,
|
|
866
|
+
react_1.default.createElement("div", { className: "flex items-center justify-between py-2 border-b border-gray-200" },
|
|
867
|
+
react_1.default.createElement("span", { className: "text-sm font-medium text-gray-700 flex-shrink-0 mr-3" }, "Title"),
|
|
868
|
+
isDisabled ? (react_1.default.createElement("span", { className: "text-sm text-gray-900 text-right" }, item.title || "—")) : (react_1.default.createElement("input", { type: "text", className: "flex-1 text-sm text-right bg-transparent border-none outline-none text-gray-900 placeholder-gray-300", value: item.title || "", placeholder: "Enter title...", onChange: function (e) {
|
|
869
|
+
return _this.handleItemChange(item.id, "title", e.target.value);
|
|
870
|
+
} }))),
|
|
871
|
+
_this.state.columns
|
|
872
|
+
.filter(function (col) { return col.key !== "category"; })
|
|
873
|
+
.map(function (col) {
|
|
874
|
+
var _a;
|
|
875
|
+
var value = item[col.key];
|
|
876
|
+
var isInvalid = _this.state.invalidCells.has("".concat(item.id, ":").concat(col.key));
|
|
877
|
+
var editable = col.editable && !isDisabled;
|
|
878
|
+
// INFO: timePicker and image/upload use mobileView on their own
|
|
879
|
+
// components — they render full-width below the label row
|
|
880
|
+
var isFullWidth = col.type === "timePicker" ||
|
|
881
|
+
col.type === "image" ||
|
|
882
|
+
col.type === "multipleImage";
|
|
883
|
+
return (react_1.default.createElement("div", { key: col.key, className: "border-b border-gray-200 ".concat(isFullWidth
|
|
884
|
+
? "py-2"
|
|
885
|
+
: "flex items-center justify-between py-2") },
|
|
886
|
+
react_1.default.createElement("span", { className: "text-sm font-medium text-gray-700 ".concat(isFullWidth ? "block mb-0" : "flex-shrink-0 mr-3") }, col.title),
|
|
887
|
+
col.type === "timePicker" && (react_1.default.createElement(datePicker_1.InputDatePicker, { id: "mobile-".concat(item.id, "-").concat(col.key), value: value ? new Date(value) : undefined, showTime: true, hideDate: true, optional: true, mobileView: true, disabled: !editable, onChange: function (_id, date) {
|
|
888
|
+
return _this.handleItemChange(item.id, col.key, date ? date.toISOString() : null);
|
|
889
|
+
} })),
|
|
890
|
+
(col.type === "image" || col.type === "multipleImage") && (react_1.default.createElement(uploadCell_1.FlexTableUploadCell, { id: "mobile-".concat(item.id, "-").concat(col.key), value: value, disabled: !editable, onChange: function (updated) {
|
|
891
|
+
return _this.handleItemChange(item.id, col.key, updated);
|
|
892
|
+
} })),
|
|
893
|
+
(!editable || col.type === "math") &&
|
|
894
|
+
col.type !== "timePicker" &&
|
|
895
|
+
col.type !== "image" &&
|
|
896
|
+
col.type !== "multipleImage" && (react_1.default.createElement("span", { className: "text-sm text-gray-900 text-right flex-1" }, col.type === "math"
|
|
897
|
+
? value || "0.00"
|
|
898
|
+
: value !== undefined &&
|
|
899
|
+
value !== null &&
|
|
900
|
+
value !== ""
|
|
901
|
+
? String(value)
|
|
902
|
+
: col.type === "number"
|
|
903
|
+
? "0"
|
|
904
|
+
: "—")),
|
|
905
|
+
editable && col.type === "number" && (react_1.default.createElement("input", { type: "number", className: "flex-1 text-sm text-right bg-transparent border-none outline-none ".concat(isInvalid ? "text-red-500" : "text-gray-900"), value: value !== null && value !== void 0 ? value : 0, onChange: function (e) {
|
|
906
|
+
return _this.handleItemChange(item.id, col.key, parseFloat(e.target.value) || 0);
|
|
907
|
+
} })),
|
|
908
|
+
editable && col.type === "list" && (react_1.default.createElement("select", { className: "flex-1 text-sm text-right bg-transparent border-none outline-none ".concat(isInvalid ? "text-red-500" : "text-gray-900"), value: value || "", onChange: function (e) {
|
|
909
|
+
return _this.handleItemChange(item.id, col.key, e.target.value);
|
|
910
|
+
} },
|
|
911
|
+
react_1.default.createElement("option", { value: "" }, "Select..."), (_a = col.listSelection) === null || _a === void 0 ? void 0 :
|
|
912
|
+
_a.map(function (opt, i) {
|
|
913
|
+
var _a;
|
|
914
|
+
return (react_1.default.createElement("option", { key: opt, value: opt }, ((_a = col.listSelectionLabel) === null || _a === void 0 ? void 0 : _a[i]) || opt));
|
|
915
|
+
}))),
|
|
916
|
+
editable && col.type === "textarea" && (react_1.default.createElement("textarea", { className: "flex-1 text-sm text-right bg-transparent border-none outline-none resize-none ".concat(isInvalid ? "text-red-500" : "text-gray-900"), rows: 2, value: value || "", placeholder: "Enter text...", onChange: function (e) {
|
|
917
|
+
return _this.handleItemChange(item.id, col.key, e.target.value);
|
|
918
|
+
} })),
|
|
919
|
+
editable &&
|
|
920
|
+
col.type !== "number" &&
|
|
921
|
+
col.type !== "list" &&
|
|
922
|
+
col.type !== "textarea" &&
|
|
923
|
+
col.type !== "timePicker" &&
|
|
924
|
+
col.type !== "image" &&
|
|
925
|
+
col.type !== "multipleImage" &&
|
|
926
|
+
col.type !== "math" && (react_1.default.createElement("input", { type: "text", className: "flex-1 text-sm text-right bg-transparent border-none outline-none ".concat(isInvalid ? "text-red-500" : "text-gray-900"), value: value || "", placeholder: "Enter text...", onChange: function (e) {
|
|
927
|
+
return _this.handleItemChange(item.id, col.key, e.target.value);
|
|
928
|
+
} }))));
|
|
929
|
+
}))));
|
|
930
|
+
};
|
|
931
|
+
// INFO: bottom sheet — slides up from bottom on mobile
|
|
932
|
+
_this.renderMobileSheet = function () {
|
|
933
|
+
var _a;
|
|
934
|
+
var data = _this.props.data || [];
|
|
935
|
+
var isAdding = _this.state.mobileEditingItemId === null;
|
|
936
|
+
var atLimit = _this.props.maxRows !== undefined && data.length >= _this.props.maxRows;
|
|
937
|
+
// INFO: when hideCategory is true, treat categories as empty so the selector
|
|
938
|
+
// and category pills are suppressed in the mobile sheet
|
|
939
|
+
var categories = _this.props.hideCategory
|
|
940
|
+
? []
|
|
941
|
+
: ((_a = _this.props.categoryList) === null || _a === void 0 ? void 0 : _a.map(function (c) { return c.title; })) ||
|
|
942
|
+
Array.from(new Set(data.map(function (d) { return d.category; }).filter(Boolean)));
|
|
943
|
+
var sheetTitle = _this.props.disabled
|
|
944
|
+
? _this.props.label || "Items"
|
|
945
|
+
: isAdding
|
|
946
|
+
? "Add item \u2014 ".concat(_this.props.label || "Items")
|
|
947
|
+
: "Edit item \u2014 ".concat(_this.props.label || "Items");
|
|
948
|
+
var itemsToShow = _this.state.mobileEditingItemId
|
|
949
|
+
? data.filter(function (d) { return d.id === _this.state.mobileEditingItemId; })
|
|
950
|
+
: data;
|
|
951
|
+
var sheetContent = function () { return (react_1.default.createElement("div", { className: "flex flex-col gap-0" },
|
|
952
|
+
isAdding &&
|
|
953
|
+
data.map(function (item) { return (react_1.default.createElement("div", { key: item.id, className: "border-b border-gray-200 py-2.5" },
|
|
954
|
+
react_1.default.createElement("div", { className: "flex items-center justify-between" },
|
|
955
|
+
react_1.default.createElement("span", { className: "text-sm font-medium text-gray-900" }, item.title || "Item"),
|
|
956
|
+
!_this.props.disabled && (react_1.default.createElement("div", { className: "flex items-center gap-2" },
|
|
957
|
+
react_1.default.createElement("button", { type: "button", className: "text-sm text-primary-600 font-medium", onClick: function () {
|
|
958
|
+
return _this.setState({ mobileEditingItemId: item.id });
|
|
959
|
+
} }, "Edit"),
|
|
960
|
+
react_1.default.createElement("button", { type: "button", className: "w-6 h-6 flex items-center justify-center rounded-md text-red-500 hover:bg-red-50", onClick: function () { return _this.handleRemoveItem(item.id); } },
|
|
961
|
+
react_1.default.createElement(outline_1.TrashIcon, { className: "w-3.5 h-3.5" }))))),
|
|
962
|
+
react_1.default.createElement("span", { className: "text-xs text-gray-400" }, _this.getMobileItemSubtitle(item) || "—"))); }),
|
|
963
|
+
isAdding && !_this.props.disabled && !atLimit && (react_1.default.createElement(newMobileItemCard_1.NewMobileItemCard, { columns: _this.state.columns, categories: categories, categoryColumnLabel: _this.props.categoryColumnLabel, defaultTitleTemplate: _this.props.defaultTitleTemplate, existingCount: data.length, onSave: function (newItem) {
|
|
964
|
+
var _a, _b;
|
|
965
|
+
var recalculated = _this.handleRecalculateMathColumns(__spreadArray(__spreadArray([], data, true), [
|
|
966
|
+
newItem,
|
|
967
|
+
], false));
|
|
968
|
+
(_b = (_a = _this.props).onChangeData) === null || _b === void 0 ? void 0 : _b.call(_a, recalculated);
|
|
969
|
+
_this.setState({ mobileSheetVisible: false });
|
|
970
|
+
}, onCancel: function () { return _this.setState({ mobileSheetVisible: false }); } })),
|
|
971
|
+
isAdding && atLimit && !_this.props.disabled && (react_1.default.createElement("div", { className: "flex items-center gap-1.5 py-2" },
|
|
972
|
+
react_1.default.createElement("span", { className: "text-xs text-gray-400" },
|
|
973
|
+
"Max ",
|
|
974
|
+
_this.props.maxRows,
|
|
975
|
+
" ",
|
|
976
|
+
_this.props.maxRows === 1 ? "row" : "rows",
|
|
977
|
+
" reached"))),
|
|
978
|
+
!isAdding &&
|
|
979
|
+
itemsToShow.map(function (item) { return _this.renderMobileItemCard(item); }),
|
|
980
|
+
react_1.default.createElement("div", { className: "flex justify-between gap-3 pt-4 border-t border-gray-200 mt-2" },
|
|
981
|
+
react_1.default.createElement(button_1.Button, { text: _this.props.disabled ? "Close" : "Cancel", type: "light", size: "small", onClick: function () { return _this.setState({ mobileSheetVisible: false }); } }),
|
|
982
|
+
!_this.props.disabled && _this.state.mobileEditingItemId && (react_1.default.createElement(button_1.Button, { text: "Done", type: "normal", size: "small", onClick: function () {
|
|
983
|
+
return _this.setState({
|
|
984
|
+
mobileSheetVisible: false,
|
|
985
|
+
mobileEditingItemId: null,
|
|
986
|
+
});
|
|
987
|
+
} }))))); };
|
|
988
|
+
return (react_1.default.createElement(modal_1.Modal, { open: _this.state.mobileSheetVisible, title: sheetTitle, maxWidth: "lg", onClose: function () {
|
|
989
|
+
return _this.setState({
|
|
990
|
+
mobileSheetVisible: false,
|
|
991
|
+
mobileEditingItemId: null,
|
|
992
|
+
});
|
|
993
|
+
}, renderContent: sheetContent }));
|
|
994
|
+
};
|
|
754
995
|
return _this;
|
|
755
996
|
}
|
|
756
997
|
FlexTable.prototype.initializeColumns = function () {
|
|
@@ -758,7 +999,7 @@ var FlexTable = /** @class */ (function (_super) {
|
|
|
758
999
|
if (!this.props.hideCategory) {
|
|
759
1000
|
baseColumns.push({
|
|
760
1001
|
key: "category",
|
|
761
|
-
title: "CATEGORY",
|
|
1002
|
+
title: this.props.categoryColumnLabel || "CATEGORY",
|
|
762
1003
|
type: "textarea",
|
|
763
1004
|
editable: true,
|
|
764
1005
|
});
|
|
@@ -808,9 +1049,25 @@ var FlexTable = /** @class */ (function (_super) {
|
|
|
808
1049
|
}
|
|
809
1050
|
return baseColumns;
|
|
810
1051
|
};
|
|
1052
|
+
// INFO: re-initialise columns if the schema or category label changes after mount.
|
|
1053
|
+
// This handles async data loads where props.columns arrives after the initial render
|
|
1054
|
+
// (common when multiple FlexTables share the same form and data loads in parallel).
|
|
1055
|
+
// NOTE: uses referential equality (prevProps.columns !== this.props.columns) which
|
|
1056
|
+
// is safe here because updateModule always passes selectedModel.objectData directly —
|
|
1057
|
+
// that reference only changes when the underlying Space/schema reloads, not on every
|
|
1058
|
+
// parent render.
|
|
1059
|
+
FlexTable.prototype.componentDidUpdate = function (prevProps) {
|
|
1060
|
+
var columnsChanged = prevProps.columns !== this.props.columns ||
|
|
1061
|
+
prevProps.categoryColumnLabel !== this.props.categoryColumnLabel ||
|
|
1062
|
+
prevProps.hideCategory !== this.props.hideCategory;
|
|
1063
|
+
if (columnsChanged) {
|
|
1064
|
+
this.setState({ columns: this.initializeColumns() });
|
|
1065
|
+
}
|
|
1066
|
+
};
|
|
811
1067
|
FlexTable.prototype.render = function () {
|
|
812
1068
|
var _this = this;
|
|
813
|
-
var _a
|
|
1069
|
+
var _a;
|
|
1070
|
+
var _b = this.renderDarkModeSettings(), bgColor = _b.bgColor, headerColor = _b.headerColor, textColor = _b.textColor, divideColor = _b.divideColor;
|
|
814
1071
|
var tableHeaders = __spreadArray(__spreadArray([], this.state.columns, true), (this.props.disabled
|
|
815
1072
|
? []
|
|
816
1073
|
: __spreadArray(__spreadArray([], (this.props.columnList
|
|
@@ -826,20 +1083,13 @@ var FlexTable = /** @class */ (function (_super) {
|
|
|
826
1083
|
], false)), true);
|
|
827
1084
|
var tableData = this.renderTableData();
|
|
828
1085
|
var labelColor = this.props.darkMode ? "text-white" : "text-gray-700";
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
react_1.default.createElement("div", { className: "flex-grow" }),
|
|
837
|
-
this.props.infoElement &&
|
|
838
|
-
react_1.default.isValidElement(this.props.infoElement) && (react_1.default.createElement("div", { className: "self-center" },
|
|
839
|
-
react_1.default.createElement(infoWindow_1.InfoWindow, { type: "bottom end", icon: react_1.default.createElement(solid_1.QuestionMarkCircleIcon, { className: "w-5 h-5 text-gray-400" }), content: this.props.infoElement }))))),
|
|
840
|
-
this.state.error && (react_1.default.createElement("div", { className: "mb-4 p-3 bg-red-50 border border-red-200 rounded-md" },
|
|
841
|
-
react_1.default.createElement("span", { className: "text-red-500 text-sm font-medium" }, this.state.error))),
|
|
842
|
-
this.renderAddColumnModal(),
|
|
1086
|
+
var useMobileView = (_a = this.props.mobileView) !== null && _a !== void 0 ? _a : false;
|
|
1087
|
+
// INFO: the inner table markup is shared between the normal render and the
|
|
1088
|
+
// mobile modal — extracted so it can be reused without duplication.
|
|
1089
|
+
var renderTableContent = function () { return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
1090
|
+
_this.state.error && (react_1.default.createElement("div", { className: "mb-4 p-3 bg-red-50 border border-red-200 rounded-md" },
|
|
1091
|
+
react_1.default.createElement("span", { className: "text-red-500 text-sm font-medium" }, _this.state.error))),
|
|
1092
|
+
_this.renderAddColumnModal(),
|
|
843
1093
|
react_1.default.createElement("div", { className: "overflow-x-auto overflow-y-visible shadow ring-1 ring-black ring-opacity-5 md:rounded-lg ".concat(bgColor) },
|
|
844
1094
|
react_1.default.createElement("table", { className: "min-w-full divide-y ".concat(divideColor) },
|
|
845
1095
|
react_1.default.createElement("thead", { className: headerColor },
|
|
@@ -862,9 +1112,7 @@ var FlexTable = /** @class */ (function (_super) {
|
|
|
862
1112
|
return (react_1.default.createElement("td", { key: "".concat(row.id, "-").concat(header.key), className: "px-6 py-4 whitespace-nowrap text-sm" }));
|
|
863
1113
|
}
|
|
864
1114
|
else {
|
|
865
|
-
return (react_1.default.createElement("td", { key: "".concat(row.id, "-").concat(header.key), className: "px-6 py-4 text-sm ".concat(
|
|
866
|
-
// INFO: image columns allow wrapping thumbnails; all other columns stay nowrap
|
|
867
|
-
header.type === "image" ||
|
|
1115
|
+
return (react_1.default.createElement("td", { key: "".concat(row.id, "-").concat(header.key), className: "px-6 py-4 text-sm ".concat(header.type === "image" ||
|
|
868
1116
|
header.type === "multipleImage"
|
|
869
1117
|
? ""
|
|
870
1118
|
: "whitespace-nowrap", " ").concat(header.width || minColumnWidth, " ").concat(row.type === "category" ||
|
|
@@ -876,9 +1124,26 @@ var FlexTable = /** @class */ (function (_super) {
|
|
|
876
1124
|
: row[header.key], row)));
|
|
877
1125
|
}
|
|
878
1126
|
}))); })))),
|
|
879
|
-
(!
|
|
1127
|
+
(!_this.props.data || _this.props.data.length === 0) &&
|
|
1128
|
+
!_this.props.hideEmptyState && (react_1.default.createElement("div", { className: "text-center py-8" },
|
|
880
1129
|
react_1.default.createElement(text_1.Text, { size: "base", type: "p" }, "No table items present."),
|
|
881
|
-
react_1.default.createElement(text_1.Text, { size: "sm", type: "p" }, "Click \"Create New Item\" under any category to add your first table entry.")))));
|
|
1130
|
+
react_1.default.createElement(text_1.Text, { size: "sm", type: "p" }, "Click \"Create New Item\" under any category to add your first table entry."))))); };
|
|
1131
|
+
return (react_1.default.createElement("div", { id: this.props.id, className: "w-full ".concat(this.props.className || "") },
|
|
1132
|
+
useMobileView && (react_1.default.createElement(react_1.default.Fragment, null,
|
|
1133
|
+
this.renderMobileSummaryCard(),
|
|
1134
|
+
this.renderMobileSheet())),
|
|
1135
|
+
react_1.default.createElement("div", { className: useMobileView ? "hidden md:block" : "" },
|
|
1136
|
+
this.props.label && (react_1.default.createElement("div", { className: "flex w-full mb-2" },
|
|
1137
|
+
react_1.default.createElement("div", { className: "flex flex-col" },
|
|
1138
|
+
react_1.default.createElement("label", { className: "block text-sm font-medium ".concat(labelColor) },
|
|
1139
|
+
this.props.label,
|
|
1140
|
+
" ",
|
|
1141
|
+
this.props.labelExtra)),
|
|
1142
|
+
react_1.default.createElement("div", { className: "flex-grow" }),
|
|
1143
|
+
this.props.infoElement &&
|
|
1144
|
+
react_1.default.isValidElement(this.props.infoElement) && (react_1.default.createElement("div", { className: "self-center" },
|
|
1145
|
+
react_1.default.createElement(infoWindow_1.InfoWindow, { type: "bottom end", icon: react_1.default.createElement(solid_1.QuestionMarkCircleIcon, { className: "w-5 h-5 text-gray-400" }), content: this.props.infoElement }))))),
|
|
1146
|
+
renderTableContent())));
|
|
882
1147
|
};
|
|
883
1148
|
return FlexTable;
|
|
884
1149
|
}(react_1.Component));
|