@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.
Files changed (564) hide show
  1. package/README.md +6 -17
  2. package/components/Browser/BrowserConfig.d.ts +2 -0
  3. package/components/Browser/BrowserConfig.js +23 -0
  4. package/components/Browser/BrowserConfig.js.map +1 -0
  5. package/components/Browser/CellLive.d.ts +11 -0
  6. package/components/Browser/CellLive.js +37 -0
  7. package/components/Browser/CellLive.js.map +1 -0
  8. package/components/Browser/LiveTag.d.ts +7 -0
  9. package/components/Browser/LiveTag.js +19 -0
  10. package/components/Browser/LiveTag.js.map +1 -0
  11. package/components/Browser/MenuItem.d.ts +4 -0
  12. package/components/Browser/MenuItem.js +45 -0
  13. package/components/Browser/MenuItem.js.map +1 -0
  14. package/components/Browser/ScheduledTag.d.ts +5 -0
  15. package/components/Browser/ScheduledTag.js +24 -0
  16. package/components/Browser/ScheduledTag.js.map +1 -0
  17. package/components/Browser/SchedulerButton.d.ts +5 -0
  18. package/components/Browser/SchedulerButton.js +16 -0
  19. package/components/Browser/SchedulerButton.js.map +1 -0
  20. package/components/Browser/SchedulerMenuItem.d.ts +2 -0
  21. package/components/Browser/SchedulerMenuItem.js +26 -0
  22. package/components/Browser/SchedulerMenuItem.js.map +1 -0
  23. package/components/Browser/isScheduleRedundant.d.ts +12 -0
  24. package/components/Browser/isScheduleRedundant.js +8 -0
  25. package/components/Browser/isScheduleRedundant.js.map +1 -0
  26. package/components/Dialogs/PublishScheduleNotice.d.ts +6 -0
  27. package/components/Dialogs/PublishScheduleNotice.js +17 -0
  28. package/components/Dialogs/PublishScheduleNotice.js.map +1 -0
  29. package/components/Dialogs/ScheduleNoticeAlert.d.ts +14 -0
  30. package/components/Dialogs/ScheduleNoticeAlert.js +22 -0
  31. package/components/Dialogs/ScheduleNoticeAlert.js.map +1 -0
  32. package/components/Dialogs/UnpublishScheduleNotice.d.ts +6 -0
  33. package/components/Dialogs/UnpublishScheduleNotice.js +17 -0
  34. package/components/Dialogs/UnpublishScheduleNotice.js.map +1 -0
  35. package/components/Editor/EditorConfig.d.ts +2 -0
  36. package/components/Editor/EditorConfig.js +12 -0
  37. package/components/Editor/EditorConfig.js.map +1 -0
  38. package/components/Editor/MenuItem.d.ts +4 -0
  39. package/components/Editor/MenuItem.js +60 -0
  40. package/components/Editor/MenuItem.js.map +1 -0
  41. package/components/Editor/ScheduledActionAlert.d.ts +6 -0
  42. package/components/Editor/ScheduledActionAlert.js +43 -0
  43. package/components/Editor/ScheduledActionAlert.js.map +1 -0
  44. package/components/index.d.ts +5 -0
  45. package/components/index.js +5 -0
  46. package/hooks/usePermissions.d.ts +4 -0
  47. package/hooks/usePermissions.js +18 -0
  48. package/hooks/usePermissions.js.map +1 -0
  49. package/hooks/useScheduledActionsPresenter.d.ts +6 -0
  50. package/hooks/useScheduledActionsPresenter.js +12 -0
  51. package/hooks/useScheduledActionsPresenter.js.map +1 -0
  52. package/index.d.ts +2 -2
  53. package/index.js +8 -2
  54. package/index.js.map +1 -1
  55. package/package.json +27 -36
  56. package/presentation/scheduledActions/ContentEntriesPresenterSchedulingDecorator.d.ts +31 -0
  57. package/presentation/scheduledActions/ContentEntriesPresenterSchedulingDecorator.js +70 -0
  58. package/presentation/scheduledActions/ContentEntriesPresenterSchedulingDecorator.js.map +1 -0
  59. package/presentation/scheduledActions/ScheduledActionsPresenter.d.ts +28 -0
  60. package/presentation/scheduledActions/ScheduledActionsPresenter.js +90 -0
  61. package/presentation/scheduledActions/ScheduledActionsPresenter.js.map +1 -0
  62. package/presentation/scheduledActions/abstractions.d.ts +16 -0
  63. package/presentation/scheduledActions/abstractions.js +5 -0
  64. package/presentation/scheduledActions/abstractions.js.map +1 -0
  65. package/presentation/scheduledActions/feature.d.ts +3 -0
  66. package/presentation/scheduledActions/feature.js +19 -0
  67. package/presentation/scheduledActions/feature.js.map +1 -0
  68. package/utils/index.d.ts +1 -0
  69. package/utils/index.js +1 -0
  70. package/utils/namespace.d.ts +7 -0
  71. package/utils/namespace.js +5 -0
  72. package/utils/namespace.js.map +1 -0
  73. package/Domain/Models/SchedulerItem/SchedulerItem.d.ts +0 -14
  74. package/Domain/Models/SchedulerItem/SchedulerItem.js +0 -17
  75. package/Domain/Models/SchedulerItem/SchedulerItem.js.map +0 -1
  76. package/Domain/Models/SchedulerItem/index.d.ts +0 -1
  77. package/Domain/Models/SchedulerItem/index.js +0 -3
  78. package/Domain/Models/SchedulerItem/index.js.map +0 -1
  79. package/Domain/Models/index.d.ts +0 -1
  80. package/Domain/Models/index.js +0 -3
  81. package/Domain/Models/index.js.map +0 -1
  82. package/Domain/Repositories/SchedulerItems/ISchedulerItemsRepository.d.ts +0 -14
  83. package/Domain/Repositories/SchedulerItems/ISchedulerItemsRepository.js +0 -3
  84. package/Domain/Repositories/SchedulerItems/ISchedulerItemsRepository.js.map +0 -1
  85. package/Domain/Repositories/SchedulerItems/SchedulerItemsRepository.d.ts +0 -37
  86. package/Domain/Repositories/SchedulerItems/SchedulerItemsRepository.js +0 -125
  87. package/Domain/Repositories/SchedulerItems/SchedulerItemsRepository.js.map +0 -1
  88. package/Domain/Repositories/SchedulerItems/SchedulerItemsRepositoryFactory.d.ts +0 -20
  89. package/Domain/Repositories/SchedulerItems/SchedulerItemsRepositoryFactory.js +0 -17
  90. package/Domain/Repositories/SchedulerItems/SchedulerItemsRepositoryFactory.js.map +0 -1
  91. package/Domain/Repositories/SchedulerItems/SchedulerItemsRepositoryWithLoading.d.ts +0 -17
  92. package/Domain/Repositories/SchedulerItems/SchedulerItemsRepositoryWithLoading.js +0 -38
  93. package/Domain/Repositories/SchedulerItems/SchedulerItemsRepositoryWithLoading.js.map +0 -1
  94. package/Domain/Repositories/SchedulerItems/index.d.ts +0 -4
  95. package/Domain/Repositories/SchedulerItems/index.js +0 -6
  96. package/Domain/Repositories/SchedulerItems/index.js.map +0 -1
  97. package/Domain/Repositories/Search/ISearchRepository.d.ts +0 -4
  98. package/Domain/Repositories/Search/ISearchRepository.js +0 -3
  99. package/Domain/Repositories/Search/ISearchRepository.js.map +0 -1
  100. package/Domain/Repositories/Search/SearchRepository.d.ts +0 -7
  101. package/Domain/Repositories/Search/SearchRepository.js +0 -15
  102. package/Domain/Repositories/Search/SearchRepository.js.map +0 -1
  103. package/Domain/Repositories/Search/SearchRepositoryFactory.d.ts +0 -7
  104. package/Domain/Repositories/Search/SearchRepositoryFactory.js +0 -17
  105. package/Domain/Repositories/Search/SearchRepositoryFactory.js.map +0 -1
  106. package/Domain/Repositories/Search/index.d.ts +0 -3
  107. package/Domain/Repositories/Search/index.js +0 -5
  108. package/Domain/Repositories/Search/index.js.map +0 -1
  109. package/Domain/Repositories/SelectedItems/ISelectedItemsRepository.d.ts +0 -8
  110. package/Domain/Repositories/SelectedItems/ISelectedItemsRepository.js +0 -3
  111. package/Domain/Repositories/SelectedItems/ISelectedItemsRepository.js.map +0 -1
  112. package/Domain/Repositories/SelectedItems/SelectedItemsRepository.d.ts +0 -12
  113. package/Domain/Repositories/SelectedItems/SelectedItemsRepository.js +0 -27
  114. package/Domain/Repositories/SelectedItems/SelectedItemsRepository.js.map +0 -1
  115. package/Domain/Repositories/SelectedItems/SelectedItemsRepositoryFactory.d.ts +0 -7
  116. package/Domain/Repositories/SelectedItems/SelectedItemsRepositoryFactory.js +0 -17
  117. package/Domain/Repositories/SelectedItems/SelectedItemsRepositoryFactory.js.map +0 -1
  118. package/Domain/Repositories/SelectedItems/index.d.ts +0 -3
  119. package/Domain/Repositories/SelectedItems/index.js +0 -5
  120. package/Domain/Repositories/SelectedItems/index.js.map +0 -1
  121. package/Domain/Repositories/Sorting/SortingRepositoryWithDefaults.d.ts +0 -8
  122. package/Domain/Repositories/Sorting/SortingRepositoryWithDefaults.js +0 -22
  123. package/Domain/Repositories/Sorting/SortingRepositoryWithDefaults.js.map +0 -1
  124. package/Domain/Repositories/Sorting/index.d.ts +0 -1
  125. package/Domain/Repositories/Sorting/index.js +0 -3
  126. package/Domain/Repositories/Sorting/index.js.map +0 -1
  127. package/Domain/Repositories/index.d.ts +0 -4
  128. package/Domain/Repositories/index.js +0 -6
  129. package/Domain/Repositories/index.js.map +0 -1
  130. package/Domain/index.d.ts +0 -2
  131. package/Domain/index.js +0 -4
  132. package/Domain/index.js.map +0 -1
  133. package/Gateways/SchedulerCancelGateway.d.ts +0 -7
  134. package/Gateways/SchedulerCancelGateway.js +0 -3
  135. package/Gateways/SchedulerCancelGateway.js.map +0 -1
  136. package/Gateways/SchedulerGetGateway.d.ts +0 -9
  137. package/Gateways/SchedulerGetGateway.js +0 -3
  138. package/Gateways/SchedulerGetGateway.js.map +0 -1
  139. package/Gateways/SchedulerListGateway.d.ts +0 -29
  140. package/Gateways/SchedulerListGateway.js +0 -3
  141. package/Gateways/SchedulerListGateway.js.map +0 -1
  142. package/Gateways/SchedulerPublishGateway.d.ts +0 -12
  143. package/Gateways/SchedulerPublishGateway.js +0 -3
  144. package/Gateways/SchedulerPublishGateway.js.map +0 -1
  145. package/Gateways/SchedulerUnpublishGateway.d.ts +0 -12
  146. package/Gateways/SchedulerUnpublishGateway.js +0 -3
  147. package/Gateways/SchedulerUnpublishGateway.js.map +0 -1
  148. package/Gateways/index.d.ts +0 -5
  149. package/Gateways/index.js +0 -7
  150. package/Gateways/index.js.map +0 -1
  151. package/Presentation/Scheduler/Scheduler.d.ts +0 -18
  152. package/Presentation/Scheduler/Scheduler.js +0 -66
  153. package/Presentation/Scheduler/Scheduler.js.map +0 -1
  154. package/Presentation/Scheduler/SchedulerControllers.d.ts +0 -30
  155. package/Presentation/Scheduler/SchedulerControllers.js +0 -72
  156. package/Presentation/Scheduler/SchedulerControllers.js.map +0 -1
  157. package/Presentation/Scheduler/SchedulerPresenter.d.ts +0 -32
  158. package/Presentation/Scheduler/SchedulerPresenter.js +0 -44
  159. package/Presentation/Scheduler/SchedulerPresenter.js.map +0 -1
  160. package/Presentation/Scheduler/controllers/CancelItem/CancelItemController.d.ts +0 -7
  161. package/Presentation/Scheduler/controllers/CancelItem/CancelItemController.js +0 -11
  162. package/Presentation/Scheduler/controllers/CancelItem/CancelItemController.js.map +0 -1
  163. package/Presentation/Scheduler/controllers/CancelItem/ICancelItemController.d.ts +0 -3
  164. package/Presentation/Scheduler/controllers/CancelItem/ICancelItemController.js +0 -3
  165. package/Presentation/Scheduler/controllers/CancelItem/ICancelItemController.js.map +0 -1
  166. package/Presentation/Scheduler/controllers/CancelItem/index.d.ts +0 -2
  167. package/Presentation/Scheduler/controllers/CancelItem/index.js +0 -4
  168. package/Presentation/Scheduler/controllers/CancelItem/index.js.map +0 -1
  169. package/Presentation/Scheduler/controllers/GetItem/GetItemController.d.ts +0 -8
  170. package/Presentation/Scheduler/controllers/GetItem/GetItemController.js +0 -11
  171. package/Presentation/Scheduler/controllers/GetItem/GetItemController.js.map +0 -1
  172. package/Presentation/Scheduler/controllers/GetItem/IGetItemController.d.ts +0 -4
  173. package/Presentation/Scheduler/controllers/GetItem/IGetItemController.js +0 -3
  174. package/Presentation/Scheduler/controllers/GetItem/IGetItemController.js.map +0 -1
  175. package/Presentation/Scheduler/controllers/GetItem/index.d.ts +0 -2
  176. package/Presentation/Scheduler/controllers/GetItem/index.js +0 -4
  177. package/Presentation/Scheduler/controllers/GetItem/index.js.map +0 -1
  178. package/Presentation/Scheduler/controllers/ListItems/IListItemsController.d.ts +0 -4
  179. package/Presentation/Scheduler/controllers/ListItems/IListItemsController.js +0 -3
  180. package/Presentation/Scheduler/controllers/ListItems/IListItemsController.js.map +0 -1
  181. package/Presentation/Scheduler/controllers/ListItems/ListItemsController.d.ts +0 -8
  182. package/Presentation/Scheduler/controllers/ListItems/ListItemsController.js +0 -11
  183. package/Presentation/Scheduler/controllers/ListItems/ListItemsController.js.map +0 -1
  184. package/Presentation/Scheduler/controllers/ListItems/index.d.ts +0 -2
  185. package/Presentation/Scheduler/controllers/ListItems/index.js +0 -4
  186. package/Presentation/Scheduler/controllers/ListItems/index.js.map +0 -1
  187. package/Presentation/Scheduler/controllers/ListMoreItems/IListMoreItemsController.d.ts +0 -3
  188. package/Presentation/Scheduler/controllers/ListMoreItems/IListMoreItemsController.js +0 -3
  189. package/Presentation/Scheduler/controllers/ListMoreItems/IListMoreItemsController.js.map +0 -1
  190. package/Presentation/Scheduler/controllers/ListMoreItems/ListMoreItemsController.d.ts +0 -7
  191. package/Presentation/Scheduler/controllers/ListMoreItems/ListMoreItemsController.js +0 -11
  192. package/Presentation/Scheduler/controllers/ListMoreItems/ListMoreItemsController.js.map +0 -1
  193. package/Presentation/Scheduler/controllers/ListMoreItems/index.d.ts +0 -2
  194. package/Presentation/Scheduler/controllers/ListMoreItems/index.js +0 -4
  195. package/Presentation/Scheduler/controllers/ListMoreItems/index.js.map +0 -1
  196. package/Presentation/Scheduler/controllers/PublishItem/IPublishItemController.d.ts +0 -3
  197. package/Presentation/Scheduler/controllers/PublishItem/IPublishItemController.js +0 -3
  198. package/Presentation/Scheduler/controllers/PublishItem/IPublishItemController.js.map +0 -1
  199. package/Presentation/Scheduler/controllers/PublishItem/PublishItemController.d.ts +0 -7
  200. package/Presentation/Scheduler/controllers/PublishItem/PublishItemController.js +0 -11
  201. package/Presentation/Scheduler/controllers/PublishItem/PublishItemController.js.map +0 -1
  202. package/Presentation/Scheduler/controllers/PublishItem/index.d.ts +0 -2
  203. package/Presentation/Scheduler/controllers/PublishItem/index.js +0 -4
  204. package/Presentation/Scheduler/controllers/PublishItem/index.js.map +0 -1
  205. package/Presentation/Scheduler/controllers/SearchItems/ISearchItemsController.d.ts +0 -3
  206. package/Presentation/Scheduler/controllers/SearchItems/ISearchItemsController.js +0 -3
  207. package/Presentation/Scheduler/controllers/SearchItems/ISearchItemsController.js.map +0 -1
  208. package/Presentation/Scheduler/controllers/SearchItems/SearchItemsController.d.ts +0 -8
  209. package/Presentation/Scheduler/controllers/SearchItems/SearchItemsController.js +0 -14
  210. package/Presentation/Scheduler/controllers/SearchItems/SearchItemsController.js.map +0 -1
  211. package/Presentation/Scheduler/controllers/SearchItems/index.d.ts +0 -2
  212. package/Presentation/Scheduler/controllers/SearchItems/index.js +0 -4
  213. package/Presentation/Scheduler/controllers/SearchItems/index.js.map +0 -1
  214. package/Presentation/Scheduler/controllers/SelectAllItems/ISelectAllItemsController.d.ts +0 -3
  215. package/Presentation/Scheduler/controllers/SelectAllItems/ISelectAllItemsController.js +0 -3
  216. package/Presentation/Scheduler/controllers/SelectAllItems/ISelectAllItemsController.js.map +0 -1
  217. package/Presentation/Scheduler/controllers/SelectAllItems/SelectAllItemsController.d.ts +0 -7
  218. package/Presentation/Scheduler/controllers/SelectAllItems/SelectAllItemsController.js +0 -11
  219. package/Presentation/Scheduler/controllers/SelectAllItems/SelectAllItemsController.js.map +0 -1
  220. package/Presentation/Scheduler/controllers/SelectAllItems/index.d.ts +0 -2
  221. package/Presentation/Scheduler/controllers/SelectAllItems/index.js +0 -4
  222. package/Presentation/Scheduler/controllers/SelectAllItems/index.js.map +0 -1
  223. package/Presentation/Scheduler/controllers/SelectItems/ISelectItemsController.d.ts +0 -4
  224. package/Presentation/Scheduler/controllers/SelectItems/ISelectItemsController.js +0 -3
  225. package/Presentation/Scheduler/controllers/SelectItems/ISelectItemsController.js.map +0 -1
  226. package/Presentation/Scheduler/controllers/SelectItems/SelectItemsController.d.ts +0 -8
  227. package/Presentation/Scheduler/controllers/SelectItems/SelectItemsController.js +0 -13
  228. package/Presentation/Scheduler/controllers/SelectItems/SelectItemsController.js.map +0 -1
  229. package/Presentation/Scheduler/controllers/SelectItems/index.d.ts +0 -2
  230. package/Presentation/Scheduler/controllers/SelectItems/index.js +0 -4
  231. package/Presentation/Scheduler/controllers/SelectItems/index.js.map +0 -1
  232. package/Presentation/Scheduler/controllers/SortItems/ISortItemsController.d.ts +0 -4
  233. package/Presentation/Scheduler/controllers/SortItems/ISortItemsController.js +0 -3
  234. package/Presentation/Scheduler/controllers/SortItems/ISortItemsController.js.map +0 -1
  235. package/Presentation/Scheduler/controllers/SortItems/SortItemsController.d.ts +0 -9
  236. package/Presentation/Scheduler/controllers/SortItems/SortItemsController.js +0 -19
  237. package/Presentation/Scheduler/controllers/SortItems/SortItemsController.js.map +0 -1
  238. package/Presentation/Scheduler/controllers/SortItems/index.d.ts +0 -2
  239. package/Presentation/Scheduler/controllers/SortItems/index.js +0 -4
  240. package/Presentation/Scheduler/controllers/SortItems/index.js.map +0 -1
  241. package/Presentation/Scheduler/controllers/UnpublishItem/IUnpublishItemController.d.ts +0 -3
  242. package/Presentation/Scheduler/controllers/UnpublishItem/IUnpublishItemController.js +0 -3
  243. package/Presentation/Scheduler/controllers/UnpublishItem/IUnpublishItemController.js.map +0 -1
  244. package/Presentation/Scheduler/controllers/UnpublishItem/UnpublishItemController.d.ts +0 -7
  245. package/Presentation/Scheduler/controllers/UnpublishItem/UnpublishItemController.js +0 -11
  246. package/Presentation/Scheduler/controllers/UnpublishItem/UnpublishItemController.js.map +0 -1
  247. package/Presentation/Scheduler/controllers/UnpublishItem/index.d.ts +0 -2
  248. package/Presentation/Scheduler/controllers/UnpublishItem/index.js +0 -4
  249. package/Presentation/Scheduler/controllers/UnpublishItem/index.js.map +0 -1
  250. package/Presentation/Scheduler/controllers/UnselectAllItems/IUnselectAllItemsController.d.ts +0 -3
  251. package/Presentation/Scheduler/controllers/UnselectAllItems/IUnselectAllItemsController.js +0 -3
  252. package/Presentation/Scheduler/controllers/UnselectAllItems/IUnselectAllItemsController.js.map +0 -1
  253. package/Presentation/Scheduler/controllers/UnselectAllItems/UnselectAllItemsController.d.ts +0 -7
  254. package/Presentation/Scheduler/controllers/UnselectAllItems/UnselectAllItemsController.js +0 -11
  255. package/Presentation/Scheduler/controllers/UnselectAllItems/UnselectAllItemsController.js.map +0 -1
  256. package/Presentation/Scheduler/controllers/UnselectAllItems/index.d.ts +0 -2
  257. package/Presentation/Scheduler/controllers/UnselectAllItems/index.js +0 -4
  258. package/Presentation/Scheduler/controllers/UnselectAllItems/index.js.map +0 -1
  259. package/Presentation/Scheduler/controllers/index.d.ts +0 -11
  260. package/Presentation/Scheduler/controllers/index.js +0 -13
  261. package/Presentation/Scheduler/controllers/index.js.map +0 -1
  262. package/Presentation/Scheduler/index.d.ts +0 -1
  263. package/Presentation/Scheduler/index.js +0 -3
  264. package/Presentation/Scheduler/index.js.map +0 -1
  265. package/Presentation/SchedulerConfigs/SchedulerConfigs.d.ts +0 -2
  266. package/Presentation/SchedulerConfigs/SchedulerConfigs.js +0 -55
  267. package/Presentation/SchedulerConfigs/SchedulerConfigs.js.map +0 -1
  268. package/Presentation/SchedulerConfigs/index.d.ts +0 -1
  269. package/Presentation/SchedulerConfigs/index.js +0 -3
  270. package/Presentation/SchedulerConfigs/index.js.map +0 -1
  271. package/Presentation/SchedulerRenderer/SchedulerRenderer.d.ts +0 -6
  272. package/Presentation/SchedulerRenderer/SchedulerRenderer.js +0 -21
  273. package/Presentation/SchedulerRenderer/SchedulerRenderer.js.map +0 -1
  274. package/Presentation/SchedulerRenderer/index.d.ts +0 -1
  275. package/Presentation/SchedulerRenderer/index.js +0 -3
  276. package/Presentation/SchedulerRenderer/index.js.map +0 -1
  277. package/Presentation/abstractions/ISchedulerControllers.d.ts +0 -14
  278. package/Presentation/abstractions/ISchedulerControllers.js +0 -3
  279. package/Presentation/abstractions/ISchedulerControllers.js.map +0 -1
  280. package/Presentation/abstractions/ISchedulerPresenter.d.ts +0 -20
  281. package/Presentation/abstractions/ISchedulerPresenter.js +0 -3
  282. package/Presentation/abstractions/ISchedulerPresenter.js.map +0 -1
  283. package/Presentation/abstractions/index.d.ts +0 -2
  284. package/Presentation/abstractions/index.js +0 -4
  285. package/Presentation/abstractions/index.js.map +0 -1
  286. package/Presentation/components/Actions/CancelItem/CancelItem.d.ts +0 -2
  287. package/Presentation/components/Actions/CancelItem/CancelItem.js +0 -24
  288. package/Presentation/components/Actions/CancelItem/CancelItem.js.map +0 -1
  289. package/Presentation/components/Actions/CancelItem/index.d.ts +0 -1
  290. package/Presentation/components/Actions/CancelItem/index.js +0 -3
  291. package/Presentation/components/Actions/CancelItem/index.js.map +0 -1
  292. package/Presentation/components/Actions/index.d.ts +0 -1
  293. package/Presentation/components/Actions/index.js +0 -3
  294. package/Presentation/components/Actions/index.js.map +0 -1
  295. package/Presentation/components/BottomInfoBar/BottomInfoBar.d.ts +0 -2
  296. package/Presentation/components/BottomInfoBar/BottomInfoBar.js +0 -20
  297. package/Presentation/components/BottomInfoBar/BottomInfoBar.js.map +0 -1
  298. package/Presentation/components/BottomInfoBar/BottomInfoBar.styled.d.ts +0 -21
  299. package/Presentation/components/BottomInfoBar/BottomInfoBar.styled.js +0 -74
  300. package/Presentation/components/BottomInfoBar/BottomInfoBar.styled.js.map +0 -1
  301. package/Presentation/components/BottomInfoBar/ListMeta.d.ts +0 -7
  302. package/Presentation/components/BottomInfoBar/ListMeta.js +0 -12
  303. package/Presentation/components/BottomInfoBar/ListMeta.js.map +0 -1
  304. package/Presentation/components/BottomInfoBar/ListStatus.d.ts +0 -5
  305. package/Presentation/components/BottomInfoBar/ListStatus.js +0 -16
  306. package/Presentation/components/BottomInfoBar/ListStatus.js.map +0 -1
  307. package/Presentation/components/BottomInfoBar/index.d.ts +0 -1
  308. package/Presentation/components/BottomInfoBar/index.js +0 -3
  309. package/Presentation/components/BottomInfoBar/index.js.map +0 -1
  310. package/Presentation/components/Cells/CellActions/CellActions.d.ts +0 -2
  311. package/Presentation/components/Cells/CellActions/CellActions.js +0 -24
  312. package/Presentation/components/Cells/CellActions/CellActions.js.map +0 -1
  313. package/Presentation/components/Cells/CellActions/index.d.ts +0 -1
  314. package/Presentation/components/Cells/CellActions/index.js +0 -3
  315. package/Presentation/components/Cells/CellActions/index.js.map +0 -1
  316. package/Presentation/components/Cells/CellRevision/CellRevision.d.ts +0 -2
  317. package/Presentation/components/Cells/CellRevision/CellRevision.js +0 -20
  318. package/Presentation/components/Cells/CellRevision/CellRevision.js.map +0 -1
  319. package/Presentation/components/Cells/CellRevision/CellRevision.styled.d.ts +0 -12
  320. package/Presentation/components/Cells/CellRevision/CellRevision.styled.js +0 -47
  321. package/Presentation/components/Cells/CellRevision/CellRevision.styled.js.map +0 -1
  322. package/Presentation/components/Cells/CellRevision/index.d.ts +0 -1
  323. package/Presentation/components/Cells/CellRevision/index.js +0 -3
  324. package/Presentation/components/Cells/CellRevision/index.js.map +0 -1
  325. package/Presentation/components/Cells/CellScheduledBy/CellScheduledBy.d.ts +0 -2
  326. package/Presentation/components/Cells/CellScheduledBy/CellScheduledBy.js +0 -13
  327. package/Presentation/components/Cells/CellScheduledBy/CellScheduledBy.js.map +0 -1
  328. package/Presentation/components/Cells/CellScheduledBy/index.d.ts +0 -1
  329. package/Presentation/components/Cells/CellScheduledBy/index.js +0 -3
  330. package/Presentation/components/Cells/CellScheduledBy/index.js.map +0 -1
  331. package/Presentation/components/Cells/CellScheduledOn/CellScheduledOn.d.ts +0 -2
  332. package/Presentation/components/Cells/CellScheduledOn/CellScheduledOn.js +0 -20
  333. package/Presentation/components/Cells/CellScheduledOn/CellScheduledOn.js.map +0 -1
  334. package/Presentation/components/Cells/CellScheduledOn/index.d.ts +0 -1
  335. package/Presentation/components/Cells/CellScheduledOn/index.js +0 -3
  336. package/Presentation/components/Cells/CellScheduledOn/index.js.map +0 -1
  337. package/Presentation/components/Cells/CellTitle/CellTitle.d.ts +0 -2
  338. package/Presentation/components/Cells/CellTitle/CellTitle.js +0 -17
  339. package/Presentation/components/Cells/CellTitle/CellTitle.js.map +0 -1
  340. package/Presentation/components/Cells/CellTitle/CellTitle.styled.d.ts +0 -12
  341. package/Presentation/components/Cells/CellTitle/CellTitle.styled.js +0 -47
  342. package/Presentation/components/Cells/CellTitle/CellTitle.styled.js.map +0 -1
  343. package/Presentation/components/Cells/CellTitle/index.d.ts +0 -1
  344. package/Presentation/components/Cells/CellTitle/index.js +0 -3
  345. package/Presentation/components/Cells/CellTitle/index.js.map +0 -1
  346. package/Presentation/components/Cells/CellType/CellType.d.ts +0 -2
  347. package/Presentation/components/Cells/CellType/CellType.js +0 -17
  348. package/Presentation/components/Cells/CellType/CellType.js.map +0 -1
  349. package/Presentation/components/Cells/CellType/CellType.styled.d.ts +0 -12
  350. package/Presentation/components/Cells/CellType/CellType.styled.js +0 -47
  351. package/Presentation/components/Cells/CellType/CellType.styled.js.map +0 -1
  352. package/Presentation/components/Cells/CellType/index.d.ts +0 -1
  353. package/Presentation/components/Cells/CellType/index.js +0 -3
  354. package/Presentation/components/Cells/CellType/index.js.map +0 -1
  355. package/Presentation/components/Cells/index.d.ts +0 -6
  356. package/Presentation/components/Cells/index.js +0 -8
  357. package/Presentation/components/Cells/index.js.map +0 -1
  358. package/Presentation/components/Empty/Empty.d.ts +0 -2
  359. package/Presentation/components/Empty/Empty.js +0 -22
  360. package/Presentation/components/Empty/Empty.js.map +0 -1
  361. package/Presentation/components/Empty/Empty.styled.d.ts +0 -9
  362. package/Presentation/components/Empty/Empty.styled.js +0 -32
  363. package/Presentation/components/Empty/Empty.styled.js.map +0 -1
  364. package/Presentation/components/Empty/index.d.ts +0 -1
  365. package/Presentation/components/Empty/index.js +0 -3
  366. package/Presentation/components/Empty/index.js.map +0 -1
  367. package/Presentation/components/ScheduleDialog/ScheduleDialogAction.d.ts +0 -15
  368. package/Presentation/components/ScheduleDialog/ScheduleDialogAction.js +0 -51
  369. package/Presentation/components/ScheduleDialog/ScheduleDialogAction.js.map +0 -1
  370. package/Presentation/components/ScheduleDialog/index.d.ts +0 -2
  371. package/Presentation/components/ScheduleDialog/index.js +0 -4
  372. package/Presentation/components/ScheduleDialog/index.js.map +0 -1
  373. package/Presentation/components/ScheduleDialog/types.d.ts +0 -15
  374. package/Presentation/components/ScheduleDialog/types.js +0 -3
  375. package/Presentation/components/ScheduleDialog/types.js.map +0 -1
  376. package/Presentation/components/ScheduleDialog/useScheduleDialog.d.ts +0 -19
  377. package/Presentation/components/ScheduleDialog/useScheduleDialog.js +0 -174
  378. package/Presentation/components/ScheduleDialog/useScheduleDialog.js.map +0 -1
  379. package/Presentation/components/SchedulerOverlay/SchedulerOverlay.d.ts +0 -7
  380. package/Presentation/components/SchedulerOverlay/SchedulerOverlay.js +0 -36
  381. package/Presentation/components/SchedulerOverlay/SchedulerOverlay.js.map +0 -1
  382. package/Presentation/components/SchedulerOverlay/index.d.ts +0 -1
  383. package/Presentation/components/SchedulerOverlay/index.js +0 -3
  384. package/Presentation/components/SchedulerOverlay/index.js.map +0 -1
  385. package/Presentation/components/SearchInput/SearchInput.d.ts +0 -2
  386. package/Presentation/components/SearchInput/SearchInput.js +0 -37
  387. package/Presentation/components/SearchInput/SearchInput.js.map +0 -1
  388. package/Presentation/components/SearchInput/index.d.ts +0 -1
  389. package/Presentation/components/SearchInput/index.js +0 -3
  390. package/Presentation/components/SearchInput/index.js.map +0 -1
  391. package/Presentation/components/Table/Table.d.ts +0 -2
  392. package/Presentation/components/Table/Table.js +0 -29
  393. package/Presentation/components/Table/Table.js.map +0 -1
  394. package/Presentation/components/Table/index.d.ts +0 -1
  395. package/Presentation/components/Table/index.js +0 -3
  396. package/Presentation/components/Table/index.js.map +0 -1
  397. package/Presentation/components/Title/Title.d.ts +0 -5
  398. package/Presentation/components/Title/Title.js +0 -15
  399. package/Presentation/components/Title/Title.js.map +0 -1
  400. package/Presentation/components/Title/Title.styled.d.ts +0 -4
  401. package/Presentation/components/Title/Title.styled.js +0 -19
  402. package/Presentation/components/Title/Title.styled.js.map +0 -1
  403. package/Presentation/components/Title/index.d.ts +0 -1
  404. package/Presentation/components/Title/index.js +0 -3
  405. package/Presentation/components/Title/index.js.map +0 -1
  406. package/Presentation/configs/index.d.ts +0 -1
  407. package/Presentation/configs/index.js +0 -3
  408. package/Presentation/configs/index.js.map +0 -1
  409. package/Presentation/configs/list/Browser/EntryAction.d.ts +0 -7
  410. package/Presentation/configs/list/Browser/EntryAction.js +0 -16
  411. package/Presentation/configs/list/Browser/EntryAction.js.map +0 -1
  412. package/Presentation/configs/list/Browser/Table/Column.d.ts +0 -14
  413. package/Presentation/configs/list/Browser/Table/Column.js +0 -14
  414. package/Presentation/configs/list/Browser/Table/Column.js.map +0 -1
  415. package/Presentation/configs/list/Browser/Table/Sorting.d.ts +0 -5
  416. package/Presentation/configs/list/Browser/Table/Sorting.js +0 -10
  417. package/Presentation/configs/list/Browser/Table/Sorting.js.map +0 -1
  418. package/Presentation/configs/list/Browser/Table/index.d.ts +0 -19
  419. package/Presentation/configs/list/Browser/Table/index.js +0 -8
  420. package/Presentation/configs/list/Browser/Table/index.js.map +0 -1
  421. package/Presentation/configs/list/Browser/index.d.ts +0 -24
  422. package/Presentation/configs/list/Browser/index.js +0 -8
  423. package/Presentation/configs/list/Browser/index.js.map +0 -1
  424. package/Presentation/configs/list/SchedulerListConfig.d.ts +0 -33
  425. package/Presentation/configs/list/SchedulerListConfig.js +0 -29
  426. package/Presentation/configs/list/SchedulerListConfig.js.map +0 -1
  427. package/Presentation/configs/list/index.d.ts +0 -1
  428. package/Presentation/configs/list/index.js +0 -3
  429. package/Presentation/configs/list/index.js.map +0 -1
  430. package/Presentation/hooks/index.d.ts +0 -3
  431. package/Presentation/hooks/index.js +0 -5
  432. package/Presentation/hooks/index.js.map +0 -1
  433. package/Presentation/hooks/useCancelSchedulerItem.d.ts +0 -8
  434. package/Presentation/hooks/useCancelSchedulerItem.js +0 -32
  435. package/Presentation/hooks/useCancelSchedulerItem.js.map +0 -1
  436. package/Presentation/hooks/useScheduler.d.ts +0 -27
  437. package/Presentation/hooks/useScheduler.js +0 -51
  438. package/Presentation/hooks/useScheduler.js.map +0 -1
  439. package/Presentation/hooks/useSchedulerItem.d.ts +0 -12
  440. package/Presentation/hooks/useSchedulerItem.js +0 -9
  441. package/Presentation/hooks/useSchedulerItem.js.map +0 -1
  442. package/Presentation/index.d.ts +0 -24
  443. package/Presentation/index.js +0 -31
  444. package/Presentation/index.js.map +0 -1
  445. package/UseCases/CancelItem/CancelItemUseCase.d.ts +0 -7
  446. package/UseCases/CancelItem/CancelItemUseCase.js +0 -12
  447. package/UseCases/CancelItem/CancelItemUseCase.js.map +0 -1
  448. package/UseCases/CancelItem/ICancelItemUseCase.d.ts +0 -3
  449. package/UseCases/CancelItem/ICancelItemUseCase.js +0 -3
  450. package/UseCases/CancelItem/ICancelItemUseCase.js.map +0 -1
  451. package/UseCases/CancelItem/index.d.ts +0 -2
  452. package/UseCases/CancelItem/index.js +0 -4
  453. package/UseCases/CancelItem/index.js.map +0 -1
  454. package/UseCases/GetItem/GetItemUseCase.d.ts +0 -8
  455. package/UseCases/GetItem/GetItemUseCase.js +0 -12
  456. package/UseCases/GetItem/GetItemUseCase.js.map +0 -1
  457. package/UseCases/GetItem/IGetItemUseCase.d.ts +0 -4
  458. package/UseCases/GetItem/IGetItemUseCase.js +0 -3
  459. package/UseCases/GetItem/IGetItemUseCase.js.map +0 -1
  460. package/UseCases/GetItem/index.d.ts +0 -2
  461. package/UseCases/GetItem/index.js +0 -4
  462. package/UseCases/GetItem/index.js.map +0 -1
  463. package/UseCases/GetScheduledItem/GetScheduledItemUseCase.d.ts +0 -7
  464. package/UseCases/GetScheduledItem/GetScheduledItemUseCase.js +0 -13
  465. package/UseCases/GetScheduledItem/GetScheduledItemUseCase.js.map +0 -1
  466. package/UseCases/GetScheduledItem/IGetScheduledItemUseCase.d.ts +0 -4
  467. package/UseCases/GetScheduledItem/IGetScheduledItemUseCase.js +0 -3
  468. package/UseCases/GetScheduledItem/IGetScheduledItemUseCase.js.map +0 -1
  469. package/UseCases/GetScheduledItem/index.d.ts +0 -2
  470. package/UseCases/GetScheduledItem/index.js +0 -4
  471. package/UseCases/GetScheduledItem/index.js.map +0 -1
  472. package/UseCases/ListItems/IListItemsUseCase.d.ts +0 -4
  473. package/UseCases/ListItems/IListItemsUseCase.js +0 -3
  474. package/UseCases/ListItems/IListItemsUseCase.js.map +0 -1
  475. package/UseCases/ListItems/ListItemsUseCase.d.ts +0 -8
  476. package/UseCases/ListItems/ListItemsUseCase.js +0 -12
  477. package/UseCases/ListItems/ListItemsUseCase.js.map +0 -1
  478. package/UseCases/ListItems/ListItemsUseCaseWithSearch.d.ts +0 -9
  479. package/UseCases/ListItems/ListItemsUseCaseWithSearch.js +0 -20
  480. package/UseCases/ListItems/ListItemsUseCaseWithSearch.js.map +0 -1
  481. package/UseCases/ListItems/ListItemsUseCaseWithSorting.d.ts +0 -9
  482. package/UseCases/ListItems/ListItemsUseCaseWithSorting.js +0 -18
  483. package/UseCases/ListItems/ListItemsUseCaseWithSorting.js.map +0 -1
  484. package/UseCases/ListItems/index.d.ts +0 -4
  485. package/UseCases/ListItems/index.js +0 -6
  486. package/UseCases/ListItems/index.js.map +0 -1
  487. package/UseCases/ListMoreItems/IListMoreItemsUseCase.d.ts +0 -3
  488. package/UseCases/ListMoreItems/IListMoreItemsUseCase.js +0 -3
  489. package/UseCases/ListMoreItems/IListMoreItemsUseCase.js.map +0 -1
  490. package/UseCases/ListMoreItems/ListMoreItemsUseCase.d.ts +0 -7
  491. package/UseCases/ListMoreItems/ListMoreItemsUseCase.js +0 -12
  492. package/UseCases/ListMoreItems/ListMoreItemsUseCase.js.map +0 -1
  493. package/UseCases/ListMoreItems/index.d.ts +0 -2
  494. package/UseCases/ListMoreItems/index.js +0 -4
  495. package/UseCases/ListMoreItems/index.js.map +0 -1
  496. package/UseCases/PublishItem/IPublishItemUseCase.d.ts +0 -3
  497. package/UseCases/PublishItem/IPublishItemUseCase.js +0 -3
  498. package/UseCases/PublishItem/IPublishItemUseCase.js.map +0 -1
  499. package/UseCases/PublishItem/PublishItemUseCase.d.ts +0 -7
  500. package/UseCases/PublishItem/PublishItemUseCase.js +0 -12
  501. package/UseCases/PublishItem/PublishItemUseCase.js.map +0 -1
  502. package/UseCases/PublishItem/index.d.ts +0 -2
  503. package/UseCases/PublishItem/index.js +0 -4
  504. package/UseCases/PublishItem/index.js.map +0 -1
  505. package/UseCases/SearchItems/ISearchItemsUseCase.d.ts +0 -3
  506. package/UseCases/SearchItems/ISearchItemsUseCase.js +0 -3
  507. package/UseCases/SearchItems/ISearchItemsUseCase.js.map +0 -1
  508. package/UseCases/SearchItems/SearchItemsUseCase.d.ts +0 -7
  509. package/UseCases/SearchItems/SearchItemsUseCase.js +0 -12
  510. package/UseCases/SearchItems/SearchItemsUseCase.js.map +0 -1
  511. package/UseCases/SearchItems/index.d.ts +0 -2
  512. package/UseCases/SearchItems/index.js +0 -4
  513. package/UseCases/SearchItems/index.js.map +0 -1
  514. package/UseCases/SelectAllItems/ISelectAllItemsUseCase.d.ts +0 -3
  515. package/UseCases/SelectAllItems/ISelectAllItemsUseCase.js +0 -3
  516. package/UseCases/SelectAllItems/ISelectAllItemsUseCase.js.map +0 -1
  517. package/UseCases/SelectAllItems/SelectAllItemsUseCase.d.ts +0 -7
  518. package/UseCases/SelectAllItems/SelectAllItemsUseCase.js +0 -12
  519. package/UseCases/SelectAllItems/SelectAllItemsUseCase.js.map +0 -1
  520. package/UseCases/SelectAllItems/index.d.ts +0 -2
  521. package/UseCases/SelectAllItems/index.js +0 -4
  522. package/UseCases/SelectAllItems/index.js.map +0 -1
  523. package/UseCases/SelectItems/ISelectItemsUseCase.d.ts +0 -4
  524. package/UseCases/SelectItems/ISelectItemsUseCase.js +0 -3
  525. package/UseCases/SelectItems/ISelectItemsUseCase.js.map +0 -1
  526. package/UseCases/SelectItems/SelectItemsUseCase.d.ts +0 -7
  527. package/UseCases/SelectItems/SelectItemsUseCase.js +0 -12
  528. package/UseCases/SelectItems/SelectItemsUseCase.js.map +0 -1
  529. package/UseCases/SelectItems/index.d.ts +0 -2
  530. package/UseCases/SelectItems/index.js +0 -4
  531. package/UseCases/SelectItems/index.js.map +0 -1
  532. package/UseCases/SortItems/ISortItemsUseCase.d.ts +0 -4
  533. package/UseCases/SortItems/ISortItemsUseCase.js +0 -3
  534. package/UseCases/SortItems/ISortItemsUseCase.js.map +0 -1
  535. package/UseCases/SortItems/SortItemsUseCase.d.ts +0 -7
  536. package/UseCases/SortItems/SortItemsUseCase.js +0 -12
  537. package/UseCases/SortItems/SortItemsUseCase.js.map +0 -1
  538. package/UseCases/SortItems/index.d.ts +0 -2
  539. package/UseCases/SortItems/index.js +0 -4
  540. package/UseCases/SortItems/index.js.map +0 -1
  541. package/UseCases/UnSelectAllItems/IUnselectAllItemsUseCase.d.ts +0 -3
  542. package/UseCases/UnSelectAllItems/IUnselectAllItemsUseCase.js +0 -3
  543. package/UseCases/UnSelectAllItems/IUnselectAllItemsUseCase.js.map +0 -1
  544. package/UseCases/UnSelectAllItems/UnselectAllItemsUseCase.d.ts +0 -7
  545. package/UseCases/UnSelectAllItems/UnselectAllItemsUseCase.js +0 -12
  546. package/UseCases/UnSelectAllItems/UnselectAllItemsUseCase.js.map +0 -1
  547. package/UseCases/UnSelectAllItems/index.d.ts +0 -2
  548. package/UseCases/UnSelectAllItems/index.js +0 -4
  549. package/UseCases/UnSelectAllItems/index.js.map +0 -1
  550. package/UseCases/UnpublishItem/IUnpublishItemUseCase.d.ts +0 -3
  551. package/UseCases/UnpublishItem/IUnpublishItemUseCase.js +0 -3
  552. package/UseCases/UnpublishItem/IUnpublishItemUseCase.js.map +0 -1
  553. package/UseCases/UnpublishItem/UnpublishItemUseCase.d.ts +0 -7
  554. package/UseCases/UnpublishItem/UnpublishItemUseCase.js +0 -12
  555. package/UseCases/UnpublishItem/UnpublishItemUseCase.js.map +0 -1
  556. package/UseCases/UnpublishItem/index.d.ts +0 -2
  557. package/UseCases/UnpublishItem/index.js +0 -4
  558. package/UseCases/UnpublishItem/index.js.map +0 -1
  559. package/UseCases/index.d.ts +0 -11
  560. package/UseCases/index.js +0 -13
  561. package/UseCases/index.js.map +0 -1
  562. package/types.d.ts +0 -36
  563. package/types.js +0 -15
  564. package/types.js.map +0 -1
package/README.md CHANGED
@@ -1,22 +1,11 @@
1
1
  # @webiny/app-headless-cms-scheduler
2
2
 
3
- [![](https://img.shields.io/npm/dw/@webiny/app-headless-cms-scheduler.svg)](https://www.npmjs.com/package/@webiny/app-headless-cms-scheduler)
4
- [![](https://img.shields.io/npm/v/@webiny/app-headless-cms-scheduler.svg)](https://www.npmjs.com/package/@webiny/app-headless-cms-scheduler)
5
- [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)
6
- [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](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
- An app for changing the mailer settings.
7
+ 📘 **Documentation:** [https://www.webiny.com/docs](https://www.webiny.com/docs)
9
8
 
10
- Use together with [@webiny/api-mailer](../api-mailer) package.
9
+ ---
11
10
 
12
- ## Install
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,2 @@
1
+ import React from "react";
2
+ export declare const BrowserConfig: () => React.JSX.Element;
@@ -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,7 @@
1
+ import React from "react";
2
+ interface LiveTagProps {
3
+ version: number;
4
+ lastPublishedOn?: string | null;
5
+ }
6
+ export declare const LiveTag: ({ version, lastPublishedOn }: LiveTagProps) => React.JSX.Element;
7
+ export {};
@@ -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,4 @@
1
+ import React from "react";
2
+ export declare const MenuItem: (() => React.JSX.Element | null) & React.NamedExoticComponent<unknown> & {
3
+ readonly type: () => React.JSX.Element | null;
4
+ };
@@ -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,5 @@
1
+ import React from "react";
2
+ import type { SchedulerEntry } from "@webiny/app-scheduler/types.js";
3
+ export declare const ScheduledTag: ({ scheduled }: {
4
+ scheduled: SchedulerEntry;
5
+ }) => React.JSX.Element;
@@ -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,5 @@
1
+ import React from "react";
2
+ export interface ScheduleButtonProps {
3
+ onClick: () => void;
4
+ }
5
+ export declare const SchedulerButton: (props: ScheduleButtonProps) => React.JSX.Element;
@@ -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,2 @@
1
+ import React from "react";
2
+ export declare const SchedulerMenuItem: () => React.JSX.Element | null;
@@ -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,2 @@
1
+ import React from "react";
2
+ export declare const EditorConfig: () => React.JSX.Element;
@@ -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,4 @@
1
+ import React from "react";
2
+ export declare const MenuItem: (() => React.JSX.Element | null) & React.NamedExoticComponent<unknown> & {
3
+ readonly type: () => React.JSX.Element | null;
4
+ };
@@ -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;