@brightspot/ui 3.0.1-cms-ui-migration.2 → 3.0.1-cms-ui-migration.4

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 (320) hide show
  1. package/README.md +56 -37
  2. package/dist/custom-elements.json +1807 -1807
  3. package/dist/storybook/assets/{ActionBar.stories-hJ_5cm-P.js → ActionBar.stories-BZAVK1QG.js} +1 -1
  4. package/dist/storybook/assets/{ActionItem.stories-Bjx2803w.js → ActionItem.stories-BqiWvlWi.js} +1 -1
  5. package/dist/storybook/assets/{Avatar.stories-Cj0YgZ6f.js → Avatar.stories-DkdB6hd_.js} +1 -1
  6. package/dist/storybook/assets/{AvatarGroup.stories-Lh_sQFCU.js → AvatarGroup.stories-DODqaIix.js} +1 -1
  7. package/dist/storybook/assets/{Badge.stories-BL7RUibx.js → Badge.stories-DZoum08S.js} +1 -1
  8. package/dist/storybook/assets/{Button-BPHNcxqK.js → Button-BkmBgNO-.js} +1 -1
  9. package/dist/storybook/assets/{Button.stories-CAYO4gdU.js → Button.stories-BFhCL2dp.js} +1 -1
  10. package/dist/storybook/assets/{ButtonGroup.stories-Cd13Us5K.js → ButtonGroup.stories-DlTGTvkq.js} +1 -1
  11. package/dist/storybook/assets/{Celebrate.stories-D_KE3Qze.js → Celebrate.stories-m4d4zTEz.js} +1 -1
  12. package/dist/storybook/assets/{Checkbox.stories-Aj1xgZVn.js → Checkbox.stories-Y253YeU7.js} +1 -1
  13. package/dist/storybook/assets/{CircularProgress.stories-BecV_v6d.js → CircularProgress.stories-6BD8uV5G.js} +1 -1
  14. package/dist/storybook/assets/{ClipboardMixin.stories-DU-WiZ2f.js → ClipboardMixin.stories-BkH66rIU.js} +1 -1
  15. package/dist/storybook/assets/{Color-6BZIO3FS-BYl4KZZn.js → Color-6BZIO3FS-iG0OjPBU.js} +1 -1
  16. package/dist/storybook/assets/{Colors.stories-BMUVUy2q.js → Colors.stories-BxiyQnEg.js} +1 -1
  17. package/dist/storybook/assets/{CombinedEffects.stories-FHcPKFm6.js → CombinedEffects.stories-Bs3U7qRl.js} +1 -1
  18. package/dist/storybook/assets/{ComponentStatesMixin-EMUnfT5y.js → ComponentStatesMixin-DampYb5c.js} +1 -1
  19. package/dist/storybook/assets/{ComponentStatesMixin.stories-SXq0kzS9.js → ComponentStatesMixin.stories-CZ2OW7as.js} +1 -1
  20. package/dist/storybook/assets/{CopyToClipboard.stories-u43lhvcI.js → CopyToClipboard.stories-CdlghjaE.js} +1 -1
  21. package/dist/storybook/assets/{Debounce.stories-BdCn5qgO.js → Debounce.stories-CymT8PnT.js} +1 -1
  22. package/dist/storybook/assets/{DocsRenderer-LL677BLK-DxiEJ_jx.js → DocsRenderer-LL677BLK-dqHCo-GE.js} +3 -3
  23. package/dist/storybook/assets/{Dropdown.stories-BWSRwjIF.js → Dropdown.stories-B6JwKg-I.js} +1 -1
  24. package/dist/storybook/assets/{EmptyState.stories-BpobeZL5.js → EmptyState.stories-Bk229lPH.js} +1 -1
  25. package/dist/storybook/assets/{Events.stories-CP5kMzpr.js → Events.stories-C8-k9cx8.js} +1 -1
  26. package/dist/storybook/assets/{Heading.stories-CbJD-oTB.js → Heading.stories-DIdnAQRG.js} +1 -1
  27. package/dist/storybook/assets/{HueRipple.stories-BOABJ7zw.js → HueRipple.stories-B1gXAEaH.js} +1 -1
  28. package/dist/storybook/assets/{Icon.stories-CWlUHL4j.js → Icon.stories--1VJ0_yt.js} +1 -1
  29. package/dist/storybook/assets/{IconButton.stories-BWBs-OLT.js → IconButton.stories-CS2rEIir.js} +1 -1
  30. package/dist/storybook/assets/{LinearProgress.stories-LZ0GZoxF.js → LinearProgress.stories-Bx0CQQls.js} +1 -1
  31. package/dist/storybook/assets/{Pagination.stories-CbLaR3P9.js → Pagination.stories-B4AogTXB.js} +1 -1
  32. package/dist/storybook/assets/{Popover.stories-JHrWqYZw.js → Popover.stories-BR88DPgU.js} +1 -1
  33. package/dist/storybook/assets/{ReadyMixin-B1H2a9x8.js → ReadyMixin-n6qZO39Y.js} +1 -1
  34. package/dist/storybook/assets/{RovingTabindexMixin.stories-UMHpYG73.js → RovingTabindexMixin.stories-1xTJSMSv.js} +1 -1
  35. package/dist/storybook/assets/{Rtc.stories-VQtNSlls.js → Rtc.stories-Rt0A_rUZ.js} +1 -1
  36. package/dist/storybook/assets/{ScrollShadow.stories-CYdi8Tgp.js → ScrollShadow.stories-CjLdJyYu.js} +1 -1
  37. package/dist/storybook/assets/{Switch.stories-D8F2hZCf.js → Switch.stories-CF8wO4v2.js} +1 -1
  38. package/dist/storybook/assets/{Tab.stories-wgBP0lTj.js → Tab.stories-C8XNshog.js} +1 -1
  39. package/dist/storybook/assets/{Tabs.stories-C00rr5sf.js → Tabs.stories-B01l4rQx.js} +1 -1
  40. package/dist/storybook/assets/{Throttle.stories-BhQEfJbS.js → Throttle.stories-Bpi0K5j9.js} +1 -1
  41. package/dist/storybook/assets/{Tooltip.stories-CGoZ5qTn.js → Tooltip.stories-BC4zMiZ1.js} +1 -1
  42. package/dist/storybook/assets/{Upload.stories-B3K-HAXw.js → Upload.stories-2pWv_fZ1.js} +1 -1
  43. package/dist/storybook/assets/{UploadItem.stories-71ArSoUh.js → UploadItem.stories-aLeAUM7y.js} +1 -1
  44. package/dist/storybook/assets/{Welcome.stories-CihlfFXS.js → Welcome.stories-DJV83eb7.js} +1 -1
  45. package/dist/storybook/assets/{Widget.stories-1u4KbiJM.js → Widget.stories-Cz0i2o6L.js} +1 -1
  46. package/dist/storybook/assets/{WithTooltip-65CFNBJE-B3Jitxw9.js → WithTooltip-65CFNBJE-D8QwVYG8.js} +1 -1
  47. package/dist/storybook/assets/{blocks-C1HaXuQB.js → blocks-BFmpEZRy.js} +5 -5
  48. package/dist/storybook/assets/{formatter-EIJCOSYU-Dy9Lt9fs.js → formatter-EIJCOSYU-CdwdJOPy.js} +1 -1
  49. package/dist/storybook/assets/if-defined-gbJXriW-.js +1 -0
  50. package/dist/storybook/assets/{iframe-Dx6IxWXF.js → iframe-CyssRDCd.js} +4 -4
  51. package/dist/storybook/assets/{index-OrjedSVh.js → index-B82i8dhg.js} +1 -1
  52. package/dist/storybook/assets/{onFind-YTqjw6W0.js → onFind-BFI1uIxr.js} +1 -1
  53. package/dist/storybook/assets/{onFind.stories-DEvwTrmx.js → onFind.stories-zZjQs_Gn.js} +1 -1
  54. package/dist/storybook/assets/{onRemove.stories-D5mO-Lin.js → onRemove.stories-pFBwAIex.js} +1 -1
  55. package/dist/storybook/assets/{onVisible.stories-C3Rcz0Eb.js → onVisible.stories-5dErOVRq.js} +1 -1
  56. package/dist/storybook/assets/{style-map-CiMHry7H.js → style-map-D0EcLEWO.js} +1 -1
  57. package/dist/storybook/assets/{syntaxhighlighter-ED5Y7EFY-DIZnuhb2.js → syntaxhighlighter-ED5Y7EFY--2h_dVga.js} +1 -1
  58. package/dist/storybook/iframe.html +1 -1
  59. package/dist/storybook/project.json +1 -1
  60. package/package.json +16 -2
  61. package/src/legacy/tool-ui/src/AnalyticsWidget.css +1 -1
  62. package/src/legacy/tool-ui/src/Board.css +1 -1
  63. package/src/legacy/tool-ui/src/BulkUpload.css +1 -1
  64. package/src/legacy/tool-ui/src/ComboInput.css +1 -1
  65. package/src/legacy/tool-ui/src/Compat.css +5 -5
  66. package/src/legacy/tool-ui/src/ContentEditDrawer.css +1 -1
  67. package/src/legacy/tool-ui/src/Dialog.css +1 -1
  68. package/src/legacy/tool-ui/src/FormFilter.css +1 -1
  69. package/src/legacy/tool-ui/src/Icon/index.css +1 -1
  70. package/src/legacy/tool-ui/src/ImageEditor.css +1 -1
  71. package/src/legacy/tool-ui/src/Incompatible.css +2 -2
  72. package/src/legacy/tool-ui/src/LinkCarousel.css +1 -1
  73. package/src/legacy/tool-ui/src/Page.css +1 -1
  74. package/src/legacy/tool-ui/src/RepeatableContentInputGroup.css +1 -1
  75. package/src/legacy/tool-ui/src/RichText.css +1 -1
  76. package/src/legacy/tool-ui/src/SearchWidget.css +2 -2
  77. package/src/legacy/tool-ui/src/SearchWidgetAdvanced.css +1 -1
  78. package/src/legacy/tool-ui/src/Widget.css +1 -1
  79. package/src/legacy/tool-ui/src/main/webapp/dist/v5.5e5d7f655e174ddd85f5.css +5 -0
  80. package/dist/storybook/assets/if-defined-CA2KmTqA.js +0 -1
  81. package/docs/adr/0001-retire-cms-ui-package-fold-under-src-legacy.md +0 -78
  82. package/docs/adr/0002-yarn-workspaces-preserve-cms-ui-deps.md +0 -130
  83. package/docs/adr/0003-bundle-equivalence-as-fold-acceptance-criterion.md +0 -286
  84. package/src/legacy/tool-ui/src/main/resources/settings.properties +0 -1
  85. package/src/legacy/tool-ui/src/main/webapp/WEB-INF/web.xml +0 -81
  86. package/src/legacy/tool-ui/src/main/webapp/dist/v5.5e3fdf0f0b20b4e3c170.css +0 -5
  87. package/src/legacy/tool-ui/src/main/webapp/script/bsp-uploader.js +0 -170
  88. package/src/legacy/tool-ui/src/main/webapp/script/bsp-utils.js +0 -393
  89. package/src/legacy/tool-ui/src/main/webapp/script/content/layout-element.js +0 -141
  90. package/src/legacy/tool-ui/src/main/webapp/script/input/query.js +0 -78
  91. package/src/legacy/tool-ui/src/main/webapp/script/input/workflow.js +0 -718
  92. package/src/legacy/tool-ui/src/main/webapp/script/jquery.extra.js +0 -633
  93. package/src/legacy/tool-ui/src/main/webapp/script/v3/Dropbox.js +0 -18
  94. package/src/legacy/tool-ui/src/main/webapp/script/v3/EditFieldUpdate.js +0 -406
  95. package/src/legacy/tool-ui/src/main/webapp/script/v3/EditFieldUpdateCache.js +0 -1
  96. package/src/legacy/tool-ui/src/main/webapp/script/v3/Notification.js +0 -151
  97. package/src/legacy/tool-ui/src/main/webapp/script/v3/content/edit.js +0 -194
  98. package/src/legacy/tool-ui/src/main/webapp/script/v3/content/state.js +0 -785
  99. package/src/legacy/tool-ui/src/main/webapp/script/v3/csrf.js +0 -35
  100. package/src/legacy/tool-ui/src/main/webapp/script/v3/dashboard.js +0 -65
  101. package/src/legacy/tool-ui/src/main/webapp/script/v3/input/dataTransfer.js +0 -129
  102. package/src/legacy/tool-ui/src/main/webapp/script/v3/input/file.js +0 -433
  103. package/src/legacy/tool-ui/src/main/webapp/script/v3/input/object.js +0 -743
  104. package/src/legacy/tool-ui/src/main/webapp/script/v3/input/read-only.js +0 -17
  105. package/src/legacy/tool-ui/src/main/webapp/script/v3/jquery.frame.js +0 -478
  106. package/src/legacy/tool-ui/src/main/webapp/script/v3/jquery.repeatable.js +0 -2406
  107. package/src/legacy/tool-ui/src/main/webapp/script/v3/plugin/popup.d.ts +0 -2
  108. package/src/legacy/tool-ui/src/main/webapp/script/v3/plugin/popup.js +0 -446
  109. package/src/legacy/tool-ui/src/main/webapp/script/v3/search-filters.js +0 -62
  110. package/src/legacy/tool-ui/src/main/webapp/script/v3/search.js +0 -53
  111. package/src/legacy/tool-ui/src/main/webapp/script/v3.js +0 -1049
  112. package/src/legacy/tool-ui/src/main/webapp/v4/Admin.js +0 -16
  113. package/src/legacy/tool-ui/src/main/webapp/v4/AutoExpand.js +0 -84
  114. package/src/legacy/tool-ui/src/main/webapp/v4/AutoSubmit.js +0 -68
  115. package/src/legacy/tool-ui/src/main/webapp/v4/Bridge.js +0 -536
  116. package/src/legacy/tool-ui/src/main/webapp/v4/CheckboxInput.js +0 -22
  117. package/src/legacy/tool-ui/src/main/webapp/v4/ColorInput.js +0 -5
  118. package/src/legacy/tool-ui/src/main/webapp/v4/ColorInputSpectrum.js +0 -107
  119. package/src/legacy/tool-ui/src/main/webapp/v4/ComboInput.js +0 -1491
  120. package/src/legacy/tool-ui/src/main/webapp/v4/CommunityWidget.js +0 -29
  121. package/src/legacy/tool-ui/src/main/webapp/v4/ContentEdit.js +0 -2427
  122. package/src/legacy/tool-ui/src/main/webapp/v4/ContentLock.js +0 -470
  123. package/src/legacy/tool-ui/src/main/webapp/v4/ContentReporting.js +0 -32
  124. package/src/legacy/tool-ui/src/main/webapp/v4/DataTable.js +0 -31
  125. package/src/legacy/tool-ui/src/main/webapp/v4/DateStringField.js +0 -485
  126. package/src/legacy/tool-ui/src/main/webapp/v4/Entry.js +0 -264
  127. package/src/legacy/tool-ui/src/main/webapp/v4/ExternalItemAuth.js +0 -16
  128. package/src/legacy/tool-ui/src/main/webapp/v4/Form.js +0 -31
  129. package/src/legacy/tool-ui/src/main/webapp/v4/Hierarchy.js +0 -100
  130. package/src/legacy/tool-ui/src/main/webapp/v4/Icon.ts +0 -49
  131. package/src/legacy/tool-ui/src/main/webapp/v4/ImageEditor.js +0 -2403
  132. package/src/legacy/tool-ui/src/main/webapp/v4/ImageEditorBundle.js +0 -5
  133. package/src/legacy/tool-ui/src/main/webapp/v4/LinkCarousel.js +0 -40
  134. package/src/legacy/tool-ui/src/main/webapp/v4/LinkList.js +0 -14
  135. package/src/legacy/tool-ui/src/main/webapp/v4/LinkTable.js +0 -123
  136. package/src/legacy/tool-ui/src/main/webapp/v4/Location.js +0 -19
  137. package/src/legacy/tool-ui/src/main/webapp/v4/LocationMap.js +0 -148
  138. package/src/legacy/tool-ui/src/main/webapp/v4/LookingGlass.js +0 -24
  139. package/src/legacy/tool-ui/src/main/webapp/v4/Message.js +0 -14
  140. package/src/legacy/tool-ui/src/main/webapp/v4/NumberBar.js +0 -32
  141. package/src/legacy/tool-ui/src/main/webapp/v4/Page.js +0 -890
  142. package/src/legacy/tool-ui/src/main/webapp/v4/Preview.js +0 -758
  143. package/src/legacy/tool-ui/src/main/webapp/v4/PreviewEditor.js +0 -86
  144. package/src/legacy/tool-ui/src/main/webapp/v4/PreviewOverlay.js +0 -1005
  145. package/src/legacy/tool-ui/src/main/webapp/v4/PubSub.js +0 -47
  146. package/src/legacy/tool-ui/src/main/webapp/v4/QueryField.js +0 -211
  147. package/src/legacy/tool-ui/src/main/webapp/v4/RegionMap.js +0 -215
  148. package/src/legacy/tool-ui/src/main/webapp/v4/RepeatableContentInputGroup.js +0 -160
  149. package/src/legacy/tool-ui/src/main/webapp/v4/RichTextEditor.js +0 -154
  150. package/src/legacy/tool-ui/src/main/webapp/v4/SearchFields.js +0 -281
  151. package/src/legacy/tool-ui/src/main/webapp/v4/SearchResult.js +0 -255
  152. package/src/legacy/tool-ui/src/main/webapp/v4/SharePreview.js +0 -56
  153. package/src/legacy/tool-ui/src/main/webapp/v4/Sortable.js +0 -874
  154. package/src/legacy/tool-ui/src/main/webapp/v4/StyleEmbeddedContent.js +0 -100
  155. package/src/legacy/tool-ui/src/main/webapp/v4/StyleguidePresets.js +0 -357
  156. package/src/legacy/tool-ui/src/main/webapp/v4/TabContainer.js +0 -360
  157. package/src/legacy/tool-ui/src/main/webapp/v4/Taxonomy.js +0 -27
  158. package/src/legacy/tool-ui/src/main/webapp/v4/ThemeBundleEditor.js +0 -224
  159. package/src/legacy/tool-ui/src/main/webapp/v4/TimedContent.js +0 -147
  160. package/src/legacy/tool-ui/src/main/webapp/v4/TimedContentBundle.js +0 -8
  161. package/src/legacy/tool-ui/src/main/webapp/v4/VideoEditor.js +0 -2417
  162. package/src/legacy/tool-ui/src/main/webapp/v4/VideoEditorBundle.js +0 -8
  163. package/src/legacy/tool-ui/src/main/webapp/v4/ViewMirror.js +0 -52
  164. package/src/legacy/tool-ui/src/main/webapp/v4/ViewPreview.d.ts +0 -13
  165. package/src/legacy/tool-ui/src/main/webapp/v4/ViewPreview.js +0 -177
  166. package/src/legacy/tool-ui/src/main/webapp/v4/Widget.js +0 -90
  167. package/src/legacy/tool-ui/src/main/webapp/v4/__mocks__/fileMock.js +0 -1
  168. package/src/legacy/tool-ui/src/main/webapp/v4/__mocks__/styleMock.js +0 -1
  169. package/src/legacy/tool-ui/src/main/webapp/v4/__mocks__/textArea.mock.js +0 -20
  170. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/globals.js +0 -770
  171. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/ProseMirror.test.js +0 -16
  172. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/index.html +0 -54
  173. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/comment_manager/CommentManager.test.js +0 -29
  174. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/comment_manager/index.html +0 -35
  175. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/custom_keyboard/CustomKeyboard.js +0 -42
  176. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/custom_keyboard/index.html +0 -37
  177. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/enhancement_manager/EnhancementManager.test.js +0 -288
  178. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/enhancement_manager/block.html +0 -38
  179. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/enhancement_manager/inline.html +0 -38
  180. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/enhancement_manager/no-popups.html +0 -38
  181. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/list_manager/ListManager.js +0 -257
  182. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/list_manager/index.html +0 -38
  183. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/menubar/hierarchal.html +0 -33
  184. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/menubar/index.html +0 -33
  185. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/menubar/menubar.test.js +0 -195
  186. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/menubar/small.html +0 -34
  187. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/menubar/tags.html +0 -34
  188. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/placeholder_manager/PlaceholderManager.test.js +0 -134
  189. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/placeholder_manager/has-editable-placeholder.html +0 -32
  190. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/placeholder_manager/has-text.html +0 -34
  191. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/placeholder_manager/index.html +0 -31
  192. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/table_manager/TableManager.test.js +0 -63
  193. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/table_manager/existing.html +0 -48
  194. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/track_manager/TrackManager.test.js +0 -291
  195. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/track_manager/existing.html +0 -39
  196. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/track_manager/insert.html +0 -37
  197. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/unit/Sortable.test.js +0 -105
  198. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/unit/rte/ProseMirror.test.js +0 -41
  199. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/unit/rte/codemirror-shim.test.js +0 -72
  200. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/unit/rte/plugins/collab_manager/CollabManager.test.js +0 -46
  201. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/unit/rte/plugins/enhancement_manager/EnhancementManager.test.js +0 -84
  202. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/unit/rte/plugins/list_manager/ListManager.test.js +0 -54
  203. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/unit/rte/plugins/menubar/menubar.test.js +0 -183
  204. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/unit/rte/plugins/spellcheck/SpellCheck.test.js +0 -45
  205. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/unit/rte/settings/BSSerializer.test.js +0 -346
  206. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/unit/rte/settings/menuItemsBuilder.test.js +0 -226
  207. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/unit/rte/utilities.test.js +0 -118
  208. package/src/legacy/tool-ui/src/main/webapp/v4/appetizeio/Appetizeio.js +0 -5
  209. package/src/legacy/tool-ui/src/main/webapp/v4/appetizeio/AppetizeioEmbedded.js +0 -113
  210. package/src/legacy/tool-ui/src/main/webapp/v4/compat/Fetch.js +0 -16
  211. package/src/legacy/tool-ui/src/main/webapp/v4/compat/jquery.js +0 -32
  212. package/src/legacy/tool-ui/src/main/webapp/v4/compat/requirejs.js +0 -13
  213. package/src/legacy/tool-ui/src/main/webapp/v4/dom/Tether.js +0 -1
  214. package/src/legacy/tool-ui/src/main/webapp/v4/dom/TetherLayout.js +0 -1
  215. package/src/legacy/tool-ui/src/main/webapp/v4/dom/closest.js +0 -1
  216. package/src/legacy/tool-ui/src/main/webapp/v4/dom/create.js +0 -1
  217. package/src/legacy/tool-ui/src/main/webapp/v4/dom/find.js +0 -1
  218. package/src/legacy/tool-ui/src/main/webapp/v4/dom/findAll.js +0 -1
  219. package/src/legacy/tool-ui/src/main/webapp/v4/dom/ifClick.js +0 -1
  220. package/src/legacy/tool-ui/src/main/webapp/v4/dom/ifMatches.js +0 -1
  221. package/src/legacy/tool-ui/src/main/webapp/v4/dom/ifUnmodified.js +0 -1
  222. package/src/legacy/tool-ui/src/main/webapp/v4/dom/index.js +0 -5
  223. package/src/legacy/tool-ui/src/main/webapp/v4/dom/insertBefore.js +0 -1
  224. package/src/legacy/tool-ui/src/main/webapp/v4/dom/insertFirst.js +0 -1
  225. package/src/legacy/tool-ui/src/main/webapp/v4/dom/insertLast.js +0 -1
  226. package/src/legacy/tool-ui/src/main/webapp/v4/dom/onFind.js +0 -1
  227. package/src/legacy/tool-ui/src/main/webapp/v4/dom/onFindOnce.js +0 -1
  228. package/src/legacy/tool-ui/src/main/webapp/v4/dom/onRTEReady.js +0 -1
  229. package/src/legacy/tool-ui/src/main/webapp/v4/dom/onRemove.js +0 -1
  230. package/src/legacy/tool-ui/src/main/webapp/v4/dom/onVisible.js +0 -1
  231. package/src/legacy/tool-ui/src/main/webapp/v4/dom/previousUntil.js +0 -1
  232. package/src/legacy/tool-ui/src/main/webapp/v4/dom/resolveIconCompat.js +0 -40
  233. package/src/legacy/tool-ui/src/main/webapp/v4/rtc/Socket.js +0 -1
  234. package/src/legacy/tool-ui/src/main/webapp/v4/rtc/index.js +0 -1
  235. package/src/legacy/tool-ui/src/main/webapp/v4/rte/ProseMirror.js +0 -909
  236. package/src/legacy/tool-ui/src/main/webapp/v4/rte/README.md +0 -68
  237. package/src/legacy/tool-ui/src/main/webapp/v4/rte/codemirror-shim.d.ts +0 -8
  238. package/src/legacy/tool-ui/src/main/webapp/v4/rte/codemirror-shim.js +0 -274
  239. package/src/legacy/tool-ui/src/main/webapp/v4/rte/collab-workflow.jpeg +0 -0
  240. package/src/legacy/tool-ui/src/main/webapp/v4/rte/interchangeable.ts +0 -250
  241. package/src/legacy/tool-ui/src/main/webapp/v4/rte/mention.js +0 -90
  242. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/PluginProvider.js +0 -124
  243. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/README.md +0 -46
  244. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/ai_inline_manager/AIInlineManager.ts +0 -124
  245. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/ai_inline_manager/views/AIInlineView.ts +0 -1019
  246. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/ai_manager/AiManager.ts +0 -199
  247. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/collab_manager/CollabManager.js +0 -339
  248. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/collab_manager/views/AvatarView.js +0 -96
  249. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/comment_manager/CommentManager.js +0 -348
  250. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/custom_keyboard/CustomKeyboard.js +0 -110
  251. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/custom_keyboard/README.md +0 -29
  252. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/enhancement_manager/EnhancementManager.js +0 -428
  253. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/enhancement_manager/README.md +0 -63
  254. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/enhancement_manager/commands.js +0 -690
  255. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/enhancement_manager/constants.js +0 -12
  256. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/enhancement_manager/enhancement-creation.jpeg +0 -0
  257. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/enhancement_manager/index.js +0 -15
  258. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/enhancement_manager/rte-flow.jpeg +0 -0
  259. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/enhancement_manager/views/ActionButtonView.js +0 -86
  260. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/enhancement_manager/views/BlockSubmenuView.js +0 -60
  261. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/enhancement_manager/views/EnhancementView.js +0 -208
  262. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/enhancement_manager/views/PreviewView.js +0 -102
  263. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/enhancement_manager/views/SubmenuView.js +0 -365
  264. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/find_replace_manager/FindReplaceManager.js +0 -239
  265. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/find_replace_manager/views/FindView.js +0 -604
  266. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/fullscreen_manager/FullscreenManager.js +0 -57
  267. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/fullscreen_manager/README.md +0 -26
  268. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/fullscreen_manager/commands.js +0 -16
  269. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/fullscreen_manager/index.js +0 -4
  270. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/fullscreen_manager/views/FullscreenView.js +0 -474
  271. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/html_editor_manager/htmlEditorManager.js +0 -66
  272. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/html_editor_manager/views/HtmlEditorView.js +0 -97
  273. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/list_manager/ListManager.js +0 -342
  274. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/list_manager/README.md +0 -50
  275. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/list_manager/commands.js +0 -207
  276. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/list_manager/constants.js +0 -26
  277. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/list_manager/index.js +0 -4
  278. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/menubar/Menubar.js +0 -485
  279. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/menubar/README.md +0 -40
  280. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/menubar/views/MenuView.js +0 -842
  281. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/paste_manager/PasteManager.js +0 -368
  282. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/placeholder_manager/PlaceHolderManager.js +0 -128
  283. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/raw_text_manager/README.md +0 -13
  284. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/raw_text_manager/RawTextManager.js +0 -96
  285. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/spellcheck/index.js +0 -3
  286. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/spellcheck/spellcheck-plugin.js +0 -280
  287. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/spellcheck/spellcheck-service.js +0 -94
  288. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/table_manager/TableManager.js +0 -57
  289. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/table_manager/commands.js +0 -97
  290. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/table_manager/views/TableSizerView.js +0 -88
  291. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/table_manager/views/TableView.js +0 -613
  292. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/track_manager/README.md +0 -13
  293. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/track_manager/TrackManager.js +0 -905
  294. package/src/legacy/tool-ui/src/main/webapp/v4/rte/settings/BSSerializer.js +0 -819
  295. package/src/legacy/tool-ui/src/main/webapp/v4/rte/settings/README.md +0 -80
  296. package/src/legacy/tool-ui/src/main/webapp/v4/rte/settings/commands.js +0 -98
  297. package/src/legacy/tool-ui/src/main/webapp/v4/rte/settings/constants.d.ts +0 -84
  298. package/src/legacy/tool-ui/src/main/webapp/v4/rte/settings/constants.js +0 -87
  299. package/src/legacy/tool-ui/src/main/webapp/v4/rte/settings/index.js +0 -13
  300. package/src/legacy/tool-ui/src/main/webapp/v4/rte/settings/keymapBuilder.js +0 -223
  301. package/src/legacy/tool-ui/src/main/webapp/v4/rte/settings/menuItemsBuilder.js +0 -559
  302. package/src/legacy/tool-ui/src/main/webapp/v4/rte/settings/schemaBuilder.js +0 -1281
  303. package/src/legacy/tool-ui/src/main/webapp/v4/rte/utilities.d.ts +0 -4
  304. package/src/legacy/tool-ui/src/main/webapp/v4/rte/utilities.js +0 -359
  305. package/src/legacy/tool-ui/src/main/webapp/v4/theme/ColorRotator.js +0 -1
  306. package/src/legacy/tool-ui/src/main/webapp/v4/util/debounce.js +0 -1
  307. package/src/legacy/tool-ui/src/main/webapp/v4/util/getComponentKey.js +0 -1
  308. package/src/legacy/tool-ui/src/main/webapp/v4/util/noise.js +0 -1
  309. package/src/legacy/tool-ui/src/main/webapp/v4/util/repaint.js +0 -1
  310. package/src/legacy/tool-ui/src/main/webapp/v4/util/storage.js +0 -1
  311. package/src/legacy/tool-ui/src/main/webapp/v4/util/throttle.js +0 -1
  312. package/src/legacy/tool-ui/src/main/webapp/v4/widget/AssignmentContent.js +0 -33
  313. package/src/legacy/tool-ui/src/main/webapp/v4/widget/AssignmentDeskDashboard.js +0 -217
  314. package/src/legacy/tool-ui/src/main/webapp/v4/widget/AssociatedContentWidget.js +0 -7
  315. package/src/legacy/tool-ui/src/main/webapp/v4/widget/BulkUpload.js +0 -19
  316. package/src/legacy/tool-ui/src/main/webapp/v4/widget/Calendar.js +0 -7
  317. package/src/legacy/tool-ui/src/main/webapp/v4/widget/ClosableWindow.js +0 -13
  318. package/src/legacy/tool-ui/src/main/webapp/v4/widget/PitchAssignments.js +0 -25
  319. package/src/legacy/tool-ui/src/main/webapp/v4/widget/PitchContent.js +0 -33
  320. package/src/legacy/tool-ui/src/main/webapp/v4/widget/Revisions.js +0 -61
@@ -1,470 +0,0 @@
1
- import tabex from 'tabex'
2
- import Cookies from 'js.cookie'
3
- import onFind from './dom/onFind'
4
- import create from './dom/create'
5
- import rtc from './rtc'
6
-
7
- let networkTimeout = false
8
- let title
9
- const pollContainers = []
10
-
11
- onFind('form[data-rtc-content-id][data-content-locking="true"]', (form) => {
12
- const contentId = form.getAttribute('data-rtc-content-id')
13
-
14
- // Use the current date as an identifier for each tab
15
- const now = Date.now()
16
- const client = tabex.client()
17
- const VIEWING_CHANNEL = contentId + '.viewing'
18
- const LEAVING_CHANNEL = contentId + '.leaving'
19
- const viewers = []
20
- const viewing = { viewer: now }
21
-
22
- // Listen for and keep track of new tabs viewing this content
23
- client.on(VIEWING_CHANNEL, function (data) {
24
- const viewer = data.viewer
25
- if (viewer && viewers.indexOf(viewer) === -1) {
26
- viewers.push(data.viewer)
27
- // Inform the new tab of this current tab
28
- client.emit(VIEWING_CHANNEL, viewing)
29
- }
30
- })
31
-
32
- // Remove tabs from tracking when they leave this content
33
- client.on(LEAVING_CHANNEL, function (data) {
34
- const viewer = data.viewer
35
- if (viewer) {
36
- const idx = viewers.indexOf(viewer)
37
- if (idx !== -1) {
38
- viewers.splice(idx, 1)
39
- }
40
- }
41
- })
42
-
43
- // Inform other tabs that are viewing this content that this tab is viewing
44
- client.emit(VIEWING_CHANNEL, viewing)
45
-
46
- const queryStringBase =
47
- '?contentId=' + contentId + '&typeId=' + form.getAttribute('data-type-id')
48
-
49
- poll(form, queryStringBase)
50
- const interval = setInterval(() => {
51
- const fullQuery =
52
- queryStringBase +
53
- '&isLockOwner=' +
54
- isLockOwner(form) +
55
- '&isInactive=' +
56
- document.hidden
57
- poll(form, fullQuery)
58
- }, 5000)
59
-
60
- window.addEventListener('unload', () => {
61
- sendUnlockSignal(interval, client, viewing, viewers, form, contentId)
62
- })
63
-
64
- // Attach to submit events for edge cases where the unload event is not triggered
65
- // on publish
66
- onFind('[data-rtc-unlock-onreceive]', (lockable) => {
67
- if (lockable.dataset.rtcUnlockOnreceive) {
68
- rtc.receive(lockable.dataset.rtcUnlockOnreceive, (data) => {
69
- sendUnlockSignal(interval, client, viewing, viewers, form, contentId)
70
- })
71
- }
72
- })
73
-
74
- onFind('[data-rtc-unlock-onclick]', (item) => {
75
- item.addEventListener('click', (event) => {
76
- sendUnlockSignal(interval, client, viewing, viewers, form, contentId)
77
- })
78
- })
79
- })
80
-
81
- function sendUnlockSignal(interval, client, viewing, viewers, form, contentId) {
82
- // Clear polling interval and let other tabs know this tab is leaving
83
- clearInterval(interval)
84
- client.emit(contentId + '.leaving', viewing)
85
-
86
- // Only unlock this content if we own the lock and no other tabs are viewing
87
- if (isLockOwner(form) && viewers.length === 0) {
88
- if (navigator.sendBeacon) {
89
- const data = new FormData()
90
- data.append('unlock', true)
91
- data.append('contentId', contentId)
92
- data.append('_csrf', Cookies.get('bsp.csrf'))
93
- navigator.sendBeacon(CONTEXT_PATH + 'contentLock', data)
94
- } else {
95
- // Fallback to a synchronous request so unlock is sent
96
- fetch(CONTEXT_PATH + 'contentLock', {
97
- method: 'POST',
98
- headers: {
99
- 'Brightspot-CSRF': Cookies.get('bsp.csrf'),
100
- 'Content-Type': 'application/x-www-form-urlencoded',
101
- },
102
- body: 'unlock=' + true + '&contentId=' + contentId,
103
- }).catch((error) => console.log(error))
104
- }
105
- }
106
- }
107
-
108
- function isLockOwner(form) {
109
- return (
110
- document.documentElement.getAttribute('data-user-id') ===
111
- form.getAttribute('data-content-lock-owner')
112
- )
113
- }
114
-
115
- onFind(
116
- ':not(form)[data-rtc-content-id][data-content-locking="true"]',
117
- (container) => {
118
- if (pollContainers.length === 0) {
119
- const table = container.closest('table')
120
- if (table) {
121
- table
122
- .querySelectorAll(
123
- ':not(form)[data-rtc-content-id][data-content-locking="true"]',
124
- )
125
- .forEach((container) => {
126
- if (pollContainers.indexOf(container) === -1) {
127
- pollContainers.push(container)
128
- }
129
- })
130
- } else {
131
- pollContainers.push(container)
132
- }
133
-
134
- let queryString =
135
- '?' +
136
- pollContainers
137
- .map(
138
- () => 'contentIds=' + container.getAttribute('data-rtc-content-id'),
139
- )
140
- .join('&')
141
-
142
- poll(pollContainers, queryString)
143
-
144
- const interval = setInterval(() => {
145
- queryString = '?'
146
- const contentIds = []
147
- for (let i = pollContainers.length - 1; i >= 0; --i) {
148
- const pollContainer = pollContainers[i]
149
- if (!document.body.contains(pollContainer)) {
150
- pollContainers.splice(i, 1)
151
- } else {
152
- const contentId = pollContainer.getAttribute('data-rtc-content-id')
153
- if (contentIds.indexOf(contentId) === -1) {
154
- contentIds.push(contentId)
155
- queryString += 'contentIds=' + contentId + '&'
156
- }
157
- }
158
- }
159
-
160
- if (pollContainers.length !== 0 && contentIds.length !== 0) {
161
- poll(pollContainers, queryString.substring(0, queryString.length - 1))
162
- } else {
163
- clearInterval(interval)
164
- }
165
- }, 5000)
166
- } else if (pollContainers.indexOf(container) === -1) {
167
- pollContainers.push(container)
168
- }
169
- },
170
- )
171
-
172
- function poll(containers, queryString) {
173
- fetch(CONTEXT_PATH + 'contentLock' + queryString)
174
- .then(function (response) {
175
- if (!response.ok) {
176
- throw Error(response.statusText)
177
- }
178
- return response.text()
179
- })
180
- .then(function (responseBody) {
181
- try {
182
- const json = JSON.parse(responseBody)
183
- if (Array.isArray(containers)) {
184
- updateContainers(containers, json)
185
- } else if (containers.nodeName === 'FORM') {
186
- updateForm(containers, json)
187
- }
188
- } catch (error) {
189
- console.error(error)
190
- }
191
- })
192
- .catch((error) => {
193
- if (!Array.isArray(containers) && containers.nodeName === 'FORM') {
194
- networkError(containers)
195
- }
196
- console.error(error)
197
- })
198
- }
199
-
200
- function post(form, data) {
201
- fetch(CONTEXT_PATH + 'contentLock', {
202
- method: 'post',
203
- headers: { 'Brightspot-CSRF': Cookies.get('bsp.csrf') },
204
- body: data,
205
- })
206
- .then(function (response) {
207
- return response.text()
208
- })
209
- .then(function (responseBody) {
210
- try {
211
- if (form) {
212
- const json = JSON.parse(responseBody)
213
- updateForm(form, json)
214
- }
215
- } catch (error) {
216
- console.error(error)
217
- }
218
- })
219
- }
220
-
221
- function updateContainers(containers, data) {
222
- containers.forEach((container) => {
223
- const contentId = container.getAttribute('data-rtc-content-id')
224
- const lockOwnerId = data.lockOwnerIds[contentId]
225
- if (lockOwnerId) {
226
- container.setAttribute('data-content-lock-owner', lockOwnerId)
227
- updateViewers(container, lockOwnerId)
228
- }
229
- })
230
- }
231
-
232
- function updateForm(form, data) {
233
- if (data.hardTimeout) {
234
- // User has had lock past hard timeout, send them to homepage
235
- form.setAttribute('data-content-lock-owner', null)
236
- window.location.href = CONTEXT_PATH
237
- return
238
- }
239
-
240
- const contentId = form.getAttribute('data-rtc-content-id')
241
- const lockOwnerId = data.lockOwnerId
242
- if (!lockOwnerId) return
243
-
244
- if (networkTimeout) {
245
- const timeoutDiv = form.querySelector('.ContentLockMessage-timeout')
246
- if (timeoutDiv) {
247
- timeoutDiv.remove()
248
- }
249
- networkTimeout = false
250
- }
251
-
252
- const userId = document.documentElement.getAttribute('data-user-id')
253
- const lockedOut = lockOwnerId !== userId
254
- const lockChange =
255
- form.getAttribute('data-content-lock-owner') !== lockOwnerId
256
- const unlockingDisabledChanged =
257
- (form.getAttribute('data-unlocking-disabled') === 'true') !==
258
- data.unlockingDisabled
259
- const mainDiv = form.querySelector('.ContentEdit-main') || form
260
- const widgetControlsDiv = document.querySelector('.Widget-controls')
261
-
262
- form.classList.toggle('is-locked', lockedOut)
263
- form.setAttribute('data-content-lock-owner', lockOwnerId)
264
- form.setAttribute('data-unlocking-disabled', data.unlockingDisabled)
265
-
266
- if (widgetControlsDiv) {
267
- widgetControlsDiv.classList.toggle('is-locked', lockedOut)
268
- }
269
-
270
- if (lockChange) {
271
- // The lock owner has changed
272
- let evictionDiv = form.querySelector('.ContentLockMessage-eviction')
273
-
274
- if (data.evictionMessage) {
275
- // Lock was forcibly taken by another user
276
- if (!evictionDiv) {
277
- evictionDiv = create('div', {
278
- className: 'ContentLockMessage-eviction message message-warning',
279
- })
280
- mainDiv.insertBefore(evictionDiv, mainDiv.firstChild)
281
- }
282
-
283
- evictionDiv.innerHTML = data.evictionMessage
284
- } else if (evictionDiv) {
285
- // Lock was not forcibly taken, so remove eviction message
286
- evictionDiv.remove()
287
- }
288
- }
289
-
290
- let statusDiv = form.querySelector('.ContentLockMessage-status')
291
- if (lockedOut && (lockChange || unlockingDisabledChanged)) {
292
- // User is currently locked out of the content
293
- if (statusDiv) {
294
- statusDiv.remove()
295
- }
296
- statusDiv = create('div', {
297
- className: 'ContentLockMessage-status message message-warning',
298
- })
299
- mainDiv.insertBefore(statusDiv, mainDiv.firstChild)
300
-
301
- statusDiv.innerHTML = data.statusMessage
302
- const unlockLink = statusDiv.querySelector('.ContentLock-link')
303
- if (unlockLink) {
304
- unlockLink.onclick = () => {
305
- const formData = new FormData()
306
- formData.append('forceUnlock', true)
307
- formData.append('contentId', contentId)
308
- postOnConfirm(form, unlockLink, formData)
309
- }
310
- }
311
-
312
- if (document.activeElement) {
313
- document.activeElement.blur()
314
- }
315
- } else if (!lockedOut) {
316
- // User currently has the lock
317
-
318
- if (data.statusMessage) {
319
- // User has disableUnlocking permissions, show them message
320
- if (lockChange || unlockingDisabledChanged) {
321
- if (statusDiv) {
322
- statusDiv.remove()
323
- }
324
- statusDiv = create('div', {
325
- className: 'ContentLockMessage-status message message-info',
326
- })
327
- mainDiv.insertBefore(statusDiv, mainDiv.firstChild)
328
-
329
- statusDiv.innerHTML = data.statusMessage
330
- const disableUnlockLink = statusDiv.querySelector('.ContentLock-link')
331
- if (disableUnlockLink) {
332
- disableUnlockLink.onclick = () => {
333
- const formData = new FormData()
334
- formData.append('disableUnlock', true)
335
- formData.append('contentId', contentId)
336
- postOnConfirm(form, disableUnlockLink, formData)
337
- }
338
- }
339
- }
340
- } else {
341
- // User doesn't have disableUnlocking permissions, remove message
342
- if (statusDiv) {
343
- statusDiv.remove()
344
- }
345
- }
346
-
347
- const evictionDiv = form.querySelector('.ContentLockMessage-eviction')
348
- if (evictionDiv) {
349
- evictionDiv.remove()
350
- }
351
- }
352
-
353
- let inactivityDiv = form.querySelector('.ContentLockMessage-inactive')
354
- if (data.inactivityMessage) {
355
- if (lockedOut && !inactivityDiv) {
356
- // Write link to take lock from inactive owner
357
- inactivityDiv = create('div', {
358
- className: 'ContentLockMessage-inactive message message-info',
359
- })
360
- mainDiv.insertBefore(inactivityDiv, mainDiv.firstChild)
361
-
362
- inactivityDiv.innerHTML = data.inactivityMessage
363
- const inactivityLink = inactivityDiv.querySelector('.ContentLock-link')
364
- if (inactivityLink) {
365
- inactivityLink.onclick = () => {
366
- const formData = new FormData()
367
- formData.append('inactiveUnlock', true)
368
- formData.append('contentId', contentId)
369
- postOnConfirm(form, inactivityLink, formData)
370
- }
371
- }
372
- } else if (!lockedOut && !title) {
373
- // Display warning title to inactive lock owner
374
- title = document.title
375
- document.title = data.inactivityMessage
376
- }
377
- } else {
378
- if (inactivityDiv) {
379
- // Remove link to unlock inactive user now that they're active
380
- inactivityDiv.remove()
381
- }
382
-
383
- if (title) {
384
- // Reset to original title, no longer inactive
385
- document.title = title
386
- title = null
387
- }
388
- }
389
-
390
- if (lockChange) {
391
- updateViewers(form, lockOwnerId)
392
- }
393
- }
394
-
395
- function postOnConfirm(form, link, data) {
396
- const message = link.getAttribute('data-confirm')
397
- if (message && confirm(message)) {
398
- post(form, data)
399
- }
400
- }
401
-
402
- function updateViewers(container, lockOwnerId) {
403
- // Add locked attribute to viewer icons
404
- const viewers = container.querySelectorAll('.EditFieldUpdateViewers-viewer')
405
- viewers.forEach((viewer) => {
406
- viewer.toggleAttribute(
407
- 'data-locked',
408
- viewer.getAttribute('data-user-id') === lockOwnerId,
409
- )
410
- })
411
- }
412
-
413
- function networkError(form) {
414
- if (!isLockOwner(form) || networkTimeout) {
415
- return
416
- }
417
-
418
- const timeoutInMinutes = form.getAttribute('data-lock-network-timeout')
419
- const messageDiv = create('div', {
420
- className: 'ContentLockMessage-timeout message message-error',
421
- })
422
- const message = create('span')
423
- message.innerHTML =
424
- 'Disconnected from network. Trying to reconnect. The lock might be dropped in: '
425
-
426
- const timer = create('span', {
427
- class: 'ContentLockTimer',
428
- })
429
- timer.innerHTML =
430
- (timeoutInMinutes < 10 ? '0' + timeoutInMinutes : timeoutInMinutes) + ':00'
431
-
432
- messageDiv.appendChild(message)
433
- messageDiv.appendChild(timer)
434
-
435
- const mainDiv = form.querySelector('.ContentEdit-main') || form
436
- mainDiv.insertBefore(messageDiv, mainDiv.firstChild)
437
-
438
- networkTimeout = true
439
- startTimer(timeoutInMinutes * 60 - 1, timer)
440
- }
441
-
442
- function startTimer(duration, span) {
443
- let timer = duration
444
- let minutes, seconds
445
- const interval = setInterval(function () {
446
- minutes = parseInt(timer / 60, 10)
447
- seconds = parseInt(timer % 60, 10)
448
-
449
- minutes = minutes < 10 ? '0' + minutes : minutes
450
- seconds = seconds < 10 ? '0' + seconds : seconds
451
-
452
- span.textContent = minutes + ':' + seconds
453
-
454
- if (--timer < 0 || !networkTimeout) {
455
- clearInterval(interval)
456
- }
457
- }, 1000)
458
- }
459
-
460
- onFind('.EditFieldUpdateViewers-viewer', (viewer) => {
461
- // Ensure viewers have the locked icon
462
- const lockOwner = viewer.closest('[data-content-lock-owner]')
463
- if (lockOwner) {
464
- viewer.toggleAttribute(
465
- 'data-locked',
466
- viewer.getAttribute('data-user-id') ===
467
- lockOwner.getAttribute('data-content-lock-owner'),
468
- )
469
- }
470
- })
@@ -1,32 +0,0 @@
1
- import onFind from './dom/onFind'
2
-
3
- // Moves the Run Report link to the top of the widget, next to the cog icon
4
- onFind('.ContentReportingWidget div.widgetControls', (controls) => {
5
- const runLink = document.querySelector('a.ContentReporting-runLink')
6
-
7
- if (runLink) {
8
- controls.before(runLink)
9
- }
10
- })
11
-
12
- // If the BE marks this widget as view-only, hides the cog icon and the action bar
13
- onFind('.ContentReportingWidget.is-viewOnly', (widget) => {
14
- const controls = widget.querySelector('div.widgetControls')
15
- const moreControls = widget.querySelector('div.widget-contentCreate')
16
- const actionBar = widget.querySelector('div.ActionBar')
17
-
18
- if (controls) {
19
- controls.innerHTML = ''
20
- controls.parentNode.removeChild(controls)
21
- }
22
-
23
- if (moreControls) {
24
- moreControls.innerHTML = ''
25
- moreControls.parentNode.removeChild(moreControls)
26
- }
27
-
28
- if (actionBar) {
29
- actionBar.innerHTML = ''
30
- actionBar.parentNode.removeChild(actionBar)
31
- }
32
- })
@@ -1,31 +0,0 @@
1
- import findAll from './dom/findAll'
2
- import onFind from './dom/onFind'
3
- import repaint from './util/repaint'
4
-
5
- // Compact mode?
6
- function isCompact(table) {
7
- return table.parentNode.getBoundingClientRect().width < 500
8
- }
9
-
10
- window.addEventListener(
11
- 'resize',
12
- repaint(() => {
13
- const items = []
14
-
15
- // Separate reads and writes to reduce forced layout.
16
- for (const table of findAll(document, '.DT')) {
17
- items.push({
18
- table,
19
- compact: isCompact(table),
20
- })
21
- }
22
-
23
- for (const { table, compact } of items) {
24
- table.classList.toggle('is-compact', compact)
25
- }
26
- }),
27
- )
28
-
29
- onFind('.DT', (table) => {
30
- table.classList.toggle('is-compact', isCompact(table))
31
- })