@webiny/app-headless-cms-scheduler 0.0.0-unstable.eb196ccd2f → 0.0.0-unstable.eb81deee7e
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/README.md +6 -17
- package/components/Browser/BrowserConfig.d.ts +2 -0
- package/components/Browser/BrowserConfig.js +23 -0
- package/components/Browser/BrowserConfig.js.map +1 -0
- package/components/Browser/CellLive.d.ts +11 -0
- package/components/Browser/CellLive.js +37 -0
- package/components/Browser/CellLive.js.map +1 -0
- package/components/Browser/LiveTag.d.ts +7 -0
- package/components/Browser/LiveTag.js +19 -0
- package/components/Browser/LiveTag.js.map +1 -0
- package/components/Browser/MenuItem.d.ts +4 -0
- package/components/Browser/MenuItem.js +45 -0
- package/components/Browser/MenuItem.js.map +1 -0
- package/components/Browser/ScheduledTag.d.ts +5 -0
- package/components/Browser/ScheduledTag.js +24 -0
- package/components/Browser/ScheduledTag.js.map +1 -0
- package/components/Browser/SchedulerButton.d.ts +5 -0
- package/components/Browser/SchedulerButton.js +16 -0
- package/components/Browser/SchedulerButton.js.map +1 -0
- package/components/Browser/SchedulerMenuItem.d.ts +2 -0
- package/components/Browser/SchedulerMenuItem.js +26 -0
- package/components/Browser/SchedulerMenuItem.js.map +1 -0
- package/components/Browser/isScheduleRedundant.d.ts +12 -0
- package/components/Browser/isScheduleRedundant.js +8 -0
- package/components/Browser/isScheduleRedundant.js.map +1 -0
- package/components/Dialogs/PublishScheduleNotice.d.ts +6 -0
- package/components/Dialogs/PublishScheduleNotice.js +17 -0
- package/components/Dialogs/PublishScheduleNotice.js.map +1 -0
- package/components/Dialogs/ScheduleNoticeAlert.d.ts +14 -0
- package/components/Dialogs/ScheduleNoticeAlert.js +22 -0
- package/components/Dialogs/ScheduleNoticeAlert.js.map +1 -0
- package/components/Dialogs/UnpublishScheduleNotice.d.ts +6 -0
- package/components/Dialogs/UnpublishScheduleNotice.js +17 -0
- package/components/Dialogs/UnpublishScheduleNotice.js.map +1 -0
- package/components/Editor/EditorConfig.d.ts +2 -0
- package/components/Editor/EditorConfig.js +12 -0
- package/components/Editor/EditorConfig.js.map +1 -0
- package/components/Editor/MenuItem.d.ts +4 -0
- package/components/Editor/MenuItem.js +60 -0
- package/components/Editor/MenuItem.js.map +1 -0
- package/components/Editor/ScheduledActionAlert.d.ts +6 -0
- package/components/Editor/ScheduledActionAlert.js +43 -0
- package/components/Editor/ScheduledActionAlert.js.map +1 -0
- package/components/index.d.ts +5 -0
- package/components/index.js +5 -0
- package/hooks/usePermissions.d.ts +4 -0
- package/hooks/usePermissions.js +18 -0
- package/hooks/usePermissions.js.map +1 -0
- package/hooks/useScheduledActionsPresenter.d.ts +6 -0
- package/hooks/useScheduledActionsPresenter.js +12 -0
- package/hooks/useScheduledActionsPresenter.js.map +1 -0
- package/index.d.ts +2 -2
- package/index.js +8 -2
- package/index.js.map +1 -1
- package/package.json +27 -36
- package/presentation/scheduledActions/ContentEntriesPresenterSchedulingDecorator.d.ts +31 -0
- package/presentation/scheduledActions/ContentEntriesPresenterSchedulingDecorator.js +70 -0
- package/presentation/scheduledActions/ContentEntriesPresenterSchedulingDecorator.js.map +1 -0
- package/presentation/scheduledActions/ScheduledActionsPresenter.d.ts +28 -0
- package/presentation/scheduledActions/ScheduledActionsPresenter.js +90 -0
- package/presentation/scheduledActions/ScheduledActionsPresenter.js.map +1 -0
- package/presentation/scheduledActions/abstractions.d.ts +16 -0
- package/presentation/scheduledActions/abstractions.js +5 -0
- package/presentation/scheduledActions/abstractions.js.map +1 -0
- package/presentation/scheduledActions/feature.d.ts +3 -0
- package/presentation/scheduledActions/feature.js +19 -0
- package/presentation/scheduledActions/feature.js.map +1 -0
- package/utils/index.d.ts +1 -0
- package/utils/index.js +1 -0
- package/utils/namespace.d.ts +7 -0
- package/utils/namespace.js +5 -0
- package/utils/namespace.js.map +1 -0
- package/Domain/Models/SchedulerItem/SchedulerItem.d.ts +0 -14
- package/Domain/Models/SchedulerItem/SchedulerItem.js +0 -17
- package/Domain/Models/SchedulerItem/SchedulerItem.js.map +0 -1
- package/Domain/Models/SchedulerItem/index.d.ts +0 -1
- package/Domain/Models/SchedulerItem/index.js +0 -3
- package/Domain/Models/SchedulerItem/index.js.map +0 -1
- package/Domain/Models/index.d.ts +0 -1
- package/Domain/Models/index.js +0 -3
- package/Domain/Models/index.js.map +0 -1
- package/Domain/Repositories/SchedulerItems/ISchedulerItemsRepository.d.ts +0 -14
- package/Domain/Repositories/SchedulerItems/ISchedulerItemsRepository.js +0 -3
- package/Domain/Repositories/SchedulerItems/ISchedulerItemsRepository.js.map +0 -1
- package/Domain/Repositories/SchedulerItems/SchedulerItemsRepository.d.ts +0 -37
- package/Domain/Repositories/SchedulerItems/SchedulerItemsRepository.js +0 -125
- package/Domain/Repositories/SchedulerItems/SchedulerItemsRepository.js.map +0 -1
- package/Domain/Repositories/SchedulerItems/SchedulerItemsRepositoryFactory.d.ts +0 -20
- package/Domain/Repositories/SchedulerItems/SchedulerItemsRepositoryFactory.js +0 -17
- package/Domain/Repositories/SchedulerItems/SchedulerItemsRepositoryFactory.js.map +0 -1
- package/Domain/Repositories/SchedulerItems/SchedulerItemsRepositoryWithLoading.d.ts +0 -17
- package/Domain/Repositories/SchedulerItems/SchedulerItemsRepositoryWithLoading.js +0 -38
- package/Domain/Repositories/SchedulerItems/SchedulerItemsRepositoryWithLoading.js.map +0 -1
- package/Domain/Repositories/SchedulerItems/index.d.ts +0 -4
- package/Domain/Repositories/SchedulerItems/index.js +0 -6
- package/Domain/Repositories/SchedulerItems/index.js.map +0 -1
- package/Domain/Repositories/Search/ISearchRepository.d.ts +0 -4
- package/Domain/Repositories/Search/ISearchRepository.js +0 -3
- package/Domain/Repositories/Search/ISearchRepository.js.map +0 -1
- package/Domain/Repositories/Search/SearchRepository.d.ts +0 -7
- package/Domain/Repositories/Search/SearchRepository.js +0 -15
- package/Domain/Repositories/Search/SearchRepository.js.map +0 -1
- package/Domain/Repositories/Search/SearchRepositoryFactory.d.ts +0 -7
- package/Domain/Repositories/Search/SearchRepositoryFactory.js +0 -17
- package/Domain/Repositories/Search/SearchRepositoryFactory.js.map +0 -1
- package/Domain/Repositories/Search/index.d.ts +0 -3
- package/Domain/Repositories/Search/index.js +0 -5
- package/Domain/Repositories/Search/index.js.map +0 -1
- package/Domain/Repositories/SelectedItems/ISelectedItemsRepository.d.ts +0 -8
- package/Domain/Repositories/SelectedItems/ISelectedItemsRepository.js +0 -3
- package/Domain/Repositories/SelectedItems/ISelectedItemsRepository.js.map +0 -1
- package/Domain/Repositories/SelectedItems/SelectedItemsRepository.d.ts +0 -12
- package/Domain/Repositories/SelectedItems/SelectedItemsRepository.js +0 -27
- package/Domain/Repositories/SelectedItems/SelectedItemsRepository.js.map +0 -1
- package/Domain/Repositories/SelectedItems/SelectedItemsRepositoryFactory.d.ts +0 -7
- package/Domain/Repositories/SelectedItems/SelectedItemsRepositoryFactory.js +0 -17
- package/Domain/Repositories/SelectedItems/SelectedItemsRepositoryFactory.js.map +0 -1
- package/Domain/Repositories/SelectedItems/index.d.ts +0 -3
- package/Domain/Repositories/SelectedItems/index.js +0 -5
- package/Domain/Repositories/SelectedItems/index.js.map +0 -1
- package/Domain/Repositories/Sorting/SortingRepositoryWithDefaults.d.ts +0 -8
- package/Domain/Repositories/Sorting/SortingRepositoryWithDefaults.js +0 -22
- package/Domain/Repositories/Sorting/SortingRepositoryWithDefaults.js.map +0 -1
- package/Domain/Repositories/Sorting/index.d.ts +0 -1
- package/Domain/Repositories/Sorting/index.js +0 -3
- package/Domain/Repositories/Sorting/index.js.map +0 -1
- package/Domain/Repositories/index.d.ts +0 -4
- package/Domain/Repositories/index.js +0 -6
- package/Domain/Repositories/index.js.map +0 -1
- package/Domain/index.d.ts +0 -2
- package/Domain/index.js +0 -4
- package/Domain/index.js.map +0 -1
- package/Gateways/SchedulerCancelGateway.d.ts +0 -7
- package/Gateways/SchedulerCancelGateway.js +0 -3
- package/Gateways/SchedulerCancelGateway.js.map +0 -1
- package/Gateways/SchedulerGetGateway.d.ts +0 -9
- package/Gateways/SchedulerGetGateway.js +0 -3
- package/Gateways/SchedulerGetGateway.js.map +0 -1
- package/Gateways/SchedulerListGateway.d.ts +0 -29
- package/Gateways/SchedulerListGateway.js +0 -3
- package/Gateways/SchedulerListGateway.js.map +0 -1
- package/Gateways/SchedulerPublishGateway.d.ts +0 -12
- package/Gateways/SchedulerPublishGateway.js +0 -3
- package/Gateways/SchedulerPublishGateway.js.map +0 -1
- package/Gateways/SchedulerUnpublishGateway.d.ts +0 -12
- package/Gateways/SchedulerUnpublishGateway.js +0 -3
- package/Gateways/SchedulerUnpublishGateway.js.map +0 -1
- package/Gateways/index.d.ts +0 -5
- package/Gateways/index.js +0 -7
- package/Gateways/index.js.map +0 -1
- package/Presentation/Scheduler/Scheduler.d.ts +0 -18
- package/Presentation/Scheduler/Scheduler.js +0 -66
- package/Presentation/Scheduler/Scheduler.js.map +0 -1
- package/Presentation/Scheduler/SchedulerControllers.d.ts +0 -30
- package/Presentation/Scheduler/SchedulerControllers.js +0 -72
- package/Presentation/Scheduler/SchedulerControllers.js.map +0 -1
- package/Presentation/Scheduler/SchedulerPresenter.d.ts +0 -32
- package/Presentation/Scheduler/SchedulerPresenter.js +0 -44
- package/Presentation/Scheduler/SchedulerPresenter.js.map +0 -1
- package/Presentation/Scheduler/controllers/CancelItem/CancelItemController.d.ts +0 -7
- package/Presentation/Scheduler/controllers/CancelItem/CancelItemController.js +0 -11
- package/Presentation/Scheduler/controllers/CancelItem/CancelItemController.js.map +0 -1
- package/Presentation/Scheduler/controllers/CancelItem/ICancelItemController.d.ts +0 -3
- package/Presentation/Scheduler/controllers/CancelItem/ICancelItemController.js +0 -3
- package/Presentation/Scheduler/controllers/CancelItem/ICancelItemController.js.map +0 -1
- package/Presentation/Scheduler/controllers/CancelItem/index.d.ts +0 -2
- package/Presentation/Scheduler/controllers/CancelItem/index.js +0 -4
- package/Presentation/Scheduler/controllers/CancelItem/index.js.map +0 -1
- package/Presentation/Scheduler/controllers/GetItem/GetItemController.d.ts +0 -8
- package/Presentation/Scheduler/controllers/GetItem/GetItemController.js +0 -11
- package/Presentation/Scheduler/controllers/GetItem/GetItemController.js.map +0 -1
- package/Presentation/Scheduler/controllers/GetItem/IGetItemController.d.ts +0 -4
- package/Presentation/Scheduler/controllers/GetItem/IGetItemController.js +0 -3
- package/Presentation/Scheduler/controllers/GetItem/IGetItemController.js.map +0 -1
- package/Presentation/Scheduler/controllers/GetItem/index.d.ts +0 -2
- package/Presentation/Scheduler/controllers/GetItem/index.js +0 -4
- package/Presentation/Scheduler/controllers/GetItem/index.js.map +0 -1
- package/Presentation/Scheduler/controllers/ListItems/IListItemsController.d.ts +0 -4
- package/Presentation/Scheduler/controllers/ListItems/IListItemsController.js +0 -3
- package/Presentation/Scheduler/controllers/ListItems/IListItemsController.js.map +0 -1
- package/Presentation/Scheduler/controllers/ListItems/ListItemsController.d.ts +0 -8
- package/Presentation/Scheduler/controllers/ListItems/ListItemsController.js +0 -11
- package/Presentation/Scheduler/controllers/ListItems/ListItemsController.js.map +0 -1
- package/Presentation/Scheduler/controllers/ListItems/index.d.ts +0 -2
- package/Presentation/Scheduler/controllers/ListItems/index.js +0 -4
- package/Presentation/Scheduler/controllers/ListItems/index.js.map +0 -1
- package/Presentation/Scheduler/controllers/ListMoreItems/IListMoreItemsController.d.ts +0 -3
- package/Presentation/Scheduler/controllers/ListMoreItems/IListMoreItemsController.js +0 -3
- package/Presentation/Scheduler/controllers/ListMoreItems/IListMoreItemsController.js.map +0 -1
- package/Presentation/Scheduler/controllers/ListMoreItems/ListMoreItemsController.d.ts +0 -7
- package/Presentation/Scheduler/controllers/ListMoreItems/ListMoreItemsController.js +0 -11
- package/Presentation/Scheduler/controllers/ListMoreItems/ListMoreItemsController.js.map +0 -1
- package/Presentation/Scheduler/controllers/ListMoreItems/index.d.ts +0 -2
- package/Presentation/Scheduler/controllers/ListMoreItems/index.js +0 -4
- package/Presentation/Scheduler/controllers/ListMoreItems/index.js.map +0 -1
- package/Presentation/Scheduler/controllers/PublishItem/IPublishItemController.d.ts +0 -3
- package/Presentation/Scheduler/controllers/PublishItem/IPublishItemController.js +0 -3
- package/Presentation/Scheduler/controllers/PublishItem/IPublishItemController.js.map +0 -1
- package/Presentation/Scheduler/controllers/PublishItem/PublishItemController.d.ts +0 -7
- package/Presentation/Scheduler/controllers/PublishItem/PublishItemController.js +0 -11
- package/Presentation/Scheduler/controllers/PublishItem/PublishItemController.js.map +0 -1
- package/Presentation/Scheduler/controllers/PublishItem/index.d.ts +0 -2
- package/Presentation/Scheduler/controllers/PublishItem/index.js +0 -4
- package/Presentation/Scheduler/controllers/PublishItem/index.js.map +0 -1
- package/Presentation/Scheduler/controllers/SearchItems/ISearchItemsController.d.ts +0 -3
- package/Presentation/Scheduler/controllers/SearchItems/ISearchItemsController.js +0 -3
- package/Presentation/Scheduler/controllers/SearchItems/ISearchItemsController.js.map +0 -1
- package/Presentation/Scheduler/controllers/SearchItems/SearchItemsController.d.ts +0 -8
- package/Presentation/Scheduler/controllers/SearchItems/SearchItemsController.js +0 -14
- package/Presentation/Scheduler/controllers/SearchItems/SearchItemsController.js.map +0 -1
- package/Presentation/Scheduler/controllers/SearchItems/index.d.ts +0 -2
- package/Presentation/Scheduler/controllers/SearchItems/index.js +0 -4
- package/Presentation/Scheduler/controllers/SearchItems/index.js.map +0 -1
- package/Presentation/Scheduler/controllers/SelectAllItems/ISelectAllItemsController.d.ts +0 -3
- package/Presentation/Scheduler/controllers/SelectAllItems/ISelectAllItemsController.js +0 -3
- package/Presentation/Scheduler/controllers/SelectAllItems/ISelectAllItemsController.js.map +0 -1
- package/Presentation/Scheduler/controllers/SelectAllItems/SelectAllItemsController.d.ts +0 -7
- package/Presentation/Scheduler/controllers/SelectAllItems/SelectAllItemsController.js +0 -11
- package/Presentation/Scheduler/controllers/SelectAllItems/SelectAllItemsController.js.map +0 -1
- package/Presentation/Scheduler/controllers/SelectAllItems/index.d.ts +0 -2
- package/Presentation/Scheduler/controllers/SelectAllItems/index.js +0 -4
- package/Presentation/Scheduler/controllers/SelectAllItems/index.js.map +0 -1
- package/Presentation/Scheduler/controllers/SelectItems/ISelectItemsController.d.ts +0 -4
- package/Presentation/Scheduler/controllers/SelectItems/ISelectItemsController.js +0 -3
- package/Presentation/Scheduler/controllers/SelectItems/ISelectItemsController.js.map +0 -1
- package/Presentation/Scheduler/controllers/SelectItems/SelectItemsController.d.ts +0 -8
- package/Presentation/Scheduler/controllers/SelectItems/SelectItemsController.js +0 -13
- package/Presentation/Scheduler/controllers/SelectItems/SelectItemsController.js.map +0 -1
- package/Presentation/Scheduler/controllers/SelectItems/index.d.ts +0 -2
- package/Presentation/Scheduler/controllers/SelectItems/index.js +0 -4
- package/Presentation/Scheduler/controllers/SelectItems/index.js.map +0 -1
- package/Presentation/Scheduler/controllers/SortItems/ISortItemsController.d.ts +0 -4
- package/Presentation/Scheduler/controllers/SortItems/ISortItemsController.js +0 -3
- package/Presentation/Scheduler/controllers/SortItems/ISortItemsController.js.map +0 -1
- package/Presentation/Scheduler/controllers/SortItems/SortItemsController.d.ts +0 -9
- package/Presentation/Scheduler/controllers/SortItems/SortItemsController.js +0 -19
- package/Presentation/Scheduler/controllers/SortItems/SortItemsController.js.map +0 -1
- package/Presentation/Scheduler/controllers/SortItems/index.d.ts +0 -2
- package/Presentation/Scheduler/controllers/SortItems/index.js +0 -4
- package/Presentation/Scheduler/controllers/SortItems/index.js.map +0 -1
- package/Presentation/Scheduler/controllers/UnpublishItem/IUnpublishItemController.d.ts +0 -3
- package/Presentation/Scheduler/controllers/UnpublishItem/IUnpublishItemController.js +0 -3
- package/Presentation/Scheduler/controllers/UnpublishItem/IUnpublishItemController.js.map +0 -1
- package/Presentation/Scheduler/controllers/UnpublishItem/UnpublishItemController.d.ts +0 -7
- package/Presentation/Scheduler/controllers/UnpublishItem/UnpublishItemController.js +0 -11
- package/Presentation/Scheduler/controllers/UnpublishItem/UnpublishItemController.js.map +0 -1
- package/Presentation/Scheduler/controllers/UnpublishItem/index.d.ts +0 -2
- package/Presentation/Scheduler/controllers/UnpublishItem/index.js +0 -4
- package/Presentation/Scheduler/controllers/UnpublishItem/index.js.map +0 -1
- package/Presentation/Scheduler/controllers/UnselectAllItems/IUnselectAllItemsController.d.ts +0 -3
- package/Presentation/Scheduler/controllers/UnselectAllItems/IUnselectAllItemsController.js +0 -3
- package/Presentation/Scheduler/controllers/UnselectAllItems/IUnselectAllItemsController.js.map +0 -1
- package/Presentation/Scheduler/controllers/UnselectAllItems/UnselectAllItemsController.d.ts +0 -7
- package/Presentation/Scheduler/controllers/UnselectAllItems/UnselectAllItemsController.js +0 -11
- package/Presentation/Scheduler/controllers/UnselectAllItems/UnselectAllItemsController.js.map +0 -1
- package/Presentation/Scheduler/controllers/UnselectAllItems/index.d.ts +0 -2
- package/Presentation/Scheduler/controllers/UnselectAllItems/index.js +0 -4
- package/Presentation/Scheduler/controllers/UnselectAllItems/index.js.map +0 -1
- package/Presentation/Scheduler/controllers/index.d.ts +0 -11
- package/Presentation/Scheduler/controllers/index.js +0 -13
- package/Presentation/Scheduler/controllers/index.js.map +0 -1
- package/Presentation/Scheduler/index.d.ts +0 -1
- package/Presentation/Scheduler/index.js +0 -3
- package/Presentation/Scheduler/index.js.map +0 -1
- package/Presentation/SchedulerConfigs/SchedulerConfigs.d.ts +0 -2
- package/Presentation/SchedulerConfigs/SchedulerConfigs.js +0 -55
- package/Presentation/SchedulerConfigs/SchedulerConfigs.js.map +0 -1
- package/Presentation/SchedulerConfigs/index.d.ts +0 -1
- package/Presentation/SchedulerConfigs/index.js +0 -3
- package/Presentation/SchedulerConfigs/index.js.map +0 -1
- package/Presentation/SchedulerRenderer/SchedulerRenderer.d.ts +0 -6
- package/Presentation/SchedulerRenderer/SchedulerRenderer.js +0 -21
- package/Presentation/SchedulerRenderer/SchedulerRenderer.js.map +0 -1
- package/Presentation/SchedulerRenderer/index.d.ts +0 -1
- package/Presentation/SchedulerRenderer/index.js +0 -3
- package/Presentation/SchedulerRenderer/index.js.map +0 -1
- package/Presentation/abstractions/ISchedulerControllers.d.ts +0 -14
- package/Presentation/abstractions/ISchedulerControllers.js +0 -3
- package/Presentation/abstractions/ISchedulerControllers.js.map +0 -1
- package/Presentation/abstractions/ISchedulerPresenter.d.ts +0 -20
- package/Presentation/abstractions/ISchedulerPresenter.js +0 -3
- package/Presentation/abstractions/ISchedulerPresenter.js.map +0 -1
- package/Presentation/abstractions/index.d.ts +0 -2
- package/Presentation/abstractions/index.js +0 -4
- package/Presentation/abstractions/index.js.map +0 -1
- package/Presentation/components/Actions/CancelItem/CancelItem.d.ts +0 -2
- package/Presentation/components/Actions/CancelItem/CancelItem.js +0 -24
- package/Presentation/components/Actions/CancelItem/CancelItem.js.map +0 -1
- package/Presentation/components/Actions/CancelItem/index.d.ts +0 -1
- package/Presentation/components/Actions/CancelItem/index.js +0 -3
- package/Presentation/components/Actions/CancelItem/index.js.map +0 -1
- package/Presentation/components/Actions/index.d.ts +0 -1
- package/Presentation/components/Actions/index.js +0 -3
- package/Presentation/components/Actions/index.js.map +0 -1
- package/Presentation/components/BottomInfoBar/BottomInfoBar.d.ts +0 -2
- package/Presentation/components/BottomInfoBar/BottomInfoBar.js +0 -20
- package/Presentation/components/BottomInfoBar/BottomInfoBar.js.map +0 -1
- package/Presentation/components/BottomInfoBar/BottomInfoBar.styled.d.ts +0 -21
- package/Presentation/components/BottomInfoBar/BottomInfoBar.styled.js +0 -74
- package/Presentation/components/BottomInfoBar/BottomInfoBar.styled.js.map +0 -1
- package/Presentation/components/BottomInfoBar/ListMeta.d.ts +0 -7
- package/Presentation/components/BottomInfoBar/ListMeta.js +0 -12
- package/Presentation/components/BottomInfoBar/ListMeta.js.map +0 -1
- package/Presentation/components/BottomInfoBar/ListStatus.d.ts +0 -5
- package/Presentation/components/BottomInfoBar/ListStatus.js +0 -16
- package/Presentation/components/BottomInfoBar/ListStatus.js.map +0 -1
- package/Presentation/components/BottomInfoBar/index.d.ts +0 -1
- package/Presentation/components/BottomInfoBar/index.js +0 -3
- package/Presentation/components/BottomInfoBar/index.js.map +0 -1
- package/Presentation/components/Cells/CellActions/CellActions.d.ts +0 -2
- package/Presentation/components/Cells/CellActions/CellActions.js +0 -24
- package/Presentation/components/Cells/CellActions/CellActions.js.map +0 -1
- package/Presentation/components/Cells/CellActions/index.d.ts +0 -1
- package/Presentation/components/Cells/CellActions/index.js +0 -3
- package/Presentation/components/Cells/CellActions/index.js.map +0 -1
- package/Presentation/components/Cells/CellRevision/CellRevision.d.ts +0 -2
- package/Presentation/components/Cells/CellRevision/CellRevision.js +0 -20
- package/Presentation/components/Cells/CellRevision/CellRevision.js.map +0 -1
- package/Presentation/components/Cells/CellRevision/CellRevision.styled.d.ts +0 -12
- package/Presentation/components/Cells/CellRevision/CellRevision.styled.js +0 -47
- package/Presentation/components/Cells/CellRevision/CellRevision.styled.js.map +0 -1
- package/Presentation/components/Cells/CellRevision/index.d.ts +0 -1
- package/Presentation/components/Cells/CellRevision/index.js +0 -3
- package/Presentation/components/Cells/CellRevision/index.js.map +0 -1
- package/Presentation/components/Cells/CellScheduledBy/CellScheduledBy.d.ts +0 -2
- package/Presentation/components/Cells/CellScheduledBy/CellScheduledBy.js +0 -13
- package/Presentation/components/Cells/CellScheduledBy/CellScheduledBy.js.map +0 -1
- package/Presentation/components/Cells/CellScheduledBy/index.d.ts +0 -1
- package/Presentation/components/Cells/CellScheduledBy/index.js +0 -3
- package/Presentation/components/Cells/CellScheduledBy/index.js.map +0 -1
- package/Presentation/components/Cells/CellScheduledOn/CellScheduledOn.d.ts +0 -2
- package/Presentation/components/Cells/CellScheduledOn/CellScheduledOn.js +0 -20
- package/Presentation/components/Cells/CellScheduledOn/CellScheduledOn.js.map +0 -1
- package/Presentation/components/Cells/CellScheduledOn/index.d.ts +0 -1
- package/Presentation/components/Cells/CellScheduledOn/index.js +0 -3
- package/Presentation/components/Cells/CellScheduledOn/index.js.map +0 -1
- package/Presentation/components/Cells/CellTitle/CellTitle.d.ts +0 -2
- package/Presentation/components/Cells/CellTitle/CellTitle.js +0 -17
- package/Presentation/components/Cells/CellTitle/CellTitle.js.map +0 -1
- package/Presentation/components/Cells/CellTitle/CellTitle.styled.d.ts +0 -12
- package/Presentation/components/Cells/CellTitle/CellTitle.styled.js +0 -47
- package/Presentation/components/Cells/CellTitle/CellTitle.styled.js.map +0 -1
- package/Presentation/components/Cells/CellTitle/index.d.ts +0 -1
- package/Presentation/components/Cells/CellTitle/index.js +0 -3
- package/Presentation/components/Cells/CellTitle/index.js.map +0 -1
- package/Presentation/components/Cells/CellType/CellType.d.ts +0 -2
- package/Presentation/components/Cells/CellType/CellType.js +0 -17
- package/Presentation/components/Cells/CellType/CellType.js.map +0 -1
- package/Presentation/components/Cells/CellType/CellType.styled.d.ts +0 -12
- package/Presentation/components/Cells/CellType/CellType.styled.js +0 -47
- package/Presentation/components/Cells/CellType/CellType.styled.js.map +0 -1
- package/Presentation/components/Cells/CellType/index.d.ts +0 -1
- package/Presentation/components/Cells/CellType/index.js +0 -3
- package/Presentation/components/Cells/CellType/index.js.map +0 -1
- package/Presentation/components/Cells/index.d.ts +0 -6
- package/Presentation/components/Cells/index.js +0 -8
- package/Presentation/components/Cells/index.js.map +0 -1
- package/Presentation/components/Empty/Empty.d.ts +0 -2
- package/Presentation/components/Empty/Empty.js +0 -22
- package/Presentation/components/Empty/Empty.js.map +0 -1
- package/Presentation/components/Empty/Empty.styled.d.ts +0 -9
- package/Presentation/components/Empty/Empty.styled.js +0 -32
- package/Presentation/components/Empty/Empty.styled.js.map +0 -1
- package/Presentation/components/Empty/index.d.ts +0 -1
- package/Presentation/components/Empty/index.js +0 -3
- package/Presentation/components/Empty/index.js.map +0 -1
- package/Presentation/components/ScheduleDialog/ScheduleDialogAction.d.ts +0 -15
- package/Presentation/components/ScheduleDialog/ScheduleDialogAction.js +0 -51
- package/Presentation/components/ScheduleDialog/ScheduleDialogAction.js.map +0 -1
- package/Presentation/components/ScheduleDialog/index.d.ts +0 -2
- package/Presentation/components/ScheduleDialog/index.js +0 -4
- package/Presentation/components/ScheduleDialog/index.js.map +0 -1
- package/Presentation/components/ScheduleDialog/types.d.ts +0 -15
- package/Presentation/components/ScheduleDialog/types.js +0 -3
- package/Presentation/components/ScheduleDialog/types.js.map +0 -1
- package/Presentation/components/ScheduleDialog/useScheduleDialog.d.ts +0 -19
- package/Presentation/components/ScheduleDialog/useScheduleDialog.js +0 -174
- package/Presentation/components/ScheduleDialog/useScheduleDialog.js.map +0 -1
- package/Presentation/components/SchedulerOverlay/SchedulerOverlay.d.ts +0 -7
- package/Presentation/components/SchedulerOverlay/SchedulerOverlay.js +0 -36
- package/Presentation/components/SchedulerOverlay/SchedulerOverlay.js.map +0 -1
- package/Presentation/components/SchedulerOverlay/index.d.ts +0 -1
- package/Presentation/components/SchedulerOverlay/index.js +0 -3
- package/Presentation/components/SchedulerOverlay/index.js.map +0 -1
- package/Presentation/components/SearchInput/SearchInput.d.ts +0 -2
- package/Presentation/components/SearchInput/SearchInput.js +0 -37
- package/Presentation/components/SearchInput/SearchInput.js.map +0 -1
- package/Presentation/components/SearchInput/index.d.ts +0 -1
- package/Presentation/components/SearchInput/index.js +0 -3
- package/Presentation/components/SearchInput/index.js.map +0 -1
- package/Presentation/components/Table/Table.d.ts +0 -2
- package/Presentation/components/Table/Table.js +0 -29
- package/Presentation/components/Table/Table.js.map +0 -1
- package/Presentation/components/Table/index.d.ts +0 -1
- package/Presentation/components/Table/index.js +0 -3
- package/Presentation/components/Table/index.js.map +0 -1
- package/Presentation/components/Title/Title.d.ts +0 -5
- package/Presentation/components/Title/Title.js +0 -15
- package/Presentation/components/Title/Title.js.map +0 -1
- package/Presentation/components/Title/Title.styled.d.ts +0 -4
- package/Presentation/components/Title/Title.styled.js +0 -19
- package/Presentation/components/Title/Title.styled.js.map +0 -1
- package/Presentation/components/Title/index.d.ts +0 -1
- package/Presentation/components/Title/index.js +0 -3
- package/Presentation/components/Title/index.js.map +0 -1
- package/Presentation/configs/index.d.ts +0 -1
- package/Presentation/configs/index.js +0 -3
- package/Presentation/configs/index.js.map +0 -1
- package/Presentation/configs/list/Browser/EntryAction.d.ts +0 -7
- package/Presentation/configs/list/Browser/EntryAction.js +0 -16
- package/Presentation/configs/list/Browser/EntryAction.js.map +0 -1
- package/Presentation/configs/list/Browser/Table/Column.d.ts +0 -14
- package/Presentation/configs/list/Browser/Table/Column.js +0 -14
- package/Presentation/configs/list/Browser/Table/Column.js.map +0 -1
- package/Presentation/configs/list/Browser/Table/Sorting.d.ts +0 -5
- package/Presentation/configs/list/Browser/Table/Sorting.js +0 -10
- package/Presentation/configs/list/Browser/Table/Sorting.js.map +0 -1
- package/Presentation/configs/list/Browser/Table/index.d.ts +0 -19
- package/Presentation/configs/list/Browser/Table/index.js +0 -8
- package/Presentation/configs/list/Browser/Table/index.js.map +0 -1
- package/Presentation/configs/list/Browser/index.d.ts +0 -24
- package/Presentation/configs/list/Browser/index.js +0 -8
- package/Presentation/configs/list/Browser/index.js.map +0 -1
- package/Presentation/configs/list/SchedulerListConfig.d.ts +0 -33
- package/Presentation/configs/list/SchedulerListConfig.js +0 -29
- package/Presentation/configs/list/SchedulerListConfig.js.map +0 -1
- package/Presentation/configs/list/index.d.ts +0 -1
- package/Presentation/configs/list/index.js +0 -3
- package/Presentation/configs/list/index.js.map +0 -1
- package/Presentation/hooks/index.d.ts +0 -3
- package/Presentation/hooks/index.js +0 -5
- package/Presentation/hooks/index.js.map +0 -1
- package/Presentation/hooks/useCancelSchedulerItem.d.ts +0 -8
- package/Presentation/hooks/useCancelSchedulerItem.js +0 -32
- package/Presentation/hooks/useCancelSchedulerItem.js.map +0 -1
- package/Presentation/hooks/useScheduler.d.ts +0 -27
- package/Presentation/hooks/useScheduler.js +0 -51
- package/Presentation/hooks/useScheduler.js.map +0 -1
- package/Presentation/hooks/useSchedulerItem.d.ts +0 -12
- package/Presentation/hooks/useSchedulerItem.js +0 -9
- package/Presentation/hooks/useSchedulerItem.js.map +0 -1
- package/Presentation/index.d.ts +0 -24
- package/Presentation/index.js +0 -31
- package/Presentation/index.js.map +0 -1
- package/UseCases/CancelItem/CancelItemUseCase.d.ts +0 -7
- package/UseCases/CancelItem/CancelItemUseCase.js +0 -12
- package/UseCases/CancelItem/CancelItemUseCase.js.map +0 -1
- package/UseCases/CancelItem/ICancelItemUseCase.d.ts +0 -3
- package/UseCases/CancelItem/ICancelItemUseCase.js +0 -3
- package/UseCases/CancelItem/ICancelItemUseCase.js.map +0 -1
- package/UseCases/CancelItem/index.d.ts +0 -2
- package/UseCases/CancelItem/index.js +0 -4
- package/UseCases/CancelItem/index.js.map +0 -1
- package/UseCases/GetItem/GetItemUseCase.d.ts +0 -8
- package/UseCases/GetItem/GetItemUseCase.js +0 -12
- package/UseCases/GetItem/GetItemUseCase.js.map +0 -1
- package/UseCases/GetItem/IGetItemUseCase.d.ts +0 -4
- package/UseCases/GetItem/IGetItemUseCase.js +0 -3
- package/UseCases/GetItem/IGetItemUseCase.js.map +0 -1
- package/UseCases/GetItem/index.d.ts +0 -2
- package/UseCases/GetItem/index.js +0 -4
- package/UseCases/GetItem/index.js.map +0 -1
- package/UseCases/GetScheduledItem/GetScheduledItemUseCase.d.ts +0 -7
- package/UseCases/GetScheduledItem/GetScheduledItemUseCase.js +0 -13
- package/UseCases/GetScheduledItem/GetScheduledItemUseCase.js.map +0 -1
- package/UseCases/GetScheduledItem/IGetScheduledItemUseCase.d.ts +0 -4
- package/UseCases/GetScheduledItem/IGetScheduledItemUseCase.js +0 -3
- package/UseCases/GetScheduledItem/IGetScheduledItemUseCase.js.map +0 -1
- package/UseCases/GetScheduledItem/index.d.ts +0 -2
- package/UseCases/GetScheduledItem/index.js +0 -4
- package/UseCases/GetScheduledItem/index.js.map +0 -1
- package/UseCases/ListItems/IListItemsUseCase.d.ts +0 -4
- package/UseCases/ListItems/IListItemsUseCase.js +0 -3
- package/UseCases/ListItems/IListItemsUseCase.js.map +0 -1
- package/UseCases/ListItems/ListItemsUseCase.d.ts +0 -8
- package/UseCases/ListItems/ListItemsUseCase.js +0 -12
- package/UseCases/ListItems/ListItemsUseCase.js.map +0 -1
- package/UseCases/ListItems/ListItemsUseCaseWithSearch.d.ts +0 -9
- package/UseCases/ListItems/ListItemsUseCaseWithSearch.js +0 -20
- package/UseCases/ListItems/ListItemsUseCaseWithSearch.js.map +0 -1
- package/UseCases/ListItems/ListItemsUseCaseWithSorting.d.ts +0 -9
- package/UseCases/ListItems/ListItemsUseCaseWithSorting.js +0 -18
- package/UseCases/ListItems/ListItemsUseCaseWithSorting.js.map +0 -1
- package/UseCases/ListItems/index.d.ts +0 -4
- package/UseCases/ListItems/index.js +0 -6
- package/UseCases/ListItems/index.js.map +0 -1
- package/UseCases/ListMoreItems/IListMoreItemsUseCase.d.ts +0 -3
- package/UseCases/ListMoreItems/IListMoreItemsUseCase.js +0 -3
- package/UseCases/ListMoreItems/IListMoreItemsUseCase.js.map +0 -1
- package/UseCases/ListMoreItems/ListMoreItemsUseCase.d.ts +0 -7
- package/UseCases/ListMoreItems/ListMoreItemsUseCase.js +0 -12
- package/UseCases/ListMoreItems/ListMoreItemsUseCase.js.map +0 -1
- package/UseCases/ListMoreItems/index.d.ts +0 -2
- package/UseCases/ListMoreItems/index.js +0 -4
- package/UseCases/ListMoreItems/index.js.map +0 -1
- package/UseCases/PublishItem/IPublishItemUseCase.d.ts +0 -3
- package/UseCases/PublishItem/IPublishItemUseCase.js +0 -3
- package/UseCases/PublishItem/IPublishItemUseCase.js.map +0 -1
- package/UseCases/PublishItem/PublishItemUseCase.d.ts +0 -7
- package/UseCases/PublishItem/PublishItemUseCase.js +0 -12
- package/UseCases/PublishItem/PublishItemUseCase.js.map +0 -1
- package/UseCases/PublishItem/index.d.ts +0 -2
- package/UseCases/PublishItem/index.js +0 -4
- package/UseCases/PublishItem/index.js.map +0 -1
- package/UseCases/SearchItems/ISearchItemsUseCase.d.ts +0 -3
- package/UseCases/SearchItems/ISearchItemsUseCase.js +0 -3
- package/UseCases/SearchItems/ISearchItemsUseCase.js.map +0 -1
- package/UseCases/SearchItems/SearchItemsUseCase.d.ts +0 -7
- package/UseCases/SearchItems/SearchItemsUseCase.js +0 -12
- package/UseCases/SearchItems/SearchItemsUseCase.js.map +0 -1
- package/UseCases/SearchItems/index.d.ts +0 -2
- package/UseCases/SearchItems/index.js +0 -4
- package/UseCases/SearchItems/index.js.map +0 -1
- package/UseCases/SelectAllItems/ISelectAllItemsUseCase.d.ts +0 -3
- package/UseCases/SelectAllItems/ISelectAllItemsUseCase.js +0 -3
- package/UseCases/SelectAllItems/ISelectAllItemsUseCase.js.map +0 -1
- package/UseCases/SelectAllItems/SelectAllItemsUseCase.d.ts +0 -7
- package/UseCases/SelectAllItems/SelectAllItemsUseCase.js +0 -12
- package/UseCases/SelectAllItems/SelectAllItemsUseCase.js.map +0 -1
- package/UseCases/SelectAllItems/index.d.ts +0 -2
- package/UseCases/SelectAllItems/index.js +0 -4
- package/UseCases/SelectAllItems/index.js.map +0 -1
- package/UseCases/SelectItems/ISelectItemsUseCase.d.ts +0 -4
- package/UseCases/SelectItems/ISelectItemsUseCase.js +0 -3
- package/UseCases/SelectItems/ISelectItemsUseCase.js.map +0 -1
- package/UseCases/SelectItems/SelectItemsUseCase.d.ts +0 -7
- package/UseCases/SelectItems/SelectItemsUseCase.js +0 -12
- package/UseCases/SelectItems/SelectItemsUseCase.js.map +0 -1
- package/UseCases/SelectItems/index.d.ts +0 -2
- package/UseCases/SelectItems/index.js +0 -4
- package/UseCases/SelectItems/index.js.map +0 -1
- package/UseCases/SortItems/ISortItemsUseCase.d.ts +0 -4
- package/UseCases/SortItems/ISortItemsUseCase.js +0 -3
- package/UseCases/SortItems/ISortItemsUseCase.js.map +0 -1
- package/UseCases/SortItems/SortItemsUseCase.d.ts +0 -7
- package/UseCases/SortItems/SortItemsUseCase.js +0 -12
- package/UseCases/SortItems/SortItemsUseCase.js.map +0 -1
- package/UseCases/SortItems/index.d.ts +0 -2
- package/UseCases/SortItems/index.js +0 -4
- package/UseCases/SortItems/index.js.map +0 -1
- package/UseCases/UnSelectAllItems/IUnselectAllItemsUseCase.d.ts +0 -3
- package/UseCases/UnSelectAllItems/IUnselectAllItemsUseCase.js +0 -3
- package/UseCases/UnSelectAllItems/IUnselectAllItemsUseCase.js.map +0 -1
- package/UseCases/UnSelectAllItems/UnselectAllItemsUseCase.d.ts +0 -7
- package/UseCases/UnSelectAllItems/UnselectAllItemsUseCase.js +0 -12
- package/UseCases/UnSelectAllItems/UnselectAllItemsUseCase.js.map +0 -1
- package/UseCases/UnSelectAllItems/index.d.ts +0 -2
- package/UseCases/UnSelectAllItems/index.js +0 -4
- package/UseCases/UnSelectAllItems/index.js.map +0 -1
- package/UseCases/UnpublishItem/IUnpublishItemUseCase.d.ts +0 -3
- package/UseCases/UnpublishItem/IUnpublishItemUseCase.js +0 -3
- package/UseCases/UnpublishItem/IUnpublishItemUseCase.js.map +0 -1
- package/UseCases/UnpublishItem/UnpublishItemUseCase.d.ts +0 -7
- package/UseCases/UnpublishItem/UnpublishItemUseCase.js +0 -12
- package/UseCases/UnpublishItem/UnpublishItemUseCase.js.map +0 -1
- package/UseCases/UnpublishItem/index.d.ts +0 -2
- package/UseCases/UnpublishItem/index.js +0 -4
- package/UseCases/UnpublishItem/index.js.map +0 -1
- package/UseCases/index.d.ts +0 -11
- package/UseCases/index.js +0 -13
- package/UseCases/index.js.map +0 -1
- package/types.d.ts +0 -36
- package/types.js +0 -15
- package/types.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,22 +1,11 @@
|
|
|
1
1
|
# @webiny/app-headless-cms-scheduler
|
|
2
2
|
|
|
3
|
-
[!
|
|
4
|
-
[
|
|
5
|
-
|
|
6
|
-
[](http://makeapullrequest.com)
|
|
3
|
+
> [!NOTE]
|
|
4
|
+
> This package is part of the [Webiny](https://www.webiny.com) monorepo.
|
|
5
|
+
> It’s **included in every Webiny project by default** and is not meant to be used as a standalone package.
|
|
7
6
|
|
|
8
|
-
|
|
7
|
+
📘 **Documentation:** [https://www.webiny.com/docs](https://www.webiny.com/docs)
|
|
9
8
|
|
|
10
|
-
|
|
9
|
+
---
|
|
11
10
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
```
|
|
15
|
-
npm install --save @webiny/app-headless-cms-scheduler
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
Or if you prefer yarn:
|
|
19
|
-
|
|
20
|
-
```
|
|
21
|
-
yarn add @webiny/app-headless-cms-scheduler
|
|
22
|
-
```
|
|
11
|
+
_This README file is automatically generated during the publish process._
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import react from "react";
|
|
2
|
+
import { IsModelPublishable } from "@webiny/app-headless-cms/exports/admin/cms.js";
|
|
3
|
+
import { ContentEntryListConfig } from "@webiny/app-headless-cms/admin/config/contentEntries/index.js";
|
|
4
|
+
import { MenuItem } from "./MenuItem.js";
|
|
5
|
+
import { SchedulerMenuItem } from "./SchedulerMenuItem.js";
|
|
6
|
+
import { CellLive } from "./CellLive.js";
|
|
7
|
+
const { Browser: Browser } = ContentEntryListConfig;
|
|
8
|
+
const BrowserConfig = ()=>/*#__PURE__*/ react.createElement(ContentEntryListConfig, null, /*#__PURE__*/ react.createElement(IsModelPublishable, null, /*#__PURE__*/ react.createElement(Browser.Sidebar.Footer, {
|
|
9
|
+
name: "scheduler",
|
|
10
|
+
element: /*#__PURE__*/ react.createElement(SchedulerMenuItem, null)
|
|
11
|
+
}), /*#__PURE__*/ react.createElement(Browser.Entry.Action, {
|
|
12
|
+
name: "schedule",
|
|
13
|
+
element: /*#__PURE__*/ react.createElement(MenuItem, null)
|
|
14
|
+
}), /*#__PURE__*/ react.createElement(Browser.Table.Column, {
|
|
15
|
+
name: "live",
|
|
16
|
+
header: "Live",
|
|
17
|
+
truncate: false,
|
|
18
|
+
sortable: true,
|
|
19
|
+
cell: /*#__PURE__*/ react.createElement(CellLive, null)
|
|
20
|
+
})));
|
|
21
|
+
export { BrowserConfig };
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=BrowserConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components/Browser/BrowserConfig.js","sources":["../../../src/components/Browser/BrowserConfig.tsx"],"sourcesContent":["import React from \"react\";\nimport { IsModelPublishable } from \"@webiny/app-headless-cms/exports/admin/cms.js\";\nimport { ContentEntryListConfig } from \"@webiny/app-headless-cms/admin/config/contentEntries/index.js\";\nimport { MenuItem } from \"./MenuItem.js\";\nimport { SchedulerMenuItem } from \"./SchedulerMenuItem.js\";\nimport { CellLive } from \"./CellLive.js\";\n\nconst { Browser } = ContentEntryListConfig;\n\nexport const BrowserConfig = () => {\n return (\n <ContentEntryListConfig>\n <IsModelPublishable>\n <Browser.Sidebar.Footer name={\"scheduler\"} element={<SchedulerMenuItem />} />\n <Browser.Entry.Action name={\"schedule\"} element={<MenuItem />} />\n {/* Override the core \"Live\" column cell to surface scheduled actions. Same column\n name merges over the core (primary) definition from the public (secondary)\n config, replacing only the cell. */}\n <Browser.Table.Column\n name={\"live\"}\n header={\"Live\"}\n truncate={false}\n sortable={true}\n cell={<CellLive />}\n />\n </IsModelPublishable>\n </ContentEntryListConfig>\n );\n};\n"],"names":["Browser","ContentEntryListConfig","BrowserConfig","IsModelPublishable","SchedulerMenuItem","MenuItem","CellLive"],"mappings":";;;;;;AAOA,MAAM,EAAEA,SAAAA,OAAO,EAAE,GAAGC;AAEb,MAAMC,gBAAgB,IAClB,WAAP,GACI,oBAACD,wBAAsBA,MAAAA,WAAAA,GACnB,oBAACE,oBAAkBA,MAAAA,WAAAA,GACf,oBAACH,QAAQ,OAAO,CAAC,MAAM;QAAC,MAAM;QAAa,uBAAS,oBAACI,mBAAiBA;sBACtE,oBAACJ,QAAQ,KAAK,CAAC,MAAM;QAAC,MAAM;QAAY,uBAAS,oBAACK,UAAQA;sBAI1D,oBAACL,QAAQ,KAAK,CAAC,MAAM;QACjB,MAAM;QACN,QAAQ;QACR,UAAU;QACV,UAAU;QACV,oBAAM,oBAACM,UAAQA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Overrides the CMS "Live" column cell to surface scheduled publish/unpublish actions.
|
|
4
|
+
*
|
|
5
|
+
* The data comes from ScheduledActionsPresenter, which the content-entries list presenter decorator
|
|
6
|
+
* keeps loaded for the current model. An entry can be live AND have a scheduled action (e.g. a new
|
|
7
|
+
* revision scheduled to publish), so both are shown when both apply.
|
|
8
|
+
*/
|
|
9
|
+
export declare const CellLive: (() => React.JSX.Element) & React.NamedExoticComponent<unknown> & {
|
|
10
|
+
readonly type: () => React.JSX.Element;
|
|
11
|
+
};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import react from "react";
|
|
2
|
+
import { observer } from "mobx-react-lite";
|
|
3
|
+
import { ContentEntryListConfig } from "@webiny/app-headless-cms/admin/config/contentEntries/index.js";
|
|
4
|
+
import { useScheduledActionsPresenter } from "../../hooks/useScheduledActionsPresenter.js";
|
|
5
|
+
import { LiveTag } from "./LiveTag.js";
|
|
6
|
+
import { ScheduledTag } from "./ScheduledTag.js";
|
|
7
|
+
import { isScheduleRedundant } from "./isScheduleRedundant.js";
|
|
8
|
+
const CellLive = observer(()=>{
|
|
9
|
+
const { useTableRow, isFolderRow } = ContentEntryListConfig.Browser.Table.Column;
|
|
10
|
+
const { row } = useTableRow();
|
|
11
|
+
const presenter = useScheduledActionsPresenter();
|
|
12
|
+
if (isFolderRow(row)) return /*#__PURE__*/ react.createElement(react.Fragment, null, "-");
|
|
13
|
+
const entry = row.data;
|
|
14
|
+
const liveVersion = entry.live?.version;
|
|
15
|
+
const rawScheduled = presenter.getScheduledAction(entry.id);
|
|
16
|
+
const scheduled = rawScheduled && !isScheduleRedundant(rawScheduled, liveVersion, entry.meta?.version) ? rawScheduled : void 0;
|
|
17
|
+
const lastPublishedOn = entry.lastPublishedOn;
|
|
18
|
+
if (liveVersion && scheduled) return /*#__PURE__*/ react.createElement("div", {
|
|
19
|
+
className: "flex flex-wrap items-center gap-xs"
|
|
20
|
+
}, /*#__PURE__*/ react.createElement(LiveTag, {
|
|
21
|
+
version: liveVersion,
|
|
22
|
+
lastPublishedOn: lastPublishedOn
|
|
23
|
+
}), /*#__PURE__*/ react.createElement(ScheduledTag, {
|
|
24
|
+
scheduled: scheduled
|
|
25
|
+
}));
|
|
26
|
+
if (scheduled) return /*#__PURE__*/ react.createElement(ScheduledTag, {
|
|
27
|
+
scheduled: scheduled
|
|
28
|
+
});
|
|
29
|
+
if (!liveVersion) return /*#__PURE__*/ react.createElement(react.Fragment, null, "No");
|
|
30
|
+
return /*#__PURE__*/ react.createElement(LiveTag, {
|
|
31
|
+
version: liveVersion,
|
|
32
|
+
lastPublishedOn: lastPublishedOn
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
export { CellLive };
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=CellLive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components/Browser/CellLive.js","sources":["../../../src/components/Browser/CellLive.tsx"],"sourcesContent":["import React from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { ContentEntryListConfig } from \"@webiny/app-headless-cms/admin/config/contentEntries/index.js\";\nimport { useScheduledActionsPresenter } from \"~/hooks/useScheduledActionsPresenter.js\";\nimport { LiveTag } from \"./LiveTag.js\";\nimport { ScheduledTag } from \"./ScheduledTag.js\";\nimport { isScheduleRedundant } from \"./isScheduleRedundant.js\";\n\n/**\n * Overrides the CMS \"Live\" column cell to surface scheduled publish/unpublish actions.\n *\n * The data comes from ScheduledActionsPresenter, which the content-entries list presenter decorator\n * keeps loaded for the current model. An entry can be live AND have a scheduled action (e.g. a new\n * revision scheduled to publish), so both are shown when both apply.\n */\nexport const CellLive = observer(() => {\n const { useTableRow, isFolderRow } = ContentEntryListConfig.Browser.Table.Column;\n const { row } = useTableRow();\n const presenter = useScheduledActionsPresenter();\n\n if (isFolderRow(row)) {\n return <>{\"-\"}</>;\n }\n\n const entry = row.data;\n const liveVersion = entry.live?.version;\n\n const rawScheduled = presenter.getScheduledAction(entry.id);\n // Ignore a scheduled action the entry's current state has already made redundant (see helper).\n const scheduled =\n rawScheduled && !isScheduleRedundant(rawScheduled, liveVersion, entry.meta?.version)\n ? rawScheduled\n : undefined;\n\n const lastPublishedOn = entry.lastPublishedOn;\n\n // Live now AND a change scheduled — show both, wrapping to a second line if the column is narrow.\n if (liveVersion && scheduled) {\n return (\n <div className={\"flex flex-wrap items-center gap-xs\"}>\n <LiveTag version={liveVersion} lastPublishedOn={lastPublishedOn} />\n <ScheduledTag scheduled={scheduled} />\n </div>\n );\n }\n\n if (scheduled) {\n return <ScheduledTag scheduled={scheduled} />;\n }\n\n if (!liveVersion) {\n return <>No</>;\n }\n\n return <LiveTag version={liveVersion} lastPublishedOn={lastPublishedOn} />;\n});\n"],"names":["CellLive","observer","useTableRow","isFolderRow","ContentEntryListConfig","row","presenter","useScheduledActionsPresenter","entry","liveVersion","rawScheduled","scheduled","isScheduleRedundant","undefined","lastPublishedOn","LiveTag","ScheduledTag"],"mappings":";;;;;;;AAeO,MAAMA,WAAWC,SAAS;IAC7B,MAAM,EAAEC,WAAW,EAAEC,WAAW,EAAE,GAAGC,uBAAuB,OAAO,CAAC,KAAK,CAAC,MAAM;IAChF,MAAM,EAAEC,GAAG,EAAE,GAAGH;IAChB,MAAMI,YAAYC;IAElB,IAAIJ,YAAYE,MACZ,OAAO,WAAP,GAAO,0CAAG;IAGd,MAAMG,QAAQH,IAAI,IAAI;IACtB,MAAMI,cAAcD,MAAM,IAAI,EAAE;IAEhC,MAAME,eAAeJ,UAAU,kBAAkB,CAACE,MAAM,EAAE;IAE1D,MAAMG,YACFD,gBAAgB,CAACE,oBAAoBF,cAAcD,aAAaD,MAAM,IAAI,EAAE,WACtEE,eACAG;IAEV,MAAMC,kBAAkBN,MAAM,eAAe;IAG7C,IAAIC,eAAeE,WACf,OAAO,WAAP,GACI,oBAAC;QAAI,WAAW;qBACZ,oBAACI,SAAOA;QAAC,SAASN;QAAa,iBAAiBK;sBAChD,oBAACE,cAAYA;QAAC,WAAWL;;IAKrC,IAAIA,WACA,OAAO,WAAP,GAAO,oBAACK,cAAYA;QAAC,WAAWL;;IAGpC,IAAI,CAACF,aACD,OAAO,WAAP,GAAO,0CAAE;IAGb,OAAO,WAAP,GAAO,oBAACM,SAAOA;QAAC,SAASN;QAAa,iBAAiBK;;AAC3D"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import react from "react";
|
|
2
|
+
import { Tag, Tooltip } from "@webiny/admin-ui";
|
|
3
|
+
import { formatUtcOffset, useDateFormatter } from "@webiny/app-admin";
|
|
4
|
+
const LiveTag = ({ version, lastPublishedOn })=>{
|
|
5
|
+
const dateFormatter = useDateFormatter();
|
|
6
|
+
const tag = /*#__PURE__*/ react.createElement(Tag, {
|
|
7
|
+
swatchColor: "#5AC84C",
|
|
8
|
+
variant: "success-light",
|
|
9
|
+
content: `Live (v${version})`
|
|
10
|
+
});
|
|
11
|
+
if (lastPublishedOn) return /*#__PURE__*/ react.createElement(Tooltip, {
|
|
12
|
+
content: `Published ${dateFormatter.format(lastPublishedOn)} (${formatUtcOffset()})`,
|
|
13
|
+
trigger: tag
|
|
14
|
+
});
|
|
15
|
+
return tag;
|
|
16
|
+
};
|
|
17
|
+
export { LiveTag };
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=LiveTag.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components/Browser/LiveTag.js","sources":["../../../src/components/Browser/LiveTag.tsx"],"sourcesContent":["import React from \"react\";\nimport { Tag, Tooltip } from \"@webiny/admin-ui\";\nimport { formatUtcOffset, useDateFormatter } from \"@webiny/app-admin\";\n\ninterface LiveTagProps {\n version: number;\n lastPublishedOn?: string | null;\n}\n\nexport const LiveTag = ({ version, lastPublishedOn }: LiveTagProps) => {\n const dateFormatter = useDateFormatter();\n\n const tag = (\n <Tag swatchColor={\"#5AC84C\"} variant={\"success-light\"} content={`Live (v${version})`} />\n );\n\n if (lastPublishedOn) {\n return (\n <Tooltip\n content={`Published ${dateFormatter.format(lastPublishedOn)} (${formatUtcOffset()})`}\n trigger={tag}\n />\n );\n }\n\n return tag;\n};\n"],"names":["LiveTag","version","lastPublishedOn","dateFormatter","useDateFormatter","tag","Tag","Tooltip","formatUtcOffset"],"mappings":";;;AASO,MAAMA,UAAU,CAAC,EAAEC,OAAO,EAAEC,eAAe,EAAgB;IAC9D,MAAMC,gBAAgBC;IAEtB,MAAMC,MAAM,WAANA,GACF,oBAACC,KAAGA;QAAC,aAAa;QAAW,SAAS;QAAiB,SAAS,CAAC,OAAO,EAAEL,QAAQ,CAAC,CAAC;;IAGxF,IAAIC,iBACA,OAAO,WAAP,GACI,oBAACK,SAAOA;QACJ,SAAS,CAAC,UAAU,EAAEJ,cAAc,MAAM,CAACD,iBAAiB,EAAE,EAAEM,kBAAkB,CAAC,CAAC;QACpF,SAASH;;IAKrB,OAAOA;AACX"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import react, { useCallback } from "react";
|
|
2
|
+
import { observer } from "mobx-react-lite";
|
|
3
|
+
import { ReactComponent } from "@webiny/icons/cell_tower.svg";
|
|
4
|
+
import { useScheduleDialog } from "@webiny/app-scheduler";
|
|
5
|
+
import { ContentEntryListConfig } from "@webiny/app-headless-cms/exports/admin/cms/entry/list.js";
|
|
6
|
+
import { useEntry } from "@webiny/app-headless-cms";
|
|
7
|
+
import { useModel } from "@webiny/app-headless-cms/exports/admin/cms.js";
|
|
8
|
+
import { usePermissions } from "../../hooks/usePermissions.js";
|
|
9
|
+
import { createNamespace } from "../../utils/index.js";
|
|
10
|
+
import { useScheduledActionsPresenter } from "../../hooks/useScheduledActionsPresenter.js";
|
|
11
|
+
const MenuItem = observer(()=>{
|
|
12
|
+
const { model } = useModel();
|
|
13
|
+
const { entry } = useEntry();
|
|
14
|
+
const scheduledActions = useScheduledActionsPresenter();
|
|
15
|
+
const { canPublish, canUnpublish } = usePermissions();
|
|
16
|
+
const { showDialog: showSchedulerDialog } = useScheduleDialog({
|
|
17
|
+
namespace: createNamespace({
|
|
18
|
+
modelId: model.modelId
|
|
19
|
+
}),
|
|
20
|
+
target: {
|
|
21
|
+
id: entry.id,
|
|
22
|
+
title: entry.meta.title,
|
|
23
|
+
status: entry.meta.status
|
|
24
|
+
},
|
|
25
|
+
onCompleted: ()=>scheduledActions.reload()
|
|
26
|
+
});
|
|
27
|
+
const { OptionsMenuItem } = ContentEntryListConfig.Browser.Entry.Action;
|
|
28
|
+
const showDialog = useCallback(()=>{
|
|
29
|
+
showSchedulerDialog();
|
|
30
|
+
}, [
|
|
31
|
+
showSchedulerDialog
|
|
32
|
+
]);
|
|
33
|
+
if (!canPublish && !canUnpublish) return null;
|
|
34
|
+
const action = entry.meta?.status === "published" ? "unpublish" : "publish";
|
|
35
|
+
return /*#__PURE__*/ react.createElement(OptionsMenuItem, {
|
|
36
|
+
icon: /*#__PURE__*/ react.createElement(ReactComponent, null),
|
|
37
|
+
label: `Schedule ${action}`,
|
|
38
|
+
onAction: showDialog,
|
|
39
|
+
disabled: !entry?.meta?.status,
|
|
40
|
+
"data-testid": "cms.content-form.header.schedule"
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
export { MenuItem };
|
|
44
|
+
|
|
45
|
+
//# sourceMappingURL=MenuItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components/Browser/MenuItem.js","sources":["../../../src/components/Browser/MenuItem.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { ReactComponent as ScheduleIcon } from \"@webiny/icons/cell_tower.svg\";\nimport { useScheduleDialog } from \"@webiny/app-scheduler\";\nimport { ContentEntryListConfig } from \"@webiny/app-headless-cms/exports/admin/cms/entry/list.js\";\nimport { useEntry } from \"@webiny/app-headless-cms\";\nimport { useModel } from \"@webiny/app-headless-cms/exports/admin/cms.js\";\nimport { usePermissions } from \"~/hooks/usePermissions.js\";\nimport { createNamespace } from \"~/utils/index.js\";\nimport { useScheduledActionsPresenter } from \"~/hooks/useScheduledActionsPresenter.js\";\n\nexport const MenuItem = observer(() => {\n const { model } = useModel();\n const { entry } = useEntry();\n const scheduledActions = useScheduledActionsPresenter();\n\n const { canPublish, canUnpublish } = usePermissions();\n\n const { showDialog: showSchedulerDialog } = useScheduleDialog({\n namespace: createNamespace({ modelId: model.modelId }),\n target: {\n id: entry.id,\n title: entry.meta.title,\n status: entry.meta.status\n },\n onCompleted: () => scheduledActions.reload()\n });\n\n const { OptionsMenuItem } = ContentEntryListConfig.Browser.Entry.Action;\n\n const showDialog = useCallback(() => {\n showSchedulerDialog();\n }, [showSchedulerDialog]);\n\n if (!canPublish && !canUnpublish) {\n return null;\n }\n\n const action = entry.meta?.status === \"published\" ? \"unpublish\" : \"publish\";\n\n return (\n <OptionsMenuItem\n icon={<ScheduleIcon />}\n label={`Schedule ${action}`}\n onAction={showDialog}\n disabled={!entry?.meta?.status}\n data-testid={\"cms.content-form.header.schedule\"}\n />\n );\n});\n"],"names":["MenuItem","observer","model","useModel","entry","useEntry","scheduledActions","useScheduledActionsPresenter","canPublish","canUnpublish","usePermissions","showSchedulerDialog","useScheduleDialog","createNamespace","OptionsMenuItem","ContentEntryListConfig","showDialog","useCallback","action","ScheduleIcon"],"mappings":";;;;;;;;;;AAWO,MAAMA,WAAWC,SAAS;IAC7B,MAAM,EAAEC,KAAK,EAAE,GAAGC;IAClB,MAAM,EAAEC,KAAK,EAAE,GAAGC;IAClB,MAAMC,mBAAmBC;IAEzB,MAAM,EAAEC,UAAU,EAAEC,YAAY,EAAE,GAAGC;IAErC,MAAM,EAAE,YAAYC,mBAAmB,EAAE,GAAGC,kBAAkB;QAC1D,WAAWC,gBAAgB;YAAE,SAASX,MAAM,OAAO;QAAC;QACpD,QAAQ;YACJ,IAAIE,MAAM,EAAE;YACZ,OAAOA,MAAM,IAAI,CAAC,KAAK;YACvB,QAAQA,MAAM,IAAI,CAAC,MAAM;QAC7B;QACA,aAAa,IAAME,iBAAiB,MAAM;IAC9C;IAEA,MAAM,EAAEQ,eAAe,EAAE,GAAGC,uBAAuB,OAAO,CAAC,KAAK,CAAC,MAAM;IAEvE,MAAMC,aAAaC,YAAY;QAC3BN;IACJ,GAAG;QAACA;KAAoB;IAExB,IAAI,CAACH,cAAc,CAACC,cAChB,OAAO;IAGX,MAAMS,SAASd,MAAM,IAAI,EAAE,WAAW,cAAc,cAAc;IAElE,OAAO,WAAP,GACI,oBAACU,iBAAAA;QACG,oBAAM,oBAACK,gBAAYA;QACnB,OAAO,CAAC,SAAS,EAAED,QAAQ;QAC3B,UAAUF;QACV,UAAU,CAACZ,OAAO,MAAM;QACxB,eAAa;;AAGzB"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import react from "react";
|
|
2
|
+
import { ReactComponent } from "@webiny/icons/access_time.svg";
|
|
3
|
+
import { Tag, Tooltip } from "@webiny/admin-ui";
|
|
4
|
+
import { ScheduleActionType } from "@webiny/app-scheduler/types.js";
|
|
5
|
+
import { formatUtcOffset, useDateFormatter } from "@webiny/app-admin";
|
|
6
|
+
const scheduledTooltip = (scheduled, dateFormatter)=>{
|
|
7
|
+
const goLiveOn = scheduled.publishOn || scheduled.unpublishOn;
|
|
8
|
+
const actionLabel = scheduled.actionType === ScheduleActionType.unpublish ? "unpublish" : "publish";
|
|
9
|
+
return goLiveOn ? `Scheduled to ${actionLabel} on ${dateFormatter.format(goLiveOn)} (${formatUtcOffset()})` : `Scheduled to ${actionLabel}`;
|
|
10
|
+
};
|
|
11
|
+
const ScheduledTag = ({ scheduled })=>{
|
|
12
|
+
const dateFormatter = useDateFormatter();
|
|
13
|
+
return /*#__PURE__*/ react.createElement(Tooltip, {
|
|
14
|
+
content: scheduledTooltip(scheduled, dateFormatter),
|
|
15
|
+
trigger: /*#__PURE__*/ react.createElement(Tag, {
|
|
16
|
+
variant: "warning",
|
|
17
|
+
icon: /*#__PURE__*/ react.createElement(ReactComponent, null),
|
|
18
|
+
content: "Scheduled"
|
|
19
|
+
})
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
export { ScheduledTag };
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=ScheduledTag.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components/Browser/ScheduledTag.js","sources":["../../../src/components/Browser/ScheduledTag.tsx"],"sourcesContent":["import React from \"react\";\nimport { ReactComponent as ScheduledIcon } from \"@webiny/icons/access_time.svg\";\nimport { Tag, Tooltip } from \"@webiny/admin-ui\";\nimport { ScheduleActionType } from \"@webiny/app-scheduler/types.js\";\nimport type { SchedulerEntry } from \"@webiny/app-scheduler/types.js\";\nimport { useDateFormatter } from \"@webiny/app-admin\";\nimport type { DateFormatter } from \"@webiny/app-admin\";\nimport { formatUtcOffset } from \"@webiny/app-admin\";\n\nconst scheduledTooltip = (\n scheduled: SchedulerEntry,\n dateFormatter: DateFormatter.Interface\n): string => {\n const goLiveOn = scheduled.publishOn || scheduled.unpublishOn;\n const actionLabel =\n scheduled.actionType === ScheduleActionType.unpublish ? \"unpublish\" : \"publish\";\n return goLiveOn\n ? `Scheduled to ${actionLabel} on ${dateFormatter.format(goLiveOn)} (${formatUtcOffset()})`\n : `Scheduled to ${actionLabel}`;\n};\n\nexport const ScheduledTag = ({ scheduled }: { scheduled: SchedulerEntry }) => {\n const dateFormatter = useDateFormatter();\n return (\n <Tooltip\n content={scheduledTooltip(scheduled, dateFormatter)}\n trigger={<Tag variant={\"warning\"} icon={<ScheduledIcon />} content={\"Scheduled\"} />}\n />\n );\n};\n"],"names":["scheduledTooltip","scheduled","dateFormatter","goLiveOn","actionLabel","ScheduleActionType","formatUtcOffset","ScheduledTag","useDateFormatter","Tooltip","Tag","ScheduledIcon"],"mappings":";;;;;AASA,MAAMA,mBAAmB,CACrBC,WACAC;IAEA,MAAMC,WAAWF,UAAU,SAAS,IAAIA,UAAU,WAAW;IAC7D,MAAMG,cACFH,UAAU,UAAU,KAAKI,mBAAmB,SAAS,GAAG,cAAc;IAC1E,OAAOF,WACD,CAAC,aAAa,EAAEC,YAAY,IAAI,EAAEF,cAAc,MAAM,CAACC,UAAU,EAAE,EAAEG,kBAAkB,CAAC,CAAC,GACzF,CAAC,aAAa,EAAEF,aAAa;AACvC;AAEO,MAAMG,eAAe,CAAC,EAAEN,SAAS,EAAiC;IACrE,MAAMC,gBAAgBM;IACtB,OAAO,WAAP,GACI,oBAACC,SAAOA;QACJ,SAAST,iBAAiBC,WAAWC;QACrC,uBAAS,oBAACQ,KAAGA;YAAC,SAAS;YAAW,oBAAM,oBAACC,gBAAaA;YAAK,SAAS;;;AAGhF"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import react from "react";
|
|
2
|
+
import { Sidebar } from "@webiny/admin-ui";
|
|
3
|
+
import { ReactComponent } from "@webiny/icons/cell_tower.svg";
|
|
4
|
+
const SchedulerButton = (props)=>/*#__PURE__*/ react.createElement("div", {
|
|
5
|
+
className: "list-none"
|
|
6
|
+
}, /*#__PURE__*/ react.createElement(Sidebar.Item, {
|
|
7
|
+
onClick: props.onClick,
|
|
8
|
+
text: "Schedule",
|
|
9
|
+
icon: /*#__PURE__*/ react.createElement(Sidebar.Item.Icon, {
|
|
10
|
+
element: /*#__PURE__*/ react.createElement(ReactComponent, null),
|
|
11
|
+
label: "Schedule"
|
|
12
|
+
})
|
|
13
|
+
}));
|
|
14
|
+
export { SchedulerButton };
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=SchedulerButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components/Browser/SchedulerButton.js","sources":["../../../src/components/Browser/SchedulerButton.tsx"],"sourcesContent":["import React from \"react\";\nimport { Sidebar } from \"@webiny/admin-ui\";\nimport { ReactComponent as ScheduleIcon } from \"@webiny/icons/cell_tower.svg\";\n\nexport interface ScheduleButtonProps {\n onClick: () => void;\n}\n\nexport const SchedulerButton = (props: ScheduleButtonProps) => {\n return (\n <div className={\"list-none\"}>\n <Sidebar.Item\n onClick={props.onClick}\n text={\"Schedule\"}\n icon={<Sidebar.Item.Icon element={<ScheduleIcon />} label={\"Schedule\"} />}\n />\n </div>\n );\n};\n"],"names":["SchedulerButton","props","Sidebar","ScheduleIcon"],"mappings":";;;AAQO,MAAMA,kBAAkB,CAACC,QACrB,WAAP,GACI,oBAAC;QAAI,WAAW;qBACZ,oBAACC,QAAQ,IAAI;QACT,SAASD,MAAM,OAAO;QACtB,MAAM;QACN,oBAAM,oBAACC,QAAQ,IAAI,CAAC,IAAI;YAAC,uBAAS,oBAACC,gBAAYA;YAAK,OAAO"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import react from "react";
|
|
2
|
+
import { useModel } from "@webiny/app-headless-cms/exports/admin/cms.js";
|
|
3
|
+
import { usePermissions } from "../../hooks/usePermissions.js";
|
|
4
|
+
import { Scheduler } from "@webiny/app-scheduler";
|
|
5
|
+
import { SchedulerButton } from "./SchedulerButton.js";
|
|
6
|
+
import { useScheduledActionsPresenter } from "../../hooks/useScheduledActionsPresenter.js";
|
|
7
|
+
import { createNamespace } from "../../utils/index.js";
|
|
8
|
+
const SchedulerMenuItem = ()=>{
|
|
9
|
+
const { model } = useModel();
|
|
10
|
+
const { canPublish, canUnpublish } = usePermissions();
|
|
11
|
+
const scheduledActions = useScheduledActionsPresenter();
|
|
12
|
+
const namespace = createNamespace(model);
|
|
13
|
+
if (!canPublish && !canUnpublish) return null;
|
|
14
|
+
return /*#__PURE__*/ react.createElement(Scheduler, {
|
|
15
|
+
namespace: namespace,
|
|
16
|
+
canPublish: canPublish,
|
|
17
|
+
canUnpublish: canUnpublish,
|
|
18
|
+
onClose: ()=>scheduledActions.loadForModel(model.modelId),
|
|
19
|
+
render: ({ showScheduler })=>/*#__PURE__*/ react.createElement(SchedulerButton, {
|
|
20
|
+
onClick: showScheduler
|
|
21
|
+
})
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
export { SchedulerMenuItem };
|
|
25
|
+
|
|
26
|
+
//# sourceMappingURL=SchedulerMenuItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components/Browser/SchedulerMenuItem.js","sources":["../../../src/components/Browser/SchedulerMenuItem.tsx"],"sourcesContent":["import React from \"react\";\nimport { useModel } from \"@webiny/app-headless-cms/exports/admin/cms.js\";\nimport { usePermissions } from \"~/hooks/usePermissions.js\";\nimport { Scheduler as BaseScheduler } from \"@webiny/app-scheduler\";\nimport { SchedulerButton } from \"./SchedulerButton.js\";\nimport { useScheduledActionsPresenter } from \"~/hooks/useScheduledActionsPresenter.js\";\nimport { createNamespace } from \"~/utils/index.js\";\n\nexport const SchedulerMenuItem = () => {\n const { model } = useModel();\n const { canPublish, canUnpublish } = usePermissions();\n const scheduledActions = useScheduledActionsPresenter();\n\n const namespace = createNamespace(model);\n\n if (!canPublish && !canUnpublish) {\n return null;\n }\n\n return (\n <BaseScheduler\n namespace={namespace}\n canPublish={canPublish}\n canUnpublish={canUnpublish}\n // The scheduler overlay opens on top of the entries list, so the list stays mounted and\n // its cached scheduled actions go stale when one is cancelled here. Reload on close so the\n // \"Live\" column reflects any cancellations before the user sees the list again.\n onClose={() => scheduledActions.loadForModel(model.modelId)}\n render={({ showScheduler }) => {\n return <SchedulerButton onClick={showScheduler} />;\n }}\n />\n );\n};\n"],"names":["SchedulerMenuItem","model","useModel","canPublish","canUnpublish","usePermissions","scheduledActions","useScheduledActionsPresenter","namespace","createNamespace","BaseScheduler","showScheduler","SchedulerButton"],"mappings":";;;;;;;AAQO,MAAMA,oBAAoB;IAC7B,MAAM,EAAEC,KAAK,EAAE,GAAGC;IAClB,MAAM,EAAEC,UAAU,EAAEC,YAAY,EAAE,GAAGC;IACrC,MAAMC,mBAAmBC;IAEzB,MAAMC,YAAYC,gBAAgBR;IAElC,IAAI,CAACE,cAAc,CAACC,cAChB,OAAO;IAGX,OAAO,WAAP,GACI,oBAACM,WAAaA;QACV,WAAWF;QACX,YAAYL;QACZ,cAAcC;QAId,SAAS,IAAME,iBAAiB,YAAY,CAACL,MAAM,OAAO;QAC1D,QAAQ,CAAC,EAAEU,aAAa,EAAE,GACf,WAAP,GAAO,oBAACC,iBAAeA;gBAAC,SAASD;;;AAIjD"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { SchedulerEntry } from "@webiny/app-scheduler/types.js";
|
|
2
|
+
/**
|
|
3
|
+
* A scheduled action is made redundant by a direct publish/unpublish. The API cancels it, but that
|
|
4
|
+
* happens asynchronously, so reconcile against the entry's current state to clear the badge
|
|
5
|
+
* immediately instead of waiting for the backend cancellation to propagate:
|
|
6
|
+
*
|
|
7
|
+
* - Scheduled PUBLISH is redundant once the latest revision is already live
|
|
8
|
+
* (`live.version === version`). It is NOT redundant when an older revision is live and a newer one
|
|
9
|
+
* is queued (live.version < version) — that is the legitimate "live and scheduled" case.
|
|
10
|
+
* - Scheduled UNPUBLISH is redundant once nothing is live.
|
|
11
|
+
*/
|
|
12
|
+
export declare const isScheduleRedundant: (scheduled: SchedulerEntry, liveVersion: number | undefined, currentVersion: number | undefined) => boolean;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ScheduleActionType } from "@webiny/app-scheduler/types.js";
|
|
2
|
+
const isScheduleRedundant = (scheduled, liveVersion, currentVersion)=>{
|
|
3
|
+
if (scheduled.actionType === ScheduleActionType.unpublish) return void 0 === liveVersion;
|
|
4
|
+
return void 0 !== liveVersion && liveVersion === currentVersion;
|
|
5
|
+
};
|
|
6
|
+
export { isScheduleRedundant };
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=isScheduleRedundant.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components/Browser/isScheduleRedundant.js","sources":["../../../src/components/Browser/isScheduleRedundant.ts"],"sourcesContent":["import { ScheduleActionType } from \"@webiny/app-scheduler/types.js\";\nimport type { SchedulerEntry } from \"@webiny/app-scheduler/types.js\";\n\n/**\n * A scheduled action is made redundant by a direct publish/unpublish. The API cancels it, but that\n * happens asynchronously, so reconcile against the entry's current state to clear the badge\n * immediately instead of waiting for the backend cancellation to propagate:\n *\n * - Scheduled PUBLISH is redundant once the latest revision is already live\n * (`live.version === version`). It is NOT redundant when an older revision is live and a newer one\n * is queued (live.version < version) — that is the legitimate \"live and scheduled\" case.\n * - Scheduled UNPUBLISH is redundant once nothing is live.\n */\nexport const isScheduleRedundant = (\n scheduled: SchedulerEntry,\n liveVersion: number | undefined,\n currentVersion: number | undefined\n): boolean => {\n if (scheduled.actionType === ScheduleActionType.unpublish) {\n return liveVersion === undefined;\n }\n return liveVersion !== undefined && liveVersion === currentVersion;\n};\n"],"names":["isScheduleRedundant","scheduled","liveVersion","currentVersion","ScheduleActionType","undefined"],"mappings":";AAaO,MAAMA,sBAAsB,CAC/BC,WACAC,aACAC;IAEA,IAAIF,UAAU,UAAU,KAAKG,mBAAmB,SAAS,EACrD,OAAOF,AAAgBG,WAAhBH;IAEX,OAAOA,AAAgBG,WAAhBH,eAA6BA,gBAAgBC;AACxD"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Decorates the "Publish entry" dialog to warn (via its `intro` prop) that publishing now will
|
|
4
|
+
* cancel an existing scheduled action for the entry.
|
|
5
|
+
*/
|
|
6
|
+
export declare const PublishScheduleNoticeDecorator: (props: unknown) => React.JSX.Element;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import react from "react";
|
|
2
|
+
import { useNamedConfirmationDialog } from "@webiny/app-admin";
|
|
3
|
+
import { PublishEntryConfirmDialog } from "@webiny/app-headless-cms/exports/admin/cms.js";
|
|
4
|
+
import { ScheduleNoticeAlert } from "./ScheduleNoticeAlert.js";
|
|
5
|
+
const PublishScheduleNoticeDecorator = PublishEntryConfirmDialog.createDecorator((Original)=>function(props) {
|
|
6
|
+
const { params } = useNamedConfirmationDialog();
|
|
7
|
+
return /*#__PURE__*/ react.createElement(Original, {
|
|
8
|
+
...props,
|
|
9
|
+
intro: /*#__PURE__*/ react.createElement(react.Fragment, null, props.intro, /*#__PURE__*/ react.createElement(ScheduleNoticeAlert, {
|
|
10
|
+
targetId: params.entry?.id,
|
|
11
|
+
verb: "Publishing"
|
|
12
|
+
}))
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
export { PublishScheduleNoticeDecorator };
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=PublishScheduleNotice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components/Dialogs/PublishScheduleNotice.js","sources":["../../../src/components/Dialogs/PublishScheduleNotice.tsx"],"sourcesContent":["import React from \"react\";\nimport { useNamedConfirmationDialog } from \"@webiny/app-admin\";\nimport { PublishEntryConfirmDialog } from \"@webiny/app-headless-cms/exports/admin/cms.js\";\nimport type { CmsContentEntry } from \"@webiny/app-headless-cms-common/types/index.js\";\nimport { ScheduleNoticeAlert } from \"./ScheduleNoticeAlert.js\";\n\n/**\n * Decorates the \"Publish entry\" dialog to warn (via its `intro` prop) that publishing now will\n * cancel an existing scheduled action for the entry.\n */\nexport const PublishScheduleNoticeDecorator = PublishEntryConfirmDialog.createDecorator(\n Original => {\n return function PublishEntryConfirmDialogWithNotice(props) {\n const { params } = useNamedConfirmationDialog<{ entry: CmsContentEntry }>();\n return (\n <Original\n {...props}\n intro={\n <>\n {props.intro}\n <ScheduleNoticeAlert targetId={params.entry?.id} verb={\"Publishing\"} />\n </>\n }\n />\n );\n };\n }\n);\n"],"names":["PublishScheduleNoticeDecorator","PublishEntryConfirmDialog","Original","props","params","useNamedConfirmationDialog","ScheduleNoticeAlert"],"mappings":";;;;AAUO,MAAMA,iCAAiCC,0BAA0B,eAAe,CACnFC,CAAAA,WACW,SAA6CC,KAAK;QACrD,MAAM,EAAEC,MAAM,EAAE,GAAGC;QACnB,OAAO,WAAP,GACI,oBAACH,UAAAA;YACI,GAAGC,KAAK;YACT,qBACI,0CACKA,MAAM,KAAK,gBACZ,oBAACG,qBAAmBA;gBAAC,UAAUF,OAAO,KAAK,EAAE;gBAAI,MAAM;;;IAK3E"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
interface ScheduleNoticeAlertProps {
|
|
3
|
+
targetId: string | undefined;
|
|
4
|
+
verb: "Publishing" | "Unpublishing";
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Warns that an about-to-happen publish/unpublish will cancel an existing scheduled action for the
|
|
8
|
+
* entry (the API cancels it). Reads from ScheduledActionsPresenter, already populated by the list
|
|
9
|
+
* (or the entry form). Renders nothing when there is no scheduled action.
|
|
10
|
+
*/
|
|
11
|
+
export declare const ScheduleNoticeAlert: (({ targetId, verb }: ScheduleNoticeAlertProps) => React.JSX.Element | null) & React.NamedExoticComponent<ScheduleNoticeAlertProps> & {
|
|
12
|
+
readonly type: ({ targetId, verb }: ScheduleNoticeAlertProps) => React.JSX.Element | null;
|
|
13
|
+
};
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import react from "react";
|
|
2
|
+
import { observer } from "mobx-react-lite";
|
|
3
|
+
import { Alert } from "@webiny/admin-ui";
|
|
4
|
+
import { ScheduleActionType } from "@webiny/app-scheduler/types.js";
|
|
5
|
+
import { useDateFormatter } from "@webiny/app-admin";
|
|
6
|
+
import { useScheduledActionsPresenter } from "../../hooks/useScheduledActionsPresenter.js";
|
|
7
|
+
const ScheduleNoticeAlert = observer(({ targetId, verb })=>{
|
|
8
|
+
const presenter = useScheduledActionsPresenter();
|
|
9
|
+
const dateFormatter = useDateFormatter();
|
|
10
|
+
const scheduled = targetId ? presenter.getScheduledAction(targetId) : void 0;
|
|
11
|
+
if (!scheduled) return null;
|
|
12
|
+
const goLiveOn = scheduled.publishOn || scheduled.unpublishOn;
|
|
13
|
+
const actionLabel = scheduled.actionType === ScheduleActionType.unpublish ? "unpublish" : "publish";
|
|
14
|
+
return /*#__PURE__*/ react.createElement(Alert, {
|
|
15
|
+
type: "warning",
|
|
16
|
+
variant: "subtle",
|
|
17
|
+
className: "mb-md"
|
|
18
|
+
}, "This entry has a ", actionLabel, " scheduled", goLiveOn ? ` for ${dateFormatter.format(goLiveOn)}` : "", ". ", verb, " now will cancel it.");
|
|
19
|
+
});
|
|
20
|
+
export { ScheduleNoticeAlert };
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=ScheduleNoticeAlert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components/Dialogs/ScheduleNoticeAlert.js","sources":["../../../src/components/Dialogs/ScheduleNoticeAlert.tsx"],"sourcesContent":["import React from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { Alert } from \"@webiny/admin-ui\";\nimport { ScheduleActionType } from \"@webiny/app-scheduler/types.js\";\nimport { useDateFormatter } from \"@webiny/app-admin\";\nimport { useScheduledActionsPresenter } from \"~/hooks/useScheduledActionsPresenter.js\";\n\ninterface ScheduleNoticeAlertProps {\n targetId: string | undefined;\n // The action the user is about to take, used in the warning (\"Publishing now will cancel it.\").\n verb: \"Publishing\" | \"Unpublishing\";\n}\n\n/**\n * Warns that an about-to-happen publish/unpublish will cancel an existing scheduled action for the\n * entry (the API cancels it). Reads from ScheduledActionsPresenter, already populated by the list\n * (or the entry form). Renders nothing when there is no scheduled action.\n */\nexport const ScheduleNoticeAlert = observer(({ targetId, verb }: ScheduleNoticeAlertProps) => {\n const presenter = useScheduledActionsPresenter();\n const dateFormatter = useDateFormatter();\n\n const scheduled = targetId ? presenter.getScheduledAction(targetId) : undefined;\n\n if (!scheduled) {\n return null;\n }\n\n const goLiveOn = scheduled.publishOn || scheduled.unpublishOn;\n const actionLabel =\n scheduled.actionType === ScheduleActionType.unpublish ? \"unpublish\" : \"publish\";\n\n return (\n <Alert type={\"warning\"} variant={\"subtle\"} className={\"mb-md\"}>\n This entry has a {actionLabel} scheduled\n {goLiveOn ? ` for ${dateFormatter.format(goLiveOn)}` : \"\"}. {verb} now will cancel it.\n </Alert>\n );\n});\n"],"names":["ScheduleNoticeAlert","observer","targetId","verb","presenter","useScheduledActionsPresenter","dateFormatter","useDateFormatter","scheduled","undefined","goLiveOn","actionLabel","ScheduleActionType","Alert"],"mappings":";;;;;;AAkBO,MAAMA,sBAAsBC,SAAS,CAAC,EAAEC,QAAQ,EAAEC,IAAI,EAA4B;IACrF,MAAMC,YAAYC;IAClB,MAAMC,gBAAgBC;IAEtB,MAAMC,YAAYN,WAAWE,UAAU,kBAAkB,CAACF,YAAYO;IAEtE,IAAI,CAACD,WACD,OAAO;IAGX,MAAME,WAAWF,UAAU,SAAS,IAAIA,UAAU,WAAW;IAC7D,MAAMG,cACFH,UAAU,UAAU,KAAKI,mBAAmB,SAAS,GAAG,cAAc;IAE1E,OAAO,WAAP,GACI,oBAACC,OAAKA;QAAC,MAAM;QAAW,SAAS;QAAU,WAAW;OAAS,qBACzCF,aAAY,cAC7BD,WAAW,CAAC,KAAK,EAAEJ,cAAc,MAAM,CAACI,WAAW,GAAG,IAAG,MAAGP,MAAK;AAG9E"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Decorates the "Unpublish entry" dialog to warn (via its `intro` prop) that unpublishing now will
|
|
4
|
+
* cancel an existing scheduled action for the entry.
|
|
5
|
+
*/
|
|
6
|
+
export declare const UnpublishScheduleNoticeDecorator: (props: unknown) => React.JSX.Element;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import react from "react";
|
|
2
|
+
import { useNamedConfirmationDialog } from "@webiny/app-admin";
|
|
3
|
+
import { UnpublishEntryConfirmDialog } from "@webiny/app-headless-cms/exports/admin/cms.js";
|
|
4
|
+
import { ScheduleNoticeAlert } from "./ScheduleNoticeAlert.js";
|
|
5
|
+
const UnpublishScheduleNoticeDecorator = UnpublishEntryConfirmDialog.createDecorator((Original)=>function(props) {
|
|
6
|
+
const { params } = useNamedConfirmationDialog();
|
|
7
|
+
return /*#__PURE__*/ react.createElement(Original, {
|
|
8
|
+
...props,
|
|
9
|
+
intro: /*#__PURE__*/ react.createElement(react.Fragment, null, props.intro, /*#__PURE__*/ react.createElement(ScheduleNoticeAlert, {
|
|
10
|
+
targetId: params.entryId,
|
|
11
|
+
verb: "Unpublishing"
|
|
12
|
+
}))
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
export { UnpublishScheduleNoticeDecorator };
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=UnpublishScheduleNotice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components/Dialogs/UnpublishScheduleNotice.js","sources":["../../../src/components/Dialogs/UnpublishScheduleNotice.tsx"],"sourcesContent":["import React from \"react\";\nimport { useNamedConfirmationDialog } from \"@webiny/app-admin\";\nimport { UnpublishEntryConfirmDialog } from \"@webiny/app-headless-cms/exports/admin/cms.js\";\nimport { ScheduleNoticeAlert } from \"./ScheduleNoticeAlert.js\";\n\n/**\n * Decorates the \"Unpublish entry\" dialog to warn (via its `intro` prop) that unpublishing now will\n * cancel an existing scheduled action for the entry.\n */\nexport const UnpublishScheduleNoticeDecorator = UnpublishEntryConfirmDialog.createDecorator(\n Original => {\n return function UnpublishEntryConfirmDialogWithNotice(props) {\n const { params } = useNamedConfirmationDialog<{ entryId: string }>();\n return (\n <Original\n {...props}\n intro={\n <>\n {props.intro}\n <ScheduleNoticeAlert targetId={params.entryId} verb={\"Unpublishing\"} />\n </>\n }\n />\n );\n };\n }\n);\n"],"names":["UnpublishScheduleNoticeDecorator","UnpublishEntryConfirmDialog","Original","props","params","useNamedConfirmationDialog","ScheduleNoticeAlert"],"mappings":";;;;AASO,MAAMA,mCAAmCC,4BAA4B,eAAe,CACvFC,CAAAA,WACW,SAA+CC,KAAK;QACvD,MAAM,EAAEC,MAAM,EAAE,GAAGC;QACnB,OAAO,WAAP,GACI,oBAACH,UAAAA;YACI,GAAGC,KAAK;YACT,qBACI,0CACKA,MAAM,KAAK,gBACZ,oBAACG,qBAAmBA;gBAAC,UAAUF,OAAO,OAAO;gBAAE,MAAM;;;IAKzE"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import react from "react";
|
|
2
|
+
import { InternalContentEntryEditorConfig } from "@webiny/app-headless-cms";
|
|
3
|
+
import { IsModelPublishable } from "@webiny/app-headless-cms/exports/admin/cms.js";
|
|
4
|
+
import { MenuItem } from "./MenuItem.js";
|
|
5
|
+
const { Actions: Actions } = InternalContentEntryEditorConfig;
|
|
6
|
+
const EditorConfig = ()=>/*#__PURE__*/ react.createElement(InternalContentEntryEditorConfig, null, /*#__PURE__*/ react.createElement(IsModelPublishable, null, /*#__PURE__*/ react.createElement(Actions.MenuItemAction, {
|
|
7
|
+
name: "schedule",
|
|
8
|
+
element: /*#__PURE__*/ react.createElement(MenuItem, null)
|
|
9
|
+
})));
|
|
10
|
+
export { EditorConfig };
|
|
11
|
+
|
|
12
|
+
//# sourceMappingURL=EditorConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components/Editor/EditorConfig.js","sources":["../../../src/components/Editor/EditorConfig.tsx"],"sourcesContent":["import React from \"react\";\nimport { InternalContentEntryEditorConfig } from \"@webiny/app-headless-cms\";\nimport { IsModelPublishable } from \"@webiny/app-headless-cms/exports/admin/cms.js\";\nimport { MenuItem } from \"./MenuItem.js\";\n\nconst { Actions } = InternalContentEntryEditorConfig;\n\nexport const EditorConfig = () => {\n return (\n <InternalContentEntryEditorConfig>\n <IsModelPublishable>\n <Actions.MenuItemAction name={\"schedule\"} element={<MenuItem />} />\n </IsModelPublishable>\n </InternalContentEntryEditorConfig>\n );\n};\n"],"names":["Actions","InternalContentEntryEditorConfig","EditorConfig","IsModelPublishable","MenuItem"],"mappings":";;;;AAKA,MAAM,EAAEA,SAAAA,OAAO,EAAE,GAAGC;AAEb,MAAMC,eAAe,IACjB,WAAP,GACI,oBAACD,kCAAgCA,MAAAA,WAAAA,GAC7B,oBAACE,oBAAkBA,MAAAA,WAAAA,GACf,oBAACH,QAAQ,cAAc;QAAC,MAAM;QAAY,uBAAS,oBAACI,UAAQA"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import react, { useCallback } from "react";
|
|
2
|
+
import { observer } from "mobx-react-lite";
|
|
3
|
+
import { OptionsMenuItem } from "@webiny/app-admin";
|
|
4
|
+
import { useContentEntryFormPresenter } from "@webiny/app-headless-cms/exports/admin/cms/entry/editor.js";
|
|
5
|
+
import { ReactComponent } from "@webiny/icons/cell_tower.svg";
|
|
6
|
+
import { useScheduleDialog } from "@webiny/app-scheduler";
|
|
7
|
+
import { usePermissions } from "../../hooks/usePermissions.js";
|
|
8
|
+
import { createNamespace } from "../../utils/index.js";
|
|
9
|
+
import { useScheduledActionsPresenter } from "../../hooks/useScheduledActionsPresenter.js";
|
|
10
|
+
const MenuItemWithId = ({ entryId, entryTitle, entryStatus, modelId, loading })=>{
|
|
11
|
+
const scheduledActions = useScheduledActionsPresenter();
|
|
12
|
+
const { showDialog: showSchedulerDialog } = useScheduleDialog({
|
|
13
|
+
namespace: createNamespace({
|
|
14
|
+
modelId
|
|
15
|
+
}),
|
|
16
|
+
target: {
|
|
17
|
+
id: entryId,
|
|
18
|
+
title: entryTitle,
|
|
19
|
+
status: entryStatus
|
|
20
|
+
},
|
|
21
|
+
onCompleted: ()=>scheduledActions.reload()
|
|
22
|
+
});
|
|
23
|
+
const showDialog = useCallback(()=>{
|
|
24
|
+
showSchedulerDialog();
|
|
25
|
+
}, [
|
|
26
|
+
showSchedulerDialog
|
|
27
|
+
]);
|
|
28
|
+
const action = "published" === entryStatus ? "unpublish" : "publish";
|
|
29
|
+
return /*#__PURE__*/ react.createElement(OptionsMenuItem, {
|
|
30
|
+
icon: /*#__PURE__*/ react.createElement(ReactComponent, null),
|
|
31
|
+
label: `Schedule ${action}`,
|
|
32
|
+
onAction: showDialog,
|
|
33
|
+
disabled: !entryStatus || loading,
|
|
34
|
+
"data-testid": "cms.content-form.header.schedule"
|
|
35
|
+
});
|
|
36
|
+
};
|
|
37
|
+
const MenuItem = observer(()=>{
|
|
38
|
+
const presenter = useContentEntryFormPresenter();
|
|
39
|
+
const { canPublish, canUnpublish } = usePermissions();
|
|
40
|
+
const vm = presenter.vm;
|
|
41
|
+
if (!vm.canPublish && !vm.canUnpublish) return null;
|
|
42
|
+
if (!canPublish && !canUnpublish) return null;
|
|
43
|
+
if (!vm.entry) return /*#__PURE__*/ react.createElement(OptionsMenuItem, {
|
|
44
|
+
icon: /*#__PURE__*/ react.createElement(ReactComponent, null),
|
|
45
|
+
label: "Schedule",
|
|
46
|
+
onAction: ()=>void 0,
|
|
47
|
+
disabled: true,
|
|
48
|
+
"data-testid": "cms.content-form.header.schedule"
|
|
49
|
+
});
|
|
50
|
+
return /*#__PURE__*/ react.createElement(MenuItemWithId, {
|
|
51
|
+
entryId: vm.entry.id,
|
|
52
|
+
entryTitle: vm.entry.meta?.title || "",
|
|
53
|
+
entryStatus: vm.entry.meta?.status || "",
|
|
54
|
+
modelId: vm.model.modelId,
|
|
55
|
+
loading: null !== vm.loading
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
export { MenuItem };
|
|
59
|
+
|
|
60
|
+
//# sourceMappingURL=MenuItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components/Editor/MenuItem.js","sources":["../../../src/components/Editor/MenuItem.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { OptionsMenuItem } from \"@webiny/app-admin\";\nimport { useContentEntryFormPresenter } from \"@webiny/app-headless-cms/exports/admin/cms/entry/editor.js\";\nimport { ReactComponent as ScheduleIcon } from \"@webiny/icons/cell_tower.svg\";\nimport { useScheduleDialog } from \"@webiny/app-scheduler\";\nimport { usePermissions } from \"~/hooks/usePermissions.js\";\nimport { createNamespace } from \"~/utils/index.js\";\nimport { useScheduledActionsPresenter } from \"~/hooks/useScheduledActionsPresenter.js\";\n\ninterface MenuItemWithIdProps {\n entryId: string;\n entryTitle: string;\n entryStatus: string;\n modelId: string;\n loading: boolean;\n}\n\nconst MenuItemWithId = ({\n entryId,\n entryTitle,\n entryStatus,\n modelId,\n loading\n}: MenuItemWithIdProps) => {\n const scheduledActions = useScheduledActionsPresenter();\n const { showDialog: showSchedulerDialog } = useScheduleDialog({\n namespace: createNamespace({ modelId }),\n target: {\n id: entryId,\n title: entryTitle,\n status: entryStatus\n },\n onCompleted: () => scheduledActions.reload()\n });\n\n const showDialog = useCallback(() => {\n showSchedulerDialog();\n }, [showSchedulerDialog]);\n\n const action = entryStatus === \"published\" ? \"unpublish\" : \"publish\";\n\n return (\n <OptionsMenuItem\n icon={<ScheduleIcon />}\n label={`Schedule ${action}`}\n onAction={showDialog}\n disabled={!entryStatus || loading}\n data-testid={\"cms.content-form.header.schedule\"}\n />\n );\n};\n\nexport const MenuItem = observer(() => {\n const presenter = useContentEntryFormPresenter();\n const { canPublish, canUnpublish } = usePermissions();\n\n const vm = presenter.vm;\n\n if (!vm.canPublish && !vm.canUnpublish) {\n return null;\n }\n\n if (!canPublish && !canUnpublish) {\n return null;\n }\n\n if (!vm.entry) {\n return (\n <OptionsMenuItem\n icon={<ScheduleIcon />}\n label={\"Schedule\"}\n onAction={() => void 0}\n disabled={true}\n data-testid={\"cms.content-form.header.schedule\"}\n />\n );\n }\n\n return (\n <MenuItemWithId\n entryId={vm.entry.id}\n entryTitle={vm.entry.meta?.title || \"\"}\n entryStatus={vm.entry.meta?.status || \"\"}\n modelId={vm.model.modelId}\n loading={vm.loading !== null}\n />\n );\n});\n"],"names":["MenuItemWithId","entryId","entryTitle","entryStatus","modelId","loading","scheduledActions","useScheduledActionsPresenter","showSchedulerDialog","useScheduleDialog","createNamespace","showDialog","useCallback","action","OptionsMenuItem","ScheduleIcon","MenuItem","observer","presenter","useContentEntryFormPresenter","canPublish","canUnpublish","usePermissions","vm"],"mappings":";;;;;;;;;AAkBA,MAAMA,iBAAiB,CAAC,EACpBC,OAAO,EACPC,UAAU,EACVC,WAAW,EACXC,OAAO,EACPC,OAAO,EACW;IAClB,MAAMC,mBAAmBC;IACzB,MAAM,EAAE,YAAYC,mBAAmB,EAAE,GAAGC,kBAAkB;QAC1D,WAAWC,gBAAgB;YAAEN;QAAQ;QACrC,QAAQ;YACJ,IAAIH;YACJ,OAAOC;YACP,QAAQC;QACZ;QACA,aAAa,IAAMG,iBAAiB,MAAM;IAC9C;IAEA,MAAMK,aAAaC,YAAY;QAC3BJ;IACJ,GAAG;QAACA;KAAoB;IAExB,MAAMK,SAASV,AAAgB,gBAAhBA,cAA8B,cAAc;IAE3D,OAAO,WAAP,GACI,oBAACW,iBAAeA;QACZ,oBAAM,oBAACC,gBAAYA;QACnB,OAAO,CAAC,SAAS,EAAEF,QAAQ;QAC3B,UAAUF;QACV,UAAU,CAACR,eAAeE;QAC1B,eAAa;;AAGzB;AAEO,MAAMW,WAAWC,SAAS;IAC7B,MAAMC,YAAYC;IAClB,MAAM,EAAEC,UAAU,EAAEC,YAAY,EAAE,GAAGC;IAErC,MAAMC,KAAKL,UAAU,EAAE;IAEvB,IAAI,CAACK,GAAG,UAAU,IAAI,CAACA,GAAG,YAAY,EAClC,OAAO;IAGX,IAAI,CAACH,cAAc,CAACC,cAChB,OAAO;IAGX,IAAI,CAACE,GAAG,KAAK,EACT,OAAO,WAAP,GACI,oBAACT,iBAAeA;QACZ,oBAAM,oBAACC,gBAAYA;QACnB,OAAO;QACP,UAAU,IAAM,KAAK;QACrB,UAAU;QACV,eAAa;;IAKzB,OAAO,WAAP,GACI,oBAACf,gBAAcA;QACX,SAASuB,GAAG,KAAK,CAAC,EAAE;QACpB,YAAYA,GAAG,KAAK,CAAC,IAAI,EAAE,SAAS;QACpC,aAAaA,GAAG,KAAK,CAAC,IAAI,EAAE,UAAU;QACtC,SAASA,GAAG,KAAK,CAAC,OAAO;QACzB,SAASA,AAAe,SAAfA,GAAG,OAAO;;AAG/B"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Decorates the content entry form layout to render the scheduled-action bar below the header,
|
|
4
|
+
* above the form content (mirroring how the workflow bar is positioned).
|
|
5
|
+
*/
|
|
6
|
+
export declare const ScheduledActionAlertDecorator: (props: unknown) => React.JSX.Element;
|