@carlonicora/nextjs-jsonapi 1.111.2 → 1.112.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.
- package/dist/scripts/generate-web-module/__tests__/container.spec.js +2 -2
- package/dist/scripts/generate-web-module/__tests__/container.spec.js.map +1 -1
- package/dist/scripts/generate-web-module/__tests__/parent-detector.spec.d.ts +2 -0
- package/dist/scripts/generate-web-module/__tests__/parent-detector.spec.d.ts.map +1 -0
- package/dist/scripts/generate-web-module/__tests__/parent-detector.spec.js +17 -0
- package/dist/scripts/generate-web-module/__tests__/parent-detector.spec.js.map +1 -0
- package/dist/scripts/generate-web-module/__tests__/plumbing.spec.js +1 -2
- package/dist/scripts/generate-web-module/__tests__/plumbing.spec.js.map +1 -1
- package/dist/scripts/generate-web-module/__tests__/selector.spec.js +19 -14
- package/dist/scripts/generate-web-module/__tests__/selector.spec.js.map +1 -1
- package/dist/scripts/generate-web-module/generator.d.ts.map +1 -1
- package/dist/scripts/generate-web-module/generator.js +7 -2
- package/dist/scripts/generate-web-module/generator.js.map +1 -1
- package/dist/scripts/generate-web-module/templates/components/content.template.d.ts.map +1 -1
- package/dist/scripts/generate-web-module/templates/components/content.template.js +58 -8
- package/dist/scripts/generate-web-module/templates/components/content.template.js.map +1 -1
- package/dist/scripts/generate-web-module/templates/components/editor.template.js +3 -1
- package/dist/scripts/generate-web-module/templates/components/editor.template.js.map +1 -1
- package/dist/scripts/generate-web-module/templates/components/selector.template.d.ts +4 -0
- package/dist/scripts/generate-web-module/templates/components/selector.template.d.ts.map +1 -1
- package/dist/scripts/generate-web-module/templates/components/selector.template.js +55 -48
- package/dist/scripts/generate-web-module/templates/components/selector.template.js.map +1 -1
- package/dist/scripts/generate-web-module/templates/module.template.d.ts.map +1 -1
- package/dist/scripts/generate-web-module/templates/module.template.js +5 -3
- package/dist/scripts/generate-web-module/templates/module.template.js.map +1 -1
- package/dist/scripts/generate-web-module/templates/table-hook.template.js +6 -6
- package/dist/scripts/generate-web-module/templates/table-hook.template.js.map +1 -1
- package/dist/scripts/generate-web-module/transformers/i18n-generator.d.ts.map +1 -1
- package/dist/scripts/generate-web-module/transformers/i18n-generator.js +1 -0
- package/dist/scripts/generate-web-module/transformers/i18n-generator.js.map +1 -1
- package/dist/scripts/generate-web-module/transformers/parent-detector.d.ts +12 -5
- package/dist/scripts/generate-web-module/transformers/parent-detector.d.ts.map +1 -1
- package/dist/scripts/generate-web-module/transformers/parent-detector.js +13 -13
- package/dist/scripts/generate-web-module/transformers/parent-detector.js.map +1 -1
- package/dist/scripts/generate-web-module/types/field-mapping.types.d.ts +6 -3
- package/dist/scripts/generate-web-module/types/field-mapping.types.d.ts.map +1 -1
- package/dist/scripts/generate-web-module/types/field-mapping.types.js +17 -3
- package/dist/scripts/generate-web-module/types/field-mapping.types.js.map +1 -1
- package/dist/scripts/generate-web-module/utils/i18n-updater.d.ts.map +1 -1
- package/dist/scripts/generate-web-module/utils/i18n-updater.js +25 -26
- package/dist/scripts/generate-web-module/utils/i18n-updater.js.map +1 -1
- package/dist/scripts/generate-web-module/validators/json-schema-validator.d.ts.map +1 -1
- package/dist/scripts/generate-web-module/validators/json-schema-validator.js +3 -2
- package/dist/scripts/generate-web-module/validators/json-schema-validator.js.map +1 -1
- package/package.json +1 -1
- package/scripts/generate-web-module/__tests__/container.spec.ts +2 -2
- package/scripts/generate-web-module/__tests__/parent-detector.spec.ts +20 -0
- package/scripts/generate-web-module/__tests__/plumbing.spec.ts +1 -2
- package/scripts/generate-web-module/__tests__/selector.spec.ts +19 -14
- package/scripts/generate-web-module/generator.ts +6 -2
- package/scripts/generate-web-module/templates/components/content.template.ts +66 -8
- package/scripts/generate-web-module/templates/components/editor.template.ts +3 -1
- package/scripts/generate-web-module/templates/components/selector.template.ts +55 -48
- package/scripts/generate-web-module/templates/module.template.ts +6 -3
- package/scripts/generate-web-module/templates/table-hook.template.ts +6 -6
- package/scripts/generate-web-module/transformers/i18n-generator.ts +1 -0
- package/scripts/generate-web-module/transformers/parent-detector.ts +13 -14
- package/scripts/generate-web-module/types/field-mapping.types.ts +16 -3
- package/scripts/generate-web-module/utils/i18n-updater.ts +25 -30
- package/scripts/generate-web-module/validators/json-schema-validator.ts +3 -2
|
@@ -3,6 +3,10 @@
|
|
|
3
3
|
* Selector Template
|
|
4
4
|
*
|
|
5
5
|
* Generates {Module}Selector.tsx searchable combobox component.
|
|
6
|
+
*
|
|
7
|
+
* UI mirrors the framework's UserSelector (packages/.../features/user/components/forms/UserSelector.tsx):
|
|
8
|
+
* an input-styled trigger, a CircleX clear affordance, an `--anchor-width` popover, and a custom
|
|
9
|
+
* search Input with a SearchIcon + spinner/clear — minus the user-specific avatar.
|
|
6
10
|
*/
|
|
7
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
12
|
exports.generateSelectorTemplate = generateSelectorTemplate;
|
|
@@ -20,25 +24,21 @@ function generateSelectorTemplate(data) {
|
|
|
20
24
|
return `"use client";
|
|
21
25
|
|
|
22
26
|
import {
|
|
23
|
-
Button,
|
|
24
27
|
Command,
|
|
25
|
-
CommandEmpty,
|
|
26
|
-
CommandGroup,
|
|
27
|
-
CommandInput,
|
|
28
28
|
CommandItem,
|
|
29
29
|
CommandList,
|
|
30
30
|
FormFieldWrapper,
|
|
31
|
+
Input,
|
|
31
32
|
Popover,
|
|
32
33
|
PopoverContent,
|
|
33
34
|
PopoverTrigger,
|
|
34
35
|
} from "@carlonicora/nextjs-jsonapi/components";
|
|
35
36
|
import { ${names.pascalCase}Interface } from "@/features/${data.importTargetDir}/${names.kebabCase}/data/${names.pascalCase}Interface";
|
|
36
37
|
import { ${names.pascalCase}Service } from "@/features/${data.importTargetDir}/${names.kebabCase}/data/${names.pascalCase}Service";
|
|
37
|
-
import { DataListRetriever, useDataListRetriever } from "@carlonicora/nextjs-jsonapi/client";
|
|
38
|
-
import { useDebounce } from "@carlonicora/nextjs-jsonapi/client";
|
|
38
|
+
import { DataListRetriever, useDataListRetriever, useDebounce } from "@carlonicora/nextjs-jsonapi/client";
|
|
39
39
|
import { Modules } from "@carlonicora/nextjs-jsonapi/core";
|
|
40
40
|
|
|
41
|
-
import {
|
|
41
|
+
import { CircleX, RefreshCwIcon, SearchIcon, XIcon } from "lucide-react";
|
|
42
42
|
import { useTranslations } from "next-intl";
|
|
43
43
|
import { useCallback, useEffect, useRef, useState } from "react";
|
|
44
44
|
|
|
@@ -120,55 +120,62 @@ export default function ${names.pascalCase}Selector({
|
|
|
120
120
|
<Popover open={open} onOpenChange={setOpen} modal={true}>
|
|
121
121
|
<div className="flex w-full flex-row items-center justify-between">
|
|
122
122
|
<PopoverTrigger className="w-full">
|
|
123
|
-
<
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
</
|
|
123
|
+
<div className="flex w-full flex-row items-center justify-start rounded-md">
|
|
124
|
+
{field.value ? (
|
|
125
|
+
<div className="bg-input/20 dark:bg-input/30 border-input flex h-7 w-full flex-row items-center justify-start rounded-md border px-2 py-0.5 text-sm md:text-xs/relaxed">
|
|
126
|
+
<span>{field.value?.name ?? ""}</span>
|
|
127
|
+
</div>
|
|
128
|
+
) : (
|
|
129
|
+
<div className="bg-input/20 dark:bg-input/30 border-input text-muted-foreground flex h-7 w-full flex-row items-center justify-start rounded-md border px-2 py-0.5 text-sm md:text-xs/relaxed">
|
|
130
|
+
{placeholder ?? t(\`ui.search.placeholder\`, { type: t(\`entities.${i18nKey}\`, { count: 1 }) })}
|
|
131
|
+
</div>
|
|
132
|
+
)}
|
|
133
|
+
</div>
|
|
134
134
|
</PopoverTrigger>
|
|
135
135
|
{field.value && (
|
|
136
|
-
<
|
|
137
|
-
className="text-muted
|
|
136
|
+
<CircleX
|
|
137
|
+
className="text-muted hover:text-destructive ml-2 h-4 w-4 shrink-0 cursor-pointer"
|
|
138
138
|
onClick={() => set${names.pascalCase}()}
|
|
139
139
|
/>
|
|
140
140
|
)}
|
|
141
141
|
</div>
|
|
142
|
-
<PopoverContent className="w-(--
|
|
142
|
+
<PopoverContent align="start" className="w-(--anchor-width)">
|
|
143
143
|
<Command shouldFilter={false}>
|
|
144
|
-
<
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
<
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
className="hover:bg-muted data-selected:hover:bg-muted bg-transparent data-selected:bg-transparent cursor-pointer"
|
|
166
|
-
>
|
|
167
|
-
{${names.camelCase}.${displayProp}}
|
|
168
|
-
</CommandItem>
|
|
169
|
-
))}
|
|
170
|
-
</CommandGroup>
|
|
144
|
+
<div className="relative mb-2 w-full">
|
|
145
|
+
<SearchIcon className="text-muted-foreground absolute top-2.5 left-2.5 h-4 w-4" />
|
|
146
|
+
<Input
|
|
147
|
+
placeholder={t(\`ui.search.placeholder\`, { type: t(\`entities.${i18nKey}\`, { count: 1 }) })}
|
|
148
|
+
type="text"
|
|
149
|
+
className="w-full pr-8 pl-8"
|
|
150
|
+
onChange={(e) => setSearchTerm(e.target.value)}
|
|
151
|
+
value={searchTerm}
|
|
152
|
+
/>
|
|
153
|
+
{isSearching ? (
|
|
154
|
+
<RefreshCwIcon className="text-muted-foreground absolute top-2.5 right-2.5 h-4 w-4 animate-spin" />
|
|
155
|
+
) : searchTermRef.current ? (
|
|
156
|
+
<XIcon
|
|
157
|
+
className={\`absolute top-2.5 right-2.5 h-4 w-4 \${searchTermRef.current ? "cursor-pointer" : "text-muted-foreground"}\`}
|
|
158
|
+
onClick={() => {
|
|
159
|
+
setSearchTerm("");
|
|
160
|
+
search("");
|
|
161
|
+
}}
|
|
162
|
+
/>
|
|
163
|
+
) : (
|
|
164
|
+
<></>
|
|
171
165
|
)}
|
|
166
|
+
</div>
|
|
167
|
+
<CommandList>
|
|
168
|
+
{data.data &&
|
|
169
|
+
data.data.length > 0 &&
|
|
170
|
+
(data.data as ${names.pascalCase}Interface[]).map((${names.camelCase}: ${names.pascalCase}Interface) => (
|
|
171
|
+
<CommandItem
|
|
172
|
+
className="cursor-pointer hover:bg-muted data-selected:hover:bg-muted bg-transparent data-selected:bg-transparent"
|
|
173
|
+
key={${names.camelCase}.id}
|
|
174
|
+
onSelect={() => set${names.pascalCase}(${names.camelCase})}
|
|
175
|
+
>
|
|
176
|
+
<span className="">{${names.camelCase}.${displayProp}}</span>
|
|
177
|
+
</CommandItem>
|
|
178
|
+
))}
|
|
172
179
|
</CommandList>
|
|
173
180
|
</Command>
|
|
174
181
|
</PopoverContent>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selector.template.js","sourceRoot":"","sources":["../../../../../scripts/generate-web-module/templates/components/selector.template.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"selector.template.js","sourceRoot":"","sources":["../../../../../scripts/generate-web-module/templates/components/selector.template.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;AAUH,4DA2KC;AAjLD;;;;;GAKG;AACH,SAAgB,wBAAwB,CAAC,IAA0B;IACjE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;IAC/C,MAAM,YAAY,GAAG,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IAC7E,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;IAChD,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAEjD,OAAO;;;;;;;;;;;;WAYE,KAAK,CAAC,UAAU,gCAAgC,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC,SAAS,SAAS,KAAK,CAAC,UAAU;WAChH,KAAK,CAAC,UAAU,8BAA8B,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC,SAAS,SAAS,KAAK,CAAC,UAAU;;;;;;;;OAQlH,KAAK,CAAC,UAAU;;;;;gBAKP,KAAK,CAAC,SAAS,MAAM,KAAK,CAAC,UAAU;;;;0BAI3B,KAAK,CAAC,UAAU;;;;;;;KAOrC,KAAK,CAAC,UAAU;;;;;;;;;;kCAUa,KAAK,CAAC,UAAU;;eAEnC,KAAK,CAAC,UAAU;;;sBAGT,KAAK,CAAC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;aAwBzB,KAAK,CAAC,UAAU,OAAO,KAAK,CAAC,SAAS,MAAM,KAAK,CAAC,UAAU;6BAC5C,KAAK,CAAC,SAAS;WACjC,KAAK,CAAC,SAAS;;;;;;8BAMI,KAAK,CAAC,SAAS,cAAc,KAAK,CAAC,SAAS,IAAI,WAAW;;;;;;;;;;;;;;;;;;;;;;0FAsBC,OAAO;;;;;;;;sCAQ3D,KAAK,CAAC,UAAU;;;;;;;;;qFAS+B,OAAO;;;;;;;;;;;;;;;;;;;;;;;oCAuBxD,KAAK,CAAC,UAAU,qBAAqB,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,UAAU;;;+BAG9E,KAAK,CAAC,SAAS;6CACD,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,SAAS;;8CAElC,KAAK,CAAC,SAAS,IAAI,WAAW;;;;;;;;;;;;CAY3E,CAAC;AACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.template.d.ts","sourceRoot":"","sources":["../../../../scripts/generate-web-module/templates/module.template.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAGxE;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"module.template.d.ts","sourceRoot":"","sources":["../../../../scripts/generate-web-module/templates/module.template.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAGxE;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,CA0CzE"}
|
|
@@ -21,6 +21,9 @@ function generateModuleTemplate(data) {
|
|
|
21
21
|
// Feature gating (optional)
|
|
22
22
|
const featureImport = data.featureId ? `import { FeatureIds } from "@/enums/feature.ids";\n` : "";
|
|
23
23
|
const featureLine = data.featureId ? ` feature: FeatureIds.${data.featureId},\n` : "";
|
|
24
|
+
// The author/editor (users) inclusion only applies to Content-extending
|
|
25
|
+
// modules — standalone modules have no author relationship to include.
|
|
26
|
+
const usersInclusionLine = extendsContent ? `\n createJsonApiInclusion("users", [\`name\`, \`avatar\`]),` : "";
|
|
24
27
|
// Cross-module inclusions for related entities (optional)
|
|
25
28
|
const relatedInclusionLines = data.relatedInclusions
|
|
26
29
|
.map((inc) => ` createJsonApiInclusion("${inc.endpoint}", [${inc.fields.map((f) => `\`${f}\``).join(", ")}]),`)
|
|
@@ -34,15 +37,14 @@ ${featureImport}
|
|
|
34
37
|
export const ${names.pascalCase}Module = (factory: ModuleFactory) =>
|
|
35
38
|
factory({
|
|
36
39
|
pageUrl: "/${names.pluralKebab}",
|
|
37
|
-
name: "${
|
|
40
|
+
name: "${endpoint}",
|
|
38
41
|
model: ${names.pascalCase},
|
|
39
42
|
moduleId: "${moduleId}",
|
|
40
43
|
icon: ${field_mapping_types_1.DEFAULT_MODULE_ICON},
|
|
41
44
|
${featureLine} inclusions: {
|
|
42
45
|
lists: {
|
|
43
46
|
fields: [
|
|
44
|
-
createJsonApiInclusion("${endpoint}", [${listInclusionFields}])
|
|
45
|
-
createJsonApiInclusion("users", [\`name\`, \`avatar\`]),${relatedInclusionBlock}
|
|
47
|
+
createJsonApiInclusion("${endpoint}", [${listInclusionFields}]),${usersInclusionLine}${relatedInclusionBlock}
|
|
46
48
|
],
|
|
47
49
|
},
|
|
48
50
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.template.js","sourceRoot":"","sources":["../../../../scripts/generate-web-module/templates/module.template.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAWH,
|
|
1
|
+
{"version":3,"file":"module.template.js","sourceRoot":"","sources":["../../../../scripts/generate-web-module/templates/module.template.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAWH,wDA0CC;AAlDD,sEAAmE;AAEnE;;;;;GAKG;AACH,SAAgB,sBAAsB,CAAC,IAA0B;IAC/D,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;IAEnE,6BAA6B;IAC7B,MAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,mBAAmB,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE7E,4BAA4B;IAC5B,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,qDAAqD,CAAC,CAAC,CAAC,EAAE,CAAC;IAClG,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,2BAA2B,IAAI,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAEzF,wEAAwE;IACxE,uEAAuE;IACvE,MAAM,kBAAkB,GAAG,cAAc,CAAC,CAAC,CAAC,sEAAsE,CAAC,CAAC,CAAC,EAAE,CAAC;IAExH,0DAA0D;IAC1D,MAAM,qBAAqB,GAAG,IAAI,CAAC,iBAAiB;SACjD,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,qCAAqC,GAAG,CAAC,QAAQ,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;SACvH,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,CAAC,CAAC,KAAK,qBAAqB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAExF,OAAO,YAAY,KAAK,CAAC,UAAU,uBAAuB,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC,SAAS,SAAS,KAAK,CAAC,UAAU;;;WAGjH,yCAAmB;EAC5B,aAAa;eACA,KAAK,CAAC,UAAU;;iBAEd,KAAK,CAAC,WAAW;aACrB,QAAQ;aACR,KAAK,CAAC,UAAU;iBACZ,QAAQ;YACb,yCAAmB;EAC7B,WAAW;;;oCAGuB,QAAQ,OAAO,mBAAmB,MAAM,kBAAkB,GAAG,qBAAqB;;;;;CAKrH,CAAC;AACF,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,IAA0B;IACnD,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;IACxC,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,2CAA2C;IAC3C,IAAI,cAAc,EAAE,CAAC;QACnB,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,yDAAyD;IACzD,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACvB,IAAI,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAClF,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
|
@@ -98,7 +98,7 @@ function generateFieldColumnEntries(data) {
|
|
|
98
98
|
entries.push(` [${names.pascalCase}Fields.name]: () => ({
|
|
99
99
|
id: "name",
|
|
100
100
|
accessorKey: "name",
|
|
101
|
-
header: t(\`features.${names.camelCase}.fields.name.label\`),
|
|
101
|
+
header: t(\`features.${names.camelCase.toLowerCase()}.fields.name.label\`),
|
|
102
102
|
cell: ({ row }: { row: TableContent<${names.pascalCase}Interface> }) => {
|
|
103
103
|
const ${names.camelCase}: ${names.pascalCase}Interface = row.original.jsonApiData;
|
|
104
104
|
return (
|
|
@@ -138,7 +138,7 @@ function generateFieldColumnEntries(data) {
|
|
|
138
138
|
entries.push(` [${names.pascalCase}Fields.${field.name}]: () => ({
|
|
139
139
|
id: "${field.name}",
|
|
140
140
|
accessorKey: "${field.name}",
|
|
141
|
-
header: t(\`features.${names.camelCase}.fields.${field.name}.label\`),
|
|
141
|
+
header: t(\`features.${names.camelCase.toLowerCase()}.fields.${field.name}.label\`),
|
|
142
142
|
cell: ({ row }: { row: TableContent<${names.pascalCase}Interface> }) => {
|
|
143
143
|
const ${names.camelCase}: ${names.pascalCase}Interface = row.original.jsonApiData;
|
|
144
144
|
return <span>{${names.camelCase}.${field.name}}</span>;
|
|
@@ -151,7 +151,7 @@ function generateFieldColumnEntries(data) {
|
|
|
151
151
|
entries.push(` [${names.pascalCase}Fields.${field.name}]: () => ({
|
|
152
152
|
id: "${field.name}",
|
|
153
153
|
accessorKey: "${field.name}",
|
|
154
|
-
header: t(\`features.${names.camelCase}.fields.${field.name}.label\`),
|
|
154
|
+
header: t(\`features.${names.camelCase.toLowerCase()}.fields.${field.name}.label\`),
|
|
155
155
|
cell: ({ row }: { row: TableContent<${names.pascalCase}Interface> }) => {
|
|
156
156
|
const ${names.camelCase}: ${names.pascalCase}Interface = row.original.jsonApiData;
|
|
157
157
|
return <span>{${names.camelCase}.${field.name} ? t(\`generic.yes\`) : t(\`generic.no\`)}</span>;
|
|
@@ -164,7 +164,7 @@ function generateFieldColumnEntries(data) {
|
|
|
164
164
|
entries.push(` [${names.pascalCase}Fields.${field.name}]: () => ({
|
|
165
165
|
id: "${field.name}",
|
|
166
166
|
accessorKey: "${field.name}",
|
|
167
|
-
header: t(\`features.${names.camelCase}.fields.${field.name}.label\`),
|
|
167
|
+
header: t(\`features.${names.camelCase.toLowerCase()}.fields.${field.name}.label\`),
|
|
168
168
|
cell: ({ row }: { row: TableContent<${names.pascalCase}Interface> }) => {
|
|
169
169
|
const ${names.camelCase}: ${names.pascalCase}Interface = row.original.jsonApiData;
|
|
170
170
|
return <span>{${names.camelCase}.${field.name}?.toString()}</span>;
|
|
@@ -177,7 +177,7 @@ function generateFieldColumnEntries(data) {
|
|
|
177
177
|
entries.push(` [${names.pascalCase}Fields.${field.name}]: () =>
|
|
178
178
|
cellDate({
|
|
179
179
|
name: "${field.name}",
|
|
180
|
-
title: t(\`features.${names.camelCase}.fields.${field.name}.label\`),
|
|
180
|
+
title: t(\`features.${names.camelCase.toLowerCase()}.fields.${field.name}.label\`),
|
|
181
181
|
}),`);
|
|
182
182
|
}
|
|
183
183
|
});
|
|
@@ -194,7 +194,7 @@ function generateFieldColumnEntries(data) {
|
|
|
194
194
|
entries.push(` [${names.pascalCase}Fields.${key}]: () => ({
|
|
195
195
|
id: "${key}",
|
|
196
196
|
accessorKey: "${key}",
|
|
197
|
-
header: t(\`
|
|
197
|
+
header: t(\`features.${names.camelCase.toLowerCase()}.relationships.${key.toLowerCase()}.label\`),
|
|
198
198
|
cell: ({ row }: { row: TableContent<${names.pascalCase}Interface> }) => {
|
|
199
199
|
const ${names.camelCase}: ${names.pascalCase}Interface = row.original.jsonApiData;
|
|
200
200
|
return <span>{${accessor}}</span>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-hook.template.js","sourceRoot":"","sources":["../../../../scripts/generate-web-module/templates/table-hook.template.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAWH,8DA6EC;AArFD,uEAA0E;AAE1E;;;;;GAKG;AACH,SAAgB,yBAAyB,CAAC,IAA0B;IAClE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;IAEhE,MAAM,kBAAkB,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,cAAc,CAAC;IAClC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;IAEhE,OAAO;;WAEE,KAAK,CAAC,UAAU,6BAA6B,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC,SAAS,SAAS,KAAK,CAAC,UAAU;WAC7G,KAAK,CAAC,UAAU,gCAAgC,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC,SAAS,SAAS,KAAK,CAAC,UAAU;2BAChG,UAAU,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE;6DAE7D,cAAc;QACZ,CAAC,CAAC;qEAC6D;QAC/D,CAAC,CAAC,EACN;;;;;;;;;;;;kBAYgB,KAAK,CAAC,UAAU,yCAAyC,KAAK,CAAC,UAAU,cAAc,KAAK,CAAC,UAAU;;;;;8BAK3F,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,UAAU;kCAChC,KAAK,CAAC,UAAU;uBAC3B,KAAK,CAAC,SAAS;;cAExB,KAAK,CAAC,UAAU,UAAU,KAAK,CAAC,SAAS,SAAS,KAAK,CAAC,SAAS;;yBAEtD,KAAK,CAAC,SAAS,mBAAmB,KAAK,CAAC,UAAU;;;;;;yCAMlC,KAAK,CAAC,UAAU;OAClD,KAAK,CAAC,UAAU,UAAU,KAAK,CAAC,SAAS;;iBAE/B,KAAK,CAAC,SAAS;;;;EAI9B,kBAAkB;OACb,KAAK,CAAC,UAAU;;;;;OAKhB,KAAK,CAAC,UAAU;;;;;;;;;qBASF,KAAK,CAAC,UAAU;;;;;;;iCAOJ,KAAK,CAAC,UAAU,QAAQ,KAAK,CAAC,UAAU;CACxE,CAAC;AACF,CAAC;AAED;;GAEG;AACH,SAAS,0BAA0B,CAAC,IAA0B;IAC5D,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;IAC9D,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,mEAAmE;IACnE,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;QAC5D,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,UAAU;;;6BAGZ,KAAK,CAAC,SAAS;
|
|
1
|
+
{"version":3,"file":"table-hook.template.js","sourceRoot":"","sources":["../../../../scripts/generate-web-module/templates/table-hook.template.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAWH,8DA6EC;AArFD,uEAA0E;AAE1E;;;;;GAKG;AACH,SAAgB,yBAAyB,CAAC,IAA0B;IAClE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;IAEhE,MAAM,kBAAkB,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,cAAc,CAAC;IAClC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;IAEhE,OAAO;;WAEE,KAAK,CAAC,UAAU,6BAA6B,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC,SAAS,SAAS,KAAK,CAAC,UAAU;WAC7G,KAAK,CAAC,UAAU,gCAAgC,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC,SAAS,SAAS,KAAK,CAAC,UAAU;2BAChG,UAAU,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE;6DAE7D,cAAc;QACZ,CAAC,CAAC;qEAC6D;QAC/D,CAAC,CAAC,EACN;;;;;;;;;;;;kBAYgB,KAAK,CAAC,UAAU,yCAAyC,KAAK,CAAC,UAAU,cAAc,KAAK,CAAC,UAAU;;;;;8BAK3F,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,UAAU;kCAChC,KAAK,CAAC,UAAU;uBAC3B,KAAK,CAAC,SAAS;;cAExB,KAAK,CAAC,UAAU,UAAU,KAAK,CAAC,SAAS,SAAS,KAAK,CAAC,SAAS;;yBAEtD,KAAK,CAAC,SAAS,mBAAmB,KAAK,CAAC,UAAU;;;;;;yCAMlC,KAAK,CAAC,UAAU;OAClD,KAAK,CAAC,UAAU,UAAU,KAAK,CAAC,SAAS;;iBAE/B,KAAK,CAAC,SAAS;;;;EAI9B,kBAAkB;OACb,KAAK,CAAC,UAAU;;;;;OAKhB,KAAK,CAAC,UAAU;;;;;;;;;qBASF,KAAK,CAAC,UAAU;;;;;;;iCAOJ,KAAK,CAAC,UAAU,QAAQ,KAAK,CAAC,UAAU;CACxE,CAAC;AACF,CAAC;AAED;;GAEG;AACH,SAAS,0BAA0B,CAAC,IAA0B;IAC5D,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;IAC9D,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,mEAAmE;IACnE,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;QAC5D,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,UAAU;;;6BAGZ,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE;4CACd,KAAK,CAAC,UAAU;gBAC5C,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,UAAU;;;;wDAII,KAAK,CAAC,UAAU,SAAS,KAAK,CAAC,SAAS,YAAY,KAAK,CAAC,SAAS;+BAE7G,cAAc;YACZ,CAAC,CAAC;+BACa,KAAK,CAAC,SAAS,yBAAyB;YACvD,CAAC,CAAC;+BACa,KAAK,CAAC,SAAS,yBAClC;;;;;;QAMJ,CAAC,CAAC;IACR,CAAC;IAED,8CAA8C;IAC9C,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,UAAU;;;;;;;;;;QAUjC,CAAC,CAAC;IACR,CAAC;IAED,gFAAgF;IAChF,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CACrC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CACjG,CAAC;IAEF,iBAAiB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAClC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,UAAU,UAAU,KAAK,CAAC,IAAI;aAClD,KAAK,CAAC,IAAI;sBACD,KAAK,CAAC,IAAI;6BACH,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,WAAW,KAAK,CAAC,IAAI;4CACnC,KAAK,CAAC,UAAU;gBAC5C,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,UAAU;wBAC5B,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI;;;;QAI7C,CAAC,CAAC;QACN,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,UAAU,UAAU,KAAK,CAAC,IAAI;aAClD,KAAK,CAAC,IAAI;sBACD,KAAK,CAAC,IAAI;6BACH,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,WAAW,KAAK,CAAC,IAAI;4CACnC,KAAK,CAAC,UAAU;gBAC5C,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,UAAU;wBAC5B,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI;;;;QAI7C,CAAC,CAAC;QACN,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,UAAU,UAAU,KAAK,CAAC,IAAI;aAClD,KAAK,CAAC,IAAI;sBACD,KAAK,CAAC,IAAI;6BACH,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,WAAW,KAAK,CAAC,IAAI;4CACnC,KAAK,CAAC,UAAU;gBAC5C,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,UAAU;wBAC5B,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI;;;;QAI7C,CAAC,CAAC;QACN,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,UAAU,UAAU,KAAK,CAAC,IAAI;;iBAE9C,KAAK,CAAC,IAAI;8BACG,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,WAAW,KAAK,CAAC,IAAI;UACtE,CAAC,CAAC;QACR,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,iEAAiE;IACjE,aAAa;SACV,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC;SAChC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACf,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM;YACpB,CAAC,CAAC,IAAA,8BAAW,EAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC;YACnD,CAAC,CAAC,IAAA,4BAAS,EAAC,IAAA,8BAAW,EAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM;YACzB,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,IAAI,GAAG,cAAc;YACzC,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,IAAI,GAAG,gCAAgC,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,UAAU,UAAU,GAAG;aAC3C,GAAG;sBACM,GAAG;6BACI,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,kBAAkB,GAAG,CAAC,WAAW,EAAE;4CACjD,KAAK,CAAC,UAAU;gBAC5C,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,UAAU;wBAC5B,QAAQ;;;;QAIxB,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;IAEL,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n-generator.d.ts","sourceRoot":"","sources":["../../../../scripts/generate-web-module/transformers/i18n-generator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAGnH;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,aAAa,EAAE,EACvB,aAAa,EAAE,oBAAoB,EAAE,GACpC,UAAU,CAoDZ;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"i18n-generator.d.ts","sourceRoot":"","sources":["../../../../scripts/generate-web-module/transformers/i18n-generator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAGnH;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,aAAa,EAAE,EACvB,aAAa,EAAE,oBAAoB,EAAE,GACpC,UAAU,CAoDZ;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAgB3E;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAE9E;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEpF;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAE9E;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B,MAAM,CAMR;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC/B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAsBrB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAa5E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n-generator.js","sourceRoot":"","sources":["../../../../scripts/generate-web-module/transformers/i18n-generator.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAaH,4CAwDC;AAQD,
|
|
1
|
+
{"version":3,"file":"i18n-generator.js","sourceRoot":"","sources":["../../../../scripts/generate-web-module/transformers/i18n-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,13 +6,20 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { JsonFieldDefinition } from "../types/json-schema.interface";
|
|
8
8
|
/**
|
|
9
|
-
* Check if a module should extend Content
|
|
9
|
+
* Check if a module should extend the Content base.
|
|
10
10
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
11
|
+
* Opt-in ONLY: a module extends Content solely when the schema explicitly sets
|
|
12
|
+
* `extendsContent: true`. The previous heuristic auto-enabled it whenever a
|
|
13
|
+
* `name` (or `tldr`/`abstract`) field was present — i.e. for almost every
|
|
14
|
+
* entity — which forced apps that have no Content base feature to import one
|
|
15
|
+
* that doesn't exist. Rich-text editing no longer depends on Content: use a
|
|
16
|
+
* field of `type: "blocknote"` to get a BlockNote editor on a standalone model.
|
|
17
|
+
*
|
|
18
|
+
* @param _fields - Field definitions (unused; kept for signature stability)
|
|
19
|
+
* @param explicitValue - Explicit `extendsContent` value from the JSON schema
|
|
20
|
+
* @returns true only when explicitly opted in
|
|
14
21
|
*/
|
|
15
|
-
export declare function detectExtendsContent(
|
|
22
|
+
export declare function detectExtendsContent(_fields: JsonFieldDefinition[], explicitValue?: boolean): boolean;
|
|
16
23
|
/**
|
|
17
24
|
* Get the parent class name based on detection result
|
|
18
25
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parent-detector.d.ts","sourceRoot":"","sources":["../../../../scripts/generate-web-module/transformers/parent-detector.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"parent-detector.d.ts","sourceRoot":"","sources":["../../../../scripts/generate-web-module/transformers/parent-detector.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,mBAAmB,EAAE,EAAE,aAAa,CAAC,EAAE,OAAO,GAAG,OAAO,CAErG;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,OAAO,GAAG,MAAM,CAElE;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,cAAc,EAAE,OAAO,GAAG,MAAM,CAEtE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAEzE;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,OAAO,GAAG,MAAM,CAKpE;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,OAAO,GAAG,OAAO,CAErE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,OAAO,GAAG,MAAM,EAAE,CAMpE"}
|
|
@@ -13,22 +13,22 @@ exports.getParentInputType = getParentInputType;
|
|
|
13
13
|
exports.getParentClassImport = getParentClassImport;
|
|
14
14
|
exports.needsAddContentInput = needsAddContentInput;
|
|
15
15
|
exports.getInheritedFields = getInheritedFields;
|
|
16
|
-
const field_mapping_types_1 = require("../types/field-mapping.types");
|
|
17
16
|
/**
|
|
18
|
-
* Check if a module should extend Content
|
|
17
|
+
* Check if a module should extend the Content base.
|
|
19
18
|
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
19
|
+
* Opt-in ONLY: a module extends Content solely when the schema explicitly sets
|
|
20
|
+
* `extendsContent: true`. The previous heuristic auto-enabled it whenever a
|
|
21
|
+
* `name` (or `tldr`/`abstract`) field was present — i.e. for almost every
|
|
22
|
+
* entity — which forced apps that have no Content base feature to import one
|
|
23
|
+
* that doesn't exist. Rich-text editing no longer depends on Content: use a
|
|
24
|
+
* field of `type: "blocknote"` to get a BlockNote editor on a standalone model.
|
|
25
|
+
*
|
|
26
|
+
* @param _fields - Field definitions (unused; kept for signature stability)
|
|
27
|
+
* @param explicitValue - Explicit `extendsContent` value from the JSON schema
|
|
28
|
+
* @returns true only when explicitly opted in
|
|
23
29
|
*/
|
|
24
|
-
function detectExtendsContent(
|
|
25
|
-
|
|
26
|
-
if (explicitValue !== undefined) {
|
|
27
|
-
return explicitValue;
|
|
28
|
-
}
|
|
29
|
-
// Otherwise, auto-detect based on fields
|
|
30
|
-
const fieldNames = fields.map((f) => f.name);
|
|
31
|
-
return field_mapping_types_1.CONTENT_INDICATOR_FIELDS.some((indicator) => fieldNames.includes(indicator));
|
|
30
|
+
function detectExtendsContent(_fields, explicitValue) {
|
|
31
|
+
return explicitValue === true;
|
|
32
32
|
}
|
|
33
33
|
/**
|
|
34
34
|
* Get the parent class name based on detection result
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parent-detector.js","sourceRoot":"","sources":["../../../../scripts/generate-web-module/transformers/parent-detector.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;
|
|
1
|
+
{"version":3,"file":"parent-detector.js","sourceRoot":"","sources":["../../../../scripts/generate-web-module/transformers/parent-detector.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAkBH,oDAEC;AAQD,gDAEC;AAQD,wDAEC;AAQD,gDAEC;AAQD,oDAKC;AAQD,oDAEC;AAQD,gDAMC;AAnFD;;;;;;;;;;;;;GAaG;AACH,SAAgB,oBAAoB,CAAC,OAA8B,EAAE,aAAuB;IAC1F,OAAO,aAAa,KAAK,IAAI,CAAC;AAChC,CAAC;AAED;;;;;GAKG;AACH,SAAgB,kBAAkB,CAAC,cAAuB;IACxD,OAAO,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC;AACxD,CAAC;AAED;;;;;GAKG;AACH,SAAgB,sBAAsB,CAAC,cAAuB;IAC5D,OAAO,cAAc,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,eAAe,CAAC;AAC/D,CAAC;AAED;;;;;GAKG;AACH,SAAgB,kBAAkB,CAAC,cAAuB;IACxD,OAAO,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;AAChD,CAAC;AAED;;;;;GAKG;AACH,SAAgB,oBAAoB,CAAC,cAAuB;IAC1D,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,kCAAkC,CAAC;IAC5C,CAAC;IACD,OAAO,kCAAkC,CAAC;AAC5C,CAAC;AAED;;;;;GAKG;AACH,SAAgB,oBAAoB,CAAC,cAAuB;IAC1D,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,kBAAkB,CAAC,cAAuB;IACxD,IAAI,cAAc,EAAE,CAAC;QACnB,4DAA4D;QAC5D,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC"}
|
|
@@ -58,9 +58,12 @@ export declare function getZodBase(jsonType: string): string;
|
|
|
58
58
|
*/
|
|
59
59
|
export declare function getFormComponent(fieldName: string, fieldType: string): FormComponentType;
|
|
60
60
|
/**
|
|
61
|
-
* Check if a field indicates BlockNoteEditor should be used
|
|
62
|
-
*
|
|
63
|
-
*
|
|
61
|
+
* Check if a field indicates BlockNoteEditor should be used (rich-text content
|
|
62
|
+
* persisted as stringified JSON, hydrated into a block array).
|
|
63
|
+
*
|
|
64
|
+
* Two ways to flag a field as rich-text:
|
|
65
|
+
* - Explicit type "blocknote" — any field name, supports multiple per module.
|
|
66
|
+
* - Legacy: a field literally named "content" with a non-primitive type.
|
|
64
67
|
*/
|
|
65
68
|
export declare function isContentField(fieldName: string, fieldType?: string): boolean;
|
|
66
69
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-mapping.types.d.ts","sourceRoot":"","sources":["../../../../scripts/generate-web-module/types/field-mapping.types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"field-mapping.types.d.ts","sourceRoot":"","sources":["../../../../scripts/generate-web-module/types/field-mapping.types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAQlD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAQnD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAKtE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAMpE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,UAA+B,CAAC;AAErE;;GAEG;AACH,eAAO,MAAM,eAAe,UAA6B,CAAC;AAE1D;;GAEG;AACH,eAAO,MAAM,cAAc,WAAW,CAAC;AAEvC;;GAEG;AACH,eAAO,MAAM,iBAAiB,qBAAqB,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,iBAAiB,uBAAuB,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,mBAAmB,iBAAiB,CAAC;AAElD;;GAEG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,iBAAiB,CAiBxF;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAS7E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAsB9F"}
|
|
@@ -21,6 +21,8 @@ exports.JSON_TO_TS_TYPE = {
|
|
|
21
21
|
boolean: "boolean",
|
|
22
22
|
date: "Date",
|
|
23
23
|
any: "any",
|
|
24
|
+
// Rich-text BlockNote content hydrates into a block array (typed as any).
|
|
25
|
+
blocknote: "any",
|
|
24
26
|
};
|
|
25
27
|
/**
|
|
26
28
|
* Mapping from JSON type to Zod schema (base, without modifiers)
|
|
@@ -31,6 +33,8 @@ exports.JSON_TO_ZOD_BASE = {
|
|
|
31
33
|
boolean: "z.boolean()",
|
|
32
34
|
date: "z.date()",
|
|
33
35
|
any: "z.any()",
|
|
36
|
+
// BlockNote content is free-form; validated as any.
|
|
37
|
+
blocknote: "z.any()",
|
|
34
38
|
};
|
|
35
39
|
/**
|
|
36
40
|
* Special field names that get specific form components
|
|
@@ -91,6 +95,10 @@ function getZodBase(jsonType) {
|
|
|
91
95
|
* Get form component for a field
|
|
92
96
|
*/
|
|
93
97
|
function getFormComponent(fieldName, fieldType) {
|
|
98
|
+
// Any field explicitly typed "blocknote" is a rich-text editor, regardless of name.
|
|
99
|
+
if (fieldType === "blocknote") {
|
|
100
|
+
return "BlockNoteEditor";
|
|
101
|
+
}
|
|
94
102
|
// Check for special field names first, but only if the type is compatible
|
|
95
103
|
// (e.g., "content" as a string field should NOT use BlockNoteEditor)
|
|
96
104
|
if (exports.SPECIAL_FIELD_COMPONENTS[fieldName]) {
|
|
@@ -106,11 +114,17 @@ function getFormComponent(fieldName, fieldType) {
|
|
|
106
114
|
return exports.TYPE_TO_FORM_COMPONENT[fieldType] || "FormInput";
|
|
107
115
|
}
|
|
108
116
|
/**
|
|
109
|
-
* Check if a field indicates BlockNoteEditor should be used
|
|
110
|
-
*
|
|
111
|
-
*
|
|
117
|
+
* Check if a field indicates BlockNoteEditor should be used (rich-text content
|
|
118
|
+
* persisted as stringified JSON, hydrated into a block array).
|
|
119
|
+
*
|
|
120
|
+
* Two ways to flag a field as rich-text:
|
|
121
|
+
* - Explicit type "blocknote" — any field name, supports multiple per module.
|
|
122
|
+
* - Legacy: a field literally named "content" with a non-primitive type.
|
|
112
123
|
*/
|
|
113
124
|
function isContentField(fieldName, fieldType) {
|
|
125
|
+
// Explicit BlockNote type — the canonical, multi-field marker.
|
|
126
|
+
if (fieldType === "blocknote")
|
|
127
|
+
return true;
|
|
114
128
|
if (fieldName !== "content")
|
|
115
129
|
return false;
|
|
116
130
|
// If no type provided, assume it's a content field (backwards compat)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-mapping.types.js","sourceRoot":"","sources":["../../../../scripts/generate-web-module/types/field-mapping.types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;
|
|
1
|
+
{"version":3,"file":"field-mapping.types.js","sourceRoot":"","sources":["../../../../scripts/generate-web-module/types/field-mapping.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n-updater.d.ts","sourceRoot":"","sources":["../../../../scripts/generate-web-module/utils/i18n-updater.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAGxE,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,oBAAoB,EAC1B,WAAW,EAAE,MAAM,EACnB,QAAQ,GAAE,MAAa,EACvB,MAAM,GAAE,OAAe,GACtB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"i18n-updater.d.ts","sourceRoot":"","sources":["../../../../scripts/generate-web-module/utils/i18n-updater.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAGxE,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,oBAAoB,EAC1B,WAAW,EAAE,MAAM,EACnB,QAAQ,GAAE,MAAa,EACvB,MAAM,GAAE,OAAe,GACtB,gBAAgB,CAwFlB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,CAGtE"}
|
|
@@ -86,45 +86,44 @@ function updateI18n(data, webBasePath, language = "en", dryRun = false) {
|
|
|
86
86
|
messages.entities[lowercasePluralKey] = moduleMessages.entities[entitiesKey];
|
|
87
87
|
entitiesUpdated = true;
|
|
88
88
|
}
|
|
89
|
-
//
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
89
|
+
// Additively merge this module's feature keys (fields / relationships /
|
|
90
|
+
// sections), FILLING missing keys without overwriting existing translations.
|
|
91
|
+
// Handles a brand-new module AND an existing-but-incomplete block (e.g. one
|
|
92
|
+
// first generated before its fields were known — which previously stayed an
|
|
93
|
+
// empty `{ fields: {}, relationships: {} }` skeleton forever).
|
|
94
|
+
const mergeMissing = (target, source) => {
|
|
95
|
+
const out = target && typeof target === "object" && !Array.isArray(target) ? { ...target } : {};
|
|
96
|
+
for (const k of Object.keys(source)) {
|
|
97
|
+
const v = source[k];
|
|
98
|
+
if (v && typeof v === "object" && !Array.isArray(v)) {
|
|
99
|
+
out[k] = mergeMissing(out[k], v);
|
|
100
|
+
}
|
|
101
|
+
else if (out[k] === undefined) {
|
|
102
|
+
out[k] = v;
|
|
100
103
|
}
|
|
101
|
-
// Write updated content (entities were added)
|
|
102
|
-
const updatedContent = JSON.stringify(messages, null, 2);
|
|
103
|
-
fs.writeFileSync(messagesPath, updatedContent, "utf-8");
|
|
104
|
-
return {
|
|
105
|
-
success: true,
|
|
106
|
-
message: `Module ${names.camelCase} exists, added entities.${lowercasePluralKey}`,
|
|
107
|
-
alreadyExists: true,
|
|
108
|
-
};
|
|
109
104
|
}
|
|
105
|
+
return out;
|
|
106
|
+
};
|
|
107
|
+
if (!messages.features) {
|
|
108
|
+
messages.features = {};
|
|
109
|
+
}
|
|
110
|
+
const moduleBlock = moduleMessages.features[i18nKeys.moduleName];
|
|
111
|
+
const beforeFeatures = JSON.stringify(messages.features[lowercaseModuleName] ?? null);
|
|
112
|
+
messages.features[lowercaseModuleName] = mergeMissing(messages.features[lowercaseModuleName], moduleBlock);
|
|
113
|
+
const featuresUpdated = JSON.stringify(messages.features[lowercaseModuleName]) !== beforeFeatures;
|
|
114
|
+
if (!entitiesUpdated && !featuresUpdated) {
|
|
110
115
|
return {
|
|
111
116
|
success: true,
|
|
112
|
-
message: `Module ${names.camelCase} already
|
|
117
|
+
message: `Module ${names.camelCase} already up to date in messages/${language}.json`,
|
|
113
118
|
alreadyExists: true,
|
|
114
119
|
};
|
|
115
120
|
}
|
|
116
|
-
// Add to features section (new module)
|
|
117
|
-
if (!messages.features) {
|
|
118
|
-
messages.features = {};
|
|
119
|
-
}
|
|
120
|
-
messages.features[lowercaseModuleName] = moduleMessages.features[i18nKeys.moduleName];
|
|
121
121
|
if (dryRun) {
|
|
122
122
|
return {
|
|
123
123
|
success: true,
|
|
124
124
|
message: `[DRY RUN] Would update messages/${language}.json with ${names.camelCase} translations`,
|
|
125
125
|
};
|
|
126
126
|
}
|
|
127
|
-
// Write updated content with proper formatting
|
|
128
127
|
const updatedContent = JSON.stringify(messages, null, 2);
|
|
129
128
|
fs.writeFileSync(messagesPath, updatedContent, "utf-8");
|
|
130
129
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n-updater.js","sourceRoot":"","sources":["../../../../scripts/generate-web-module/utils/i18n-updater.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBH,
|
|
1
|
+
{"version":3,"file":"i18n-updater.js","sourceRoot":"","sources":["../../../../scripts/generate-web-module/utils/i18n-updater.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-schema-validator.d.ts","sourceRoot":"","sources":["../../../../scripts/generate-web-module/validators/json-schema-validator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAEtE,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/B;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,GAAG,GAAG,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"json-schema-validator.d.ts","sourceRoot":"","sources":["../../../../scripts/generate-web-module/validators/json-schema-validator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAEtE,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/B;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,GAAG,GAAG,eAAe,EAAE,CAqNjE;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,CA6BxE;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,oBAAoB,EAAE,GAAG,IAAI,CAAC;IACpC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAkEnE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAElE"}
|