@webiny/app-website-builder 6.4.11 → 6.4.12-beta.0
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/BaseEditor/defaultConfig/Content/Preview/DropZoneManager.js.map +1 -1
- package/BaseEditor/defaultConfig/Content/Preview/Iframe.d.ts +2 -2
- package/BaseEditor/defaultConfig/Content/Preview/Overlays/ElementOverlays.d.ts +2 -2
- package/BaseEditor/defaultConfig/DocumentStateEditor/DocumentStateEditor.d.ts +2 -2
- package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Background/BackgroundColor.d.ts +6 -2
- package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Background/BackgroundImage.d.ts +6 -2
- package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Background/BackgroundPosition.d.ts +6 -2
- package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Background/BackgroundScaling.d.ts +6 -2
- package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Border/BorderColor.d.ts +2 -2
- package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Border/BorderRadius.d.ts +2 -2
- package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Border/BorderStyle.d.ts +2 -2
- package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Border/BorderWidth.d.ts +2 -2
- package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Layout/Alignment.d.ts +6 -2
- package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Layout/LengthWithUnitInput.d.ts +2 -2
- package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/MarginPadding/Margin.d.ts +2 -2
- package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/MarginPadding/Padding.d.ts +2 -2
- package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Visibility/Visibility.d.ts +2 -2
- package/BaseEditor/defaultConfig/Toolbar/Navigator/Navigator.d.ts +2 -2
- package/DocumentEditor/DocumentEditor.d.ts +2 -2
- package/DocumentEditor/StateInspector.d.ts +4 -2
- package/ecommerce/components/ResourcePage.d.ts +6 -2
- package/ecommerce/components/ResourcesList.d.ts +4 -4
- package/ecommerce/components/ResourcesPicker.d.ts +9 -4
- package/editorSdk/CommandBus.js.map +1 -1
- package/modules/pages/PageEditor/TopBar/PageSettingsDrawer.d.ts +2 -2
- package/modules/pages/PagesList/components/BulkActions/BulkActionDelete.d.ts +2 -2
- package/modules/pages/PagesList/components/BulkActions/BulkActionDuplicate.d.ts +2 -2
- package/modules/pages/PagesList/components/BulkActions/BulkActionMovePage.d.ts +2 -2
- package/modules/pages/PagesList/components/BulkActions/BulkActionPublish.d.ts +2 -2
- package/modules/pages/PagesList/components/BulkActions/BulkActionUnpublish.d.ts +2 -2
- package/modules/redirects/RedirectsList/components/BulkActions/BulkActionDelete.d.ts +2 -2
- package/modules/redirects/RedirectsList/components/BulkActions/BulkActionMove.d.ts +2 -2
- package/modules/redirects/RedirectsList/presenters/DocumentListPresenter.js +1 -1
- package/modules/redirects/RedirectsList/presenters/DocumentListPresenter.js.map +1 -1
- package/package.json +30 -30
- package/presentation/navigation/NextjsConfig/NextjsConfigDialog.d.ts +2 -2
- package/presentation/pages/CreatePage/CreatePageDialog.d.ts +2 -2
- package/presentation/pages/PageList/DocumentListPresenter.js +1 -1
- package/presentation/pages/PageList/DocumentListPresenter.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseEditor/defaultConfig/Content/Preview/DropZoneManager.js","sources":["../../../../../src/BaseEditor/defaultConfig/Content/Preview/DropZoneManager.ts"],"sourcesContent":["import type { Box } from \"./Box.js\";\n\ntype DropPosition = number | null;\ntype MatchChangeCallback = (hasMatch: boolean) => void;\n\nexport interface DropZoneProximity {\n box: Box;\n position: DropPosition;\n}\n\ninterface DropzoneEntry {\n id: string;\n box: Box;\n canAccept?: () => boolean;\n onProximityChange: (proximity: DropZoneProximity | null) => void;\n}\n\nexport class DropZoneManager {\n private zones = new Map<string, DropzoneEntry>();\n private currentTargetId: string | null = null;\n private currentPosition: DropPosition = null;\n private animationFrame: number | null = null;\n private currentBox: Box | null = null;\n private matchCallbacks = new Set<MatchChangeCallback>();\n\n constructor(private mouse: { x: number; y: number }) {}\n\n register(entry: DropzoneEntry) {\n if (entry.id === \"root\") {\n return;\n }\n\n this.zones.set(entry.id, entry);\n }\n\n unregister(id: string) {\n this.zones.delete(id);\n }\n\n subscribeToMatchChange(cb: MatchChangeCallback): () => void {\n this.matchCallbacks.add(cb);\n return () => this.matchCallbacks.delete(cb);\n }\n\n start() {\n const runDropzoneLoop = () => {\n this.tick();\n this.animationFrame = requestAnimationFrame(runDropzoneLoop);\n };\n this.animationFrame = requestAnimationFrame(runDropzoneLoop);\n }\n\n stop() {\n if (this.animationFrame) {\n cancelAnimationFrame(this.animationFrame);\n }\n }\n\n getLastMatchedPosition() {\n if (!this.currentBox) {\n return null;\n }\n\n return {\n parentId: this.currentBox.parentId,\n slot: this.currentBox.parentSlot,\n index: this.currentBox.parentIndex + (this.currentPosition ?? 0)\n };\n }\n\n tick() {\n const scrollYOffset = this.getScrollOffset();\n const threshold = 10;\n const mouseX = this.mouse.x;\n const mouseY = this.mouse.y + scrollYOffset;\n\n let matchedId: string | null = null;\n let matchedPosition: DropPosition = null;\n let matchedBox: Box | null = null;\n\n // Collect all candidate matches with their canAccept callback.\n const candidates: { id: string; box: Box; position: number; canAccept?: () => boolean }[] =\n [];\n\n for (const [id, { box, canAccept }] of this.zones) {\n const isWithinX = mouseX >= box.left && mouseX <= box.right;\n\n if (!isWithinX) {\n continue;\n }\n\n if (Math.abs(mouseY - box.top) <= threshold) {\n candidates.push({ id, box, position: 0, canAccept });\n }\n\n if (Math.abs(mouseY - box.bottom) <= threshold) {\n candidates.push({ id, box, position: 1, canAccept });\n }\n }\n\n if (candidates.length > 0) {\n // Filter to only eligible candidates.\n const eligible = candidates.filter(c => !c.canAccept || c.canAccept());\n\n if (eligible.length > 0) {\n const uniqueDepths = [...new Set(eligible.map(c => c.box.depth))].sort(\n (a, b) => b - a\n );\n\n if (uniqueDepths.length === 1) {\n const winner = eligible[0];\n matchedId = winner.id;\n matchedPosition = winner.position;\n matchedBox = winner.box;\n } else {\n // Use X position to select depth band among eligible candidates only.\n let rangeLeft = Infinity;\n let rangeRight = -Infinity;\n for (const c of eligible) {\n rangeLeft = Math.min(rangeLeft, c.box.left);\n rangeRight = Math.max(rangeRight, c.box.right);\n }\n\n const centerX = (rangeLeft + rangeRight) / 2;\n const halfWidth = (rangeRight - rangeLeft) / 2;\n\n // 0 at center, 1 at edges.\n const distFromCenter =\n halfWidth > 0 ? Math.abs(mouseX - centerX) / halfWidth : 0;\n\n // Map distance to depth index: center → 0 (deepest), edges → last (shallowest).\n const depthIndex = Math.min(\n Math.floor(distFromCenter * uniqueDepths.length),\n uniqueDepths.length - 1\n );\n\n const winner = eligible.find(c => c.box.depth === uniqueDepths[depthIndex]);\n if (winner) {\n matchedId = winner.id;\n matchedPosition = winner.position;\n matchedBox = winner.box;\n }\n }\n }\n }\n\n if (matchedId !== this.currentTargetId || matchedPosition !== this.currentPosition) {\n this.currentTargetId = matchedId;\n this.currentPosition = matchedPosition;\n this.currentBox = matchedBox;\n\n this.matchCallbacks.forEach(cb => cb(matchedId !== null));\n\n for (const [id, entry] of this.zones) {\n const isTarget = id === matchedId;\n entry.onProximityChange(\n isTarget ? { box: matchedBox!, position: matchedPosition } : null\n );\n }\n }\n }\n\n private getScrollOffset() {\n const container = document.getElementById(\"preview-container\");\n if (!container) {\n return 0;\n }\n\n return container.scrollTop;\n }\n}\n"],"names":["DropZoneManager","mouse","Map","Set","entry","id","cb","runDropzoneLoop","requestAnimationFrame","cancelAnimationFrame","scrollYOffset","threshold","mouseX","mouseY","matchedId","matchedPosition","matchedBox","candidates","box","canAccept","isWithinX","Math","eligible","c","uniqueDepths","a","b","winner","rangeLeft","Infinity","rangeRight","centerX","halfWidth","distFromCenter","depthIndex","isTarget","container","document"],"mappings":"AAiBO,MAAMA;IAQT,YAAoBC,KAA+B,CAAE;aAAjCA,KAAK,GAALA;aAPZ,KAAK,GAAG,IAAIC;aACZ,eAAe,GAAkB;aACjC,eAAe,GAAiB;aAChC,cAAc,GAAkB;aAChC,UAAU,GAAe;aACzB,cAAc,GAAG,IAAIC;IAEyB;IAEtD,SAASC,KAAoB,EAAE;QAC3B,IAAIA,AAAa,WAAbA,MAAM,EAAE,EACR;QAGJ,IAAI,CAAC,KAAK,CAAC,GAAG,CAACA,MAAM,EAAE,EAAEA;IAC7B;IAEA,WAAWC,EAAU,EAAE;QACnB,IAAI,CAAC,KAAK,CAAC,MAAM,CAACA;IACtB;IAEA,uBAAuBC,EAAuB,EAAc;QACxD,IAAI,CAAC,cAAc,CAAC,GAAG,CAACA;QACxB,OAAO,IAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAACA;IAC5C;IAEA,QAAQ;QACJ,MAAMC,kBAAkB;YACpB,IAAI,CAAC,IAAI;YACT,IAAI,CAAC,cAAc,GAAGC,sBAAsBD;QAChD;QACA,IAAI,CAAC,cAAc,GAAGC,sBAAsBD;IAChD;IAEA,OAAO;QACH,IAAI,IAAI,CAAC,cAAc,EACnBE,qBAAqB,IAAI,CAAC,cAAc;IAEhD;IAEA,yBAAyB;QACrB,IAAI,CAAC,IAAI,CAAC,UAAU,EAChB,OAAO;QAGX,OAAO;YACH,UAAU,IAAI,CAAC,UAAU,CAAC,QAAQ;YAClC,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU;YAChC,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,GAAI,KAAI,CAAC,eAAe,IAAI;QAClE;IACJ;IAEA,OAAO;QACH,MAAMC,gBAAgB,IAAI,CAAC,eAAe;QAC1C,MAAMC,YAAY;QAClB,MAAMC,SAAS,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAMC,SAAS,IAAI,CAAC,KAAK,CAAC,CAAC,GAAGH;QAE9B,IAAII,YAA2B;QAC/B,IAAIC,kBAAgC;QACpC,IAAIC,aAAyB;QAG7B,MAAMC,aACF,EAAE;QAEN,KAAK,MAAM,CAACZ,IAAI,EAAEa,GAAG,EAAEC,SAAS,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,CAAE;YAC/C,MAAMC,YAAYR,UAAUM,IAAI,IAAI,IAAIN,UAAUM,IAAI,KAAK;YAE3D,IAAKE;gBAIL,IAAIC,KAAK,GAAG,CAACR,SAASK,IAAI,GAAG,KAAKP,WAC9BM,WAAW,IAAI,CAAC;oBAAEZ;oBAAIa;oBAAK,UAAU;oBAAGC;gBAAU;gBAGtD,IAAIE,KAAK,GAAG,CAACR,SAASK,IAAI,MAAM,KAAKP,WACjCM,WAAW,IAAI,CAAC;oBAAEZ;oBAAIa;oBAAK,UAAU;oBAAGC;gBAAU;;QAE1D;QAEA,IAAIF,WAAW,MAAM,GAAG,GAAG;YAEvB,MAAMK,WAAWL,WAAW,MAAM,CAACM,CAAAA,IAAK,CAACA,EAAE,SAAS,IAAIA,EAAE,SAAS;YAEnE,IAAID,SAAS,MAAM,GAAG,GAAG;gBACrB,MAAME,eAAe;uBAAI,IAAIrB,IAAImB,SAAS,GAAG,CAACC,CAAAA,IAAKA,EAAE,GAAG,CAAC,KAAK;iBAAG,CAAC,IAAI,CAClE,CAACE,GAAGC,IAAMA,IAAID;gBAGlB,IAAID,AAAwB,MAAxBA,aAAa,MAAM,EAAQ;oBAC3B,MAAMG,SAASL,QAAQ,CAAC,EAAE;oBAC1BR,YAAYa,OAAO,EAAE;oBACrBZ,kBAAkBY,OAAO,QAAQ;oBACjCX,aAAaW,OAAO,GAAG;gBAC3B,OAAO;oBAEH,IAAIC,YAAYC;
|
|
1
|
+
{"version":3,"file":"BaseEditor/defaultConfig/Content/Preview/DropZoneManager.js","sources":["../../../../../src/BaseEditor/defaultConfig/Content/Preview/DropZoneManager.ts"],"sourcesContent":["import type { Box } from \"./Box.js\";\n\ntype DropPosition = number | null;\ntype MatchChangeCallback = (hasMatch: boolean) => void;\n\nexport interface DropZoneProximity {\n box: Box;\n position: DropPosition;\n}\n\ninterface DropzoneEntry {\n id: string;\n box: Box;\n canAccept?: () => boolean;\n onProximityChange: (proximity: DropZoneProximity | null) => void;\n}\n\nexport class DropZoneManager {\n private zones = new Map<string, DropzoneEntry>();\n private currentTargetId: string | null = null;\n private currentPosition: DropPosition = null;\n private animationFrame: number | null = null;\n private currentBox: Box | null = null;\n private matchCallbacks = new Set<MatchChangeCallback>();\n\n constructor(private mouse: { x: number; y: number }) {}\n\n register(entry: DropzoneEntry) {\n if (entry.id === \"root\") {\n return;\n }\n\n this.zones.set(entry.id, entry);\n }\n\n unregister(id: string) {\n this.zones.delete(id);\n }\n\n subscribeToMatchChange(cb: MatchChangeCallback): () => void {\n this.matchCallbacks.add(cb);\n return () => this.matchCallbacks.delete(cb);\n }\n\n start() {\n const runDropzoneLoop = () => {\n this.tick();\n this.animationFrame = requestAnimationFrame(runDropzoneLoop);\n };\n this.animationFrame = requestAnimationFrame(runDropzoneLoop);\n }\n\n stop() {\n if (this.animationFrame) {\n cancelAnimationFrame(this.animationFrame);\n }\n }\n\n getLastMatchedPosition() {\n if (!this.currentBox) {\n return null;\n }\n\n return {\n parentId: this.currentBox.parentId,\n slot: this.currentBox.parentSlot,\n index: this.currentBox.parentIndex + (this.currentPosition ?? 0)\n };\n }\n\n tick() {\n const scrollYOffset = this.getScrollOffset();\n const threshold = 10;\n const mouseX = this.mouse.x;\n const mouseY = this.mouse.y + scrollYOffset;\n\n let matchedId: string | null = null;\n let matchedPosition: DropPosition = null;\n let matchedBox: Box | null = null;\n\n // Collect all candidate matches with their canAccept callback.\n const candidates: { id: string; box: Box; position: number; canAccept?: () => boolean }[] =\n [];\n\n for (const [id, { box, canAccept }] of this.zones) {\n const isWithinX = mouseX >= box.left && mouseX <= box.right;\n\n if (!isWithinX) {\n continue;\n }\n\n if (Math.abs(mouseY - box.top) <= threshold) {\n candidates.push({ id, box, position: 0, canAccept });\n }\n\n if (Math.abs(mouseY - box.bottom) <= threshold) {\n candidates.push({ id, box, position: 1, canAccept });\n }\n }\n\n if (candidates.length > 0) {\n // Filter to only eligible candidates.\n const eligible = candidates.filter(c => !c.canAccept || c.canAccept());\n\n if (eligible.length > 0) {\n const uniqueDepths = [...new Set(eligible.map(c => c.box.depth))].sort(\n (a, b) => b - a\n );\n\n if (uniqueDepths.length === 1) {\n const winner = eligible[0];\n matchedId = winner.id;\n matchedPosition = winner.position;\n matchedBox = winner.box;\n } else {\n // Use X position to select depth band among eligible candidates only.\n let rangeLeft = Infinity;\n let rangeRight = -Infinity;\n for (const c of eligible) {\n rangeLeft = Math.min(rangeLeft, c.box.left);\n rangeRight = Math.max(rangeRight, c.box.right);\n }\n\n const centerX = (rangeLeft + rangeRight) / 2;\n const halfWidth = (rangeRight - rangeLeft) / 2;\n\n // 0 at center, 1 at edges.\n const distFromCenter =\n halfWidth > 0 ? Math.abs(mouseX - centerX) / halfWidth : 0;\n\n // Map distance to depth index: center → 0 (deepest), edges → last (shallowest).\n const depthIndex = Math.min(\n Math.floor(distFromCenter * uniqueDepths.length),\n uniqueDepths.length - 1\n );\n\n const winner = eligible.find(c => c.box.depth === uniqueDepths[depthIndex]);\n if (winner) {\n matchedId = winner.id;\n matchedPosition = winner.position;\n matchedBox = winner.box;\n }\n }\n }\n }\n\n if (matchedId !== this.currentTargetId || matchedPosition !== this.currentPosition) {\n this.currentTargetId = matchedId;\n this.currentPosition = matchedPosition;\n this.currentBox = matchedBox;\n\n this.matchCallbacks.forEach(cb => cb(matchedId !== null));\n\n for (const [id, entry] of this.zones) {\n const isTarget = id === matchedId;\n entry.onProximityChange(\n isTarget ? { box: matchedBox!, position: matchedPosition } : null\n );\n }\n }\n }\n\n private getScrollOffset() {\n const container = document.getElementById(\"preview-container\");\n if (!container) {\n return 0;\n }\n\n return container.scrollTop;\n }\n}\n"],"names":["DropZoneManager","mouse","Map","Set","entry","id","cb","runDropzoneLoop","requestAnimationFrame","cancelAnimationFrame","scrollYOffset","threshold","mouseX","mouseY","matchedId","matchedPosition","matchedBox","candidates","box","canAccept","isWithinX","Math","eligible","c","uniqueDepths","a","b","winner","rangeLeft","Infinity","rangeRight","centerX","halfWidth","distFromCenter","depthIndex","isTarget","container","document"],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ interface IframeProps {
|
|
|
8
8
|
viewportManager: ViewportManager;
|
|
9
9
|
onConnected: (messenger: Messenger) => void;
|
|
10
10
|
}
|
|
11
|
-
export declare const Iframe: (({ url, timestamp, ...props }: IframeProps) => React.JSX.Element) & {
|
|
12
|
-
|
|
11
|
+
export declare const Iframe: (({ url, timestamp, ...props }: IframeProps) => React.JSX.Element) & React.NamedExoticComponent<IframeProps> & {
|
|
12
|
+
readonly type: ({ url, timestamp, ...props }: IframeProps) => React.JSX.Element;
|
|
13
13
|
};
|
|
14
14
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
export declare const ElementOverlays: (() => React.JSX.Element) & {
|
|
3
|
-
|
|
2
|
+
export declare const ElementOverlays: (() => React.JSX.Element) & React.NamedExoticComponent<unknown> & {
|
|
3
|
+
readonly type: () => React.JSX.Element;
|
|
4
4
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
export declare const DocumentStateEditor: (() => React.JSX.Element) & {
|
|
3
|
-
|
|
2
|
+
export declare const DocumentStateEditor: (() => React.JSX.Element) & React.NamedExoticComponent<unknown> & {
|
|
3
|
+
readonly type: () => React.JSX.Element;
|
|
4
4
|
};
|
package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Background/BackgroundColor.d.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
export declare const BackgroundColor: (({ elementId }: {
|
|
3
3
|
elementId: string;
|
|
4
|
-
}) => React.JSX.Element) & {
|
|
5
|
-
|
|
4
|
+
}) => React.JSX.Element) & React.NamedExoticComponent<{
|
|
5
|
+
elementId: string;
|
|
6
|
+
}> & {
|
|
7
|
+
readonly type: ({ elementId }: {
|
|
8
|
+
elementId: string;
|
|
9
|
+
}) => React.JSX.Element;
|
|
6
10
|
};
|
package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Background/BackgroundImage.d.ts
CHANGED
|
@@ -2,6 +2,10 @@ import React from "react";
|
|
|
2
2
|
export declare const parseValue: (value: string) => undefined;
|
|
3
3
|
export declare const BackgroundImage: (({ elementId }: {
|
|
4
4
|
elementId: string;
|
|
5
|
-
}) => React.JSX.Element) & {
|
|
6
|
-
|
|
5
|
+
}) => React.JSX.Element) & React.NamedExoticComponent<{
|
|
6
|
+
elementId: string;
|
|
7
|
+
}> & {
|
|
8
|
+
readonly type: ({ elementId }: {
|
|
9
|
+
elementId: string;
|
|
10
|
+
}) => React.JSX.Element;
|
|
7
11
|
};
|
package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Background/BackgroundPosition.d.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
export declare const BackgroundPosition: (({ elementId }: {
|
|
3
3
|
elementId: string;
|
|
4
|
-
}) => React.JSX.Element) & {
|
|
5
|
-
|
|
4
|
+
}) => React.JSX.Element) & React.NamedExoticComponent<{
|
|
5
|
+
elementId: string;
|
|
6
|
+
}> & {
|
|
7
|
+
readonly type: ({ elementId }: {
|
|
8
|
+
elementId: string;
|
|
9
|
+
}) => React.JSX.Element;
|
|
6
10
|
};
|
package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Background/BackgroundScaling.d.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
export declare const BackgroundScaling: (({ elementId }: {
|
|
3
3
|
elementId: string;
|
|
4
|
-
}) => React.JSX.Element) & {
|
|
5
|
-
|
|
4
|
+
}) => React.JSX.Element) & React.NamedExoticComponent<{
|
|
5
|
+
elementId: string;
|
|
6
|
+
}> & {
|
|
7
|
+
readonly type: ({ elementId }: {
|
|
8
|
+
elementId: string;
|
|
9
|
+
}) => React.JSX.Element;
|
|
6
10
|
};
|
|
@@ -2,7 +2,7 @@ import React from "react";
|
|
|
2
2
|
interface BorderColorProps {
|
|
3
3
|
elementId: string;
|
|
4
4
|
}
|
|
5
|
-
export declare const BorderColor: (({ elementId }: BorderColorProps) => React.JSX.Element) & {
|
|
6
|
-
|
|
5
|
+
export declare const BorderColor: (({ elementId }: BorderColorProps) => React.JSX.Element) & React.NamedExoticComponent<BorderColorProps> & {
|
|
6
|
+
readonly type: ({ elementId }: BorderColorProps) => React.JSX.Element;
|
|
7
7
|
};
|
|
8
8
|
export {};
|
|
@@ -2,7 +2,7 @@ import React from "react";
|
|
|
2
2
|
interface BorderRadiusProps {
|
|
3
3
|
elementId: string;
|
|
4
4
|
}
|
|
5
|
-
export declare const BorderRadius: (({ elementId }: BorderRadiusProps) => React.JSX.Element) & {
|
|
6
|
-
|
|
5
|
+
export declare const BorderRadius: (({ elementId }: BorderRadiusProps) => React.JSX.Element) & React.NamedExoticComponent<BorderRadiusProps> & {
|
|
6
|
+
readonly type: ({ elementId }: BorderRadiusProps) => React.JSX.Element;
|
|
7
7
|
};
|
|
8
8
|
export {};
|
|
@@ -2,7 +2,7 @@ import React from "react";
|
|
|
2
2
|
interface BorderStyleProps {
|
|
3
3
|
elementId: string;
|
|
4
4
|
}
|
|
5
|
-
export declare const BorderStyle: (({ elementId }: BorderStyleProps) => React.JSX.Element) & {
|
|
6
|
-
|
|
5
|
+
export declare const BorderStyle: (({ elementId }: BorderStyleProps) => React.JSX.Element) & React.NamedExoticComponent<BorderStyleProps> & {
|
|
6
|
+
readonly type: ({ elementId }: BorderStyleProps) => React.JSX.Element;
|
|
7
7
|
};
|
|
8
8
|
export {};
|
|
@@ -2,7 +2,7 @@ import React from "react";
|
|
|
2
2
|
interface BorderWidthProps {
|
|
3
3
|
elementId: string;
|
|
4
4
|
}
|
|
5
|
-
export declare const BorderWidth: (({ elementId }: BorderWidthProps) => React.JSX.Element) & {
|
|
6
|
-
|
|
5
|
+
export declare const BorderWidth: (({ elementId }: BorderWidthProps) => React.JSX.Element) & React.NamedExoticComponent<BorderWidthProps> & {
|
|
6
|
+
readonly type: ({ elementId }: BorderWidthProps) => React.JSX.Element;
|
|
7
7
|
};
|
|
8
8
|
export {};
|
|
@@ -13,6 +13,10 @@ import React from "react";
|
|
|
13
13
|
*/
|
|
14
14
|
export declare const Alignment: (({ elementId }: {
|
|
15
15
|
elementId: string;
|
|
16
|
-
}) => React.JSX.Element) & {
|
|
17
|
-
|
|
16
|
+
}) => React.JSX.Element) & React.NamedExoticComponent<{
|
|
17
|
+
elementId: string;
|
|
18
|
+
}> & {
|
|
19
|
+
readonly type: ({ elementId }: {
|
|
20
|
+
elementId: string;
|
|
21
|
+
}) => React.JSX.Element;
|
|
18
22
|
};
|
package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Layout/LengthWithUnitInput.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ interface LengthWithUnitInputProps {
|
|
|
7
7
|
unitOptions: UnitOption[];
|
|
8
8
|
defaultValue?: string;
|
|
9
9
|
}
|
|
10
|
-
export declare const LengthWithUnitInput: (({ elementId, label, propertyName, defaultValue, unitOptions }: LengthWithUnitInputProps) => React.JSX.Element) & {
|
|
11
|
-
|
|
10
|
+
export declare const LengthWithUnitInput: (({ elementId, label, propertyName, defaultValue, unitOptions }: LengthWithUnitInputProps) => React.JSX.Element) & React.NamedExoticComponent<LengthWithUnitInputProps> & {
|
|
11
|
+
readonly type: ({ elementId, label, propertyName, defaultValue, unitOptions }: LengthWithUnitInputProps) => React.JSX.Element;
|
|
12
12
|
};
|
|
13
13
|
export {};
|
|
@@ -3,7 +3,7 @@ interface MarginProps {
|
|
|
3
3
|
elementId: string;
|
|
4
4
|
children: React.ReactNode;
|
|
5
5
|
}
|
|
6
|
-
export declare const Margin: (({ elementId, children }: MarginProps) => React.JSX.Element) & {
|
|
7
|
-
|
|
6
|
+
export declare const Margin: (({ elementId, children }: MarginProps) => React.JSX.Element) & React.NamedExoticComponent<MarginProps> & {
|
|
7
|
+
readonly type: ({ elementId, children }: MarginProps) => React.JSX.Element;
|
|
8
8
|
};
|
|
9
9
|
export {};
|
|
@@ -2,7 +2,7 @@ import React from "react";
|
|
|
2
2
|
interface PaddingProps {
|
|
3
3
|
elementId: string;
|
|
4
4
|
}
|
|
5
|
-
export declare const Padding: (({ elementId }: PaddingProps) => React.JSX.Element) & {
|
|
6
|
-
|
|
5
|
+
export declare const Padding: (({ elementId }: PaddingProps) => React.JSX.Element) & React.NamedExoticComponent<PaddingProps> & {
|
|
6
|
+
readonly type: ({ elementId }: PaddingProps) => React.JSX.Element;
|
|
7
7
|
};
|
|
8
8
|
export {};
|
|
@@ -2,6 +2,6 @@ import React from "react";
|
|
|
2
2
|
export interface VisibilityProps {
|
|
3
3
|
elementId: string;
|
|
4
4
|
}
|
|
5
|
-
export declare const Visibility: (({ elementId }: VisibilityProps) => React.JSX.Element) & {
|
|
6
|
-
|
|
5
|
+
export declare const Visibility: (({ elementId }: VisibilityProps) => React.JSX.Element) & React.NamedExoticComponent<VisibilityProps> & {
|
|
6
|
+
readonly type: ({ elementId }: VisibilityProps) => React.JSX.Element;
|
|
7
7
|
};
|
|
@@ -10,7 +10,7 @@ interface DocumentEditorProps<TDocument> {
|
|
|
10
10
|
readOnly: boolean;
|
|
11
11
|
}
|
|
12
12
|
declare function BaseDocumentEditor<TDocument extends EditorDocument>({ document, name, children, readOnly }: DocumentEditorProps<TDocument>): React.JSX.Element;
|
|
13
|
-
export declare const DocumentEditor: typeof BaseDocumentEditor & {
|
|
14
|
-
|
|
13
|
+
export declare const DocumentEditor: typeof BaseDocumentEditor & React.NamedExoticComponent<DocumentEditorProps<import("@webiny/website-builder-sdk").Document>> & {
|
|
14
|
+
readonly type: typeof BaseDocumentEditor;
|
|
15
15
|
};
|
|
16
16
|
export {};
|
|
@@ -4,7 +4,9 @@ import type { Editor } from "../editorSdk/Editor.js";
|
|
|
4
4
|
declare function BaseStateInspector<TDocument extends EditorDocument>({ editor }: {
|
|
5
5
|
editor: Editor<TDocument>;
|
|
6
6
|
}): React.JSX.Element;
|
|
7
|
-
export declare const StateInspector: typeof BaseStateInspector & {
|
|
8
|
-
|
|
7
|
+
export declare const StateInspector: typeof BaseStateInspector & React.NamedExoticComponent<{
|
|
8
|
+
editor: Editor<import("@webiny/website-builder-sdk").Document>;
|
|
9
|
+
}> & {
|
|
10
|
+
readonly type: typeof BaseStateInspector;
|
|
9
11
|
};
|
|
10
12
|
export {};
|
|
@@ -20,8 +20,12 @@ interface ResourcePickerRendererConfig {
|
|
|
20
20
|
}
|
|
21
21
|
export declare function createResourcePickerRenderer(config: ResourcePickerRendererConfig): (({ field }: {
|
|
22
22
|
field: IFieldVM;
|
|
23
|
-
}) => React.JSX.Element) & {
|
|
24
|
-
|
|
23
|
+
}) => React.JSX.Element) & React.NamedExoticComponent<{
|
|
24
|
+
field: IFieldVM;
|
|
25
|
+
}> & {
|
|
26
|
+
readonly type: ({ field }: {
|
|
27
|
+
field: IFieldVM;
|
|
28
|
+
}) => React.JSX.Element;
|
|
25
29
|
};
|
|
26
30
|
export interface EcommerceResourcePageTypeConfig {
|
|
27
31
|
name: string;
|
|
@@ -9,9 +9,9 @@ export type PickResourceListProps = {
|
|
|
9
9
|
resourceName: string;
|
|
10
10
|
pluginName: string;
|
|
11
11
|
};
|
|
12
|
-
export declare const PickResourceList: ((props: PickResourceListProps) => React.JSX.Element) & {
|
|
13
|
-
|
|
12
|
+
export declare const PickResourceList: ((props: PickResourceListProps) => React.JSX.Element) & React.NamedExoticComponent<PickResourceListProps> & {
|
|
13
|
+
readonly type: (props: PickResourceListProps) => React.JSX.Element;
|
|
14
14
|
};
|
|
15
|
-
export declare const PickResourcesListButton: ((props: Omit<PickResourceListProps, "onDone">) => React.JSX.Element) & {
|
|
16
|
-
|
|
15
|
+
export declare const PickResourcesListButton: ((props: Omit<PickResourceListProps, "onDone">) => React.JSX.Element) & React.NamedExoticComponent<Omit<PickResourceListProps, "onDone">> & {
|
|
16
|
+
readonly type: (props: Omit<PickResourceListProps, "onDone">) => React.JSX.Element;
|
|
17
17
|
};
|
|
@@ -24,8 +24,8 @@ export interface ResourcePreviewCellProps {
|
|
|
24
24
|
onClick?: () => void;
|
|
25
25
|
style?: Partial<CSSStyleDeclaration>;
|
|
26
26
|
}
|
|
27
|
-
export declare const ResourcePreviewCell: ((props: ResourcePreviewCellProps) => React.JSX.Element) & {
|
|
28
|
-
|
|
27
|
+
export declare const ResourcePreviewCell: ((props: ResourcePreviewCellProps) => React.JSX.Element) & React.NamedExoticComponent<ResourcePreviewCellProps> & {
|
|
28
|
+
readonly type: (props: ResourcePreviewCellProps) => React.JSX.Element;
|
|
29
29
|
};
|
|
30
30
|
export type ResourcePickerProps = CustomResourcePickerProps<Resource> & {
|
|
31
31
|
api: CommerceAPIOperations;
|
|
@@ -33,7 +33,12 @@ export type ResourcePickerProps = CustomResourcePickerProps<Resource> & {
|
|
|
33
33
|
omitIds?: string[];
|
|
34
34
|
title?: string;
|
|
35
35
|
};
|
|
36
|
-
export declare const ResourcePicker: ((props: ResourcePickerProps) => React.JSX.Element) & {
|
|
37
|
-
|
|
36
|
+
export declare const ResourcePicker: ((props: ResourcePickerProps) => React.JSX.Element) & React.NamedExoticComponent<CustomResourcePickerProps<Resource> & {
|
|
37
|
+
api: CommerceAPIOperations;
|
|
38
|
+
resourceName: string;
|
|
39
|
+
omitIds?: string[];
|
|
40
|
+
title?: string;
|
|
41
|
+
}> & {
|
|
42
|
+
readonly type: (props: ResourcePickerProps) => React.JSX.Element;
|
|
38
43
|
};
|
|
39
44
|
export declare const ResourcesPickerButton: React.FC<ResourcesPickerButtonProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editorSdk/CommandBus.js","sources":["../../src/editorSdk/CommandBus.ts"],"sourcesContent":["import type { Command } from \"./createCommand.js\";\nexport * from \"./createCommand.js\";\n\nconst INTERNAL_STOP = Symbol(\"INTERNAL_STOP\");\n\nexport type CommandHandler<T> = (\n payload: T,\n control: CommandHandlerControl\n) => void | typeof INTERNAL_STOP | Promise<void | typeof INTERNAL_STOP>;\n\nexport type CommandHandlerControl = {\n stop: () => typeof INTERNAL_STOP;\n};\n\nexport enum CommandPriority {\n LOW = -100,\n NORMAL = 0,\n HIGH = 100,\n CRITICAL = 1000\n}\n\nexport class CommandBus {\n private handlers = new Map<\n string,\n { priority: number; handler: (payload: any, control: CommandHandlerControl) => any }[]\n >();\n\n private middleware: ((\n type: string,\n payload: any,\n next: (payload: any) => Promise<void>\n ) => Promise<void>)[] = [];\n\n register<T>(\n command: Command<T>,\n handler: CommandHandler<T>,\n priority: CommandPriority = CommandPriority.NORMAL\n ): () => void {\n const list = this.handlers.get(command.type) ?? [];\n\n const entry = { handler, priority };\n list.push(entry);\n list.sort((a, b) => b.priority - a.priority);\n this.handlers.set(command.type, list);\n\n // Return an unregister function\n return () => {\n const current = this.handlers.get(command.type);\n if (!current) {\n return;\n }\n\n const index = current.indexOf(entry);\n\n if (index !== -1) {\n current.splice(index, 1);\n }\n\n if (current.length === 0) {\n this.handlers.delete(command.type);\n }\n };\n }\n\n use(mw: (type: string, payload: any, next: (payload: any) => Promise<void>) => Promise<void>) {\n this.middleware.push(mw);\n }\n\n async execute<T>(command: Command<T>, payload?: T) {\n const list = this.handlers.get(command.type) ?? [];\n\n const runHandlers = async (p?: T) => {\n const control: CommandHandlerControl = {\n stop: () => INTERNAL_STOP\n };\n\n for (const entry of list) {\n const result = await entry.handler(p, control);\n if (result === INTERNAL_STOP) {\n break;\n }\n }\n };\n\n const composed = this.middleware.reduceRight(\n (next, mw) => async (p?: T) => mw(command.type, p, next),\n runHandlers\n );\n\n // console.log(\"[Execute Command]\", command.type, payload);\n await composed(payload);\n }\n}\n"],"names":["INTERNAL_STOP","Symbol","CommandPriority","CommandBus","command","handler","priority","list","entry","a","b","current","index","mw","payload","runHandlers","p","control","result","composed","next","Map"],"mappings":";AAGA,MAAMA,gBAAgBC,OAAO;AAWtB,IAAKC,6BAAeA,WAAAA,GAAAA,SAAfA,eAAe
|
|
1
|
+
{"version":3,"file":"editorSdk/CommandBus.js","sources":["../../src/editorSdk/CommandBus.ts"],"sourcesContent":["import type { Command } from \"./createCommand.js\";\nexport * from \"./createCommand.js\";\n\nconst INTERNAL_STOP = Symbol(\"INTERNAL_STOP\");\n\nexport type CommandHandler<T> = (\n payload: T,\n control: CommandHandlerControl\n) => void | typeof INTERNAL_STOP | Promise<void | typeof INTERNAL_STOP>;\n\nexport type CommandHandlerControl = {\n stop: () => typeof INTERNAL_STOP;\n};\n\nexport enum CommandPriority {\n LOW = -100,\n NORMAL = 0,\n HIGH = 100,\n CRITICAL = 1000\n}\n\nexport class CommandBus {\n private handlers = new Map<\n string,\n { priority: number; handler: (payload: any, control: CommandHandlerControl) => any }[]\n >();\n\n private middleware: ((\n type: string,\n payload: any,\n next: (payload: any) => Promise<void>\n ) => Promise<void>)[] = [];\n\n register<T>(\n command: Command<T>,\n handler: CommandHandler<T>,\n priority: CommandPriority = CommandPriority.NORMAL\n ): () => void {\n const list = this.handlers.get(command.type) ?? [];\n\n const entry = { handler, priority };\n list.push(entry);\n list.sort((a, b) => b.priority - a.priority);\n this.handlers.set(command.type, list);\n\n // Return an unregister function\n return () => {\n const current = this.handlers.get(command.type);\n if (!current) {\n return;\n }\n\n const index = current.indexOf(entry);\n\n if (index !== -1) {\n current.splice(index, 1);\n }\n\n if (current.length === 0) {\n this.handlers.delete(command.type);\n }\n };\n }\n\n use(mw: (type: string, payload: any, next: (payload: any) => Promise<void>) => Promise<void>) {\n this.middleware.push(mw);\n }\n\n async execute<T>(command: Command<T>, payload?: T) {\n const list = this.handlers.get(command.type) ?? [];\n\n const runHandlers = async (p?: T) => {\n const control: CommandHandlerControl = {\n stop: () => INTERNAL_STOP\n };\n\n for (const entry of list) {\n const result = await entry.handler(p, control);\n if (result === INTERNAL_STOP) {\n break;\n }\n }\n };\n\n const composed = this.middleware.reduceRight(\n (next, mw) => async (p?: T) => mw(command.type, p, next),\n runHandlers\n );\n\n // console.log(\"[Execute Command]\", command.type, payload);\n await composed(payload);\n }\n}\n"],"names":["INTERNAL_STOP","Symbol","CommandPriority","CommandBus","command","handler","priority","list","entry","a","b","current","index","mw","payload","runHandlers","p","control","result","composed","next","Map"],"mappings":";AAGA,MAAMA,gBAAgBC,OAAO;AAWtB,IAAKC,6BAAeA,WAAAA,GAAAA,SAAfA,eAAe;;gDAEd;8CACF;kDACI;WAJHA;;AAOL,MAAMC;IAYT,SACIC,OAAmB,EACnBC,OAA0B,EAC1BC,WApBK,CAoB6C,EACxC;QACV,MAAMC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAACH,QAAQ,IAAI,KAAK,EAAE;QAElD,MAAMI,QAAQ;YAAEH;YAASC;QAAS;QAClCC,KAAK,IAAI,CAACC;QACVD,KAAK,IAAI,CAAC,CAACE,GAAGC,IAAMA,EAAE,QAAQ,GAAGD,EAAE,QAAQ;QAC3C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAACL,QAAQ,IAAI,EAAEG;QAGhC,OAAO;YACH,MAAMI,UAAU,IAAI,CAAC,QAAQ,CAAC,GAAG,CAACP,QAAQ,IAAI;YAC9C,IAAI,CAACO,SACD;YAGJ,MAAMC,QAAQD,QAAQ,OAAO,CAACH;YAE9B,IAAII,AAAU,OAAVA,OACAD,QAAQ,MAAM,CAACC,OAAO;YAG1B,IAAID,AAAmB,MAAnBA,QAAQ,MAAM,EACd,IAAI,CAAC,QAAQ,CAAC,MAAM,CAACP,QAAQ,IAAI;QAEzC;IACJ;IAEA,IAAIS,EAAwF,EAAE;QAC1F,IAAI,CAAC,UAAU,CAAC,IAAI,CAACA;IACzB;IAEA,MAAM,QAAWT,OAAmB,EAAEU,OAAW,EAAE;QAC/C,MAAMP,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAACH,QAAQ,IAAI,KAAK,EAAE;QAElD,MAAMW,cAAc,OAAOC;YACvB,MAAMC,UAAiC;gBACnC,MAAM,IAAMjB;YAChB;YAEA,KAAK,MAAMQ,SAASD,KAAM;gBACtB,MAAMW,SAAS,MAAMV,MAAM,OAAO,CAACQ,GAAGC;gBACtC,IAAIC,WAAWlB,eACX;YAER;QACJ;QAEA,MAAMmB,WAAW,IAAI,CAAC,UAAU,CAAC,WAAW,CACxC,CAACC,MAAMP,KAAO,OAAOG,IAAUH,GAAGT,QAAQ,IAAI,EAAEY,GAAGI,OACnDL;QAIJ,MAAMI,SAASL;IACnB;;aArEQ,QAAQ,GAAG,IAAIO;aAKf,UAAU,GAIM,EAAE;;AA6D9B"}
|
|
@@ -6,6 +6,6 @@ export interface PageSettingsDrawerProps {
|
|
|
6
6
|
onClose: () => void;
|
|
7
7
|
onSave: () => void;
|
|
8
8
|
}
|
|
9
|
-
export declare const PageSettingsDrawer: (({ presenter, open, onClose, onSave }: PageSettingsDrawerProps) => React.JSX.Element) & {
|
|
10
|
-
|
|
9
|
+
export declare const PageSettingsDrawer: (({ presenter, open, onClose, onSave }: PageSettingsDrawerProps) => React.JSX.Element) & React.NamedExoticComponent<PageSettingsDrawerProps> & {
|
|
10
|
+
readonly type: ({ presenter, open, onClose, onSave }: PageSettingsDrawerProps) => React.JSX.Element;
|
|
11
11
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
export declare const BulkActionDelete: (() => React.JSX.Element) & {
|
|
3
|
-
|
|
2
|
+
export declare const BulkActionDelete: (() => React.JSX.Element) & React.NamedExoticComponent<unknown> & {
|
|
3
|
+
readonly type: () => React.JSX.Element;
|
|
4
4
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
export declare const BulkActionDuplicate: (() => React.JSX.Element) & {
|
|
3
|
-
|
|
2
|
+
export declare const BulkActionDuplicate: (() => React.JSX.Element) & React.NamedExoticComponent<unknown> & {
|
|
3
|
+
readonly type: () => React.JSX.Element;
|
|
4
4
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
export declare const BulkActionMovePage: (() => React.JSX.Element) & {
|
|
3
|
-
|
|
2
|
+
export declare const BulkActionMovePage: (() => React.JSX.Element) & React.NamedExoticComponent<unknown> & {
|
|
3
|
+
readonly type: () => React.JSX.Element;
|
|
4
4
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
export declare const BulkActionPublish: (() => React.JSX.Element) & {
|
|
3
|
-
|
|
2
|
+
export declare const BulkActionPublish: (() => React.JSX.Element) & React.NamedExoticComponent<unknown> & {
|
|
3
|
+
readonly type: () => React.JSX.Element;
|
|
4
4
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
export declare const BulkActionUnpublish: (() => React.JSX.Element) & {
|
|
3
|
-
|
|
2
|
+
export declare const BulkActionUnpublish: (() => React.JSX.Element) & React.NamedExoticComponent<unknown> & {
|
|
3
|
+
readonly type: () => React.JSX.Element;
|
|
4
4
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
export declare const BulkActionDelete: (() => React.JSX.Element) & {
|
|
3
|
-
|
|
2
|
+
export declare const BulkActionDelete: (() => React.JSX.Element) & React.NamedExoticComponent<unknown> & {
|
|
3
|
+
readonly type: () => React.JSX.Element;
|
|
4
4
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
export declare const BulkActionMove: (() => React.JSX.Element) & {
|
|
3
|
-
|
|
2
|
+
export declare const BulkActionMove: (() => React.JSX.Element) & React.NamedExoticComponent<unknown> & {
|
|
3
|
+
readonly type: () => React.JSX.Element;
|
|
4
4
|
};
|
|
@@ -21,7 +21,7 @@ class DocumentListPresenter {
|
|
|
21
21
|
this.getVmFolders = ()=>{
|
|
22
22
|
const folders = this.foldersCache.getItems().filter((f)=>{
|
|
23
23
|
if (this.folderId === ROOT_FOLDER) return null === f.parentId;
|
|
24
|
-
return f.parentId === this.folderId;
|
|
24
|
+
else return f.parentId === this.folderId;
|
|
25
25
|
});
|
|
26
26
|
return folders.map((f)=>TableRowMapper.fromFolder(f));
|
|
27
27
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modules/redirects/RedirectsList/presenters/DocumentListPresenter.js","sources":["../../../../../src/modules/redirects/RedirectsList/presenters/DocumentListPresenter.ts"],"sourcesContent":["import type { Folder } from \"@webiny/app-aco/domain/folder/Folder.js\";\nimport { folderCacheFactory } from \"@webiny/app-aco/features/folders/cache/index.js\";\nimport { makeAutoObservable } from \"mobx\";\nimport orderBy from \"lodash/orderBy.js\";\nimport { loadingActions, ROOT_FOLDER, WB_REDIRECTS_APP } from \"~/constants.js\";\nimport type { ISortingRepository } from \"@webiny/app-utils\";\nimport {\n type ILoadingRepository,\n type IMetaRepository,\n loadingRepositoryFactory,\n metaRepositoryFactory,\n SortingMapper,\n sortRepositoryFactory\n} from \"@webiny/app-utils\";\nimport { type IListCache, redirectListCache } from \"~/domain/Redirect/index.js\";\nimport { TableRowMapper } from \"~/modules/redirects/RedirectsList/presenters/TableRowMapper.js\";\nimport { type ISearchRepository, searchRepositoryFactory } from \"~/domain/Search/index.js\";\nimport {\n type ISelectedItemsRepository,\n selectedItemsRepositoryFactory\n} from \"~/domain/SelectedItem/index.js\";\nimport { filterRepositoryFactory, type IFilterRepository } from \"~/domain/Filter/index.js\";\nimport type { Redirect } from \"~/domain/Redirect/index.js\";\n\ninterface DocumentListPresenterParams {\n folderId: string;\n}\n\nclass DocumentListPresenter {\n private folderId: string = ROOT_FOLDER;\n private foldersCache: IListCache<Folder>;\n private foldersLoadingRepository: ILoadingRepository;\n private documentsCache: IListCache<Redirect>;\n private documentsLoadingRepository: ILoadingRepository;\n private searchRepository: ISearchRepository;\n private metaRepository: IMetaRepository;\n private sortingRepository: ISortingRepository;\n private filterRepository: IFilterRepository;\n private selectedRepository: ISelectedItemsRepository;\n private filtersVisible: boolean = false;\n\n constructor() {\n this.foldersCache = folderCacheFactory.getCache(WB_REDIRECTS_APP);\n this.foldersLoadingRepository = loadingRepositoryFactory.getRepository(WB_REDIRECTS_APP);\n this.documentsCache = redirectListCache;\n this.documentsLoadingRepository = loadingRepositoryFactory.getRepository(\"WbRedirect\");\n this.searchRepository = searchRepositoryFactory.getRepository(\"WbRedirect\");\n this.metaRepository = metaRepositoryFactory.getRepository(\"WbRedirect\");\n this.sortingRepository = sortRepositoryFactory.getRepository(\"WbRedirect\");\n this.filterRepository = filterRepositoryFactory.getRepository(\"WbRedirect\");\n this.selectedRepository = selectedItemsRepositoryFactory.getRepository(\"WbRedirect\");\n makeAutoObservable(this);\n }\n\n public init(params: DocumentListPresenterParams) {\n this.folderId = params.folderId;\n }\n\n public get vm() {\n return {\n folderId: this.folderId,\n title: this.getVmTitle(),\n data: this.getData(),\n selected: this.getSelected(),\n meta: {\n totalCount: this.metaRepository.get().totalCount ?? 0,\n currentCount: this.documentsCache.count() ?? 0\n },\n sorting: this.getSorting(),\n searchQuery: this.searchRepository.get() || \"\",\n searchLabel: this.getSearchLabel(),\n isSearch: this.getIsSearch(),\n isEmpty: this.getIsEmpty(),\n isRoot: this.getIsRoot(),\n isLoading: this.getIsLoading(),\n isLoadingMore: this.getIsLoadingMore(),\n isFilterVisible: this.filtersVisible\n };\n }\n\n public showFilters = (show: boolean) => {\n this.filtersVisible = show;\n };\n\n private getIsRoot = () => {\n return this.folderId === ROOT_FOLDER;\n };\n\n private getVmTitle = () => {\n return !this.getIsLoading()\n ? this.foldersCache.getItem(f => f.id === this.folderId)?.title\n : undefined;\n };\n\n private getVmDocuments = () => {\n return this.documentsCache.getItems().map(d => TableRowMapper.fromRedirect(d));\n };\n\n private getVmFolders = () => {\n const folders = this.foldersCache.getItems().filter(f => {\n if (this.folderId === ROOT_FOLDER) {\n return f.parentId === null;\n } else {\n return f.parentId === this.folderId;\n }\n });\n\n return folders.map(f => TableRowMapper.fromFolder(f));\n };\n\n private getData = () => {\n if (this.getIsSearch()) {\n // Only documents, sorted if needed\n return this.sortItems(this.getVmDocuments());\n }\n\n // Not in search: folders first, then documents, both sorted if needed\n const folders = this.sortItems(this.getVmFolders());\n const documents = this.sortItems(this.getVmDocuments());\n return [...folders, ...documents];\n };\n\n private getSelected = () => {\n return this.selectedRepository.getSelectedItems();\n };\n\n private sortItems<T>(items: T[]): T[] {\n const sorts = this.sortingRepository.get();\n if (sorts.length === 0) {\n return items;\n }\n const iteratees = sorts.map(sort => sort.field);\n const orders = sorts.map(sort => sort.order);\n return orderBy(items, iteratees, orders);\n }\n\n private getIsSearch = () => {\n return Boolean(this.searchRepository.get() || this.filterRepository.hasFilters());\n };\n\n private getSearchLabel = () => {\n const currentFolder = this.foldersCache.getItem(f => f.id === this.folderId);\n\n if (this.folderId === ROOT_FOLDER || !currentFolder) {\n return \"Search...\";\n }\n\n return `Search in \"${currentFolder.title}\"...`;\n };\n\n private getIsLoading = () => {\n return Boolean(\n this.documentsLoadingRepository.isLoading(loadingActions.init) ||\n this.documentsLoadingRepository.isLoading(loadingActions.list) ||\n this.foldersLoadingRepository.isLoading(this.folderId)\n );\n };\n\n private getIsLoadingMore = () => {\n return Boolean(this.documentsLoadingRepository.isLoading(loadingActions.listMore));\n };\n\n private getIsEmpty() {\n return !this.getIsLoading() && !this.getData().length;\n }\n\n private getSorting = () => {\n return this.sortingRepository.get().map(sort => {\n return SortingMapper.fromDTOtoColumn(sort);\n });\n };\n}\n\nexport { DocumentListPresenter, type DocumentListPresenterParams };\n"],"names":["DocumentListPresenter","ROOT_FOLDER","show","undefined","f","d","TableRowMapper","folders","documents","Boolean","currentFolder","loadingActions","sort","SortingMapper","folderCacheFactory","WB_REDIRECTS_APP","loadingRepositoryFactory","redirectListCache","searchRepositoryFactory","metaRepositoryFactory","sortRepositoryFactory","filterRepositoryFactory","selectedItemsRepositoryFactory","makeAutoObservable","params","items","sorts","iteratees","orders","orderBy"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"modules/redirects/RedirectsList/presenters/DocumentListPresenter.js","sources":["../../../../../src/modules/redirects/RedirectsList/presenters/DocumentListPresenter.ts"],"sourcesContent":["import type { Folder } from \"@webiny/app-aco/domain/folder/Folder.js\";\nimport { folderCacheFactory } from \"@webiny/app-aco/features/folders/cache/index.js\";\nimport { makeAutoObservable } from \"mobx\";\nimport orderBy from \"lodash/orderBy.js\";\nimport { loadingActions, ROOT_FOLDER, WB_REDIRECTS_APP } from \"~/constants.js\";\nimport type { ISortingRepository } from \"@webiny/app-utils\";\nimport {\n type ILoadingRepository,\n type IMetaRepository,\n loadingRepositoryFactory,\n metaRepositoryFactory,\n SortingMapper,\n sortRepositoryFactory\n} from \"@webiny/app-utils\";\nimport { type IListCache, redirectListCache } from \"~/domain/Redirect/index.js\";\nimport { TableRowMapper } from \"~/modules/redirects/RedirectsList/presenters/TableRowMapper.js\";\nimport { type ISearchRepository, searchRepositoryFactory } from \"~/domain/Search/index.js\";\nimport {\n type ISelectedItemsRepository,\n selectedItemsRepositoryFactory\n} from \"~/domain/SelectedItem/index.js\";\nimport { filterRepositoryFactory, type IFilterRepository } from \"~/domain/Filter/index.js\";\nimport type { Redirect } from \"~/domain/Redirect/index.js\";\n\ninterface DocumentListPresenterParams {\n folderId: string;\n}\n\nclass DocumentListPresenter {\n private folderId: string = ROOT_FOLDER;\n private foldersCache: IListCache<Folder>;\n private foldersLoadingRepository: ILoadingRepository;\n private documentsCache: IListCache<Redirect>;\n private documentsLoadingRepository: ILoadingRepository;\n private searchRepository: ISearchRepository;\n private metaRepository: IMetaRepository;\n private sortingRepository: ISortingRepository;\n private filterRepository: IFilterRepository;\n private selectedRepository: ISelectedItemsRepository;\n private filtersVisible: boolean = false;\n\n constructor() {\n this.foldersCache = folderCacheFactory.getCache(WB_REDIRECTS_APP);\n this.foldersLoadingRepository = loadingRepositoryFactory.getRepository(WB_REDIRECTS_APP);\n this.documentsCache = redirectListCache;\n this.documentsLoadingRepository = loadingRepositoryFactory.getRepository(\"WbRedirect\");\n this.searchRepository = searchRepositoryFactory.getRepository(\"WbRedirect\");\n this.metaRepository = metaRepositoryFactory.getRepository(\"WbRedirect\");\n this.sortingRepository = sortRepositoryFactory.getRepository(\"WbRedirect\");\n this.filterRepository = filterRepositoryFactory.getRepository(\"WbRedirect\");\n this.selectedRepository = selectedItemsRepositoryFactory.getRepository(\"WbRedirect\");\n makeAutoObservable(this);\n }\n\n public init(params: DocumentListPresenterParams) {\n this.folderId = params.folderId;\n }\n\n public get vm() {\n return {\n folderId: this.folderId,\n title: this.getVmTitle(),\n data: this.getData(),\n selected: this.getSelected(),\n meta: {\n totalCount: this.metaRepository.get().totalCount ?? 0,\n currentCount: this.documentsCache.count() ?? 0\n },\n sorting: this.getSorting(),\n searchQuery: this.searchRepository.get() || \"\",\n searchLabel: this.getSearchLabel(),\n isSearch: this.getIsSearch(),\n isEmpty: this.getIsEmpty(),\n isRoot: this.getIsRoot(),\n isLoading: this.getIsLoading(),\n isLoadingMore: this.getIsLoadingMore(),\n isFilterVisible: this.filtersVisible\n };\n }\n\n public showFilters = (show: boolean) => {\n this.filtersVisible = show;\n };\n\n private getIsRoot = () => {\n return this.folderId === ROOT_FOLDER;\n };\n\n private getVmTitle = () => {\n return !this.getIsLoading()\n ? this.foldersCache.getItem(f => f.id === this.folderId)?.title\n : undefined;\n };\n\n private getVmDocuments = () => {\n return this.documentsCache.getItems().map(d => TableRowMapper.fromRedirect(d));\n };\n\n private getVmFolders = () => {\n const folders = this.foldersCache.getItems().filter(f => {\n if (this.folderId === ROOT_FOLDER) {\n return f.parentId === null;\n } else {\n return f.parentId === this.folderId;\n }\n });\n\n return folders.map(f => TableRowMapper.fromFolder(f));\n };\n\n private getData = () => {\n if (this.getIsSearch()) {\n // Only documents, sorted if needed\n return this.sortItems(this.getVmDocuments());\n }\n\n // Not in search: folders first, then documents, both sorted if needed\n const folders = this.sortItems(this.getVmFolders());\n const documents = this.sortItems(this.getVmDocuments());\n return [...folders, ...documents];\n };\n\n private getSelected = () => {\n return this.selectedRepository.getSelectedItems();\n };\n\n private sortItems<T>(items: T[]): T[] {\n const sorts = this.sortingRepository.get();\n if (sorts.length === 0) {\n return items;\n }\n const iteratees = sorts.map(sort => sort.field);\n const orders = sorts.map(sort => sort.order);\n return orderBy(items, iteratees, orders);\n }\n\n private getIsSearch = () => {\n return Boolean(this.searchRepository.get() || this.filterRepository.hasFilters());\n };\n\n private getSearchLabel = () => {\n const currentFolder = this.foldersCache.getItem(f => f.id === this.folderId);\n\n if (this.folderId === ROOT_FOLDER || !currentFolder) {\n return \"Search...\";\n }\n\n return `Search in \"${currentFolder.title}\"...`;\n };\n\n private getIsLoading = () => {\n return Boolean(\n this.documentsLoadingRepository.isLoading(loadingActions.init) ||\n this.documentsLoadingRepository.isLoading(loadingActions.list) ||\n this.foldersLoadingRepository.isLoading(this.folderId)\n );\n };\n\n private getIsLoadingMore = () => {\n return Boolean(this.documentsLoadingRepository.isLoading(loadingActions.listMore));\n };\n\n private getIsEmpty() {\n return !this.getIsLoading() && !this.getData().length;\n }\n\n private getSorting = () => {\n return this.sortingRepository.get().map(sort => {\n return SortingMapper.fromDTOtoColumn(sort);\n });\n };\n}\n\nexport { DocumentListPresenter, type DocumentListPresenterParams };\n"],"names":["DocumentListPresenter","ROOT_FOLDER","show","undefined","f","d","TableRowMapper","folders","documents","Boolean","currentFolder","loadingActions","sort","SortingMapper","folderCacheFactory","WB_REDIRECTS_APP","loadingRepositoryFactory","redirectListCache","searchRepositoryFactory","metaRepositoryFactory","sortRepositoryFactory","filterRepositoryFactory","selectedItemsRepositoryFactory","makeAutoObservable","params","items","sorts","iteratees","orders","orderBy"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/app-website-builder",
|
|
3
|
-
"version": "6.4.
|
|
3
|
+
"version": "6.4.12-beta.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./index.js",
|
|
@@ -21,28 +21,28 @@
|
|
|
21
21
|
"@monaco-editor/react": "4.7.0",
|
|
22
22
|
"@svgr/webpack": "8.1.0",
|
|
23
23
|
"@types/react": "18.3.31",
|
|
24
|
-
"@webiny/admin-ui": "6.4.
|
|
25
|
-
"@webiny/app": "6.4.
|
|
26
|
-
"@webiny/app-aco": "6.4.
|
|
27
|
-
"@webiny/app-admin": "6.4.
|
|
28
|
-
"@webiny/app-headless-cms-common": "6.4.
|
|
29
|
-
"@webiny/app-trash-bin": "6.4.
|
|
30
|
-
"@webiny/app-utils": "6.4.
|
|
31
|
-
"@webiny/di": "1.0
|
|
32
|
-
"@webiny/error": "6.4.
|
|
33
|
-
"@webiny/feature": "6.4.
|
|
34
|
-
"@webiny/form": "6.4.
|
|
35
|
-
"@webiny/icons": "6.4.
|
|
36
|
-
"@webiny/languages": "6.4.
|
|
37
|
-
"@webiny/lexical-converter": "6.4.
|
|
38
|
-
"@webiny/lexical-editor": "6.4.
|
|
39
|
-
"@webiny/lexical-nodes": "6.4.
|
|
40
|
-
"@webiny/lexical-theme": "6.4.
|
|
41
|
-
"@webiny/react-composition": "6.4.
|
|
42
|
-
"@webiny/react-properties": "6.4.
|
|
43
|
-
"@webiny/utils": "6.4.
|
|
44
|
-
"@webiny/validation": "6.4.
|
|
45
|
-
"@webiny/website-builder-sdk": "6.4.
|
|
24
|
+
"@webiny/admin-ui": "6.4.12-beta.0",
|
|
25
|
+
"@webiny/app": "6.4.12-beta.0",
|
|
26
|
+
"@webiny/app-aco": "6.4.12-beta.0",
|
|
27
|
+
"@webiny/app-admin": "6.4.12-beta.0",
|
|
28
|
+
"@webiny/app-headless-cms-common": "6.4.12-beta.0",
|
|
29
|
+
"@webiny/app-trash-bin": "6.4.12-beta.0",
|
|
30
|
+
"@webiny/app-utils": "6.4.12-beta.0",
|
|
31
|
+
"@webiny/di": "1.1.0",
|
|
32
|
+
"@webiny/error": "6.4.12-beta.0",
|
|
33
|
+
"@webiny/feature": "6.4.12-beta.0",
|
|
34
|
+
"@webiny/form": "6.4.12-beta.0",
|
|
35
|
+
"@webiny/icons": "6.4.12-beta.0",
|
|
36
|
+
"@webiny/languages": "6.4.12-beta.0",
|
|
37
|
+
"@webiny/lexical-converter": "6.4.12-beta.0",
|
|
38
|
+
"@webiny/lexical-editor": "6.4.12-beta.0",
|
|
39
|
+
"@webiny/lexical-nodes": "6.4.12-beta.0",
|
|
40
|
+
"@webiny/lexical-theme": "6.4.12-beta.0",
|
|
41
|
+
"@webiny/react-composition": "6.4.12-beta.0",
|
|
42
|
+
"@webiny/react-properties": "6.4.12-beta.0",
|
|
43
|
+
"@webiny/utils": "6.4.12-beta.0",
|
|
44
|
+
"@webiny/validation": "6.4.12-beta.0",
|
|
45
|
+
"@webiny/website-builder-sdk": "6.4.12-beta.0",
|
|
46
46
|
"apollo-cache": "1.3.5",
|
|
47
47
|
"apollo-client": "2.6.10",
|
|
48
48
|
"apollo-link": "1.2.14",
|
|
@@ -53,27 +53,27 @@
|
|
|
53
53
|
"graphql-tag": "2.12.7",
|
|
54
54
|
"is-hotkey": "0.2.0",
|
|
55
55
|
"lodash": "4.18.1",
|
|
56
|
-
"markdown-to-jsx": "9.
|
|
56
|
+
"markdown-to-jsx": "9.10.3",
|
|
57
57
|
"matcher": "6.0.0",
|
|
58
|
-
"mobx": "
|
|
59
|
-
"mobx-react-lite": "
|
|
58
|
+
"mobx": "7.0.3",
|
|
59
|
+
"mobx-react-lite": "5.0.3",
|
|
60
60
|
"pluralize": "8.0.0",
|
|
61
|
-
"radix-ui": "1.6.
|
|
61
|
+
"radix-ui": "1.6.7",
|
|
62
62
|
"react": "18.3.1",
|
|
63
63
|
"react-dnd": "16.0.1",
|
|
64
64
|
"react-dnd-html5-backend": "16.0.1",
|
|
65
65
|
"react-dom": "18.3.1",
|
|
66
66
|
"slugify": "1.6.9",
|
|
67
|
-
"zod": "4.
|
|
67
|
+
"zod": "4.6.5"
|
|
68
68
|
},
|
|
69
69
|
"devDependencies": {
|
|
70
70
|
"@types/deep-equal": "1.0.4",
|
|
71
71
|
"@types/is-hotkey": "0.1.10",
|
|
72
|
-
"@webiny/build-tools": "6.4.
|
|
72
|
+
"@webiny/build-tools": "6.4.12-beta.0",
|
|
73
73
|
"execa": "5.1.1",
|
|
74
74
|
"rimraf": "6.1.3",
|
|
75
75
|
"typescript": "6.0.3",
|
|
76
|
-
"vitest": "
|
|
76
|
+
"vitest": "5.0.1"
|
|
77
77
|
},
|
|
78
78
|
"publishConfig": {
|
|
79
79
|
"access": "public"
|
|
@@ -3,7 +3,7 @@ interface IStartDialogProps {
|
|
|
3
3
|
open: boolean;
|
|
4
4
|
onClose: () => void;
|
|
5
5
|
}
|
|
6
|
-
export declare const NexjsConfigDialog: ((props: IStartDialogProps) => React.JSX.Element) & {
|
|
7
|
-
|
|
6
|
+
export declare const NexjsConfigDialog: ((props: IStartDialogProps) => React.JSX.Element) & React.NamedExoticComponent<IStartDialogProps> & {
|
|
7
|
+
readonly type: (props: IStartDialogProps) => React.JSX.Element;
|
|
8
8
|
};
|
|
9
9
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
export declare const CREATE_PAGE_DIALOG = "createPage";
|
|
3
3
|
export declare const useCreatePageDialog: () => (folderId: string) => void;
|
|
4
|
-
export declare const CreatePageDialog: (() => React.JSX.Element) & {
|
|
5
|
-
|
|
4
|
+
export declare const CreatePageDialog: (() => React.JSX.Element) & React.NamedExoticComponent<unknown> & {
|
|
5
|
+
readonly type: () => React.JSX.Element;
|
|
6
6
|
};
|
|
@@ -25,7 +25,7 @@ class DocumentListPresenter {
|
|
|
25
25
|
if (this.getIsSearch()) return [];
|
|
26
26
|
const folders = this.foldersCache.getItems().filter((f)=>{
|
|
27
27
|
if (this.folderId === ROOT_FOLDER) return null === f.parentId;
|
|
28
|
-
return f.parentId === this.folderId;
|
|
28
|
+
else return f.parentId === this.folderId;
|
|
29
29
|
});
|
|
30
30
|
return this.sortItems(folders).map((folder)=>FolderDtoMapper.toDTO(folder));
|
|
31
31
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presentation/pages/PageList/DocumentListPresenter.js","sources":["../../../../src/presentation/pages/PageList/DocumentListPresenter.ts"],"sourcesContent":["import type { Folder } from \"@webiny/app-aco/domain/folder/Folder.js\";\nimport { FolderDtoMapper } from \"@webiny/app-aco/domain/folder/FolderDtoMapper.js\";\nimport { folderCacheFactory } from \"@webiny/app-aco/features/folders/cache/index.js\";\nimport { makeAutoObservable } from \"mobx\";\nimport orderBy from \"lodash/orderBy.js\";\nimport { loadingActions, ROOT_FOLDER, WB_PAGE_APP } from \"~/constants.js\";\nimport type { ISortingRepository } from \"@webiny/app-utils\";\nimport {\n type ILoadingRepository,\n type IMetaRepository,\n loadingRepositoryFactory,\n metaRepositoryFactory,\n SortingMapper,\n sortRepositoryFactory\n} from \"@webiny/app-utils\";\nimport { type IListCache, type Page, PageDtoMapper, pageListCache } from \"~/domain/Page/index.js\";\nimport { type ISearchRepository, searchRepositoryFactory } from \"~/domain/Search/index.js\";\nimport {\n type ISelectedItemsRepository,\n selectedItemsRepositoryFactory\n} from \"~/domain/SelectedItem/index.js\";\nimport { filterRepositoryFactory, type IFilterRepository } from \"~/domain/Filter/index.js\";\nimport { PageListPresenter } from \"./abstractions.js\";\n\nclass DocumentListPresenter implements PageListPresenter.Interface {\n private folderId: string = ROOT_FOLDER;\n private foldersCache: IListCache<Folder>;\n private documentsCache: IListCache<Page>;\n private foldersLoadingRepository: ILoadingRepository;\n private documentsLoadingRepository: ILoadingRepository;\n private searchRepository: ISearchRepository;\n private metaRepository: IMetaRepository;\n private sortingRepository: ISortingRepository;\n private filterRepository: IFilterRepository;\n private selectedRepository: ISelectedItemsRepository;\n private filtersVisible: boolean = false;\n\n constructor() {\n this.foldersCache = folderCacheFactory.getCache(WB_PAGE_APP);\n this.documentsCache = pageListCache;\n this.foldersLoadingRepository = loadingRepositoryFactory.getRepository(WB_PAGE_APP);\n this.documentsLoadingRepository = loadingRepositoryFactory.getRepository(\"WbPage\");\n this.searchRepository = searchRepositoryFactory.getRepository(\"WbPage\");\n this.metaRepository = metaRepositoryFactory.getRepository(\"WbPage\");\n this.sortingRepository = sortRepositoryFactory.getRepository(\"WbPage\");\n this.filterRepository = filterRepositoryFactory.getRepository(\"WbPage\");\n this.selectedRepository = selectedItemsRepositoryFactory.getRepository(\"WbPage\");\n makeAutoObservable(this);\n }\n\n public init(params: PageListPresenter.Init) {\n this.folderId = params.folderId;\n }\n\n public get vm(): PageListPresenter.ViewModel {\n const data = this.getVmDocuments();\n const folders = this.getVmFolders();\n const isEmpty = !this.getIsLoading() && data.length === 0 && folders.length === 0;\n\n return {\n folderId: this.folderId,\n title: this.getVmTitle(),\n data,\n folders,\n selected: this.getSelected(),\n meta: {\n totalCount: this.metaRepository.get().totalCount ?? 0,\n currentCount: this.documentsCache.count() ?? 0\n },\n sorting: this.getSorting(),\n searchQuery: this.searchRepository.get() || \"\",\n searchLabel: this.getSearchLabel(),\n isSearch: this.getIsSearch(),\n isEmpty,\n isRoot: this.getIsRoot(),\n isLoading: this.getIsLoading(),\n isLoadingMore: this.getIsLoadingMore(),\n isFilterVisible: this.filtersVisible\n };\n }\n\n public showFilters = (show: boolean) => {\n this.filtersVisible = show;\n };\n\n private getIsRoot = () => {\n return this.folderId === ROOT_FOLDER;\n };\n\n private getVmTitle = () => {\n return !this.getIsLoading()\n ? this.foldersCache.getItem(f => f.id === this.folderId)?.title\n : undefined;\n };\n\n private getVmDocuments = () => {\n const documents = this.documentsCache.getItems().map(d => PageDtoMapper.toDTO(d));\n return this.sortItems(documents);\n };\n\n private getVmFolders = () => {\n if (this.getIsSearch()) {\n return [];\n }\n\n const folders = this.foldersCache.getItems().filter(f => {\n if (this.folderId === ROOT_FOLDER) {\n return f.parentId === null;\n } else {\n return f.parentId === this.folderId;\n }\n });\n\n return this.sortItems(folders).map(folder => FolderDtoMapper.toDTO(folder));\n };\n\n private getSelected = () => {\n return this.selectedRepository.getSelectedItems();\n };\n\n private sortItems<T>(items: T[]): T[] {\n const sorts = this.sortingRepository.get();\n if (sorts.length === 0) {\n return items;\n }\n const iteratees = sorts.map(sort => sort.field);\n const orders = sorts.map(sort => sort.order);\n return orderBy(items, iteratees, orders);\n }\n\n private getIsSearch = () => {\n return Boolean(this.searchRepository.get() || this.filterRepository.hasFilters());\n };\n\n private getSearchLabel = () => {\n const currentFolder = this.foldersCache.getItem(f => f.id === this.folderId);\n\n if (this.folderId === ROOT_FOLDER || !currentFolder) {\n return \"Search...\";\n }\n\n return `Search in \"${currentFolder.title}\"...`;\n };\n\n private getIsLoading = () => {\n return Boolean(\n this.documentsLoadingRepository.isLoading(loadingActions.init) ||\n this.documentsLoadingRepository.isLoading(loadingActions.list) ||\n this.foldersLoadingRepository.isLoading(this.folderId)\n );\n };\n\n private getIsLoadingMore = () => {\n return Boolean(this.documentsLoadingRepository.isLoading(loadingActions.listMore));\n };\n\n private getSorting = () => {\n return this.sortingRepository.get().map(sort => {\n return SortingMapper.fromDTOtoColumn(sort);\n });\n };\n}\n\nexport { DocumentListPresenter };\n"],"names":["DocumentListPresenter","ROOT_FOLDER","show","undefined","f","documents","d","PageDtoMapper","folders","folder","FolderDtoMapper","Boolean","currentFolder","loadingActions","sort","SortingMapper","folderCacheFactory","WB_PAGE_APP","pageListCache","loadingRepositoryFactory","searchRepositoryFactory","metaRepositoryFactory","sortRepositoryFactory","filterRepositoryFactory","selectedItemsRepositoryFactory","makeAutoObservable","params","data","isEmpty","items","sorts","iteratees","orders","orderBy"],"mappings":";;;;;;;;;;AAwBA,MAAMA;IAaF,aAAc;aAZN,QAAQ,GAAWC;aAUnB,cAAc,GAAY;aA8C3B,WAAW,GAAG,CAACC;YAClB,IAAI,CAAC,cAAc,GAAGA;QAC1B;aAEQ,SAAS,GAAG,IACT,IAAI,CAAC,QAAQ,KAAKD;aAGrB,UAAU,GAAG,IACV,AAAC,IAAI,CAAC,YAAY,KAEnBE,SADA,IAAI,CAAC,YAAY,CAAC,OAAO,CAACC,CAAAA,IAAKA,EAAE,EAAE,KAAK,IAAI,CAAC,QAAQ,GAAG;aAI1D,cAAc,GAAG;YACrB,MAAMC,YAAY,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,GAAG,CAACC,CAAAA,IAAKC,cAAc,KAAK,CAACD;YAC9E,OAAO,IAAI,CAAC,SAAS,CAACD;QAC1B;aAEQ,YAAY,GAAG;YACnB,IAAI,IAAI,CAAC,WAAW,IAChB,OAAO,EAAE;YAGb,MAAMG,UAAU,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,MAAM,CAACJ,CAAAA;gBAChD,IAAI,IAAI,CAAC,QAAQ,KAAKH,aAClB,OAAOG,AAAe,SAAfA,EAAE,QAAQ;
|
|
1
|
+
{"version":3,"file":"presentation/pages/PageList/DocumentListPresenter.js","sources":["../../../../src/presentation/pages/PageList/DocumentListPresenter.ts"],"sourcesContent":["import type { Folder } from \"@webiny/app-aco/domain/folder/Folder.js\";\nimport { FolderDtoMapper } from \"@webiny/app-aco/domain/folder/FolderDtoMapper.js\";\nimport { folderCacheFactory } from \"@webiny/app-aco/features/folders/cache/index.js\";\nimport { makeAutoObservable } from \"mobx\";\nimport orderBy from \"lodash/orderBy.js\";\nimport { loadingActions, ROOT_FOLDER, WB_PAGE_APP } from \"~/constants.js\";\nimport type { ISortingRepository } from \"@webiny/app-utils\";\nimport {\n type ILoadingRepository,\n type IMetaRepository,\n loadingRepositoryFactory,\n metaRepositoryFactory,\n SortingMapper,\n sortRepositoryFactory\n} from \"@webiny/app-utils\";\nimport { type IListCache, type Page, PageDtoMapper, pageListCache } from \"~/domain/Page/index.js\";\nimport { type ISearchRepository, searchRepositoryFactory } from \"~/domain/Search/index.js\";\nimport {\n type ISelectedItemsRepository,\n selectedItemsRepositoryFactory\n} from \"~/domain/SelectedItem/index.js\";\nimport { filterRepositoryFactory, type IFilterRepository } from \"~/domain/Filter/index.js\";\nimport { PageListPresenter } from \"./abstractions.js\";\n\nclass DocumentListPresenter implements PageListPresenter.Interface {\n private folderId: string = ROOT_FOLDER;\n private foldersCache: IListCache<Folder>;\n private documentsCache: IListCache<Page>;\n private foldersLoadingRepository: ILoadingRepository;\n private documentsLoadingRepository: ILoadingRepository;\n private searchRepository: ISearchRepository;\n private metaRepository: IMetaRepository;\n private sortingRepository: ISortingRepository;\n private filterRepository: IFilterRepository;\n private selectedRepository: ISelectedItemsRepository;\n private filtersVisible: boolean = false;\n\n constructor() {\n this.foldersCache = folderCacheFactory.getCache(WB_PAGE_APP);\n this.documentsCache = pageListCache;\n this.foldersLoadingRepository = loadingRepositoryFactory.getRepository(WB_PAGE_APP);\n this.documentsLoadingRepository = loadingRepositoryFactory.getRepository(\"WbPage\");\n this.searchRepository = searchRepositoryFactory.getRepository(\"WbPage\");\n this.metaRepository = metaRepositoryFactory.getRepository(\"WbPage\");\n this.sortingRepository = sortRepositoryFactory.getRepository(\"WbPage\");\n this.filterRepository = filterRepositoryFactory.getRepository(\"WbPage\");\n this.selectedRepository = selectedItemsRepositoryFactory.getRepository(\"WbPage\");\n makeAutoObservable(this);\n }\n\n public init(params: PageListPresenter.Init) {\n this.folderId = params.folderId;\n }\n\n public get vm(): PageListPresenter.ViewModel {\n const data = this.getVmDocuments();\n const folders = this.getVmFolders();\n const isEmpty = !this.getIsLoading() && data.length === 0 && folders.length === 0;\n\n return {\n folderId: this.folderId,\n title: this.getVmTitle(),\n data,\n folders,\n selected: this.getSelected(),\n meta: {\n totalCount: this.metaRepository.get().totalCount ?? 0,\n currentCount: this.documentsCache.count() ?? 0\n },\n sorting: this.getSorting(),\n searchQuery: this.searchRepository.get() || \"\",\n searchLabel: this.getSearchLabel(),\n isSearch: this.getIsSearch(),\n isEmpty,\n isRoot: this.getIsRoot(),\n isLoading: this.getIsLoading(),\n isLoadingMore: this.getIsLoadingMore(),\n isFilterVisible: this.filtersVisible\n };\n }\n\n public showFilters = (show: boolean) => {\n this.filtersVisible = show;\n };\n\n private getIsRoot = () => {\n return this.folderId === ROOT_FOLDER;\n };\n\n private getVmTitle = () => {\n return !this.getIsLoading()\n ? this.foldersCache.getItem(f => f.id === this.folderId)?.title\n : undefined;\n };\n\n private getVmDocuments = () => {\n const documents = this.documentsCache.getItems().map(d => PageDtoMapper.toDTO(d));\n return this.sortItems(documents);\n };\n\n private getVmFolders = () => {\n if (this.getIsSearch()) {\n return [];\n }\n\n const folders = this.foldersCache.getItems().filter(f => {\n if (this.folderId === ROOT_FOLDER) {\n return f.parentId === null;\n } else {\n return f.parentId === this.folderId;\n }\n });\n\n return this.sortItems(folders).map(folder => FolderDtoMapper.toDTO(folder));\n };\n\n private getSelected = () => {\n return this.selectedRepository.getSelectedItems();\n };\n\n private sortItems<T>(items: T[]): T[] {\n const sorts = this.sortingRepository.get();\n if (sorts.length === 0) {\n return items;\n }\n const iteratees = sorts.map(sort => sort.field);\n const orders = sorts.map(sort => sort.order);\n return orderBy(items, iteratees, orders);\n }\n\n private getIsSearch = () => {\n return Boolean(this.searchRepository.get() || this.filterRepository.hasFilters());\n };\n\n private getSearchLabel = () => {\n const currentFolder = this.foldersCache.getItem(f => f.id === this.folderId);\n\n if (this.folderId === ROOT_FOLDER || !currentFolder) {\n return \"Search...\";\n }\n\n return `Search in \"${currentFolder.title}\"...`;\n };\n\n private getIsLoading = () => {\n return Boolean(\n this.documentsLoadingRepository.isLoading(loadingActions.init) ||\n this.documentsLoadingRepository.isLoading(loadingActions.list) ||\n this.foldersLoadingRepository.isLoading(this.folderId)\n );\n };\n\n private getIsLoadingMore = () => {\n return Boolean(this.documentsLoadingRepository.isLoading(loadingActions.listMore));\n };\n\n private getSorting = () => {\n return this.sortingRepository.get().map(sort => {\n return SortingMapper.fromDTOtoColumn(sort);\n });\n };\n}\n\nexport { DocumentListPresenter };\n"],"names":["DocumentListPresenter","ROOT_FOLDER","show","undefined","f","documents","d","PageDtoMapper","folders","folder","FolderDtoMapper","Boolean","currentFolder","loadingActions","sort","SortingMapper","folderCacheFactory","WB_PAGE_APP","pageListCache","loadingRepositoryFactory","searchRepositoryFactory","metaRepositoryFactory","sortRepositoryFactory","filterRepositoryFactory","selectedItemsRepositoryFactory","makeAutoObservable","params","data","isEmpty","items","sorts","iteratees","orders","orderBy"],"mappings":"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"}
|