@parhelia/page-wizard 0.1.12570 → 0.1.12585
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/PageWizard.d.ts +2 -1
- package/dist/PageWizard.js +7 -3
- package/dist/PageWizard.js.map +1 -1
- package/dist/WizardSteps.js +4 -4
- package/dist/WizardSteps.js.map +1 -1
- package/dist/startPageWizardCommand.js +2 -2
- package/dist/startPageWizardCommand.js.map +1 -1
- package/dist/steps/ContentStep.js +166 -55
- package/dist/steps/ContentStep.js.map +1 -1
- package/dist/steps/FieldEditor.js +2 -2
- package/dist/steps/FieldEditor.js.map +1 -1
- package/dist/steps/ImagesStep.js +20 -19
- package/dist/steps/ImagesStep.js.map +1 -1
- package/dist/steps/LayoutStep.js +35 -18
- package/dist/steps/LayoutStep.js.map +1 -1
- package/dist/steps/TranslateStep.js +3 -3
- package/dist/steps/TranslateStep.js.map +1 -1
- package/dist/steps/schema.d.ts +2 -0
- package/dist/steps/schema.js +31 -4
- package/dist/steps/schema.js.map +1 -1
- package/dist/steps/usePageCreator.d.ts +3 -3
- package/dist/steps/usePageCreator.js +122 -66
- package/dist/steps/usePageCreator.js.map +1 -1
- package/package.json +8 -9
package/dist/PageWizard.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type ItemDescriptor, type Thumbnail } from "@parhelia/core";
|
|
1
|
+
import { type ItemDescriptor, type ReferencedItem, type Thumbnail } from "@parhelia/core";
|
|
2
2
|
export type Wizard = {
|
|
3
3
|
id: string;
|
|
4
4
|
name: string;
|
|
@@ -7,6 +7,7 @@ export type Wizard = {
|
|
|
7
7
|
icon: string;
|
|
8
8
|
schema: PageSchema;
|
|
9
9
|
templateId: string;
|
|
10
|
+
defaultTheme?: ReferencedItem;
|
|
10
11
|
};
|
|
11
12
|
export type PageSchema = {
|
|
12
13
|
placeholders: SchemaPlaceholder[];
|
package/dist/PageWizard.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useEffect, useState } from "react";
|
|
3
|
-
import { useEditContext, Spinner } from "@parhelia/core";
|
|
3
|
+
import { useEditContext, Spinner, } from "@parhelia/core";
|
|
4
4
|
import { getWizard } from "./service";
|
|
5
5
|
import { WizardSteps } from "./WizardSteps";
|
|
6
6
|
export function PageWizard() {
|
|
@@ -38,7 +38,9 @@ export function PageWizard() {
|
|
|
38
38
|
catch (error) {
|
|
39
39
|
console.error("PageWizard: Error loading wizard:", error);
|
|
40
40
|
// If the wizard couldn't be loaded (not found, not valid for context, etc.)
|
|
41
|
-
editContext?.
|
|
41
|
+
editContext?.switchWorkspace("content-tree", {
|
|
42
|
+
skipConfirmation: true,
|
|
43
|
+
});
|
|
42
44
|
}
|
|
43
45
|
finally {
|
|
44
46
|
setIsLoading(false);
|
|
@@ -49,7 +51,9 @@ export function PageWizard() {
|
|
|
49
51
|
// Only switch away if we have no wizard AND no wizard ID (i.e., we're not supposed to be here)
|
|
50
52
|
if (!wizard && !editContext?.currentWizardId) {
|
|
51
53
|
console.log("PageWizard - No wizard and no wizard ID, switching to content-tree");
|
|
52
|
-
editContext?.
|
|
54
|
+
editContext?.switchWorkspace("content-tree", {
|
|
55
|
+
skipConfirmation: true,
|
|
56
|
+
});
|
|
53
57
|
return null;
|
|
54
58
|
}
|
|
55
59
|
// If we have a wizard, render it
|
package/dist/PageWizard.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageWizard.js","sourceRoot":"","sources":["../src/PageWizard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAU,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,
|
|
1
|
+
{"version":3,"file":"PageWizard.js","sourceRoot":"","sources":["../src/PageWizard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAU,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EACL,cAAc,EACd,OAAO,GAIR,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAyF5C,MAAM,UAAU,UAAU;IACxB,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC1D,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAwB,IAAI,CAAC,CAAC;IAC1E,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEjD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,QAAQ,GAAG,WAAW,EAAE,eAAe,CAAC;QAE9C,KAAK,UAAU,UAAU;YACvB,IAAI,MAAM;gBAAE,OAAO;YACnB,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,oCAAoC;gBACpC,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;gBAC7D,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,OAAO;YACT,CAAC;YAED,8DAA8D;YAC9D,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE,qBAAqB,EAAE,CAAC;gBAC9D,YAAY,CAAC,IAAI,CAAC,CAAC;gBACnB,OAAO;YACT,CAAC;YAED,YAAY,CAAC,IAAI,CAAC,CAAC;YACnB,IAAI,CAAC;gBACH,MAAM,UAAU,GACd,WAAW,CAAC,IAAI,EAAE,UAAU,IAAI,WAAW,CAAC,qBAAqB,CAAC;gBACpE,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,YAAY,CAAC,IAAI,CAAC,CAAC;oBACnB,OAAO;gBACT,CAAC;gBACD,MAAM,WAAW,GAAG,MAAM,SAAS,CACjC,QAAQ,EACR,UAAU,CACX,CAAC;gBACF,SAAS,CAAC,WAAW,CAAC,CAAC;gBACvB,aAAa,CAAC,UAAU,CAAC,CAAC;YAC5B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;gBAC1D,4EAA4E;gBAC5E,WAAW,EAAE,eAAe,CAAC,cAAc,EAAE;oBAC3C,gBAAgB,EAAE,IAAI;iBACvB,CAAC,CAAC;YACL,CAAC;oBAAS,CAAC;gBACT,YAAY,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QAED,UAAU,EAAE,CAAC;IACf,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,qBAAqB,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC;IAE1F,+FAA+F;IAC/F,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,eAAe,EAAE,CAAC;QAC7C,OAAO,CAAC,GAAG,CACT,oEAAoE,CACrE,CAAC;QACF,WAAW,EAAE,eAAe,CAAC,cAAc,EAAE;YAC3C,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iCAAiC;IACjC,IAAI,MAAM,IAAI,UAAU,EAAE,CAAC;QACzB,OAAO,KAAC,WAAW,IAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAI,CAAC;IACjE,CAAC;IAED,mCAAmC;IACnC,OAAO,CACL,cAAK,SAAS,EAAC,yCAAyC,YACtD,KAAC,OAAO,KAAG,GACP,CACP,CAAC;AACJ,CAAC"}
|
package/dist/WizardSteps.js
CHANGED
|
@@ -157,14 +157,14 @@ export function WizardSteps({ wizard, parentItem }) {
|
|
|
157
157
|
};
|
|
158
158
|
const handleFinish = () => {
|
|
159
159
|
editContext?.setCurrentWizardId(null);
|
|
160
|
-
editContext?.
|
|
160
|
+
editContext?.switchWorkspace("editor", { skipConfirmation: true });
|
|
161
161
|
};
|
|
162
162
|
const handleClose = () => {
|
|
163
163
|
// If wizard was opened from new-page, go to splash screen instead
|
|
164
|
-
const
|
|
164
|
+
const targetWorkspace = editContext?.previousWorkspaceId === "new-page"
|
|
165
165
|
? "splash-screen"
|
|
166
|
-
: (editContext?.
|
|
167
|
-
editContext?.
|
|
166
|
+
: (editContext?.previousWorkspaceId || "content-tree");
|
|
167
|
+
editContext?.switchWorkspace(targetWorkspace);
|
|
168
168
|
};
|
|
169
169
|
const currentStep = wizard.steps[currentStepIndex];
|
|
170
170
|
if (!currentStep)
|
package/dist/WizardSteps.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WizardSteps.js","sourceRoot":"","sources":["../src/WizardSteps.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"WizardSteps.js","sourceRoot":"","sources":["../src/WizardSteps.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,EAAuB,MAAM,gBAAgB,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AAE5D,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,cAAc,GAA6C;IAC/D,WAAW;IACX,UAAU;IACV,aAAa;IACb,UAAU;IACV,UAAU;IACV,WAAW;IACX,YAAY;IACZ,aAAa;IACb,aAAa;IACb,aAAa;CACd,CAAC;AAsDF,SAAS,cAAc,CAAC,EACtB,gBAAgB,EAChB,MAAM,EACN,UAAU,GACU;IACpB,IAAI,gBAAgB,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAExC,OAAO,CACL,MAAC,MAAM,IAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAC,SAAS,iBAAa,wBAAwB,aACjF,KAAC,WAAW,KAAG,OAAE,MAAM,CAAC,KAAK,CAAC,gBAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,IAClD,CACV,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,EAClB,gBAAgB,EAChB,MAAM,EACN,aAAa,EACb,MAAM,EACN,QAAQ,GACQ;IAChB,MAAM,UAAU,GAAG,gBAAgB,KAAK,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,aAAa,GAAG,gBAAgB,CAAC;IAEpD,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CACL,MAAC,MAAM,IAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,iBAAc,sBAAsB,wBAC1E,KAAC,YAAY,KAAG,IAChB,CACV,CAAC;IACJ,CAAC;IAED,OAAO,CACL,MAAC,MAAM,IAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,iBAAc,oBAAoB,aAC5E,MAAM,CAAC,KAAK,CAAC,gBAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EACzC,KAAC,YAAY,KAAG,IACT,CACV,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,EACvB,MAAM,EACN,gBAAgB,EAChB,WAAW,GACU;IACrB,MAAM,QAAQ,GAAG,MAAM,CAA4B,EAAE,CAAC,CAAC;IAEvD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,iBAAiB,GAAG,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC7D,IAAI,iBAAiB,EAAE,CAAC;YACtB,iBAAiB,CAAC,cAAc,CAAC;gBAC/B,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,SAAS;gBAChB,MAAM,EAAE,QAAQ;aACjB,CAAC,CAAC;QACL,CAAC;IACH,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEvB,OAAO,CACL,cAAK,SAAS,EAAC,gBAAgB,YAC7B,cAAK,SAAS,EAAC,eAAe,YAC5B,cAAK,SAAS,EAAC,2CAA2C,YACvD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CACjC,MAAC,KAAK,CAAC,QAAQ,eACb,eACE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE;gCACV,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;4BAC/B,CAAC,EACD,SAAS,EAAE,EAAE,CACX,gDAAgD,EAChD,gBAAgB,GAAG,KAAK,IAAI,gBAAgB,CAC7C,EACD,OAAO,EAAE,GAAG,EAAE,CACZ,KAAK,GAAG,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,aAG3D,eACE,SAAS,EAAE,EAAE,CACX,0GAA0G,EAC1G,gBAAgB,KAAK,KAAK;wCAC1B,sEAAsE,EACtE,gBAAgB,GAAG,KAAK,IAAI,+BAA+B,EAC3D,gBAAgB,GAAG,KAAK;wCACxB,kCAAkC,CACnC,YAEA,gBAAgB,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,GACtC,EACP,cACE,SAAS,EAAE,EAAE,CACX,6FAA6F,EAC7F,gBAAgB,KAAK,KAAK;wCACxB,CAAC,CAAC,oCAAoC;wCACtC,CAAC,CAAC,gBAAgB,IAAI,KAAK;4CACzB,CAAC,CAAC,sBAAsB;4CACxB,CAAC,CAAC,eAAe,CACtB,YAEA,IAAI,CAAC,IAAI,GACN,IACF,EAEL,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAClC,cACE,SAAS,EAAE,EAAE,CACX,KAAK,GAAG,gBAAgB;gCACtB,CAAC,CAAC,wBAAwB;gCAC1B,CAAC,CAAC,iBAAiB,EACrB,2DAA2D,CAC5D,GACD,CACH,KAhDkB,IAAI,CAAC,EAAE,CAiDX,CAClB,CAAC,GACE,GACF,GACF,CACP,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,EACpB,MAAM,EACN,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,MAAM,EACN,QAAQ,EACR,OAAO,EACP,aAAa,EACb,QAAQ,GACU;IAClB,OAAO,CACL,eAAK,SAAS,EAAC,+LAA+L,aAC3M,CAAC,QAAQ,IAAI,CACZ,cAAK,SAAS,EAAC,UAAU,YACvB,KAAC,cAAc,IACb,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,GACtB,GACE,CACP,EAED,KAAC,eAAe,IACd,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,WAAW,GACxB,EAED,CAAC,QAAQ,IAAI,CACZ,cAAK,SAAS,EAAC,2BAA2B,YACxC,KAAC,UAAU,IACT,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,GAClB,GACE,CACP,EAED,cAAK,SAAS,EAAC,UAAU,YACvB,KAAC,MAAM,IAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,IAAI,YACnD,KAAC,CAAC,IAAC,SAAS,EAAC,SAAS,GAAG,GAClB,GACL,IACF,CACP,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAsB;IAClE,OAAO,CACL,cAAK,SAAS,EAAC,uCAAuC,YACpD,eAAK,SAAS,EAAC,mBAAmB,aAChC,cAAK,SAAS,EAAC,sBAAsB,YACnC,eAAK,SAAS,EAAC,sCAAsC,aACnD,cAAK,SAAS,EAAC,YAAY,YACzB,eAAK,SAAS,EAAC,yBAAyB,aACtC,cAAK,SAAS,EAAC,kCAAkC,YAC9C,WAAW,EAAE,MAAM,EAAE,KAAK,IAAI,WAAW,EAAE,IAAI,GAC5C,EACL,WAAW,EAAE,MAAM,EAAE,WAAW,IAAI,CACnC,cAAK,SAAS,EAAC,oCAAoC,YAChD,WAAW,CAAC,MAAM,CAAC,WAAW,GAC3B,CACP,IACG,GACF,EACN,cAAK,SAAS,EAAC,iBAAiB,YAC9B,cAAK,SAAS,EAAC,gCAAgC,YAAE,QAAQ,GAAO,GAC5D,IACF,GACF,EACN,cAAK,SAAS,EAAC,4BAA4B,GAAG,IAC1C,GACF,CACP,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,EAC/B,gBAAgB,EAChB,MAAM,EACN,aAAa,EACb,UAAU,EACV,MAAM,EACN,QAAQ,EACR,OAAO,GACsB;IAC7B,MAAM,UAAU,GAAG,gBAAgB,KAAK,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAChE,MAAM,cAAc,GAAG,aAAa,GAAG,gBAAgB,CAAC;IACxD,MAAM,YAAY,GAAG,gBAAgB,GAAG,CAAC,CAAC;IAE1C,OAAO,CACL,cAAK,SAAS,EAAC,sFAAsF,YACnG,eAAK,SAAS,EAAC,YAAY,aACxB,YAAY,IAAI,CACf,MAAC,MAAM,IAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,iBAAa,wBAAwB,aACpG,KAAC,WAAW,IAAC,SAAS,EAAC,SAAS,GAAG,EAClC,MAAM,CAAC,KAAK,CAAC,gBAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,IAClC,CACV,EAEA,UAAU,CAAC,CAAC,CAAC,CACZ,MAAC,MAAM,IACL,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,QAAQ,EACjB,SAAS,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,YAAY,IAAI,QAAQ,CAAC,iBACtC,sBAAsB,uBAGlC,KAAC,YAAY,IAAC,SAAS,EAAC,SAAS,GAAG,IAC7B,CACV,CAAC,CAAC,CAAC,CACF,MAAC,MAAM,IACL,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,YAAY,IAAI,QAAQ,CAAC,iBACtC,oBAAoB,aAE/B,MAAM,CAAC,KAAK,CAAC,gBAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EACzC,KAAC,YAAY,IAAC,SAAS,EAAC,SAAS,GAAG,IAC7B,CACV,EAED,KAAC,MAAM,IAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,IAAI,YACnD,KAAC,CAAC,IAAC,SAAS,EAAC,SAAS,GAAG,GAClB,IACL,GACF,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAE,MAAM,EAAE,UAAU,EAAoB;IAClE,uDAAuD;IACvD,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC5D,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAa;QAC3C,WAAW,EAAE,UAAU;KACxB,CAAC,CAAC;IACH,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAkB;QAC1D,UAAU,EAAE,EAAE;QACd,IAAI,EAAE,EAAE;QACR,eAAe,EAAE,EAAE;QACnB,YAAY,EAAE,EAAE;QAChB,MAAM,EAAE,EAAE;KACX,CAAC,CAAC;IACH,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAM,EAAE,CAAC,CAAC;IAC5D,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvD,MAAM,qBAAqB,GAAG,MAAM,CAAkC,IAAI,CAAC,CAAC;IAE5E,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,kBAAkB,GAAG,CAAC,CAAoB,EAAE,EAAE;YAClD,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,WAAW,GAAG,EAAE,CAAC;QACrB,CAAC,CAAC;QAEF,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QAE5D,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,mBAAmB,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QACjE,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAG,WAAW,EAAE,QAAQ,IAAI,KAAK,CAAC;IAEhD,MAAM,qBAAqB,GAAG,CAAC,QAAyC,EAAE,EAAE;QAC1E,qBAAqB,CAAC,OAAO,GAAG,QAAQ,CAAC;IAC3C,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;QAEvB,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAEpD,qEAAqE;QACrE,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAE3E,4DAA4D;QAC5D,MAAM,aAAa,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;QAEpD,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,CACL,KAAC,aAAa,IACZ,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EAEpB,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,CAAC,SAAkB,EAAE,EAAE;oBACvC,IAAI,SAAS,EAAE,CAAC;wBACd,gBAAgB,CAAC,CAAC,IAAY,EAAE,EAAE,CAChC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,gBAAgB,CAAC,CACjC,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,gBAAgB,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;oBACzC,CAAC;gBACH,CAAC,EACD,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,EAAE,UAAU,IAbjB,MAAM,CAcX,CACH,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,EAAE;QACnC,qBAAqB,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,sCAAsC;QAE5E,IAAI,OAAO,QAAQ,CAAC,mBAAmB,KAAK,UAAU,EAAE,CAAC;YACvD,QAAQ,CAAC,mBAAmB,CAAC,GAAG,EAAE;gBAChC,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,UAAU,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;QAC5B,qDAAqD;QACrD,IAAI,qBAAqB,CAAC,OAAO,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;YAC3C,MAAM,UAAU,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE,CAAC;YACzD,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO,CAAC,0CAA0C;YACpD,CAAC;QACH,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;QAC1C,UAAU,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,WAAW,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACtC,WAAW,EAAE,eAAe,CAAC,QAAQ,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC;IACrE,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,kEAAkE;QAClE,MAAM,eAAe,GAAG,WAAW,EAAE,mBAAmB,KAAK,UAAU;YACrE,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,CAAC,WAAW,EAAE,mBAAmB,IAAI,cAAc,CAAC,CAAC;QACzD,WAAW,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;IAChD,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAEnD,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAE9B,OAAO,CACL,eAAK,SAAS,EAAC,sBAAsB,aACnC,KAAC,YAAY,IACX,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,UAAU,EACvB,UAAU,EAAE,cAAc,EAC1B,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,WAAW,EACpB,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,QAAQ,GAClB,EAEF,KAAC,aAAa,IAAC,WAAW,EAAE,WAAW,YACpC,cAAc,EAAE,GACH,EACf,QAAQ,IAAI,CACX,KAAC,uBAAuB,IACtB,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,cAAc,EAC1B,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,WAAW,GACpB,CACH,IACG,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -11,14 +11,14 @@ export const startPageWizardCommand = {
|
|
|
11
11
|
const wizardId = context.data?.wizard?.id || context.data?.wizardId;
|
|
12
12
|
if (wizardId) {
|
|
13
13
|
context.editContext.setCurrentWizardId(wizardId);
|
|
14
|
-
context.editContext.
|
|
14
|
+
context.editContext.switchWorkspace("page-wizard");
|
|
15
15
|
return;
|
|
16
16
|
}
|
|
17
17
|
// Backward compatibility: if neither provided, attempt to fetch via service (best effort)
|
|
18
18
|
try {
|
|
19
19
|
if (context.data?.wizard) {
|
|
20
20
|
context.editContext.setCurrentWizardId(context.data.wizard.id);
|
|
21
|
-
context.editContext.
|
|
21
|
+
context.editContext.switchWorkspace("page-wizard");
|
|
22
22
|
return;
|
|
23
23
|
}
|
|
24
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startPageWizardCommand.js","sourceRoot":"","sources":["../src/startPageWizardCommand.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,EAAE,EAAE,iBAAiB;IACrB,KAAK,EAAE,cAAc;IACrB,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,KAAK,EACZ,OAAqF,EACrF,EAAE;QACF,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI;YAAE,OAAO;QAEhC,MAAM,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,kFAAkF;QAClF,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;QACpE,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YACjD,OAAO,CAAC,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"startPageWizardCommand.js","sourceRoot":"","sources":["../src/startPageWizardCommand.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,EAAE,EAAE,iBAAiB;IACrB,KAAK,EAAE,cAAc;IACrB,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,KAAK,EACZ,OAAqF,EACrF,EAAE;QACF,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI;YAAE,OAAO;QAEhC,MAAM,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,kFAAkF;QAClF,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;QACpE,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YACjD,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;YACnD,OAAO;QACT,CAAC;QAED,0FAA0F;QAC1F,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;gBACzB,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC/D,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;gBACnD,OAAO;YACT,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IACD,QAAQ,EAAE,GAAG,EAAE;QACb,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAC"}
|
|
@@ -10,6 +10,16 @@ import { getFilteredInputData, processPromptTemplate, } from "../utils/dataAcces
|
|
|
10
10
|
import { useThrottledCallback } from "use-debounce";
|
|
11
11
|
import { WizardBoxConnector } from "../WizardBoxConnector";
|
|
12
12
|
import { ComponentTypeSelector, getComponentTypeSelectorSummary } from "./ComponentTypesSelector";
|
|
13
|
+
function countWizardComponents(components = []) {
|
|
14
|
+
return components.reduce((count, component) => count + 1 + countWizardComponents(component.children ?? []), 0);
|
|
15
|
+
}
|
|
16
|
+
const DEFAULT_PAGE_MODEL = {
|
|
17
|
+
components: [],
|
|
18
|
+
name: "",
|
|
19
|
+
metaDescription: "",
|
|
20
|
+
metaKeywords: "",
|
|
21
|
+
fields: [],
|
|
22
|
+
};
|
|
13
23
|
/**
|
|
14
24
|
* Merges field arrays, preserving writtenValue from previous fields.
|
|
15
25
|
* This prevents re-writing fields that have already been written during streaming.
|
|
@@ -29,18 +39,35 @@ function mergeFields(previous, incoming) {
|
|
|
29
39
|
};
|
|
30
40
|
});
|
|
31
41
|
}
|
|
42
|
+
function normalizeWizardComponents(components) {
|
|
43
|
+
if (!components)
|
|
44
|
+
return components;
|
|
45
|
+
return components.map((component) => {
|
|
46
|
+
const nestedChildren = component?.children ?? component?.components;
|
|
47
|
+
const normalizedType = component?.type ?? component?.name ?? "";
|
|
48
|
+
const normalizedName = component?.name ?? component?.type ?? normalizedType;
|
|
49
|
+
return {
|
|
50
|
+
...component,
|
|
51
|
+
type: normalizedType,
|
|
52
|
+
name: normalizedName,
|
|
53
|
+
children: normalizeWizardComponents(nestedChildren),
|
|
54
|
+
};
|
|
55
|
+
});
|
|
56
|
+
}
|
|
32
57
|
/**
|
|
33
58
|
* Merges component arrays, preserving locally-assigned id values and writtenValue for fields.
|
|
34
59
|
* This prevents duplicate component creation during streaming when the incoming JSON
|
|
35
60
|
* doesn't include the ids that were assigned locally after component creation.
|
|
36
61
|
*/
|
|
37
62
|
function mergeComponents(previous, incoming) {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
if (!
|
|
41
|
-
return
|
|
42
|
-
|
|
43
|
-
|
|
63
|
+
const normalizedIncoming = normalizeWizardComponents(incoming);
|
|
64
|
+
const normalizedPrevious = normalizeWizardComponents(previous);
|
|
65
|
+
if (!normalizedIncoming)
|
|
66
|
+
return normalizedPrevious ?? [];
|
|
67
|
+
if (!normalizedPrevious || normalizedPrevious.length === 0)
|
|
68
|
+
return normalizedIncoming;
|
|
69
|
+
return normalizedIncoming.map((incomingComponent, index) => {
|
|
70
|
+
const prevComponent = normalizedPrevious[index];
|
|
44
71
|
// If no matching previous component or different type, use incoming as-is
|
|
45
72
|
if (!prevComponent || prevComponent.type !== incomingComponent.type) {
|
|
46
73
|
return incomingComponent;
|
|
@@ -68,6 +95,28 @@ function mergeLayout(previous, incoming) {
|
|
|
68
95
|
next.message = incoming.message;
|
|
69
96
|
return next;
|
|
70
97
|
}
|
|
98
|
+
function withDefaultThemeIfMissing(pageModel, pageFields, defaultTheme) {
|
|
99
|
+
const themeField = pageFields.find((field) => field.name?.toLowerCase() === "theme");
|
|
100
|
+
if (!themeField)
|
|
101
|
+
return pageModel;
|
|
102
|
+
const currentThemeField = pageModel.fields?.find((field) => field.name?.toLowerCase() === "theme");
|
|
103
|
+
if (currentThemeField?.value?.trim())
|
|
104
|
+
return pageModel;
|
|
105
|
+
const fallbackThemeId = defaultTheme?.id;
|
|
106
|
+
if (!fallbackThemeId)
|
|
107
|
+
return pageModel;
|
|
108
|
+
return {
|
|
109
|
+
...pageModel,
|
|
110
|
+
fields: [
|
|
111
|
+
...(pageModel.fields ?? []).filter((field) => field.name?.toLowerCase() !== "theme"),
|
|
112
|
+
{
|
|
113
|
+
name: themeField.name,
|
|
114
|
+
type: themeField.type,
|
|
115
|
+
value: fallbackThemeId,
|
|
116
|
+
},
|
|
117
|
+
],
|
|
118
|
+
};
|
|
119
|
+
}
|
|
71
120
|
export function ContentStep({ wizard, step, parentItem, pageModel, setPageModel, data, setData, internalState, setInternalState, setStepCompleted, }) {
|
|
72
121
|
const [pageLoaded, setPageLoaded] = useState(false);
|
|
73
122
|
const pageLoadedRef = useRef(false);
|
|
@@ -88,6 +137,8 @@ export function ContentStep({ wizard, step, parentItem, pageModel, setPageModel,
|
|
|
88
137
|
itemsRepository: editContext?.itemsRepository,
|
|
89
138
|
configuration: editContext?.configuration,
|
|
90
139
|
});
|
|
140
|
+
const currentWizardPageRef = useRef(localPageViewContext.page);
|
|
141
|
+
currentWizardPageRef.current = localPageViewContext.page;
|
|
91
142
|
const [showDataObject, setShowDataObject] = useState(false);
|
|
92
143
|
// New state for name and language functionality
|
|
93
144
|
const [isGenerating, setIsGenerating] = useState(false);
|
|
@@ -104,29 +155,54 @@ export function ContentStep({ wizard, step, parentItem, pageModel, setPageModel,
|
|
|
104
155
|
const { validateItemName } = useItemNameValidation();
|
|
105
156
|
if (!parentItem)
|
|
106
157
|
return "No parent item";
|
|
107
|
-
//
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
metaKeywords: "",
|
|
113
|
-
fields: [],
|
|
114
|
-
};
|
|
115
|
-
const [model, setModel] = useState(() => (pageModel ? { ...defaultPageModel, ...pageModel } : defaultPageModel));
|
|
158
|
+
// Keep a local model as the only render source of truth for this step.
|
|
159
|
+
// The parent pageModel is treated as hydration/synchronization input only.
|
|
160
|
+
const [model, setModel] = useState(() => (pageModel ? { ...DEFAULT_PAGE_MODEL, ...pageModel } : DEFAULT_PAGE_MODEL));
|
|
161
|
+
const modelRef = useRef(model);
|
|
162
|
+
const plannedComponentCount = countWizardComponents(model.components ?? []);
|
|
116
163
|
useEffect(() => {
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
164
|
+
const nextModel = pageModel
|
|
165
|
+
? { ...DEFAULT_PAGE_MODEL, ...pageModel }
|
|
166
|
+
: DEFAULT_PAGE_MODEL;
|
|
167
|
+
modelRef.current = nextModel;
|
|
168
|
+
setModel(nextModel);
|
|
121
169
|
}, [pageModel]);
|
|
122
170
|
const updateModel = useCallback((value) => {
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
171
|
+
const next = typeof value === "function"
|
|
172
|
+
? value(modelRef.current)
|
|
173
|
+
: value;
|
|
174
|
+
modelRef.current = next;
|
|
175
|
+
setModel(next);
|
|
176
|
+
setPageModel?.(next);
|
|
128
177
|
}, [setPageModel]);
|
|
129
|
-
const pageCreator = usePageCreator(pageItem, wizard, updateModel);
|
|
178
|
+
const pageCreator = usePageCreator(pageItem, wizard, updateModel, () => currentWizardPageRef.current);
|
|
179
|
+
const resetPageLoadedTracking = useCallback(() => {
|
|
180
|
+
pageLoadedRef.current = false;
|
|
181
|
+
setPageLoaded(false);
|
|
182
|
+
}, []);
|
|
183
|
+
const waitForPageLoaded = useCallback(async (expectedItem, timeoutMs = 30000) => {
|
|
184
|
+
const pollInterval = 250;
|
|
185
|
+
let elapsed = 0;
|
|
186
|
+
while (elapsed < timeoutMs) {
|
|
187
|
+
const loadedItem = localPageViewContext?.page?.item;
|
|
188
|
+
if (loadedItem) {
|
|
189
|
+
const matchesExpectedItem = !expectedItem ||
|
|
190
|
+
(loadedItem.descriptor.id === expectedItem.id &&
|
|
191
|
+
(!expectedItem.language || loadedItem.language === expectedItem.language));
|
|
192
|
+
if (matchesExpectedItem) {
|
|
193
|
+
pageLoadedRef.current = true;
|
|
194
|
+
setPageLoaded(true);
|
|
195
|
+
return true;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
if (pageLoadedRef.current && !expectedItem) {
|
|
199
|
+
return true;
|
|
200
|
+
}
|
|
201
|
+
await new Promise((resolve) => setTimeout(resolve, pollInterval));
|
|
202
|
+
elapsed += pollInterval;
|
|
203
|
+
}
|
|
204
|
+
return false;
|
|
205
|
+
}, [localPageViewContext?.page?.item]);
|
|
130
206
|
// Add target folder selection function
|
|
131
207
|
const selectTargetItem = useCallback(async () => {
|
|
132
208
|
if (!editContext || !step.fields.targetItemPrompt)
|
|
@@ -264,7 +340,10 @@ export function ContentStep({ wizard, step, parentItem, pageModel, setPageModel,
|
|
|
264
340
|
},
|
|
265
341
|
], { editContext, createAiContext: createWizardAiContext }, { model: step.fields.aiModel || undefined }, { signal: abortController.signal });
|
|
266
342
|
if (pageModelResult && pageModelResult.name) {
|
|
267
|
-
|
|
343
|
+
updateModel((prev) => ({
|
|
344
|
+
...prev,
|
|
345
|
+
name: pageModelResult.name,
|
|
346
|
+
}));
|
|
268
347
|
}
|
|
269
348
|
}
|
|
270
349
|
catch (error) {
|
|
@@ -393,8 +472,11 @@ export function ContentStep({ wizard, step, parentItem, pageModel, setPageModel,
|
|
|
393
472
|
}
|
|
394
473
|
}
|
|
395
474
|
// Load the created item into the editor and cache
|
|
475
|
+
resetPageLoadedTracking();
|
|
396
476
|
editContext.loadItem(createdDescriptor, { addToBrowseHistory: true });
|
|
397
|
-
const
|
|
477
|
+
const loaded = await waitForPageLoaded(createdDescriptor, 30000);
|
|
478
|
+
const item = (await editContext.itemsRepository.getItem(createdDescriptor)) ??
|
|
479
|
+
(loaded ? localPageViewContext?.page?.item : undefined);
|
|
398
480
|
if (item && setPageItem) {
|
|
399
481
|
setPageItem(item);
|
|
400
482
|
return true;
|
|
@@ -413,10 +495,13 @@ export function ContentStep({ wizard, step, parentItem, pageModel, setPageModel,
|
|
|
413
495
|
targetFolder,
|
|
414
496
|
pageItem,
|
|
415
497
|
checkPageName,
|
|
498
|
+
localPageViewContext?.page?.item,
|
|
416
499
|
wizard.templateId,
|
|
417
500
|
model.name,
|
|
418
501
|
setPageItem,
|
|
419
502
|
language,
|
|
503
|
+
resetPageLoadedTracking,
|
|
504
|
+
waitForPageLoaded,
|
|
420
505
|
]);
|
|
421
506
|
useEffect(() => {
|
|
422
507
|
editContext?.setMode("preview");
|
|
@@ -544,11 +629,12 @@ export function ContentStep({ wizard, step, parentItem, pageModel, setPageModel,
|
|
|
544
629
|
runInitialGeneration();
|
|
545
630
|
}, []);
|
|
546
631
|
const createComponents = async () => {
|
|
547
|
-
if (!pageLoaded)
|
|
632
|
+
if (!pageLoaded || isLoading)
|
|
548
633
|
return;
|
|
549
634
|
if (model && !isCreatingComponents) {
|
|
550
635
|
try {
|
|
551
636
|
setIsCreatingComponents(true);
|
|
637
|
+
let createdComponentCount = 0;
|
|
552
638
|
// Update page-level fields first
|
|
553
639
|
if (model.fields && model.fields.length > 0) {
|
|
554
640
|
await pageCreator.updatePageFields(model.fields);
|
|
@@ -556,12 +642,20 @@ export function ContentStep({ wizard, step, parentItem, pageModel, setPageModel,
|
|
|
556
642
|
// Then create components
|
|
557
643
|
if (model.components) {
|
|
558
644
|
console.log("Creating components", model.components);
|
|
559
|
-
await pageCreator.createComponentsRecursively(model.components, "root");
|
|
645
|
+
createdComponentCount = await pageCreator.createComponentsRecursively(model.components, "root");
|
|
560
646
|
}
|
|
561
647
|
setInternalState?.((prev) => ({
|
|
562
648
|
...(prev ?? {}),
|
|
563
|
-
componentsCreated:
|
|
649
|
+
componentsCreated: createdComponentCount > 0,
|
|
650
|
+
createdComponentCount,
|
|
564
651
|
}));
|
|
652
|
+
if (createdComponentCount === 0) {
|
|
653
|
+
setMessage("No components were created. Review the generated structure or regenerate content.");
|
|
654
|
+
}
|
|
655
|
+
}
|
|
656
|
+
catch (error) {
|
|
657
|
+
console.error("Error creating wizard components", error);
|
|
658
|
+
setMessage("Failed to create generated components. Please review the generated structure and try again.");
|
|
565
659
|
}
|
|
566
660
|
finally {
|
|
567
661
|
setIsCreatingComponents(false);
|
|
@@ -575,10 +669,31 @@ export function ContentStep({ wizard, step, parentItem, pageModel, setPageModel,
|
|
|
575
669
|
editContext?.requestRefresh("immediate");
|
|
576
670
|
}
|
|
577
671
|
}, [isCreatingComponents, isLoading]);
|
|
672
|
+
useEffect(() => {
|
|
673
|
+
const activeFieldActions = editContext?.activeFieldActions?.some((action) => action.state === "running") ??
|
|
674
|
+
false;
|
|
675
|
+
const canFinish = !!pageItem &&
|
|
676
|
+
!isLoading &&
|
|
677
|
+
!isCreatingComponents &&
|
|
678
|
+
!activeFieldActions &&
|
|
679
|
+
plannedComponentCount > 0 &&
|
|
680
|
+
(internalState?.createdComponentCount ?? 0) > 0;
|
|
681
|
+
setStepCompleted(canFinish);
|
|
682
|
+
}, [
|
|
683
|
+
editContext?.activeFieldActions,
|
|
684
|
+
internalState,
|
|
685
|
+
isCreatingComponents,
|
|
686
|
+
isLoading,
|
|
687
|
+
pageItem,
|
|
688
|
+
plannedComponentCount,
|
|
689
|
+
setStepCompleted,
|
|
690
|
+
]);
|
|
578
691
|
const createComponentsThrottled = useThrottledCallback(createComponents, 300);
|
|
579
692
|
useEffect(() => {
|
|
693
|
+
if (!pageLoaded || isLoading)
|
|
694
|
+
return;
|
|
580
695
|
createComponentsThrottled();
|
|
581
|
-
}, [model]);
|
|
696
|
+
}, [model, isLoading, pageLoaded]);
|
|
582
697
|
useEffect(() => {
|
|
583
698
|
if (editContext &&
|
|
584
699
|
editContext.activeFieldActions &&
|
|
@@ -612,21 +727,6 @@ export function ContentStep({ wizard, step, parentItem, pageModel, setPageModel,
|
|
|
612
727
|
setStepCompleted(false);
|
|
613
728
|
// Create page if it doesn't exist yet
|
|
614
729
|
let currentPageItem = pageItem;
|
|
615
|
-
// Wait for pageLoaded to become true before continuing
|
|
616
|
-
const waitForPageLoaded = async () => {
|
|
617
|
-
const maxWaitTime = 10000; // 10 seconds max wait
|
|
618
|
-
const pollInterval = 100; // Check every 100ms
|
|
619
|
-
let elapsed = 0;
|
|
620
|
-
while (elapsed < maxWaitTime) {
|
|
621
|
-
// Check if page is loaded using the ref which gets updated by the useEffect
|
|
622
|
-
if (pageLoadedRef.current) {
|
|
623
|
-
return true;
|
|
624
|
-
}
|
|
625
|
-
await new Promise((resolve) => setTimeout(resolve, pollInterval));
|
|
626
|
-
elapsed += pollInterval;
|
|
627
|
-
}
|
|
628
|
-
return false;
|
|
629
|
-
};
|
|
630
730
|
if (!currentPageItem) {
|
|
631
731
|
const pageCreated = await createPageIfNeeded();
|
|
632
732
|
if (!pageCreated) {
|
|
@@ -634,7 +734,7 @@ export function ContentStep({ wizard, step, parentItem, pageModel, setPageModel,
|
|
|
634
734
|
setIsLoading(false);
|
|
635
735
|
return;
|
|
636
736
|
}
|
|
637
|
-
const isPageLoaded = await waitForPageLoaded();
|
|
737
|
+
const isPageLoaded = await waitForPageLoaded(undefined, 30000);
|
|
638
738
|
if (!isPageLoaded) {
|
|
639
739
|
setMessage("Page creation timed out. Please try again.");
|
|
640
740
|
setIsLoading(false);
|
|
@@ -653,10 +753,11 @@ export function ContentStep({ wizard, step, parentItem, pageModel, setPageModel,
|
|
|
653
753
|
language: language,
|
|
654
754
|
version: 0,
|
|
655
755
|
};
|
|
756
|
+
resetPageLoadedTracking();
|
|
656
757
|
editContextRef.current?.loadItem(itemInLanguage, {
|
|
657
758
|
addToBrowseHistory: false,
|
|
658
759
|
});
|
|
659
|
-
await waitForPageLoaded();
|
|
760
|
+
await waitForPageLoaded(itemInLanguage, 30000);
|
|
660
761
|
const correctedItem = await editContextRef.current?.itemsRepository.getItem(itemInLanguage);
|
|
661
762
|
if (correctedItem) {
|
|
662
763
|
currentPageItem = correctedItem;
|
|
@@ -691,6 +792,7 @@ export function ContentStep({ wizard, step, parentItem, pageModel, setPageModel,
|
|
|
691
792
|
setInternalState?.((prev) => ({
|
|
692
793
|
...(prev ?? {}),
|
|
693
794
|
componentsCreated: false,
|
|
795
|
+
createdComponentCount: 0,
|
|
694
796
|
}));
|
|
695
797
|
updateModel((prev) => ({
|
|
696
798
|
...prev,
|
|
@@ -753,6 +855,10 @@ export function ContentStep({ wizard, step, parentItem, pageModel, setPageModel,
|
|
|
753
855
|
Only use component types that are in the page schema.
|
|
754
856
|
Keep existing components with their ids. Leave id field empty for new components.
|
|
755
857
|
To generate images write generate: <keywords> into the picture / image field value.
|
|
858
|
+
Only place a component at the root level when its schema entry has allowedOnRoot=true.
|
|
859
|
+
When nesting components, only place a child under a parent whose allowedChildrenComponentTypes includes that child type.
|
|
860
|
+
When a schema entry contains validParentPlaceholders, set the component.placeholder value to one of those placeholder names.
|
|
861
|
+
Do not output components in positions that violate the schema. If a component does not fit anywhere valid, leave it out.
|
|
756
862
|
${(existingPageModel && `Existing page model: ${JSON.stringify(existingPageModel)}`) || ""}
|
|
757
863
|
Fill empty fields of existing components before you insert new components. Page fields: ${JSON.stringify(schema.pageFields.map((f) => {
|
|
758
864
|
return {
|
|
@@ -760,6 +866,8 @@ export function ContentStep({ wizard, step, parentItem, pageModel, setPageModel,
|
|
|
760
866
|
type: f.type,
|
|
761
867
|
};
|
|
762
868
|
}))}
|
|
869
|
+
Default theme: ${wizard.defaultTheme ? JSON.stringify(wizard.defaultTheme) : "none"}
|
|
870
|
+
If you set the "Theme" page field, use the default theme ID as value unless the user explicitly asks for a different theme.
|
|
763
871
|
Available component types: ${JSON.stringify(filteredSchema)} Root level component types ${filteredSchema
|
|
764
872
|
.filter((c) => c.allowedOnRoot)
|
|
765
873
|
.map((c) => c.type)
|
|
@@ -783,7 +891,10 @@ export function ContentStep({ wizard, step, parentItem, pageModel, setPageModel,
|
|
|
783
891
|
endpoint: "/parhelia/page-wizard/prompt",
|
|
784
892
|
}, { signal: localAbortController.signal }, (response) => {
|
|
785
893
|
try {
|
|
786
|
-
|
|
894
|
+
updateModel((prev) => {
|
|
895
|
+
const mergedModel = withDefaultThemeIfMissing(mergeLayout(prev, response), schema.pageFields ?? [], wizard.defaultTheme);
|
|
896
|
+
return mergedModel;
|
|
897
|
+
});
|
|
787
898
|
setMessage(response.message);
|
|
788
899
|
}
|
|
789
900
|
catch (parseError) { }
|
|
@@ -817,11 +928,12 @@ export function ContentStep({ wizard, step, parentItem, pageModel, setPageModel,
|
|
|
817
928
|
language: language,
|
|
818
929
|
version: 0,
|
|
819
930
|
};
|
|
931
|
+
resetPageLoadedTracking();
|
|
820
932
|
editContextRef.current?.loadItem(languageVersionItem, {
|
|
821
933
|
addToBrowseHistory: false,
|
|
822
934
|
});
|
|
823
935
|
// Wait for the page to load in the new language
|
|
824
|
-
const isPageLoaded = await waitForPageLoaded();
|
|
936
|
+
const isPageLoaded = await waitForPageLoaded(languageVersionItem, 30000);
|
|
825
937
|
if (!isPageLoaded) {
|
|
826
938
|
setMessage("Failed to load page in selected language.");
|
|
827
939
|
setIsLoading(false);
|
|
@@ -843,8 +955,7 @@ export function ContentStep({ wizard, step, parentItem, pageModel, setPageModel,
|
|
|
843
955
|
}
|
|
844
956
|
}
|
|
845
957
|
}
|
|
846
|
-
|
|
847
|
-
setStepCompleted(true);
|
|
958
|
+
updateModel((prev) => withDefaultThemeIfMissing(mergeLayout(prev, result), schema.pageFields ?? [], wizard.defaultTheme));
|
|
848
959
|
}
|
|
849
960
|
catch (error) {
|
|
850
961
|
console.error(error);
|
|
@@ -868,7 +979,7 @@ export function ContentStep({ wizard, step, parentItem, pageModel, setPageModel,
|
|
|
868
979
|
? "border-red-500"
|
|
869
980
|
: nameValidation.isValid && model.name
|
|
870
981
|
? "border-green-500"
|
|
871
|
-
: ""}`, value:
|
|
982
|
+
: ""}`, value: model.name, onChange: (e) => handleInputChange("name", e.target.value), placeholder: "Enter page name" }), !pageItem && (_jsx(Button, { size: "sm", onClick: () => generatePageName(), disabled: isGenerating, title: "Recreate name", children: _jsx(RotateCcw, { className: "h-4 w-4", strokeWidth: 1 }) }))] }), nameValidation.message && !nameValidation.isValid && (_jsx("div", { className: "mt-1 text-xs text-red-600", children: nameValidation.message })), nameValidation.isValid && model.name && (_jsx("div", { className: "mt-1 text-xs text-green-600", children: "\u2713 Page name is available" }))] }), _jsxs("div", { className: "mb-4", children: [_jsx("div", { className: "mb-1 text-xs font-medium", children: "Target Folder" }), isSelectingFolder ? (_jsxs("div", { className: "mb-4 flex items-center gap-2 text-xs text-gray-600", children: [_jsx(Generate, { title: "Selecting folder...", size: "medium" }), "Selecting folder..."] })) : (_jsxs("div", { className: "mb-4", children: [_jsx("div", { className: "relative", children: _jsxs(Popover, { open: showFolderTree, onOpenChange: setShowFolderTree, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs("div", { className: cn("focus-shadow bg-gray-5 flex cursor-pointer justify-between border p-1.5 text-xs hover:bg-gray-100"), children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Folder, { className: "h-4 w-4", strokeWidth: 1 }), _jsx("span", { className: "break-all", children: folderSelectionResult?.path ||
|
|
872
983
|
fullParentItem?.path ||
|
|
873
984
|
"Loading..." })] }), _jsx(ChevronDown, { strokeWidth: 1, className: `h-4 w-4 transition-transform duration-200 ${showFolderTree ? "rotate-180" : "rotate-0"}` })] }) }), _jsxs(PopoverContent, { className: "w-96 p-0", align: "start", side: "bottom", children: [_jsx("div", { className: "border-b border-gray-200 bg-white p-2", children: _jsx(ItemSearch, { rootItemIds: [
|
|
874
985
|
normalizeGuid(parentItem?.id ||
|
|
@@ -900,8 +1011,8 @@ export function ContentStep({ wizard, step, parentItem, pageModel, setPageModel,
|
|
|
900
1011
|
!data.selectedComponentTypes ||
|
|
901
1012
|
data.selectedComponentTypes.length === 0 ||
|
|
902
1013
|
(!pageItem &&
|
|
903
|
-
(!
|
|
904
|
-
|
|
1014
|
+
(!model.name ||
|
|
1015
|
+
model.name.trim().length < 3 ||
|
|
905
1016
|
!nameValidation.isValid)), isLoading: isLoading ||
|
|
906
1017
|
isCreatingComponents ||
|
|
907
1018
|
isSelectingFolder ||
|