@webiny/app-website-builder-workflows 0.0.0-unstable.a4f3e4ea8b → 0.0.0-unstable.a85ef555b2
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/Components/ContentReviews/WbContentReviews.d.ts +2 -0
- package/Components/ContentReviews/WbContentReviews.js +41 -0
- package/Components/ContentReviews/WbContentReviews.js.map +1 -0
- package/Components/ContentReviews/WbContentReviews.smoke.test.d.ts +1 -0
- package/Components/ContentReviews/WbContentReviews.smoke.test.js +59 -0
- package/Components/ContentReviews/WbContentReviews.smoke.test.js.map +1 -0
- package/Components/ContentReviews/WbContentReviews.test.d.ts +1 -0
- package/Components/ContentReviews/WbContentReviews.test.js +80 -0
- package/Components/ContentReviews/WbContentReviews.test.js.map +1 -0
- package/Components/ContentReviews/WbContentReviewsSidebarItem.d.ts +2 -0
- package/Components/ContentReviews/WbContentReviewsSidebarItem.js +18 -0
- package/Components/ContentReviews/WbContentReviewsSidebarItem.js.map +1 -0
- package/Components/ContentReviews/WbContentReviewsSidebarItem.test.d.ts +1 -0
- package/Components/ContentReviews/WbContentReviewsSidebarItem.test.js +67 -0
- package/Components/ContentReviews/WbContentReviewsSidebarItem.test.js.map +1 -0
- package/Components/PageEditor/DisabledPublishButton.d.ts +6 -0
- package/Components/PageEditor/DisabledPublishButton.js +17 -0
- package/Components/PageEditor/DisabledPublishButton.js.map +1 -0
- package/Components/PageEditor/DisabledPublishButton.test.d.ts +1 -0
- package/Components/PageEditor/DisabledPublishButton.test.js +67 -0
- package/Components/PageEditor/DisabledPublishButton.test.js.map +1 -0
- package/Components/PageEditor/PageBasePublishDecorator.d.ts +2 -0
- package/Components/PageEditor/PageBasePublishDecorator.js +23 -0
- package/Components/PageEditor/PageBasePublishDecorator.js.map +1 -0
- package/Components/PageEditor/PageEditorAutoSave.js +8 -7
- package/Components/PageEditor/PageEditorAutoSave.js.map +1 -1
- package/Components/PageEditor/PageEditorAutoSave.test.d.ts +1 -0
- package/Components/PageEditor/PageEditorAutoSave.test.js +111 -0
- package/Components/PageEditor/PageEditorAutoSave.test.js.map +1 -0
- package/Components/PageEditor/PageEditorConfig.js +6 -4
- package/Components/PageEditor/PageEditorConfig.js.map +1 -1
- package/Components/PageEditor/PageEditorLayout.js +4 -20
- package/Components/PageEditor/PageEditorLayout.js.map +1 -1
- package/Components/PageEditor/PageEditorLayout.test.d.ts +1 -0
- package/Components/PageEditor/PageEditorLayout.test.js +121 -0
- package/Components/PageEditor/PageEditorLayout.test.js.map +1 -0
- package/Components/PageEditor/PageEditorTopBar.js +4 -22
- package/Components/PageEditor/PageEditorTopBar.js.map +1 -1
- package/Components/PageEditor/PageEditorTopBar.test.d.ts +1 -0
- package/Components/PageEditor/PageEditorTopBar.test.js +175 -0
- package/Components/PageEditor/PageEditorTopBar.test.js.map +1 -0
- package/Components/PageEditor/PageNewRevisionDecorator.d.ts +2 -0
- package/Components/PageEditor/PageNewRevisionDecorator.js +24 -0
- package/Components/PageEditor/PageNewRevisionDecorator.js.map +1 -0
- package/Components/PageEditor/PageNewRevisionDecorator.test.d.ts +1 -0
- package/Components/PageEditor/PageNewRevisionDecorator.test.js +107 -0
- package/Components/PageEditor/PageNewRevisionDecorator.test.js.map +1 -0
- package/Components/PageEditor/PageReadOnlySync.d.ts +3 -0
- package/Components/PageEditor/PageReadOnlySync.js +23 -0
- package/Components/PageEditor/PageReadOnlySync.js.map +1 -0
- package/Components/PageEditor/PageReviewBar.d.ts +4 -0
- package/Components/PageEditor/PageReviewBar.js +93 -0
- package/Components/PageEditor/PageReviewBar.js.map +1 -0
- package/Components/PageEditor/PageReviewBar.test.d.ts +1 -0
- package/Components/PageEditor/PageReviewBar.test.js +135 -0
- package/Components/PageEditor/PageReviewBar.test.js.map +1 -0
- package/Components/PageEditor/PageReviewPublishAction.d.ts +2 -0
- package/Components/PageEditor/PageReviewPublishAction.js +15 -0
- package/Components/PageEditor/PageReviewPublishAction.js.map +1 -0
- package/Components/PageEditor/PageReviewPublishButton.d.ts +4 -0
- package/Components/PageEditor/PageReviewPublishButton.js +23 -0
- package/Components/PageEditor/PageReviewPublishButton.js.map +1 -0
- package/Components/PageEditor/PageScheduleDecorator.d.ts +2 -0
- package/Components/PageEditor/PageScheduleDecorator.js +23 -0
- package/Components/PageEditor/PageScheduleDecorator.js.map +1 -0
- package/Components/PageEditor/PageScheduleDecorator.test.d.ts +1 -0
- package/Components/PageEditor/PageScheduleDecorator.test.js +75 -0
- package/Components/PageEditor/PageScheduleDecorator.test.js.map +1 -0
- package/Components/PageEditor/getPageReadOnlyReason.d.ts +4 -0
- package/Components/PageEditor/getPageReadOnlyReason.js +20 -0
- package/Components/PageEditor/getPageReadOnlyReason.js.map +1 -0
- package/Components/PageEditor/getPageReadOnlyReason.test.d.ts +1 -0
- package/Components/PageEditor/getPageReadOnlyReason.test.js +122 -0
- package/Components/PageEditor/getPageReadOnlyReason.test.js.map +1 -0
- package/Components/PageEditor/getPageReviewContext.d.ts +9 -0
- package/Components/PageEditor/getPageReviewContext.js +13 -0
- package/Components/PageEditor/getPageReviewContext.js.map +1 -0
- package/Components/PageEditor/getPageReviewContext.test.d.ts +1 -0
- package/Components/PageEditor/getPageReviewContext.test.js +42 -0
- package/Components/PageEditor/getPageReviewContext.test.js.map +1 -0
- package/Components/PageEditor/pageEditorDocument.d.ts +17 -0
- package/Components/PageEditor/pageEditorDocument.js +0 -0
- package/Components/PageEditor/pageReviewMatrix.test.d.ts +1 -0
- package/Components/PageEditor/pageReviewMatrix.test.js +223 -0
- package/Components/PageEditor/pageReviewMatrix.test.js.map +1 -0
- package/Components/PageEditor/publishMatrix.test.d.ts +1 -0
- package/Components/PageEditor/publishMatrix.test.js +313 -0
- package/Components/PageEditor/publishMatrix.test.js.map +1 -0
- package/Components/PagesList/PageListReviewGatedActions.d.ts +2 -0
- package/Components/PagesList/PageListReviewGatedActions.js +27 -0
- package/Components/PagesList/PageListReviewGatedActions.js.map +1 -0
- package/Components/PagesList/PageListReviewGatedActions.test.d.ts +1 -0
- package/Components/PagesList/PageListReviewGatedActions.test.js +94 -0
- package/Components/PagesList/PageListReviewGatedActions.test.js.map +1 -0
- package/Components/PagesList/PagesList.js +3 -3
- package/Components/PagesList/PagesList.js.map +1 -1
- package/Components/PagesList/PagesList.test.d.ts +1 -0
- package/Components/PagesList/PagesList.test.js +47 -0
- package/Components/PagesList/PagesList.test.js.map +1 -0
- package/Components/index.d.ts +0 -1
- package/Components/index.js +0 -1
- package/Routes/WebsiteBuilderWorkflowsMenu.d.ts +1 -1
- package/Routes/WebsiteBuilderWorkflowsMenu.js +16 -19
- package/Routes/WebsiteBuilderWorkflowsMenu.js.map +1 -1
- package/Routes/WebsiteBuilderWorkflowsMenu.test.d.ts +1 -0
- package/Routes/WebsiteBuilderWorkflowsMenu.test.js +141 -0
- package/Routes/WebsiteBuilderWorkflowsMenu.test.js.map +1 -0
- package/editorGlue.wiring.test.d.ts +1 -0
- package/editorGlue.wiring.test.js +128 -0
- package/editorGlue.wiring.test.js.map +1 -0
- package/features/cache/WbReviewCacheSyncHandler.d.ts +8 -0
- package/features/cache/WbReviewCacheSyncHandler.js +14 -0
- package/features/cache/WbReviewCacheSyncHandler.js.map +1 -0
- package/features/cache/WbReviewPageCacheWriter.d.ts +17 -0
- package/features/cache/WbReviewPageCacheWriter.js +39 -0
- package/features/cache/WbReviewPageCacheWriter.js.map +1 -0
- package/features/cache/WbReviewPageCacheWriter.test.d.ts +1 -0
- package/features/cache/WbReviewPageCacheWriter.test.js +115 -0
- package/features/cache/WbReviewPageCacheWriter.test.js.map +1 -0
- package/features/cache/abstractions.d.ts +5 -0
- package/features/cache/abstractions.js +5 -0
- package/features/cache/abstractions.js.map +1 -0
- package/features/cache/feature.d.ts +1 -0
- package/features/cache/feature.js +13 -0
- package/features/cache/feature.js.map +1 -0
- package/features/editorGateway/WbWorkflowEditorGateway/WbWorkflowEditorGateway.d.ts +25 -0
- package/features/editorGateway/WbWorkflowEditorGateway/WbWorkflowEditorGateway.js +112 -0
- package/features/editorGateway/WbWorkflowEditorGateway/WbWorkflowEditorGateway.js.map +1 -0
- package/features/editorGateway/WbWorkflowEditorGateway/WbWorkflowEditorGateway.test.d.ts +1 -0
- package/features/editorGateway/WbWorkflowEditorGateway/WbWorkflowEditorGateway.test.js +632 -0
- package/features/editorGateway/WbWorkflowEditorGateway/WbWorkflowEditorGateway.test.js.map +1 -0
- package/features/editorGateway/feature.d.ts +1 -0
- package/features/editorGateway/feature.js +11 -0
- package/features/editorGateway/feature.js.map +1 -0
- package/features/editorGateway/feature.test.d.ts +1 -0
- package/features/editorGateway/feature.test.js +244 -0
- package/features/editorGateway/feature.test.js.map +1 -0
- package/features/editorGateway/graphql/deleteWebsiteBuilderPageWorkflow.d.ts +1 -0
- package/features/editorGateway/graphql/deleteWebsiteBuilderPageWorkflow.js +19 -0
- package/features/editorGateway/graphql/deleteWebsiteBuilderPageWorkflow.js.map +1 -0
- package/features/editorGateway/graphql/getWebsiteBuilderPageWorkflow.d.ts +1 -0
- package/features/editorGateway/graphql/getWebsiteBuilderPageWorkflow.js +19 -0
- package/features/editorGateway/graphql/getWebsiteBuilderPageWorkflow.js.map +1 -0
- package/features/editorGateway/graphql/inspectWebsiteBuilderPageRouting.d.ts +1 -0
- package/features/editorGateway/graphql/inspectWebsiteBuilderPageRouting.js +19 -0
- package/features/editorGateway/graphql/inspectWebsiteBuilderPageRouting.js.map +1 -0
- package/features/editorGateway/graphql/listWebsiteBuilderPageWorkflowNames.d.ts +1 -0
- package/features/editorGateway/graphql/listWebsiteBuilderPageWorkflowNames.js +23 -0
- package/features/editorGateway/graphql/listWebsiteBuilderPageWorkflowNames.js.map +1 -0
- package/features/editorGateway/graphql/storeWebsiteBuilderPageWorkflow.d.ts +1 -0
- package/features/editorGateway/graphql/storeWebsiteBuilderPageWorkflow.js +19 -0
- package/features/editorGateway/graphql/storeWebsiteBuilderPageWorkflow.js.map +1 -0
- package/features/editorGateway/graphql/websiteBuilderPageFolderExists.d.ts +1 -0
- package/features/editorGateway/graphql/websiteBuilderPageFolderExists.js +16 -0
- package/features/editorGateway/graphql/websiteBuilderPageFolderExists.js.map +1 -0
- package/features/editorMounting/WbWorkflowEditorAppAdapter.d.ts +21 -0
- package/features/editorMounting/WbWorkflowEditorAppAdapter.js +45 -0
- package/features/editorMounting/WbWorkflowEditorAppAdapter.js.map +1 -0
- package/features/editorMounting/WbWorkflowEditorAppAdapter.test.d.ts +1 -0
- package/features/editorMounting/WbWorkflowEditorAppAdapter.test.js +115 -0
- package/features/editorMounting/WbWorkflowEditorAppAdapter.test.js.map +1 -0
- package/features/editorMounting/abstractions.d.ts +5 -0
- package/features/editorMounting/abstractions.js +5 -0
- package/features/editorMounting/abstractions.js.map +1 -0
- package/features/editorMounting/feature.d.ts +3 -0
- package/features/editorMounting/feature.js +19 -0
- package/features/editorMounting/feature.js.map +1 -0
- package/features/editorMounting/feature.test.d.ts +1 -0
- package/features/editorMounting/feature.test.js +93 -0
- package/features/editorMounting/feature.test.js.map +1 -0
- package/features/editorReview/WbPageContentReloader.d.ts +12 -0
- package/features/editorReview/WbPageContentReloader.js +40 -0
- package/features/editorReview/WbPageContentReloader.js.map +1 -0
- package/features/editorReview/WbPageContentReloader.test.d.ts +1 -0
- package/features/editorReview/WbPageContentReloader.test.js +222 -0
- package/features/editorReview/WbPageContentReloader.test.js.map +1 -0
- package/features/editorReview/WbPageReview.d.ts +8 -0
- package/features/editorReview/WbPageReview.js +14 -0
- package/features/editorReview/WbPageReview.js.map +1 -0
- package/features/editorReview/WbPageUnsavedChanges.d.ts +8 -0
- package/features/editorReview/WbPageUnsavedChanges.js +12 -0
- package/features/editorReview/WbPageUnsavedChanges.js.map +1 -0
- package/features/editorReview/WbPageUnsavedChanges.test.d.ts +1 -0
- package/features/editorReview/WbPageUnsavedChanges.test.js +33 -0
- package/features/editorReview/WbPageUnsavedChanges.test.js.map +1 -0
- package/features/editorReview/abstractions.d.ts +5 -0
- package/features/editorReview/abstractions.js +5 -0
- package/features/editorReview/abstractions.js.map +1 -0
- package/features/editorReview/feature.d.ts +3 -0
- package/features/editorReview/feature.js +17 -0
- package/features/editorReview/feature.js.map +1 -0
- package/features/gateway/WbReviewChangeMessageHandler.d.ts +8 -0
- package/features/gateway/WbReviewChangeMessageHandler.js +16 -0
- package/features/gateway/WbReviewChangeMessageHandler.js.map +1 -0
- package/features/gateway/WbReviewContentAdapter/WbReviewContentAdapter.d.ts +13 -0
- package/features/gateway/WbReviewContentAdapter/WbReviewContentAdapter.js +35 -0
- package/features/gateway/WbReviewContentAdapter/WbReviewContentAdapter.js.map +1 -0
- package/features/gateway/WbReviewContentAdapter/WbReviewContentAdapter.test.d.ts +1 -0
- package/features/gateway/WbReviewContentAdapter/WbReviewContentAdapter.test.js +47 -0
- package/features/gateway/WbReviewContentAdapter/WbReviewContentAdapter.test.js.map +1 -0
- package/features/gateway/WbReviewContentAdapter/abstractions.d.ts +5 -0
- package/features/gateway/WbReviewContentAdapter/abstractions.js +5 -0
- package/features/gateway/WbReviewContentAdapter/abstractions.js.map +1 -0
- package/features/gateway/WbReviewGateway/WbReviewGateway.d.ts +51 -0
- package/features/gateway/WbReviewGateway/WbReviewGateway.js +216 -0
- package/features/gateway/WbReviewGateway/WbReviewGateway.js.map +1 -0
- package/features/gateway/WbReviewGateway/WbReviewGateway.test.d.ts +1 -0
- package/features/gateway/WbReviewGateway/WbReviewGateway.test.js +647 -0
- package/features/gateway/WbReviewGateway/WbReviewGateway.test.js.map +1 -0
- package/features/gateway/WbReviewNotificationHandler.d.ts +8 -0
- package/features/gateway/WbReviewNotificationHandler.js +16 -0
- package/features/gateway/WbReviewNotificationHandler.js.map +1 -0
- package/features/gateway/WbReviewRowProvider/WbReviewRowProvider.d.ts +8 -0
- package/features/gateway/WbReviewRowProvider/WbReviewRowProvider.js +14 -0
- package/features/gateway/WbReviewRowProvider/WbReviewRowProvider.js.map +1 -0
- package/features/gateway/WbReviewRowProvider/abstractions.d.ts +5 -0
- package/features/gateway/WbReviewRowProvider/abstractions.js +5 -0
- package/features/gateway/WbReviewRowProvider/abstractions.js.map +1 -0
- package/features/gateway/assertWbPageNamespace.d.ts +1 -0
- package/features/gateway/assertWbPageNamespace.js +7 -0
- package/features/gateway/assertWbPageNamespace.js.map +1 -0
- package/features/gateway/contentReviewsBindings.test.d.ts +1 -0
- package/features/gateway/contentReviewsBindings.test.js +159 -0
- package/features/gateway/contentReviewsBindings.test.js.map +1 -0
- package/features/gateway/feature.d.ts +4 -0
- package/features/gateway/feature.js +27 -0
- package/features/gateway/feature.js.map +1 -0
- package/features/gateway/feature.test.d.ts +1 -0
- package/features/gateway/feature.test.js +85 -0
- package/features/gateway/feature.test.js.map +1 -0
- package/features/gateway/graphql/WbOperationResponse.d.ts +3 -0
- package/features/gateway/graphql/WbOperationResponse.js +0 -0
- package/features/gateway/graphql/approveWebsiteBuilderPageReviewStep.d.ts +1 -0
- package/features/gateway/graphql/approveWebsiteBuilderPageReviewStep.js +22 -0
- package/features/gateway/graphql/approveWebsiteBuilderPageReviewStep.js.map +1 -0
- package/features/gateway/graphql/cancelWebsiteBuilderPageReview.d.ts +1 -0
- package/features/gateway/graphql/cancelWebsiteBuilderPageReview.js +18 -0
- package/features/gateway/graphql/cancelWebsiteBuilderPageReview.js.map +1 -0
- package/features/gateway/graphql/cancelWebsiteBuilderPageReviewsForDelete.d.ts +1 -0
- package/features/gateway/graphql/cancelWebsiteBuilderPageReviewsForDelete.js +26 -0
- package/features/gateway/graphql/cancelWebsiteBuilderPageReviewsForDelete.js.map +1 -0
- package/features/gateway/graphql/getWebsiteBuilderPageReview.d.ts +1 -0
- package/features/gateway/graphql/getWebsiteBuilderPageReview.js +18 -0
- package/features/gateway/graphql/getWebsiteBuilderPageReview.js.map +1 -0
- package/features/gateway/graphql/getWebsiteBuilderPageReviewStepRun.d.ts +1 -0
- package/features/gateway/graphql/getWebsiteBuilderPageReviewStepRun.js +18 -0
- package/features/gateway/graphql/getWebsiteBuilderPageReviewStepRun.js.map +1 -0
- package/features/gateway/graphql/getWebsiteBuilderPageTargetReview.d.ts +1 -0
- package/features/gateway/graphql/getWebsiteBuilderPageTargetReview.js +18 -0
- package/features/gateway/graphql/getWebsiteBuilderPageTargetReview.js.map +1 -0
- package/features/gateway/graphql/listWebsiteBuilderPageReviewStepCandidates.d.ts +1 -0
- package/features/gateway/graphql/listWebsiteBuilderPageReviewStepCandidates.js +18 -0
- package/features/gateway/graphql/listWebsiteBuilderPageReviewStepCandidates.js.map +1 -0
- package/features/gateway/graphql/listWebsiteBuilderPageReviews.d.ts +1 -0
- package/features/gateway/graphql/listWebsiteBuilderPageReviews.js +34 -0
- package/features/gateway/graphql/listWebsiteBuilderPageReviews.js.map +1 -0
- package/features/gateway/graphql/listWebsiteBuilderPageStepCandidates.d.ts +1 -0
- package/features/gateway/graphql/listWebsiteBuilderPageStepCandidates.js +22 -0
- package/features/gateway/graphql/listWebsiteBuilderPageStepCandidates.js.map +1 -0
- package/features/gateway/graphql/listWebsiteBuilderPageWorkflows.d.ts +1 -0
- package/features/gateway/graphql/listWebsiteBuilderPageWorkflows.js +18 -0
- package/features/gateway/graphql/listWebsiteBuilderPageWorkflows.js.map +1 -0
- package/features/gateway/graphql/reassignWebsiteBuilderPageReviewStep.d.ts +1 -0
- package/features/gateway/graphql/reassignWebsiteBuilderPageReviewStep.js +22 -0
- package/features/gateway/graphql/reassignWebsiteBuilderPageReviewStep.js.map +1 -0
- package/features/gateway/graphql/rejectWebsiteBuilderPageReviewStep.d.ts +1 -0
- package/features/gateway/graphql/rejectWebsiteBuilderPageReviewStep.js +22 -0
- package/features/gateway/graphql/rejectWebsiteBuilderPageReviewStep.js.map +1 -0
- package/features/gateway/graphql/requestWebsiteBuilderPageReview.d.ts +1 -0
- package/features/gateway/graphql/requestWebsiteBuilderPageReview.js +26 -0
- package/features/gateway/graphql/requestWebsiteBuilderPageReview.js.map +1 -0
- package/features/gateway/graphql/restartWebsiteBuilderPageReviewStep.d.ts +1 -0
- package/features/gateway/graphql/restartWebsiteBuilderPageReviewStep.js +18 -0
- package/features/gateway/graphql/restartWebsiteBuilderPageReviewStep.js.map +1 -0
- package/features/gateway/graphql/startWebsiteBuilderPageReviewStep.d.ts +1 -0
- package/features/gateway/graphql/startWebsiteBuilderPageReviewStep.js +18 -0
- package/features/gateway/graphql/startWebsiteBuilderPageReviewStep.js.map +1 -0
- package/features/gateway/graphql/takeOverWebsiteBuilderPageReviewStep.d.ts +1 -0
- package/features/gateway/graphql/takeOverWebsiteBuilderPageReviewStep.js +26 -0
- package/features/gateway/graphql/takeOverWebsiteBuilderPageReviewStep.js.map +1 -0
- package/features/trash/BulkDeletePresenterReviewDecorator.d.ts +14 -0
- package/features/trash/BulkDeletePresenterReviewDecorator.js +27 -0
- package/features/trash/BulkDeletePresenterReviewDecorator.js.map +1 -0
- package/features/trash/BulkDeletePresenterReviewDecorator.test.d.ts +1 -0
- package/features/trash/BulkDeletePresenterReviewDecorator.test.js +234 -0
- package/features/trash/BulkDeletePresenterReviewDecorator.test.js.map +1 -0
- package/features/trash/DeletePageRevisionUseCaseReviewDecorator.d.ts +13 -0
- package/features/trash/DeletePageRevisionUseCaseReviewDecorator.js +23 -0
- package/features/trash/DeletePageRevisionUseCaseReviewDecorator.js.map +1 -0
- package/features/trash/DeletePageRevisionUseCaseReviewDecorator.test.d.ts +1 -0
- package/features/trash/DeletePageRevisionUseCaseReviewDecorator.test.js +114 -0
- package/features/trash/DeletePageRevisionUseCaseReviewDecorator.test.js.map +1 -0
- package/features/trash/DeletePageUseCaseReviewDecorator.d.ts +13 -0
- package/features/trash/DeletePageUseCaseReviewDecorator.js +23 -0
- package/features/trash/DeletePageUseCaseReviewDecorator.js.map +1 -0
- package/features/trash/DeletePageUseCaseReviewDecorator.test.d.ts +1 -0
- package/features/trash/DeletePageUseCaseReviewDecorator.test.js +134 -0
- package/features/trash/DeletePageUseCaseReviewDecorator.test.js.map +1 -0
- package/features/trash/feature.d.ts +1 -0
- package/features/trash/feature.js +15 -0
- package/features/trash/feature.js.map +1 -0
- package/features/trash/feature.test.d.ts +1 -0
- package/features/trash/feature.test.js +183 -0
- package/features/trash/feature.test.js.map +1 -0
- package/hooks/usePage.test.d.ts +1 -0
- package/hooks/usePage.test.js +49 -0
- package/hooks/usePage.test.js.map +1 -0
- package/index.d.ts +1 -1
- package/index.js +30 -4
- package/index.js.map +1 -1
- package/index.mount.test.d.ts +1 -0
- package/index.mount.test.js +50 -0
- package/index.mount.test.js.map +1 -0
- package/index.test.d.ts +1 -0
- package/index.test.js +523 -0
- package/index.test.js.map +1 -0
- package/package.json +21 -13
- package/pageListChangeStatus.wiring.test.d.ts +1 -0
- package/pageListChangeStatus.wiring.test.js +175 -0
- package/pageListChangeStatus.wiring.test.js.map +1 -0
- package/pageListGlue.wiring.test.d.ts +1 -0
- package/pageListGlue.wiring.test.js +220 -0
- package/pageListGlue.wiring.test.js.map +1 -0
- package/presentation/page/PageGet/{WorkflowStatesGetPageGraphQLFieldSelection.d.ts → WbReviewGetPageFieldSelection.d.ts} +2 -2
- package/presentation/page/PageGet/WbReviewGetPageFieldSelection.js +16 -0
- package/presentation/page/PageGet/WbReviewGetPageFieldSelection.js.map +1 -0
- package/presentation/page/PageGet/WbReviewGetPageFieldSelection.test.d.ts +1 -0
- package/presentation/page/PageGet/WbReviewGetPageFieldSelection.test.js +19 -0
- package/presentation/page/PageGet/WbReviewGetPageFieldSelection.test.js.map +1 -0
- package/presentation/page/PageGet/feature.js +2 -2
- package/presentation/page/PageGet/feature.js.map +1 -1
- package/presentation/page/PageList/{WorkflowStateListPagesFieldSelection.d.ts → WbReviewListPagesFieldSelection.d.ts} +2 -2
- package/presentation/page/PageList/WbReviewListPagesFieldSelection.js +16 -0
- package/presentation/page/PageList/WbReviewListPagesFieldSelection.js.map +1 -0
- package/presentation/page/PageList/WbReviewListPagesFieldSelection.test.d.ts +1 -0
- package/presentation/page/PageList/WbReviewListPagesFieldSelection.test.js +19 -0
- package/presentation/page/PageList/WbReviewListPagesFieldSelection.test.js.map +1 -0
- package/presentation/page/PageList/{TableRowMapperDecorator.d.ts → WbReviewTableRowMapperDecorator.d.ts} +4 -4
- package/presentation/page/PageList/WbReviewTableRowMapperDecorator.js +24 -0
- package/presentation/page/PageList/WbReviewTableRowMapperDecorator.js.map +1 -0
- package/presentation/page/PageList/WbReviewTableRowMapperDecorator.test.d.ts +1 -0
- package/presentation/page/PageList/WbReviewTableRowMapperDecorator.test.js +70 -0
- package/presentation/page/PageList/WbReviewTableRowMapperDecorator.test.js.map +1 -0
- package/presentation/page/PageList/feature.js +4 -4
- package/presentation/page/PageList/feature.js.map +1 -1
- package/presentation/page/RevisionList/RevisionListPresenterDecorator.d.ts +15 -0
- package/presentation/page/RevisionList/RevisionListPresenterDecorator.js +36 -0
- package/presentation/page/RevisionList/RevisionListPresenterDecorator.js.map +1 -0
- package/presentation/page/RevisionList/RevisionListPresenterDecorator.test.d.ts +1 -0
- package/presentation/page/RevisionList/RevisionListPresenterDecorator.test.js +119 -0
- package/presentation/page/RevisionList/RevisionListPresenterDecorator.test.js.map +1 -0
- package/presentation/page/RevisionList/feature.d.ts +1 -0
- package/presentation/page/RevisionList/feature.js +11 -0
- package/presentation/page/RevisionList/feature.js.map +1 -0
- package/presentation/page/wbReviewPageSelection.d.ts +1 -0
- package/presentation/page/wbReviewPageSelection.js +9 -0
- package/presentation/page/wbReviewPageSelection.js.map +1 -0
- package/publishAutosave.wiring.test.d.ts +1 -0
- package/publishAutosave.wiring.test.js +162 -0
- package/publishAutosave.wiring.test.js.map +1 -0
- package/routes.d.ts +3 -3
- package/routes.js +5 -5
- package/routes.js.map +1 -1
- package/testing/WbEditorHarness.d.ts +11 -0
- package/testing/WbEditorHarness.js +22 -0
- package/testing/WbEditorHarness.js.map +1 -0
- package/testing/createFakeSession.d.ts +9 -0
- package/testing/createFakeSession.js +29 -0
- package/testing/createFakeSession.js.map +1 -0
- package/testing/createFakeVm.d.ts +3 -0
- package/testing/createFakeVm.js +51 -0
- package/testing/createFakeVm.js.map +1 -0
- package/testing/createFolder.d.ts +2 -0
- package/testing/createFolder.js +13 -0
- package/testing/createFolder.js.map +1 -0
- package/testing/createPageEditor.d.ts +4 -0
- package/testing/createPageEditor.js +26 -0
- package/testing/createPageEditor.js.map +1 -0
- package/testing/registerPageContent.d.ts +20 -0
- package/testing/registerPageContent.js +28 -0
- package/testing/registerPageContent.js.map +1 -0
- package/types.d.ts +3 -9
- package/Components/OptionItem/OpenInNewWindow.d.ts +0 -2
- package/Components/OptionItem/OpenInNewWindow.js +0 -34
- package/Components/OptionItem/OpenInNewWindow.js.map +0 -1
- package/Components/OptionItem/index.d.ts +0 -1
- package/Components/OptionItem/index.js +0 -1
- package/Components/PageEditor/PageFormWorkflowState.d.ts +0 -4
- package/Components/PageEditor/PageFormWorkflowState.js +0 -18
- package/Components/PageEditor/PageFormWorkflowState.js.map +0 -1
- package/Components/PageEditor/PageFormWorkflowStatePublishButton.d.ts +0 -2
- package/Components/PageEditor/PageFormWorkflowStatePublishButton.js +0 -22
- package/Components/PageEditor/PageFormWorkflowStatePublishButton.js.map +0 -1
- package/Components/PageEditor/PageFormWorkflowStateTooltip.d.ts +0 -2
- package/Components/PageEditor/PageFormWorkflowStateTooltip.js +0 -14
- package/Components/PageEditor/PageFormWorkflowStateTooltip.js.map +0 -1
- package/Components/PageEditor/ToggleEditorMode.d.ts +0 -3
- package/Components/PageEditor/ToggleEditorMode.js +0 -21
- package/Components/PageEditor/ToggleEditorMode.js.map +0 -1
- package/Components/PageWorkflows/PageWorkflowsEditorView.d.ts +0 -3
- package/Components/PageWorkflows/PageWorkflowsEditorView.js +0 -54
- package/Components/PageWorkflows/PageWorkflowsEditorView.js.map +0 -1
- package/Components/PageWorkflows/index.d.ts +0 -1
- package/Components/PageWorkflows/index.js +0 -1
- package/Components/PagesList/PageListChangeStatus.d.ts +0 -2
- package/Components/PagesList/PageListChangeStatus.js +0 -23
- package/Components/PagesList/PageListChangeStatus.js.map +0 -1
- package/Components/PagesList/PagesListContentReviews.d.ts +0 -2
- package/Components/PagesList/PagesListContentReviews.js +0 -26
- package/Components/PagesList/PagesListContentReviews.js.map +0 -1
- package/presentation/page/PageGet/WorkflowStatesGetPageGraphQLFieldSelection.js +0 -22
- package/presentation/page/PageGet/WorkflowStatesGetPageGraphQLFieldSelection.js.map +0 -1
- package/presentation/page/PageList/TableRowMapperDecorator.js +0 -24
- package/presentation/page/PageList/TableRowMapperDecorator.js.map +0 -1
- package/presentation/page/PageList/WorkflowStateListPagesFieldSelection.js +0 -22
- package/presentation/page/PageList/WorkflowStateListPagesFieldSelection.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publishAutosave.wiring.test.js","sources":["../src/publishAutosave.wiring.test.tsx"],"sourcesContent":["import React from \"react\";\nimport { cleanup } from \"@testing-library/react\";\nimport { render } from \"@testing-library/react\";\nimport { screen } from \"@testing-library/react\";\nimport { waitFor } from \"@testing-library/react\";\nimport { afterEach } from \"vitest\";\nimport { describe } from \"vitest\";\nimport { expect } from \"vitest\";\nimport { it } from \"vitest\";\nimport { vi } from \"vitest\";\nimport { Container } from \"@webiny/di\";\nimport { MainGraphQLClient } from \"@webiny/app/features/mainGraphQLClient/abstractions.js\";\nimport { InternalPageEditorConfig } from \"@webiny/app-website-builder/presentation/pages/PageEditor/PageEditorConfig.js\";\nimport { PageEditorConfig } from \"@webiny/app-website-builder/presentation/pages/PageEditor/PageEditorConfig.js\";\nimport { TargetReviewPresenter } from \"@webiny/app-workflows/review/presentation/targetReview/abstractions.js\";\nimport { WbEditorHarness } from \"~/testing/WbEditorHarness.js\";\nimport { createFakeSession } from \"~/testing/createFakeSession.js\";\nimport type { FakeReviewKind } from \"~/testing/createFakeVm.js\";\nimport { createPageEditor } from \"~/testing/createPageEditor.js\";\nimport { registerPageContent } from \"~/testing/registerPageContent.js\";\nimport { WebsiteBuilderWorkflows } from \"~/index.js\";\n\nconst flags = vi.hoisted(() => {\n return { enabled: true };\n});\n\nvi.mock(\"@webiny/app-admin\", async importOriginal => {\n const actual = await importOriginal<typeof import(\"@webiny/app-admin\")>();\n return { ...actual, useFeatureFlags: () => ({ isEnabled: () => flags.enabled }) };\n});\n\nvi.mock(\"~/Routes/index.js\", () => {\n return { WebsiteBuilderWorkflowsMenu: () => null };\n});\n\nvi.mock(\"~/Components/PagesList/index.js\", () => {\n return { PagesList: () => null };\n});\n\nvi.mock(\"~/Components/ContentReviews/WbContentReviews.js\", () => {\n return { WbContentReviews: () => null };\n});\n\nvi.mock(\"@webiny/icons/publish.svg\", () => {\n return { ReactComponent: () => null };\n});\n\nvi.mock(\n \"@webiny/app-website-builder/presentation/pages/PageEditor/TopBar/PublishButton.js\",\n async () => {\n const React = await import(\"react\");\n const PublishButton = () => {\n return React.createElement(\"button\", { \"data-testid\": \"enabled-publish\" }, \"Publish\");\n };\n return { PublishButton };\n }\n);\n\nvi.mock(\n \"@webiny/app-workflows/review/presentation/targetReview/components/ReviewTooltip.js\",\n async () => {\n const React = await import(\"react\");\n interface StubProps {\n presenter: { vm: { publishDisabledReason: string | null } };\n children: (describedBy: string) => React.ReactNode;\n }\n const ReviewTooltip = (props: StubProps) => {\n const reason = props.presenter.vm.publishDisabledReason ?? \"\";\n return React.createElement(\n \"span\",\n { \"data-testid\": \"review-tooltip\", \"data-reason\": reason },\n props.children(\"tooltip-description\")\n );\n };\n return { ReviewTooltip };\n }\n);\n\nvi.mock(\"@webiny/app-website-builder/presentation/security/HasPermission.js\", async () => {\n const React = await import(\"react\");\n interface PassThroughProps {\n children: React.ReactNode;\n }\n const HasPermission = (props: PassThroughProps) => {\n return React.createElement(React.Fragment, null, props.children);\n };\n return { HasPermission };\n});\n\nvi.mock(\"@webiny/app-website-builder/BaseEditor/config/Layout.js\", async () => {\n const React = await import(\"react\");\n const { makeDecoratable } = await import(\"@webiny/react-composition\");\n const Layout = makeDecoratable(\"EditorLayout\", () => {\n return React.createElement(\"div\", { \"data-testid\": \"base-layout\" });\n });\n return { Layout };\n});\n\nconst { Ui } = PageEditorConfig;\n\nconst mountRoot = (enabled: boolean, kind: FakeReviewKind = \"inProgress\") => {\n flags.enabled = enabled;\n const handle = createFakeSession(kind);\n const container = new Container();\n container.registerInstance(TargetReviewPresenter, handle.presenter);\n container.registerInstance(MainGraphQLClient, { execute: vi.fn() });\n registerPageContent(container);\n const editor = createPageEditor(\"draft\");\n\n render(\n <WbEditorHarness container={container} editor={editor} groups={[\"left\", \"actions\"]}>\n <WebsiteBuilderWorkflows />\n <Ui.Layout />\n <InternalPageEditorConfig>\n <Ui.TopBar.Action name={\"sentinel\"} element={<span data-testid={\"sentinel\"} />} />\n <Ui.IsNotReadOnly>\n <Ui.TopBar.Action\n name={\"buttonPublish\"}\n element={<span data-testid={\"base-publish\"} />}\n />\n </Ui.IsNotReadOnly>\n <Ui.TopBar.Action\n name={\"buttonNewRevision\"}\n element={<span data-testid={\"new-revision\"} />}\n />\n <Ui.TopBar.Element\n group={\"left\"}\n name={\"autoSave\"}\n element={<span data-testid={\"autosave\"} />}\n />\n </InternalPageEditorConfig>\n </WbEditorHarness>\n );\n\n return handle;\n};\n\ndescribe(\"Website Builder publish and autosave rules from the composition root\", () => {\n afterEach(() => {\n cleanup();\n });\n\n it(\"flag on: a review in progress hides the base Publish, shows a disabled one and stops autosave\", async () => {\n mountRoot(true);\n await screen.findByTestId(\"sentinel\");\n\n await waitFor(() => {\n expect(screen.queryAllByTestId(\"base-publish\")).toHaveLength(0);\n expect(screen.queryAllByTestId(\"autosave\")).toHaveLength(0);\n const disabled = document.querySelectorAll(\"button[aria-disabled='true']\");\n expect(disabled).toHaveLength(1);\n });\n });\n\n it(\"flag off: the base Publish and autosave are untouched and no workflows Publish exists\", async () => {\n mountRoot(false);\n await screen.findByTestId(\"sentinel\");\n\n expect(screen.queryAllByTestId(\"base-publish\")).toHaveLength(1);\n expect(screen.queryAllByTestId(\"autosave\")).toHaveLength(1);\n expect(document.querySelectorAll(\"button[aria-disabled='true']\")).toHaveLength(0);\n expect(screen.queryAllByTestId(\"enabled-publish\")).toHaveLength(0);\n });\n\n it(\"flag on: New Revision is hidden while a review is in progress\", async () => {\n mountRoot(true, \"inProgress\");\n await screen.findByTestId(\"sentinel\");\n\n await waitFor(() => {\n expect(screen.queryAllByTestId(\"autosave\")).toHaveLength(0);\n });\n expect(screen.queryAllByTestId(\"new-revision\")).toHaveLength(0);\n });\n\n it(\"flag on: New Revision is shown for a rejected review\", async () => {\n mountRoot(true, \"rejected\");\n await screen.findByTestId(\"sentinel\");\n\n await waitFor(() => {\n expect(screen.queryAllByTestId(\"new-revision\")).toHaveLength(1);\n });\n });\n\n it(\"flag off: New Revision is untouched\", async () => {\n mountRoot(false, \"inProgress\");\n await screen.findByTestId(\"sentinel\");\n\n expect(screen.queryAllByTestId(\"new-revision\")).toHaveLength(1);\n });\n});\n"],"names":["flags","vi","importOriginal","actual","React","PublishButton","ReviewTooltip","props","reason","HasPermission","makeDecoratable","Layout","Ui","PageEditorConfig","mountRoot","enabled","kind","handle","createFakeSession","container","Container","TargetReviewPresenter","MainGraphQLClient","registerPageContent","editor","createPageEditor","render","WbEditorHarness","WebsiteBuilderWorkflows","InternalPageEditorConfig","describe","afterEach","cleanup","it","screen","waitFor","expect","disabled","document"],"mappings":";;;;;;;;;;;;AAsBA,MAAMA,QAAQC,GAAG,OAAO,CAAC,IACd;QAAE,SAAS;IAAK;AAG3BA,GAAG,IAAI,CAAC,qBAAqB,OAAMC;IAC/B,MAAMC,SAAS,MAAMD;IACrB,OAAO;QAAE,GAAGC,MAAM;QAAE,iBAAiB,IAAO;gBAAE,WAAW,IAAMH,MAAM,OAAO;YAAC;IAAG;AACpF;AAEAC,GAAG,IAAI,CAAC,qBAAqB,IAClB;QAAE,6BAA6B,IAAM;IAAK;AAGrDA,GAAG,IAAI,CAAC,mCAAmC,IAChC;QAAE,WAAW,IAAM;IAAK;AAGnCA,GAAG,IAAI,CAAC,mDAAmD,IAChD;QAAE,kBAAkB,IAAM;IAAK;AAG1CA,GAAG,IAAI,CAAC,6BAA6B,IAC1B;QAAE,gBAAgB,IAAM;IAAK;AAGxCA,GAAG,IAAI,CACH,qFACA;IACI,MAAMG,QAAQ,MAAM,MAAM,CAAC;IAC3B,MAAMC,gBAAgB,IACXD,MAAM,aAAa,CAAC,UAAU;YAAE,eAAe;QAAkB,GAAG;IAE/E,OAAO;QAAEC;IAAc;AAC3B;AAGJJ,GAAG,IAAI,CACH,sFACA;IACI,MAAMG,QAAQ,MAAM,MAAM,CAAC;IAK3B,MAAME,gBAAgB,CAACC;QACnB,MAAMC,SAASD,MAAM,SAAS,CAAC,EAAE,CAAC,qBAAqB,IAAI;QAC3D,OAAOH,MAAM,aAAa,CACtB,QACA;YAAE,eAAe;YAAkB,eAAeI;QAAO,GACzDD,MAAM,QAAQ,CAAC;IAEvB;IACA,OAAO;QAAED;IAAc;AAC3B;AAGJL,GAAG,IAAI,CAAC,sEAAsE;IAC1E,MAAMG,QAAQ,MAAM,MAAM,CAAC;IAI3B,MAAMK,gBAAgB,CAACF,QACZH,MAAM,aAAa,CAACA,MAAM,QAAQ,EAAE,MAAMG,MAAM,QAAQ;IAEnE,OAAO;QAAEE;IAAc;AAC3B;AAEAR,GAAG,IAAI,CAAC,2DAA2D;IAC/D,MAAMG,QAAQ,MAAM,MAAM,CAAC;IAC3B,MAAM,EAAEM,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC;IACzC,MAAMC,SAASD,gBAAgB,gBAAgB,IACpCN,MAAM,aAAa,CAAC,OAAO;YAAE,eAAe;QAAc;IAErE,OAAO;QAAEO;IAAO;AACpB;AAEA,MAAM,EAAEC,IAAAA,EAAE,EAAE,GAAGC;AAEf,MAAMC,YAAY,CAACC,SAAkBC,OAAuB,YAAY;IACpEhB,MAAM,OAAO,GAAGe;IAChB,MAAME,SAASC,kBAAkBF;IACjC,MAAMG,YAAY,IAAIC;IACtBD,UAAU,gBAAgB,CAACE,uBAAuBJ,OAAO,SAAS;IAClEE,UAAU,gBAAgB,CAACG,mBAAmB;QAAE,SAASrB,GAAG,EAAE;IAAG;IACjEsB,oBAAoBJ;IACpB,MAAMK,SAASC,iBAAiB;IAEhCC,OAAO,WAADA,GACF,oBAACC,iBAAeA;QAAC,WAAWR;QAAW,QAAQK;QAAQ,QAAQ;YAAC;YAAQ;SAAU;qBAC9E,oBAACI,yBAAuBA,OAAAA,WAAAA,GACxB,oBAAChB,GAAG,MAAM,uBACV,oBAACiB,0BAAwBA,MAAAA,WAAAA,GACrB,oBAACjB,GAAG,MAAM,CAAC,MAAM;QAAC,MAAM;QAAY,uBAAS,oBAAC;YAAK,eAAa;;sBAChE,oBAACA,GAAG,aAAa,sBACb,oBAACA,GAAG,MAAM,CAAC,MAAM;QACb,MAAM;QACN,uBAAS,oBAAC;YAAK,eAAa;;uBAGpC,oBAACA,GAAG,MAAM,CAAC,MAAM;QACb,MAAM;QACN,uBAAS,oBAAC;YAAK,eAAa;;sBAEhC,oBAACA,GAAG,MAAM,CAAC,OAAO;QACd,OAAO;QACP,MAAM;QACN,uBAAS,oBAAC;YAAK,eAAa;;;IAM5C,OAAOK;AACX;AAEAa,SAAS,wEAAwE;IAC7EC,UAAU;QACNC;IACJ;IAEAC,GAAG,iGAAiG;QAChGnB,UAAU;QACV,MAAMoB,OAAO,YAAY,CAAC;QAE1B,MAAMC,QAAQ;YACVC,OAAOF,OAAO,gBAAgB,CAAC,iBAAiB,YAAY,CAAC;YAC7DE,OAAOF,OAAO,gBAAgB,CAAC,aAAa,YAAY,CAAC;YACzD,MAAMG,WAAWC,SAAS,gBAAgB,CAAC;YAC3CF,OAAOC,UAAU,YAAY,CAAC;QAClC;IACJ;IAEAJ,GAAG,yFAAyF;QACxFnB,UAAU;QACV,MAAMoB,OAAO,YAAY,CAAC;QAE1BE,OAAOF,OAAO,gBAAgB,CAAC,iBAAiB,YAAY,CAAC;QAC7DE,OAAOF,OAAO,gBAAgB,CAAC,aAAa,YAAY,CAAC;QACzDE,OAAOE,SAAS,gBAAgB,CAAC,iCAAiC,YAAY,CAAC;QAC/EF,OAAOF,OAAO,gBAAgB,CAAC,oBAAoB,YAAY,CAAC;IACpE;IAEAD,GAAG,iEAAiE;QAChEnB,UAAU,MAAM;QAChB,MAAMoB,OAAO,YAAY,CAAC;QAE1B,MAAMC,QAAQ;YACVC,OAAOF,OAAO,gBAAgB,CAAC,aAAa,YAAY,CAAC;QAC7D;QACAE,OAAOF,OAAO,gBAAgB,CAAC,iBAAiB,YAAY,CAAC;IACjE;IAEAD,GAAG,wDAAwD;QACvDnB,UAAU,MAAM;QAChB,MAAMoB,OAAO,YAAY,CAAC;QAE1B,MAAMC,QAAQ;YACVC,OAAOF,OAAO,gBAAgB,CAAC,iBAAiB,YAAY,CAAC;QACjE;IACJ;IAEAD,GAAG,uCAAuC;QACtCnB,UAAU,OAAO;QACjB,MAAMoB,OAAO,YAAY,CAAC;QAE1BE,OAAOF,OAAO,gBAAgB,CAAC,iBAAiB,YAAY,CAAC;IACjE;AACJ"}
|
package/routes.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Route } from "@webiny/app-admin";
|
|
2
2
|
export declare const Routes: {
|
|
3
3
|
Pages: {
|
|
4
|
-
Workflows: Route<
|
|
5
|
-
|
|
4
|
+
Workflows: Route<undefined>;
|
|
5
|
+
WorkflowStateList: Route<{
|
|
6
|
+
tab: import("zod").ZodOptional<import("zod").ZodString>;
|
|
6
7
|
}>;
|
|
7
|
-
WorkflowStateList: Route<undefined>;
|
|
8
8
|
};
|
|
9
9
|
};
|
package/routes.js
CHANGED
|
@@ -3,14 +3,14 @@ const Routes = {
|
|
|
3
3
|
Pages: {
|
|
4
4
|
Workflows: new Route({
|
|
5
5
|
name: "WebsiteBuilder/PageWorkflow",
|
|
6
|
-
path: "/website-builder/workflows"
|
|
7
|
-
params: (zod)=>({
|
|
8
|
-
app: zod.string().optional()
|
|
9
|
-
})
|
|
6
|
+
path: "/website-builder/workflows"
|
|
10
7
|
}),
|
|
11
8
|
WorkflowStateList: new Route({
|
|
12
9
|
name: "WebsiteBuilder/Pages/WorkflowStateList",
|
|
13
|
-
path: "/website-builder/pages/content-reviews"
|
|
10
|
+
path: "/website-builder/pages/content-reviews",
|
|
11
|
+
params: (zod)=>({
|
|
12
|
+
tab: zod.string().optional()
|
|
13
|
+
})
|
|
14
14
|
})
|
|
15
15
|
}
|
|
16
16
|
};
|
package/routes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.js","sources":["../src/routes.ts"],"sourcesContent":["import { Route } from \"@webiny/app-admin\";\n\nexport const Routes = {\n Pages: {\n Workflows: new Route({\n name: \"WebsiteBuilder/PageWorkflow\",\n path: \"/website-builder/workflows\"
|
|
1
|
+
{"version":3,"file":"routes.js","sources":["../src/routes.ts"],"sourcesContent":["import { Route } from \"@webiny/app-admin\";\n\nexport const Routes = {\n Pages: {\n Workflows: new Route({\n name: \"WebsiteBuilder/PageWorkflow\",\n path: \"/website-builder/workflows\"\n }),\n WorkflowStateList: new Route({\n name: \"WebsiteBuilder/Pages/WorkflowStateList\",\n path: \"/website-builder/pages/content-reviews\",\n params: zod => {\n return {\n tab: zod.string().optional()\n };\n }\n })\n }\n};\n"],"names":["Routes","Route","zod"],"mappings":";AAEO,MAAMA,SAAS;IAClB,OAAO;QACH,WAAW,IAAIC,MAAM;YACjB,MAAM;YACN,MAAM;QACV;QACA,mBAAmB,IAAIA,MAAM;YACzB,MAAM;YACN,MAAM;YACN,QAAQC,CAAAA,MACG;oBACH,KAAKA,IAAI,MAAM,GAAG,QAAQ;gBAC9B;QAER;IACJ;AACJ"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { Container } from "@webiny/di";
|
|
3
|
+
import type { Editor } from "@webiny/app-website-builder/editorSdk/Editor.js";
|
|
4
|
+
import type { IPageEditorDocument } from "../Components/PageEditor/pageEditorDocument.js";
|
|
5
|
+
export interface WbEditorHarnessProps {
|
|
6
|
+
container: Container;
|
|
7
|
+
editor: Editor<IPageEditorDocument>;
|
|
8
|
+
groups?: string[];
|
|
9
|
+
children?: React.ReactNode;
|
|
10
|
+
}
|
|
11
|
+
export declare const WbEditorHarness: ({ container, editor, groups, children }: WbEditorHarnessProps) => React.JSX.Element;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import react from "react";
|
|
2
|
+
import { AdminUiProvider } from "@webiny/admin-ui";
|
|
3
|
+
import { DiContainerProvider } from "@webiny/app";
|
|
4
|
+
import { CompositionProvider, CompositionScope } from "@webiny/react-composition";
|
|
5
|
+
import { DocumentEditorContext } from "@webiny/app-website-builder/DocumentEditor/DocumentEditor.js";
|
|
6
|
+
import { EditorWithConfig } from "@webiny/app-website-builder/BaseEditor/config/EditorConfig.js";
|
|
7
|
+
import { EDITOR_NAME } from "@webiny/app-website-builder/presentation/pages/PageEditor/constants.js";
|
|
8
|
+
import { PageEditorConfig } from "@webiny/app-website-builder/presentation/pages/PageEditor/PageEditorConfig.js";
|
|
9
|
+
const { Ui: Ui } = PageEditorConfig;
|
|
10
|
+
const WbEditorHarness = ({ container, editor, groups = [], children })=>/*#__PURE__*/ react.createElement(DiContainerProvider, {
|
|
11
|
+
container: container
|
|
12
|
+
}, /*#__PURE__*/ react.createElement(AdminUiProvider, null, /*#__PURE__*/ react.createElement(CompositionProvider, null, /*#__PURE__*/ react.createElement(DocumentEditorContext.Provider, {
|
|
13
|
+
value: editor
|
|
14
|
+
}, children, /*#__PURE__*/ react.createElement(CompositionScope, {
|
|
15
|
+
name: EDITOR_NAME
|
|
16
|
+
}, /*#__PURE__*/ react.createElement(EditorWithConfig, null, groups.map((group)=>/*#__PURE__*/ react.createElement(Ui.TopBar.Elements, {
|
|
17
|
+
key: group,
|
|
18
|
+
group: group
|
|
19
|
+
}))))))));
|
|
20
|
+
export { WbEditorHarness };
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=WbEditorHarness.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testing/WbEditorHarness.js","sources":["../../src/testing/WbEditorHarness.tsx"],"sourcesContent":["import React from \"react\";\nimport type { Container } from \"@webiny/di\";\nimport { AdminUiProvider } from \"@webiny/admin-ui\";\nimport { DiContainerProvider } from \"@webiny/app\";\nimport { CompositionProvider } from \"@webiny/react-composition\";\nimport { CompositionScope } from \"@webiny/react-composition\";\nimport { DocumentEditorContext } from \"@webiny/app-website-builder/DocumentEditor/DocumentEditor.js\";\nimport { EditorWithConfig } from \"@webiny/app-website-builder/BaseEditor/config/EditorConfig.js\";\nimport { EDITOR_NAME } from \"@webiny/app-website-builder/presentation/pages/PageEditor/constants.js\";\nimport { PageEditorConfig } from \"@webiny/app-website-builder/presentation/pages/PageEditor/PageEditorConfig.js\";\nimport type { Editor } from \"@webiny/app-website-builder/editorSdk/Editor.js\";\nimport type { IPageEditorDocument } from \"~/Components/PageEditor/pageEditorDocument.js\";\n\nconst { Ui } = PageEditorConfig;\n\nexport interface WbEditorHarnessProps {\n container: Container;\n editor: Editor<IPageEditorDocument>;\n groups?: string[];\n children?: React.ReactNode;\n}\n\nexport const WbEditorHarness = ({\n container,\n editor,\n groups = [],\n children\n}: WbEditorHarnessProps) => {\n return (\n <DiContainerProvider container={container}>\n <AdminUiProvider>\n <CompositionProvider>\n <DocumentEditorContext.Provider value={editor}>\n {children}\n <CompositionScope name={EDITOR_NAME}>\n <EditorWithConfig>\n {groups.map(group => (\n <Ui.TopBar.Elements key={group} group={group} />\n ))}\n </EditorWithConfig>\n </CompositionScope>\n </DocumentEditorContext.Provider>\n </CompositionProvider>\n </AdminUiProvider>\n </DiContainerProvider>\n );\n};\n"],"names":["Ui","PageEditorConfig","WbEditorHarness","container","editor","groups","children","DiContainerProvider","AdminUiProvider","CompositionProvider","DocumentEditorContext","CompositionScope","EDITOR_NAME","EditorWithConfig","group"],"mappings":";;;;;;;;AAaA,MAAM,EAAEA,IAAAA,EAAE,EAAE,GAAGC;AASR,MAAMC,kBAAkB,CAAC,EAC5BC,SAAS,EACTC,MAAM,EACNC,SAAS,EAAE,EACXC,QAAQ,EACW,GACZ,WAAP,GACI,oBAACC,qBAAmBA;QAAC,WAAWJ;qBAC5B,oBAACK,iBAAeA,MAAAA,WAAAA,GACZ,oBAACC,qBAAmBA,MAAAA,WAAAA,GAChB,oBAACC,sBAAsB,QAAQ;QAAC,OAAON;OAClCE,UAAAA,WAAAA,GACD,oBAACK,kBAAgBA;QAAC,MAAMC;qBACpB,oBAACC,kBAAgBA,MACZR,OAAO,GAAG,CAACS,CAAAA,QAAAA,WAAAA,GACR,oBAACd,GAAG,MAAM,CAAC,QAAQ;YAAC,KAAKc;YAAO,OAAOA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { FakeTargetReviewPresenter } from "@webiny/app-workflows/review/testing/fakeTargetReviewPresenter.js";
|
|
2
|
+
import type { WbPageReview } from "../features/editorReview/abstractions.js";
|
|
3
|
+
import type { FakeReviewKind } from "./createFakeVm.js";
|
|
4
|
+
export interface FakeSessionHandle {
|
|
5
|
+
session: WbPageReview.Interface;
|
|
6
|
+
presenter: FakeTargetReviewPresenter;
|
|
7
|
+
setKind(kind: FakeReviewKind): void;
|
|
8
|
+
}
|
|
9
|
+
export declare const createFakeSession: (initialKind?: FakeReviewKind, isUnpublished?: boolean) => FakeSessionHandle;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { action, observable } from "mobx";
|
|
2
|
+
import { createFakePresenter } from "@webiny/app-workflows/review/testing/fakeTargetReviewPresenter.js";
|
|
3
|
+
import { createFakeVm } from "./createFakeVm.js";
|
|
4
|
+
const createFakeSession = (initialKind = "none", isUnpublished = false)=>{
|
|
5
|
+
const state = observable.box(createFakeVm(initialKind, isUnpublished), {
|
|
6
|
+
deep: false
|
|
7
|
+
});
|
|
8
|
+
const base = createFakePresenter();
|
|
9
|
+
const presenter = {
|
|
10
|
+
...base,
|
|
11
|
+
get vm () {
|
|
12
|
+
return state.get();
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
const session = {
|
|
16
|
+
presenter
|
|
17
|
+
};
|
|
18
|
+
const setKind = action((kind)=>{
|
|
19
|
+
state.set(createFakeVm(kind, isUnpublished));
|
|
20
|
+
});
|
|
21
|
+
return {
|
|
22
|
+
session,
|
|
23
|
+
presenter,
|
|
24
|
+
setKind
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
export { createFakeSession };
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=createFakeSession.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testing/createFakeSession.js","sources":["../../src/testing/createFakeSession.ts"],"sourcesContent":["import { action } from \"mobx\";\nimport { observable } from \"mobx\";\nimport { createFakePresenter } from \"@webiny/app-workflows/review/testing/fakeTargetReviewPresenter.js\";\nimport type { FakeTargetReviewPresenter } from \"@webiny/app-workflows/review/testing/fakeTargetReviewPresenter.js\";\nimport type { WbPageReview } from \"~/features/editorReview/abstractions.js\";\nimport type { FakeReviewKind } from \"./createFakeVm.js\";\nimport { createFakeVm } from \"./createFakeVm.js\";\n\nexport interface FakeSessionHandle {\n session: WbPageReview.Interface;\n presenter: FakeTargetReviewPresenter;\n setKind(kind: FakeReviewKind): void;\n}\n\n// A session over a fake presenter whose view model follows the given kind (R355: no use cases travel in it).\nexport const createFakeSession = (\n initialKind: FakeReviewKind = \"none\",\n isUnpublished: boolean = false\n): FakeSessionHandle => {\n const state = observable.box(createFakeVm(initialKind, isUnpublished), { deep: false });\n const base = createFakePresenter();\n const presenter: FakeTargetReviewPresenter = {\n ...base,\n get vm() {\n return state.get();\n }\n };\n const session: WbPageReview.Interface = { presenter };\n\n const setKind = action((kind: FakeReviewKind): void => {\n state.set(createFakeVm(kind, isUnpublished));\n });\n\n return { session, presenter, setKind };\n};\n"],"names":["createFakeSession","initialKind","isUnpublished","state","observable","createFakeVm","base","createFakePresenter","presenter","session","setKind","action","kind"],"mappings":";;;AAeO,MAAMA,oBAAoB,CAC7BC,cAA8B,MAAM,EACpCC,gBAAyB,KAAK;IAE9B,MAAMC,QAAQC,WAAW,GAAG,CAACC,aAAaJ,aAAaC,gBAAgB;QAAE,MAAM;IAAM;IACrF,MAAMI,OAAOC;IACb,MAAMC,YAAuC;QACzC,GAAGF,IAAI;QACP,IAAI,MAAK;YACL,OAAOH,MAAM,GAAG;QACpB;IACJ;IACA,MAAMM,UAAkC;QAAED;IAAU;IAEpD,MAAME,UAAUC,OAAO,CAACC;QACpBT,MAAM,GAAG,CAACE,aAAaO,MAAMV;IACjC;IAEA,OAAO;QAAEO;QAASD;QAAWE;IAAQ;AACzC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { TargetReviewPresenter } from "@webiny/app-workflows/review/presentation/targetReview/abstractions.js";
|
|
2
|
+
export type FakeReviewKind = "loading" | "failed" | "noWorkflow" | "none" | "inProgress" | "approved" | "rejected";
|
|
3
|
+
export declare const createFakeVm: (kind: FakeReviewKind, isUnpublished?: boolean) => TargetReviewPresenter.ViewModel;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { getEditorRules } from "@webiny/app-workflows/review/presentation/targetReview/getEditorRules.js";
|
|
2
|
+
import { createTargetReviewViewModel } from "@webiny/app-workflows/review/testing/createTargetReviewViewModel.js";
|
|
3
|
+
const FAKE_REVIEW_STATES = {
|
|
4
|
+
loading: {
|
|
5
|
+
status: "loading",
|
|
6
|
+
reviewKind: "none"
|
|
7
|
+
},
|
|
8
|
+
failed: {
|
|
9
|
+
status: "failed",
|
|
10
|
+
reviewKind: "none"
|
|
11
|
+
},
|
|
12
|
+
noWorkflow: {
|
|
13
|
+
status: "noWorkflow",
|
|
14
|
+
reviewKind: "none"
|
|
15
|
+
},
|
|
16
|
+
none: {
|
|
17
|
+
status: "none",
|
|
18
|
+
reviewKind: "none"
|
|
19
|
+
},
|
|
20
|
+
inProgress: {
|
|
21
|
+
status: "active",
|
|
22
|
+
reviewKind: "inProgress"
|
|
23
|
+
},
|
|
24
|
+
approved: {
|
|
25
|
+
status: "active",
|
|
26
|
+
reviewKind: "approved"
|
|
27
|
+
},
|
|
28
|
+
rejected: {
|
|
29
|
+
status: "active",
|
|
30
|
+
reviewKind: "rejected"
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
const createFakeVm = (kind, isUnpublished = false)=>{
|
|
34
|
+
const { status, reviewKind } = FAKE_REVIEW_STATES[kind];
|
|
35
|
+
const rules = getEditorRules({
|
|
36
|
+
status,
|
|
37
|
+
reviewKind,
|
|
38
|
+
isUnpublished
|
|
39
|
+
});
|
|
40
|
+
return createTargetReviewViewModel({
|
|
41
|
+
status,
|
|
42
|
+
reviewKind,
|
|
43
|
+
allowsEditing: rules.allowsEditing,
|
|
44
|
+
allowsPublishing: rules.allowsPublishing,
|
|
45
|
+
publishDisabledReason: rules.publishDisabledReason,
|
|
46
|
+
moveDisabledReason: rules.moveDisabledReason
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
export { createFakeVm };
|
|
50
|
+
|
|
51
|
+
//# sourceMappingURL=createFakeVm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testing/createFakeVm.js","sources":["../../src/testing/createFakeVm.ts"],"sourcesContent":["import type { TargetReviewKind } from \"@webiny/app-workflows/review/presentation/targetReview/abstractions.js\";\nimport type { TargetReviewPresenter } from \"@webiny/app-workflows/review/presentation/targetReview/abstractions.js\";\nimport type { TargetReviewStatus } from \"@webiny/app-workflows/review/presentation/targetReview/abstractions.js\";\nimport { getEditorRules } from \"@webiny/app-workflows/review/presentation/targetReview/getEditorRules.js\";\nimport { createTargetReviewViewModel } from \"@webiny/app-workflows/review/testing/createTargetReviewViewModel.js\";\n\nexport type FakeReviewKind =\n | \"loading\"\n | \"failed\"\n | \"noWorkflow\"\n | \"none\"\n | \"inProgress\"\n | \"approved\"\n | \"rejected\";\n\ninterface FakeReviewState {\n status: TargetReviewStatus;\n reviewKind: TargetReviewKind;\n}\n\nconst FAKE_REVIEW_STATES: Record<FakeReviewKind, FakeReviewState> = {\n loading: { status: \"loading\", reviewKind: \"none\" },\n failed: { status: \"failed\", reviewKind: \"none\" },\n noWorkflow: { status: \"noWorkflow\", reviewKind: \"none\" },\n none: { status: \"none\", reviewKind: \"none\" },\n inProgress: { status: \"active\", reviewKind: \"inProgress\" },\n approved: { status: \"active\", reviewKind: \"approved\" },\n rejected: { status: \"active\", reviewKind: \"rejected\" }\n};\n\nexport const createFakeVm = (\n kind: FakeReviewKind,\n isUnpublished: boolean = false\n): TargetReviewPresenter.ViewModel => {\n const { status, reviewKind } = FAKE_REVIEW_STATES[kind];\n const rules = getEditorRules({ status, reviewKind, isUnpublished });\n\n return createTargetReviewViewModel({\n status,\n reviewKind,\n allowsEditing: rules.allowsEditing,\n allowsPublishing: rules.allowsPublishing,\n publishDisabledReason: rules.publishDisabledReason,\n moveDisabledReason: rules.moveDisabledReason\n });\n};\n"],"names":["FAKE_REVIEW_STATES","createFakeVm","kind","isUnpublished","status","reviewKind","rules","getEditorRules","createTargetReviewViewModel"],"mappings":";;AAoBA,MAAMA,qBAA8D;IAChE,SAAS;QAAE,QAAQ;QAAW,YAAY;IAAO;IACjD,QAAQ;QAAE,QAAQ;QAAU,YAAY;IAAO;IAC/C,YAAY;QAAE,QAAQ;QAAc,YAAY;IAAO;IACvD,MAAM;QAAE,QAAQ;QAAQ,YAAY;IAAO;IAC3C,YAAY;QAAE,QAAQ;QAAU,YAAY;IAAa;IACzD,UAAU;QAAE,QAAQ;QAAU,YAAY;IAAW;IACrD,UAAU;QAAE,QAAQ;QAAU,YAAY;IAAW;AACzD;AAEO,MAAMC,eAAe,CACxBC,MACAC,gBAAyB,KAAK;IAE9B,MAAM,EAAEC,MAAM,EAAEC,UAAU,EAAE,GAAGL,kBAAkB,CAACE,KAAK;IACvD,MAAMI,QAAQC,eAAe;QAAEH;QAAQC;QAAYF;IAAc;IAEjE,OAAOK,4BAA4B;QAC/BJ;QACAC;QACA,eAAeC,MAAM,aAAa;QAClC,kBAAkBA,MAAM,gBAAgB;QACxC,uBAAuBA,MAAM,qBAAqB;QAClD,oBAAoBA,MAAM,kBAAkB;IAChD;AACJ"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { RootFolder } from "@webiny/app-aco/domain/folder/RootFolder.js";
|
|
2
|
+
const createFolder = (id, title, parentId)=>({
|
|
3
|
+
...RootFolder.create(),
|
|
4
|
+
id,
|
|
5
|
+
title,
|
|
6
|
+
slug: title.toLowerCase(),
|
|
7
|
+
type: "wb:page",
|
|
8
|
+
parentId,
|
|
9
|
+
path: `/${title.toLowerCase()}`
|
|
10
|
+
});
|
|
11
|
+
export { createFolder };
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=createFolder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testing/createFolder.js","sources":["../../src/testing/createFolder.ts"],"sourcesContent":["import type { FolderDto } from \"@webiny/app-aco/domain/folder/FolderDto.js\";\nimport { RootFolder } from \"@webiny/app-aco/domain/folder/RootFolder.js\";\n\n/*\n * An ACO folder as `ListFoldersGateway` returns it: the root folder's shape with this folder's\n * id, title and parent.\n */\nexport const createFolder = (id: string, title: string, parentId: string | null): FolderDto => {\n return {\n ...RootFolder.create(),\n id,\n title,\n slug: title.toLowerCase(),\n type: \"wb:page\",\n parentId,\n path: `/${title.toLowerCase()}`\n };\n};\n"],"names":["createFolder","id","title","parentId","RootFolder"],"mappings":";AAOO,MAAMA,eAAe,CAACC,IAAYC,OAAeC,WAC7C;QACH,GAAGC,WAAW,MAAM,EAAE;QACtBH;QACAC;QACA,MAAMA,MAAM,WAAW;QACvB,MAAM;QACNC;QACA,MAAM,CAAC,CAAC,EAAED,MAAM,WAAW,IAAI;IACnC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Editor } from "@webiny/app-website-builder/editorSdk/Editor.js";
|
|
2
|
+
import type { WbStatus } from "@webiny/app-website-builder/constants.js";
|
|
3
|
+
import type { IPageEditorDocument } from "../Components/PageEditor/pageEditorDocument.js";
|
|
4
|
+
export declare const createPageEditor: (pageStatus: WbStatus, title?: string, createdById?: string | null) => Editor<IPageEditorDocument>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Editor } from "@webiny/app-website-builder/editorSdk/Editor.js";
|
|
2
|
+
import { WbPageStatus } from "@webiny/app-website-builder/constants.js";
|
|
3
|
+
const createPageEditor = (pageStatus, title = "Home", createdById = null)=>{
|
|
4
|
+
const document = {
|
|
5
|
+
id: "page-1#0001",
|
|
6
|
+
status: pageStatus,
|
|
7
|
+
version: 1,
|
|
8
|
+
state: {},
|
|
9
|
+
properties: {
|
|
10
|
+
title
|
|
11
|
+
},
|
|
12
|
+
extensions: {},
|
|
13
|
+
metadata: {},
|
|
14
|
+
bindings: {},
|
|
15
|
+
elements: {},
|
|
16
|
+
createdBy: createdById ? {
|
|
17
|
+
id: createdById
|
|
18
|
+
} : null
|
|
19
|
+
};
|
|
20
|
+
return new Editor(document, {
|
|
21
|
+
isReadOnly: pageStatus !== WbPageStatus.Draft
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
export { createPageEditor };
|
|
25
|
+
|
|
26
|
+
//# sourceMappingURL=createPageEditor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testing/createPageEditor.js","sources":["../../src/testing/createPageEditor.ts"],"sourcesContent":["import { Editor } from \"@webiny/app-website-builder/editorSdk/Editor.js\";\nimport { WbPageStatus } from \"@webiny/app-website-builder/constants.js\";\nimport type { WbStatus } from \"@webiny/app-website-builder/constants.js\";\nimport type { IPageEditorDocument } from \"~/Components/PageEditor/pageEditorDocument.js\";\n\nexport const createPageEditor = (\n pageStatus: WbStatus,\n title: string = \"Home\",\n createdById: string | null = null\n): Editor<IPageEditorDocument> => {\n const document: IPageEditorDocument = {\n id: \"page-1#0001\",\n status: pageStatus,\n version: 1,\n state: {},\n properties: { title },\n extensions: {},\n metadata: {},\n bindings: {},\n elements: {},\n createdBy: createdById ? { id: createdById } : null\n };\n\n return new Editor<IPageEditorDocument>(document, {\n isReadOnly: pageStatus !== WbPageStatus.Draft\n });\n};\n"],"names":["createPageEditor","pageStatus","title","createdById","document","Editor","WbPageStatus"],"mappings":";;AAKO,MAAMA,mBAAmB,CAC5BC,YACAC,QAAgB,MAAM,EACtBC,cAA6B,IAAI;IAEjC,MAAMC,WAAgC;QAClC,IAAI;QACJ,QAAQH;QACR,SAAS;QACT,OAAO,CAAC;QACR,YAAY;YAAEC;QAAM;QACpB,YAAY,CAAC;QACb,UAAU,CAAC;QACX,UAAU,CAAC;QACX,UAAU,CAAC;QACX,WAAWC,cAAc;YAAE,IAAIA;QAAY,IAAI;IACnD;IAEA,OAAO,IAAIE,OAA4BD,UAAU;QAC7C,YAAYH,eAAeK,aAAa,KAAK;IACjD;AACJ"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Mock } from "vitest";
|
|
2
|
+
import type { Container } from "@webiny/di";
|
|
3
|
+
import { ListCache } from "@webiny/app-admin/features/listCache/index.js";
|
|
4
|
+
import { Page } from "@webiny/app-website-builder/domain/Page/index.js";
|
|
5
|
+
import type { GetPageParams } from "@webiny/app-website-builder/features/pages/getPage/abstractions.js";
|
|
6
|
+
export interface PageContentOwnableItem {
|
|
7
|
+
createdBy: {
|
|
8
|
+
id: string;
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
export interface PageContentHandles {
|
|
12
|
+
cache: ListCache<Page>;
|
|
13
|
+
getPage: {
|
|
14
|
+
execute: Mock<(params: GetPageParams) => Promise<Page>>;
|
|
15
|
+
};
|
|
16
|
+
permissions: {
|
|
17
|
+
canEdit: Mock<(entity: string, item?: PageContentOwnableItem) => boolean>;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export declare const registerPageContent: (container: Container) => PageContentHandles;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { vi } from "vitest";
|
|
2
|
+
import { ListCache } from "@webiny/app-admin/features/listCache/index.js";
|
|
3
|
+
import { Page } from "@webiny/app-website-builder/domain/Page/index.js";
|
|
4
|
+
import { GetPageUseCase } from "@webiny/app-website-builder/features/pages/getPage/abstractions.js";
|
|
5
|
+
import { FullPageCache } from "@webiny/app-website-builder/features/pages/shared/abstractions.js";
|
|
6
|
+
import { WbPermissions } from "@webiny/app-website-builder/features/permissions/abstractions.js";
|
|
7
|
+
const registerPageContent = (container)=>{
|
|
8
|
+
const cache = new ListCache("id");
|
|
9
|
+
const getPage = {
|
|
10
|
+
execute: vi.fn(async (params)=>Page.create({
|
|
11
|
+
id: params.id
|
|
12
|
+
}))
|
|
13
|
+
};
|
|
14
|
+
const permissions = {
|
|
15
|
+
canEdit: vi.fn((_entity, _item)=>true)
|
|
16
|
+
};
|
|
17
|
+
container.registerInstance(FullPageCache, cache);
|
|
18
|
+
container.registerInstance(GetPageUseCase, getPage);
|
|
19
|
+
container.registerInstance(WbPermissions, permissions);
|
|
20
|
+
return {
|
|
21
|
+
cache,
|
|
22
|
+
getPage,
|
|
23
|
+
permissions
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
export { registerPageContent };
|
|
27
|
+
|
|
28
|
+
//# sourceMappingURL=registerPageContent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testing/registerPageContent.js","sources":["../../src/testing/registerPageContent.ts"],"sourcesContent":["import { vi } from \"vitest\";\nimport type { Mock } from \"vitest\";\nimport type { Container } from \"@webiny/di\";\nimport { ListCache } from \"@webiny/app-admin/features/listCache/index.js\";\nimport { Page } from \"@webiny/app-website-builder/domain/Page/index.js\";\nimport { GetPageUseCase } from \"@webiny/app-website-builder/features/pages/getPage/abstractions.js\";\nimport type { GetPageParams } from \"@webiny/app-website-builder/features/pages/getPage/abstractions.js\";\nimport { FullPageCache } from \"@webiny/app-website-builder/features/pages/shared/abstractions.js\";\nimport { WbPermissions } from \"@webiny/app-website-builder/features/permissions/abstractions.js\";\n\nexport interface PageContentOwnableItem {\n createdBy: { id: string };\n}\n\nexport interface PageContentHandles {\n cache: ListCache<Page>;\n getPage: { execute: Mock<(params: GetPageParams) => Promise<Page>> };\n permissions: { canEdit: Mock<(entity: string, item?: PageContentOwnableItem) => boolean> };\n}\n\n// What `PageReviewBar` needs from `app-website-builder`: the full page cache, the get use case and\n// the page permissions (a user who can edit pages unless a test says otherwise).\nexport const registerPageContent = (container: Container): PageContentHandles => {\n const cache = new ListCache<Page>(\"id\");\n const getPage = {\n execute: vi.fn(async (params: GetPageParams) => {\n return Page.create({ id: params.id });\n })\n };\n\n const permissions = {\n canEdit: vi.fn((_entity: string, _item?: PageContentOwnableItem) => true)\n };\n\n container.registerInstance(FullPageCache, cache);\n container.registerInstance(GetPageUseCase, getPage);\n container.registerInstance(WbPermissions, permissions as unknown as WbPermissions.Interface);\n\n return { cache, getPage, permissions };\n};\n"],"names":["registerPageContent","container","cache","ListCache","getPage","vi","params","Page","permissions","_entity","_item","FullPageCache","GetPageUseCase","WbPermissions"],"mappings":";;;;;;AAsBO,MAAMA,sBAAsB,CAACC;IAChC,MAAMC,QAAQ,IAAIC,UAAgB;IAClC,MAAMC,UAAU;QACZ,SAASC,GAAG,EAAE,CAAC,OAAOC,SACXC,KAAK,MAAM,CAAC;gBAAE,IAAID,OAAO,EAAE;YAAC;IAE3C;IAEA,MAAME,cAAc;QAChB,SAASH,GAAG,EAAE,CAAC,CAACI,SAAiBC,QAAmC;IACxE;IAEAT,UAAU,gBAAgB,CAACU,eAAeT;IAC1CD,UAAU,gBAAgB,CAACW,gBAAgBR;IAC3CH,UAAU,gBAAgB,CAACY,eAAeL;IAE1C,OAAO;QAAEN;QAAOE;QAASI;IAAY;AACzC"}
|
package/types.d.ts
CHANGED
|
@@ -1,15 +1,9 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export interface IPageWorkflowState {
|
|
3
|
-
workflowId: string;
|
|
4
|
-
stepId: string;
|
|
5
|
-
stepName: string;
|
|
6
|
-
state: WorkflowStateValue;
|
|
7
|
-
}
|
|
1
|
+
import type { SystemWorkflowValue } from "@webiny/app-workflows/review/domain/types.js";
|
|
8
2
|
export type WithWorkflows<T> = T & {
|
|
9
|
-
workflow:
|
|
3
|
+
workflow: SystemWorkflowValue | null;
|
|
10
4
|
};
|
|
11
5
|
declare module "@webiny/app-website-builder/types.js" {
|
|
12
6
|
interface WbPageSystem {
|
|
13
|
-
workflow:
|
|
7
|
+
workflow: SystemWorkflowValue | null;
|
|
14
8
|
}
|
|
15
9
|
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import react, { useCallback } from "react";
|
|
2
|
-
import { DropdownMenu, Icon } from "@webiny/admin-ui";
|
|
3
|
-
import { Components } from "@webiny/app-workflows";
|
|
4
|
-
import { ReactComponent } from "@webiny/icons/open_in_new.svg";
|
|
5
|
-
import { useRouter } from "@webiny/app";
|
|
6
|
-
import { Routes } from "@webiny/app-website-builder/routes.js";
|
|
7
|
-
import { WB_PAGE_APP } from "../../constants.js";
|
|
8
|
-
const { OpenInNewWindow: OpenInNewWindow } = Components.List.Options;
|
|
9
|
-
const OpenInNewWindow_ListOpenInNewWindow = OpenInNewWindow.createDecorator((Original)=>function(props) {
|
|
10
|
-
const { state } = props;
|
|
11
|
-
const { getLink } = useRouter();
|
|
12
|
-
const onClick = useCallback(()=>{
|
|
13
|
-
const url = getLink(Routes.Pages.Editor, {
|
|
14
|
-
id: state.targetRevisionId,
|
|
15
|
-
folderId: "root"
|
|
16
|
-
});
|
|
17
|
-
const goTo = `${window.location.origin}${url}`;
|
|
18
|
-
window.open(goTo, "_blank");
|
|
19
|
-
}, [
|
|
20
|
-
state.id
|
|
21
|
-
]);
|
|
22
|
-
if (state.app !== WB_PAGE_APP) return /*#__PURE__*/ react.createElement(Original, props);
|
|
23
|
-
return /*#__PURE__*/ react.createElement(DropdownMenu.Item, {
|
|
24
|
-
icon: /*#__PURE__*/ react.createElement(Icon, {
|
|
25
|
-
icon: /*#__PURE__*/ react.createElement(ReactComponent, null),
|
|
26
|
-
label: "Open In New Window"
|
|
27
|
-
}),
|
|
28
|
-
text: "Open in New Window",
|
|
29
|
-
onClick: onClick
|
|
30
|
-
});
|
|
31
|
-
});
|
|
32
|
-
export { OpenInNewWindow_ListOpenInNewWindow as ListOpenInNewWindow };
|
|
33
|
-
|
|
34
|
-
//# sourceMappingURL=OpenInNewWindow.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Components/OptionItem/OpenInNewWindow.js","sources":["../../../src/Components/OptionItem/OpenInNewWindow.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport { DropdownMenu, Icon } from \"@webiny/admin-ui\";\nimport { Components } from \"@webiny/app-workflows\";\nimport { ReactComponent as OpenInNewIcon } from \"@webiny/icons/open_in_new.svg\";\nimport { useRouter } from \"@webiny/app\";\nimport { Routes } from \"@webiny/app-website-builder/routes.js\";\nimport { WB_PAGE_APP } from \"~/constants.js\";\n\nconst { OpenInNewWindow } = Components.List.Options;\n\nexport const ListOpenInNewWindow = OpenInNewWindow.createDecorator(Original => {\n return function ListOpenInNewWindow(props) {\n const { state } = props;\n\n const { getLink } = useRouter();\n const onClick = useCallback(() => {\n const url = getLink(Routes.Pages.Editor, {\n id: state.targetRevisionId,\n folderId: \"root\"\n });\n\n const goTo = `${window.location.origin}${url}`;\n\n window.open(goTo, \"_blank\");\n }, [state.id]);\n\n if (state.app !== WB_PAGE_APP) {\n return <Original {...props} />;\n }\n\n return (\n <DropdownMenu.Item\n icon={<Icon icon={<OpenInNewIcon />} label={\"Open In New Window\"} />}\n text={\"Open in New Window\"}\n onClick={onClick}\n />\n );\n };\n});\n"],"names":["OpenInNewWindow","Components","ListOpenInNewWindow","Original","props","state","getLink","useRouter","onClick","useCallback","url","Routes","goTo","window","WB_PAGE_APP","DropdownMenu","Icon","OpenInNewIcon"],"mappings":";;;;;;;AAQA,MAAM,EAAEA,iBAAAA,eAAe,EAAE,GAAGC,WAAW,IAAI,CAAC,OAAO;AAE5C,MAAMC,sCAAsBF,gBAAgB,eAAe,CAACG,CAAAA,WACxD,SAA6BC,KAAK;QACrC,MAAM,EAAEC,KAAK,EAAE,GAAGD;QAElB,MAAM,EAAEE,OAAO,EAAE,GAAGC;QACpB,MAAMC,UAAUC,YAAY;YACxB,MAAMC,MAAMJ,QAAQK,OAAO,KAAK,CAAC,MAAM,EAAE;gBACrC,IAAIN,MAAM,gBAAgB;gBAC1B,UAAU;YACd;YAEA,MAAMO,OAAO,GAAGC,OAAO,QAAQ,CAAC,MAAM,GAAGH,KAAK;YAE9CG,OAAO,IAAI,CAACD,MAAM;QACtB,GAAG;YAACP,MAAM,EAAE;SAAC;QAEb,IAAIA,MAAM,GAAG,KAAKS,aACd,OAAO,WAAP,GAAO,oBAACX,UAAaC;QAGzB,OAAO,WAAP,GACI,oBAACW,aAAa,IAAI;YACd,oBAAM,oBAACC,MAAIA;gBAAC,oBAAM,oBAACC,gBAAaA;gBAAK,OAAO;;YAC5C,MAAM;YACN,SAAST;;IAGrB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { ListOpenInNewWindow } from "./OpenInNewWindow.js";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { ListOpenInNewWindow } from "./OpenInNewWindow.js";
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import react from "react";
|
|
2
|
-
import { observer } from "mobx-react-lite";
|
|
3
|
-
import { Alert } from "@webiny/admin-ui";
|
|
4
|
-
import { Components, useWorkflowState } from "@webiny/app-workflows";
|
|
5
|
-
const { ContentReview: { WorkflowStateBar: WorkflowStateBar } } = Components;
|
|
6
|
-
const PageFormWorkflowState = observer(()=>{
|
|
7
|
-
const { presenter } = useWorkflowState();
|
|
8
|
-
return /*#__PURE__*/ react.createElement("div", {
|
|
9
|
-
className: "max-w-screen bg-white p-sm border-solid border-b-sm border-neutral-dimmed",
|
|
10
|
-
"data-affects-preview": "height"
|
|
11
|
-
}, /*#__PURE__*/ react.createElement(WorkflowStateBar, null), presenter.vm.hasState ? /*#__PURE__*/ react.createElement(Alert, {
|
|
12
|
-
type: "danger",
|
|
13
|
-
className: "mt-sm"
|
|
14
|
-
}, "Any changes you do on the page will not be stored!") : null);
|
|
15
|
-
});
|
|
16
|
-
export { PageFormWorkflowState };
|
|
17
|
-
|
|
18
|
-
//# sourceMappingURL=PageFormWorkflowState.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Components/PageEditor/PageFormWorkflowState.js","sources":["../../../src/Components/PageEditor/PageFormWorkflowState.tsx"],"sourcesContent":["import React from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { Alert } from \"@webiny/admin-ui\";\nimport { Components, useWorkflowState } from \"@webiny/app-workflows\";\n\nconst {\n ContentReview: { WorkflowStateBar }\n} = Components;\n\nexport const PageFormWorkflowState = observer(() => {\n const { presenter } = useWorkflowState();\n\n return (\n <div\n className={\"max-w-screen bg-white p-sm border-solid border-b-sm border-neutral-dimmed\"}\n data-affects-preview={\"height\"}\n >\n <WorkflowStateBar />\n {presenter.vm.hasState ? (\n <Alert type=\"danger\" className={\"mt-sm\"}>\n Any changes you do on the page will not be stored!\n </Alert>\n ) : null}\n </div>\n );\n});\n"],"names":["WorkflowStateBar","Components","PageFormWorkflowState","observer","presenter","useWorkflowState","Alert"],"mappings":";;;;AAKA,MAAM,EACF,eAAe,EAAEA,kBAAAA,gBAAgB,EAAE,EACtC,GAAGC;AAEG,MAAMC,wBAAwBC,SAAS;IAC1C,MAAM,EAAEC,SAAS,EAAE,GAAGC;IAEtB,OAAO,WAAP,GACI,oBAAC;QACG,WAAW;QACX,wBAAsB;qBAEtB,oBAACL,kBAAgBA,OAChBI,UAAU,EAAE,CAAC,QAAQ,GAAG,WAAH,GAClB,oBAACE,OAAKA;QAAC,MAAK;QAAS,WAAW;OAAS,wDAGzC;AAGhB"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import react from "react";
|
|
2
|
-
import { PageEditorConfig } from "@webiny/app-website-builder";
|
|
3
|
-
import { useWorkflowState } from "@webiny/app-workflows";
|
|
4
|
-
import { observer } from "mobx-react-lite";
|
|
5
|
-
const { Ui: Ui } = PageEditorConfig;
|
|
6
|
-
const WrappedPublishButton = observer((props)=>{
|
|
7
|
-
const { presenter } = useWorkflowState();
|
|
8
|
-
if (!presenter.vm.hasWorkflow || presenter.vm.isApproved) return props.element;
|
|
9
|
-
return null;
|
|
10
|
-
});
|
|
11
|
-
const PageFormWorkflowStatePublishButton = Ui.TopBar.Action.createDecorator((Original)=>function(props) {
|
|
12
|
-
if ("buttonPublish" === props.name) return /*#__PURE__*/ react.createElement(Original, {
|
|
13
|
-
...props,
|
|
14
|
-
element: /*#__PURE__*/ react.createElement(WrappedPublishButton, {
|
|
15
|
-
element: props.element
|
|
16
|
-
})
|
|
17
|
-
});
|
|
18
|
-
return /*#__PURE__*/ react.createElement(Original, props);
|
|
19
|
-
});
|
|
20
|
-
export { PageFormWorkflowStatePublishButton };
|
|
21
|
-
|
|
22
|
-
//# sourceMappingURL=PageFormWorkflowStatePublishButton.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Components/PageEditor/PageFormWorkflowStatePublishButton.js","sources":["../../../src/Components/PageEditor/PageFormWorkflowStatePublishButton.tsx"],"sourcesContent":["import React from \"react\";\nimport { PageEditorConfig } from \"@webiny/app-website-builder\";\nimport { useWorkflowState } from \"@webiny/app-workflows\";\nimport { observer } from \"mobx-react-lite\";\n\nconst { Ui } = PageEditorConfig;\n\ninterface IWrappedPublishButtonProps {\n element?: React.ReactElement | null;\n}\n\nconst WrappedPublishButton = observer((props: IWrappedPublishButtonProps) => {\n const { presenter } = useWorkflowState();\n /**\n * Publish button should be visible only when there is no workflow available and when workflow state is approved.\n */\n if (!presenter.vm.hasWorkflow || presenter.vm.isApproved) {\n return props.element;\n }\n\n return null;\n});\n\nexport const PageFormWorkflowStatePublishButton = Ui.TopBar.Action.createDecorator(Original => {\n return function AutoSaveDecorator(props) {\n if (props.name === \"buttonPublish\") {\n return (\n <Original {...props} element={<WrappedPublishButton element={props.element} />} />\n );\n }\n return <Original {...props} />;\n };\n});\n"],"names":["Ui","PageEditorConfig","WrappedPublishButton","observer","props","presenter","useWorkflowState","PageFormWorkflowStatePublishButton","Original"],"mappings":";;;;AAKA,MAAM,EAAEA,IAAAA,EAAE,EAAE,GAAGC;AAMf,MAAMC,uBAAuBC,SAAS,CAACC;IACnC,MAAM,EAAEC,SAAS,EAAE,GAAGC;IAItB,IAAI,CAACD,UAAU,EAAE,CAAC,WAAW,IAAIA,UAAU,EAAE,CAAC,UAAU,EACpD,OAAOD,MAAM,OAAO;IAGxB,OAAO;AACX;AAEO,MAAMG,qCAAqCP,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAACQ,CAAAA,WACxE,SAA2BJ,KAAK;QACnC,IAAIA,AAAe,oBAAfA,MAAM,IAAI,EACV,OAAO,WAAP,GACI,oBAACI,UAAAA;YAAU,GAAGJ,KAAK;YAAE,uBAAS,oBAACF,sBAAoBA;gBAAC,SAASE,MAAM,OAAO;;;QAGlF,OAAO,WAAP,GAAO,oBAACI,UAAaJ;IACzB"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import react from "react";
|
|
2
|
-
import { Components } from "@webiny/app-workflows";
|
|
3
|
-
import { PageEditorConfig } from "@webiny/app-website-builder";
|
|
4
|
-
const { ContentReview: { WorkflowStateTooltip: WorkflowStateTooltip } } = Components;
|
|
5
|
-
const { Ui: Ui } = PageEditorConfig;
|
|
6
|
-
const TooltipButton = ()=>/*#__PURE__*/ react.createElement(WorkflowStateTooltip, null);
|
|
7
|
-
const PageFormWorkflowStateTooltip = ()=>/*#__PURE__*/ react.createElement(Ui.TopBar.Action, {
|
|
8
|
-
before: "buttonPublish",
|
|
9
|
-
name: "buttonWorkflowStateTooltip",
|
|
10
|
-
element: /*#__PURE__*/ react.createElement(TooltipButton, null)
|
|
11
|
-
});
|
|
12
|
-
export { PageFormWorkflowStateTooltip };
|
|
13
|
-
|
|
14
|
-
//# sourceMappingURL=PageFormWorkflowStateTooltip.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Components/PageEditor/PageFormWorkflowStateTooltip.js","sources":["../../../src/Components/PageEditor/PageFormWorkflowStateTooltip.tsx"],"sourcesContent":["import React from \"react\";\nimport { Components } from \"@webiny/app-workflows\";\nimport { PageEditorConfig } from \"@webiny/app-website-builder\";\n\nconst {\n ContentReview: { WorkflowStateTooltip }\n} = Components;\n\nconst { Ui } = PageEditorConfig;\n\nconst TooltipButton = () => {\n return <WorkflowStateTooltip />;\n};\n\nexport const PageFormWorkflowStateTooltip = () => {\n return (\n <Ui.TopBar.Action\n before={\"buttonPublish\"}\n name={\"buttonWorkflowStateTooltip\"}\n element={<TooltipButton />}\n />\n );\n};\n"],"names":["WorkflowStateTooltip","Components","Ui","PageEditorConfig","TooltipButton","PageFormWorkflowStateTooltip"],"mappings":";;;AAIA,MAAM,EACF,eAAe,EAAEA,sBAAAA,oBAAoB,EAAE,EAC1C,GAAGC;AAEJ,MAAM,EAAEC,IAAAA,EAAE,EAAE,GAAGC;AAEf,MAAMC,gBAAgB,IACX,WAAP,GAAO,oBAACJ,sBAAoBA;AAGzB,MAAMK,+BAA+B,IACjC,WAAP,GACI,oBAACH,GAAG,MAAM,CAAC,MAAM;QACb,QAAQ;QACR,MAAM;QACN,uBAAS,oBAACE,eAAaA"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { useEffect } from "react";
|
|
2
|
-
import { observer } from "mobx-react-lite";
|
|
3
|
-
import { useWorkflowState } from "@webiny/app-workflows";
|
|
4
|
-
import { useDocumentEditor } from "@webiny/app-website-builder/DocumentEditor/index.js";
|
|
5
|
-
const ToggleEditorMode = observer(()=>{
|
|
6
|
-
const { presenter } = useWorkflowState();
|
|
7
|
-
const editor = useDocumentEditor();
|
|
8
|
-
const hasState = presenter.vm.hasState;
|
|
9
|
-
useEffect(()=>{
|
|
10
|
-
const options = editor.getEditorOptions();
|
|
11
|
-
editor.updateEditor((state)=>{
|
|
12
|
-
state.isReadOnly = options.isReadOnly || hasState;
|
|
13
|
-
});
|
|
14
|
-
}, [
|
|
15
|
-
hasState
|
|
16
|
-
]);
|
|
17
|
-
return null;
|
|
18
|
-
});
|
|
19
|
-
export { ToggleEditorMode };
|
|
20
|
-
|
|
21
|
-
//# sourceMappingURL=ToggleEditorMode.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Components/PageEditor/ToggleEditorMode.js","sources":["../../../src/Components/PageEditor/ToggleEditorMode.tsx"],"sourcesContent":["import { useEffect } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useWorkflowState } from \"@webiny/app-workflows\";\nimport { useDocumentEditor } from \"@webiny/app-website-builder/DocumentEditor/index.js\";\n\nexport const ToggleEditorMode = observer(() => {\n const { presenter } = useWorkflowState();\n const editor = useDocumentEditor();\n\n const hasState = presenter.vm.hasState;\n\n useEffect(() => {\n const options = editor.getEditorOptions();\n editor.updateEditor(state => {\n state.isReadOnly = options.isReadOnly || hasState;\n });\n }, [hasState]);\n\n return null;\n});\n"],"names":["ToggleEditorMode","observer","presenter","useWorkflowState","editor","useDocumentEditor","hasState","useEffect","options","state"],"mappings":";;;;AAKO,MAAMA,mBAAmBC,SAAS;IACrC,MAAM,EAAEC,SAAS,EAAE,GAAGC;IACtB,MAAMC,SAASC;IAEf,MAAMC,WAAWJ,UAAU,EAAE,CAAC,QAAQ;IAEtCK,UAAU;QACN,MAAMC,UAAUJ,OAAO,gBAAgB;QACvCA,OAAO,YAAY,CAACK,CAAAA;YAChBA,MAAM,UAAU,GAAGD,QAAQ,UAAU,IAAIF;QAC7C;IACJ,GAAG;QAACA;KAAS;IAEb,OAAO;AACX"}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import react, { useCallback, useMemo } from "react";
|
|
2
|
-
import { AdminConfig, useRoute, useRouter } from "@webiny/app-admin";
|
|
3
|
-
import { Routes } from "../../routes.js";
|
|
4
|
-
import { Components } from "@webiny/app-workflows";
|
|
5
|
-
import { Icon } from "@webiny/admin-ui";
|
|
6
|
-
import { ReactComponent } from "@webiny/icons/workspaces.svg";
|
|
7
|
-
import { WB_PAGE_APP } from "../../constants.js";
|
|
8
|
-
const { Admin: { WorkflowsEditor: WorkflowsEditor } } = Components;
|
|
9
|
-
const { Menu: Menu } = AdminConfig;
|
|
10
|
-
const PageWorkflowsEditorMenu = ()=>{
|
|
11
|
-
const router = useRouter();
|
|
12
|
-
return /*#__PURE__*/ react.createElement(Menu, {
|
|
13
|
-
name: "websiteBuilder.pages.workflows",
|
|
14
|
-
pinnable: true,
|
|
15
|
-
parent: "wb",
|
|
16
|
-
element: /*#__PURE__*/ react.createElement(Menu.Link, {
|
|
17
|
-
text: "Workflows",
|
|
18
|
-
to: router.getLink(Routes.Pages.Workflows)
|
|
19
|
-
})
|
|
20
|
-
});
|
|
21
|
-
};
|
|
22
|
-
const PageWorkflowsEditorView = ()=>{
|
|
23
|
-
const { route } = useRoute(Routes.Pages.Workflows);
|
|
24
|
-
const { goToRoute } = useRouter();
|
|
25
|
-
const apps = useMemo(()=>[
|
|
26
|
-
{
|
|
27
|
-
id: WB_PAGE_APP,
|
|
28
|
-
name: "Pages",
|
|
29
|
-
icon: /*#__PURE__*/ react.createElement(Icon, {
|
|
30
|
-
icon: /*#__PURE__*/ react.createElement(ReactComponent, null),
|
|
31
|
-
label: "Pages Workflows"
|
|
32
|
-
})
|
|
33
|
-
}
|
|
34
|
-
], []);
|
|
35
|
-
const onAppClick = useCallback((id)=>{
|
|
36
|
-
goToRoute(Routes.Pages.Workflows, {
|
|
37
|
-
app: id
|
|
38
|
-
});
|
|
39
|
-
}, [
|
|
40
|
-
apps
|
|
41
|
-
]);
|
|
42
|
-
const app = useMemo(()=>apps.find((a)=>a.id === route.params.app) || apps[0], [
|
|
43
|
-
route.params.app,
|
|
44
|
-
apps
|
|
45
|
-
]);
|
|
46
|
-
return /*#__PURE__*/ react.createElement(WorkflowsEditor, {
|
|
47
|
-
apps: apps,
|
|
48
|
-
onAppClick: onAppClick,
|
|
49
|
-
app: app.id
|
|
50
|
-
});
|
|
51
|
-
};
|
|
52
|
-
export { PageWorkflowsEditorMenu, PageWorkflowsEditorView };
|
|
53
|
-
|
|
54
|
-
//# sourceMappingURL=PageWorkflowsEditorView.js.map
|