@webiny/app-scheduler 6.4.11 → 6.6.0-alpha.1
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/{Gateways/schema → domain}/schedulerEntry.d.ts +1 -1
- package/{Gateways/schema → domain}/schedulerEntry.js +1 -1
- package/domain/schedulerEntry.js.map +1 -0
- package/features/cancelScheduledAction/CancelScheduledActionGateway.d.ts +11 -0
- package/features/cancelScheduledAction/CancelScheduledActionGateway.js +41 -0
- package/features/cancelScheduledAction/CancelScheduledActionGateway.js.map +1 -0
- package/features/cancelScheduledAction/abstractions.d.ts +11 -0
- package/features/cancelScheduledAction/abstractions.js +5 -0
- package/features/cancelScheduledAction/abstractions.js.map +1 -0
- package/features/cancelScheduledAction/feature.d.ts +1 -0
- package/features/cancelScheduledAction/feature.js +11 -0
- package/features/cancelScheduledAction/feature.js.map +1 -0
- package/features/feature.d.ts +1 -0
- package/features/feature.js +19 -0
- package/features/feature.js.map +1 -0
- package/features/getScheduledAction/GetScheduledActionGateway.d.ts +11 -0
- package/features/getScheduledAction/GetScheduledActionGateway.js +57 -0
- package/features/getScheduledAction/GetScheduledActionGateway.js.map +1 -0
- package/{Gateways/abstractions/GetScheduledActionGateway.d.ts → features/getScheduledAction/abstractions.d.ts} +4 -0
- package/features/getScheduledAction/abstractions.js +5 -0
- package/features/getScheduledAction/abstractions.js.map +1 -0
- package/features/getScheduledAction/feature.d.ts +1 -0
- package/features/getScheduledAction/feature.js +11 -0
- package/features/getScheduledAction/feature.js.map +1 -0
- package/features/graphqlFields.d.ts +2 -0
- package/features/graphqlFields.js +23 -0
- package/features/graphqlFields.js.map +1 -0
- package/features/listScheduledActions/ListScheduledActionsGateway.d.ts +11 -0
- package/features/listScheduledActions/ListScheduledActionsGateway.js +84 -0
- package/features/listScheduledActions/ListScheduledActionsGateway.js.map +1 -0
- package/{Gateways/abstractions/ListScheduledActionsGateway.d.ts → features/listScheduledActions/abstractions.d.ts} +5 -2
- package/features/listScheduledActions/abstractions.js +5 -0
- package/features/listScheduledActions/abstractions.js.map +1 -0
- package/features/listScheduledActions/feature.d.ts +1 -0
- package/features/listScheduledActions/feature.js +11 -0
- package/features/listScheduledActions/feature.js.map +1 -0
- package/features/schedulePublishAction/SchedulePublishActionGateway.d.ts +11 -0
- package/features/schedulePublishAction/SchedulePublishActionGateway.js +67 -0
- package/features/schedulePublishAction/SchedulePublishActionGateway.js.map +1 -0
- package/{Gateways/abstractions/SchedulePublishActionGateway.d.ts → features/schedulePublishAction/abstractions.d.ts} +4 -0
- package/features/schedulePublishAction/abstractions.js +5 -0
- package/features/schedulePublishAction/abstractions.js.map +1 -0
- package/features/schedulePublishAction/feature.d.ts +1 -0
- package/features/schedulePublishAction/feature.js +11 -0
- package/features/schedulePublishAction/feature.js.map +1 -0
- package/features/scheduleUnpublishAction/ScheduleUnpublishActionGateway.d.ts +11 -0
- package/features/scheduleUnpublishAction/ScheduleUnpublishActionGateway.js +71 -0
- package/features/scheduleUnpublishAction/ScheduleUnpublishActionGateway.js.map +1 -0
- package/{Gateways/abstractions/ScheduleUnpublishActionGateway.d.ts → features/scheduleUnpublishAction/abstractions.d.ts} +4 -0
- package/features/scheduleUnpublishAction/abstractions.js +5 -0
- package/features/scheduleUnpublishAction/abstractions.js.map +1 -0
- package/features/scheduleUnpublishAction/feature.d.ts +1 -0
- package/features/scheduleUnpublishAction/feature.js +11 -0
- package/features/scheduleUnpublishAction/feature.js.map +1 -0
- package/index.d.ts +9 -1
- package/index.js +17 -1
- package/index.js.map +1 -0
- package/package.json +17 -18
- package/{Presentation → presentation}/SchedulerConfigs/SchedulerConfigs.js.map +1 -1
- package/{Presentation → presentation}/components/Actions/CancelItem/CancelItem.js +2 -3
- package/presentation/components/Actions/CancelItem/CancelItem.js.map +1 -0
- package/{Presentation → presentation}/components/BottomInfoBar/BottomInfoBar.styled.js.map +1 -1
- package/{Presentation → presentation}/components/BottomInfoBar/ListMeta.js.map +1 -1
- package/{Presentation → presentation}/components/BottomInfoBar/ListStatus.js.map +1 -1
- package/{Presentation → presentation}/components/Cells/CellActions/CellActions.js.map +1 -1
- package/{Presentation → presentation}/components/Cells/CellRevision/CellRevision.js.map +1 -1
- package/{Presentation → presentation}/components/Cells/CellRevision/CellRevision.styled.js.map +1 -1
- package/{Presentation → presentation}/components/Cells/CellScheduledBy/CellScheduledBy.js.map +1 -1
- package/{Presentation → presentation}/components/Cells/CellScheduledOn/CellScheduledOn.js +3 -1
- package/presentation/components/Cells/CellScheduledOn/CellScheduledOn.js.map +1 -0
- package/{Presentation → presentation}/components/Cells/CellTitle/CellTitle.js.map +1 -1
- package/{Presentation → presentation}/components/Cells/CellTitle/CellTitle.styled.js.map +1 -1
- package/{Presentation → presentation}/components/Cells/CellType/CellActionType.js.map +1 -1
- package/{Presentation → presentation}/components/Cells/CellType/CellActionType.styled.js.map +1 -1
- package/{Presentation → presentation}/components/Empty/Empty.styled.js.map +1 -1
- package/{Presentation → presentation}/components/Title/Title.js.map +1 -1
- package/{Presentation → presentation}/components/Title/Title.styled.js.map +1 -1
- package/{Presentation → presentation}/configs/list/Browser/EntryAction.d.ts +2 -1
- package/{Presentation → presentation}/configs/list/Browser/EntryAction.js.map +1 -1
- package/{Presentation → presentation}/configs/list/Browser/Table/Column.d.ts +4 -3
- package/{Presentation → presentation}/configs/list/Browser/Table/Column.js.map +1 -1
- package/{Presentation → presentation}/configs/list/Browser/Table/Sorting.js.map +1 -1
- package/presentation/configs/list/Browser/Table/index.d.ts +19 -0
- package/{Presentation → presentation}/configs/list/Browser/Table/index.js.map +1 -1
- package/presentation/configs/list/Browser/index.d.ts +23 -0
- package/{Presentation → presentation}/configs/list/Browser/index.js.map +1 -1
- package/{Presentation → presentation}/configs/list/SchedulerListConfig.d.ts +8 -6
- package/{Presentation → presentation}/configs/list/SchedulerListConfig.js.map +1 -1
- package/{Presentation → presentation}/hooks/index.d.ts +0 -1
- package/{Presentation → presentation}/hooks/index.js +0 -1
- package/{Presentation → presentation}/hooks/useCancelSchedulerItem.js +12 -7
- package/presentation/hooks/useCancelSchedulerItem.js.map +1 -0
- package/{Presentation → presentation}/hooks/useSchedulerItem.js.map +1 -1
- package/presentation/scheduleDialog/ScheduleDialogPresenter.d.ts +26 -0
- package/{Presentation/components/ScheduleDialog → presentation/scheduleDialog}/ScheduleDialogPresenter.js +38 -9
- package/presentation/scheduleDialog/ScheduleDialogPresenter.js.map +1 -0
- package/{Presentation/components/ScheduleDialog/IScheduleDialogPresenter.d.ts → presentation/scheduleDialog/abstractions.d.ts} +10 -1
- package/presentation/scheduleDialog/abstractions.js +5 -0
- package/presentation/scheduleDialog/abstractions.js.map +1 -0
- package/presentation/scheduleDialog/components/CancelButtonComponent.d.ts +10 -0
- package/presentation/scheduleDialog/components/CancelButtonComponent.js +20 -0
- package/presentation/scheduleDialog/components/CancelButtonComponent.js.map +1 -0
- package/presentation/scheduleDialog/components/FormComponent.d.ts +9 -0
- package/presentation/scheduleDialog/components/FormComponent.js +32 -0
- package/presentation/scheduleDialog/components/FormComponent.js.map +1 -0
- package/presentation/scheduleDialog/components/ReschedulingAlert.d.ts +7 -0
- package/presentation/scheduleDialog/components/ReschedulingAlert.js +14 -0
- package/presentation/scheduleDialog/components/ReschedulingAlert.js.map +1 -0
- package/{Presentation/components/ScheduleDialog/useScheduleDialog.d.ts → presentation/scheduleDialog/components/SchedulerDialogFormComponentDateTimeInput.d.ts} +1 -18
- package/presentation/scheduleDialog/components/SchedulerDialogFormComponentDateTimeInput.js +15 -0
- package/presentation/scheduleDialog/components/SchedulerDialogFormComponentDateTimeInput.js.map +1 -0
- package/presentation/scheduleDialog/createMinDateValidator.d.ts +7 -0
- package/presentation/scheduleDialog/createMinDateValidator.js +14 -0
- package/presentation/scheduleDialog/createMinDateValidator.js.map +1 -0
- package/presentation/scheduleDialog/feature.d.ts +3 -0
- package/presentation/scheduleDialog/feature.js +17 -0
- package/presentation/scheduleDialog/feature.js.map +1 -0
- package/presentation/scheduleDialog/useScheduleDialog.d.ts +20 -0
- package/presentation/scheduleDialog/useScheduleDialog.js +128 -0
- package/presentation/scheduleDialog/useScheduleDialog.js.map +1 -0
- package/{Presentation/index.d.ts → presentation/schedulerList/Scheduler.d.ts} +2 -9
- package/presentation/schedulerList/Scheduler.js +28 -0
- package/presentation/schedulerList/Scheduler.js.map +1 -0
- package/presentation/schedulerList/SchedulerListDataSource.d.ts +15 -0
- package/presentation/schedulerList/SchedulerListDataSource.js +41 -0
- package/presentation/schedulerList/SchedulerListDataSource.js.map +1 -0
- package/presentation/schedulerList/SchedulerListPresenter.d.ts +21 -0
- package/presentation/schedulerList/SchedulerListPresenter.js +47 -0
- package/presentation/schedulerList/SchedulerListPresenter.js.map +1 -0
- package/presentation/schedulerList/abstractions.d.ts +13 -0
- package/presentation/schedulerList/abstractions.js +5 -0
- package/presentation/schedulerList/abstractions.js.map +1 -0
- package/presentation/schedulerList/components/BottomInfoBar.d.ts +9 -0
- package/presentation/schedulerList/components/BottomInfoBar.js +18 -0
- package/presentation/schedulerList/components/BottomInfoBar.js.map +1 -0
- package/presentation/schedulerList/components/Empty.d.ts +9 -0
- package/{Presentation/components/Empty → presentation/schedulerList/components}/Empty.js +6 -6
- package/presentation/schedulerList/components/Empty.js.map +1 -0
- package/presentation/schedulerList/components/SchedulerListView.d.ts +8 -0
- package/presentation/schedulerList/components/SchedulerListView.js +40 -0
- package/presentation/schedulerList/components/SchedulerListView.js.map +1 -0
- package/presentation/schedulerList/components/SchedulerOverlay.d.ts +11 -0
- package/presentation/schedulerList/components/SchedulerOverlay.js +38 -0
- package/presentation/schedulerList/components/SchedulerOverlay.js.map +1 -0
- package/presentation/schedulerList/components/SchedulerTable.d.ts +9 -0
- package/presentation/schedulerList/components/SchedulerTable.js +48 -0
- package/presentation/schedulerList/components/SchedulerTable.js.map +1 -0
- package/presentation/schedulerList/components/SearchInput.d.ts +9 -0
- package/{Presentation/components/SearchInput → presentation/schedulerList/components}/SearchInput.js +8 -8
- package/presentation/schedulerList/components/SearchInput.js.map +1 -0
- package/presentation/schedulerList/feature.d.ts +3 -0
- package/presentation/schedulerList/feature.js +17 -0
- package/presentation/schedulerList/feature.js.map +1 -0
- package/presentation/schedulerList/useSchedulerListPresenter.d.ts +1 -0
- package/presentation/schedulerList/useSchedulerListPresenter.js +6 -0
- package/presentation/schedulerList/useSchedulerListPresenter.js.map +1 -0
- package/types.d.ts +0 -7
- package/types.js +1 -9
- package/types.js.map +1 -1
- package/Domain/Models/SchedulerItem/SchedulerItem.d.ts +0 -13
- package/Domain/Models/SchedulerItem/SchedulerItem.js +0 -18
- 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 -1
- package/Domain/Models/index.d.ts +0 -1
- package/Domain/Models/index.js +0 -1
- package/Domain/Repositories/SchedulerItems/ISchedulerItemsRepository.d.ts +0 -14
- package/Domain/Repositories/SchedulerItems/ISchedulerItemsRepository.js +0 -0
- package/Domain/Repositories/SchedulerItems/SchedulerItemsRepository.d.ts +0 -36
- package/Domain/Repositories/SchedulerItems/SchedulerItemsRepository.js +0 -119
- package/Domain/Repositories/SchedulerItems/SchedulerItemsRepository.js.map +0 -1
- package/Domain/Repositories/SchedulerItems/SchedulerItemsRepositoryFactory.d.ts +0 -19
- package/Domain/Repositories/SchedulerItems/SchedulerItemsRepositoryFactory.js +0 -18
- 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 -39
- 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 -3
- package/Domain/Repositories/Search/ISearchRepository.d.ts +0 -4
- package/Domain/Repositories/Search/ISearchRepository.js +0 -0
- package/Domain/Repositories/Search/SearchRepository.d.ts +0 -7
- package/Domain/Repositories/Search/SearchRepository.js +0 -16
- 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 -18
- 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 -2
- package/Domain/Repositories/SelectedItems/ISelectedItemsRepository.d.ts +0 -8
- package/Domain/Repositories/SelectedItems/ISelectedItemsRepository.js +0 -0
- package/Domain/Repositories/SelectedItems/SelectedItemsRepository.d.ts +0 -12
- package/Domain/Repositories/SelectedItems/SelectedItemsRepository.js +0 -28
- 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 -18
- 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 -2
- package/Domain/Repositories/Sorting/SortingRepositoryWithDefaults.d.ts +0 -8
- package/Domain/Repositories/Sorting/SortingRepositoryWithDefaults.js +0 -21
- 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 -1
- package/Domain/Repositories/index.d.ts +0 -4
- package/Domain/Repositories/index.js +0 -4
- package/Domain/index.d.ts +0 -2
- package/Domain/index.js +0 -2
- package/Gateways/SchedulerCancelGraphQLGateway.d.ts +0 -7
- package/Gateways/SchedulerCancelGraphQLGateway.js +0 -42
- package/Gateways/SchedulerCancelGraphQLGateway.js.map +0 -1
- package/Gateways/SchedulerGetGraphQLGateway.d.ts +0 -21
- package/Gateways/SchedulerGetGraphQLGateway.js +0 -68
- package/Gateways/SchedulerGetGraphQLGateway.js.map +0 -1
- package/Gateways/SchedulerListGraphQLGateway.d.ts +0 -7
- package/Gateways/SchedulerListGraphQLGateway.js +0 -86
- package/Gateways/SchedulerListGraphQLGateway.js.map +0 -1
- package/Gateways/SchedulerPublishGraphQLGateway.d.ts +0 -7
- package/Gateways/SchedulerPublishGraphQLGateway.js +0 -59
- package/Gateways/SchedulerPublishGraphQLGateway.js.map +0 -1
- package/Gateways/SchedulerUnpublishGraphQLGateway.d.ts +0 -23
- package/Gateways/SchedulerUnpublishGraphQLGateway.js +0 -63
- package/Gateways/SchedulerUnpublishGraphQLGateway.js.map +0 -1
- package/Gateways/abstractions/CancelScheduledActionGateway.d.ts +0 -7
- package/Gateways/abstractions/CancelScheduledActionGateway.js +0 -0
- package/Gateways/abstractions/GetScheduledActionGateway.js +0 -0
- package/Gateways/abstractions/ListScheduledActionsGateway.js +0 -0
- package/Gateways/abstractions/SchedulePublishActionGateway.js +0 -0
- package/Gateways/abstractions/ScheduleUnpublishActionGateway.js +0 -0
- package/Gateways/graphql/fields.d.ts +0 -1
- package/Gateways/graphql/fields.js +0 -17
- package/Gateways/graphql/fields.js.map +0 -1
- package/Gateways/index.d.ts +0 -5
- package/Gateways/index.js +0 -0
- package/Gateways/schema/schedulerEntry.js.map +0 -1
- package/Presentation/Scheduler/Scheduler.d.ts +0 -17
- package/Presentation/Scheduler/Scheduler.js +0 -78
- package/Presentation/Scheduler/Scheduler.js.map +0 -1
- package/Presentation/Scheduler/SchedulerControllers.d.ts +0 -30
- package/Presentation/Scheduler/SchedulerControllers.js +0 -54
- package/Presentation/Scheduler/SchedulerControllers.js.map +0 -1
- package/Presentation/Scheduler/SchedulerPresenter.d.ts +0 -32
- package/Presentation/Scheduler/SchedulerPresenter.js +0 -45
- 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 -12
- 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 -0
- package/Presentation/Scheduler/controllers/CancelItem/index.d.ts +0 -2
- package/Presentation/Scheduler/controllers/CancelItem/index.js +0 -1
- package/Presentation/Scheduler/controllers/GetItem/GetItemController.d.ts +0 -8
- package/Presentation/Scheduler/controllers/GetItem/GetItemController.js +0 -12
- 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 -0
- package/Presentation/Scheduler/controllers/GetItem/index.d.ts +0 -2
- package/Presentation/Scheduler/controllers/GetItem/index.js +0 -1
- package/Presentation/Scheduler/controllers/ListItems/IListItemsController.d.ts +0 -4
- package/Presentation/Scheduler/controllers/ListItems/IListItemsController.js +0 -0
- package/Presentation/Scheduler/controllers/ListItems/ListItemsController.d.ts +0 -8
- package/Presentation/Scheduler/controllers/ListItems/ListItemsController.js +0 -12
- 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 -1
- package/Presentation/Scheduler/controllers/ListMoreItems/IListMoreItemsController.d.ts +0 -3
- package/Presentation/Scheduler/controllers/ListMoreItems/IListMoreItemsController.js +0 -0
- package/Presentation/Scheduler/controllers/ListMoreItems/ListMoreItemsController.d.ts +0 -7
- package/Presentation/Scheduler/controllers/ListMoreItems/ListMoreItemsController.js +0 -12
- 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 -1
- package/Presentation/Scheduler/controllers/PublishItem/IPublishItemController.d.ts +0 -3
- package/Presentation/Scheduler/controllers/PublishItem/IPublishItemController.js +0 -0
- package/Presentation/Scheduler/controllers/PublishItem/PublishItemController.d.ts +0 -7
- package/Presentation/Scheduler/controllers/PublishItem/PublishItemController.js +0 -12
- 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 -1
- package/Presentation/Scheduler/controllers/SearchItems/ISearchItemsController.d.ts +0 -3
- package/Presentation/Scheduler/controllers/SearchItems/ISearchItemsController.js +0 -0
- package/Presentation/Scheduler/controllers/SearchItems/SearchItemsController.d.ts +0 -8
- package/Presentation/Scheduler/controllers/SearchItems/SearchItemsController.js +0 -15
- 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 -1
- package/Presentation/Scheduler/controllers/SelectAllItems/ISelectAllItemsController.d.ts +0 -3
- package/Presentation/Scheduler/controllers/SelectAllItems/ISelectAllItemsController.js +0 -0
- package/Presentation/Scheduler/controllers/SelectAllItems/SelectAllItemsController.d.ts +0 -7
- package/Presentation/Scheduler/controllers/SelectAllItems/SelectAllItemsController.js +0 -12
- 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 -1
- package/Presentation/Scheduler/controllers/SelectItems/ISelectItemsController.d.ts +0 -4
- package/Presentation/Scheduler/controllers/SelectItems/ISelectItemsController.js +0 -0
- package/Presentation/Scheduler/controllers/SelectItems/SelectItemsController.d.ts +0 -8
- package/Presentation/Scheduler/controllers/SelectItems/SelectItemsController.js +0 -14
- 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 -1
- package/Presentation/Scheduler/controllers/SortItems/ISortItemsController.d.ts +0 -4
- package/Presentation/Scheduler/controllers/SortItems/ISortItemsController.js +0 -0
- package/Presentation/Scheduler/controllers/SortItems/SortItemsController.d.ts +0 -9
- package/Presentation/Scheduler/controllers/SortItems/SortItemsController.js +0 -18
- 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 -1
- package/Presentation/Scheduler/controllers/UnpublishItem/IUnpublishItemController.d.ts +0 -3
- package/Presentation/Scheduler/controllers/UnpublishItem/IUnpublishItemController.js +0 -0
- package/Presentation/Scheduler/controllers/UnpublishItem/UnpublishItemController.d.ts +0 -7
- package/Presentation/Scheduler/controllers/UnpublishItem/UnpublishItemController.js +0 -12
- 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 -1
- package/Presentation/Scheduler/controllers/UnselectAllItems/IUnselectAllItemsController.d.ts +0 -3
- package/Presentation/Scheduler/controllers/UnselectAllItems/IUnselectAllItemsController.js +0 -0
- package/Presentation/Scheduler/controllers/UnselectAllItems/UnselectAllItemsController.d.ts +0 -7
- package/Presentation/Scheduler/controllers/UnselectAllItems/UnselectAllItemsController.js +0 -12
- 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 -1
- package/Presentation/Scheduler/controllers/index.d.ts +0 -11
- package/Presentation/Scheduler/controllers/index.js +0 -11
- package/Presentation/Scheduler/index.d.ts +0 -1
- package/Presentation/Scheduler/index.js +0 -1
- package/Presentation/SchedulerRenderer/SchedulerRenderer.d.ts +0 -6
- package/Presentation/SchedulerRenderer/SchedulerRenderer.js +0 -16
- package/Presentation/SchedulerRenderer/SchedulerRenderer.js.map +0 -1
- package/Presentation/SchedulerRenderer/index.d.ts +0 -1
- package/Presentation/SchedulerRenderer/index.js +0 -1
- package/Presentation/abstractions/ISchedulerControllers.d.ts +0 -14
- package/Presentation/abstractions/ISchedulerControllers.js +0 -0
- package/Presentation/abstractions/ISchedulerPresenter.d.ts +0 -20
- package/Presentation/abstractions/ISchedulerPresenter.js +0 -0
- package/Presentation/abstractions/index.d.ts +0 -2
- package/Presentation/abstractions/index.js +0 -0
- package/Presentation/components/Actions/CancelItem/CancelItem.js.map +0 -1
- package/Presentation/components/BottomInfoBar/BottomInfoBar.d.ts +0 -2
- package/Presentation/components/BottomInfoBar/BottomInfoBar.js +0 -19
- package/Presentation/components/BottomInfoBar/BottomInfoBar.js.map +0 -1
- package/Presentation/components/BottomInfoBar/index.d.ts +0 -1
- package/Presentation/components/BottomInfoBar/index.js +0 -1
- package/Presentation/components/Cells/CellScheduledOn/CellScheduledOn.js.map +0 -1
- package/Presentation/components/Empty/Empty.d.ts +0 -2
- package/Presentation/components/Empty/Empty.js.map +0 -1
- package/Presentation/components/Empty/index.d.ts +0 -1
- package/Presentation/components/Empty/index.js +0 -1
- package/Presentation/components/ScheduleDialog/IScheduleDialogPresenter.js +0 -0
- package/Presentation/components/ScheduleDialog/ScheduleDialogPresenter.d.ts +0 -22
- package/Presentation/components/ScheduleDialog/ScheduleDialogPresenter.js.map +0 -1
- package/Presentation/components/ScheduleDialog/index.d.ts +0 -1
- package/Presentation/components/ScheduleDialog/index.js +0 -1
- package/Presentation/components/ScheduleDialog/types.d.ts +0 -15
- package/Presentation/components/ScheduleDialog/types.js +0 -0
- package/Presentation/components/ScheduleDialog/useScheduleDialog.js +0 -192
- 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 -30
- 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 -1
- package/Presentation/components/SearchInput/SearchInput.d.ts +0 -2
- 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 -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 -1
- package/Presentation/configs/list/Browser/Table/index.d.ts +0 -18
- package/Presentation/configs/list/Browser/index.d.ts +0 -23
- package/Presentation/hooks/useCancelSchedulerItem.js.map +0 -1
- package/Presentation/hooks/useScheduler.d.ts +0 -28
- package/Presentation/hooks/useScheduler.js +0 -68
- package/Presentation/hooks/useScheduler.js.map +0 -1
- package/Presentation/index.js +0 -49
- package/Presentation/index.js.map +0 -1
- package/UseCases/CancelItem/CancelItemUseCase.d.ts +0 -7
- package/UseCases/CancelItem/CancelItemUseCase.js +0 -13
- package/UseCases/CancelItem/CancelItemUseCase.js.map +0 -1
- package/UseCases/CancelItem/ICancelItemUseCase.d.ts +0 -3
- package/UseCases/CancelItem/ICancelItemUseCase.js +0 -0
- package/UseCases/CancelItem/index.d.ts +0 -2
- package/UseCases/CancelItem/index.js +0 -1
- package/UseCases/GetItem/GetItemUseCase.d.ts +0 -8
- package/UseCases/GetItem/GetItemUseCase.js +0 -13
- package/UseCases/GetItem/GetItemUseCase.js.map +0 -1
- package/UseCases/GetItem/IGetItemUseCase.d.ts +0 -4
- package/UseCases/GetItem/IGetItemUseCase.js +0 -0
- package/UseCases/GetItem/index.d.ts +0 -2
- package/UseCases/GetItem/index.js +0 -1
- package/UseCases/GetScheduledItem/GetScheduledItemUseCase.d.ts +0 -7
- package/UseCases/GetScheduledItem/GetScheduledItemUseCase.js +0 -14
- package/UseCases/GetScheduledItem/GetScheduledItemUseCase.js.map +0 -1
- package/UseCases/GetScheduledItem/IGetScheduledItemUseCase.d.ts +0 -4
- package/UseCases/GetScheduledItem/IGetScheduledItemUseCase.js +0 -0
- package/UseCases/GetScheduledItem/index.d.ts +0 -2
- package/UseCases/GetScheduledItem/index.js +0 -1
- package/UseCases/ListItems/IListItemsUseCase.d.ts +0 -4
- package/UseCases/ListItems/IListItemsUseCase.js +0 -0
- package/UseCases/ListItems/ListItemsUseCase.d.ts +0 -8
- package/UseCases/ListItems/ListItemsUseCase.js +0 -13
- package/UseCases/ListItems/ListItemsUseCase.js.map +0 -1
- package/UseCases/ListItems/ListItemsUseCaseWithSearch.d.ts +0 -9
- package/UseCases/ListItems/ListItemsUseCaseWithSearch.js +0 -23
- package/UseCases/ListItems/ListItemsUseCaseWithSearch.js.map +0 -1
- package/UseCases/ListItems/ListItemsUseCaseWithSorting.d.ts +0 -9
- package/UseCases/ListItems/ListItemsUseCaseWithSorting.js +0 -21
- package/UseCases/ListItems/ListItemsUseCaseWithSorting.js.map +0 -1
- package/UseCases/ListItems/index.d.ts +0 -4
- package/UseCases/ListItems/index.js +0 -3
- package/UseCases/ListMoreItems/IListMoreItemsUseCase.d.ts +0 -3
- package/UseCases/ListMoreItems/IListMoreItemsUseCase.js +0 -0
- package/UseCases/ListMoreItems/ListMoreItemsUseCase.d.ts +0 -7
- package/UseCases/ListMoreItems/ListMoreItemsUseCase.js +0 -13
- package/UseCases/ListMoreItems/ListMoreItemsUseCase.js.map +0 -1
- package/UseCases/ListMoreItems/index.d.ts +0 -2
- package/UseCases/ListMoreItems/index.js +0 -1
- package/UseCases/PublishItem/IPublishItemUseCase.d.ts +0 -3
- package/UseCases/PublishItem/IPublishItemUseCase.js +0 -0
- package/UseCases/PublishItem/PublishItemUseCase.d.ts +0 -7
- package/UseCases/PublishItem/PublishItemUseCase.js +0 -13
- package/UseCases/PublishItem/PublishItemUseCase.js.map +0 -1
- package/UseCases/PublishItem/index.d.ts +0 -2
- package/UseCases/PublishItem/index.js +0 -1
- package/UseCases/SearchItems/ISearchItemsUseCase.d.ts +0 -3
- package/UseCases/SearchItems/ISearchItemsUseCase.js +0 -0
- package/UseCases/SearchItems/SearchItemsUseCase.d.ts +0 -7
- package/UseCases/SearchItems/SearchItemsUseCase.js +0 -13
- package/UseCases/SearchItems/SearchItemsUseCase.js.map +0 -1
- package/UseCases/SearchItems/index.d.ts +0 -2
- package/UseCases/SearchItems/index.js +0 -1
- package/UseCases/SelectAllItems/ISelectAllItemsUseCase.d.ts +0 -3
- package/UseCases/SelectAllItems/ISelectAllItemsUseCase.js +0 -0
- package/UseCases/SelectAllItems/SelectAllItemsUseCase.d.ts +0 -7
- package/UseCases/SelectAllItems/SelectAllItemsUseCase.js +0 -13
- package/UseCases/SelectAllItems/SelectAllItemsUseCase.js.map +0 -1
- package/UseCases/SelectAllItems/index.d.ts +0 -2
- package/UseCases/SelectAllItems/index.js +0 -1
- package/UseCases/SelectItems/ISelectItemsUseCase.d.ts +0 -4
- package/UseCases/SelectItems/ISelectItemsUseCase.js +0 -0
- package/UseCases/SelectItems/SelectItemsUseCase.d.ts +0 -7
- package/UseCases/SelectItems/SelectItemsUseCase.js +0 -13
- package/UseCases/SelectItems/SelectItemsUseCase.js.map +0 -1
- package/UseCases/SelectItems/index.d.ts +0 -2
- package/UseCases/SelectItems/index.js +0 -1
- package/UseCases/SortItems/ISortItemsUseCase.d.ts +0 -4
- package/UseCases/SortItems/ISortItemsUseCase.js +0 -0
- package/UseCases/SortItems/SortItemsUseCase.d.ts +0 -7
- package/UseCases/SortItems/SortItemsUseCase.js +0 -13
- package/UseCases/SortItems/SortItemsUseCase.js.map +0 -1
- package/UseCases/SortItems/index.d.ts +0 -2
- package/UseCases/SortItems/index.js +0 -1
- package/UseCases/UnSelectAllItems/IUnselectAllItemsUseCase.d.ts +0 -3
- package/UseCases/UnSelectAllItems/IUnselectAllItemsUseCase.js +0 -0
- package/UseCases/UnSelectAllItems/UnselectAllItemsUseCase.d.ts +0 -7
- package/UseCases/UnSelectAllItems/UnselectAllItemsUseCase.js +0 -13
- package/UseCases/UnSelectAllItems/UnselectAllItemsUseCase.js.map +0 -1
- package/UseCases/UnSelectAllItems/index.d.ts +0 -2
- package/UseCases/UnSelectAllItems/index.js +0 -1
- package/UseCases/UnpublishItem/IUnpublishItemUseCase.d.ts +0 -3
- package/UseCases/UnpublishItem/IUnpublishItemUseCase.js +0 -0
- package/UseCases/UnpublishItem/UnpublishItemUseCase.d.ts +0 -7
- package/UseCases/UnpublishItem/UnpublishItemUseCase.js +0 -13
- package/UseCases/UnpublishItem/UnpublishItemUseCase.js.map +0 -1
- package/UseCases/UnpublishItem/index.d.ts +0 -2
- package/UseCases/UnpublishItem/index.js +0 -1
- package/UseCases/index.d.ts +0 -11
- package/UseCases/index.js +0 -11
- /package/{Presentation → presentation}/SchedulerConfigs/SchedulerConfigs.d.ts +0 -0
- /package/{Presentation → presentation}/SchedulerConfigs/SchedulerConfigs.js +0 -0
- /package/{Presentation → presentation}/SchedulerConfigs/index.d.ts +0 -0
- /package/{Presentation → presentation}/SchedulerConfigs/index.js +0 -0
- /package/{Presentation → presentation}/components/Actions/CancelItem/CancelItem.d.ts +0 -0
- /package/{Presentation → presentation}/components/Actions/CancelItem/index.d.ts +0 -0
- /package/{Presentation → presentation}/components/Actions/CancelItem/index.js +0 -0
- /package/{Presentation → presentation}/components/Actions/index.d.ts +0 -0
- /package/{Presentation → presentation}/components/Actions/index.js +0 -0
- /package/{Presentation → presentation}/components/BottomInfoBar/BottomInfoBar.styled.d.ts +0 -0
- /package/{Presentation → presentation}/components/BottomInfoBar/BottomInfoBar.styled.js +0 -0
- /package/{Presentation → presentation}/components/BottomInfoBar/ListMeta.d.ts +0 -0
- /package/{Presentation → presentation}/components/BottomInfoBar/ListMeta.js +0 -0
- /package/{Presentation → presentation}/components/BottomInfoBar/ListStatus.d.ts +0 -0
- /package/{Presentation → presentation}/components/BottomInfoBar/ListStatus.js +0 -0
- /package/{Presentation → presentation}/components/Cells/CellActions/CellActions.d.ts +0 -0
- /package/{Presentation → presentation}/components/Cells/CellActions/CellActions.js +0 -0
- /package/{Presentation → presentation}/components/Cells/CellActions/index.d.ts +0 -0
- /package/{Presentation → presentation}/components/Cells/CellActions/index.js +0 -0
- /package/{Presentation → presentation}/components/Cells/CellRevision/CellRevision.d.ts +0 -0
- /package/{Presentation → presentation}/components/Cells/CellRevision/CellRevision.js +0 -0
- /package/{Presentation → presentation}/components/Cells/CellRevision/CellRevision.styled.d.ts +0 -0
- /package/{Presentation → presentation}/components/Cells/CellRevision/CellRevision.styled.js +0 -0
- /package/{Presentation → presentation}/components/Cells/CellRevision/index.d.ts +0 -0
- /package/{Presentation → presentation}/components/Cells/CellRevision/index.js +0 -0
- /package/{Presentation → presentation}/components/Cells/CellScheduledBy/CellScheduledBy.d.ts +0 -0
- /package/{Presentation → presentation}/components/Cells/CellScheduledBy/CellScheduledBy.js +0 -0
- /package/{Presentation → presentation}/components/Cells/CellScheduledBy/index.d.ts +0 -0
- /package/{Presentation → presentation}/components/Cells/CellScheduledBy/index.js +0 -0
- /package/{Presentation → presentation}/components/Cells/CellScheduledOn/CellScheduledOn.d.ts +0 -0
- /package/{Presentation → presentation}/components/Cells/CellScheduledOn/index.d.ts +0 -0
- /package/{Presentation → presentation}/components/Cells/CellScheduledOn/index.js +0 -0
- /package/{Presentation → presentation}/components/Cells/CellTitle/CellTitle.d.ts +0 -0
- /package/{Presentation → presentation}/components/Cells/CellTitle/CellTitle.js +0 -0
- /package/{Presentation → presentation}/components/Cells/CellTitle/CellTitle.styled.d.ts +0 -0
- /package/{Presentation → presentation}/components/Cells/CellTitle/CellTitle.styled.js +0 -0
- /package/{Presentation → presentation}/components/Cells/CellTitle/index.d.ts +0 -0
- /package/{Presentation → presentation}/components/Cells/CellTitle/index.js +0 -0
- /package/{Presentation → presentation}/components/Cells/CellType/CellActionType.d.ts +0 -0
- /package/{Presentation → presentation}/components/Cells/CellType/CellActionType.js +0 -0
- /package/{Presentation → presentation}/components/Cells/CellType/CellActionType.styled.d.ts +0 -0
- /package/{Presentation → presentation}/components/Cells/CellType/CellActionType.styled.js +0 -0
- /package/{Presentation → presentation}/components/Cells/CellType/index.d.ts +0 -0
- /package/{Presentation → presentation}/components/Cells/CellType/index.js +0 -0
- /package/{Presentation → presentation}/components/Cells/index.d.ts +0 -0
- /package/{Presentation → presentation}/components/Cells/index.js +0 -0
- /package/{Presentation → presentation}/components/Empty/Empty.styled.d.ts +0 -0
- /package/{Presentation → presentation}/components/Empty/Empty.styled.js +0 -0
- /package/{Presentation → presentation}/components/Title/Title.d.ts +0 -0
- /package/{Presentation → presentation}/components/Title/Title.js +0 -0
- /package/{Presentation → presentation}/components/Title/Title.styled.d.ts +0 -0
- /package/{Presentation → presentation}/components/Title/Title.styled.js +0 -0
- /package/{Presentation → presentation}/components/Title/index.d.ts +0 -0
- /package/{Presentation → presentation}/components/Title/index.js +0 -0
- /package/{Presentation → presentation}/configs/index.d.ts +0 -0
- /package/{Presentation → presentation}/configs/index.js +0 -0
- /package/{Presentation → presentation}/configs/list/Browser/EntryAction.js +0 -0
- /package/{Presentation → presentation}/configs/list/Browser/Table/Column.js +0 -0
- /package/{Presentation → presentation}/configs/list/Browser/Table/Sorting.d.ts +0 -0
- /package/{Presentation → presentation}/configs/list/Browser/Table/Sorting.js +0 -0
- /package/{Presentation → presentation}/configs/list/Browser/Table/index.js +0 -0
- /package/{Presentation → presentation}/configs/list/Browser/index.js +0 -0
- /package/{Presentation → presentation}/configs/list/SchedulerListConfig.js +0 -0
- /package/{Presentation → presentation}/configs/list/index.d.ts +0 -0
- /package/{Presentation → presentation}/configs/list/index.js +0 -0
- /package/{Presentation → presentation}/hooks/useCancelSchedulerItem.d.ts +0 -0
- /package/{Presentation → presentation}/hooks/useSchedulerItem.d.ts +0 -0
- /package/{Presentation → presentation}/hooks/useSchedulerItem.js +0 -0
|
File without changes
|
|
@@ -1,192 +0,0 @@
|
|
|
1
|
-
import react, { useCallback, useMemo, useRef } from "react";
|
|
2
|
-
import { Alert, Button, Grid, Input } from "@webiny/admin-ui";
|
|
3
|
-
import { ReactComponent } from "@webiny/icons/delete.svg";
|
|
4
|
-
import { useDialogs, useSnackbar } from "@webiny/app-admin";
|
|
5
|
-
import { Bind } from "@webiny/form";
|
|
6
|
-
import { validation } from "@webiny/validation";
|
|
7
|
-
import { ScheduleActionType } from "../../../types.js";
|
|
8
|
-
import validationError from "@webiny/validation/validationError.js";
|
|
9
|
-
import { makeDecoratable } from "@webiny/react-composition";
|
|
10
|
-
import { SchedulerCancelGraphQLGateway } from "../../../Gateways/SchedulerCancelGraphQLGateway.js";
|
|
11
|
-
import { SchedulerPublishGraphQLGateway } from "../../../Gateways/SchedulerPublishGraphQLGateway.js";
|
|
12
|
-
import { SchedulerUnpublishGraphQLGateway } from "../../../Gateways/SchedulerUnpublishGraphQLGateway.js";
|
|
13
|
-
import { SchedulerGetGraphQLGateway } from "../../../Gateways/SchedulerGetGraphQLGateway.js";
|
|
14
|
-
import { ScheduleDialogPresenter } from "./ScheduleDialogPresenter.js";
|
|
15
|
-
const dateToLocaleStringFormatter = new Intl.DateTimeFormat(void 0, {
|
|
16
|
-
year: "numeric",
|
|
17
|
-
month: "2-digit",
|
|
18
|
-
day: "2-digit",
|
|
19
|
-
hour: "2-digit",
|
|
20
|
-
minute: "2-digit",
|
|
21
|
-
second: void 0,
|
|
22
|
-
hour12: false
|
|
23
|
-
});
|
|
24
|
-
const ReschedulingAlert = ({ scheduleOn, actionType })=>{
|
|
25
|
-
if (!scheduleOn || !actionType) return null;
|
|
26
|
-
const actionName = actionType === ScheduleActionType.publish ? "publish" : "unpublish";
|
|
27
|
-
return /*#__PURE__*/ react.createElement(Alert, {
|
|
28
|
-
type: "danger"
|
|
29
|
-
}, /*#__PURE__*/ react.createElement(react.Fragment, null, "A ", actionName, " is already scheduled at", /*#__PURE__*/ react.createElement("br", null), /*#__PURE__*/ react.createElement("strong", null, dateToLocaleStringFormatter.format(scheduleOn)), "."));
|
|
30
|
-
};
|
|
31
|
-
const padLeft = (num)=>String(num).padStart(2, "0");
|
|
32
|
-
const formatDateForDateTimeLocal = (date)=>{
|
|
33
|
-
if (!date) return;
|
|
34
|
-
if ("string" == typeof date) date = new Date(date);
|
|
35
|
-
const year = date.getFullYear();
|
|
36
|
-
const month = padLeft(date.getMonth() + 1);
|
|
37
|
-
const day = padLeft(date.getDate());
|
|
38
|
-
const hours = padLeft(date.getHours());
|
|
39
|
-
const minutes = padLeft(date.getMinutes());
|
|
40
|
-
return `${year}-${month}-${day}T${hours}:${minutes}`;
|
|
41
|
-
};
|
|
42
|
-
const minDateValidator = (input)=>{
|
|
43
|
-
const value = new Date(input);
|
|
44
|
-
const minDate = new Date(new Date().getTime() + 120000);
|
|
45
|
-
if (minDate < value) return;
|
|
46
|
-
throw new validationError(`The date must be at least 2 minutes in the future. Current minimum date is ${dateToLocaleStringFormatter.format(minDate)}.`);
|
|
47
|
-
};
|
|
48
|
-
minDateValidator.validatorName = "minDateValidator";
|
|
49
|
-
const CancelButtonComponent = ({ enabled, onCancel })=>{
|
|
50
|
-
if (!enabled) return null;
|
|
51
|
-
return /*#__PURE__*/ react.createElement(Button, {
|
|
52
|
-
variant: "ghost",
|
|
53
|
-
onClick: onCancel,
|
|
54
|
-
text: "Cancel Schedule",
|
|
55
|
-
size: "md",
|
|
56
|
-
icon: /*#__PURE__*/ react.createElement(ReactComponent, null),
|
|
57
|
-
iconPosition: "start"
|
|
58
|
-
});
|
|
59
|
-
};
|
|
60
|
-
const SchedulerDialogFormComponentDateTimeInput = makeDecoratable("SchedulerDialogFormComponentDateTimeInput", (props)=>{
|
|
61
|
-
const { bind } = props;
|
|
62
|
-
return /*#__PURE__*/ react.createElement(Input, {
|
|
63
|
-
...bind,
|
|
64
|
-
value: formatDateForDateTimeLocal(bind.value),
|
|
65
|
-
title: "Schedule On",
|
|
66
|
-
label: "Schedule On",
|
|
67
|
-
size: "lg",
|
|
68
|
-
type: "datetime-local",
|
|
69
|
-
required: true,
|
|
70
|
-
autoFocus: true
|
|
71
|
-
});
|
|
72
|
-
});
|
|
73
|
-
const FormComponent = ({ scheduleOn, actionType })=>/*#__PURE__*/ react.createElement(react.Fragment, null, /*#__PURE__*/ react.createElement(ReschedulingAlert, {
|
|
74
|
-
actionType: actionType,
|
|
75
|
-
scheduleOn: scheduleOn
|
|
76
|
-
}), /*#__PURE__*/ react.createElement(Grid, null, /*#__PURE__*/ react.createElement(Grid.Column, {
|
|
77
|
-
span: 12
|
|
78
|
-
}, /*#__PURE__*/ react.createElement(Bind, {
|
|
79
|
-
name: "scheduleOn",
|
|
80
|
-
validators: [
|
|
81
|
-
validation.create("required"),
|
|
82
|
-
minDateValidator
|
|
83
|
-
]
|
|
84
|
-
}, (bind)=>/*#__PURE__*/ react.createElement(SchedulerDialogFormComponentDateTimeInput, {
|
|
85
|
-
bind: bind
|
|
86
|
-
})))));
|
|
87
|
-
const useScheduleDialog = (props)=>{
|
|
88
|
-
const { client, target, namespace } = props;
|
|
89
|
-
const dialog = useDialogs();
|
|
90
|
-
const { showSnackbar } = useSnackbar();
|
|
91
|
-
const presenter = useMemo(()=>new ScheduleDialogPresenter({
|
|
92
|
-
getGateway: new SchedulerGetGraphQLGateway(client),
|
|
93
|
-
cancelGateway: new SchedulerCancelGraphQLGateway(client),
|
|
94
|
-
publishGateway: new SchedulerPublishGraphQLGateway(client),
|
|
95
|
-
unpublishGateway: new SchedulerUnpublishGraphQLGateway(client)
|
|
96
|
-
}), [
|
|
97
|
-
client
|
|
98
|
-
]);
|
|
99
|
-
const dialogClose = useRef(()=>{});
|
|
100
|
-
const onAccept = useCallback(async (params)=>{
|
|
101
|
-
const { scheduleOn, actionType } = params;
|
|
102
|
-
try {
|
|
103
|
-
await presenter.schedule({
|
|
104
|
-
targetId: target.id,
|
|
105
|
-
namespace,
|
|
106
|
-
scheduleOn,
|
|
107
|
-
actionType
|
|
108
|
-
});
|
|
109
|
-
showSnackbar(`Scheduled ${actionType} action for "${target.title}"!`);
|
|
110
|
-
} catch (error) {
|
|
111
|
-
showSnackbar(error.message);
|
|
112
|
-
console.error(error);
|
|
113
|
-
}
|
|
114
|
-
}, [
|
|
115
|
-
presenter.vm
|
|
116
|
-
]);
|
|
117
|
-
const onCancel = useCallback(async ()=>{
|
|
118
|
-
const entry = presenter.vm.entry;
|
|
119
|
-
if (!entry) {
|
|
120
|
-
showSnackbar(`No scheduled action found for "${target.title}"!`);
|
|
121
|
-
if (dialogClose.current) {
|
|
122
|
-
dialogClose.current();
|
|
123
|
-
dialogClose.current = null;
|
|
124
|
-
}
|
|
125
|
-
return;
|
|
126
|
-
}
|
|
127
|
-
try {
|
|
128
|
-
await presenter.cancel({
|
|
129
|
-
id: entry.id,
|
|
130
|
-
namespace: entry.namespace
|
|
131
|
-
});
|
|
132
|
-
showSnackbar(`Canceled scheduled ${entry.actionType} on "${entry.title}"!`);
|
|
133
|
-
} catch (error) {
|
|
134
|
-
showSnackbar(error.message);
|
|
135
|
-
}
|
|
136
|
-
if (!dialogClose.current) return;
|
|
137
|
-
dialogClose.current();
|
|
138
|
-
dialogClose.current = null;
|
|
139
|
-
}, [
|
|
140
|
-
presenter.vm
|
|
141
|
-
]);
|
|
142
|
-
const showDialog = async ()=>{
|
|
143
|
-
await presenter.load({
|
|
144
|
-
namespace,
|
|
145
|
-
id: target.id
|
|
146
|
-
});
|
|
147
|
-
const isPublished = "published" === target.status;
|
|
148
|
-
const entry = presenter.vm.entry;
|
|
149
|
-
const scheduleOn = entry?.publishOn || entry?.unpublishOn;
|
|
150
|
-
dialogClose.current = dialog.showDialog({
|
|
151
|
-
title: `Schedule "${target.title}"`,
|
|
152
|
-
content: /*#__PURE__*/ react.createElement(FormComponent, {
|
|
153
|
-
actionType: entry?.actionType,
|
|
154
|
-
scheduleOn: scheduleOn
|
|
155
|
-
}),
|
|
156
|
-
formData: {
|
|
157
|
-
scheduleOn
|
|
158
|
-
},
|
|
159
|
-
acceptLabel: isPublished ? "Schedule Unpublish" : "Schedule Publish",
|
|
160
|
-
cancelLabel: "Discard",
|
|
161
|
-
loadingLabel: "Scheduling...",
|
|
162
|
-
info: /*#__PURE__*/ react.createElement(CancelButtonComponent, {
|
|
163
|
-
enabled: !!scheduleOn,
|
|
164
|
-
onCancel: onCancel
|
|
165
|
-
}),
|
|
166
|
-
onAccept: (data)=>{
|
|
167
|
-
if (!data.scheduleOn) return void showSnackbar('Missing "Schedule On" date!');
|
|
168
|
-
let scheduleOn;
|
|
169
|
-
try {
|
|
170
|
-
scheduleOn = new Date(data.scheduleOn);
|
|
171
|
-
} catch (ex) {
|
|
172
|
-
showSnackbar('Invalid "Schedule On" date!', {
|
|
173
|
-
value: data.scheduleOn
|
|
174
|
-
});
|
|
175
|
-
console.error(ex);
|
|
176
|
-
return;
|
|
177
|
-
}
|
|
178
|
-
const actionType = isPublished ? ScheduleActionType.unpublish : ScheduleActionType.publish;
|
|
179
|
-
return onAccept({
|
|
180
|
-
scheduleOn,
|
|
181
|
-
actionType
|
|
182
|
-
});
|
|
183
|
-
}
|
|
184
|
-
});
|
|
185
|
-
};
|
|
186
|
-
return {
|
|
187
|
-
showDialog
|
|
188
|
-
};
|
|
189
|
-
};
|
|
190
|
-
export { SchedulerDialogFormComponentDateTimeInput, useScheduleDialog };
|
|
191
|
-
|
|
192
|
-
//# sourceMappingURL=useScheduleDialog.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Presentation/components/ScheduleDialog/useScheduleDialog.js","sources":["../../../../src/Presentation/components/ScheduleDialog/useScheduleDialog.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useRef } from \"react\";\nimport { Alert, Button, Grid, Input } from \"@webiny/admin-ui\";\nimport { ReactComponent as DeleteIcon } from \"@webiny/icons/delete.svg\";\nimport { useDialogs, useSnackbar } from \"@webiny/app-admin\";\nimport { Bind, type BindComponentRenderProp } from \"@webiny/form\";\nimport { validation } from \"@webiny/validation\";\nimport { ScheduleActionType } from \"~/types.js\";\nimport type { Validator } from \"@webiny/validation/types.js\";\nimport ValidationError from \"@webiny/validation/validationError.js\";\nimport { makeDecoratable } from \"@webiny/react-composition\";\nimport ApolloClient from \"apollo-client/ApolloClient.js\";\nimport { SchedulerCancelGraphQLGateway } from \"~/Gateways/SchedulerCancelGraphQLGateway.js\";\nimport { SchedulerPublishGraphQLGateway } from \"~/Gateways/SchedulerPublishGraphQLGateway.js\";\nimport { SchedulerUnpublishGraphQLGateway } from \"~/Gateways/SchedulerUnpublishGraphQLGateway.js\";\nimport { SchedulerGetGraphQLGateway } from \"~/Gateways/SchedulerGetGraphQLGateway.js\";\nimport { ScheduleDialogPresenter } from \"./ScheduleDialogPresenter.js\";\n\nexport type ShowDialogParamsEntryStatus = \"published\" | \"unpublished\" | \"draft\" | string;\n\nexport interface IShowDialogParamsEntry {\n id: string;\n status: ShowDialogParamsEntryStatus;\n title: string;\n}\n\ninterface UseShowScheduleDialogResponse {\n showDialog: () => void;\n}\n\ninterface FormComponentProps {\n scheduleOn: Date | undefined;\n actionType: ScheduleActionType | undefined;\n}\n\nconst dateToLocaleStringFormatter = new Intl.DateTimeFormat(undefined, {\n year: \"numeric\",\n month: \"2-digit\",\n day: \"2-digit\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: undefined,\n hour12: false\n});\n\ninterface IReschedulingAlertProps {\n scheduleOn: Date | undefined;\n actionType: ScheduleActionType | undefined;\n}\n\nconst ReschedulingAlert = ({ scheduleOn, actionType }: IReschedulingAlertProps) => {\n if (!scheduleOn || !actionType) {\n return null;\n }\n const actionName = actionType === ScheduleActionType.publish ? \"publish\" : \"unpublish\";\n return (\n <Alert type={\"danger\"}>\n <>\n A {actionName} is already scheduled at\n <br />\n <strong>{dateToLocaleStringFormatter.format(scheduleOn)}</strong>.\n </>\n </Alert>\n );\n};\n/**\n * DO NOT use a library for this!\n */\nconst padLeft = (num: number) => {\n return String(num).padStart(2, \"0\");\n};\n\nconst formatDateForDateTimeLocal = (date?: Date | string): string | undefined => {\n if (!date) {\n return undefined;\n } else if (typeof date === \"string\") {\n date = new Date(date);\n }\n\n const year = date.getFullYear();\n const month = padLeft(date.getMonth() + 1);\n const day = padLeft(date.getDate());\n const hours = padLeft(date.getHours());\n const minutes = padLeft(date.getMinutes());\n\n return `${year}-${month}-${day}T${hours}:${minutes}`;\n};\n\nconst minDateValidator: Validator = (input: string) => {\n const value = new Date(input);\n const minDate = new Date(new Date().getTime() + 120 * 1000);\n if (minDate < value) {\n return;\n }\n throw new ValidationError(\n `The date must be at least 2 minutes in the future. Current minimum date is ${dateToLocaleStringFormatter.format(\n minDate\n )}.`\n );\n};\n\nminDateValidator.validatorName = \"minDateValidator\";\n\nexport interface ISchedulerDialogFormComponentDateTimeInputProps {\n bind: BindComponentRenderProp<Date>;\n}\n\ninterface ICancelButtonComponentProps {\n enabled: boolean;\n onCancel: OnCancelCallable;\n}\nconst CancelButtonComponent = ({ enabled, onCancel }: ICancelButtonComponentProps) => {\n if (!enabled) {\n return null;\n }\n return (\n <Button\n variant=\"ghost\"\n onClick={onCancel}\n text={\"Cancel Schedule\"}\n size=\"md\"\n icon={<DeleteIcon />}\n iconPosition=\"start\"\n />\n );\n};\n\nexport const SchedulerDialogFormComponentDateTimeInput = makeDecoratable(\n \"SchedulerDialogFormComponentDateTimeInput\",\n (props: ISchedulerDialogFormComponentDateTimeInputProps) => {\n const { bind } = props;\n\n return (\n <Input\n {...bind}\n value={formatDateForDateTimeLocal(bind.value)}\n title={\"Schedule On\"}\n label={\"Schedule On\"}\n size={\"lg\"}\n type={\"datetime-local\"}\n required\n autoFocus\n />\n );\n }\n);\n\nconst FormComponent = ({ scheduleOn, actionType }: FormComponentProps) => {\n return (\n <>\n {<ReschedulingAlert actionType={actionType} scheduleOn={scheduleOn} />}\n <Grid>\n <Grid.Column span={12}>\n <Bind\n name={\"scheduleOn\"}\n validators={[validation.create(\"required\"), minDateValidator]}\n >\n {bind => {\n return <SchedulerDialogFormComponentDateTimeInput bind={bind} />;\n }}\n </Bind>\n </Grid.Column>\n </Grid>\n </>\n );\n};\n\ninterface ScheduleFormData {\n scheduleOn?: string;\n}\n\ninterface IOnAcceptParams {\n scheduleOn: Date;\n actionType: ScheduleActionType;\n}\n\ninterface OnCancelCallable {\n (): Promise<void>;\n}\n\nexport interface IUseScheduleDialogProps {\n client: ApolloClient<object>;\n namespace: string;\n target: IShowDialogParamsEntry;\n}\n\nexport const useScheduleDialog = (\n props: IUseScheduleDialogProps\n): UseShowScheduleDialogResponse => {\n const { client, target, namespace } = props;\n const dialog = useDialogs();\n const { showSnackbar } = useSnackbar();\n\n const presenter = useMemo(() => {\n return new ScheduleDialogPresenter({\n getGateway: new SchedulerGetGraphQLGateway(client),\n cancelGateway: new SchedulerCancelGraphQLGateway(client),\n publishGateway: new SchedulerPublishGraphQLGateway(client),\n unpublishGateway: new SchedulerUnpublishGraphQLGateway(client)\n });\n }, [client]);\n\n const dialogClose = useRef<null | (() => void)>(() => {\n return;\n });\n\n const onAccept = useCallback(\n async (params: IOnAcceptParams) => {\n const { scheduleOn, actionType } = params;\n\n try {\n await presenter.schedule({\n targetId: target.id,\n namespace,\n scheduleOn,\n actionType\n });\n showSnackbar(`Scheduled ${actionType} action for \"${target.title}\"!`);\n } catch (error) {\n showSnackbar(error.message);\n console.error(error);\n }\n },\n [presenter.vm]\n );\n\n const onCancel = useCallback(async () => {\n const entry = presenter.vm.entry;\n if (!entry) {\n showSnackbar(`No scheduled action found for \"${target.title}\"!`);\n if (dialogClose.current) {\n dialogClose.current();\n dialogClose.current = null;\n }\n return;\n }\n try {\n await presenter.cancel({\n id: entry.id,\n namespace: entry.namespace\n });\n showSnackbar(`Canceled scheduled ${entry.actionType} on \"${entry.title}\"!`);\n } catch (error) {\n showSnackbar(error.message);\n }\n if (!dialogClose.current) {\n return;\n }\n dialogClose.current();\n dialogClose.current = null;\n }, [presenter.vm]);\n\n const showDialog = async () => {\n await presenter.load({ namespace, id: target.id });\n\n const isPublished = target.status === \"published\";\n const entry = presenter.vm.entry;\n const scheduleOn = entry?.publishOn || entry?.unpublishOn;\n\n dialogClose.current = dialog.showDialog({\n title: `Schedule \"${target.title}\"`,\n content: <FormComponent actionType={entry?.actionType} scheduleOn={scheduleOn} />,\n formData: {\n scheduleOn\n },\n acceptLabel: isPublished ? \"Schedule Unpublish\" : \"Schedule Publish\",\n cancelLabel: \"Discard\",\n loadingLabel: \"Scheduling...\",\n info: <CancelButtonComponent enabled={!!scheduleOn} onCancel={onCancel} />,\n onAccept: (data: Partial<ScheduleFormData>) => {\n if (!data.scheduleOn) {\n showSnackbar(`Missing \"Schedule On\" date!`);\n return;\n }\n /**\n * We need to convert scheduleOn from local string to the ISO String (UTC) format.\n * This is important because the date will be stored in the database in UTC format.\n *\n * We display the date (in the UI) in users timezone time.\n */\n let scheduleOn: Date;\n try {\n scheduleOn = new Date(data.scheduleOn);\n } catch (ex) {\n showSnackbar(`Invalid \"Schedule On\" date!`, {\n value: data.scheduleOn\n });\n console.error(ex);\n return;\n }\n\n const actionType = isPublished\n ? ScheduleActionType.unpublish\n : ScheduleActionType.publish;\n\n return onAccept({\n scheduleOn,\n actionType\n });\n }\n });\n };\n\n return {\n showDialog\n };\n};\n"],"names":["dateToLocaleStringFormatter","Intl","undefined","ReschedulingAlert","scheduleOn","actionType","actionName","ScheduleActionType","Alert","padLeft","num","String","formatDateForDateTimeLocal","date","Date","year","month","day","hours","minutes","minDateValidator","input","value","minDate","ValidationError","CancelButtonComponent","enabled","onCancel","Button","DeleteIcon","SchedulerDialogFormComponentDateTimeInput","makeDecoratable","props","bind","Input","FormComponent","Grid","Bind","validation","useScheduleDialog","client","target","namespace","dialog","useDialogs","showSnackbar","useSnackbar","presenter","useMemo","ScheduleDialogPresenter","SchedulerGetGraphQLGateway","SchedulerCancelGraphQLGateway","SchedulerPublishGraphQLGateway","SchedulerUnpublishGraphQLGateway","dialogClose","useRef","onAccept","useCallback","params","error","console","entry","showDialog","isPublished","data","ex"],"mappings":"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"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import react from "react";
|
|
2
|
-
import debounce from "lodash/debounce.js";
|
|
3
|
-
import { OverlayLayout } from "@webiny/app-admin";
|
|
4
|
-
import { Scrollbar } from "@webiny/admin-ui";
|
|
5
|
-
import { Title } from "../Title/index.js";
|
|
6
|
-
import { SearchInput } from "../SearchInput/index.js";
|
|
7
|
-
import { Empty } from "../Empty/index.js";
|
|
8
|
-
import { Table } from "../Table/index.js";
|
|
9
|
-
import { BottomInfoBar } from "../BottomInfoBar/index.js";
|
|
10
|
-
import { useScheduler } from "../../hooks/index.js";
|
|
11
|
-
const SchedulerOverlay = (props)=>{
|
|
12
|
-
const { listMoreItems, vm } = useScheduler();
|
|
13
|
-
const onTableScroll = debounce(async ({ scrollFrame })=>{
|
|
14
|
-
if (scrollFrame.top > 0.8) await listMoreItems();
|
|
15
|
-
}, 200);
|
|
16
|
-
return /*#__PURE__*/ react.createElement(OverlayLayout, {
|
|
17
|
-
onExited: props.onExited,
|
|
18
|
-
barLeft: /*#__PURE__*/ react.createElement(Title, {
|
|
19
|
-
title: props.title
|
|
20
|
-
}),
|
|
21
|
-
barMiddle: /*#__PURE__*/ react.createElement(SearchInput, null)
|
|
22
|
-
}, /*#__PURE__*/ react.createElement(Scrollbar, {
|
|
23
|
-
onScrollFrame: (scrollFrame)=>onTableScroll({
|
|
24
|
-
scrollFrame
|
|
25
|
-
})
|
|
26
|
-
}, vm.isEmptyView ? /*#__PURE__*/ react.createElement(Empty, null) : /*#__PURE__*/ react.createElement(Table, null)), /*#__PURE__*/ react.createElement(BottomInfoBar, null));
|
|
27
|
-
};
|
|
28
|
-
export { SchedulerOverlay };
|
|
29
|
-
|
|
30
|
-
//# sourceMappingURL=SchedulerOverlay.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Presentation/components/SchedulerOverlay/SchedulerOverlay.js","sources":["../../../../src/Presentation/components/SchedulerOverlay/SchedulerOverlay.tsx"],"sourcesContent":["import React from \"react\";\nimport debounce from \"lodash/debounce.js\";\nimport { OverlayLayout } from \"@webiny/app-admin\";\nimport { Scrollbar } from \"@webiny/admin-ui\";\nimport { Title } from \"~/Presentation/components/Title/index.js\";\nimport { SearchInput } from \"~/Presentation/components/SearchInput/index.js\";\nimport { Empty } from \"~/Presentation/components/Empty/index.js\";\nimport { Table } from \"~/Presentation/components/Table/index.js\";\nimport { BottomInfoBar } from \"~/Presentation/components/BottomInfoBar/index.js\";\nimport { useScheduler } from \"~/Presentation/hooks/index.js\";\n\ninterface SchedulerOverlayProps {\n title: string;\n onExited: () => void;\n}\n\nexport const SchedulerOverlay = (props: SchedulerOverlayProps) => {\n const { listMoreItems, vm } = useScheduler();\n\n const onTableScroll = debounce(async ({ scrollFrame }) => {\n if (scrollFrame.top > 0.8) {\n await listMoreItems();\n }\n }, 200);\n\n return (\n <OverlayLayout\n onExited={props.onExited}\n barLeft={<Title title={props.title} />}\n barMiddle={<SearchInput />}\n >\n <Scrollbar onScrollFrame={scrollFrame => onTableScroll({ scrollFrame })}>\n {vm.isEmptyView ? <Empty /> : <Table />}\n </Scrollbar>\n <BottomInfoBar />\n </OverlayLayout>\n );\n};\n"],"names":["SchedulerOverlay","props","listMoreItems","vm","useScheduler","onTableScroll","debounce","scrollFrame","OverlayLayout","Title","SearchInput","Scrollbar","Empty","Table","BottomInfoBar"],"mappings":";;;;;;;;;;AAgBO,MAAMA,mBAAmB,CAACC;IAC7B,MAAM,EAAEC,aAAa,EAAEC,EAAE,EAAE,GAAGC;IAE9B,MAAMC,gBAAgBC,SAAS,OAAO,EAAEC,WAAW,EAAE;QACjD,IAAIA,YAAY,GAAG,GAAG,KAClB,MAAML;IAEd,GAAG;IAEH,OAAO,WAAP,GACI,oBAACM,eAAaA;QACV,UAAUP,MAAM,QAAQ;QACxB,uBAAS,oBAACQ,OAAKA;YAAC,OAAOR,MAAM,KAAK;;QAClC,yBAAW,oBAACS,aAAWA;qBAEvB,oBAACC,WAASA;QAAC,eAAeJ,CAAAA,cAAeF,cAAc;gBAAEE;YAAY;OAChEJ,GAAG,WAAW,GAAG,WAAH,GAAG,oBAACS,OAAKA,QAAAA,WAAAA,GAAM,oBAACC,OAAKA,QAAAA,WAAAA,GAExC,oBAACC,eAAaA;AAG1B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./SchedulerOverlay.js";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./SchedulerOverlay.js";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Presentation/components/SearchInput/SearchInput.js","sources":["../../../../src/Presentation/components/SearchInput/SearchInput.tsx"],"sourcesContent":["import React from \"react\";\nimport { ReactComponent as SearchIcon } from \"@webiny/icons/search.svg\";\nimport { DelayedOnChange, Icon, Input } from \"@webiny/admin-ui\";\nimport { useScheduler } from \"~/Presentation/hooks/index.js\";\n\nexport const SearchInput = () => {\n const { vm, searchItems } = useScheduler();\n\n return (\n <DelayedOnChange\n value={vm.searchQuery}\n onChange={value => {\n if (value === vm.searchQuery) {\n return;\n }\n searchItems(value);\n }}\n >\n {({ value, onChange }) => (\n <Input\n id={\"scheduler__search-input\"}\n value={value}\n onChange={e => onChange(e.target.value)}\n forwardEventOnChange={true}\n placeholder={vm.searchLabel}\n data-testid={\"scheduler.search-input\"}\n startIcon={<Icon icon={<SearchIcon />} label=\"Search\" />}\n size={\"md\"}\n variant={\"ghost\"}\n />\n )}\n </DelayedOnChange>\n );\n};\n"],"names":["SearchInput","vm","searchItems","useScheduler","DelayedOnChange","value","onChange","Input","e","Icon","SearchIcon"],"mappings":";;;;AAKO,MAAMA,cAAc;IACvB,MAAM,EAAEC,EAAE,EAAEC,WAAW,EAAE,GAAGC;IAE5B,OAAO,WAAP,GACI,oBAACC,iBAAeA;QACZ,OAAOH,GAAG,WAAW;QACrB,UAAUI,CAAAA;YACN,IAAIA,UAAUJ,GAAG,WAAW,EACxB;YAEJC,YAAYG;QAChB;OAEC,CAAC,EAAEA,KAAK,EAAEC,QAAQ,EAAE,iBACjB,oBAACC,OAAKA;YACF,IAAI;YACJ,OAAOF;YACP,UAAUG,CAAAA,IAAKF,SAASE,EAAE,MAAM,CAAC,KAAK;YACtC,sBAAsB;YACtB,aAAaP,GAAG,WAAW;YAC3B,eAAa;YACb,yBAAW,oBAACQ,MAAIA;gBAAC,oBAAM,oBAACC,gBAAUA;gBAAK,OAAM;;YAC7C,MAAM;YACN,SAAS;;AAK7B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./SearchInput.js";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./SearchInput.js";
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import react, { useMemo } from "react";
|
|
2
|
-
import { Table, createRecordsData } from "@webiny/app-aco";
|
|
3
|
-
import { useScheduler } from "../../hooks/index.js";
|
|
4
|
-
import { LoadingActions } from "../../../types.js";
|
|
5
|
-
import { useSchedulerListConfig } from "../../configs/index.js";
|
|
6
|
-
const Table_Table = ()=>{
|
|
7
|
-
const { vm, selectItems, sortItems } = useScheduler();
|
|
8
|
-
const { browser } = useSchedulerListConfig();
|
|
9
|
-
const data = useMemo(()=>createRecordsData(vm.items), [
|
|
10
|
-
vm.items
|
|
11
|
-
]);
|
|
12
|
-
const selected = useMemo(()=>createRecordsData(vm.selectedItems), [
|
|
13
|
-
vm.selectedItems
|
|
14
|
-
]);
|
|
15
|
-
return /*#__PURE__*/ react.createElement(Table, {
|
|
16
|
-
columns: browser.table.columns,
|
|
17
|
-
data: data,
|
|
18
|
-
loading: vm.loading[LoadingActions.list],
|
|
19
|
-
onSelectRow: (entries)=>selectItems(entries.map((entry)=>entry.data)),
|
|
20
|
-
sorting: vm.sorting,
|
|
21
|
-
onSortingChange: (sort)=>sortItems(sort),
|
|
22
|
-
selected: selected,
|
|
23
|
-
nameColumnId: vm.nameColumnId,
|
|
24
|
-
namespace: "scheduler/list"
|
|
25
|
-
});
|
|
26
|
-
};
|
|
27
|
-
export { Table_Table as Table };
|
|
28
|
-
|
|
29
|
-
//# sourceMappingURL=Table.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Presentation/components/Table/Table.js","sources":["../../../../src/Presentation/components/Table/Table.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { createRecordsData, Table as AcoTable } from \"@webiny/app-aco\";\nimport { useScheduler } from \"~/Presentation/hooks/index.js\";\nimport { LoadingActions, type SchedulerEntryTableRow } from \"~/types.js\";\nimport { useSchedulerListConfig } from \"~/Presentation/configs/index.js\";\n\nexport const Table = () => {\n const { vm, selectItems, sortItems } = useScheduler();\n const { browser } = useSchedulerListConfig();\n\n const data = useMemo<SchedulerEntryTableRow[]>(() => {\n return createRecordsData(vm.items);\n }, [vm.items]);\n\n const selected = useMemo<SchedulerEntryTableRow[]>(() => {\n return createRecordsData(vm.selectedItems);\n }, [vm.selectedItems]);\n\n return (\n <AcoTable<SchedulerEntryTableRow>\n columns={browser.table.columns}\n data={data}\n loading={vm.loading[LoadingActions.list]}\n onSelectRow={entries => selectItems(entries.map(entry => entry.data))}\n sorting={vm.sorting}\n onSortingChange={sort => sortItems(sort)}\n selected={selected}\n nameColumnId={vm.nameColumnId}\n namespace={\"scheduler/list\"}\n />\n );\n};\n"],"names":["Table","vm","selectItems","sortItems","useScheduler","browser","useSchedulerListConfig","data","useMemo","createRecordsData","selected","AcoTable","LoadingActions","entries","entry","sort"],"mappings":";;;;;AAMO,MAAMA,cAAQ;IACjB,MAAM,EAAEC,EAAE,EAAEC,WAAW,EAAEC,SAAS,EAAE,GAAGC;IACvC,MAAM,EAAEC,OAAO,EAAE,GAAGC;IAEpB,MAAMC,OAAOC,QAAkC,IACpCC,kBAAkBR,GAAG,KAAK,GAClC;QAACA,GAAG,KAAK;KAAC;IAEb,MAAMS,WAAWF,QAAkC,IACxCC,kBAAkBR,GAAG,aAAa,GAC1C;QAACA,GAAG,aAAa;KAAC;IAErB,OAAO,WAAP,GACI,oBAACU,OAAQA;QACL,SAASN,QAAQ,KAAK,CAAC,OAAO;QAC9B,MAAME;QACN,SAASN,GAAG,OAAO,CAACW,eAAe,IAAI,CAAC;QACxC,aAAaC,CAAAA,UAAWX,YAAYW,QAAQ,GAAG,CAACC,CAAAA,QAASA,MAAM,IAAI;QACnE,SAASb,GAAG,OAAO;QACnB,iBAAiBc,CAAAA,OAAQZ,UAAUY;QACnC,UAAUL;QACV,cAAcT,GAAG,YAAY;QAC7B,WAAW;;AAGvB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./Table.js";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./Table.js";
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { ColumnConfig } from "./Column.js";
|
|
2
|
-
import type { SortingConfig } from "./Sorting.js";
|
|
3
|
-
export interface TableConfig {
|
|
4
|
-
columns: ColumnConfig[];
|
|
5
|
-
sorting: SortingConfig[];
|
|
6
|
-
}
|
|
7
|
-
export declare const Table: {
|
|
8
|
-
Column: ((props: import("@webiny/app-aco/config/table/Column.js").ColumnProps) => import("react").JSX.Element) & {
|
|
9
|
-
useTableRow: {
|
|
10
|
-
(): import("@webiny/app-aco/index.js").TableRowContextData<import("../../../../../types.js").SchedulerEntryTableRow>;
|
|
11
|
-
<TUserRow>(): import("@webiny/app-aco/index.js").TableRowContextData<import("../../../../../types.js").SchedulerEntryTableRow & {
|
|
12
|
-
data: TUserRow;
|
|
13
|
-
}>;
|
|
14
|
-
};
|
|
15
|
-
isFolderRow: (row: import("@webiny/app-aco/table.types.js").TableRow) => row is import("@webiny/app-aco/table.types.js").FolderTableRow;
|
|
16
|
-
};
|
|
17
|
-
Sorting: (props: import("@webiny/app-aco/config/table/Sorting.js").SortingProps) => import("react").JSX.Element;
|
|
18
|
-
};
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import type { EntryActionConfig } from "./EntryAction.js";
|
|
2
|
-
import type { TableConfig } from "./Table/index.js";
|
|
3
|
-
export interface BrowserConfig {
|
|
4
|
-
entryActions: EntryActionConfig[];
|
|
5
|
-
table: TableConfig;
|
|
6
|
-
}
|
|
7
|
-
export declare const Browser: {
|
|
8
|
-
EntryAction: ((props: import("@webiny/app-aco/config/record/Action.js").ActionProps) => import("react").JSX.Element) & {
|
|
9
|
-
OptionsMenuItem: (props: import("@webiny/app-admin/index.js").OptionsMenuItemProps) => React.JSX.Element;
|
|
10
|
-
};
|
|
11
|
-
Table: {
|
|
12
|
-
Column: ((props: import("@webiny/app-aco/config/table/Column.js").ColumnProps) => import("react").JSX.Element) & {
|
|
13
|
-
useTableRow: {
|
|
14
|
-
(): import("@webiny/app-aco/index.js").TableRowContextData<import("../../../../types.js").SchedulerEntryTableRow>;
|
|
15
|
-
<TUserRow>(): import("@webiny/app-aco/index.js").TableRowContextData<import("../../../../types.js").SchedulerEntryTableRow & {
|
|
16
|
-
data: TUserRow;
|
|
17
|
-
}>;
|
|
18
|
-
};
|
|
19
|
-
isFolderRow: (row: import("@webiny/app-aco/table.types.js").TableRow) => row is import("@webiny/app-aco/table.types.js").FolderTableRow;
|
|
20
|
-
};
|
|
21
|
-
Sorting: (props: import("@webiny/app-aco/config/table/Sorting.js").SortingProps) => import("react").JSX.Element;
|
|
22
|
-
};
|
|
23
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Presentation/hooks/useCancelSchedulerItem.js","sources":["../../../src/Presentation/hooks/useCancelSchedulerItem.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport { useConfirmationDialog, useSnackbar } from \"@webiny/app-admin\";\nimport { useScheduler } from \"./useScheduler.js\";\nimport type { SchedulerEntry } from \"~/types.js\";\n\ninterface UseCancelScheduleItemParams {\n item: Pick<SchedulerEntry, \"id\" | \"title\" | \"actionType\">;\n}\n\nexport const useCancelSchedulerItem = ({ item }: UseCancelScheduleItemParams) => {\n const { cancelItem } = useScheduler();\n const { showSnackbar } = useSnackbar();\n\n const { showConfirmation } = useConfirmationDialog({\n title: \"Cancel scheduled action?\",\n message: (\n <p>\n You are about to cancel scheduled action for this item!\n <br />\n Are you sure you want to cancel scheduled <strong>{item.actionType}</strong> for{\" \"}\n <strong>{item.title}</strong>?\n </p>\n )\n });\n\n const openDialogCancelSchedulerItem = useCallback(\n () =>\n showConfirmation(async () => {\n try {\n await cancelItem(item.id);\n showSnackbar(`Action on item \"${item.title}\" was canceled successfully!`);\n } catch (ex) {\n showSnackbar(ex.message || `Error while canceling action for \"${item.title}\".`);\n }\n }),\n [item]\n );\n\n return { openDialogCancelSchedulerItem };\n};\n"],"names":["useCancelSchedulerItem","item","cancelItem","useScheduler","showSnackbar","useSnackbar","showConfirmation","useConfirmationDialog","openDialogCancelSchedulerItem","useCallback","ex"],"mappings":";;;AASO,MAAMA,yBAAyB,CAAC,EAAEC,IAAI,EAA+B;IACxE,MAAM,EAAEC,UAAU,EAAE,GAAGC;IACvB,MAAM,EAAEC,YAAY,EAAE,GAAGC;IAEzB,MAAM,EAAEC,gBAAgB,EAAE,GAAGC,sBAAsB;QAC/C,OAAO;QACP,SAAS,WAAT,GACI,oBAAC,WAAE,yEAEC,oBAAC,aAAK,4DACoC,oBAAC,gBAAQN,KAAK,UAAU,GAAU,QAAK,mBACjF,oBAAC,gBAAQA,KAAK,KAAK,GAAU;IAGzC;IAEA,MAAMO,gCAAgCC,YAClC,IACIH,iBAAiB;YACb,IAAI;gBACA,MAAMJ,WAAWD,KAAK,EAAE;gBACxBG,aAAa,CAAC,gBAAgB,EAAEH,KAAK,KAAK,CAAC,4BAA4B,CAAC;YAC5E,EAAE,OAAOS,IAAI;gBACTN,aAAaM,GAAG,OAAO,IAAI,CAAC,kCAAkC,EAAET,KAAK,KAAK,CAAC,EAAE,CAAC;YAClF;QACJ,IACJ;QAACA;KAAK;IAGV,OAAO;QAAEO;IAA8B;AAC3C"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import type { ISchedulerControllers, ISchedulerPresenter } from "../../Presentation/abstractions/index.js";
|
|
2
|
-
import type { SchedulerEntry } from "../../types.js";
|
|
3
|
-
export interface SchedulerContext {
|
|
4
|
-
namespace: string;
|
|
5
|
-
controllers: ISchedulerControllers;
|
|
6
|
-
presenter: ISchedulerPresenter;
|
|
7
|
-
}
|
|
8
|
-
export declare const useScheduler: () => {
|
|
9
|
-
namespace: string;
|
|
10
|
-
vm: import("~/Presentation/abstractions/index.js").SchedulerPresenterViewModel;
|
|
11
|
-
cancelItem: (id: string) => Promise<void>;
|
|
12
|
-
publishItem: (id: string, scheduleOn: Date) => Promise<void>;
|
|
13
|
-
unpublishItem: (id: string, scheduleOn: Date) => Promise<void>;
|
|
14
|
-
getItem: (id: string) => Promise<void>;
|
|
15
|
-
listItems: () => Promise<void>;
|
|
16
|
-
listMoreItems: () => Promise<void>;
|
|
17
|
-
selectItems: (items: SchedulerEntry[]) => Promise<void>;
|
|
18
|
-
selectAllItems: () => Promise<void>;
|
|
19
|
-
unselectAllItems: () => Promise<void>;
|
|
20
|
-
sortItems: import("@webiny/admin-ui/DataTable").OnDataTableSortingChange;
|
|
21
|
-
searchItems: (value: string) => Promise<void>;
|
|
22
|
-
};
|
|
23
|
-
export declare const SchedulerProvider: {
|
|
24
|
-
({ children, ...props }: SchedulerContext & {
|
|
25
|
-
children: React.ReactNode;
|
|
26
|
-
}): React.JSX.Element;
|
|
27
|
-
displayName: string;
|
|
28
|
-
};
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { useCallback, useEffect, useMemo, useState } from "react";
|
|
2
|
-
import { autorun } from "mobx";
|
|
3
|
-
import { createGenericContext } from "@webiny/app-admin";
|
|
4
|
-
const { Provider: Provider, useHook: useHook } = createGenericContext("SchedulerContext");
|
|
5
|
-
const useScheduler = ()=>{
|
|
6
|
-
const context = useHook();
|
|
7
|
-
const [vm, setVm] = useState(context.presenter.vm);
|
|
8
|
-
useEffect(()=>autorun(()=>{
|
|
9
|
-
const newState = context.presenter.vm;
|
|
10
|
-
setVm(newState);
|
|
11
|
-
}), [
|
|
12
|
-
context.presenter
|
|
13
|
-
]);
|
|
14
|
-
const cancelItem = useCallback((id)=>context.controllers.scheduleCancelItem.execute(id), [
|
|
15
|
-
context.controllers.scheduleCancelItem
|
|
16
|
-
]);
|
|
17
|
-
const publishItem = useCallback((id, scheduleOn)=>context.controllers.schedulePublishItem.execute(id, scheduleOn), [
|
|
18
|
-
context.controllers.schedulePublishItem
|
|
19
|
-
]);
|
|
20
|
-
const unpublishItem = useCallback((id, scheduleOn)=>context.controllers.scheduleUnpublishItem.execute(id, scheduleOn), [
|
|
21
|
-
context.controllers.scheduleUnpublishItem
|
|
22
|
-
]);
|
|
23
|
-
const listItems = useCallback(()=>context.controllers.listItems.execute(), [
|
|
24
|
-
context.controllers.listItems
|
|
25
|
-
]);
|
|
26
|
-
const getItem = useCallback((id)=>context.controllers.getItem.execute({
|
|
27
|
-
id
|
|
28
|
-
}), [
|
|
29
|
-
context.controllers.getItem
|
|
30
|
-
]);
|
|
31
|
-
const listMoreItems = useCallback(()=>context.controllers.listMoreItems.execute(), [
|
|
32
|
-
context.controllers.listMoreItems
|
|
33
|
-
]);
|
|
34
|
-
const selectItems = useCallback((items)=>context.controllers.selectItems.execute(items), [
|
|
35
|
-
context.controllers.selectItems
|
|
36
|
-
]);
|
|
37
|
-
const selectAllItems = useCallback(()=>context.controllers.selectAllItems.execute(), [
|
|
38
|
-
context.controllers.selectAllItems
|
|
39
|
-
]);
|
|
40
|
-
const unselectAllItems = useCallback(()=>context.controllers.unselectAllItems.execute(), [
|
|
41
|
-
context.controllers.unselectAllItems
|
|
42
|
-
]);
|
|
43
|
-
const sortItems = useMemo(()=>context.controllers.sortItems.execute, [
|
|
44
|
-
context.controllers.sortItems
|
|
45
|
-
]);
|
|
46
|
-
const searchItems = useCallback((value)=>context.controllers.searchItems.execute(value), [
|
|
47
|
-
context.controllers.searchItems
|
|
48
|
-
]);
|
|
49
|
-
return {
|
|
50
|
-
namespace: context.namespace,
|
|
51
|
-
vm,
|
|
52
|
-
cancelItem,
|
|
53
|
-
publishItem,
|
|
54
|
-
unpublishItem,
|
|
55
|
-
getItem,
|
|
56
|
-
listItems,
|
|
57
|
-
listMoreItems,
|
|
58
|
-
selectItems,
|
|
59
|
-
selectAllItems,
|
|
60
|
-
unselectAllItems,
|
|
61
|
-
sortItems,
|
|
62
|
-
searchItems
|
|
63
|
-
};
|
|
64
|
-
};
|
|
65
|
-
const SchedulerProvider = Provider;
|
|
66
|
-
export { SchedulerProvider, useScheduler };
|
|
67
|
-
|
|
68
|
-
//# sourceMappingURL=useScheduler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Presentation/hooks/useScheduler.js","sources":["../../../src/Presentation/hooks/useScheduler.tsx"],"sourcesContent":["import { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { autorun } from \"mobx\";\nimport { createGenericContext } from \"@webiny/app-admin\";\nimport type {\n ISchedulerControllers,\n ISchedulerPresenter\n} from \"~/Presentation/abstractions/index.js\";\nimport type { SchedulerEntry } from \"~/types.js\";\n\nexport interface SchedulerContext {\n namespace: string;\n controllers: ISchedulerControllers;\n presenter: ISchedulerPresenter;\n}\n\nconst { Provider, useHook } = createGenericContext<SchedulerContext>(\"SchedulerContext\");\n\nexport const useScheduler = () => {\n const context = useHook();\n const [vm, setVm] = useState(context.presenter.vm);\n\n useEffect(() => {\n return autorun(() => {\n const newState = context.presenter.vm;\n setVm(newState);\n });\n }, [context.presenter]);\n\n const cancelItem = useCallback(\n (id: string) => context.controllers.scheduleCancelItem.execute(id),\n [context.controllers.scheduleCancelItem]\n );\n\n const publishItem = useCallback(\n (id: string, scheduleOn: Date) =>\n context.controllers.schedulePublishItem.execute(id, scheduleOn),\n [context.controllers.schedulePublishItem]\n );\n\n const unpublishItem = useCallback(\n (id: string, scheduleOn: Date) =>\n context.controllers.scheduleUnpublishItem.execute(id, scheduleOn),\n [context.controllers.scheduleUnpublishItem]\n );\n\n const listItems = useCallback(\n () => context.controllers.listItems.execute(),\n [context.controllers.listItems]\n );\n const getItem = useCallback(\n (id: string) => {\n return context.controllers.getItem.execute({\n id\n });\n },\n [context.controllers.getItem]\n );\n\n const listMoreItems = useCallback(\n () => context.controllers.listMoreItems.execute(),\n [context.controllers.listMoreItems]\n );\n\n const selectItems = useCallback(\n (items: SchedulerEntry[]) => context.controllers.selectItems.execute(items),\n [context.controllers.selectItems]\n );\n\n const selectAllItems = useCallback(\n () => context.controllers.selectAllItems.execute(),\n [context.controllers.selectAllItems]\n );\n\n const unselectAllItems = useCallback(\n () => context.controllers.unselectAllItems.execute(),\n [context.controllers.unselectAllItems]\n );\n\n const sortItems = useMemo(\n () => context.controllers.sortItems.execute,\n [context.controllers.sortItems]\n );\n\n const searchItems = useCallback(\n (value: string) => {\n return context.controllers.searchItems.execute(value);\n },\n [context.controllers.searchItems]\n );\n\n return {\n namespace: context.namespace,\n vm,\n cancelItem,\n publishItem,\n unpublishItem,\n getItem,\n listItems,\n listMoreItems,\n selectItems,\n selectAllItems,\n unselectAllItems,\n sortItems,\n searchItems\n };\n};\n\nexport const SchedulerProvider = Provider;\n"],"names":["Provider","useHook","createGenericContext","useScheduler","context","vm","setVm","useState","useEffect","autorun","newState","cancelItem","useCallback","id","publishItem","scheduleOn","unpublishItem","listItems","getItem","listMoreItems","selectItems","items","selectAllItems","unselectAllItems","sortItems","useMemo","searchItems","value","SchedulerProvider"],"mappings":";;;AAeA,MAAM,EAAEA,UAAAA,QAAQ,EAAEC,SAAAA,OAAO,EAAE,GAAGC,qBAAuC;AAE9D,MAAMC,eAAe;IACxB,MAAMC,UAAUH;IAChB,MAAM,CAACI,IAAIC,MAAM,GAAGC,SAASH,QAAQ,SAAS,CAAC,EAAE;IAEjDI,UAAU,IACCC,QAAQ;YACX,MAAMC,WAAWN,QAAQ,SAAS,CAAC,EAAE;YACrCE,MAAMI;QACV,IACD;QAACN,QAAQ,SAAS;KAAC;IAEtB,MAAMO,aAAaC,YACf,CAACC,KAAeT,QAAQ,WAAW,CAAC,kBAAkB,CAAC,OAAO,CAACS,KAC/D;QAACT,QAAQ,WAAW,CAAC,kBAAkB;KAAC;IAG5C,MAAMU,cAAcF,YAChB,CAACC,IAAYE,aACTX,QAAQ,WAAW,CAAC,mBAAmB,CAAC,OAAO,CAACS,IAAIE,aACxD;QAACX,QAAQ,WAAW,CAAC,mBAAmB;KAAC;IAG7C,MAAMY,gBAAgBJ,YAClB,CAACC,IAAYE,aACTX,QAAQ,WAAW,CAAC,qBAAqB,CAAC,OAAO,CAACS,IAAIE,aAC1D;QAACX,QAAQ,WAAW,CAAC,qBAAqB;KAAC;IAG/C,MAAMa,YAAYL,YACd,IAAMR,QAAQ,WAAW,CAAC,SAAS,CAAC,OAAO,IAC3C;QAACA,QAAQ,WAAW,CAAC,SAAS;KAAC;IAEnC,MAAMc,UAAUN,YACZ,CAACC,KACUT,QAAQ,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC;YACvCS;QACJ,IAEJ;QAACT,QAAQ,WAAW,CAAC,OAAO;KAAC;IAGjC,MAAMe,gBAAgBP,YAClB,IAAMR,QAAQ,WAAW,CAAC,aAAa,CAAC,OAAO,IAC/C;QAACA,QAAQ,WAAW,CAAC,aAAa;KAAC;IAGvC,MAAMgB,cAAcR,YAChB,CAACS,QAA4BjB,QAAQ,WAAW,CAAC,WAAW,CAAC,OAAO,CAACiB,QACrE;QAACjB,QAAQ,WAAW,CAAC,WAAW;KAAC;IAGrC,MAAMkB,iBAAiBV,YACnB,IAAMR,QAAQ,WAAW,CAAC,cAAc,CAAC,OAAO,IAChD;QAACA,QAAQ,WAAW,CAAC,cAAc;KAAC;IAGxC,MAAMmB,mBAAmBX,YACrB,IAAMR,QAAQ,WAAW,CAAC,gBAAgB,CAAC,OAAO,IAClD;QAACA,QAAQ,WAAW,CAAC,gBAAgB;KAAC;IAG1C,MAAMoB,YAAYC,QACd,IAAMrB,QAAQ,WAAW,CAAC,SAAS,CAAC,OAAO,EAC3C;QAACA,QAAQ,WAAW,CAAC,SAAS;KAAC;IAGnC,MAAMsB,cAAcd,YAChB,CAACe,QACUvB,QAAQ,WAAW,CAAC,WAAW,CAAC,OAAO,CAACuB,QAEnD;QAACvB,QAAQ,WAAW,CAAC,WAAW;KAAC;IAGrC,OAAO;QACH,WAAWA,QAAQ,SAAS;QAC5BC;QACAM;QACAG;QACAE;QACAE;QACAD;QACAE;QACAC;QACAE;QACAC;QACAC;QACAE;IACJ;AACJ;AAEO,MAAME,oBAAoB5B"}
|
package/Presentation/index.js
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import react, { useCallback, useMemo, useState } from "react";
|
|
2
|
-
import { SchedulerRenderer } from "./SchedulerRenderer/index.js";
|
|
3
|
-
import { CompositionScope } from "@webiny/react-composition";
|
|
4
|
-
import { SchedulerListWithConfig } from "./configs/index.js";
|
|
5
|
-
import { SchedulerGetGraphQLGateway } from "../Gateways/SchedulerGetGraphQLGateway.js";
|
|
6
|
-
import { SchedulerListGraphQLGateway } from "../Gateways/SchedulerListGraphQLGateway.js";
|
|
7
|
-
import { SchedulerCancelGraphQLGateway } from "../Gateways/SchedulerCancelGraphQLGateway.js";
|
|
8
|
-
import { SchedulerPublishGraphQLGateway } from "../Gateways/SchedulerPublishGraphQLGateway.js";
|
|
9
|
-
import { SchedulerUnpublishGraphQLGateway } from "../Gateways/SchedulerUnpublishGraphQLGateway.js";
|
|
10
|
-
export * from "./components/ScheduleDialog/index.js";
|
|
11
|
-
export * from "./SchedulerConfigs/index.js";
|
|
12
|
-
export * from "./components/Cells/CellScheduledOn/index.js";
|
|
13
|
-
const Scheduler = ({ render, client, show: initialShow, ...rest })=>{
|
|
14
|
-
const [show, setShow] = useState(initialShow ?? false);
|
|
15
|
-
const showScheduler = useCallback(()=>{
|
|
16
|
-
setShow(true);
|
|
17
|
-
}, []);
|
|
18
|
-
const onClose = useCallback(()=>{
|
|
19
|
-
if ("function" == typeof rest.onClose) rest.onClose();
|
|
20
|
-
setShow(false);
|
|
21
|
-
}, [
|
|
22
|
-
rest.onClose
|
|
23
|
-
]);
|
|
24
|
-
const gateways = useMemo(()=>({
|
|
25
|
-
getGateway: new SchedulerGetGraphQLGateway(client),
|
|
26
|
-
listGateway: new SchedulerListGraphQLGateway(client),
|
|
27
|
-
cancelGateway: new SchedulerCancelGraphQLGateway(client),
|
|
28
|
-
publishGateway: new SchedulerPublishGraphQLGateway(client),
|
|
29
|
-
unpublishGateway: new SchedulerUnpublishGraphQLGateway(client)
|
|
30
|
-
}), [
|
|
31
|
-
client
|
|
32
|
-
]);
|
|
33
|
-
return /*#__PURE__*/ react.createElement(react.Fragment, null, show ? /*#__PURE__*/ react.createElement(CompositionScope, {
|
|
34
|
-
name: "scheduler"
|
|
35
|
-
}, /*#__PURE__*/ react.createElement(SchedulerListWithConfig, null, /*#__PURE__*/ react.createElement(SchedulerRenderer, {
|
|
36
|
-
...rest,
|
|
37
|
-
cancelGateway: gateways.cancelGateway,
|
|
38
|
-
publishGateway: gateways.publishGateway,
|
|
39
|
-
unpublishGateway: gateways.unpublishGateway,
|
|
40
|
-
listGateway: gateways.listGateway,
|
|
41
|
-
getGateway: gateways.getGateway,
|
|
42
|
-
onClose: onClose
|
|
43
|
-
}))) : null, render ? render({
|
|
44
|
-
showScheduler
|
|
45
|
-
}) : null);
|
|
46
|
-
};
|
|
47
|
-
export { Scheduler };
|
|
48
|
-
|
|
49
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Presentation/index.js","sources":["../../src/Presentation/index.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useState } from \"react\";\nimport { SchedulerRenderer } from \"~/Presentation/SchedulerRenderer/index.js\";\nimport { CompositionScope } from \"@webiny/react-composition\";\nimport { SchedulerListWithConfig } from \"~/Presentation/configs/index.js\";\nimport type ApolloClient from \"apollo-client\";\nimport { SchedulerGetGraphQLGateway } from \"~/Gateways/SchedulerGetGraphQLGateway.js\";\nimport { SchedulerListGraphQLGateway } from \"~/Gateways/SchedulerListGraphQLGateway.js\";\nimport { SchedulerCancelGraphQLGateway } from \"~/Gateways/SchedulerCancelGraphQLGateway.js\";\nimport { SchedulerPublishGraphQLGateway } from \"~/Gateways/SchedulerPublishGraphQLGateway.js\";\nimport { SchedulerUnpublishGraphQLGateway } from \"~/Gateways/SchedulerUnpublishGraphQLGateway.js\";\n\nexport * from \"./components/ScheduleDialog/index.js\";\nexport * from \"~/Presentation/SchedulerConfigs/index.js\";\n\n/**\n * Decoratable Cells.\n */\nexport * from \"./components/Cells/CellScheduledOn/index.js\";\n\nexport interface SchedulerRenderPropParams {\n showScheduler: () => void;\n}\n\ninterface SchedulerRenderProps {\n (params: SchedulerRenderPropParams): React.ReactNode;\n}\n\nexport interface SchedulerProps {\n namespace: string;\n render: SchedulerRenderProps;\n client: ApolloClient<object>;\n onClose?: () => void;\n show?: boolean;\n title?: string;\n canPublish: boolean;\n canUnpublish: boolean;\n}\n\nexport const Scheduler = ({ render, client, show: initialShow, ...rest }: SchedulerProps) => {\n const [show, setShow] = useState(initialShow ?? false);\n\n const showScheduler = useCallback(() => {\n setShow(true);\n }, []);\n\n const onClose = useCallback(() => {\n if (typeof rest.onClose === \"function\") {\n rest.onClose();\n }\n\n setShow(false);\n }, [rest.onClose]);\n\n const gateways = useMemo(() => {\n return {\n getGateway: new SchedulerGetGraphQLGateway(client),\n listGateway: new SchedulerListGraphQLGateway(client),\n cancelGateway: new SchedulerCancelGraphQLGateway(client),\n publishGateway: new SchedulerPublishGraphQLGateway(client),\n unpublishGateway: new SchedulerUnpublishGraphQLGateway(client)\n };\n }, [client]);\n\n return (\n <>\n {show ? (\n <CompositionScope name={\"scheduler\"}>\n <SchedulerListWithConfig>\n <SchedulerRenderer\n {...rest}\n cancelGateway={gateways.cancelGateway}\n publishGateway={gateways.publishGateway}\n unpublishGateway={gateways.unpublishGateway}\n listGateway={gateways.listGateway}\n getGateway={gateways.getGateway}\n onClose={onClose}\n />\n </SchedulerListWithConfig>\n </CompositionScope>\n ) : null}\n {render ? render({ showScheduler }) : null}\n </>\n );\n};\n"],"names":["Scheduler","render","client","initialShow","rest","show","setShow","useState","showScheduler","useCallback","onClose","gateways","useMemo","SchedulerGetGraphQLGateway","SchedulerListGraphQLGateway","SchedulerCancelGraphQLGateway","SchedulerPublishGraphQLGateway","SchedulerUnpublishGraphQLGateway","CompositionScope","SchedulerListWithConfig","SchedulerRenderer"],"mappings":";;;;;;;;;;;;AAsCO,MAAMA,YAAY,CAAC,EAAEC,MAAM,EAAEC,MAAM,EAAE,MAAMC,WAAW,EAAE,GAAGC,MAAsB;IACpF,MAAM,CAACC,MAAMC,QAAQ,GAAGC,SAASJ,eAAe;IAEhD,MAAMK,gBAAgBC,YAAY;QAC9BH,QAAQ;IACZ,GAAG,EAAE;IAEL,MAAMI,UAAUD,YAAY;QACxB,IAAI,AAAwB,cAAxB,OAAOL,KAAK,OAAO,EACnBA,KAAK,OAAO;QAGhBE,QAAQ;IACZ,GAAG;QAACF,KAAK,OAAO;KAAC;IAEjB,MAAMO,WAAWC,QAAQ,IACd;YACH,YAAY,IAAIC,2BAA2BX;YAC3C,aAAa,IAAIY,4BAA4BZ;YAC7C,eAAe,IAAIa,8BAA8Bb;YACjD,gBAAgB,IAAIc,+BAA+Bd;YACnD,kBAAkB,IAAIe,iCAAiCf;QAC3D,IACD;QAACA;KAAO;IAEX,OAAO,WAAP,GACI,0CACKG,OAAO,WAAPA,GACG,oBAACa,kBAAgBA;QAAC,MAAM;qBACpB,oBAACC,yBAAuBA,MAAAA,WAAAA,GACpB,oBAACC,mBAAiBA;QACb,GAAGhB,IAAI;QACR,eAAeO,SAAS,aAAa;QACrC,gBAAgBA,SAAS,cAAc;QACvC,kBAAkBA,SAAS,gBAAgB;QAC3C,aAAaA,SAAS,WAAW;QACjC,YAAYA,SAAS,UAAU;QAC/B,SAASD;WAIrB,MACHT,SAASA,OAAO;QAAEO;IAAc,KAAK;AAGlD"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { ISchedulerItemsRepository } from "../../Domain/Repositories/index.js";
|
|
2
|
-
import type { ICancelItemUseCase } from "./ICancelItemUseCase.js";
|
|
3
|
-
export declare class ScheduleCancelItemUseCase implements ICancelItemUseCase {
|
|
4
|
-
private repository;
|
|
5
|
-
constructor(repository: ISchedulerItemsRepository);
|
|
6
|
-
execute(id: string): Promise<void>;
|
|
7
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { makeAutoObservable } from "mobx";
|
|
2
|
-
class ScheduleCancelItemUseCase {
|
|
3
|
-
constructor(repository){
|
|
4
|
-
this.repository = repository;
|
|
5
|
-
makeAutoObservable(this);
|
|
6
|
-
}
|
|
7
|
-
async execute(id) {
|
|
8
|
-
await this.repository.scheduleCancelItem(id);
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
export { ScheduleCancelItemUseCase };
|
|
12
|
-
|
|
13
|
-
//# sourceMappingURL=CancelItemUseCase.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UseCases/CancelItem/CancelItemUseCase.js","sources":["../../../src/UseCases/CancelItem/CancelItemUseCase.ts"],"sourcesContent":["import { makeAutoObservable } from \"mobx\";\nimport type { ISchedulerItemsRepository } from \"~/Domain/Repositories/index.js\";\nimport type { ICancelItemUseCase } from \"./ICancelItemUseCase.js\";\n\nexport class ScheduleCancelItemUseCase implements ICancelItemUseCase {\n private repository: ISchedulerItemsRepository;\n\n constructor(repository: ISchedulerItemsRepository) {\n this.repository = repository;\n makeAutoObservable(this);\n }\n\n async execute(id: string) {\n await this.repository.scheduleCancelItem(id);\n }\n}\n"],"names":["ScheduleCancelItemUseCase","repository","makeAutoObservable","id"],"mappings":";AAIO,MAAMA;IAGT,YAAYC,UAAqC,CAAE;QAC/C,IAAI,CAAC,UAAU,GAAGA;QAClBC,mBAAmB,IAAI;IAC3B;IAEA,MAAM,QAAQC,EAAU,EAAE;QACtB,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAACA;IAC7C;AACJ"}
|
|
File without changes
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./CancelItemUseCase.js";
|