@ai-matrx/records-ui 0.105.1 → 0.106.0
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/CHANGELOG.md +6 -0
- package/dist/index.cjs +13 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +13 -3
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# Changelog — @ai-matrx/records-ui
|
|
2
2
|
|
|
3
|
+
## 0.106.0
|
|
4
|
+
|
|
5
|
+
Duplicate property copies the values (Notion N5): the column menu's "Duplicate property" calls `client.fieldDuplicate` (records 0.79.0) and the copy lands right after the original with every value; the panel it used to open (an empty new column started from the original) is gone from the grid. `FieldEditor`'s `copyOf` prop stays for hosts that want the panel.
|
|
6
|
+
|
|
7
|
+
**Consumer action:** none; install records 0.79.0 with it.
|
|
8
|
+
|
|
3
9
|
## 0.105.1
|
|
4
10
|
|
|
5
11
|
Automatic changed-only republish (docs/metadata drift since the last tag — see
|
package/dist/index.cjs
CHANGED
|
@@ -15352,7 +15352,18 @@ function useMergedGridControls(args) {
|
|
|
15352
15352
|
label: "Duplicate property",
|
|
15353
15353
|
icon: "copy-plus",
|
|
15354
15354
|
disabledReason: mayStructure ? void 0 : editable ? rights.why("structure") : "Editing is off here.",
|
|
15355
|
-
|
|
15355
|
+
// DUPLICATE PROPERTY (Notion N5): one door declares the copy right after this column and copies
|
|
15356
|
+
// every record's value into it (`custom.field_duplicate`); nothing to fill in, as in Notion.
|
|
15357
|
+
onSelect: () => {
|
|
15358
|
+
void client.fieldDuplicate({ field_id: field2.id }).then((made) => {
|
|
15359
|
+
if (!made.ok) {
|
|
15360
|
+
notify?.error(`${fieldName(field2)} was not duplicated: ${refusalSentence(made.error)}`);
|
|
15361
|
+
return;
|
|
15362
|
+
}
|
|
15363
|
+
(0, import_react86.tableShapeChanged)(tableId);
|
|
15364
|
+
notify?.success(`${made.data.label} is added.`);
|
|
15365
|
+
});
|
|
15366
|
+
}
|
|
15356
15367
|
});
|
|
15357
15368
|
if (summaries) {
|
|
15358
15369
|
out.push(summaryMenuItem(field2, columnId2 === firstKey, summaries.chosen[columnId2], summaries.operations, (op2) => summaries.choose(columnId2, op2)));
|
|
@@ -15699,7 +15710,7 @@ function useMergedGridControls(args) {
|
|
|
15699
15710
|
},
|
|
15700
15711
|
children: /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(import_design_system47.DialogContent, { className: "max-h-[85vh] overflow-y-auto sm:max-w-2xl", children: [
|
|
15701
15712
|
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(import_design_system47.DialogHeader, { children: [
|
|
15702
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_design_system47.DialogTitle, { children: columnDialog?.kind === "settings" ? `Column settings \xB7 ${fieldName(columnDialog.field)}` : columnDialog?.kind === "insert" && columnDialog.
|
|
15713
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_design_system47.DialogTitle, { children: columnDialog?.kind === "settings" ? `Column settings \xB7 ${fieldName(columnDialog.field)}` : columnDialog?.kind === "insert" && columnDialog.anchor ? `Add column ${columnDialog.side === "left" ? "left" : "right"} of ${fieldOf2(columnDialog.anchor) ? fieldName(fieldOf2(columnDialog.anchor)) : columnDialog.anchor}` : ADD_FIELD_OPEN_LABEL }),
|
|
15703
15714
|
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_design_system47.DialogDescription, { className: "sr-only", children: "Name, type and look" })
|
|
15704
15715
|
] }),
|
|
15705
15716
|
columnDialog?.kind === "settings" ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
@@ -15723,7 +15734,6 @@ function useMergedGridControls(args) {
|
|
|
15723
15734
|
FieldEditor,
|
|
15724
15735
|
{
|
|
15725
15736
|
tableId,
|
|
15726
|
-
...columnDialog.copyOf ? { copyOf: columnDialog.copyOf } : {},
|
|
15727
15737
|
onCancel: () => {
|
|
15728
15738
|
pendingInsert.current = null;
|
|
15729
15739
|
close();
|