@carlonicora/nextjs-jsonapi 1.110.0 → 1.111.1

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 (146) hide show
  1. package/dist/{BlockNoteEditor-K7IIWM3S.mjs → BlockNoteEditor-A5LNFWHW.mjs} +2 -2
  2. package/dist/{BlockNoteEditor-7OKW6HHN.js → BlockNoteEditor-HNQNKCFP.js} +9 -9
  3. package/dist/{BlockNoteEditor-7OKW6HHN.js.map → BlockNoteEditor-HNQNKCFP.js.map} +1 -1
  4. package/dist/billing/index.js +299 -299
  5. package/dist/billing/index.mjs +1 -1
  6. package/dist/{chunk-AKXUNE3A.js → chunk-DRJUN4R6.js} +22 -19
  7. package/dist/chunk-DRJUN4R6.js.map +1 -0
  8. package/dist/{chunk-TXVVZLUQ.mjs → chunk-LYLGU2BK.mjs} +67 -64
  9. package/dist/chunk-LYLGU2BK.mjs.map +1 -0
  10. package/dist/client/index.js +2 -2
  11. package/dist/client/index.mjs +1 -1
  12. package/dist/components/index.js +2 -2
  13. package/dist/components/index.mjs +1 -1
  14. package/dist/contexts/index.js +2 -2
  15. package/dist/contexts/index.mjs +1 -1
  16. package/dist/features/help/index.js +30 -30
  17. package/dist/features/help/index.mjs +1 -1
  18. package/dist/scripts/generate-web-module/__tests__/container.spec.d.ts +2 -0
  19. package/dist/scripts/generate-web-module/__tests__/container.spec.d.ts.map +1 -0
  20. package/dist/scripts/generate-web-module/__tests__/container.spec.js +54 -0
  21. package/dist/scripts/generate-web-module/__tests__/container.spec.js.map +1 -0
  22. package/dist/scripts/generate-web-module/__tests__/data-service.spec.d.ts +2 -0
  23. package/dist/scripts/generate-web-module/__tests__/data-service.spec.d.ts.map +1 -0
  24. package/dist/scripts/generate-web-module/__tests__/data-service.spec.js +19 -0
  25. package/dist/scripts/generate-web-module/__tests__/data-service.spec.js.map +1 -0
  26. package/dist/scripts/generate-web-module/__tests__/editor.spec.d.ts +2 -0
  27. package/dist/scripts/generate-web-module/__tests__/editor.spec.d.ts.map +1 -0
  28. package/dist/scripts/generate-web-module/__tests__/editor.spec.js +35 -0
  29. package/dist/scripts/generate-web-module/__tests__/editor.spec.js.map +1 -0
  30. package/dist/scripts/generate-web-module/__tests__/fixtures.d.ts +4 -0
  31. package/dist/scripts/generate-web-module/__tests__/fixtures.d.ts.map +1 -0
  32. package/dist/scripts/generate-web-module/__tests__/fixtures.js +45 -0
  33. package/dist/scripts/generate-web-module/__tests__/fixtures.js.map +1 -0
  34. package/dist/scripts/generate-web-module/__tests__/model-interface.spec.d.ts +2 -0
  35. package/dist/scripts/generate-web-module/__tests__/model-interface.spec.d.ts.map +1 -0
  36. package/dist/scripts/generate-web-module/__tests__/model-interface.spec.js +74 -0
  37. package/dist/scripts/generate-web-module/__tests__/model-interface.spec.js.map +1 -0
  38. package/dist/scripts/generate-web-module/__tests__/plumbing.spec.d.ts +2 -0
  39. package/dist/scripts/generate-web-module/__tests__/plumbing.spec.d.ts.map +1 -0
  40. package/dist/scripts/generate-web-module/__tests__/plumbing.spec.js +21 -0
  41. package/dist/scripts/generate-web-module/__tests__/plumbing.spec.js.map +1 -0
  42. package/dist/scripts/generate-web-module/__tests__/selector.spec.d.ts +2 -0
  43. package/dist/scripts/generate-web-module/__tests__/selector.spec.d.ts.map +1 -0
  44. package/dist/scripts/generate-web-module/__tests__/selector.spec.js +25 -0
  45. package/dist/scripts/generate-web-module/__tests__/selector.spec.js.map +1 -0
  46. package/dist/scripts/generate-web-module/__tests__/table-module-list.spec.d.ts +2 -0
  47. package/dist/scripts/generate-web-module/__tests__/table-module-list.spec.d.ts.map +1 -0
  48. package/dist/scripts/generate-web-module/__tests__/table-module-list.spec.js +55 -0
  49. package/dist/scripts/generate-web-module/__tests__/table-module-list.spec.js.map +1 -0
  50. package/dist/scripts/generate-web-module/generator.d.ts.map +1 -1
  51. package/dist/scripts/generate-web-module/generator.js +14 -11
  52. package/dist/scripts/generate-web-module/generator.js.map +1 -1
  53. package/dist/scripts/generate-web-module/templates/components/container.template.d.ts +5 -1
  54. package/dist/scripts/generate-web-module/templates/components/container.template.d.ts.map +1 -1
  55. package/dist/scripts/generate-web-module/templates/components/container.template.js +43 -63
  56. package/dist/scripts/generate-web-module/templates/components/container.template.js.map +1 -1
  57. package/dist/scripts/generate-web-module/templates/components/content.template.d.ts +7 -4
  58. package/dist/scripts/generate-web-module/templates/components/content.template.d.ts.map +1 -1
  59. package/dist/scripts/generate-web-module/templates/components/content.template.js +103 -14
  60. package/dist/scripts/generate-web-module/templates/components/content.template.js.map +1 -1
  61. package/dist/scripts/generate-web-module/templates/components/editor.template.d.ts +1 -1
  62. package/dist/scripts/generate-web-module/templates/components/editor.template.js +139 -150
  63. package/dist/scripts/generate-web-module/templates/components/editor.template.js.map +1 -1
  64. package/dist/scripts/generate-web-module/templates/components/index.d.ts +0 -1
  65. package/dist/scripts/generate-web-module/templates/components/index.d.ts.map +1 -1
  66. package/dist/scripts/generate-web-module/templates/components/index.js +1 -3
  67. package/dist/scripts/generate-web-module/templates/components/index.js.map +1 -1
  68. package/dist/scripts/generate-web-module/templates/components/list-container.template.js +2 -2
  69. package/dist/scripts/generate-web-module/templates/components/list.template.d.ts.map +1 -1
  70. package/dist/scripts/generate-web-module/templates/components/list.template.js +6 -1
  71. package/dist/scripts/generate-web-module/templates/components/list.template.js.map +1 -1
  72. package/dist/scripts/generate-web-module/templates/components/selector.template.d.ts.map +1 -1
  73. package/dist/scripts/generate-web-module/templates/components/selector.template.js +48 -52
  74. package/dist/scripts/generate-web-module/templates/components/selector.template.js.map +1 -1
  75. package/dist/scripts/generate-web-module/templates/data/interface.template.d.ts.map +1 -1
  76. package/dist/scripts/generate-web-module/templates/data/interface.template.js +38 -11
  77. package/dist/scripts/generate-web-module/templates/data/interface.template.js.map +1 -1
  78. package/dist/scripts/generate-web-module/templates/data/model.template.d.ts.map +1 -1
  79. package/dist/scripts/generate-web-module/templates/data/model.template.js +83 -26
  80. package/dist/scripts/generate-web-module/templates/data/model.template.js.map +1 -1
  81. package/dist/scripts/generate-web-module/templates/data/service.template.d.ts.map +1 -1
  82. package/dist/scripts/generate-web-module/templates/data/service.template.js +21 -1
  83. package/dist/scripts/generate-web-module/templates/data/service.template.js.map +1 -1
  84. package/dist/scripts/generate-web-module/templates/index.d.ts +1 -1
  85. package/dist/scripts/generate-web-module/templates/index.d.ts.map +1 -1
  86. package/dist/scripts/generate-web-module/templates/index.js +1 -2
  87. package/dist/scripts/generate-web-module/templates/index.js.map +1 -1
  88. package/dist/scripts/generate-web-module/templates/module.template.d.ts.map +1 -1
  89. package/dist/scripts/generate-web-module/templates/module.template.js +11 -3
  90. package/dist/scripts/generate-web-module/templates/module.template.js.map +1 -1
  91. package/dist/scripts/generate-web-module/templates/table-hook.template.js +31 -1
  92. package/dist/scripts/generate-web-module/templates/table-hook.template.js.map +1 -1
  93. package/dist/scripts/generate-web-module/transformers/import-resolver.d.ts +0 -1
  94. package/dist/scripts/generate-web-module/transformers/import-resolver.d.ts.map +1 -1
  95. package/dist/scripts/generate-web-module/transformers/import-resolver.js +0 -1
  96. package/dist/scripts/generate-web-module/transformers/import-resolver.js.map +1 -1
  97. package/dist/scripts/generate-web-module/transformers/relationship-key.d.ts +5 -0
  98. package/dist/scripts/generate-web-module/transformers/relationship-key.d.ts.map +1 -0
  99. package/dist/scripts/generate-web-module/transformers/relationship-key.js +21 -0
  100. package/dist/scripts/generate-web-module/transformers/relationship-key.js.map +1 -0
  101. package/dist/scripts/generate-web-module/transformers/relationship-resolver.d.ts.map +1 -1
  102. package/dist/scripts/generate-web-module/transformers/relationship-resolver.js +2 -0
  103. package/dist/scripts/generate-web-module/transformers/relationship-resolver.js.map +1 -1
  104. package/dist/scripts/generate-web-module/types/json-schema.interface.d.ts +21 -0
  105. package/dist/scripts/generate-web-module/types/json-schema.interface.d.ts.map +1 -1
  106. package/dist/scripts/generate-web-module/types/template-data.interface.d.ts +17 -0
  107. package/dist/scripts/generate-web-module/types/template-data.interface.d.ts.map +1 -1
  108. package/package.json +1 -1
  109. package/scripts/generate-web-module/__tests__/container.spec.ts +58 -0
  110. package/scripts/generate-web-module/__tests__/data-service.spec.ts +18 -0
  111. package/scripts/generate-web-module/__tests__/editor.spec.ts +36 -0
  112. package/scripts/generate-web-module/__tests__/fixtures.ts +43 -0
  113. package/scripts/generate-web-module/__tests__/model-interface.spec.ts +77 -0
  114. package/scripts/generate-web-module/__tests__/plumbing.spec.ts +21 -0
  115. package/scripts/generate-web-module/__tests__/selector.spec.ts +24 -0
  116. package/scripts/generate-web-module/__tests__/table-module-list.spec.ts +59 -0
  117. package/scripts/generate-web-module/generator.ts +14 -13
  118. package/scripts/generate-web-module/templates/components/container.template.ts +51 -66
  119. package/scripts/generate-web-module/templates/components/content.template.ts +107 -15
  120. package/scripts/generate-web-module/templates/components/editor.template.ts +140 -152
  121. package/scripts/generate-web-module/templates/components/index.ts +0 -1
  122. package/scripts/generate-web-module/templates/components/list-container.template.ts +2 -2
  123. package/scripts/generate-web-module/templates/components/list.template.ts +6 -1
  124. package/scripts/generate-web-module/templates/components/selector.template.ts +48 -52
  125. package/scripts/generate-web-module/templates/data/interface.template.ts +44 -12
  126. package/scripts/generate-web-module/templates/data/model.template.ts +88 -28
  127. package/scripts/generate-web-module/templates/data/service.template.ts +23 -1
  128. package/scripts/generate-web-module/templates/index.ts +0 -1
  129. package/scripts/generate-web-module/templates/module.template.ts +13 -3
  130. package/scripts/generate-web-module/templates/table-hook.template.ts +31 -2
  131. package/scripts/generate-web-module/transformers/import-resolver.ts +0 -2
  132. package/scripts/generate-web-module/transformers/relationship-key.ts +18 -0
  133. package/scripts/generate-web-module/transformers/relationship-resolver.ts +2 -0
  134. package/scripts/generate-web-module/types/json-schema.interface.ts +9 -0
  135. package/scripts/generate-web-module/types/template-data.interface.ts +7 -0
  136. package/src/features/notification/components/modals/NotificationModal.tsx +2 -5
  137. package/src/features/notification/contexts/NotificationContext.tsx +29 -13
  138. package/src/features/notification/contexts/__tests__/NotificationContext.spec.tsx +70 -0
  139. package/dist/chunk-AKXUNE3A.js.map +0 -1
  140. package/dist/chunk-TXVVZLUQ.mjs.map +0 -1
  141. package/dist/scripts/generate-web-module/templates/components/details.template.d.ts +0 -14
  142. package/dist/scripts/generate-web-module/templates/components/details.template.d.ts.map +0 -1
  143. package/dist/scripts/generate-web-module/templates/components/details.template.js +0 -112
  144. package/dist/scripts/generate-web-module/templates/components/details.template.js.map +0 -1
  145. package/scripts/generate-web-module/templates/components/details.template.ts +0 -116
  146. /package/dist/{BlockNoteEditor-K7IIWM3S.mjs.map → BlockNoteEditor-A5LNFWHW.mjs.map} +0 -0
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeRelationship = makeRelationship;
4
+ exports.makeFrontendData = makeFrontendData;
5
+ function makeRelationship(o = {}) {
6
+ return {
7
+ name: "Account", variant: undefined, alias: undefined, directory: "crm",
8
+ single: true, nullable: false, isFoundation: false,
9
+ formFieldId: "account", formFieldIdPlural: "accounts", payloadFieldId: "accountId",
10
+ selectorComponent: "AccountSelector", zodSchema: "entityObjectSchema",
11
+ importPath: "@/features/crm/account/components/forms/AccountSelector",
12
+ interfaceImportPath: "@/features/crm/account/data/AccountInterface",
13
+ serviceImportPath: "@/features/crm/account/data/AccountService",
14
+ interfaceName: "AccountInterface", modelKebab: "account",
15
+ fields: undefined, targetHasName: true, dtoKey: "", showInTable: false,
16
+ ...o,
17
+ };
18
+ }
19
+ function makeFrontendData(o = {}) {
20
+ return {
21
+ names: {
22
+ pascalCase: "Widget", camelCase: "widget", kebabCase: "widget",
23
+ pluralPascal: "Widgets", pluralCamel: "widgets", pluralKebab: "widgets",
24
+ titleCase: "Widget", pluralTitleCase: "Widgets",
25
+ },
26
+ moduleId: "00000000-0000-4000-a000-000000000001",
27
+ endpoint: "widgets", targetDir: "features/demo", importTargetDir: "demo",
28
+ extendsContent: false,
29
+ fields: [
30
+ { name: "name", type: "string", tsType: "string", zodSchema: "z.string()", formComponent: "FormInput", nullable: false, isContentField: false },
31
+ { name: "due_date", type: "date", tsType: "Date", zodSchema: "z.date().optional()", formComponent: "DatePicker", nullable: true, isContentField: false },
32
+ ],
33
+ relationships: [],
34
+ i18nKeys: { moduleName: "widget", fields: {}, relationships: {}, type: { singular: "Widget", plural: "Widgets", icuPlural: "" } },
35
+ imports: { models: [], selectors: [], library: [] },
36
+ tableFieldNames: [],
37
+ relationshipServiceMethods: [],
38
+ featureId: undefined,
39
+ displayProp: "name",
40
+ containerTabs: { activity: true, relations: [] },
41
+ relatedInclusions: [],
42
+ ...o,
43
+ };
44
+ }
45
+ //# sourceMappingURL=fixtures.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../../../../scripts/generate-web-module/__tests__/fixtures.ts"],"names":[],"mappings":";;AAEA,4CAaC;AAED,4CAyBC;AAxCD,SAAgB,gBAAgB,CAAC,IAAmC,EAAE;IACpE,OAAO;QACL,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK;QACvE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK;QAClD,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW;QAClF,iBAAiB,EAAE,iBAAiB,EAAE,SAAS,EAAE,oBAAoB;QACrE,UAAU,EAAE,yDAAyD;QACrE,mBAAmB,EAAE,8CAA8C;QACnE,iBAAiB,EAAE,4CAA4C;QAC/D,aAAa,EAAE,kBAAkB,EAAE,UAAU,EAAE,SAAS;QACxD,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK;QACtE,GAAG,CAAC;KACL,CAAC;AACJ,CAAC;AAED,SAAgB,gBAAgB,CAAC,IAAmC,EAAE;IACpE,OAAO;QACL,KAAK,EAAE;YACL,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ;YAC9D,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS;YACvE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS;SAChD;QACD,QAAQ,EAAE,sCAAsC;QAChD,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM;QACxE,cAAc,EAAE,KAAK;QACrB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE;YAC/I,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,qBAAqB,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE;SACzJ;QACD,aAAa,EAAE,EAAE;QACjB,QAAQ,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE;QACjI,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QACnD,eAAe,EAAE,EAAE;QACnB,0BAA0B,EAAE,EAAE;QAC9B,SAAS,EAAE,SAAS;QACpB,WAAW,EAAE,MAAM;QACnB,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE;QAChD,iBAAiB,EAAE,EAAE;QACrB,GAAG,CAAC;KACL,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=model-interface.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-interface.spec.d.ts","sourceRoot":"","sources":["../../../../scripts/generate-web-module/__tests__/model-interface.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const fixtures_1 = require("./fixtures");
5
+ const model_template_1 = require("../templates/data/model.template");
6
+ const interface_template_1 = require("../templates/data/interface.template");
7
+ (0, vitest_1.describe)("model template — dates", () => {
8
+ (0, vitest_1.it)("imports formatLocalDate and uses it for date fields in createJsonApi", () => {
9
+ const out = (0, model_template_1.generateModelTemplate)((0, fixtures_1.makeFrontendData)());
10
+ (0, vitest_1.expect)(out).toContain("formatLocalDate");
11
+ (0, vitest_1.expect)(out).toContain("response.data.attributes.due_date = formatLocalDate(data.due_date)");
12
+ });
13
+ });
14
+ (0, vitest_1.describe)("model template — relationship wire keys", () => {
15
+ (0, vitest_1.it)("uses dtoKey verbatim for rehydrate and createJsonApi", () => {
16
+ const out = (0, model_template_1.generateModelTemplate)((0, fixtures_1.makeFrontendData)({
17
+ relationships: [(0, fixtures_1.makeRelationship)({ name: "PipelineStage", single: true, dtoKey: "pipelinestage", interfaceName: "PipelineStageInterface", modelKebab: "pipeline-stage", selectorComponent: "PipelineStageSelector", interfaceImportPath: "@/features/crm/pipeline-stage/data/PipelineStageInterface" })],
18
+ }));
19
+ (0, vitest_1.expect)(out).toContain('"pipelinestage"');
20
+ (0, vitest_1.expect)(out).toContain("response.data.relationships.pipelinestage");
21
+ });
22
+ (0, vitest_1.it)("emits per-item meta array for many-with-edge-fields", () => {
23
+ const out = (0, model_template_1.generateModelTemplate)((0, fixtures_1.makeFrontendData)({
24
+ relationships: [(0, fixtures_1.makeRelationship)({
25
+ name: "Item", single: false, dtoKey: "estimateitems", alias: "EstimateItem",
26
+ interfaceName: "ItemInterface", modelKebab: "item", selectorComponent: "ItemMultiSelector",
27
+ interfaceImportPath: "@/features/plm/item/data/ItemInterface",
28
+ fields: [{ name: "quantity", type: "number", tsType: "number", zodSchema: "z.number()", formComponent: "FormInputNumber", nullable: false, isContentField: false }],
29
+ })],
30
+ }));
31
+ (0, vitest_1.expect)(out).toContain("data.estimateItemMeta?.find");
32
+ (0, vitest_1.expect)(out).toContain("response.data.relationships.estimateitems");
33
+ });
34
+ (0, vitest_1.it)("model references and imports the named RelationshipMeta interface", () => {
35
+ const out = (0, model_template_1.generateModelTemplate)((0, fixtures_1.makeFrontendData)({
36
+ relationships: [(0, fixtures_1.makeRelationship)({
37
+ name: "Item", single: false, dtoKey: "estimateitems", alias: "EstimateItem",
38
+ interfaceName: "ItemInterface", modelKebab: "item", selectorComponent: "ItemMultiSelector",
39
+ interfaceImportPath: "@/features/plm/item/data/ItemInterface",
40
+ fields: [{ name: "quantity", type: "number", tsType: "number", zodSchema: "z.number()", formComponent: "FormInputNumber", nullable: false, isContentField: false }],
41
+ })],
42
+ }));
43
+ (0, vitest_1.expect)(out).toContain("EstimateItemRelationshipMeta");
44
+ (0, vitest_1.expect)(out).toContain("ItemInterface & EstimateItemRelationshipMeta");
45
+ // imported from the module's own interface file (Widget)
46
+ (0, vitest_1.expect)(out).toMatch(/import \{[^}]*EstimateItemRelationshipMeta[^}]*\} from "@\/features\/demo\/widget\/data\/WidgetInterface"/);
47
+ });
48
+ });
49
+ (0, vitest_1.describe)("interface template", () => {
50
+ (0, vitest_1.it)("emits a named RelationshipMeta interface and a meta array in Input", () => {
51
+ const out = (0, interface_template_1.generateInterfaceTemplate)((0, fixtures_1.makeFrontendData)({
52
+ relationships: [(0, fixtures_1.makeRelationship)({
53
+ name: "Item", single: false, dtoKey: "estimateitems", alias: "EstimateItem",
54
+ interfaceName: "ItemInterface", modelKebab: "item",
55
+ interfaceImportPath: "@/features/plm/item/data/ItemInterface",
56
+ fields: [{ name: "quantity", type: "number", tsType: "number", zodSchema: "z.number()", formComponent: "FormInputNumber", nullable: false, isContentField: false }],
57
+ })],
58
+ }));
59
+ (0, vitest_1.expect)(out).toContain("export interface EstimateItemRelationshipMeta");
60
+ (0, vitest_1.expect)(out).toContain("estimateItemMeta?:");
61
+ });
62
+ (0, vitest_1.it)("keeps readOnly fields in the interface but out of Input", () => {
63
+ const out = (0, interface_template_1.generateInterfaceTemplate)((0, fixtures_1.makeFrontendData)({
64
+ fields: [
65
+ { name: "name", type: "string", tsType: "string", zodSchema: "z.string()", formComponent: "FormInput", nullable: false, isContentField: false },
66
+ { name: "effective_value", type: "number", tsType: "number", zodSchema: "z.number()", formComponent: "FormInputNumber", nullable: true, isContentField: false, readOnly: true },
67
+ ],
68
+ }));
69
+ (0, vitest_1.expect)(out).toContain("get effective_value()");
70
+ const inputBlock = out.split("Input = {")[1].split("};")[0];
71
+ (0, vitest_1.expect)(inputBlock).not.toContain("effective_value");
72
+ });
73
+ });
74
+ //# sourceMappingURL=model-interface.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-interface.spec.js","sourceRoot":"","sources":["../../../../scripts/generate-web-module/__tests__/model-interface.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=plumbing.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plumbing.spec.d.ts","sourceRoot":"","sources":["../../../../scripts/generate-web-module/__tests__/plumbing.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const fixtures_1 = require("./fixtures");
5
+ const relationship_key_1 = require("../transformers/relationship-key");
6
+ (0, vitest_1.describe)("frontend plumbing", () => {
7
+ (0, vitest_1.it)("defaults displayProp to name and activity tab on", () => {
8
+ const d = (0, fixtures_1.makeFrontendData)();
9
+ (0, vitest_1.expect)(d.displayProp).toBe("name");
10
+ (0, vitest_1.expect)(d.containerTabs.activity).toBe(true);
11
+ });
12
+ (0, vitest_1.it)("resolves wire key from explicit dtoKey verbatim", () => {
13
+ (0, vitest_1.expect)((0, relationship_key_1.resolveRelationshipKey)((0, fixtures_1.makeRelationship)({ dtoKey: "estimateitems" }))).toBe("estimateitems");
14
+ });
15
+ (0, vitest_1.it)("derives wire key identically to the backend when dtoKey absent", () => {
16
+ (0, vitest_1.expect)((0, relationship_key_1.resolveRelationshipKey)((0, fixtures_1.makeRelationship)({ name: "Account", single: true }))).toBe("account");
17
+ (0, vitest_1.expect)((0, relationship_key_1.resolveRelationshipKey)((0, fixtures_1.makeRelationship)({ name: "Person", single: false }))).toBe("persons");
18
+ (0, vitest_1.expect)((0, relationship_key_1.resolveRelationshipKey)((0, fixtures_1.makeRelationship)({ alias: "EstimateItem", single: false }))).toBe("estimate-items");
19
+ });
20
+ });
21
+ //# sourceMappingURL=plumbing.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plumbing.spec.js","sourceRoot":"","sources":["../../../../scripts/generate-web-module/__tests__/plumbing.spec.ts"],"names":[],"mappings":";;AAAA,mCAA8C;AAC9C,yCAAgE;AAChE,uEAA0E;AAE1E,IAAA,iBAAQ,EAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,IAAA,WAAE,EAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,CAAC,GAAG,IAAA,2BAAgB,GAAE,CAAC;QAC7B,IAAA,eAAM,EAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnC,IAAA,eAAM,EAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,IAAA,eAAM,EAAC,IAAA,yCAAsB,EAAC,IAAA,2BAAgB,EAAC,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACtG,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,gEAAgE,EAAE,GAAG,EAAE;QACxE,IAAA,eAAM,EAAC,IAAA,yCAAsB,EAAC,IAAA,2BAAgB,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpG,IAAA,eAAM,EAAC,IAAA,yCAAsB,EAAC,IAAA,2BAAgB,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpG,IAAA,eAAM,EAAC,IAAA,yCAAsB,EAAC,IAAA,2BAAgB,EAAC,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACpH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=selector.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selector.spec.d.ts","sourceRoot":"","sources":["../../../../scripts/generate-web-module/__tests__/selector.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const fixtures_1 = require("./fixtures");
5
+ const selector_template_1 = require("../templates/components/selector.template");
6
+ (0, vitest_1.describe)("selector template — combobox style", () => {
7
+ (0, vitest_1.it)("uses Button combobox trigger + Command primitives + Loader2", () => {
8
+ const out = (0, selector_template_1.generateSelectorTemplate)((0, fixtures_1.makeFrontendData)());
9
+ (0, vitest_1.expect)(out).toContain('role="combobox"');
10
+ (0, vitest_1.expect)(out).toContain("ChevronsUpDown");
11
+ (0, vitest_1.expect)(out).toContain("CommandInput");
12
+ (0, vitest_1.expect)(out).toContain("CommandEmpty");
13
+ (0, vitest_1.expect)(out).toContain("CommandGroup");
14
+ (0, vitest_1.expect)(out).toContain("Loader2");
15
+ (0, vitest_1.expect)(out).toContain("w-(--radix-popover-trigger-width) p-0");
16
+ });
17
+ (0, vitest_1.it)("drops the legacy bespoke styling", () => {
18
+ const out = (0, selector_template_1.generateSelectorTemplate)((0, fixtures_1.makeFrontendData)());
19
+ (0, vitest_1.expect)(out).not.toContain("CircleX");
20
+ (0, vitest_1.expect)(out).not.toContain("RefreshCwIcon");
21
+ (0, vitest_1.expect)(out).not.toContain("SearchIcon");
22
+ (0, vitest_1.expect)(out).not.toContain("bg-input/20");
23
+ });
24
+ });
25
+ //# sourceMappingURL=selector.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selector.spec.js","sourceRoot":"","sources":["../../../../scripts/generate-web-module/__tests__/selector.spec.ts"],"names":[],"mappings":";;AAAA,mCAA8C;AAC9C,yCAA8C;AAC9C,iFAAqF;AAErF,IAAA,iBAAQ,EAAC,oCAAoC,EAAE,GAAG,EAAE;IAClD,IAAA,WAAE,EAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,GAAG,GAAG,IAAA,4CAAwB,EAAC,IAAA,2BAAgB,GAAE,CAAC,CAAC;QACzD,IAAA,eAAM,EAAC,GAAG,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QACzC,IAAA,eAAM,EAAC,GAAG,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QACxC,IAAA,eAAM,EAAC,GAAG,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QACtC,IAAA,eAAM,EAAC,GAAG,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QACtC,IAAA,eAAM,EAAC,GAAG,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QACtC,IAAA,eAAM,EAAC,GAAG,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACjC,IAAA,eAAM,EAAC,GAAG,CAAC,CAAC,SAAS,CAAC,uCAAuC,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,GAAG,GAAG,IAAA,4CAAwB,EAAC,IAAA,2BAAgB,GAAE,CAAC,CAAC;QACzD,IAAA,eAAM,EAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACrC,IAAA,eAAM,EAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QAC3C,IAAA,eAAM,EAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACxC,IAAA,eAAM,EAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=table-module-list.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-module-list.spec.d.ts","sourceRoot":"","sources":["../../../../scripts/generate-web-module/__tests__/table-module-list.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const fixtures_1 = require("./fixtures");
5
+ const table_hook_template_1 = require("../templates/table-hook.template");
6
+ const module_template_1 = require("../templates/module.template");
7
+ const list_template_1 = require("../templates/components/list.template");
8
+ (0, vitest_1.describe)("table-hook template", () => {
9
+ (0, vitest_1.it)("emits cellDate for date fields", () => {
10
+ const out = (0, table_hook_template_1.generateTableHookTemplate)((0, fixtures_1.makeFrontendData)());
11
+ (0, vitest_1.expect)(out).toContain("[WidgetFields.due_date]");
12
+ (0, vitest_1.expect)(out).toContain("cellDate({");
13
+ });
14
+ (0, vitest_1.it)("emits a relationship column when showInTable", () => {
15
+ const out = (0, table_hook_template_1.generateTableHookTemplate)((0, fixtures_1.makeFrontendData)({
16
+ relationships: [(0, fixtures_1.makeRelationship)({ name: "Account", single: true, showInTable: true })],
17
+ }));
18
+ (0, vitest_1.expect)(out).toContain("widget.account?.name");
19
+ });
20
+ (0, vitest_1.it)("uses variant for single-relationship column key when no alias", () => {
21
+ const out = (0, table_hook_template_1.generateTableHookTemplate)((0, fixtures_1.makeFrontendData)({
22
+ relationships: [(0, fixtures_1.makeRelationship)({ name: "User", variant: "Author", single: true, showInTable: true })],
23
+ }));
24
+ (0, vitest_1.expect)(out).toContain("WidgetFields.author");
25
+ (0, vitest_1.expect)(out).not.toContain("WidgetFields.user]");
26
+ });
27
+ (0, vitest_1.it)("emits a many relationship column joined by name", () => {
28
+ const out = (0, table_hook_template_1.generateTableHookTemplate)((0, fixtures_1.makeFrontendData)({
29
+ relationships: [(0, fixtures_1.makeRelationship)({ name: "Tag", single: false, showInTable: true })],
30
+ }));
31
+ (0, vitest_1.expect)(out).toContain("WidgetFields.tags");
32
+ (0, vitest_1.expect)(out).toContain('.map((r) => r.name).join(", ")');
33
+ });
34
+ });
35
+ (0, vitest_1.describe)("module template", () => {
36
+ (0, vitest_1.it)("emits feature when featureId set", () => {
37
+ const out = (0, module_template_1.generateModuleTemplate)((0, fixtures_1.makeFrontendData)({ featureId: "Crm" }));
38
+ (0, vitest_1.expect)(out).toContain('import { FeatureIds } from "@/enums/feature.ids"');
39
+ (0, vitest_1.expect)(out).toContain("feature: FeatureIds.Crm");
40
+ });
41
+ (0, vitest_1.it)("emits cross-module inclusions", () => {
42
+ const out = (0, module_template_1.generateModuleTemplate)((0, fixtures_1.makeFrontendData)({
43
+ relatedInclusions: [{ endpoint: "accounts", fields: ["name", "image"] }],
44
+ }));
45
+ (0, vitest_1.expect)(out).toContain('createJsonApiInclusion("accounts", [`name`, `image`])');
46
+ });
47
+ });
48
+ (0, vitest_1.describe)("list template", () => {
49
+ (0, vitest_1.it)("forwards fullWidth to ContentListTable", () => {
50
+ const out = (0, list_template_1.generateListTemplate)((0, fixtures_1.makeFrontendData)());
51
+ (0, vitest_1.expect)(out).toContain("fullWidth");
52
+ (0, vitest_1.expect)(out).toContain("fullWidth={fullWidth}");
53
+ });
54
+ });
55
+ //# sourceMappingURL=table-module-list.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-module-list.spec.js","sourceRoot":"","sources":["../../../../scripts/generate-web-module/__tests__/table-module-list.spec.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../scripts/generate-web-module/generator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA+BH,OAAO,EAAuC,wBAAwB,EAAwB,MAAM,SAAS,CAAC;AAI9G;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC,CAoG3F;AAwSD,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../scripts/generate-web-module/generator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA8BH,OAAO,EAAuC,wBAAwB,EAAwB,MAAM,SAAS,CAAC;AAI9G;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC,CAoG3F;AA0SD,eAAe,iBAAiB,CAAC"}
@@ -176,6 +176,10 @@ function buildTemplateData(schema, targetHasNameMap) {
176
176
  const extendsContent = (0, parent_detector_1.detectExtendsContent)(schema.fields, schema.extendsContent);
177
177
  // Map fields
178
178
  const allFields = (0, field_mapper_1.mapFields)(schema.fields, names.camelCase);
179
+ allFields.forEach((f) => {
180
+ const src = schema.fields.find((sf) => sf.name === f.name);
181
+ f.readOnly = src?.readOnly === true;
182
+ });
179
183
  // Get inherited fields to filter out for forms (Content fields are handled specially)
180
184
  const inheritedFields = extendsContent ? ["name", "tldr", "abstract", "content"] : [];
181
185
  const fields = (0, field_mapper_1.filterInheritedFields)(allFields, inheritedFields);
@@ -218,6 +222,13 @@ function buildTemplateData(schema, targetHasNameMap) {
218
222
  imports,
219
223
  tableFieldNames,
220
224
  relationshipServiceMethods,
225
+ featureId: schema.featureId,
226
+ displayProp: schema.displayProp ?? (allFields.some((f) => f.name === "name") ? "name" : "id"),
227
+ containerTabs: {
228
+ activity: schema.containerTabs?.activity !== false,
229
+ relations: schema.containerTabs?.relations ?? [],
230
+ },
231
+ relatedInclusions: schema.inclusions?.related ?? [],
221
232
  };
222
233
  }
223
234
  /**
@@ -304,20 +315,12 @@ function generateAllFiles(data, schema) {
304
315
  content: (0, templates_1.generateListTemplate)(data),
305
316
  type: "component",
306
317
  });
318
+ // Content component — always emitted (Details tab body)
307
319
  files.push({
308
- path: paths.details,
309
- content: (0, templates_1.generateDetailsTemplate)(data),
320
+ path: paths.content,
321
+ content: (0, templates_1.generateContentTemplate)(data),
310
322
  type: "component",
311
323
  });
312
- // Content component only for Content-extending modules
313
- const contentTemplate = (0, templates_1.generateContentTemplate)(data);
314
- if (contentTemplate) {
315
- files.push({
316
- path: paths.content,
317
- content: contentTemplate,
318
- type: "component",
319
- });
320
- }
321
324
  files.push({
322
325
  path: paths.container,
323
326
  content: (0, templates_1.generateContainerTemplate)(data),
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../scripts/generate-web-module/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../scripts/generate-web-module/generator.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,11 @@
1
1
  /**
2
2
  * Container Template
3
3
  *
4
- * Generates {Module}Container.tsx component for displaying item detail page.
4
+ * Generates {Module}Container.tsx component for the item detail page.
5
+ *
6
+ * Emits a RoundPageContainer driven by a `tabs` array: a default "Details" tab
7
+ * rendering {Module}Content, one tab per configured relation list, and an
8
+ * optional "Activity" tab. The default export gates on delete permission.
5
9
  */
6
10
  import { FrontendTemplateData } from "../../types/template-data.interface";
7
11
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"container.template.d.ts","sourceRoot":"","sources":["../../../../../scripts/generate-web-module/templates/components/container.template.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAE3E;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,CAU5E"}
1
+ {"version":3,"file":"container.template.d.ts","sourceRoot":"","sources":["../../../../../scripts/generate-web-module/templates/components/container.template.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAE3E;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,CA+D5E"}
@@ -2,10 +2,15 @@
2
2
  /**
3
3
  * Container Template
4
4
  *
5
- * Generates {Module}Container.tsx component for displaying item detail page.
5
+ * Generates {Module}Container.tsx component for the item detail page.
6
+ *
7
+ * Emits a RoundPageContainer driven by a `tabs` array: a default "Details" tab
8
+ * rendering {Module}Content, one tab per configured relation list, and an
9
+ * optional "Activity" tab. The default export gates on delete permission.
6
10
  */
7
11
  Object.defineProperty(exports, "__esModule", { value: true });
8
12
  exports.generateContainerTemplate = generateContainerTemplate;
13
+ const name_transformer_1 = require("../../transformers/name-transformer");
9
14
  /**
10
15
  * Generate the container component file content
11
16
  *
@@ -13,80 +18,55 @@ exports.generateContainerTemplate = generateContainerTemplate;
13
18
  * @returns Generated file content
14
19
  */
15
20
  function generateContainerTemplate(data) {
16
- const { names, extendsContent } = data;
17
- // Content-extending modules get full tabs with relevant content/users
18
- if (extendsContent) {
19
- return generateContentContainerTemplate(data);
21
+ const { names, containerTabs } = data;
22
+ const camel = names.camelCase;
23
+ const relationImports = [];
24
+ const relationTabs = [];
25
+ for (const rel of containerTabs.relations) {
26
+ const relKebab = (0, name_transformer_1.toKebabCase)(rel.module);
27
+ const relPluralCamel = (0, name_transformer_1.pluralize)((0, name_transformer_1.toCamelCase)(rel.module));
28
+ relationImports.push(`import ${rel.module}List from "@/features/${rel.directory}/${relKebab}/components/lists/${rel.module}List";`);
29
+ relationTabs.push(` {\n key: Modules.${rel.module},\n label: t(\`entities.${relPluralCamel.toLowerCase()}\`, { count: 2 }),\n content: <${rel.module}List ${rel.listProp}={${camel}} />,\n },`);
20
30
  }
21
- // Non-content modules get simpler container
22
- return generateSimpleContainerTemplate(data);
23
- }
24
- /**
25
- * Generate container for Content-extending modules
26
- */
27
- function generateContentContainerTemplate(data) {
28
- const { names } = data;
31
+ const tabEntries = [
32
+ ` {\n label: "Details",\n content: <${names.pascalCase}Content ${camel}={${camel}} />,\n },`,
33
+ ...relationTabs,
34
+ ];
35
+ if (containerTabs.activity) {
36
+ tabEntries.push(` {\n label: "Activity",\n content: <ActivityFeed module={Modules.${names.pascalCase}} entityId={${camel}.id} />,\n },`);
37
+ }
38
+ const activityImport = containerTabs.activity
39
+ ? `import ActivityFeed from "@/features/activity/activity-feed/components/ActivityFeed";\n`
40
+ : "";
41
+ const relationImportBlock = relationImports.length ? `${relationImports.join("\n")}\n` : "";
29
42
  return `"use client";
30
43
 
31
- import ${names.pascalCase}Content from "@/features/${data.importTargetDir}/${names.kebabCase}/components/details/${names.pascalCase}Content";
32
- import ${names.pascalCase}Details from "@/features/${data.importTargetDir}/${names.kebabCase}/components/details/${names.pascalCase}Details";
44
+ ${activityImport}${relationImportBlock}import { ${names.pascalCase}Content } from "@/features/${data.importTargetDir}/${names.kebabCase}/components/details/${names.pascalCase}Content";
33
45
  import { use${names.pascalCase}Context } from "@/features/${data.importTargetDir}/${names.kebabCase}/contexts/${names.pascalCase}Context";
34
46
  import { ${names.pascalCase}Interface } from "@/features/${data.importTargetDir}/${names.kebabCase}/data/${names.pascalCase}Interface";
35
- import { RoundPageContainer } from "@carlonicora/nextjs-jsonapi/components";
36
- import { Modules } from "@carlonicora/nextjs-jsonapi/core";
47
+ import { RoundPageContainer, Tab } from "@carlonicora/nextjs-jsonapi/components";
48
+ import { useCurrentUserContext } from "@carlonicora/nextjs-jsonapi/contexts";
49
+ import { Action, Modules } from "@carlonicora/nextjs-jsonapi/core";
50
+ import { useTranslations } from "next-intl";
37
51
 
38
- type ${names.pascalCase}ContainerProps = {
39
- ${names.camelCase}: ${names.pascalCase}Interface;
40
- };
52
+ type ${names.pascalCase}ContainerProps = { ${camel}: ${names.pascalCase}Interface };
41
53
 
42
- function ${names.pascalCase}ContainerInternal({ ${names.camelCase} }: ${names.pascalCase}ContainerProps) {
43
- return (
44
- <RoundPageContainer module={Modules.${names.pascalCase}} details={<${names.pascalCase}Details />}>
45
- <${names.pascalCase}Content />
46
- </RoundPageContainer>
47
- );
48
- }
54
+ function ${names.pascalCase}ContainerInternal({ ${camel} }: ${names.pascalCase}ContainerProps) {
55
+ const t = useTranslations();
49
56
 
50
- export default function ${names.pascalCase}Container() {
51
- const { ${names.camelCase} } = use${names.pascalCase}Context();
52
- if (!${names.camelCase}) return null;
57
+ const tabs: Tab[] = [
58
+ ${tabEntries.join("\n")}
59
+ ];
53
60
 
54
- return <${names.pascalCase}ContainerInternal ${names.camelCase}={${names.camelCase}} />;
55
- }
56
- `;
57
- }
58
- /**
59
- * Generate container for non-Content modules
60
- */
61
- function generateSimpleContainerTemplate(data) {
62
- const { names } = data;
63
- return `"use client";
64
-
65
- import ${names.pascalCase}Details from "@/features/${data.importTargetDir}/${names.kebabCase}/components/details/${names.pascalCase}Details";
66
- import { use${names.pascalCase}Context } from "@/features/${data.importTargetDir}/${names.kebabCase}/contexts/${names.pascalCase}Context";
67
- import { ${names.pascalCase}Interface } from "@/features/${data.importTargetDir}/${names.kebabCase}/data/${names.pascalCase}Interface";
68
- import { RoundPageContainer } from "@carlonicora/nextjs-jsonapi/components";
69
- import { Modules } from "@carlonicora/nextjs-jsonapi/core";
70
-
71
- type ${names.pascalCase}ContainerProps = {
72
- ${names.camelCase}: ${names.pascalCase}Interface;
73
- };
74
-
75
- function ${names.pascalCase}ContainerInternal({ ${names.camelCase} }: ${names.pascalCase}ContainerProps) {
76
- return (
77
- <RoundPageContainer module={Modules.${names.pascalCase}} details={<${names.pascalCase}Details />}>
78
- <div className="flex w-full flex-col gap-y-4">
79
- {/* Add custom content sections here */}
80
- </div>
81
- </RoundPageContainer>
82
- );
61
+ return <RoundPageContainer module={Modules.${names.pascalCase}} id={${camel}.id} tabs={tabs} />;
83
62
  }
84
63
 
85
64
  export default function ${names.pascalCase}Container() {
86
- const { ${names.camelCase} } = use${names.pascalCase}Context();
87
- if (!${names.camelCase}) return null;
88
-
89
- return <${names.pascalCase}ContainerInternal ${names.camelCase}={${names.camelCase}} />;
65
+ const { hasPermissionToModule } = useCurrentUserContext();
66
+ const { ${camel} } = use${names.pascalCase}Context();
67
+ if (!${camel}) return null;
68
+ if (!hasPermissionToModule({ module: Modules.${names.pascalCase}, action: Action.Delete, data: ${camel} })) return null;
69
+ return <${names.pascalCase}ContainerInternal ${camel}={${camel}} />;
90
70
  }
91
71
  `;
92
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"container.template.js","sourceRoot":"","sources":["../../../../../scripts/generate-web-module/templates/components/container.template.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAUH,8DAUC;AAhBD;;;;;GAKG;AACH,SAAgB,yBAAyB,CAAC,IAA0B;IAClE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;IAEvC,sEAAsE;IACtE,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,gCAAgC,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,4CAA4C;IAC5C,OAAO,+BAA+B,CAAC,IAAI,CAAC,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,SAAS,gCAAgC,CAAC,IAA0B;IAClE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAEvB,OAAO;;SAEA,KAAK,CAAC,UAAU,4BAA4B,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC,SAAS,uBAAuB,KAAK,CAAC,UAAU;SAC1H,KAAK,CAAC,UAAU,4BAA4B,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC,SAAS,uBAAuB,KAAK,CAAC,UAAU;cACrH,KAAK,CAAC,UAAU,8BAA8B,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC,SAAS,aAAa,KAAK,CAAC,UAAU;WACrH,KAAK,CAAC,UAAU,gCAAgC,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC,SAAS,SAAS,KAAK,CAAC,UAAU;;;;OAIpH,KAAK,CAAC,UAAU;IACnB,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,UAAU;;;WAG7B,KAAK,CAAC,UAAU,uBAAuB,KAAK,CAAC,SAAS,OAAO,KAAK,CAAC,UAAU;;0CAE9C,KAAK,CAAC,UAAU,eAAe,KAAK,CAAC,UAAU;SAChF,KAAK,CAAC,UAAU;;;;;0BAKC,KAAK,CAAC,UAAU;YAC9B,KAAK,CAAC,SAAS,WAAW,KAAK,CAAC,UAAU;SAC7C,KAAK,CAAC,SAAS;;YAEZ,KAAK,CAAC,UAAU,qBAAqB,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS;;CAEnF,CAAC;AACF,CAAC;AAED;;GAEG;AACH,SAAS,+BAA+B,CAAC,IAA0B;IACjE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAEvB,OAAO;;SAEA,KAAK,CAAC,UAAU,4BAA4B,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC,SAAS,uBAAuB,KAAK,CAAC,UAAU;cACrH,KAAK,CAAC,UAAU,8BAA8B,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC,SAAS,aAAa,KAAK,CAAC,UAAU;WACrH,KAAK,CAAC,UAAU,gCAAgC,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC,SAAS,SAAS,KAAK,CAAC,UAAU;;;;OAIpH,KAAK,CAAC,UAAU;IACnB,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,UAAU;;;WAG7B,KAAK,CAAC,UAAU,uBAAuB,KAAK,CAAC,SAAS,OAAO,KAAK,CAAC,UAAU;;0CAE9C,KAAK,CAAC,UAAU,eAAe,KAAK,CAAC,UAAU;;;;;;;;0BAQ/D,KAAK,CAAC,UAAU;YAC9B,KAAK,CAAC,SAAS,WAAW,KAAK,CAAC,UAAU;SAC7C,KAAK,CAAC,SAAS;;YAEZ,KAAK,CAAC,UAAU,qBAAqB,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS;;CAEnF,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"container.template.js","sourceRoot":"","sources":["../../../../../scripts/generate-web-module/templates/components/container.template.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;AAWH,8DA+DC;AAxED,0EAA0F;AAG1F;;;;;GAKG;AACH,SAAgB,yBAAyB,CAAC,IAA0B;IAClE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;IACtC,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC;IAE9B,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,KAAK,MAAM,GAAG,IAAI,aAAa,CAAC,SAAS,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,IAAA,8BAAW,EAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,cAAc,GAAG,IAAA,4BAAS,EAAC,IAAA,8BAAW,EAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1D,eAAe,CAAC,IAAI,CAClB,UAAU,GAAG,CAAC,MAAM,yBAAyB,GAAG,CAAC,SAAS,IAAI,QAAQ,qBAAqB,GAAG,CAAC,MAAM,QAAQ,CAC9G,CAAC;QACF,YAAY,CAAC,IAAI,CACf,6BAA6B,GAAG,CAAC,MAAM,gCAAgC,cAAc,CAAC,WAAW,EAAE,uCAAuC,GAAG,CAAC,MAAM,QAAQ,GAAG,CAAC,QAAQ,KAAK,KAAK,eAAe,CAClM,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAa;QAC3B,mDAAmD,KAAK,CAAC,UAAU,WAAW,KAAK,KAAK,KAAK,eAAe;QAC5G,GAAG,YAAY;KAChB,CAAC;IAEF,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;QAC3B,UAAU,CAAC,IAAI,CACb,iFAAiF,KAAK,CAAC,UAAU,eAAe,KAAK,kBAAkB,CACxI,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAG,aAAa,CAAC,QAAQ;QAC3C,CAAC,CAAC,yFAAyF;QAC3F,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,mBAAmB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAE5F,OAAO;;EAEP,cAAc,GAAG,mBAAmB,YAAY,KAAK,CAAC,UAAU,8BAA8B,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC,SAAS,uBAAuB,KAAK,CAAC,UAAU;cAChK,KAAK,CAAC,UAAU,8BAA8B,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC,SAAS,aAAa,KAAK,CAAC,UAAU;WACrH,KAAK,CAAC,UAAU,gCAAgC,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC,SAAS,SAAS,KAAK,CAAC,UAAU;;;;;;OAMpH,KAAK,CAAC,UAAU,sBAAsB,KAAK,KAAK,KAAK,CAAC,UAAU;;WAE5D,KAAK,CAAC,UAAU,uBAAuB,KAAK,OAAO,KAAK,CAAC,UAAU;;;;EAI5E,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;;;+CAGwB,KAAK,CAAC,UAAU,SAAS,KAAK;;;0BAGnD,KAAK,CAAC,UAAU;;YAE9B,KAAK,WAAW,KAAK,CAAC,UAAU;SACnC,KAAK;iDACmC,KAAK,CAAC,UAAU,kCAAkC,KAAK;YAC5F,KAAK,CAAC,UAAU,qBAAqB,KAAK,KAAK,KAAK;;CAE/D,CAAC;AACF,CAAC"}
@@ -1,15 +1,18 @@
1
1
  /**
2
2
  * Content Template
3
3
  *
4
- * Generates {Module}Content.tsx component for displaying BlockNote content.
5
- * Only generated for Content-extending modules.
4
+ * Generates {Module}Content.tsx the prop-driven body rendered inside the
5
+ * container's "Details" tab. Always emitted (returns a string):
6
+ * - Content-extending modules render the BlockNote content.
7
+ * - Other modules render an AttributeElement layout of their fields and
8
+ * relationships.
6
9
  */
7
10
  import { FrontendTemplateData } from "../../types/template-data.interface";
8
11
  /**
9
12
  * Generate the content display component file content
10
13
  *
11
14
  * @param data - Frontend template data
12
- * @returns Generated file content or null if not Content-extending
15
+ * @returns Generated file content (always a string)
13
16
  */
14
- export declare function generateContentTemplate(data: FrontendTemplateData): string | null;
17
+ export declare function generateContentTemplate(data: FrontendTemplateData): string;
15
18
  //# sourceMappingURL=content.template.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"content.template.d.ts","sourceRoot":"","sources":["../../../../../scripts/generate-web-module/templates/components/content.template.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAE3E;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,GAAG,IAAI,CAwBjF"}
1
+ {"version":3,"file":"content.template.d.ts","sourceRoot":"","sources":["../../../../../scripts/generate-web-module/templates/components/content.template.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAE3E;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,CAmD1E"}