@crystaldesign/diva-backoffice 26.13.0-beta.33 → 26.13.0-beta.35

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 (76) hide show
  1. package/build/esm/index.js +7061 -5737
  2. package/build/types/backoffice/src/index.d.ts.map +1 -1
  3. package/build/types/backoffice/src/layout/ProductOnboarding/Navigation.d.ts.map +1 -1
  4. package/build/types/backoffice/src/layout/ProductOnboarding/views.d.ts.map +1 -1
  5. package/build/types/backoffice/src/layout/Toolbar/Tools/DivaAgent/index.d.ts.map +1 -1
  6. package/build/types/backoffice/src/layout/Toolbar/Tools/DivaAgent/mediaToolset.d.ts.map +1 -1
  7. package/build/types/backoffice/src/layout/Toolbar/Tools/DivaAgent/navigationToolset.d.ts +25 -0
  8. package/build/types/backoffice/src/layout/Toolbar/Tools/DivaAgent/navigationToolset.d.ts.map +1 -1
  9. package/build/types/backoffice/src/layout/Toolbar/Tools/DivaAgent/pageReload.d.ts +46 -0
  10. package/build/types/backoffice/src/layout/Toolbar/Tools/DivaAgent/pageReload.d.ts.map +1 -0
  11. package/build/types/backoffice/src/store/RootStore.d.ts +11 -1
  12. package/build/types/backoffice/src/store/RootStore.d.ts.map +1 -1
  13. package/build/types/backoffice/src/store/index.d.ts +3 -1
  14. package/build/types/backoffice/src/store/index.d.ts.map +1 -1
  15. package/build/types/backoffice/src/tests/unit/layout/Toolbar/Tools/DivaAgent/locateRowNotUnique.test.d.ts +2 -0
  16. package/build/types/backoffice/src/tests/unit/layout/Toolbar/Tools/DivaAgent/locateRowNotUnique.test.d.ts.map +1 -0
  17. package/build/types/backoffice/src/tests/unit/layout/Toolbar/Tools/DivaAgent/openCatalogFacts.test.d.ts +2 -0
  18. package/build/types/backoffice/src/tests/unit/layout/Toolbar/Tools/DivaAgent/openCatalogFacts.test.d.ts.map +1 -0
  19. package/build/types/backoffice/src/tests/unit/layout/Toolbar/Tools/DivaAgent/pageReload.test.d.ts +2 -0
  20. package/build/types/backoffice/src/tests/unit/layout/Toolbar/Tools/DivaAgent/pageReload.test.d.ts.map +1 -0
  21. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/components/ArticleSubTable/index.d.ts +4 -1
  22. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/components/ArticleSubTable/index.d.ts.map +1 -1
  23. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/components/ArticleTable/index.d.ts +3 -0
  24. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/components/ArticleTable/index.d.ts.map +1 -1
  25. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/components/ClassificationPanel/ClassificationGroups/index.d.ts +3 -1
  26. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/components/ClassificationPanel/ClassificationGroups/index.d.ts.map +1 -1
  27. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/components/ClassificationPanel/ClassificationReady/index.d.ts +3 -1
  28. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/components/ClassificationPanel/ClassificationReady/index.d.ts.map +1 -1
  29. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/components/ClassificationPanel/CopyActions/index.d.ts +15 -0
  30. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/components/ClassificationPanel/CopyActions/index.d.ts.map +1 -0
  31. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/components/ClassificationPanel/RequiredFieldsAlert/index.d.ts +9 -0
  32. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/components/ClassificationPanel/RequiredFieldsAlert/index.d.ts.map +1 -0
  33. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/components/ClassificationPanel/SapNrListInput/index.d.ts +15 -0
  34. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/components/ClassificationPanel/SapNrListInput/index.d.ts.map +1 -0
  35. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/components/ClassificationPanel/SapNrListResult/index.d.ts +13 -0
  36. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/components/ClassificationPanel/SapNrListResult/index.d.ts.map +1 -0
  37. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/components/ClassificationPanel/findSapNrList.d.ts +9 -0
  38. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/components/ClassificationPanel/findSapNrList.d.ts.map +1 -0
  39. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/components/ClassificationPanel/index.d.ts +9 -1
  40. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/components/ClassificationPanel/index.d.ts.map +1 -1
  41. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/hooks/useAllowedFieldValues.d.ts +3 -2
  42. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/hooks/useAllowedFieldValues.d.ts.map +1 -1
  43. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/hooks/useHeaderProducts.d.ts +4 -3
  44. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/hooks/useHeaderProducts.d.ts.map +1 -1
  45. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/hooks/usePlanningTransfer.d.ts.map +1 -1
  46. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/index.d.ts.map +1 -1
  47. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/logic/classificationRequiredFields.d.ts +14 -0
  48. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/logic/classificationRequiredFields.d.ts.map +1 -0
  49. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/logic/classificationSelection.d.ts +8 -0
  50. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/logic/classificationSelection.d.ts.map +1 -1
  51. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/logic/finalDeletes.d.ts +28 -0
  52. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/logic/finalDeletes.d.ts.map +1 -0
  53. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/logic/sapNrList.d.ts +28 -0
  54. package/build/types/backoffice/src/ui/AssortmentManager/ArticleData/logic/sapNrList.d.ts.map +1 -0
  55. package/build/types/backoffice/src/ui/AssortmentManager/ColliData/components/ColliTable/index.d.ts +3 -0
  56. package/build/types/backoffice/src/ui/AssortmentManager/ColliData/components/ColliTable/index.d.ts.map +1 -1
  57. package/build/types/backoffice/src/ui/AssortmentManager/ColliData/index.d.ts.map +1 -1
  58. package/build/types/backoffice/src/ui/AssortmentManager/HeaderData/components/Content/index.d.ts.map +1 -1
  59. package/build/types/backoffice/src/ui/AssortmentManager/HeaderData/index.d.ts.map +1 -1
  60. package/build/types/backoffice/src/ui/AssortmentManager/SupplierColors/index.d.ts +13 -0
  61. package/build/types/backoffice/src/ui/AssortmentManager/SupplierColors/index.d.ts.map +1 -0
  62. package/build/types/backoffice/src/ui/AssortmentManager/SupplierColors/logic/supplierColorsFile.d.ts +20 -0
  63. package/build/types/backoffice/src/ui/AssortmentManager/SupplierColors/logic/supplierColorsFile.d.ts.map +1 -0
  64. package/build/types/backoffice/src/ui/AssortmentManager/SupplierColors/logic/supplierColorsImport.d.ts +9 -0
  65. package/build/types/backoffice/src/ui/AssortmentManager/SupplierColors/logic/supplierColorsImport.d.ts.map +1 -0
  66. package/build/types/backoffice/src/ui/AssortmentManager/hooks/useApi2Sync.d.ts +12 -4
  67. package/build/types/backoffice/src/ui/AssortmentManager/hooks/useApi2Sync.d.ts.map +1 -1
  68. package/build/types/backoffice/src/ui/AssortmentManager/index.d.ts +1 -0
  69. package/build/types/backoffice/src/ui/AssortmentManager/index.d.ts.map +1 -1
  70. package/build/types/backoffice/src/ui/AssortmentManager/tests/finalDeletes.test.d.ts +2 -0
  71. package/build/types/backoffice/src/ui/AssortmentManager/tests/finalDeletes.test.d.ts.map +1 -0
  72. package/build/types/backoffice/src/ui/AssortmentManager/tests/sapNrList.test.d.ts +2 -0
  73. package/build/types/backoffice/src/ui/AssortmentManager/tests/sapNrList.test.d.ts.map +1 -0
  74. package/build/types/backoffice/src/ui/AssortmentManager/tests/supplierColors.test.d.ts +2 -0
  75. package/build/types/backoffice/src/ui/AssortmentManager/tests/supplierColors.test.d.ts.map +1 -0
  76. package/package.json +12 -12
@@ -0,0 +1,28 @@
1
+ /** An entry of a bulk answer's error lists, naming the row by its position in the request list. */
2
+ interface BulkErrorEntry {
3
+ index?: number;
4
+ resolved?: boolean;
5
+ }
6
+ /** The parts of the catalog's bulk answer (`POST /v1/products/bulk`) read and written here; the rest passes through. */
7
+ interface BulkAnswer {
8
+ errors?: {
9
+ remove?: BulkErrorEntry[];
10
+ [list: string]: unknown;
11
+ };
12
+ }
13
+ /** The bulk request the answer belongs to: lists of rows per operation, the deletes as their ids. */
14
+ interface BulkRequest {
15
+ remove?: unknown[];
16
+ [list: string]: unknown;
17
+ }
18
+ /**
19
+ * Makes the deletes of a bulk answer final for the grid (its `reviewBulkResponse`): every delete the catalog confirmed
20
+ * gets a `resolved` entry — the grid's word for "saved, but not undoable" — so the grid books the row as deleted, drops
21
+ * its whole undo history (an undo of an older edit of the row would restore it as well) and announces the delete
22
+ * without the revert button. A delete cannot be undone here: the legacy SM removes the article with it and API2
23
+ * archives the catalog product on top (`../hooks/useApi2Sync`), a restored article would come back archived. Refused
24
+ * deletes keep their error.
25
+ */
26
+ export declare function withFinalDeletes<T extends BulkAnswer>(response: T, request: BulkRequest): T;
27
+ export {};
28
+ //# sourceMappingURL=finalDeletes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"finalDeletes.d.ts","sourceRoot":"","sources":["../../../../../../../../src/ui/AssortmentManager/ArticleData/logic/finalDeletes.ts"],"names":[],"mappings":"AAAA,mGAAmG;AACnG,UAAU,cAAc;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wHAAwH;AACxH,UAAU,UAAU;IAClB,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;QAAC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;CACjE;AAED,qGAAqG;AACrG,UAAU,WAAW;IACnB,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC;IACnB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,UAAU,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,GAAG,CAAC,CAQ3F"}
@@ -0,0 +1,28 @@
1
+ /** An article found for a pasted SAP number — what the lookup projects to. */
2
+ export interface SapNrProduct {
3
+ _id: unknown;
4
+ retailerArticleNr?: unknown;
5
+ }
6
+ /** The outcome of a pasted SAP number list: the articles to classify, and the numbers no article has. */
7
+ export interface SapNrListMatch {
8
+ /** The found articles' ids, in the order of the list. */
9
+ ids: string[];
10
+ /** The numbers of the list without an article, in the order of the list. */
11
+ notFound: string[];
12
+ }
13
+ /**
14
+ * The distinct SAP numbers of a pasted list. Anything between them separates: line breaks (an Excel column), tabs
15
+ * (an Excel row), `;` (the article search's separator), `,` and spaces.
16
+ */
17
+ export declare function parseSapNrList(input: string): string[];
18
+ /**
19
+ * The query grammar filter for the articles of a SAP number list: exactly by `retailerArticleNr` — the SAP number the
20
+ * catalog mirrors from `SAP_MARA_MATNR`, as the product list's SAP number classification matches — among the articles
21
+ * the article table shows the user: the organization's SM articles (supplier and EK group set), not archived, no
22
+ * header rows, not deleted, within the user's allowed values. Returns undefined when nothing can match: no number
23
+ * fits the grammar, or a restricted field allows no value at all (the table shows nothing then either).
24
+ */
25
+ export declare function sapNrListFilter(organizationId: string, sapNrs: string[], allowedValues: Record<string, string[] | undefined>): string | undefined;
26
+ /** Pairs the list with the articles found for it: every article of a number (a number may have several), else the number as unfound. */
27
+ export declare function matchSapNrList(sapNrs: string[], products: SapNrProduct[]): SapNrListMatch;
28
+ //# sourceMappingURL=sapNrList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sapNrList.d.ts","sourceRoot":"","sources":["../../../../../../../../src/ui/AssortmentManager/ArticleData/logic/sapNrList.ts"],"names":[],"mappings":"AAGA,8EAA8E;AAC9E,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,OAAO,CAAC;IACb,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,yGAAyG;AACzG,MAAM,WAAW,cAAc;IAC7B,yDAAyD;IACzD,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAEtD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,MAAM,GAAG,SAAS,CAsBjJ;AAED,wIAAwI;AACxI,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,cAAc,CASzF"}
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import type { NotificationInstance } from 'antd/es/notification/interface';
2
3
  import { DivaSpreadsheetHooks, SpreadsheetRefProps } from '@crystaldesign/spreadsheet';
3
4
  import { AssortmentManagerViewCondition } from '../../../types';
4
5
  interface ColliTableProps {
@@ -8,6 +9,8 @@ interface ColliTableProps {
8
9
  hooks?: DivaSpreadsheetHooks<Record<string, unknown>>;
9
10
  /** The conditions of the active predefined views — joined into the pre filter. */
10
11
  viewConditions?: AssortmentManagerViewCondition[];
12
+ /** The page's notifications — a failed load reports while the table still shows its spinner. */
13
+ notify: NotificationInstance;
11
14
  }
12
15
  /**
13
16
  * The articles of the Kollidaten page as a server-side grid: the same articles and saves as the article table
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/ui/AssortmentManager/ColliData/components/ColliTable/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAEhE,OAAO,EAAiB,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAGtG,OAAO,EAAE,8BAA8B,EAAE,MAAM,gBAAgB,CAAC;AAchE,UAAU,eAAe;IACvB,6GAA6G;IAC7G,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,KAAK,CAAC,EAAE,oBAAoB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACtD,kFAAkF;IAClF,cAAc,CAAC,EAAE,8BAA8B,EAAE,CAAC;CACnD;AAED;;;;;;GAMG;AACH,QAAA,MAAM,UAAU,sHAyEd,CAAC;AAEH,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/ui/AssortmentManager/ColliData/components/ColliTable/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAEhE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAiB,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAGtG,OAAO,EAAE,8BAA8B,EAAE,MAAM,gBAAgB,CAAC;AAchE,UAAU,eAAe;IACvB,6GAA6G;IAC7G,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,KAAK,CAAC,EAAE,oBAAoB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACtD,kFAAkF;IAClF,cAAc,CAAC,EAAE,8BAA8B,EAAE,CAAC;IAClD,gGAAgG;IAChG,MAAM,EAAE,oBAAoB,CAAC;CAC9B;AAED;;;;;;GAMG;AACH,QAAA,MAAM,UAAU,sHAyEd,CAAC;AAEH,eAAe,UAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/ui/AssortmentManager/ColliData/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAC;AAiBtE;;;;;;GAMG;AACH,iBAAS,SAAS,sBAkFjB;;;;AAED,wBAAmC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/ui/AssortmentManager/ColliData/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAC;AAkBtE;;;;;;GAMG;AACH,iBAAS,SAAS,sBAoFjB;;;;AAED,wBAAmC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/ui/AssortmentManager/HeaderData/components/Content/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAUnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAGxE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAgDhD,UAAU,YAAY;IACpB,4EAA4E;IAC5E,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,gGAAgG;IAChG,QAAQ,EAAE,qBAAqB,CAAC;IAChC,4GAA4G;IAC5G,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB;;;;OAIG;IACH,aAAa,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAChD,uGAAuG;IACvG,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACxD;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,sGAAsG;IACtG,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IACzC,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED;;;;;GAKG;AACH,iBAAS,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,YAAY,qBA2MnI;AAED,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/ui/AssortmentManager/HeaderData/components/Content/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAUnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAGxE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAiDhD,UAAU,YAAY;IACpB,4EAA4E;IAC5E,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,gGAAgG;IAChG,QAAQ,EAAE,qBAAqB,CAAC;IAChC,4GAA4G;IAC5G,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB;;;;OAIG;IACH,aAAa,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAChD,uGAAuG;IACvG,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACxD;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,sGAAsG;IACtG,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IACzC,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED;;;;;GAKG;AACH,iBAAS,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,YAAY,qBA6MnI;AAED,eAAe,OAAO,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/ui/AssortmentManager/HeaderData/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AA0CjF,iBAAS,UAAU,sBAyXlB;;;;AAED,wBAAoC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/ui/AssortmentManager/HeaderData/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AA2CjF,iBAAS,UAAU,sBA2XlB;;;;AAED,wBAAoC"}
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ /**
3
+ * The Lieferantenfarben page of the assortment manager: imports a supplier's colors file (XML) through the legacy
4
+ * API2 import (`logic/supplierColorsImport.ts`). Choose the supplier, add the file, start — the file is checked first
5
+ * (`logic/supplierColorsFile.ts`), since API2 replaces all colors of the supplier with the file's. The import runs in
6
+ * the background and mails its outcome; the page only reports the start. No EKG: API2 keeps the colors per supplier.
7
+ */
8
+ declare function SupplierColors(): React.JSX.Element;
9
+ declare const _default: typeof SupplierColors & {
10
+ displayName: string;
11
+ };
12
+ export default _default;
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/ui/AssortmentManager/SupplierColors/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAWxC;;;;;GAKG;AACH,iBAAS,cAAc,sBA8HtB;;;;AAED,wBAAwC"}
@@ -0,0 +1,20 @@
1
+ /** What keeps a supplier colors file from being imported. */
2
+ export type SupplierColorsFileIssue = {
3
+ reason: 'invalidXml';
4
+ } | {
5
+ reason: 'noColors';
6
+ }
7
+ /** The `SupplierNumber`s of the file that differ from the chosen supplier — a missing one as the empty string. */
8
+ | {
9
+ reason: 'otherSupplier';
10
+ supplierNumbers: string[];
11
+ };
12
+ /**
13
+ * Checks a supplier colors file before it goes to API2. `importsuppliercolors` deletes every color of the supplier and
14
+ * inserts the file's `<COLOR>` elements, so a file it reads as empty — no `<COLOR>`, or all of them in a namespace
15
+ * (the XSD declares `targetNamespace="SupplierColors"`) — would wipe the supplier's colors. The file is read the way
16
+ * API2 reads it: `<COLOR>` elements without namespace, their `SupplierNumber` a direct child without namespace,
17
+ * compared verbatim (`00554` is not `554`). Returns undefined for a file that may be imported.
18
+ */
19
+ export declare function checkSupplierColorsFile(xml: string, supplierNr: string): SupplierColorsFileIssue | undefined;
20
+ //# sourceMappingURL=supplierColorsFile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supplierColorsFile.d.ts","sourceRoot":"","sources":["../../../../../../../../src/ui/AssortmentManager/SupplierColors/logic/supplierColorsFile.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,MAAM,MAAM,uBAAuB,GAC/B;IAAE,MAAM,EAAE,YAAY,CAAA;CAAE,GACxB;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE;AACxB,kHAAkH;GAChH;IAAE,MAAM,EAAE,eAAe,CAAC;IAAC,eAAe,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAE3D;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,uBAAuB,GAAG,SAAS,CAc5G"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Starts the legacy supplier colors import of API2 — the endpoint the legacy SM's "Lieferantenfarben importieren" used,
3
+ * on the EK server, where the classification reads the colors (`getjsonsuppliercolors`). `function=upload` stores the
4
+ * file in the session's inbox under its name, `function=importsuppliercolors` imports it from there in the background:
5
+ * it replaces all colors of the supplier with the file's and renames them in the classification of the supplier's
6
+ * articles. The outcome is mailed to the session's user; this only reports whether the import started.
7
+ */
8
+ export declare function startSupplierColorsImport(api2Url: string, sessionGuid: string, file: File, supplierNr: string): Promise<void>;
9
+ //# sourceMappingURL=supplierColorsImport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supplierColorsImport.d.ts","sourceRoot":"","sources":["../../../../../../../../src/ui/AssortmentManager/SupplierColors/logic/supplierColorsImport.ts"],"names":[],"mappings":"AAaA;;;;;;GAMG;AACH,wBAAsB,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAUnI"}
@@ -16,13 +16,21 @@ export interface Api2SyncFailure {
16
16
  */
17
17
  export declare function syncProductsToApi2(root: RootStore, productIds: string[]): Promise<Api2SyncFailure[]>;
18
18
  /**
19
- * The page's API2 sync: fire-and-forget after a confirmed save, failures as toasts like the bulk actions'.
20
- * An article whose sync is still running is not started again but marked to run once more afterwards —
21
- * a save landing while the previous sync runs (the grid commits some edits twice, e.g. a label companion
22
- * reset) ends with the latest state in API2 without parallel writes of the same flat article.
19
+ * Removes deleted products from the legacy SM one by one: `DELETE {pfister-article}/v1/pfisterproducts/smarticle`
20
+ * per product (query parameters). The service deletes the flat articles API2 keeps for the product — so its supplier
21
+ * article number is free for a new article — and refuses a product the catalog still serves; switched off like the
22
+ * sync. Returns the products that failed instead of throwing.
23
+ */
24
+ export declare function deleteProductsFromApi2(root: RootStore, productIds: string[]): Promise<Api2SyncFailure[]>;
25
+ /**
26
+ * The page's API2 sync: fire-and-forget after a confirmed save or delete, failures as toasts like the bulk actions'.
27
+ * A product whose call is still running is not started again but remembers the latest request to run afterwards — a
28
+ * save landing while the previous sync runs (the grid commits some edits twice, e.g. a label companion reset) ends
29
+ * with the latest state in API2 without parallel writes of the same flat article.
23
30
  */
24
31
  export default function useApi2Sync(root: RootStore): {
25
32
  syncToApi2: (productIds: string[]) => void;
33
+ deleteFromApi2: (productIds: string[]) => void;
26
34
  api2SyncNotifications: React.ReactNode;
27
35
  };
28
36
  //# sourceMappingURL=useApi2Sync.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useApi2Sync.d.ts","sourceRoot":"","sources":["../../../../../../../src/ui/AssortmentManager/hooks/useApi2Sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAGnD,OAAO,SAAS,MAAM,0BAA0B,CAAC;AAIjD,2EAA2E;AAC3E,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAyB1G;AAED;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG;IAAE,UAAU,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAAC,qBAAqB,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAkC3I"}
1
+ {"version":3,"file":"useApi2Sync.d.ts","sourceRoot":"","sources":["../../../../../../../src/ui/AssortmentManager/hooks/useApi2Sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAGnD,OAAO,SAAS,MAAM,0BAA0B,CAAC;AAIjD,2EAA2E;AAC3E,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAkBD;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAmB1G;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAiB9G;AAED;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG;IACpD,UAAU,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC3C,cAAc,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC/C,qBAAqB,EAAE,KAAK,CAAC,SAAS,CAAC;CACxC,CAqCA"}
@@ -1,4 +1,5 @@
1
1
  export { default as AssortmentManagerHeaderData } from './HeaderData';
2
2
  export { default as AssortmentManagerArticleData } from './ArticleData';
3
3
  export { default as AssortmentManagerColliData } from './ColliData';
4
+ export { default as AssortmentManagerSupplierColors } from './SupplierColors';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/AssortmentManager/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,2BAA2B,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/AssortmentManager/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,2BAA2B,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,+BAA+B,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=finalDeletes.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"finalDeletes.test.d.ts","sourceRoot":"","sources":["../../../../../../../src/ui/AssortmentManager/tests/finalDeletes.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sapNrList.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sapNrList.test.d.ts","sourceRoot":"","sources":["../../../../../../../src/ui/AssortmentManager/tests/sapNrList.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=supplierColors.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supplierColors.test.d.ts","sourceRoot":"","sources":["../../../../../../../src/ui/AssortmentManager/tests/supplierColors.test.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crystaldesign/diva-backoffice",
3
- "version": "26.13.0-beta.33",
3
+ "version": "26.13.0-beta.35",
4
4
  "description": "Ant Design backoffice shell (configuration modules), the Diva Data Engine component hosting the IDM and enricher editors, and the Produkt Onboarding component hosting the Assortment Manager.",
5
5
  "license": "COMMERCIAL",
6
6
  "devDependencies": {
@@ -16,16 +16,16 @@
16
16
  "dependencies": {
17
17
  "@ant-design/icons": "6.3.4",
18
18
  "@babel/runtime": "7.24.7",
19
- "@crystaldesign/classification": "26.13.0-beta.33",
20
- "@crystaldesign/content-box": "26.13.0-beta.33",
21
- "@crystaldesign/content-item": "26.13.0-beta.33",
22
- "@crystaldesign/diva-agent": "26.13.0-beta.33",
23
- "@crystaldesign/diva-core": "26.13.0-beta.33",
24
- "@crystaldesign/diva-utils": "26.13.0-beta.33",
25
- "@crystaldesign/mass-configurator": "26.13.0-beta.33",
26
- "@crystaldesign/media-upload": "26.13.0-beta.33",
27
- "@crystaldesign/rtf-editor": "26.13.0-beta.33",
28
- "@crystaldesign/spreadsheet": "26.13.0-beta.33",
19
+ "@crystaldesign/classification": "26.13.0-beta.35",
20
+ "@crystaldesign/content-box": "26.13.0-beta.35",
21
+ "@crystaldesign/content-item": "26.13.0-beta.35",
22
+ "@crystaldesign/diva-agent": "26.13.0-beta.35",
23
+ "@crystaldesign/diva-core": "26.13.0-beta.35",
24
+ "@crystaldesign/diva-utils": "26.13.0-beta.35",
25
+ "@crystaldesign/mass-configurator": "26.13.0-beta.35",
26
+ "@crystaldesign/media-upload": "26.13.0-beta.35",
27
+ "@crystaldesign/rtf-editor": "26.13.0-beta.35",
28
+ "@crystaldesign/spreadsheet": "26.13.0-beta.35",
29
29
  "@dnd-kit/core": "^6.1.0",
30
30
  "@dnd-kit/sortable": "^8.0.0",
31
31
  "@dnd-kit/utilities": "^3.2.2",
@@ -63,5 +63,5 @@
63
63
  "suiteName": "diva-backoffice",
64
64
  "outputDirectory": "./test-reports"
65
65
  },
66
- "gitHead": "0dc4a19c471089f3f69a33b5821f7ac5a63ca0ce"
66
+ "gitHead": "c75def8c69e7d8e86d8d2abdb418b62f8cc624fd"
67
67
  }