@crystaldesign/diva-backoffice 26.11.0-beta.21 → 26.11.0-beta.22

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.
Files changed (55) hide show
  1. package/build/esm/index.js +2422 -1005
  2. package/build/types/backoffice/src/Configuration.d.ts +3 -3
  3. package/build/types/backoffice/src/Configuration.d.ts.map +1 -1
  4. package/build/types/backoffice/src/layout/Content/index.d.ts.map +1 -1
  5. package/build/types/backoffice/src/store/ContentStore.d.ts.map +1 -1
  6. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/components/ArticleSubTable/index.d.ts +30 -0
  7. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/components/ArticleSubTable/index.d.ts.map +1 -0
  8. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/components/ArticleTable/index.d.ts +18 -0
  9. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/components/ArticleTable/index.d.ts.map +1 -0
  10. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/components/CommonColumnCell/index.d.ts +19 -0
  11. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/components/CommonColumnCell/index.d.ts.map +1 -0
  12. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/hooks/useAllowedFieldValues.d.ts +9 -0
  13. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/hooks/useAllowedFieldValues.d.ts.map +1 -0
  14. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/index.d.ts +13 -0
  15. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/index.d.ts.map +1 -0
  16. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/logic/allowedFieldValues.d.ts +27 -0
  17. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/logic/allowedFieldValues.d.ts.map +1 -0
  18. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/logic/articleColumns.d.ts +39 -0
  19. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/logic/articleColumns.d.ts.map +1 -0
  20. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/logic/articlePayloads.d.ts +16 -0
  21. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/logic/articlePayloads.d.ts.map +1 -0
  22. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/logic/sapLock.d.ts +7 -0
  23. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/logic/sapLock.d.ts.map +1 -0
  24. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/types.d.ts +5 -0
  25. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/types.d.ts.map +1 -0
  26. package/build/types/backoffice/src/ui/AssortmentManager/HeaderData/components/Content/index.d.ts.map +1 -1
  27. package/build/types/backoffice/src/ui/AssortmentManager/HeaderData/components/ItemGroupTable/index.d.ts +5 -1
  28. package/build/types/backoffice/src/ui/AssortmentManager/HeaderData/components/ItemGroupTable/index.d.ts.map +1 -1
  29. package/build/types/backoffice/src/ui/AssortmentManager/HeaderData/hooks/useDropdownEnumData.d.ts.map +1 -1
  30. package/build/types/backoffice/src/ui/AssortmentManager/HeaderData/hooks/useHeaderData.d.ts +1 -12
  31. package/build/types/backoffice/src/ui/AssortmentManager/HeaderData/hooks/useHeaderData.d.ts.map +1 -1
  32. package/build/types/backoffice/src/ui/AssortmentManager/HeaderData/hooks/useSaveHeaderData.d.ts.map +1 -1
  33. package/build/types/backoffice/src/ui/AssortmentManager/HeaderData/logic/itemGroupColumns.d.ts +18 -8
  34. package/build/types/backoffice/src/ui/AssortmentManager/HeaderData/logic/itemGroupColumns.d.ts.map +1 -1
  35. package/build/types/backoffice/src/ui/AssortmentManager/config/fields.d.ts.map +1 -1
  36. package/build/types/backoffice/src/ui/AssortmentManager/{HeaderData/hooks → hooks}/usePersistedFilter.d.ts +4 -2
  37. package/build/types/backoffice/src/ui/AssortmentManager/hooks/usePersistedFilter.d.ts.map +1 -0
  38. package/build/types/backoffice/src/ui/AssortmentManager/index.d.ts +2 -0
  39. package/build/types/backoffice/src/ui/AssortmentManager/index.d.ts.map +1 -1
  40. package/build/types/backoffice/src/ui/AssortmentManager/logic/jsonPointer.d.ts +7 -0
  41. package/build/types/backoffice/src/ui/AssortmentManager/logic/jsonPointer.d.ts.map +1 -0
  42. package/build/types/backoffice/src/ui/AssortmentManager/tests/allowedFieldValues.test.d.ts +2 -0
  43. package/build/types/backoffice/src/ui/AssortmentManager/tests/allowedFieldValues.test.d.ts.map +1 -0
  44. package/build/types/backoffice/src/ui/AssortmentManager/tests/articleColumns.test.d.ts +2 -0
  45. package/build/types/backoffice/src/ui/AssortmentManager/tests/articleColumns.test.d.ts.map +1 -0
  46. package/build/types/backoffice/src/ui/AssortmentManager/tests/articlePayloads.test.d.ts +2 -0
  47. package/build/types/backoffice/src/ui/AssortmentManager/tests/articlePayloads.test.d.ts.map +1 -0
  48. package/build/types/backoffice/src/ui/AssortmentManager/tests/articleSubTable.test.d.ts +2 -0
  49. package/build/types/backoffice/src/ui/AssortmentManager/tests/articleSubTable.test.d.ts.map +1 -0
  50. package/build/types/backoffice/src/ui/AssortmentManager/tests/sapLock.test.d.ts +2 -0
  51. package/build/types/backoffice/src/ui/AssortmentManager/tests/sapLock.test.d.ts.map +1 -0
  52. package/build/types/backoffice/src/ui/AssortmentManager/types.d.ts +64 -2
  53. package/build/types/backoffice/src/ui/AssortmentManager/types.d.ts.map +1 -1
  54. package/package.json +10 -10
  55. package/build/types/backoffice/src/ui/AssortmentManager/HeaderData/hooks/usePersistedFilter.d.ts.map +0 -1
@@ -17,6 +17,20 @@ export interface AssortmentManagerFixedValueRule {
17
17
  */
18
18
  values: Record<string, number | string>;
19
19
  }
20
+ /**
21
+ * Restricts a field to externally resolved allowed values (e.g. per-user SAP authorizations), see
22
+ * `AssortmentManagerField.allowedValues`: the article table shows only rows whose value is allowed,
23
+ * and the field's dropdown offers only the allowed codes. Fail closed by contract: an empty or
24
+ * unloadable list shows no rows — which assumes the field is never blank on the articles.
25
+ */
26
+ export interface AssortmentManagerAllowedValues {
27
+ /** apiConfig key of the service that resolves the allowed codes for the current user. */
28
+ service: 'clientArticleService' | 'catalogService';
29
+ /** Endpoint path on that service returning the codes. */
30
+ path: string;
31
+ /** Property of the response object carrying the string codes. */
32
+ responseField: string;
33
+ }
20
34
  /** One target of a form → table value coupling, see `AssortmentManagerField.copyValueTo`. */
21
35
  export interface AssortmentManagerCopyTarget {
22
36
  /** Full path of the ITEM_GROUP whose rows receive the value (e.g. `customData.SAP.SAP_KONP_EK`). */
@@ -42,14 +56,57 @@ interface AssortmentManagerEntryBase {
42
56
  showOnHeaderValues: boolean;
43
57
  /** Help text shown as a tooltip (legacy `ToolTip`, falling back to `Description`). */
44
58
  description?: string;
45
- /** Card title on the header data page; entries sharing a group land in the same card (legacy `EditorGroup`). */
46
- group: string;
59
+ /**
60
+ * Card title on the header data page and header group in the article table; entries sharing a
61
+ * group land in the same card/group (legacy `EditorGroup`). Without it an article column renders
62
+ * ungrouped at the top level — header-visible entries always carry one.
63
+ */
64
+ group?: string;
65
+ /**
66
+ * Pins the article table column to the given edge — passed through to the spreadsheet column
67
+ * definition's `pinned` flag. Replaces the legacy grid's `locked: true` on the LOCKED editor group.
68
+ */
69
+ pinned?: 'left' | 'right';
70
+ /**
71
+ * Folds the field into a shared compact symbol column of the article table: all entries naming
72
+ * the same column collapse into one (the name is its colId and header label), rendered by a
73
+ * page-provided cell renderer. The fields' own columns stay in the grid hidden — they keep
74
+ * carrying the initial sort, feed the renderer and remain reachable through the column panel.
75
+ */
76
+ commonColumn?: string;
77
+ /**
78
+ * The field's value is not carried over when an article row is duplicated — the copy starts
79
+ * empty here (per-article unique values, e.g. the SAP article number). Passed through to the
80
+ * spreadsheet column definition's `excludeFromDuplicate` flag. Effective for plain and
81
+ * multilanguage columns; a header-inheritable field would additionally need its materialized
82
+ * path stripped (its column binds the `overrideValues.…` path only).
83
+ */
84
+ excludeFromDuplicate?: boolean;
85
+ /** Offers sorting on the article table column (legacy `Sortable`); off by default. */
86
+ sortable?: boolean;
87
+ /**
88
+ * Offers filtering on the article table column (legacy `Filterable`); off by default. Named after
89
+ * the spreadsheet column definition's `filter` flag it is passed through to.
90
+ */
91
+ filter?: boolean;
92
+ /**
93
+ * The article table's free text search matches this field (legacy flat article filter); off by
94
+ * default. Multi-language fields are searched in the primary language only, like the legacy
95
+ * DE-only search.
96
+ */
97
+ search?: boolean;
47
98
  }
48
99
  /** A single editable field. */
49
100
  export interface AssortmentManagerField extends AssortmentManagerEntryBase {
50
101
  type: AssortmentManagerFieldType;
51
102
  /** When set, the field renders as a select fed by `/v1/dropdownItems` (legacy `DropdownKey`). */
52
103
  dropDownKey?: string;
104
+ /**
105
+ * Restricts the field to per-user allowed values resolved by the configured endpoint — the
106
+ * article table then shows only rows whose value is allowed, and the dropdown (`dropDownKey`
107
+ * list) offers only the allowed codes. See {@link AssortmentManagerAllowedValues}.
108
+ */
109
+ allowedValues?: AssortmentManagerAllowedValues;
53
110
  /**
54
111
  * When set, the field renders as a multi select fed by `/v1/dropdownItems`; the selected codes are
55
112
  * stored semicolon-joined in one string value (e.g. Marketplace `A;B`).
@@ -68,6 +125,11 @@ export interface AssortmentManagerField extends AssortmentManagerEntryBase {
68
125
  notRequiredOnHeaderValues?: boolean;
69
126
  /** Maximum input length for string fields, enforced by the editors (legacy `MaxLength`). */
70
127
  maxLength?: number;
128
+ /**
129
+ * The value is an object keyed by uppercase language codes (`{ DE, FR, IT }`, legacy
130
+ * `MultiLanguage`); the article table renders one child column per language.
131
+ */
132
+ multiLanguage?: boolean;
71
133
  /**
72
134
  * Renders the field as a growing textarea instead of a single-line input (legacy `Multiline` > 1,
73
135
  * which opened a modal editor because its form inputs were single-line only).
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/AssortmentManager/types.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,MAAM,MAAM,0BAA0B,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;AAE9F,qHAAqH;AACrH,MAAM,WAAW,gCAAgC;IAC/C,uFAAuF;IACvF,KAAK,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC3B;AAED,8GAA8G;AAC9G,MAAM,WAAW,+BAA+B;IAC9C,sFAAsF;IACtF,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;CACzC;AAED,6FAA6F;AAC7F,MAAM,WAAW,2BAA2B;IAC1C,oGAAoG;IACpG,SAAS,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,WAAW,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,UAAU,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,0BAA0B;IAClC,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ,mGAAmG;IACnG,aAAa,EAAE,OAAO,CAAC;IACvB,oGAAoG;IACpG,kBAAkB,EAAE,OAAO,CAAC;IAC5B,sFAAsF;IACtF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gHAAgH;IAChH,KAAK,EAAE,MAAM,CAAC;CACf;AAED,+BAA+B;AAC/B,MAAM,WAAW,sBAAuB,SAAQ,0BAA0B;IACxE,IAAI,EAAE,0BAA0B,CAAC;IACjC,iGAAiG;IACjG,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,4FAA4F;IAC5F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,2BAA2B,EAAE,CAAC;IAC5C;;;OAGG;IACH,YAAY,CAAC,EAAE,+BAA+B,CAAC;IAC/C;;;;OAIG;IACH,WAAW,CAAC,EAAE,gCAAgC,CAAC;IAC/C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,0BAA2B,SAAQ,0BAA0B;IAC5E,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,sBAAsB,EAAE,CAAC;IACjC;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,MAAM,4BAA4B,GAAG,sBAAsB,GAAG,0BAA0B,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/AssortmentManager/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crystaldesign/diva-backoffice",
3
- "version": "26.11.0-beta.21",
3
+ "version": "26.11.0-beta.22",
4
4
  "description": "Ant Design backoffice shell: configuration plus the IDM and enricher editors.",
5
5
  "license": "COMMERCIAL",
6
6
  "devDependencies": {
@@ -16,14 +16,14 @@
16
16
  "dependencies": {
17
17
  "@ant-design/icons": "6.1.0",
18
18
  "@babel/runtime": "7.24.7",
19
- "@crystaldesign/content-box": "26.11.0-beta.21",
20
- "@crystaldesign/content-item": "26.11.0-beta.21",
21
- "@crystaldesign/diva-agent": "26.11.0-beta.21",
22
- "@crystaldesign/diva-core": "26.11.0-beta.21",
23
- "@crystaldesign/diva-utils": "26.11.0-beta.21",
24
- "@crystaldesign/media-upload": "26.11.0-beta.21",
25
- "@crystaldesign/rtf-editor": "26.11.0-beta.21",
26
- "@crystaldesign/spreadsheet": "26.11.0-beta.21",
19
+ "@crystaldesign/content-box": "26.11.0-beta.22",
20
+ "@crystaldesign/content-item": "26.11.0-beta.22",
21
+ "@crystaldesign/diva-agent": "26.11.0-beta.22",
22
+ "@crystaldesign/diva-core": "26.11.0-beta.22",
23
+ "@crystaldesign/diva-utils": "26.11.0-beta.22",
24
+ "@crystaldesign/media-upload": "26.11.0-beta.22",
25
+ "@crystaldesign/rtf-editor": "26.11.0-beta.22",
26
+ "@crystaldesign/spreadsheet": "26.11.0-beta.22",
27
27
  "@dnd-kit/core": "^6.1.0",
28
28
  "@dnd-kit/sortable": "^8.0.0",
29
29
  "@dnd-kit/utilities": "^3.2.2",
@@ -57,5 +57,5 @@
57
57
  },
58
58
  "module": "build/esm/index.js",
59
59
  "types": "./build/types/backoffice/src/index.d.ts",
60
- "gitHead": "edd268213efe52391d5eb9b69df548b219512023"
60
+ "gitHead": "00e47e1acf9ed15d3ed504c72f54d2415a07f166"
61
61
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"usePersistedFilter.d.ts","sourceRoot":"","sources":["../../../../../../../../src/ui/AssortmentManager/HeaderData/hooks/usePersistedFilter.ts"],"names":[],"mappings":"AA+CA;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,cAAc,CAAC,EAAE,MAAM;;;iCAUjC,MAAM;mBACpB,MAAM;EAExB"}