@webiny/app-website-builder-workflows 0.0.0-unstable.0156a4c312
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.d.ts +2 -0
- package/Components/PageEditor/PageEditorAutoSave.js +23 -0
- package/Components/PageEditor/PageEditorAutoSave.js.map +1 -0
- 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.d.ts +2 -0
- package/Components/PageEditor/PageEditorConfig.js +13 -0
- package/Components/PageEditor/PageEditorConfig.js.map +1 -0
- package/Components/PageEditor/PageEditorLayout.d.ts +2 -0
- package/Components/PageEditor/PageEditorLayout.js +10 -0
- package/Components/PageEditor/PageEditorLayout.js.map +1 -0
- 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.d.ts +2 -0
- package/Components/PageEditor/PageEditorTopBar.js +10 -0
- package/Components/PageEditor/PageEditorTopBar.js.map +1 -0
- 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.d.ts +2 -0
- package/Components/PagesList/PagesList.js +8 -0
- package/Components/PagesList/PagesList.js.map +1 -0
- 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/PagesList/index.d.ts +1 -0
- package/Components/PagesList/index.js +1 -0
- package/Components/index.d.ts +2 -0
- package/Components/index.js +2 -0
- package/LICENSE +21 -0
- package/README.md +11 -0
- package/Routes/WebsiteBuilderWorkflowsMenu.d.ts +2 -0
- package/Routes/WebsiteBuilderWorkflowsMenu.js +23 -0
- package/Routes/WebsiteBuilderWorkflowsMenu.js.map +1 -0
- package/Routes/WebsiteBuilderWorkflowsMenu.test.d.ts +1 -0
- package/Routes/WebsiteBuilderWorkflowsMenu.test.js +141 -0
- package/Routes/WebsiteBuilderWorkflowsMenu.test.js.map +1 -0
- package/Routes/index.d.ts +1 -0
- package/Routes/index.js +1 -0
- package/constants.d.ts +1 -0
- package/constants.js +4 -0
- package/constants.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.d.ts +5 -0
- package/hooks/usePage.js +15 -0
- package/hooks/usePage.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 +2 -0
- package/index.js +40 -0
- package/index.js.map +1 -0
- 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 +54 -0
- 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/WbReviewGetPageFieldSelection.d.ts +8 -0
- 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.d.ts +1 -0
- package/presentation/page/PageGet/feature.js +11 -0
- package/presentation/page/PageGet/feature.js.map +1 -0
- package/presentation/page/PageList/WbReviewListPagesFieldSelection.d.ts +8 -0
- 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/WbReviewTableRowMapperDecorator.d.ts +12 -0
- 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.d.ts +1 -0
- package/presentation/page/PageList/feature.js +13 -0
- package/presentation/page/PageList/feature.js.map +1 -0
- 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 +9 -0
- package/routes.js +19 -0
- package/routes.js.map +1 -0
- 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 +9 -0
- package/types.js +0 -0
|
@@ -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":"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"}
|
package/routes.d.ts
ADDED
package/routes.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Route } from "@webiny/app-admin";
|
|
2
|
+
const Routes = {
|
|
3
|
+
Pages: {
|
|
4
|
+
Workflows: new Route({
|
|
5
|
+
name: "WebsiteBuilder/PageWorkflow",
|
|
6
|
+
path: "/website-builder/workflows"
|
|
7
|
+
}),
|
|
8
|
+
WorkflowStateList: new Route({
|
|
9
|
+
name: "WebsiteBuilder/Pages/WorkflowStateList",
|
|
10
|
+
path: "/website-builder/pages/content-reviews",
|
|
11
|
+
params: (zod)=>({
|
|
12
|
+
tab: zod.string().optional()
|
|
13
|
+
})
|
|
14
|
+
})
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
export { Routes };
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=routes.js.map
|
package/routes.js.map
ADDED
|
@@ -0,0 +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\"\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;YACA,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
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { SystemWorkflowValue } from "@webiny/app-workflows/review/domain/types.js";
|
|
2
|
+
export type WithWorkflows<T> = T & {
|
|
3
|
+
workflow: SystemWorkflowValue | null;
|
|
4
|
+
};
|
|
5
|
+
declare module "@webiny/app-website-builder/types.js" {
|
|
6
|
+
interface WbPageSystem {
|
|
7
|
+
workflow: SystemWorkflowValue | null;
|
|
8
|
+
}
|
|
9
|
+
}
|
package/types.js
ADDED
|
File without changes
|