@open-mercato/ui 0.9.1-develop.7574.1.837288eec1 → 0.10.1-develop.7576.1.21d5b50435
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/.turbo/turbo-build.log +1 -1
- package/dist/ai/parts/MutationResultCard.js +1 -14
- package/dist/ai/parts/MutationResultCard.js.map +2 -2
- package/dist/backend/CrudForm.js +52 -96
- package/dist/backend/CrudForm.js.map +2 -2
- package/dist/backend/DataTable.js +14 -40
- package/dist/backend/DataTable.js.map +2 -2
- package/dist/backend/FlashMessages.js +1 -25
- package/dist/backend/FlashMessages.js.map +2 -2
- package/dist/backend/columns/ColumnChooserPanel.js +3 -4
- package/dist/backend/columns/ColumnChooserPanel.js.map +2 -2
- package/dist/backend/confirm-dialog/ConfirmDialog.js +0 -11
- package/dist/backend/confirm-dialog/ConfirmDialog.js.map +2 -2
- package/dist/backend/detail/InlineEditors.js +6 -17
- package/dist/backend/detail/InlineEditors.js.map +2 -2
- package/dist/backend/filters/FilterFieldPicker.js +2 -3
- package/dist/backend/filters/FilterFieldPicker.js.map +2 -2
- package/dist/backend/forms/ActionsDropdown.js +2 -52
- package/dist/backend/forms/ActionsDropdown.js.map +2 -2
- package/dist/backend/inputs/PhoneNumberField.js +5 -17
- package/dist/backend/inputs/PhoneNumberField.js.map +2 -2
- package/dist/backend/inputs/TagsInput.js +1 -4
- package/dist/backend/inputs/TagsInput.js.map +2 -2
- package/dist/backend/inputs/index.js +0 -2
- package/dist/backend/inputs/index.js.map +2 -2
- package/dist/backend/messages/useMessageCompose.js +10 -29
- package/dist/backend/messages/useMessageCompose.js.map +2 -2
- package/dist/backend/notifications/NotificationDispatcher.js +0 -5
- package/dist/backend/notifications/NotificationDispatcher.js.map +2 -2
- package/dist/backend/notifications/useNotificationActions.js +2 -13
- package/dist/backend/notifications/useNotificationActions.js.map +2 -2
- package/dist/backend/utils/api.js +4 -25
- package/dist/backend/utils/api.js.map +2 -2
- package/dist/backend/version-history/VersionHistoryPanel.js +2 -18
- package/dist/backend/version-history/VersionHistoryPanel.js.map +2 -2
- package/dist/theme/QueryProvider.js +1 -7
- package/dist/theme/QueryProvider.js.map +2 -2
- package/package.json +4 -4
- package/src/ai/parts/MutationResultCard.tsx +1 -30
- package/src/ai/parts/__tests__/MutationResultCard.test.tsx +0 -48
- package/src/backend/CrudForm.tsx +60 -121
- package/src/backend/DataTable.tsx +14 -54
- package/src/backend/FlashMessages.tsx +1 -34
- package/src/backend/__tests__/ActionsDropdown.test.tsx +0 -105
- package/src/backend/__tests__/CrudForm.fieldInjection.test.tsx +4 -85
- package/src/backend/__tests__/FlashMessages.test.tsx +0 -65
- package/src/backend/__tests__/VersionHistoryPanel.test.tsx +1 -81
- package/src/backend/columns/ColumnChooserPanel.tsx +3 -4
- package/src/backend/confirm-dialog/ConfirmDialog.tsx +0 -16
- package/src/backend/confirm-dialog/__tests__/ConfirmDialog.test.tsx +0 -29
- package/src/backend/detail/InlineEditors.tsx +6 -28
- package/src/backend/detail/__tests__/InlineEditors.test.tsx +6 -121
- package/src/backend/filters/FilterFieldPicker.tsx +2 -3
- package/src/backend/forms/ActionsDropdown.tsx +2 -71
- package/src/backend/inputs/PhoneNumberField.tsx +11 -17
- package/src/backend/inputs/TagsInput.tsx +0 -4
- package/src/backend/inputs/__tests__/TagsInput.test.tsx +0 -41
- package/src/backend/inputs/index.ts +0 -2
- package/src/backend/messages/__tests__/useMessageCompose.test.tsx +1 -106
- package/src/backend/messages/message-composer.types.ts +0 -2
- package/src/backend/messages/useMessageCompose.ts +13 -34
- package/src/backend/notifications/NotificationDispatcher.ts +0 -5
- package/src/backend/notifications/__tests__/useNotificationActions.test.tsx +1 -86
- package/src/backend/notifications/useNotificationActions.ts +4 -19
- package/src/backend/utils/__tests__/api.test.ts +0 -67
- package/src/backend/utils/api.ts +4 -33
- package/src/backend/version-history/VersionHistoryPanel.tsx +2 -24
- package/src/theme/QueryProvider.tsx +1 -7
- package/dist/backend/crud/injectedFieldGroups.js +0 -50
- package/dist/backend/crud/injectedFieldGroups.js.map +0 -7
- package/dist/backend/inputs/LookupPickers.js +0 -149
- package/dist/backend/inputs/LookupPickers.js.map +0 -7
- package/dist/backend/inputs/lookupSources.js +0 -84
- package/dist/backend/inputs/lookupSources.js.map +0 -7
- package/dist/backend/utils/groupLabels.js +0 -16
- package/dist/backend/utils/groupLabels.js.map +0 -7
- package/src/backend/__tests__/CrudForm.disabledFields.test.tsx +0 -57
- package/src/backend/__tests__/CrudForm.embeddedExtraActions.test.tsx +0 -114
- package/src/backend/__tests__/CrudForm.fieldChangeRenders.test.tsx +0 -127
- package/src/backend/__tests__/DataTable.injectedColumnPlacement.test.tsx +0 -146
- package/src/backend/__tests__/next-dynamic-specifier.test.ts +0 -23
- package/src/backend/columns/__tests__/ColumnChooserPanel.groupLabels.test.tsx +0 -72
- package/src/backend/crud/__tests__/injectedFieldGroups.test.ts +0 -90
- package/src/backend/crud/injectedFieldGroups.ts +0 -75
- package/src/backend/filters/__tests__/FilterFieldPicker.groupLabels.test.tsx +0 -77
- package/src/backend/inputs/LookupPickers.tsx +0 -181
- package/src/backend/inputs/__tests__/LookupPickers.test.tsx +0 -120
- package/src/backend/inputs/__tests__/PhoneNumberField.renders.test.tsx +0 -35
- package/src/backend/inputs/__tests__/lookupSources.test.ts +0 -87
- package/src/backend/inputs/lookupSources.ts +0 -114
- package/src/backend/notifications/__tests__/NotificationDispatcher.navigate.test.ts +0 -76
- package/src/backend/utils/groupLabels.ts +0 -26
- package/src/theme/__tests__/QueryProvider.i18n.test.tsx +0 -40
|
@@ -52,7 +52,7 @@ import { surfaceRecordConflict } from "./conflicts/index.js";
|
|
|
52
52
|
import { ComponentReplacementHandles } from "@open-mercato/shared/modules/widgets/component-registry";
|
|
53
53
|
import { useRegisteredComponent } from "./injection/useRegisteredComponent.js";
|
|
54
54
|
import { dataTableExtensionSpotId, extensionSpotChildId } from "@open-mercato/shared/modules/widgets/extension-points";
|
|
55
|
-
import { insertByInjectionPlacement
|
|
55
|
+
import { insertByInjectionPlacement } from "@open-mercato/shared/modules/widgets/injection-position";
|
|
56
56
|
import { useVirtualizer } from "@tanstack/react-virtual";
|
|
57
57
|
import { getDefaultOperator, isAdvancedFilterState, flatToTree } from "@open-mercato/shared/lib/query/advanced-filter";
|
|
58
58
|
import {
|
|
@@ -111,37 +111,6 @@ function withDataTableNamespaces(mappedRow, sourceItem) {
|
|
|
111
111
|
...namespaced
|
|
112
112
|
};
|
|
113
113
|
}
|
|
114
|
-
function reconcileColumnOrder(prev, ids, placements = /* @__PURE__ */ new Map()) {
|
|
115
|
-
const allowed = new Set(ids);
|
|
116
|
-
const result = prev.filter((id) => allowed.has(id));
|
|
117
|
-
const known = new Set(result);
|
|
118
|
-
ids.forEach((id, index) => {
|
|
119
|
-
if (known.has(id)) return;
|
|
120
|
-
const placement = placements.get(id);
|
|
121
|
-
const anchorIndex = placement?.relativeTo ? result.indexOf(placement.relativeTo) : -1;
|
|
122
|
-
if (anchorIndex !== -1 && (placement?.position === InjectionPosition.Before || placement?.position === InjectionPosition.After)) {
|
|
123
|
-
result.splice(placement.position === InjectionPosition.Before ? anchorIndex : anchorIndex + 1, 0, id);
|
|
124
|
-
known.add(id);
|
|
125
|
-
return;
|
|
126
|
-
}
|
|
127
|
-
const hasKnownSuccessor = ids.slice(index + 1).some((candidate) => known.has(candidate));
|
|
128
|
-
if (!hasKnownSuccessor) {
|
|
129
|
-
result.push(id);
|
|
130
|
-
} else {
|
|
131
|
-
let insertAt = 0;
|
|
132
|
-
for (let cursor = index - 1; cursor >= 0; cursor -= 1) {
|
|
133
|
-
const predecessorIndex = result.indexOf(ids[cursor]);
|
|
134
|
-
if (predecessorIndex !== -1) {
|
|
135
|
-
insertAt = predecessorIndex + 1;
|
|
136
|
-
break;
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
result.splice(insertAt, 0, id);
|
|
140
|
-
}
|
|
141
|
-
known.add(id);
|
|
142
|
-
});
|
|
143
|
-
return result;
|
|
144
|
-
}
|
|
145
114
|
function resolveDataTableRowId(row, index) {
|
|
146
115
|
if (row && typeof row === "object") {
|
|
147
116
|
const candidate = row.id;
|
|
@@ -1322,18 +1291,23 @@ function DataTableImpl({
|
|
|
1322
1291
|
[baseInjectionContext, hasInjectedBulkActions, rowSelection]
|
|
1323
1292
|
);
|
|
1324
1293
|
React.useEffect(() => {
|
|
1325
|
-
const ids = table.
|
|
1294
|
+
const ids = table.getAllLeafColumns().map((column) => column.id);
|
|
1326
1295
|
if (!ids.length) return;
|
|
1327
|
-
const placements = new Map(
|
|
1328
|
-
injectedColumnDefs.map(({ def, placement }) => [def.id ?? "", placement])
|
|
1329
|
-
);
|
|
1330
1296
|
setColumnOrder((prev) => {
|
|
1331
1297
|
if (!prev.length) return ids;
|
|
1332
|
-
const
|
|
1333
|
-
const
|
|
1334
|
-
|
|
1298
|
+
const allowed = ids;
|
|
1299
|
+
const filtered = prev.filter((id) => allowed.includes(id));
|
|
1300
|
+
const seen = new Set(filtered);
|
|
1301
|
+
for (const id of allowed) {
|
|
1302
|
+
if (!seen.has(id)) {
|
|
1303
|
+
filtered.push(id);
|
|
1304
|
+
seen.add(id);
|
|
1305
|
+
}
|
|
1306
|
+
}
|
|
1307
|
+
const changed = filtered.length !== prev.length || filtered.some((id, index) => id !== prev[index]);
|
|
1308
|
+
return changed ? filtered : prev;
|
|
1335
1309
|
});
|
|
1336
|
-
}, [table, mergedColumns
|
|
1310
|
+
}, [table, mergedColumns]);
|
|
1337
1311
|
const visibilityDecidedColumnIds = React.useRef(
|
|
1338
1312
|
new Set(Object.keys(mergedInitialSettings?.columnVisibility ?? {}))
|
|
1339
1313
|
);
|