@clickview/library-editor 1.1.26 → 1.1.27-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (655) hide show
  1. package/.eslintrc.json +3 -0
  2. package/dist/css/1.chunk.css.map +1 -1
  3. package/dist/css/10.chunk.css.map +1 -1
  4. package/dist/css/11.chunk.css.map +1 -1
  5. package/dist/css/12.chunk.css.map +1 -1
  6. package/dist/css/13.chunk.css.map +1 -1
  7. package/dist/css/14.chunk.css.map +1 -1
  8. package/dist/css/16.chunk.css.map +1 -1
  9. package/dist/css/17.chunk.css.map +1 -1
  10. package/dist/css/18.chunk.css.map +1 -1
  11. package/dist/css/2.chunk.css.map +1 -1
  12. package/dist/css/21.chunk.css.map +1 -1
  13. package/dist/css/22.chunk.css.map +1 -1
  14. package/dist/css/23.chunk.css +5 -5
  15. package/dist/css/23.chunk.css.map +1 -1
  16. package/dist/css/25.chunk.css +2 -2
  17. package/dist/css/25.chunk.css.map +1 -1
  18. package/dist/css/26.chunk.css.map +1 -1
  19. package/dist/css/28.chunk.css.map +1 -1
  20. package/dist/css/29.chunk.css.map +1 -1
  21. package/dist/css/3.chunk.css.map +1 -1
  22. package/dist/css/30.chunk.css.map +1 -1
  23. package/dist/css/31.chunk.css.map +1 -1
  24. package/dist/css/32.chunk.css.map +1 -1
  25. package/dist/css/33.chunk.css.map +1 -1
  26. package/dist/css/34.chunk.css.map +1 -1
  27. package/dist/css/35.chunk.css.map +1 -1
  28. package/dist/css/36.chunk.css.map +1 -1
  29. package/dist/css/37.chunk.css.map +1 -1
  30. package/dist/css/38.chunk.css.map +1 -1
  31. package/dist/css/40.chunk.css.map +1 -1
  32. package/dist/css/41.chunk.css.map +1 -1
  33. package/dist/css/42.chunk.css.map +1 -1
  34. package/dist/css/43.chunk.css.map +1 -1
  35. package/dist/css/44.chunk.css.map +1 -1
  36. package/dist/css/45.chunk.css.map +1 -1
  37. package/dist/css/46.chunk.css.map +1 -1
  38. package/dist/css/47.chunk.css.map +1 -1
  39. package/dist/css/48.chunk.css.map +1 -1
  40. package/dist/css/49.chunk.css.map +1 -1
  41. package/dist/css/50.chunk.css.map +1 -1
  42. package/dist/css/51.chunk.css.map +1 -1
  43. package/dist/css/52.chunk.css.map +1 -1
  44. package/dist/css/55.chunk.css.map +1 -1
  45. package/dist/css/56.chunk.css.map +1 -1
  46. package/dist/css/58.chunk.css.map +1 -1
  47. package/dist/css/59.chunk.css.map +1 -1
  48. package/dist/css/6.chunk.css.map +1 -1
  49. package/dist/css/60.chunk.css.map +1 -1
  50. package/dist/css/62.chunk.css.map +1 -1
  51. package/dist/css/63.chunk.css.map +1 -1
  52. package/dist/css/67.chunk.css.map +1 -1
  53. package/dist/css/68.chunk.css.map +1 -1
  54. package/dist/css/69.chunk.css.map +1 -1
  55. package/dist/css/7.chunk.css.map +1 -1
  56. package/dist/css/70.chunk.css.map +1 -1
  57. package/dist/css/71.chunk.css.map +1 -1
  58. package/dist/css/72.chunk.css.map +1 -1
  59. package/dist/css/73.chunk.css.map +1 -1
  60. package/dist/css/74.chunk.css.map +1 -1
  61. package/dist/css/75.chunk.css.map +1 -1
  62. package/dist/css/76.chunk.css.map +1 -1
  63. package/dist/css/8.chunk.css.map +1 -1
  64. package/dist/css/library-editor-app.css +4 -4
  65. package/dist/css/library-editor-app.css.map +1 -1
  66. package/dist/en.json +1 -1
  67. package/dist/libs/analytics/src/clients/CollectionApiClient.d.ts +1 -3
  68. package/dist/libs/analytics/src/enrichers/BaseAnalyticsEnricher.d.ts +1 -1
  69. package/dist/libs/analytics/src/enrichers/UserDataEnricher.d.ts +1 -1
  70. package/dist/libs/analytics/src/interfaces/AnalyticsTypes.d.ts +9 -3
  71. package/dist/libs/analytics/src/utils/TypeHelper.d.ts +1 -1
  72. package/dist/libs/analytics/src/utils/VideoDataFormatHelper.d.ts +5 -5
  73. package/dist/libs/common/src/backbone/constants/CommonServices.d.ts +0 -1
  74. package/dist/libs/common/src/backbone/core/BaseAppRouter.d.ts +6 -2
  75. package/dist/libs/common/src/backbone/core/BaseApplication.d.ts +1 -1
  76. package/dist/libs/common/src/backbone/core/BaseBehavior.d.ts +1 -1
  77. package/dist/libs/common/src/backbone/core/BaseCollection.d.ts +1 -1
  78. package/dist/libs/common/src/backbone/core/BaseCollectionView.d.ts +1 -1
  79. package/dist/libs/common/src/backbone/core/BaseLayoutView.d.ts +1 -1
  80. package/dist/libs/common/src/backbone/core/BaseModel.d.ts +1 -1
  81. package/dist/libs/common/src/backbone/core/BaseNestedModel.d.ts +1 -1
  82. package/dist/libs/common/src/backbone/core/BaseService.d.ts +1 -1
  83. package/dist/libs/common/src/backbone/core/BaseView.d.ts +2 -2
  84. package/dist/libs/common/src/backbone/core/LayoutService.d.ts +1 -1
  85. package/dist/libs/common/src/backbone/core/ListenToRadio.d.ts +1 -1
  86. package/dist/libs/common/src/backbone/core/Shell.d.ts +1 -1
  87. package/dist/libs/common/src/backbone/core/index.d.ts +1 -1
  88. package/dist/libs/common/src/backbone/interfaces/BaseCollectionIdentifier.d.ts +2 -1
  89. package/dist/libs/common/src/backbone/interfaces/DataProvider.d.ts +1 -1
  90. package/dist/libs/common/src/backbone/interfaces/StickitBinding.d.ts +1 -1
  91. package/dist/libs/common/src/backbone/services/LanguageService.d.ts +1 -1
  92. package/dist/libs/common/src/backbone/services/data-providers/AjaxDataProvider.d.ts +1 -1
  93. package/dist/libs/common/src/backbone/services/data-providers/SignalRDataProvider.d.ts +2 -2
  94. package/dist/libs/common/src/backbone/utils/FunctionHelper.d.ts +3 -3
  95. package/dist/libs/common/src/react/utils/FetchHelper.d.ts +1 -1
  96. package/dist/libs/shared/src/apps/notifications/views/popover/NotificationsPopoverView.d.ts +2 -2
  97. package/dist/libs/shared/src/apps/search/components/instant-search/series/SeriesSearchResultComponent.d.ts +5 -0
  98. package/dist/libs/shared/src/apps/search/enums/SearchQueryType.d.ts +1 -1
  99. package/dist/libs/shared/src/apps/search/utils/InstantSearchHelper.d.ts +5 -5
  100. package/dist/libs/shared/src/apps/search/utils/TypeaheadHelper.d.ts +24 -24
  101. package/dist/libs/shared/src/apps/search/views/search-bar/SearchBarView.d.ts +8 -5
  102. package/dist/libs/shared/src/apps/upload/errors/file-type/FileTypeError.d.ts +1 -1
  103. package/dist/libs/shared/src/constants/BootstrapKeys.d.ts +2 -0
  104. package/dist/libs/shared/src/enums/MediaQueries.d.ts +3 -1
  105. package/dist/libs/shared/src/enums/ObjectStatus.d.ts +5 -0
  106. package/dist/libs/shared/src/enums/PlayerMediaType.d.ts +5 -0
  107. package/dist/libs/shared/src/enums/ResourceFileType.d.ts +9 -0
  108. package/dist/libs/shared/src/enums/SettingName.d.ts +0 -1
  109. package/dist/libs/shared/src/enums/UserGroup.d.ts +5 -0
  110. package/dist/libs/shared/src/enums/WidgetContents.d.ts +2 -1
  111. package/dist/libs/shared/src/images/svg/ImportedSvgs.d.ts +3 -1
  112. package/dist/libs/shared/src/images/svg/actions/index.d.ts +3 -1
  113. package/dist/libs/shared/src/interfaces/app-variables/BaseSearchAppVariables.d.ts +1 -0
  114. package/dist/libs/shared/src/interfaces/collections/ClassificationCollection.d.ts +4 -0
  115. package/dist/libs/shared/src/interfaces/collections/ClassroomCollection.d.ts +4 -0
  116. package/dist/libs/shared/src/interfaces/collections/ClassroomGroupCollection.d.ts +4 -0
  117. package/dist/libs/shared/src/interfaces/collections/InteractiveCollection.d.ts +2 -2
  118. package/dist/libs/shared/src/interfaces/collections/index.d.ts +4 -0
  119. package/dist/libs/shared/src/interfaces/models/Classroom.d.ts +4 -0
  120. package/dist/libs/shared/src/interfaces/models/ClassroomGroup.d.ts +18 -0
  121. package/dist/libs/shared/src/interfaces/models/Clip.d.ts +4 -3
  122. package/dist/libs/shared/src/interfaces/models/Config.d.ts +2 -0
  123. package/dist/libs/shared/src/interfaces/models/Curriculum.d.ts +4 -0
  124. package/dist/libs/shared/src/interfaces/models/Glance.d.ts +2 -0
  125. package/dist/libs/shared/src/interfaces/models/InteractiveMetadata.d.ts +14 -0
  126. package/dist/libs/shared/src/interfaces/models/Link.d.ts +1 -0
  127. package/dist/libs/shared/src/interfaces/models/PlayerViewKey.d.ts +3 -0
  128. package/dist/libs/shared/src/interfaces/models/Resource.d.ts +11 -3
  129. package/dist/libs/shared/src/interfaces/models/Thumbnail.d.ts +3 -0
  130. package/dist/libs/shared/src/interfaces/models/User.d.ts +10 -1
  131. package/dist/libs/shared/src/interfaces/models/Video.d.ts +6 -2
  132. package/dist/libs/shared/src/interfaces/models/VideoHistory.d.ts +4 -1
  133. package/dist/libs/shared/src/interfaces/models/Widget.d.ts +1 -1
  134. package/dist/libs/shared/src/interfaces/models/YearGroup.d.ts +5 -0
  135. package/dist/libs/shared/src/interfaces/models/index.d.ts +9 -1
  136. package/dist/libs/shared/src/interfaces/models/interactive/ActionableItem.d.ts +6 -0
  137. package/dist/libs/shared/src/interfaces/models/interactive/Interaction.d.ts +16 -0
  138. package/dist/libs/shared/src/interfaces/models/interactive/InteractionType.d.ts +7 -0
  139. package/dist/libs/shared/src/interfaces/models/interactive/InteractionTypeId.d.ts +8 -0
  140. package/dist/libs/shared/src/interfaces/models/interactive/Interactive.d.ts +7 -0
  141. package/dist/libs/shared/src/interfaces/models/interactive/Timepoint.d.ts +9 -0
  142. package/dist/libs/shared/src/interfaces/models/interactive/index.d.ts +6 -0
  143. package/dist/libs/shared/src/interfaces/models/primitives/BaseObject.d.ts +1 -0
  144. package/dist/libs/shared/src/interfaces/models/primitives/VirtualObject.d.ts +5 -0
  145. package/dist/libs/shared/src/interfaces/models/primitives/index.d.ts +1 -0
  146. package/dist/libs/shared/src/interfaces/requests/CreateOrUpdateClipRequest.d.ts +6 -0
  147. package/dist/libs/shared/src/interfaces/requests/CreateViewKeyRequest.d.ts +3 -0
  148. package/dist/libs/shared/src/interfaces/requests/UpdateVideoRequest.d.ts +5 -1
  149. package/dist/libs/shared/src/interfaces/requests/index.d.ts +5 -0
  150. package/dist/libs/shared/src/interfaces/services/BaseUserDataService.d.ts +2 -0
  151. package/dist/libs/shared/src/interfaces/services/index.d.ts +1 -0
  152. package/dist/libs/shared/src/legacy/components/thumbnail/ThumbnailComponent.d.ts +1 -1
  153. package/dist/libs/shared/src/utils/ImageHelper.d.ts +5 -4
  154. package/dist/libs/shared/src/utils/MaskHelper.d.ts +1 -1
  155. package/dist/libs/shared/src/utils/SvgHelper.d.ts +0 -1
  156. package/dist/libs/shared/src/utils/VideoDetailsHelper.d.ts +0 -9
  157. package/dist/projects/library-editor/src/app.d.ts +20 -5
  158. package/dist/projects/library-editor/src/apps/content-updates/utils/ContentUpdatesHelper.d.ts +1 -1
  159. package/dist/projects/library-editor/src/apps/library-editor/LibraryEditorApplication.d.ts +3 -3
  160. package/dist/projects/library-editor/src/apps/library-editor/components/file-uploads/FileUploadsComponentCollection.d.ts +1 -1
  161. package/dist/projects/library-editor/src/apps/library-editor/components/language-select/LanguageSelectTypeaheadHelper.d.ts +1 -2
  162. package/dist/projects/library-editor/src/apps/library-editor/components/video-resources/VideoResourcesComponent.d.ts +3 -1
  163. package/dist/projects/library-editor/src/apps/library-editor/components/video-subtitles/VideoSubtitlesComponent.d.ts +4 -1
  164. package/dist/projects/library-editor/src/apps/library-editor/enums/index.d.ts +0 -1
  165. package/dist/projects/library-editor/src/apps/library-editor/errors/index.d.ts +0 -2
  166. package/dist/projects/library-editor/src/apps/library-editor/services/VideoDataService.d.ts +2 -2
  167. package/dist/projects/library-editor/src/apps/library-editor/utils/EditVideoHelpers.d.ts +2 -2
  168. package/dist/projects/library-editor/src/apps/library-editor/utils/VideoDetailsHelper.d.ts +1 -1
  169. package/dist/projects/library-editor/src/apps/library-editor/views/edit-resources/EditResourcesView.d.ts +3 -3
  170. package/dist/projects/library-editor/src/apps/migration-wizard/MigrationWizardApplication.d.ts +1 -1
  171. package/dist/projects/library-editor/src/apps/migration-wizard/components/status-bar/StatusBarComponent.d.ts +2 -2
  172. package/dist/projects/library-editor/src/apps/migration-wizard/filters/MigrationFilters.d.ts +2 -2
  173. package/dist/projects/library-editor/src/apps/search/models/SearchAppVariables.d.ts +1 -0
  174. package/dist/projects/library-editor/src/apps/upload/UploadApplication.d.ts +2 -2
  175. package/dist/projects/library-editor/src/shared/behaviors/index.d.ts +0 -3
  176. package/dist/projects/library-editor/src/shared/behaviors/popup/PopupBehavior.d.ts +3 -3
  177. package/dist/projects/library-editor/src/shared/components/date-picker/DatePickerComponent.d.ts +2 -2
  178. package/dist/projects/library-editor/src/shared/components/dropdown/DropdownButtonComponent.d.ts +4 -4
  179. package/dist/projects/library-editor/src/shared/components/edit-video/edit-additional-info/EditAdditionalInfoComponent.d.ts +1 -1
  180. package/dist/projects/library-editor/src/shared/components/edit-video/select-rating/SelectRatingItemComponent.d.ts +1 -1
  181. package/dist/projects/library-editor/src/shared/components/image-cropper/ImageCropperComponent.d.ts +1 -1
  182. package/dist/projects/library-editor/src/shared/components/select/SelectComponent.d.ts +1 -1
  183. package/dist/projects/library-editor/src/shared/components/spinner-button/SpinnerButtonComponent.d.ts +1 -1
  184. package/dist/projects/library-editor/src/shared/components/tabs/TabsComponent.d.ts +1 -1
  185. package/dist/projects/library-editor/src/shared/components/typeahead-input/SearchTypeaheadComponent.d.ts +4 -4
  186. package/dist/projects/library-editor/src/shared/components/video-item/utils/VideoItemComponents.d.ts +1 -1
  187. package/dist/projects/library-editor/src/shared/enums/index.d.ts +0 -2
  188. package/dist/projects/library-editor/src/shared/errors/index.d.ts +0 -1
  189. package/dist/projects/library-editor/src/shared/filters/BetaAccessFilter.d.ts +1 -1
  190. package/dist/projects/library-editor/src/shared/filters/CustomerSettingsFilter.d.ts +1 -1
  191. package/dist/projects/library-editor/src/shared/filters/RoleFilter.d.ts +1 -1
  192. package/dist/projects/library-editor/src/shared/filters/VerifiedEmailFilter.d.ts +1 -1
  193. package/dist/projects/library-editor/src/shared/layouts/manage-layout/ManageLayoutView.d.ts +2 -0
  194. package/dist/projects/library-editor/src/shared/utils/PermissionsHelper.d.ts +1 -1
  195. package/dist/projects/library-editor/src/shared/utils/RatingHelper.d.ts +1 -2
  196. package/dist/projects/library-editor/src/shared/utils/VideoHelper.d.ts +1 -1
  197. package/dist/projects/library-editor/src/shared/utils/search/RawSearchHelper.d.ts +1 -1
  198. package/dist/projects/library-editor/src/shared/utils/search/raw-search-components/add-new/AddNewSuggestion.d.ts +1 -1
  199. package/dist/projects/library-editor/src/shared/views/download-video/DownloadVideoView.d.ts +0 -1
  200. package/dist/projects/library-editor/src/startup/RegisterAnalytics.d.ts +1 -1
  201. package/dist/projects/library-editor/src/startup/RegisterApplicationVariables.d.ts +1 -1
  202. package/dist/projects/library-editor/src/startup/RegisterApplications.d.ts +1 -1
  203. package/dist/projects/library-editor/src/startup/RegisterCaches.d.ts +1 -1
  204. package/dist/projects/library-editor/src/startup/RegisterDataProviders.d.ts +1 -1
  205. package/dist/projects/library-editor/src/startup/RegisterDataServices.d.ts +1 -1
  206. package/dist/projects/library-editor/src/startup/RegisterErrorHandlers.d.ts +1 -1
  207. package/dist/projects/library-editor/src/startup/RegisterHandlebarsHelpers.d.ts +1 -1
  208. package/dist/projects/library-editor/src/startup/RegisterLayouts.d.ts +1 -1
  209. package/dist/projects/library-editor/src/startup/RegisterServices.d.ts +1 -1
  210. package/dist/projects/library-editor/src/startup/RegisterViewDataExtensions.d.ts +1 -1
  211. package/dist/projects/library-editor/typings/libs/LazyLoad.d.ts +1 -1
  212. package/dist/scripts/{0-1c2bb7e28a.chunk.js → 0-e25d47c666.chunk.js} +1 -1
  213. package/dist/scripts/0.chunk.js +1 -1
  214. package/dist/scripts/0.chunk.js.map +1 -1
  215. package/dist/scripts/1-620c685eee.chunk.js +1 -0
  216. package/dist/scripts/1.chunk.js.map +1 -1
  217. package/dist/scripts/{10-31317a2d02.chunk.js → 10-3baf058564.chunk.js} +1 -1
  218. package/dist/scripts/10.chunk.js.map +1 -1
  219. package/dist/scripts/{11-039959db6c.chunk.js → 11-9f5f0c25dc.chunk.js} +1 -1
  220. package/dist/scripts/11.chunk.js.map +1 -1
  221. package/dist/scripts/{12-07999b80e0.chunk.js → 12-b460ad405e.chunk.js} +1 -1
  222. package/dist/scripts/12.chunk.js.map +1 -1
  223. package/dist/scripts/13-89b3a0aebb.chunk.js +1 -0
  224. package/dist/scripts/13.chunk.js.map +1 -1
  225. package/dist/scripts/14-670309ef33.chunk.js +1 -0
  226. package/dist/scripts/14.chunk.js.map +1 -1
  227. package/dist/scripts/15-39010184ed.chunk.js +1 -0
  228. package/dist/scripts/15.chunk.js.map +1 -1
  229. package/dist/scripts/{16-427a8933c8.chunk.js → 16-0971cabfc8.chunk.js} +1 -1
  230. package/dist/scripts/16.chunk.js.map +1 -1
  231. package/dist/scripts/{17-140fec014b.chunk.js → 17-f364868870.chunk.js} +1 -1
  232. package/dist/scripts/17.chunk.js.map +1 -1
  233. package/dist/scripts/18.chunk.js.map +1 -1
  234. package/dist/scripts/19.chunk.js.map +1 -1
  235. package/dist/scripts/{2-0c5fba8b60.chunk.js → 2-cd7f1d10b5.chunk.js} +1 -1
  236. package/dist/scripts/2.chunk.js.map +1 -1
  237. package/dist/scripts/{20-df9f6f7661.chunk.js → 20-42dc06da39.chunk.js} +1 -1
  238. package/dist/scripts/20.chunk.js.map +1 -1
  239. package/dist/scripts/{21-0b84d33cef.chunk.js → 21-05615559be.chunk.js} +1 -1
  240. package/dist/scripts/21.chunk.js.map +1 -1
  241. package/dist/scripts/{22-3b2207c8f6.chunk.js → 22-70b4c18dd2.chunk.js} +1 -1
  242. package/dist/scripts/22.chunk.js.map +1 -1
  243. package/dist/scripts/23-3166dfeef5.chunk.js +1 -0
  244. package/dist/scripts/23.chunk.js +1 -1
  245. package/dist/scripts/23.chunk.js.map +1 -1
  246. package/dist/scripts/{24-7aa9b43511.chunk.js → 24-6fbd14025b.chunk.js} +1 -1
  247. package/dist/scripts/24.chunk.js.map +1 -1
  248. package/dist/scripts/25-3d067b8b9a.chunk.js +1 -0
  249. package/dist/scripts/25.chunk.js.map +1 -1
  250. package/dist/scripts/{26-d166e3c313.chunk.js → 26-468305820a.chunk.js} +1 -1
  251. package/dist/scripts/26.chunk.js.map +1 -1
  252. package/dist/scripts/27-d03a99658e.chunk.js +1 -0
  253. package/dist/scripts/27.chunk.js +1 -1
  254. package/dist/scripts/27.chunk.js.map +1 -1
  255. package/dist/scripts/{28-738b88c816.chunk.js → 28-f3f43a3001.chunk.js} +1 -1
  256. package/dist/scripts/28.chunk.js +2 -2
  257. package/dist/scripts/28.chunk.js.map +1 -1
  258. package/dist/scripts/29-268278d2ac.chunk.js +1 -0
  259. package/dist/scripts/29.chunk.js.map +1 -1
  260. package/dist/scripts/{3-42e8af9f39.chunk.js → 3-4694b66aa5.chunk.js} +1 -1
  261. package/dist/scripts/3.chunk.js +4 -4
  262. package/dist/scripts/3.chunk.js.map +1 -1
  263. package/dist/scripts/{30-109f8ddd5c.chunk.js → 30-694b0a0d4b.chunk.js} +1 -1
  264. package/dist/scripts/30.chunk.js +2 -2
  265. package/dist/scripts/30.chunk.js.map +1 -1
  266. package/dist/scripts/{31-639090fee3.chunk.js → 31-4c542c18dc.chunk.js} +1 -1
  267. package/dist/scripts/31.chunk.js.map +1 -1
  268. package/dist/scripts/32-a1543ffe27.chunk.js +1 -0
  269. package/dist/scripts/32.chunk.js +4 -0
  270. package/dist/scripts/32.chunk.js.map +1 -1
  271. package/dist/scripts/33-9685703df6.chunk.js +1 -0
  272. package/dist/scripts/33.chunk.js +46 -33
  273. package/dist/scripts/33.chunk.js.map +1 -1
  274. package/dist/scripts/34-eb9f6709b3.chunk.js +1 -0
  275. package/dist/scripts/34.chunk.js.map +1 -1
  276. package/dist/scripts/35-1ff49137e7.chunk.js +1 -0
  277. package/dist/scripts/35.chunk.js.map +1 -1
  278. package/dist/scripts/36-9e89154ca2.chunk.js +1 -0
  279. package/dist/scripts/36.chunk.js.map +1 -1
  280. package/dist/scripts/{37-3f3a603b60.chunk.js → 37-80589d542e.chunk.js} +1 -1
  281. package/dist/scripts/37.chunk.js.map +1 -1
  282. package/dist/scripts/38-7e88534f67.chunk.js +1 -0
  283. package/dist/scripts/38.chunk.js.map +1 -1
  284. package/dist/scripts/{39-71c4bb46b2.chunk.js → 39-99824f3b64.chunk.js} +1 -1
  285. package/dist/scripts/39.chunk.js.map +1 -1
  286. package/dist/scripts/4-ad1e4b43da.chunk.js +1 -0
  287. package/dist/scripts/4.chunk.js.map +1 -1
  288. package/dist/scripts/{40-f1d72b1049.chunk.js → 40-dbfd665c74.chunk.js} +1 -1
  289. package/dist/scripts/40.chunk.js.map +1 -1
  290. package/dist/scripts/41-25fbac3d17.chunk.js +1 -0
  291. package/dist/scripts/41.chunk.js.map +1 -1
  292. package/dist/scripts/{42-3480033857.chunk.js → 42-9f757567db.chunk.js} +1 -1
  293. package/dist/scripts/42.chunk.js +13 -13
  294. package/dist/scripts/42.chunk.js.map +1 -1
  295. package/dist/scripts/{43-2fe5b1c9cc.chunk.js → 43-5ef29feb2c.chunk.js} +1 -1
  296. package/dist/scripts/43.chunk.js.map +1 -1
  297. package/dist/scripts/44-223f602431.chunk.js +1 -0
  298. package/dist/scripts/44.chunk.js.map +1 -1
  299. package/dist/scripts/45-344492a36f.chunk.js +1 -0
  300. package/dist/scripts/45.chunk.js.map +1 -1
  301. package/dist/scripts/46-9ca7afd6a4.chunk.js +1 -0
  302. package/dist/scripts/46.chunk.js +2 -2
  303. package/dist/scripts/46.chunk.js.map +1 -1
  304. package/dist/scripts/{47-1e3d829757.chunk.js → 47-ac0c9c5ce1.chunk.js} +1 -1
  305. package/dist/scripts/47.chunk.js.map +1 -1
  306. package/dist/scripts/{48-877e9e02b8.chunk.js → 48-6bf590b9a0.chunk.js} +1 -1
  307. package/dist/scripts/48.chunk.js.map +1 -1
  308. package/dist/scripts/{49-0f9a6a1782.chunk.js → 49-8e3e782ffb.chunk.js} +1 -1
  309. package/dist/scripts/49.chunk.js.map +1 -1
  310. package/dist/scripts/5-b236603e85.chunk.js +1 -0
  311. package/dist/scripts/5.chunk.js +1 -1
  312. package/dist/scripts/5.chunk.js.map +1 -1
  313. package/dist/scripts/{50-0741587a02.chunk.js → 50-30ba08212e.chunk.js} +1 -1
  314. package/dist/scripts/50.chunk.js.map +1 -1
  315. package/dist/scripts/{51-a5f1309ada.chunk.js → 51-828972defb.chunk.js} +1 -1
  316. package/dist/scripts/51.chunk.js.map +1 -1
  317. package/dist/scripts/{52-bc48f1f9e8.chunk.js → 52-b2acf3e742.chunk.js} +1 -1
  318. package/dist/scripts/52.chunk.js.map +1 -1
  319. package/dist/scripts/{53-36007500cf.chunk.js → 53-5d6ea94871.chunk.js} +1 -1
  320. package/dist/scripts/53.chunk.js.map +1 -1
  321. package/dist/scripts/{54-7cdbdcebf9.chunk.js → 54-2d8bd6fde0.chunk.js} +1 -1
  322. package/dist/scripts/54.chunk.js.map +1 -1
  323. package/dist/scripts/{55-078bb9b0ea.chunk.js → 55-4a8d360746.chunk.js} +1 -1
  324. package/dist/scripts/55.chunk.js.map +1 -1
  325. package/dist/scripts/{56-36d54fa08f.chunk.js → 56-ad12ebab5f.chunk.js} +1 -1
  326. package/dist/scripts/56.chunk.js.map +1 -1
  327. package/dist/scripts/{57-0e126120b9.chunk.js → 57-53b89c2ef0.chunk.js} +1 -1
  328. package/dist/scripts/57.chunk.js.map +1 -1
  329. package/dist/scripts/{58-17706ccb46.chunk.js → 58-b246abe78c.chunk.js} +1 -1
  330. package/dist/scripts/58.chunk.js.map +1 -1
  331. package/dist/scripts/{59-0a7bdc86b0.chunk.js → 59-19290686e0.chunk.js} +1 -1
  332. package/dist/scripts/59.chunk.js.map +1 -1
  333. package/dist/scripts/{6-51a379e066.chunk.js → 6-6fb543aa78.chunk.js} +1 -1
  334. package/dist/scripts/6.chunk.js.map +1 -1
  335. package/dist/scripts/{60-0d8896555f.chunk.js → 60-0c075e7b5c.chunk.js} +1 -1
  336. package/dist/scripts/60.chunk.js.map +1 -1
  337. package/dist/scripts/{61-57fa6b5248.chunk.js → 61-2725bbfab2.chunk.js} +1 -1
  338. package/dist/scripts/61.chunk.js +4 -4
  339. package/dist/scripts/61.chunk.js.map +1 -1
  340. package/dist/scripts/{62-67458b7fb4.chunk.js → 62-472d10a18e.chunk.js} +1 -1
  341. package/dist/scripts/62.chunk.js.map +1 -1
  342. package/dist/scripts/{63-420b10f5f2.chunk.js → 63-7d00e50441.chunk.js} +1 -1
  343. package/dist/scripts/63.chunk.js.map +1 -1
  344. package/dist/scripts/{64-e6598113a7.chunk.js → 64-1b42f78644.chunk.js} +1 -1
  345. package/dist/scripts/64.chunk.js.map +1 -1
  346. package/dist/scripts/{65-93567fe088.chunk.js → 65-14af88c745.chunk.js} +1 -1
  347. package/dist/scripts/65.chunk.js.map +1 -1
  348. package/dist/scripts/{66-c84a3a3c3f.chunk.js → 66-bc274df13a.chunk.js} +1 -1
  349. package/dist/scripts/66.chunk.js.map +1 -1
  350. package/dist/scripts/67-d1edef09d6.chunk.js +1 -0
  351. package/dist/scripts/67.chunk.js.map +1 -1
  352. package/dist/scripts/{68-38a6d7fb50.chunk.js → 68-52468201b9.chunk.js} +1 -1
  353. package/dist/scripts/68.chunk.js.map +1 -1
  354. package/dist/scripts/{69-3d2063cd0f.chunk.js → 69-b681e9a99c.chunk.js} +1 -1
  355. package/dist/scripts/69.chunk.js.map +1 -1
  356. package/dist/scripts/{7-d41d3bf60c.chunk.js → 7-2807a666bc.chunk.js} +1 -1
  357. package/dist/scripts/7.chunk.js.map +1 -1
  358. package/dist/scripts/{70-27e9e5792a.chunk.js → 70-d4018838a9.chunk.js} +1 -1
  359. package/dist/scripts/70.chunk.js.map +1 -1
  360. package/dist/scripts/{71-c5923e2d2d.chunk.js → 71-29cce07c7f.chunk.js} +1 -1
  361. package/dist/scripts/71.chunk.js.map +1 -1
  362. package/dist/scripts/{72-0a6c88f9fe.chunk.js → 72-6f83214b8d.chunk.js} +1 -1
  363. package/dist/scripts/72.chunk.js.map +1 -1
  364. package/dist/scripts/73.chunk.js.map +1 -1
  365. package/dist/scripts/74.chunk.js.map +1 -1
  366. package/dist/scripts/75.chunk.js.map +1 -1
  367. package/dist/scripts/76.chunk.js.map +1 -1
  368. package/dist/scripts/77.chunk.js.map +1 -1
  369. package/dist/scripts/78.chunk.js.map +1 -1
  370. package/dist/scripts/79.chunk.js.map +1 -1
  371. package/dist/scripts/{8-7278f3247c.chunk.js → 8-8f44e8bfc4.chunk.js} +1 -1
  372. package/dist/scripts/8.chunk.js.map +1 -1
  373. package/dist/scripts/80.chunk.js.map +1 -1
  374. package/dist/scripts/81.chunk.js.map +1 -1
  375. package/dist/scripts/82.chunk.js.map +1 -1
  376. package/dist/scripts/83.chunk.js.map +1 -1
  377. package/dist/scripts/84.chunk.js.map +1 -1
  378. package/dist/scripts/85.chunk.js.map +1 -1
  379. package/dist/scripts/86.chunk.js.map +1 -1
  380. package/dist/scripts/87.chunk.js.map +1 -1
  381. package/dist/scripts/88.chunk.js.map +1 -1
  382. package/dist/scripts/89.chunk.js.map +1 -1
  383. package/dist/scripts/9-b8f9ea66c4.chunk.js +1 -0
  384. package/dist/scripts/9.chunk.js.map +1 -1
  385. package/dist/scripts/90.chunk.js.map +1 -1
  386. package/dist/scripts/91.chunk.js.map +1 -1
  387. package/dist/scripts/92.chunk.js.map +1 -1
  388. package/dist/scripts/bundle-f28b86bf5b.min.js +8 -0
  389. package/dist/scripts/bundle.js +593 -487
  390. package/dist/scripts/bundle.js.map +1 -1
  391. package/dist/scripts/bundles.json +2 -2
  392. package/dist/scripts/polyfills-1d2233ebcc.min.js +1 -0
  393. package/dist/scripts/polyfills.js +350 -350
  394. package/dist/scripts/polyfills.js.map +1 -1
  395. package/package.json +4 -3
  396. package/typings/libs/CVEvents.d.ts +1 -1
  397. package/typings/libs/LazyLoad.ts +2 -1
  398. package/typings/libs/Trackers.d.ts +1 -1
  399. package/dist/libs/common/src/backbone/services/ScrollService.d.ts +0 -19
  400. package/dist/projects/library-editor/src/apps/library-editor/components/file-select/FileSelectComponent.d.ts +0 -30
  401. package/dist/projects/library-editor/src/apps/library-editor/components/file-uploads/FileUploadComponent.d.ts +0 -15
  402. package/dist/projects/library-editor/src/apps/library-editor/components/video-resources/ResourceItemComponent.d.ts +0 -22
  403. package/dist/projects/library-editor/src/apps/library-editor/components/video-subtitles/SubtitleItemComponent.d.ts +0 -18
  404. package/dist/projects/library-editor/src/apps/library-editor/enums/ObjectOwnerType.d.ts +0 -4
  405. package/dist/projects/library-editor/src/apps/library-editor/errors/too-many-resources/TooManyResourcesError.d.ts +0 -8
  406. package/dist/projects/library-editor/src/apps/library-editor/errors/too-many-subtitles/TooManySubtitlesError.d.ts +0 -8
  407. package/dist/projects/library-editor/src/shared/behaviors/file-drop/FileDropBehavior.d.ts +0 -19
  408. package/dist/projects/library-editor/src/shared/behaviors/file-drop/FileDropHelper.d.ts +0 -4
  409. package/dist/projects/library-editor/src/shared/behaviors/file-drop/FileDropMaskBehavior.d.ts +0 -19
  410. package/dist/projects/library-editor/src/shared/behaviors/file-select/FileSelectBehavior.d.ts +0 -16
  411. package/dist/projects/library-editor/src/shared/enums/MasterObjectTypes.d.ts +0 -8
  412. package/dist/projects/library-editor/src/shared/enums/UploadInteractionType.d.ts +0 -4
  413. package/dist/projects/library-editor/src/shared/errors/too-many-files/TooManyFilesError.d.ts +0 -7
  414. package/dist/scripts/0-1dbc79e4e7.chunk.js +0 -1
  415. package/dist/scripts/0-8b75adf540.chunk.js +0 -1
  416. package/dist/scripts/0-93276429bf.chunk.js +0 -1
  417. package/dist/scripts/1-22a3bd404f.chunk.js +0 -1
  418. package/dist/scripts/1-480e5932a6.chunk.js +0 -1
  419. package/dist/scripts/1-6051b28de6.chunk.js +0 -1
  420. package/dist/scripts/1-b85c11fc30.chunk.js +0 -1
  421. package/dist/scripts/10-3ff370d548.chunk.js +0 -1
  422. package/dist/scripts/10-923c4b075a.chunk.js +0 -1
  423. package/dist/scripts/10-e2fea45a6c.chunk.js +0 -1
  424. package/dist/scripts/11-3dec7d2c7e.chunk.js +0 -11
  425. package/dist/scripts/11-74bc3f2d9f.chunk.js +0 -11
  426. package/dist/scripts/12-24bd360be0.chunk.js +0 -1
  427. package/dist/scripts/12-6ecdd79b85.chunk.js +0 -1
  428. package/dist/scripts/12-e522e64a94.chunk.js +0 -1
  429. package/dist/scripts/13-081c0e5887.chunk.js +0 -1
  430. package/dist/scripts/13-282f8add17.chunk.js +0 -1
  431. package/dist/scripts/13-54fe4fe53b.chunk.js +0 -1
  432. package/dist/scripts/13-958a8fd026.chunk.js +0 -1
  433. package/dist/scripts/14-16f84b2721.chunk.js +0 -1
  434. package/dist/scripts/14-45cd4dc6ef.chunk.js +0 -1
  435. package/dist/scripts/14-5e443cb402.chunk.js +0 -1
  436. package/dist/scripts/14-68c85d6674.chunk.js +0 -1
  437. package/dist/scripts/15-12fa4c3471.chunk.js +0 -1
  438. package/dist/scripts/15-1f779dd0d3.chunk.js +0 -1
  439. package/dist/scripts/15-5544e6bde6.chunk.js +0 -1
  440. package/dist/scripts/15-8c96c3288e.chunk.js +0 -1
  441. package/dist/scripts/16-670c43d26f.chunk.js +0 -1
  442. package/dist/scripts/16-742a776f88.chunk.js +0 -1
  443. package/dist/scripts/16-7bcffb06e7.chunk.js +0 -1
  444. package/dist/scripts/17-7093f50dff.chunk.js +0 -1
  445. package/dist/scripts/17-b5e44e8b17.chunk.js +0 -1
  446. package/dist/scripts/17-f6b0159da3.chunk.js +0 -1
  447. package/dist/scripts/2-5fd33f5359.chunk.js +0 -1
  448. package/dist/scripts/2-7cc9176e8a.chunk.js +0 -1
  449. package/dist/scripts/20-4d88ede0e0.chunk.js +0 -1
  450. package/dist/scripts/20-732a7a549d.chunk.js +0 -1
  451. package/dist/scripts/20-a84733c89f.chunk.js +0 -1
  452. package/dist/scripts/21-9b28a13702.chunk.js +0 -1
  453. package/dist/scripts/21-c9983ca8ad.chunk.js +0 -1
  454. package/dist/scripts/21-ee85b6d208.chunk.js +0 -1
  455. package/dist/scripts/22-082c94a39c.chunk.js +0 -1
  456. package/dist/scripts/22-151cf38018.chunk.js +0 -1
  457. package/dist/scripts/22-6e6ed9f607.chunk.js +0 -1
  458. package/dist/scripts/23-1af21bf234.chunk.js +0 -1
  459. package/dist/scripts/23-2b00ff99bf.chunk.js +0 -1
  460. package/dist/scripts/23-94f9fe4222.chunk.js +0 -1
  461. package/dist/scripts/23-ab8f73ee87.chunk.js +0 -1
  462. package/dist/scripts/24-74ab289589.chunk.js +0 -1
  463. package/dist/scripts/24-c94049500e.chunk.js +0 -1
  464. package/dist/scripts/24-d1ffdd4755.chunk.js +0 -1
  465. package/dist/scripts/25-34c0406f50.chunk.js +0 -1
  466. package/dist/scripts/25-5a38ce3533.chunk.js +0 -1
  467. package/dist/scripts/25-76d9011eea.chunk.js +0 -1
  468. package/dist/scripts/25-866cfc0ef5.chunk.js +0 -1
  469. package/dist/scripts/26-d19e3f755c.chunk.js +0 -1
  470. package/dist/scripts/26-e53ba8e00f.chunk.js +0 -1
  471. package/dist/scripts/26-ea028a6276.chunk.js +0 -1
  472. package/dist/scripts/27-2109d41afa.chunk.js +0 -1
  473. package/dist/scripts/27-3aa629dd67.chunk.js +0 -1
  474. package/dist/scripts/27-c1241fcd84.chunk.js +0 -1
  475. package/dist/scripts/27-ee88c84482.chunk.js +0 -1
  476. package/dist/scripts/28-5c540e74cc.chunk.js +0 -1
  477. package/dist/scripts/28-76b9766891.chunk.js +0 -1
  478. package/dist/scripts/28-e490147f6b.chunk.js +0 -1
  479. package/dist/scripts/29-2da59b1589.chunk.js +0 -1
  480. package/dist/scripts/29-3faa153e38.chunk.js +0 -1
  481. package/dist/scripts/29-69389908f8.chunk.js +0 -1
  482. package/dist/scripts/29-bb7e39304b.chunk.js +0 -1
  483. package/dist/scripts/3-6e67dd4b74.chunk.js +0 -1
  484. package/dist/scripts/3-81b501ac1e.chunk.js +0 -1
  485. package/dist/scripts/3-c69e4454ce.chunk.js +0 -1
  486. package/dist/scripts/30-9d32d88d76.chunk.js +0 -1
  487. package/dist/scripts/30-a1df3e37da.chunk.js +0 -1
  488. package/dist/scripts/30-fa390c35f6.chunk.js +0 -1
  489. package/dist/scripts/31-ce31250e42.chunk.js +0 -1
  490. package/dist/scripts/31-f15802825c.chunk.js +0 -1
  491. package/dist/scripts/31-fc63c4629d.chunk.js +0 -1
  492. package/dist/scripts/32-1ad8193581.chunk.js +0 -1
  493. package/dist/scripts/32-3de9c7454b.chunk.js +0 -1
  494. package/dist/scripts/32-4173874dbe.chunk.js +0 -1
  495. package/dist/scripts/32-9bca57f408.chunk.js +0 -1
  496. package/dist/scripts/33-20ac0ab4a1.chunk.js +0 -1
  497. package/dist/scripts/33-350334db4c.chunk.js +0 -1
  498. package/dist/scripts/33-675467f07d.chunk.js +0 -1
  499. package/dist/scripts/33-7efae85b8b.chunk.js +0 -1
  500. package/dist/scripts/34-0a7f3b55fe.chunk.js +0 -1
  501. package/dist/scripts/34-3adf309726.chunk.js +0 -1
  502. package/dist/scripts/34-c4f0495750.chunk.js +0 -1
  503. package/dist/scripts/34-f6eea83a09.chunk.js +0 -1
  504. package/dist/scripts/35-17b30890a5.chunk.js +0 -1
  505. package/dist/scripts/35-4254e160f0.chunk.js +0 -1
  506. package/dist/scripts/35-7f90628b77.chunk.js +0 -1
  507. package/dist/scripts/35-9c3899dfbd.chunk.js +0 -1
  508. package/dist/scripts/36-1fde696d6a.chunk.js +0 -1
  509. package/dist/scripts/36-2ec95df618.chunk.js +0 -1
  510. package/dist/scripts/36-b5ad543fba.chunk.js +0 -1
  511. package/dist/scripts/36-cdbe95bd06.chunk.js +0 -1
  512. package/dist/scripts/37-6fa4b8fc60.chunk.js +0 -1
  513. package/dist/scripts/37-97b84a8be5.chunk.js +0 -1
  514. package/dist/scripts/37-c649a307d4.chunk.js +0 -1
  515. package/dist/scripts/38-0cf8029bec.chunk.js +0 -1
  516. package/dist/scripts/38-1c98f19489.chunk.js +0 -1
  517. package/dist/scripts/38-6fc346f964.chunk.js +0 -1
  518. package/dist/scripts/38-7ffe535b0d.chunk.js +0 -1
  519. package/dist/scripts/39-13d6669c3f.chunk.js +0 -1
  520. package/dist/scripts/39-748eb61732.chunk.js +0 -1
  521. package/dist/scripts/39-e5983a5d53.chunk.js +0 -1
  522. package/dist/scripts/4-435484d217.chunk.js +0 -1
  523. package/dist/scripts/4-5c50e71b83.chunk.js +0 -1
  524. package/dist/scripts/4-7274621693.chunk.js +0 -1
  525. package/dist/scripts/4-85ba8523ad.chunk.js +0 -1
  526. package/dist/scripts/40-2691dfbd5a.chunk.js +0 -1
  527. package/dist/scripts/40-2ecbd41570.chunk.js +0 -1
  528. package/dist/scripts/40-a691a401ff.chunk.js +0 -1
  529. package/dist/scripts/41-0368ba16dc.chunk.js +0 -1
  530. package/dist/scripts/41-1df587ee3a.chunk.js +0 -1
  531. package/dist/scripts/41-85fcb15184.chunk.js +0 -1
  532. package/dist/scripts/41-bb9aef24f7.chunk.js +0 -1
  533. package/dist/scripts/42-389acb6e55.chunk.js +0 -1
  534. package/dist/scripts/42-3ef41f40f5.chunk.js +0 -1
  535. package/dist/scripts/42-61a626d7f4.chunk.js +0 -1
  536. package/dist/scripts/43-49f13dab14.chunk.js +0 -1
  537. package/dist/scripts/43-72d1bc0ae2.chunk.js +0 -1
  538. package/dist/scripts/43-a5b882d502.chunk.js +0 -1
  539. package/dist/scripts/44-0703eb0ad8.chunk.js +0 -1
  540. package/dist/scripts/44-756fd6622b.chunk.js +0 -1
  541. package/dist/scripts/44-de22428999.chunk.js +0 -1
  542. package/dist/scripts/44-ee6a740a16.chunk.js +0 -1
  543. package/dist/scripts/45-610d098194.chunk.js +0 -1
  544. package/dist/scripts/45-806dd5b78c.chunk.js +0 -1
  545. package/dist/scripts/45-da34a8b6b2.chunk.js +0 -1
  546. package/dist/scripts/45-e4a92a40fd.chunk.js +0 -1
  547. package/dist/scripts/46-4aa05464fe.chunk.js +0 -1
  548. package/dist/scripts/46-cadf3f46ee.chunk.js +0 -1
  549. package/dist/scripts/46-cccef3e874.chunk.js +0 -1
  550. package/dist/scripts/46-ebf8eee4ac.chunk.js +0 -1
  551. package/dist/scripts/47-22a83e5974.chunk.js +0 -1
  552. package/dist/scripts/47-56d22af6ba.chunk.js +0 -1
  553. package/dist/scripts/47-c61fa52c53.chunk.js +0 -1
  554. package/dist/scripts/48-e05ab3ecac.chunk.js +0 -1
  555. package/dist/scripts/48-e577124476.chunk.js +0 -1
  556. package/dist/scripts/48-fc96b968fc.chunk.js +0 -1
  557. package/dist/scripts/49-13c5f8e87d.chunk.js +0 -1
  558. package/dist/scripts/49-4a6c119f58.chunk.js +0 -1
  559. package/dist/scripts/49-f9151c7e06.chunk.js +0 -1
  560. package/dist/scripts/5-06b97501c3.chunk.js +0 -1
  561. package/dist/scripts/5-1ba89c4774.chunk.js +0 -1
  562. package/dist/scripts/5-515b264fbc.chunk.js +0 -1
  563. package/dist/scripts/5-d6a7d71167.chunk.js +0 -1
  564. package/dist/scripts/50-0d5aed7730.chunk.js +0 -1
  565. package/dist/scripts/50-3924907655.chunk.js +0 -1
  566. package/dist/scripts/50-4de0b758d5.chunk.js +0 -1
  567. package/dist/scripts/51-cd37c8efa2.chunk.js +0 -1
  568. package/dist/scripts/51-dca2a9cc86.chunk.js +0 -1
  569. package/dist/scripts/51-ea33746146.chunk.js +0 -1
  570. package/dist/scripts/52-50230b48c8.chunk.js +0 -1
  571. package/dist/scripts/52-8b53a5c0b1.chunk.js +0 -1
  572. package/dist/scripts/52-a3c8ed29ca.chunk.js +0 -1
  573. package/dist/scripts/53-0e253f9f3e.chunk.js +0 -1
  574. package/dist/scripts/53-54b0df474f.chunk.js +0 -1
  575. package/dist/scripts/53-d8f0dea552.chunk.js +0 -1
  576. package/dist/scripts/54-d1bc70c7b5.chunk.js +0 -1
  577. package/dist/scripts/54-dd4d101665.chunk.js +0 -1
  578. package/dist/scripts/54-ead54d0b34.chunk.js +0 -1
  579. package/dist/scripts/55-3c60601030.chunk.js +0 -1
  580. package/dist/scripts/55-a5fa20b497.chunk.js +0 -1
  581. package/dist/scripts/55-e29d6a6ba9.chunk.js +0 -1
  582. package/dist/scripts/56-370078d597.chunk.js +0 -1
  583. package/dist/scripts/56-7a6c662f14.chunk.js +0 -1
  584. package/dist/scripts/56-df0a32000b.chunk.js +0 -1
  585. package/dist/scripts/57-6e622c6480.chunk.js +0 -1
  586. package/dist/scripts/57-a4f4d6fe41.chunk.js +0 -1
  587. package/dist/scripts/57-c1faec8b32.chunk.js +0 -1
  588. package/dist/scripts/58-5729cbaa5c.chunk.js +0 -1
  589. package/dist/scripts/58-a0fe201826.chunk.js +0 -1
  590. package/dist/scripts/58-e996405f2b.chunk.js +0 -1
  591. package/dist/scripts/59-333f38ee3b.chunk.js +0 -1
  592. package/dist/scripts/59-381a49ed7f.chunk.js +0 -1
  593. package/dist/scripts/59-4f2fcb6412.chunk.js +0 -1
  594. package/dist/scripts/6-1045293de4.chunk.js +0 -1
  595. package/dist/scripts/6-40c8ba5007.chunk.js +0 -1
  596. package/dist/scripts/6-b3d36065dc.chunk.js +0 -1
  597. package/dist/scripts/60-b17c6609cd.chunk.js +0 -1
  598. package/dist/scripts/60-b4a91c86fa.chunk.js +0 -1
  599. package/dist/scripts/60-c57f161f18.chunk.js +0 -1
  600. package/dist/scripts/61-5d6e59d408.chunk.js +0 -1
  601. package/dist/scripts/61-7d81d27c31.chunk.js +0 -1
  602. package/dist/scripts/61-a342a0d501.chunk.js +0 -1
  603. package/dist/scripts/62-758f5e505b.chunk.js +0 -1
  604. package/dist/scripts/62-b572d8b80d.chunk.js +0 -1
  605. package/dist/scripts/62-f5fd35fdc0.chunk.js +0 -1
  606. package/dist/scripts/63-568008965e.chunk.js +0 -1
  607. package/dist/scripts/63-6700b4d00a.chunk.js +0 -1
  608. package/dist/scripts/63-c88b9860e9.chunk.js +0 -1
  609. package/dist/scripts/64-9c88ee6161.chunk.js +0 -1
  610. package/dist/scripts/64-e177d4c971.chunk.js +0 -1
  611. package/dist/scripts/64-fa2facacbb.chunk.js +0 -1
  612. package/dist/scripts/65-a7e499ceee.chunk.js +0 -1
  613. package/dist/scripts/65-e4568d1f06.chunk.js +0 -1
  614. package/dist/scripts/65-f750573f69.chunk.js +0 -1
  615. package/dist/scripts/66-f00f29ccae.chunk.js +0 -1
  616. package/dist/scripts/66-f325ff3187.chunk.js +0 -1
  617. package/dist/scripts/66-f6d213b33c.chunk.js +0 -1
  618. package/dist/scripts/67-1ebaab7a2d.chunk.js +0 -1
  619. package/dist/scripts/67-3c9628d296.chunk.js +0 -1
  620. package/dist/scripts/67-97c694c3d5.chunk.js +0 -1
  621. package/dist/scripts/67-c5af18680c.chunk.js +0 -1
  622. package/dist/scripts/68-488cd1552f.chunk.js +0 -1
  623. package/dist/scripts/68-7b1d5e8e75.chunk.js +0 -1
  624. package/dist/scripts/68-eb8700aeb1.chunk.js +0 -1
  625. package/dist/scripts/69-870856c6fb.chunk.js +0 -1
  626. package/dist/scripts/69-b0ea71d7c5.chunk.js +0 -1
  627. package/dist/scripts/69-be2be90b7c.chunk.js +0 -1
  628. package/dist/scripts/7-3151397d74.chunk.js +0 -1
  629. package/dist/scripts/7-aac8c84ccb.chunk.js +0 -1
  630. package/dist/scripts/7-dfddb8ffa8.chunk.js +0 -1
  631. package/dist/scripts/70-39dc936989.chunk.js +0 -1
  632. package/dist/scripts/70-6ef72cd9b6.chunk.js +0 -1
  633. package/dist/scripts/70-e6ebb44667.chunk.js +0 -1
  634. package/dist/scripts/71-4e4a47d601.chunk.js +0 -1
  635. package/dist/scripts/71-8e3682a7d7.chunk.js +0 -1
  636. package/dist/scripts/71-a80858069c.chunk.js +0 -1
  637. package/dist/scripts/72-245f28bf97.chunk.js +0 -1
  638. package/dist/scripts/72-550438db4e.chunk.js +0 -1
  639. package/dist/scripts/72-65364adff1.chunk.js +0 -1
  640. package/dist/scripts/8-c4955c2009.chunk.js +0 -1
  641. package/dist/scripts/8-d46f48d03c.chunk.js +0 -1
  642. package/dist/scripts/8-e5d19252c8.chunk.js +0 -1
  643. package/dist/scripts/9-4589726554.chunk.js +0 -1
  644. package/dist/scripts/9-576592d419.chunk.js +0 -1
  645. package/dist/scripts/9-66021549bd.chunk.js +0 -1
  646. package/dist/scripts/9-df99ba6ce1.chunk.js +0 -1
  647. package/dist/scripts/bundle-1b984e2fd9.min.js +0 -8
  648. package/dist/scripts/bundle-203920eb14.min.js +0 -8
  649. package/dist/scripts/bundle-7d13ba933b.min.js +0 -8
  650. package/dist/scripts/bundle-d5b23160b1.min.js +0 -8
  651. package/dist/scripts/polyfills-5a81b67408.min.js +0 -1
  652. package/dist/scripts/polyfills-9b0be1bd72.min.js +0 -1
  653. package/dist/scripts/polyfills-cd3d0a9f6d.min.js +0 -1
  654. package/dist/scripts/polyfills-d891a77823.min.js +0 -1
  655. /package/dist/libs/shared/src/interfaces/models/{Interactive.d.ts → interactive.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/views/edit-resource/EditResource.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/views/edit-resource/EditResourceView.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/shared/models/DisabledSpinnerModel.ts"],"names":[],"mappings":"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","file":"scripts/81.chunk.js","sourcesContent":["var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = container.lambda(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.spinnerEl : stack1), depth0)) != null ? stack1 : \"\")\n + \"\\r\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n var alias1=container.propertyIsEnumerable, alias2=depth0 != null ? depth0 : (container.nullContext || {}), alias3=container.hooks.helperMissing, alias4=container.escapeExpression;\n\n return \"<form>\\r\\n <div class=\\\"form-group\\\">\\r\\n <label for=\\\"name\\\" class=\\\"control-label\\\">\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"fileName\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</label>\\r\\n <input name=\\\"name\\\" id=\\\"name\\\" type=\\\"text\\\" class=\\\"form-control\\\" placeholder=\\\"\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"fileName\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"\\\" autocomplete=\\\"off\\\" autofocus/>\\r\\n <div class=\\\"form-feedback\\\"></div>\\r\\n </div>\\r\\n</form>\\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = helpers.unless.call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.dataFetched : stack1),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(3, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"useData\":true});","import * as _ from 'underscore';\r\nimport { ObjectHash, Validation } from 'backbone';\r\nimport { Radio } from 'backbone';\r\n\r\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\nimport { Core } from 'libs/common/core';\r\nimport { InstanceManager } from 'libs/common/backbone/services/InstanceManager';\r\nimport { ViewModelService } from 'libs/common/backbone/services/ViewModelService';\r\n\r\nimport { PopupBehavior } from 'shared/behaviors';\r\nimport { SpinnerButtonEvents, SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\nimport { Actions, DataServices, DataChannels, AppChannels } from 'shared/constants';\r\nimport { SpinnerHelper, SpinnerSize, RadioChannelHelper } from 'shared/utils';\r\nimport { DisabledSpinnerModel } from 'shared/models/DisabledSpinnerModel';\r\nimport { Resource } from 'shared/models/Resource';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nimport { ResourceValidation } from 'apps/library-editor/utils';\r\nimport { ResourceDataService } from 'apps/library-editor/services/ResourceDataService';\r\n\r\nimport EditResourceTemplate from './EditResource.hbs';\r\n\r\ninterface EditResourceViewOptions extends Core.ViewOptions {\r\n videoId: string;\r\n resourceId: string;\r\n analyticsOptions?: AnalyticsOptions;\r\n}\r\n\r\nexport class EditResourceView extends Core.View {\r\n public options: EditResourceViewOptions;\r\n private resourceDataService: ResourceDataService;\r\n private spinnerModel: DisabledSpinnerModel;\r\n\r\n constructor(options: EditResourceViewOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.listenTo(DataChannels.RESOURCE, `resource:${this.options.resourceId}:sync`, this.render);\r\n\r\n this.resourceDataService = InstanceManager.getInstance(DataServices.Resource, this);\r\n }\r\n\r\n public get name(): string {\r\n return 'EditResourceView';\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.editResource';\r\n }\r\n\r\n public get title(): string {\r\n return LanguageService.getPhrase(this.lang, 'title');\r\n }\r\n\r\n public get template(): any {\r\n return EditResourceTemplate;\r\n }\r\n\r\n public get channelName(): string {\r\n return RadioChannelHelper.generateUniqueChannelName(this);\r\n }\r\n\r\n public get behaviors(): any[] {\r\n return [\r\n {\r\n behaviorClass: PopupBehavior,\r\n title: LanguageService.getPhrase(this.lang, 'edit'),\r\n spinnerButtonOptions: {\r\n channelName: this.channelName,\r\n model: this.spinnerModel = new DisabledSpinnerModel(),\r\n buttonText: LanguageService.getPhrase(this.lang, 'save'),\r\n onClick: (e: JQuery.Event) => this.onSubmit(e)\r\n }\r\n }\r\n ];\r\n }\r\n\r\n public get bindings(): ObjectHash {\r\n return {\r\n '[name=name]': {\r\n observe: 'name',\r\n setOptions: { validate: true }\r\n }\r\n };\r\n }\r\n\r\n public get elements(): ObjectHash {\r\n return {\r\n name: '#name',\r\n feedback: '.form-feedback'\r\n };\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n 'submit': 'onSubmit',\r\n 'shown.bs.modal': 'onModalShown'\r\n };\r\n }\r\n\r\n private onSubmit(event: JQuery.Event): void {\r\n event && event.preventDefault();\r\n\r\n this.viewModel.validate();\r\n\r\n if (this.viewModel.isValid() === false) return;\r\n\r\n Radio.channel(this.channelName).trigger(SpinnerButtonEvents.ShowSpinner);\r\n\r\n this.resourceDataService.updateResource(this.options.videoId, this.viewModel, () => {\r\n this.logAction();\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.LIBRARY_EDITOR,\r\n action: Actions.LibraryEditor.EDIT_VIDEO_RESOURCES,\r\n args: [this.options.videoId]\r\n });\r\n });\r\n }\r\n\r\n private logAction(): void {\r\n const data = {\r\n id: this.options.resourceId,\r\n parentId: +this.options.videoId,\r\n name: this.viewModel.get('name')\r\n };\r\n\r\n AnalyticsHelper.logUserAction(data, this.options.analyticsOptions);\r\n }\r\n\r\n private selectAllWithoutExtension(): void {\r\n if (!this.model)\r\n return;\r\n\r\n const nameSansExtension: string = this.model.get('name').split('.').slice(0, -1).join('.');\r\n const $name = this.getUI('name');\r\n\r\n /**\r\n * Browser compatible way of selecting part of an input\r\n * http://programanddesign.com/js/jquery-select-text-range/\r\n */\r\n $name.each((index: number, element: HTMLInputElement) => {\r\n if (_.isFunction(element.setSelectionRange)) {\r\n $name.focus();\r\n element.setSelectionRange(0, nameSansExtension.length);\r\n } else if (_.isFunction((element as any).createTextRange)) {\r\n const range = (element as any).createTextRange();\r\n range.collapse(true);\r\n range.moveEnd('character', nameSansExtension.length);\r\n range.moveStart('character', 0);\r\n range.select();\r\n }\r\n });\r\n }\r\n\r\n private onModalShown(): void {\r\n this.selectAllWithoutExtension();\r\n }\r\n\r\n private dataFetched(): boolean {\r\n return !!this.model && !!this.viewModel;\r\n }\r\n\r\n public onBeforeRender(): void {\r\n this.model = this.resourceDataService.getResource(this.options.resourceId, (resource: Resource) => {\r\n this.viewModel = ViewModelService.get<Resource>(\r\n `resource:${this.options.resourceId}`, resource.toJSON(), { ctor: Resource }\r\n );\r\n this.viewModel.addValidation(ResourceValidation);\r\n });\r\n\r\n if (this.dataFetched())\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.Disabled, false);\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n dataFetched: this.dataFetched(),\r\n spinnerEl: SpinnerHelper.getSpinner({ size: SpinnerSize.Large, extraClasses: 'mx-auto' })\r\n };\r\n }\r\n\r\n public onRender(): void {\r\n if (!this.viewModel) return;\r\n\r\n this.stickit(this.viewModel);\r\n Validation.bind(this, { model: this.viewModel });\r\n\r\n /**\r\n * This needs to be called both in onRender\r\n * and in onModalShown. This is because the second time\r\n * the modal is rendered the resource is not fetched so onRender\r\n * fires before the the popup has slid down.\r\n */\r\n this.selectAllWithoutExtension();\r\n }\r\n\r\n public onClose(): void {\r\n this.unstickit();\r\n Validation.unbind(this);\r\n }\r\n}","import { ObjectHash } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\nimport { SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\n\r\nexport class DisabledSpinnerModel extends Core.Model {\r\n public defaults(): ObjectHash {\r\n return {\r\n [SpinnerButtonModelAttributes.Disabled]: true\r\n };\r\n }\r\n}"],"sourceRoot":""}
1
+ {"version":3,"sources":["file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/library-editor/views/edit-resource/EditResource.hbs","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/library-editor/views/edit-resource/EditResourceView.ts","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/shared/models/DisabledSpinnerModel.ts"],"names":[],"mappings":";;;;;;;;;AAAA,iBAAiB,mBAAO,CAAC,8BAAY;AACrC,iEAAiE;AACjE;;AAEA;AACA;AACA,CAAC;AACD,4GAA4G;;AAE5G;AACA,qFAAqF,uBAAuB,aAAa;AACzH;AACA,qFAAqF,uBAAuB,aAAa;AACzH;AACA,CAAC;AACD;;AAEA,8FAA8F,iGAAiG,yBAAyB,wFAAwF;AAChT,CAAC,gBAAgB,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClBjB;AACA;AACA;AAGA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAGA;AAQO,IAAM,gBAAb;AAAA;;AAAA;;AAKE,4BAAY,OAAZ,EAA4C;AAAA;;AAAA,6BACpC,OADoC;AAE3C;;AAPH;AAAA;AAAA,iCASmB;AACf,WAAK,QAAL,CAAc,8DAAY,CAAC,QAA3B,qBAAiD,KAAK,OAAL,CAAa,UAA9D,YAAiF,KAAK,MAAtF;AAEA,WAAK,mBAAL,GAA2B,kGAAe,CAAC,WAAhB,CAA4B,8DAAY,CAAC,QAAzC,EAAmD,IAAnD,CAA3B;AACD;AAbH;AAAA;AAAA,6BAkEe;AACX,aAAO;AACL,kBAAiB,UADZ;AAEL,0BAAkB;AAFb,OAAP;AAID;AAvEH;AAAA;AAAA,6BAyEmB,KAzEnB,EAyEsC;AAAA;;AAClC,WAAK,IAAI,KAAK,CAAC,cAAN,EAAT;AAEA,WAAK,SAAL,CAAe,QAAf;AAEA,UAAI,KAAK,SAAL,CAAe,OAAf,OAA6B,KAAjC,EAAwC;AAExC,oDAAK,CAAC,OAAN,CAAc,KAAK,WAAnB,EAAgC,OAAhC,CAAwC,4GAAmB,CAAC,WAA5D;AAEA,WAAK,mBAAL,CAAyB,cAAzB,CAAwC,KAAK,OAAL,CAAa,OAArD,EAA8D,KAAK,SAAnE,EAA8E,YAAK;AACjF,aAAI,CAAC,SAAL;;AACA,sEAAI,CAAC,aAAL,CAAmB,OAAnB,CAA2B;AACzB,qBAAW,EAAE,6DAAW,CAAC,cADA;AAEzB,gBAAM,EAAE,yDAAO,CAAC,aAAR,CAAsB,oBAFL;AAGzB,cAAI,EAAE,CAAC,KAAI,CAAC,OAAL,CAAa,OAAd;AAHmB,SAA3B;AAKD,OAPD;AAQD;AA1FH;AAAA;AAAA,gCA4FmB;AACf,UAAM,IAAI,GAAG;AACX,UAAE,EAAE,KAAK,OAAL,CAAa,UADN;AAEX,gBAAQ,EAAE,CAAC,KAAK,OAAL,CAAa,OAFb;AAGX,YAAI,EAAE,KAAK,SAAL,CAAe,GAAf,CAAmB,MAAnB;AAHK,OAAb;AAMA,yFAAe,CAAC,aAAhB,CAA8B,IAA9B,EAAoC,KAAK,OAAL,CAAa,gBAAjD;AACD;AApGH;AAAA;AAAA,gDAsGmC;AAC/B,UAAI,CAAC,KAAK,KAAV,EACE;AAEF,UAAM,iBAAiB,GAAW,KAAK,KAAL,CAAW,GAAX,CAAe,MAAf,EAAuB,KAAvB,CAA6B,GAA7B,EAAkC,KAAlC,CAAwC,CAAxC,EAA2C,CAAC,CAA5C,EAA+C,IAA/C,CAAoD,GAApD,CAAlC;AACA,UAAM,KAAK,GAAG,KAAK,KAAL,CAAW,MAAX,CAAd;AAEA;;;AAGG;;AACH,WAAK,CAAC,IAAN,CAAW,UAAC,KAAD,EAAgB,OAAhB,EAA6C;AACtD,YAAI,sDAAa,OAAO,CAAC,iBAArB,CAAJ,EAA6C;AAC3C,eAAK,CAAC,KAAN;AACA,iBAAO,CAAC,iBAAR,CAA0B,CAA1B,EAA6B,iBAAiB,CAAC,MAA/C;AACD,SAHD,MAGO,IAAI,sDAAc,OAAe,CAAC,eAA9B,CAAJ,EAAoD;AACzD,cAAM,KAAK,GAAI,OAAe,CAAC,eAAhB,EAAf;AACA,eAAK,CAAC,QAAN,CAAe,IAAf;AACA,eAAK,CAAC,OAAN,CAAc,WAAd,EAA2B,iBAAiB,CAAC,MAA7C;AACA,eAAK,CAAC,SAAN,CAAgB,WAAhB,EAA6B,CAA7B;AACA,eAAK,CAAC,MAAN;AACD;AACF,OAXD;AAYD;AA7HH;AAAA;AAAA,mCA+HsB;AAClB,WAAK,yBAAL;AACD;AAjIH;AAAA;AAAA,kCAmIqB;AACjB,aAAO,CAAC,CAAC,KAAK,KAAP,IAAgB,CAAC,CAAC,KAAK,SAA9B;AACD;AArIH;AAAA;AAAA,qCAuIuB;AAAA;;AACnB,WAAK,KAAL,GAAa,KAAK,mBAAL,CAAyB,WAAzB,CAAqC,KAAK,OAAL,CAAa,UAAlD,EAA8D,UAAC,QAAD,EAAuB;AAChG,cAAI,CAAC,SAAL,GAAiB,oGAAgB,CAAC,GAAjB,oBACH,MAAI,CAAC,OAAL,CAAa,UADV,GACwB,QAAQ,CAAC,MAAT,EADxB,EAC2C;AAAE,cAAI,EAAE,iEAAQ;AAAhB,SAD3C,CAAjB;;AAGA,cAAI,CAAC,SAAL,CAAe,aAAf,CAA6B,0DAA7B;AACD,OALY,CAAb;AAOA,UAAI,KAAK,WAAL,EAAJ,EACE,KAAK,YAAL,CAAkB,GAAlB,CAAsB,qHAA4B,CAAC,QAAnD,EAA6D,KAA7D;AACH;AAjJH;AAAA;AAAA,kCAmJoB;AAChB,aAAO;AACL,mBAAW,EAAE,KAAK,WAAL,EADR;AAEL,iBAAS,EAAE,2DAAa,CAAC,UAAd,CAAyB;AAAE,cAAI,EAAE,yDAAW,CAAC,KAApB;AAA2B,sBAAY,EAAE;AAAzC,SAAzB;AAFN,OAAP;AAID;AAxJH;AAAA;AAAA,+BA0JiB;AACb,UAAI,CAAC,KAAK,SAAV,EAAqB;AAErB,WAAK,OAAL,CAAa,KAAK,SAAlB;AACA,yDAAU,CAAC,IAAX,CAAgB,IAAhB,EAAsB;AAAE,aAAK,EAAE,KAAK;AAAd,OAAtB;AAEA;;;;;AAKG;;AACH,WAAK,yBAAL;AACD;AAvKH;AAAA;AAAA,8BAyKgB;AACZ,WAAK,SAAL;AACA,yDAAU,CAAC,MAAX,CAAkB,IAAlB;AACD;AA5KH;AAAA;AAAA,wBAeiB;AACb,aAAO,kBAAP;AACD;AAjBH;AAAA;AAAA,wBAmBiB;AACb,aAAO,4BAAP;AACD;AArBH;AAAA;AAAA,wBAuBkB;AACd,aAAO,mGAAe,CAAC,SAAhB,CAA0B,KAAK,IAA/B,EAAqC,OAArC,CAAP;AACD;AAzBH;AAAA;AAAA,wBA2BqB;AACjB,aAAO,yDAAP;AACD;AA7BH;AAAA;AAAA,wBA+BwB;AACpB,aAAO,gEAAkB,CAAC,yBAAnB,CAA6C,IAA7C,CAAP;AACD;AAjCH;AAAA;AAAA,wBAmCsB;AAAA;;AAClB,aAAO,CACL;AACE,qBAAa,EAAE,+DADjB;AAEE,aAAK,EAAE,mGAAe,CAAC,SAAhB,CAA0B,KAAK,IAA/B,EAAqC,MAArC,CAFT;AAGE,4BAAoB,EAAE;AACpB,qBAAW,EAAE,KAAK,WADE;AAEpB,eAAK,EAAE,KAAK,YAAL,GAAoB,IAAI,yFAAJ,EAFP;AAGpB,oBAAU,EAAE,mGAAe,CAAC,SAAhB,CAA0B,KAAK,IAA/B,EAAqC,MAArC,CAHQ;AAIpB,iBAAO,EAAE,iBAAC,CAAD;AAAA,mBAAqB,MAAI,CAAC,QAAL,CAAc,CAAd,CAArB;AAAA;AAJW;AAHxB,OADK,CAAP;AAYD;AAhDH;AAAA;AAAA,wBAkDqB;AACjB,aAAO;AACL,uBAAe;AACb,iBAAO,EAAE,MADI;AAEb,oBAAU,EAAE;AAAE,oBAAQ,EAAE;AAAZ;AAFC;AADV,OAAP;AAMD;AAzDH;AAAA;AAAA,wBA2DqB;AACjB,aAAO;AACL,YAAI,EAAE,OADD;AAEL,gBAAQ,EAAE;AAFL,OAAP;AAID;AAhEH;;AAAA;AAAA,EAAsC,8DAAI,CAAC,IAA3C,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5BA;AACA;AAEO,IAAM,oBAAb;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA,+BACiB;AACb,iCACG,8GAA4B,CAAC,QADhC,EAC2C,IAD3C;AAGD;AALH;;AAAA;AAAA,EAA0C,8DAAI,CAAC,KAA/C,E","file":"scripts/81.chunk.js","sourcesContent":["var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = container.lambda(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.spinnerEl : stack1), depth0)) != null ? stack1 : \"\")\n + \"\\r\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n var alias1=container.propertyIsEnumerable, alias2=depth0 != null ? depth0 : (container.nullContext || {}), alias3=container.hooks.helperMissing, alias4=container.escapeExpression;\n\n return \"<form>\\r\\n <div class=\\\"form-group\\\">\\r\\n <label for=\\\"name\\\" class=\\\"control-label\\\">\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"fileName\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</label>\\r\\n <input name=\\\"name\\\" id=\\\"name\\\" type=\\\"text\\\" class=\\\"form-control\\\" placeholder=\\\"\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"fileName\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"\\\" autocomplete=\\\"off\\\" autofocus/>\\r\\n <div class=\\\"form-feedback\\\"></div>\\r\\n </div>\\r\\n</form>\\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = helpers.unless.call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.dataFetched : stack1),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(3, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"useData\":true});","import * as _ from 'underscore';\r\nimport { ObjectHash, Validation } from 'backbone';\r\nimport { Radio } from 'backbone';\r\n\r\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\nimport { Core } from 'libs/common/core';\r\nimport { InstanceManager } from 'libs/common/backbone/services/InstanceManager';\r\nimport { ViewModelService } from 'libs/common/backbone/services/ViewModelService';\r\n\r\nimport { PopupBehavior } from 'shared/behaviors';\r\nimport { SpinnerButtonEvents, SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\nimport { Actions, DataServices, DataChannels, AppChannels } from 'shared/constants';\r\nimport { SpinnerHelper, SpinnerSize, RadioChannelHelper } from 'shared/utils';\r\nimport { DisabledSpinnerModel } from 'shared/models/DisabledSpinnerModel';\r\nimport { Resource } from 'shared/models/Resource';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nimport { ResourceValidation } from 'apps/library-editor/utils';\r\nimport { ResourceDataService } from 'apps/library-editor/services/ResourceDataService';\r\n\r\nimport EditResourceTemplate from './EditResource.hbs';\r\n\r\ninterface EditResourceViewOptions extends Core.ViewOptions {\r\n videoId: string;\r\n resourceId: string;\r\n analyticsOptions?: AnalyticsOptions;\r\n}\r\n\r\nexport class EditResourceView extends Core.View {\r\n public options: EditResourceViewOptions;\r\n private resourceDataService: ResourceDataService;\r\n private spinnerModel: DisabledSpinnerModel;\r\n\r\n constructor(options: EditResourceViewOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.listenTo(DataChannels.RESOURCE, `resource:${this.options.resourceId}:sync`, this.render);\r\n\r\n this.resourceDataService = InstanceManager.getInstance(DataServices.Resource, this);\r\n }\r\n\r\n public get name(): string {\r\n return 'EditResourceView';\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.editResource';\r\n }\r\n\r\n public get title(): string {\r\n return LanguageService.getPhrase(this.lang, 'title');\r\n }\r\n\r\n public get template(): any {\r\n return EditResourceTemplate;\r\n }\r\n\r\n public get channelName(): string {\r\n return RadioChannelHelper.generateUniqueChannelName(this);\r\n }\r\n\r\n public get behaviors(): any[] {\r\n return [\r\n {\r\n behaviorClass: PopupBehavior,\r\n title: LanguageService.getPhrase(this.lang, 'edit'),\r\n spinnerButtonOptions: {\r\n channelName: this.channelName,\r\n model: this.spinnerModel = new DisabledSpinnerModel(),\r\n buttonText: LanguageService.getPhrase(this.lang, 'save'),\r\n onClick: (e: JQuery.Event) => this.onSubmit(e)\r\n }\r\n }\r\n ];\r\n }\r\n\r\n public get bindings(): ObjectHash {\r\n return {\r\n '[name=name]': {\r\n observe: 'name',\r\n setOptions: { validate: true }\r\n }\r\n };\r\n }\r\n\r\n public get elements(): ObjectHash {\r\n return {\r\n name: '#name',\r\n feedback: '.form-feedback'\r\n };\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n 'submit': 'onSubmit',\r\n 'shown.bs.modal': 'onModalShown'\r\n };\r\n }\r\n\r\n private onSubmit(event: JQuery.Event): void {\r\n event && event.preventDefault();\r\n\r\n this.viewModel.validate();\r\n\r\n if (this.viewModel.isValid() === false) return;\r\n\r\n Radio.channel(this.channelName).trigger(SpinnerButtonEvents.ShowSpinner);\r\n\r\n this.resourceDataService.updateResource(this.options.videoId, this.viewModel, () => {\r\n this.logAction();\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.LIBRARY_EDITOR,\r\n action: Actions.LibraryEditor.EDIT_VIDEO_RESOURCES,\r\n args: [this.options.videoId]\r\n });\r\n });\r\n }\r\n\r\n private logAction(): void {\r\n const data = {\r\n id: this.options.resourceId,\r\n parentId: +this.options.videoId,\r\n name: this.viewModel.get('name')\r\n };\r\n\r\n AnalyticsHelper.logUserAction(data, this.options.analyticsOptions);\r\n }\r\n\r\n private selectAllWithoutExtension(): void {\r\n if (!this.model)\r\n return;\r\n\r\n const nameSansExtension: string = this.model.get('name').split('.').slice(0, -1).join('.');\r\n const $name = this.getUI('name');\r\n\r\n /**\r\n * Browser compatible way of selecting part of an input\r\n * http://programanddesign.com/js/jquery-select-text-range/\r\n */\r\n $name.each((index: number, element: HTMLInputElement) => {\r\n if (_.isFunction(element.setSelectionRange)) {\r\n $name.focus();\r\n element.setSelectionRange(0, nameSansExtension.length);\r\n } else if (_.isFunction((element as any).createTextRange)) {\r\n const range = (element as any).createTextRange();\r\n range.collapse(true);\r\n range.moveEnd('character', nameSansExtension.length);\r\n range.moveStart('character', 0);\r\n range.select();\r\n }\r\n });\r\n }\r\n\r\n private onModalShown(): void {\r\n this.selectAllWithoutExtension();\r\n }\r\n\r\n private dataFetched(): boolean {\r\n return !!this.model && !!this.viewModel;\r\n }\r\n\r\n public onBeforeRender(): void {\r\n this.model = this.resourceDataService.getResource(this.options.resourceId, (resource: Resource) => {\r\n this.viewModel = ViewModelService.get<Resource>(\r\n `resource:${this.options.resourceId}`, resource.toJSON(), { ctor: Resource }\r\n );\r\n this.viewModel.addValidation(ResourceValidation);\r\n });\r\n\r\n if (this.dataFetched())\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.Disabled, false);\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n dataFetched: this.dataFetched(),\r\n spinnerEl: SpinnerHelper.getSpinner({ size: SpinnerSize.Large, extraClasses: 'mx-auto' })\r\n };\r\n }\r\n\r\n public onRender(): void {\r\n if (!this.viewModel) return;\r\n\r\n this.stickit(this.viewModel);\r\n Validation.bind(this, { model: this.viewModel });\r\n\r\n /**\r\n * This needs to be called both in onRender\r\n * and in onModalShown. This is because the second time\r\n * the modal is rendered the resource is not fetched so onRender\r\n * fires before the the popup has slid down.\r\n */\r\n this.selectAllWithoutExtension();\r\n }\r\n\r\n public onClose(): void {\r\n this.unstickit();\r\n Validation.unbind(this);\r\n }\r\n}","import { ObjectHash } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\nimport { SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\n\r\nexport class DisabledSpinnerModel extends Core.Model {\r\n public defaults(): ObjectHash {\r\n return {\r\n [SpinnerButtonModelAttributes.Disabled]: true\r\n };\r\n }\r\n}"],"sourceRoot":""}
@@ -1 +1 @@
1
- {"version":3,"sources":["file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/views/new-library/NewLibrary.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/views/new-library/NewLibraryView.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/shared/models/DisabledSpinnerModel.ts"],"names":[],"mappings":"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","file":"scripts/82.chunk.js","sourcesContent":["var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = container.lambda(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.spinnerEl : stack1), depth0)) != null ? stack1 : \"\")\n + \"\\r\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n var alias1=container.propertyIsEnumerable, alias2=depth0 != null ? depth0 : (container.nullContext || {}), alias3=container.hooks.helperMissing, alias4=container.escapeExpression;\n\n return \"<form>\\r\\n <div class=\\\"form-group\\\">\\r\\n <label for=\\\"name\\\" class=\\\"control-label\\\">\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"libraryName\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</label>\\r\\n <input name=\\\"name\\\" id=\\\"name\\\" type=\\\"text\\\" class=\\\"form-control\\\" placeholder=\\\"\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"secondaryLibrary\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"\\\" autocomplete=\\\"off\\\" autofocus/>\\r\\n <div class=\\\"form-feedback\\\"></div>\\r\\n </div>\\r\\n</form>\\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = helpers.unless.call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.dataFetched : stack1),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(3, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"useData\":true});","import { ObjectHash } from 'backbone';\r\nimport { Radio } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { InstanceManager } from 'libs/common/backbone/services/InstanceManager';\r\nimport { ViewModelService } from 'libs/common/backbone/services/ViewModelService';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { SettingName } from 'libs/shared/enums/SettingName';\r\n\r\nimport { BackboneValidationBehavior, StickitBehavior, PopupBehavior } from 'shared/behaviors';\r\nimport { SettingsDataService } from 'shared/services/SettingsDataService';\r\nimport { UserDataServiceHelper } from 'shared/services/UserDataService';\r\nimport { DataServices, Actions, DataPrefixes, DataChannels, AppChannels } from 'shared/constants';\r\nimport { SpinnerButtonEvents, SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\nimport { FolderCollection } from 'shared/collections/FolderCollection';\r\nimport { Library } from 'shared/models/Library';\r\nimport { Setting } from 'shared/models/Setting';\r\nimport { User } from 'shared/models/User';\r\nimport { DisabledSpinnerModel } from 'shared/models/DisabledSpinnerModel';\r\nimport { RadioChannelHelper, SpinnerHelper, SpinnerSize } from 'shared/utils';\r\n\r\nimport { LibraryValidation } from 'apps/library-editor/utils';\r\nimport { LibraryDataService, LibraryDataServiceHelper } from 'apps/library-editor/services/LibraryDataService';\r\nimport { MaxCustomLibrariesError } from 'apps/library-editor/errors';\r\n\r\nimport NewLibraryTemplate from './NewLibrary.hbs';\r\n\r\nexport class NewLibraryView extends Core.View<Library> {\r\n private libraryDataService: LibraryDataService;\r\n private settingsDataService: SettingsDataService;\r\n\r\n private currentUser: User;\r\n private maxCustomLibraries: Setting;\r\n private libraries: FolderCollection;\r\n private spinnerModel: DisabledSpinnerModel;\r\n\r\n public initialize(): void {\r\n this.model = ViewModelService.get('new:library', null, {\r\n ctor: Library\r\n });\r\n\r\n this.bindListeners();\r\n\r\n this.settingsDataService = InstanceManager.getInstance(DataServices.Settings, this);\r\n this.libraryDataService = InstanceManager.getInstance(DataServices.Library, this);\r\n }\r\n\r\n private bindListeners(): void {\r\n this.listenTo(DataChannels.SEARCH, `${DataPrefixes.SETTINGS}:sync`, this.render);\r\n }\r\n\r\n public get name(): string {\r\n return 'NewLibraryView';\r\n }\r\n\r\n public get title(): string {\r\n return LanguageService.getPhrase(this.lang, 'title');\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.newLibrary';\r\n }\r\n\r\n public get template(): any {\r\n return NewLibraryTemplate;\r\n }\r\n\r\n public get channelName(): string {\r\n return RadioChannelHelper.generateUniqueChannelName(this);\r\n }\r\n\r\n public get behaviors(): any[] {\r\n return [{\r\n behaviorClass: BackboneValidationBehavior,\r\n modelValidation: LibraryValidation\r\n }, {\r\n behaviorClass: StickitBehavior\r\n }, {\r\n behaviorClass: PopupBehavior,\r\n title: LanguageService.getPhrase(this.lang, 'heading'),\r\n spinnerButtonOptions: {\r\n model: this.spinnerModel = new DisabledSpinnerModel(),\r\n channelName: this.channelName,\r\n buttonText: LanguageService.getPhrase(this.lang, 'save'),\r\n onClick: (e: JQuery.Event) => this.onSubmit(e)\r\n }\r\n }];\r\n }\r\n\r\n public get bindings(): ObjectHash {\r\n return {\r\n '[name=name]': {\r\n observe: 'name',\r\n setOptions: { validate: true }\r\n }\r\n };\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n submit: 'onSubmit'\r\n };\r\n }\r\n\r\n private onSubmit(event: JQuery.Event): void {\r\n event && event.preventDefault();\r\n\r\n this.model.validate();\r\n\r\n if (!this.model.isValid()) return;\r\n\r\n Radio.channel(this.channelName).trigger(SpinnerButtonEvents.ShowSpinner);\r\n\r\n this.createLibrary();\r\n }\r\n\r\n private createLibrary(): void {\r\n this.libraryDataService.createLibrary(this.currentUser.get('customerId'), this.model, (data: Library) => {\r\n ViewModelService.clear('new:library');\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.LIBRARY_EDITOR,\r\n action: Actions.LibraryEditor.LIBRARY,\r\n args: [data.id]\r\n });\r\n });\r\n }\r\n\r\n public get requiredResources(): Core.RequiredResourceHash {\r\n return {\r\n currentUser: UserDataServiceHelper.currentUser,\r\n libraries: LibraryDataServiceHelper.libraries\r\n };\r\n }\r\n\r\n public onBeforeRender(): void {\r\n this.maxCustomLibraries = this.settingsDataService.getSetting(this.currentUser.get('customerId'), SettingName.MaxCustomLibraries);\r\n\r\n if (this.libraries.length >= this.maxCustomLibraries.get('value')) {\r\n Core.ErrorHelper.throw(new MaxCustomLibrariesError(this.libraries.length, this.maxCustomLibraries.get('value')));\r\n return;\r\n }\r\n\r\n if (this.maxCustomLibraries)\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.Disabled, false);\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n dataFetched: !!this.maxCustomLibraries,\r\n spinnerEl: SpinnerHelper.getSpinner({ size: SpinnerSize.Large, extraClasses: 'mx-auto' })\r\n };\r\n }\r\n}","import { ObjectHash } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\nimport { SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\n\r\nexport class DisabledSpinnerModel extends Core.Model {\r\n public defaults(): ObjectHash {\r\n return {\r\n [SpinnerButtonModelAttributes.Disabled]: true\r\n };\r\n }\r\n}"],"sourceRoot":""}
1
+ {"version":3,"sources":["file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/library-editor/views/new-library/NewLibrary.hbs","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/library-editor/views/new-library/NewLibraryView.ts","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/shared/models/DisabledSpinnerModel.ts"],"names":[],"mappings":"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","file":"scripts/82.chunk.js","sourcesContent":["var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = container.lambda(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.spinnerEl : stack1), depth0)) != null ? stack1 : \"\")\n + \"\\r\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n var alias1=container.propertyIsEnumerable, alias2=depth0 != null ? depth0 : (container.nullContext || {}), alias3=container.hooks.helperMissing, alias4=container.escapeExpression;\n\n return \"<form>\\r\\n <div class=\\\"form-group\\\">\\r\\n <label for=\\\"name\\\" class=\\\"control-label\\\">\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"libraryName\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</label>\\r\\n <input name=\\\"name\\\" id=\\\"name\\\" type=\\\"text\\\" class=\\\"form-control\\\" placeholder=\\\"\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"secondaryLibrary\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"\\\" autocomplete=\\\"off\\\" autofocus/>\\r\\n <div class=\\\"form-feedback\\\"></div>\\r\\n </div>\\r\\n</form>\\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = helpers.unless.call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.dataFetched : stack1),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(3, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"useData\":true});","import { ObjectHash } from 'backbone';\r\nimport { Radio } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { InstanceManager } from 'libs/common/backbone/services/InstanceManager';\r\nimport { ViewModelService } from 'libs/common/backbone/services/ViewModelService';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { SettingName } from 'libs/shared/enums/SettingName';\r\n\r\nimport { BackboneValidationBehavior, StickitBehavior, PopupBehavior } from 'shared/behaviors';\r\nimport { SettingsDataService } from 'shared/services/SettingsDataService';\r\nimport { UserDataServiceHelper } from 'shared/services/UserDataService';\r\nimport { DataServices, Actions, DataPrefixes, DataChannels, AppChannels } from 'shared/constants';\r\nimport { SpinnerButtonEvents, SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\nimport { FolderCollection } from 'shared/collections/FolderCollection';\r\nimport { Library } from 'shared/models/Library';\r\nimport { Setting } from 'shared/models/Setting';\r\nimport { User } from 'shared/models/User';\r\nimport { DisabledSpinnerModel } from 'shared/models/DisabledSpinnerModel';\r\nimport { RadioChannelHelper, SpinnerHelper, SpinnerSize } from 'shared/utils';\r\n\r\nimport { LibraryValidation } from 'apps/library-editor/utils';\r\nimport { LibraryDataService, LibraryDataServiceHelper } from 'apps/library-editor/services/LibraryDataService';\r\nimport { MaxCustomLibrariesError } from 'apps/library-editor/errors';\r\n\r\nimport NewLibraryTemplate from './NewLibrary.hbs';\r\n\r\nexport class NewLibraryView extends Core.View<Library> {\r\n private libraryDataService: LibraryDataService;\r\n private settingsDataService: SettingsDataService;\r\n\r\n private currentUser: User;\r\n private maxCustomLibraries: Setting;\r\n private libraries: FolderCollection;\r\n private spinnerModel: DisabledSpinnerModel;\r\n\r\n public initialize(): void {\r\n this.model = ViewModelService.get('new:library', null, {\r\n ctor: Library\r\n });\r\n\r\n this.bindListeners();\r\n\r\n this.settingsDataService = InstanceManager.getInstance(DataServices.Settings, this);\r\n this.libraryDataService = InstanceManager.getInstance(DataServices.Library, this);\r\n }\r\n\r\n private bindListeners(): void {\r\n this.listenTo(DataChannels.SEARCH, `${DataPrefixes.SETTINGS}:sync`, this.render);\r\n }\r\n\r\n public get name(): string {\r\n return 'NewLibraryView';\r\n }\r\n\r\n public get title(): string {\r\n return LanguageService.getPhrase(this.lang, 'title');\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.newLibrary';\r\n }\r\n\r\n public get template(): any {\r\n return NewLibraryTemplate;\r\n }\r\n\r\n public get channelName(): string {\r\n return RadioChannelHelper.generateUniqueChannelName(this);\r\n }\r\n\r\n public get behaviors(): any[] {\r\n return [{\r\n behaviorClass: BackboneValidationBehavior,\r\n modelValidation: LibraryValidation\r\n }, {\r\n behaviorClass: StickitBehavior\r\n }, {\r\n behaviorClass: PopupBehavior,\r\n title: LanguageService.getPhrase(this.lang, 'heading'),\r\n spinnerButtonOptions: {\r\n model: this.spinnerModel = new DisabledSpinnerModel(),\r\n channelName: this.channelName,\r\n buttonText: LanguageService.getPhrase(this.lang, 'save'),\r\n onClick: (e: JQuery.Event) => this.onSubmit(e)\r\n }\r\n }];\r\n }\r\n\r\n public get bindings(): ObjectHash {\r\n return {\r\n '[name=name]': {\r\n observe: 'name',\r\n setOptions: { validate: true }\r\n }\r\n };\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n submit: 'onSubmit'\r\n };\r\n }\r\n\r\n private onSubmit(event: JQuery.Event): void {\r\n event && event.preventDefault();\r\n\r\n this.model.validate();\r\n\r\n if (!this.model.isValid()) return;\r\n\r\n Radio.channel(this.channelName).trigger(SpinnerButtonEvents.ShowSpinner);\r\n\r\n this.createLibrary();\r\n }\r\n\r\n private createLibrary(): void {\r\n this.libraryDataService.createLibrary(this.currentUser.get('customerId'), this.model, (data: Library) => {\r\n ViewModelService.clear('new:library');\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.LIBRARY_EDITOR,\r\n action: Actions.LibraryEditor.LIBRARY,\r\n args: [data.id]\r\n });\r\n });\r\n }\r\n\r\n public get requiredResources(): Core.RequiredResourceHash {\r\n return {\r\n currentUser: UserDataServiceHelper.currentUser,\r\n libraries: LibraryDataServiceHelper.libraries\r\n };\r\n }\r\n\r\n public onBeforeRender(): void {\r\n this.maxCustomLibraries = this.settingsDataService.getSetting(this.currentUser.get('customerId'), SettingName.MaxCustomLibraries);\r\n\r\n if (this.libraries.length >= this.maxCustomLibraries.get('value')) {\r\n Core.ErrorHelper.throw(new MaxCustomLibrariesError(this.libraries.length, this.maxCustomLibraries.get('value')));\r\n return;\r\n }\r\n\r\n if (this.maxCustomLibraries)\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.Disabled, false);\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n dataFetched: !!this.maxCustomLibraries,\r\n spinnerEl: SpinnerHelper.getSpinner({ size: SpinnerSize.Large, extraClasses: 'mx-auto' })\r\n };\r\n }\r\n}","import { ObjectHash } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\nimport { SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\n\r\nexport class DisabledSpinnerModel extends Core.Model {\r\n public defaults(): ObjectHash {\r\n return {\r\n [SpinnerButtonModelAttributes.Disabled]: true\r\n };\r\n }\r\n}"],"sourceRoot":""}
@@ -1 +1 @@
1
- {"version":3,"sources":["file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/migration-wizard/views/remigrate-video/RemigrateVideo.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/migration-wizard/views/remigrate-video/RemigrateVideoView.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/shared/models/DisabledSpinnerModel.ts"],"names":[],"mappings":"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","file":"scripts/83.chunk.js","sourcesContent":["var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = container.lambda(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.spinnerEl : stack1), depth0)) != null ? stack1 : \"\")\n + \"\\r\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.videoDeleted : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(4, data, 0),\"inverse\":container.program(6, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"4\":function(container,depth0,helpers,partials,data) {\n var alias1=container.propertyIsEnumerable;\n\n return container.escapeExpression((helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),\"deleted\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"\\r\\n\";\n},\"6\":function(container,depth0,helpers,partials,data) {\n var alias1=container.propertyIsEnumerable, alias2=depth0 != null ? depth0 : (container.nullContext || {}), alias3=container.hooks.helperMissing, alias4=container.escapeExpression;\n\n return alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"exists\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \" <a class=\\\"view-video info-link\\\">\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"clickHere\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</a>\\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = helpers.unless.call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.dataFetched : stack1),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(3, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"useData\":true});","import { ObjectHash } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\nimport { InstanceManager } from 'libs/common/backbone/services/InstanceManager';\r\n\r\nimport RemigrateVideoTemplate from './RemigrateVideo.hbs';\r\n\r\nimport { PopupBehavior, PopupSpinnerButtonOptions } from 'shared/behaviors';\r\nimport { SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\nimport { DisabledSpinnerModel } from 'shared/models/DisabledSpinnerModel';\r\nimport { Video } from 'shared/models/Video';\r\nimport { DataServices, DataChannels, DataPrefixes, AppChannels, Actions } from 'shared/constants';\r\nimport { SpinnerHelper, SpinnerSize, RadioChannelHelper } from 'shared/utils';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nimport { VideoDataService } from 'apps/library-editor/services/VideoDataService';\r\nimport { MigrationVideoDataService } from 'apps/migration-wizard/services/MigrationVideoDataService';\r\nimport { FinalisationTask } from 'apps/migration-wizard/models';\r\nimport { MasterObjectTypes } from 'libs/shared/enums/MasterObjectTypes';\r\n\r\ninterface RemigrateVideoViewOptions extends Core.ViewOptions<Video> {\r\n videoId: string;\r\n masterId?: string;\r\n folderChord: string;\r\n}\r\n\r\nexport class RemigrateVideoView extends Core.View {\r\n public options: RemigrateVideoViewOptions;\r\n private videoDataService: VideoDataService;\r\n private migrationVideoDataService: MigrationVideoDataService;\r\n private spinnerModel: DisabledSpinnerModel;\r\n\r\n constructor(options: RemigrateVideoViewOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.spinnerModel = new DisabledSpinnerModel();\r\n\r\n this.videoDataService = InstanceManager.getInstance(DataServices.Video, this);\r\n this.migrationVideoDataService = InstanceManager.getInstance(DataServices.MigrationVideo, this);\r\n\r\n if (!this.options.masterId)\r\n return;\r\n\r\n this.listenTo(DataChannels.VIDEO, `${DataPrefixes.VIDEOS}:${this.options.masterId}:error`, this.onError);\r\n }\r\n\r\n public get name(): string {\r\n return 'RemigrateVideoView';\r\n }\r\n\r\n public get title(): string {\r\n return LanguageService.getPhrase(this.lang, 'title');\r\n }\r\n\r\n public get lang(): string {\r\n return 'migrationWizard.remigrateVideo';\r\n }\r\n\r\n public get template(): string {\r\n return RemigrateVideoTemplate;\r\n }\r\n\r\n public get channelName(): string {\r\n return RadioChannelHelper.generateUniqueChannelName(this);\r\n }\r\n\r\n public get behaviors(): any[] {\r\n return [\r\n {\r\n behaviorClass: PopupBehavior,\r\n title: LanguageService.getPhrase(this.lang, 'heading'),\r\n spinnerButtonOptions: this.getSpinnerButtonOptions\r\n }\r\n ];\r\n }\r\n\r\n public get appLinks(): Core.AppLinkHash {\r\n return {\r\n '.view-video': {\r\n application: AppChannels.LIBRARY_EDITOR,\r\n action: Actions.LibraryEditor.VIDEO_DETAILS,\r\n args: [this.options.masterId]\r\n }\r\n };\r\n }\r\n\r\n private getSpinnerButtonOptions(): PopupSpinnerButtonOptions {\r\n if (this.model)\r\n return;\r\n\r\n return {\r\n model: this.spinnerModel,\r\n channelName: this.channelName,\r\n buttonText: () => this.getButtonText(),\r\n onClick: () => this.migrateVideo()\r\n };\r\n }\r\n\r\n private getButtonText(): string {\r\n return this.model\r\n ? LanguageService.getPhrase(this.lang, 'viewVideo')\r\n : LanguageService.getPhrase(this.lang, 'addToLibrary');\r\n }\r\n\r\n private onVideoSync(data: Video): void {\r\n /**\r\n * If the video is an exchange or hosted library video and was removed from the custom library\r\n * the fetch will still return the video but the video won't be associated to a custom library\r\n * So we need our popup to behave as if the video could not be fetched\r\n */\r\n if (!data.libraries || !data.libraries.any(l => l.get('type') === MasterObjectTypes.CustomLibrary)) {\r\n this.onError();\r\n return;\r\n }\r\n\r\n this.model = data;\r\n\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.Disabled, false);\r\n\r\n this.render();\r\n }\r\n\r\n private onError(): void {\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.Disabled, false);\r\n\r\n this.render();\r\n }\r\n\r\n private migrateVideo(): void {\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.ShowSpinner, true);\r\n\r\n const groups = new Core.Collection([{\r\n folderChord: this.options.folderChord,\r\n videoIds: [this.options.videoId]\r\n }]);\r\n\r\n this.migrationVideoDataService.finaliseCustomerVideos(\r\n groups, false, (finalisationTask: FinalisationTask) => {\r\n this.migrationVideoDataService.clearVideoCache();\r\n this.videoDataService.clearVideoCache();\r\n\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.MIGRATION_WIZARD,\r\n action: Actions.MigrationWizard.PROGRESS,\r\n args: [finalisationTask.id],\r\n });\r\n }\r\n );\r\n }\r\n\r\n private dataFetched(): boolean {\r\n return !this.spinnerModel.get(SpinnerButtonModelAttributes.Disabled);\r\n }\r\n\r\n public onBeforeRender(): void {\r\n if (this.model || !this.options.masterId) {\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.Disabled, false);\r\n return;\r\n }\r\n\r\n if (this.dataFetched())\r\n return;\r\n\r\n this.videoDataService.clearCacheAndGetVideo(this.options.masterId, (data: Video) => this.onVideoSync(data), false);\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n dataFetched: this.dataFetched(),\r\n videoDeleted: !this.model,\r\n spinnerEl: SpinnerHelper.getSpinner({ size: SpinnerSize.Large, extraClasses: 'mx-auto' })\r\n };\r\n }\r\n}","import { ObjectHash } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\nimport { SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\n\r\nexport class DisabledSpinnerModel extends Core.Model {\r\n public defaults(): ObjectHash {\r\n return {\r\n [SpinnerButtonModelAttributes.Disabled]: true\r\n };\r\n }\r\n}"],"sourceRoot":""}
1
+ {"version":3,"sources":["file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/migration-wizard/views/remigrate-video/RemigrateVideo.hbs","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/migration-wizard/views/remigrate-video/RemigrateVideoView.ts","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/shared/models/DisabledSpinnerModel.ts"],"names":[],"mappings":";;;;;;;;;AAAA,iBAAiB,mBAAO,CAAC,8BAAY;AACrC,iEAAiE;AACjE;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,6FAA6F,kGAAkG,qBAAqB,wFAAwF;AAC5S,CAAC;AACD;;AAEA,sKAAsK,aAAa,uBAAuB,aAAa;AACvN;AACA,CAAC;AACD,4GAA4G;;AAE5G,sFAAsF,uBAAuB,aAAa;AAC1H;AACA,sFAAsF,uBAAuB,aAAa;AAC1H;AACA,CAAC;AACD;;AAEA,8FAA8F,iGAAiG,yBAAyB,wFAAwF;AAChT,CAAC,gBAAgB,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzBjB;AACA;AAEA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAKA;AAQO,IAAM,kBAAb;AAAA;;AAAA;;AAME,8BAAY,OAAZ,EAA8C;AAAA;;AAAA,6BACtC,OADsC;AAE7C;;AARH;AAAA;AAAA,iCAUmB;AACf,WAAK,YAAL,GAAoB,IAAI,wFAAJ,EAApB;AAEA,WAAK,gBAAL,GAAwB,kGAAe,CAAC,WAAhB,CAA4B,8DAAY,CAAC,KAAzC,EAAgD,IAAhD,CAAxB;AACA,WAAK,yBAAL,GAAiC,kGAAe,CAAC,WAAhB,CAA4B,8DAAY,CAAC,cAAzC,EAAyD,IAAzD,CAAjC;AAEA,UAAI,CAAC,KAAK,OAAL,CAAa,QAAlB,EACE;AAEF,WAAK,QAAL,CAAc,8DAAY,CAAC,KAA3B,YAAqC,8DAAY,CAAC,MAAlD,cAA4D,KAAK,OAAL,CAAa,QAAzE,aAA2F,KAAK,OAAhG;AACD;AApBH;AAAA;AAAA,8CA8DiC;AAAA;;AAC7B,UAAI,KAAK,KAAT,EACE;AAEF,aAAO;AACL,aAAK,EAAE,KAAK,YADP;AAEL,mBAAW,EAAE,KAAK,WAFb;AAGL,kBAAU,EAAE;AAAA,iBAAM,KAAI,CAAC,aAAL,EAAN;AAAA,SAHP;AAIL,eAAO,EAAE;AAAA,iBAAM,KAAI,CAAC,YAAL,EAAN;AAAA;AAJJ,OAAP;AAMD;AAxEH;AAAA;AAAA,oCA0EuB;AACnB,aAAO,KAAK,KAAL,GACH,kGAAe,CAAC,SAAhB,CAA0B,KAAK,IAA/B,EAAqC,WAArC,CADG,GAEH,kGAAe,CAAC,SAAhB,CAA0B,KAAK,IAA/B,EAAqC,cAArC,CAFJ;AAGD;AA9EH;AAAA;AAAA,gCAgFsB,IAhFtB,EAgFiC;AAC7B;;;;AAIG;AACH,UAAI,CAAC,IAAI,CAAC,SAAN,IAAmB,CAAC,IAAI,CAAC,SAAL,CAAe,GAAf,CAAmB,WAAC;AAAA,eAAI,CAAC,CAAC,GAAF,CAAM,MAAN,MAAkB,0FAAiB,CAAC,aAAxC;AAAA,OAApB,CAAxB,EAAoG;AAClG,aAAK,OAAL;AACA;AACD;;AAED,WAAK,KAAL,GAAa,IAAb;AAEA,WAAK,YAAL,CAAkB,GAAlB,CAAsB,qHAA4B,CAAC,QAAnD,EAA6D,KAA7D;AAEA,WAAK,MAAL;AACD;AAhGH;AAAA;AAAA,8BAkGiB;AACb,WAAK,YAAL,CAAkB,GAAlB,CAAsB,qHAA4B,CAAC,QAAnD,EAA6D,KAA7D;AAEA,WAAK,MAAL;AACD;AAtGH;AAAA;AAAA,mCAwGsB;AAAA;;AAClB,WAAK,YAAL,CAAkB,GAAlB,CAAsB,qHAA4B,CAAC,WAAnD,EAAgE,IAAhE;AAEA,UAAM,MAAM,GAAG,IAAI,8DAAI,CAAC,UAAT,CAAoB,CAAC;AAClC,mBAAW,EAAE,KAAK,OAAL,CAAa,WADQ;AAElC,gBAAQ,EAAE,CAAC,KAAK,OAAL,CAAa,OAAd;AAFwB,OAAD,CAApB,CAAf;AAKA,WAAK,yBAAL,CAA+B,sBAA/B,CACE,MADF,EACU,KADV,EACiB,UAAC,gBAAD,EAAuC;AACpD,cAAI,CAAC,yBAAL,CAA+B,eAA/B;;AACA,cAAI,CAAC,gBAAL,CAAsB,eAAtB;;AAEA,sEAAI,CAAC,aAAL,CAAmB,OAAnB,CAA2B;AACzB,qBAAW,EAAE,6DAAW,CAAC,gBADA;AAEzB,gBAAM,EAAE,yDAAO,CAAC,eAAR,CAAwB,QAFP;AAGzB,cAAI,EAAE,CAAC,gBAAgB,CAAC,EAAlB;AAHmB,SAA3B;AAKD,OAVH;AAYD;AA5HH;AAAA;AAAA,kCA8HqB;AACjB,aAAO,CAAC,KAAK,YAAL,CAAkB,GAAlB,CAAsB,qHAA4B,CAAC,QAAnD,CAAR;AACD;AAhIH;AAAA;AAAA,qCAkIuB;AAAA;;AACnB,UAAI,KAAK,KAAL,IAAc,CAAC,KAAK,OAAL,CAAa,QAAhC,EAA0C;AACxC,aAAK,YAAL,CAAkB,GAAlB,CAAsB,qHAA4B,CAAC,QAAnD,EAA6D,KAA7D;AACA;AACD;;AAED,UAAI,KAAK,WAAL,EAAJ,EACE;AAEF,WAAK,gBAAL,CAAsB,qBAAtB,CAA4C,KAAK,OAAL,CAAa,QAAzD,EAAmE,UAAC,IAAD;AAAA,eAAiB,MAAI,CAAC,WAAL,CAAiB,IAAjB,CAAjB;AAAA,OAAnE,EAA4G,KAA5G;AACD;AA5IH;AAAA;AAAA,kCA8IoB;AAChB,aAAO;AACL,mBAAW,EAAE,KAAK,WAAL,EADR;AAEL,oBAAY,EAAE,CAAC,KAAK,KAFf;AAGL,iBAAS,EAAE,2DAAa,CAAC,UAAd,CAAyB;AAAE,cAAI,EAAE,yDAAW,CAAC,KAApB;AAA2B,sBAAY,EAAE;AAAzC,SAAzB;AAHN,OAAP;AAKD;AApJH;AAAA;AAAA,wBAsBiB;AACb,aAAO,oBAAP;AACD;AAxBH;AAAA;AAAA,wBA0BkB;AACd,aAAO,kGAAe,CAAC,SAAhB,CAA0B,KAAK,IAA/B,EAAqC,OAArC,CAAP;AACD;AA5BH;AAAA;AAAA,wBA8BiB;AACb,aAAO,gCAAP;AACD;AAhCH;AAAA;AAAA,wBAkCqB;AACjB,aAAO,0DAAP;AACD;AApCH;AAAA;AAAA,wBAsCwB;AACpB,aAAO,gEAAkB,CAAC,yBAAnB,CAA6C,IAA7C,CAAP;AACD;AAxCH;AAAA;AAAA,wBA0CsB;AAClB,aAAO,CACL;AACE,qBAAa,EAAE,+DADjB;AAEE,aAAK,EAAE,kGAAe,CAAC,SAAhB,CAA0B,KAAK,IAA/B,EAAqC,SAArC,CAFT;AAGE,4BAAoB,EAAE,KAAK;AAH7B,OADK,CAAP;AAOD;AAlDH;AAAA;AAAA,wBAoDqB;AACjB,aAAO;AACL,uBAAe;AACb,qBAAW,EAAE,6DAAW,CAAC,cADZ;AAEb,gBAAM,EAAE,yDAAO,CAAC,aAAR,CAAsB,aAFjB;AAGb,cAAI,EAAE,CAAC,KAAK,OAAL,CAAa,QAAd;AAHO;AADV,OAAP;AAOD;AA5DH;;AAAA;AAAA,EAAwC,8DAAI,CAAC,IAA7C,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxBA;AACA;AAEO,IAAM,oBAAb;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA,+BACiB;AACb,iCACG,8GAA4B,CAAC,QADhC,EAC2C,IAD3C;AAGD;AALH;;AAAA;AAAA,EAA0C,8DAAI,CAAC,KAA/C,E","file":"scripts/83.chunk.js","sourcesContent":["var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = container.lambda(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.spinnerEl : stack1), depth0)) != null ? stack1 : \"\")\n + \"\\r\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.videoDeleted : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(4, data, 0),\"inverse\":container.program(6, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"4\":function(container,depth0,helpers,partials,data) {\n var alias1=container.propertyIsEnumerable;\n\n return container.escapeExpression((helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),\"deleted\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"\\r\\n\";\n},\"6\":function(container,depth0,helpers,partials,data) {\n var alias1=container.propertyIsEnumerable, alias2=depth0 != null ? depth0 : (container.nullContext || {}), alias3=container.hooks.helperMissing, alias4=container.escapeExpression;\n\n return alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"exists\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \" <a class=\\\"view-video info-link\\\">\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"clickHere\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</a>\\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = helpers.unless.call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.dataFetched : stack1),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(3, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"useData\":true});","import { ObjectHash } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\nimport { InstanceManager } from 'libs/common/backbone/services/InstanceManager';\r\n\r\nimport RemigrateVideoTemplate from './RemigrateVideo.hbs';\r\n\r\nimport { PopupBehavior, PopupSpinnerButtonOptions } from 'shared/behaviors';\r\nimport { SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\nimport { DisabledSpinnerModel } from 'shared/models/DisabledSpinnerModel';\r\nimport { Video } from 'shared/models/Video';\r\nimport { DataServices, DataChannels, DataPrefixes, AppChannels, Actions } from 'shared/constants';\r\nimport { SpinnerHelper, SpinnerSize, RadioChannelHelper } from 'shared/utils';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nimport { VideoDataService } from 'apps/library-editor/services/VideoDataService';\r\nimport { MigrationVideoDataService } from 'apps/migration-wizard/services/MigrationVideoDataService';\r\nimport { FinalisationTask } from 'apps/migration-wizard/models';\r\nimport { MasterObjectTypes } from 'libs/shared/enums/MasterObjectTypes';\r\n\r\ninterface RemigrateVideoViewOptions extends Core.ViewOptions<Video> {\r\n videoId: string;\r\n masterId?: string;\r\n folderChord: string;\r\n}\r\n\r\nexport class RemigrateVideoView extends Core.View {\r\n public options: RemigrateVideoViewOptions;\r\n private videoDataService: VideoDataService;\r\n private migrationVideoDataService: MigrationVideoDataService;\r\n private spinnerModel: DisabledSpinnerModel;\r\n\r\n constructor(options: RemigrateVideoViewOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.spinnerModel = new DisabledSpinnerModel();\r\n\r\n this.videoDataService = InstanceManager.getInstance(DataServices.Video, this);\r\n this.migrationVideoDataService = InstanceManager.getInstance(DataServices.MigrationVideo, this);\r\n\r\n if (!this.options.masterId)\r\n return;\r\n\r\n this.listenTo(DataChannels.VIDEO, `${DataPrefixes.VIDEOS}:${this.options.masterId}:error`, this.onError);\r\n }\r\n\r\n public get name(): string {\r\n return 'RemigrateVideoView';\r\n }\r\n\r\n public get title(): string {\r\n return LanguageService.getPhrase(this.lang, 'title');\r\n }\r\n\r\n public get lang(): string {\r\n return 'migrationWizard.remigrateVideo';\r\n }\r\n\r\n public get template(): string {\r\n return RemigrateVideoTemplate;\r\n }\r\n\r\n public get channelName(): string {\r\n return RadioChannelHelper.generateUniqueChannelName(this);\r\n }\r\n\r\n public get behaviors(): any[] {\r\n return [\r\n {\r\n behaviorClass: PopupBehavior,\r\n title: LanguageService.getPhrase(this.lang, 'heading'),\r\n spinnerButtonOptions: this.getSpinnerButtonOptions\r\n }\r\n ];\r\n }\r\n\r\n public get appLinks(): Core.AppLinkHash {\r\n return {\r\n '.view-video': {\r\n application: AppChannels.LIBRARY_EDITOR,\r\n action: Actions.LibraryEditor.VIDEO_DETAILS,\r\n args: [this.options.masterId]\r\n }\r\n };\r\n }\r\n\r\n private getSpinnerButtonOptions(): PopupSpinnerButtonOptions {\r\n if (this.model)\r\n return;\r\n\r\n return {\r\n model: this.spinnerModel,\r\n channelName: this.channelName,\r\n buttonText: () => this.getButtonText(),\r\n onClick: () => this.migrateVideo()\r\n };\r\n }\r\n\r\n private getButtonText(): string {\r\n return this.model\r\n ? LanguageService.getPhrase(this.lang, 'viewVideo')\r\n : LanguageService.getPhrase(this.lang, 'addToLibrary');\r\n }\r\n\r\n private onVideoSync(data: Video): void {\r\n /**\r\n * If the video is an exchange or hosted library video and was removed from the custom library\r\n * the fetch will still return the video but the video won't be associated to a custom library\r\n * So we need our popup to behave as if the video could not be fetched\r\n */\r\n if (!data.libraries || !data.libraries.any(l => l.get('type') === MasterObjectTypes.CustomLibrary)) {\r\n this.onError();\r\n return;\r\n }\r\n\r\n this.model = data;\r\n\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.Disabled, false);\r\n\r\n this.render();\r\n }\r\n\r\n private onError(): void {\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.Disabled, false);\r\n\r\n this.render();\r\n }\r\n\r\n private migrateVideo(): void {\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.ShowSpinner, true);\r\n\r\n const groups = new Core.Collection([{\r\n folderChord: this.options.folderChord,\r\n videoIds: [this.options.videoId]\r\n }]);\r\n\r\n this.migrationVideoDataService.finaliseCustomerVideos(\r\n groups, false, (finalisationTask: FinalisationTask) => {\r\n this.migrationVideoDataService.clearVideoCache();\r\n this.videoDataService.clearVideoCache();\r\n\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.MIGRATION_WIZARD,\r\n action: Actions.MigrationWizard.PROGRESS,\r\n args: [finalisationTask.id],\r\n });\r\n }\r\n );\r\n }\r\n\r\n private dataFetched(): boolean {\r\n return !this.spinnerModel.get(SpinnerButtonModelAttributes.Disabled);\r\n }\r\n\r\n public onBeforeRender(): void {\r\n if (this.model || !this.options.masterId) {\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.Disabled, false);\r\n return;\r\n }\r\n\r\n if (this.dataFetched())\r\n return;\r\n\r\n this.videoDataService.clearCacheAndGetVideo(this.options.masterId, (data: Video) => this.onVideoSync(data), false);\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n dataFetched: this.dataFetched(),\r\n videoDeleted: !this.model,\r\n spinnerEl: SpinnerHelper.getSpinner({ size: SpinnerSize.Large, extraClasses: 'mx-auto' })\r\n };\r\n }\r\n}","import { ObjectHash } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\nimport { SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\n\r\nexport class DisabledSpinnerModel extends Core.Model {\r\n public defaults(): ObjectHash {\r\n return {\r\n [SpinnerButtonModelAttributes.Disabled]: true\r\n };\r\n }\r\n}"],"sourceRoot":""}
@@ -1 +1 @@
1
- {"version":3,"sources":["file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/staff-requests/views/approve-staff-request/ApproveStaffRequest.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/staff-requests/views/approve-staff-request/ApproveStaffRequestView.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/shared/models/DisabledSpinnerModel.ts"],"names":[],"mappings":"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","file":"scripts/84.chunk.js","sourcesContent":["var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = container.lambda(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.spinnerEl : stack1), depth0)) != null ? stack1 : \"\")\n + \"\\r\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return \"<p>\"\n + ((stack1 = (helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),\"approveDescription\",{\"name\":\"lang\",\"hash\":{\"videoName\":((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.videoName : stack1),\"folderName\":((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.folderName : stack1),\"libraryName\":((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.libraryName : stack1)},\"data\":data})) != null ? stack1 : \"\")\n + \"</p>\\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = helpers.unless.call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.dataFetched : stack1),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(3, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"useData\":true});","import { ObjectHash, Radio } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { InstanceManager } from 'libs/common/backbone/services/InstanceManager';\r\nimport { LocationContext, UserAction, EntityType, WorkflowPhase } from 'libs/analytics/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\n\r\nimport { PopupBehavior } from 'shared/behaviors';\r\nimport { SpinnerButtonEvents, SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\nimport { DataServices, Actions, DataPrefixes, DataChannels, AppChannels } from 'shared/constants';\r\nimport { Library } from 'shared/models/Library';\r\nimport { Folder } from 'shared/models/Folder';\r\nimport { DisabledSpinnerModel } from 'shared/models/DisabledSpinnerModel';\r\nimport { LibraryCollection } from 'shared/collections/LibraryCollection';\r\nimport { FolderTreeHelpers, RadioChannelHelper, TextHelper, SpinnerHelper, SpinnerSize } from 'shared/utils';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nimport { StaffRequest } from 'apps/staff-requests/models';\r\nimport { LibraryDataService } from 'apps/library-editor/services/LibraryDataService';\r\nimport { StaffRequestDataService } from 'apps/staff-requests/services/StaffRequestDataService';\r\n\r\nimport ApproveStaffRequestTemplate from './ApproveStaffRequest.hbs';\r\n\r\ninterface ApproveStaffRequestViewOptions extends Core.ViewOptions<StaffRequest> {\r\n requestId: string;\r\n libraryId: string;\r\n folderId: string;\r\n}\r\n\r\nexport class ApproveStaffRequestView extends Core.View<StaffRequest> {\r\n public options: ApproveStaffRequestViewOptions;\r\n private staffRequestDataService: StaffRequestDataService;\r\n private libraryDataService: LibraryDataService;\r\n private library: Library;\r\n private folder: Folder;\r\n private spinnerModel: DisabledSpinnerModel;\r\n\r\n constructor(options: ApproveStaffRequestViewOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.staffRequestDataService = InstanceManager.getInstance(DataServices.StaffRequests, this);\r\n this.libraryDataService = InstanceManager.getInstance(DataServices.Library, this);\r\n this.bindListeners();\r\n }\r\n\r\n public get name(): string {\r\n return 'ApproveStaffRequestView';\r\n }\r\n\r\n public get title(): string {\r\n return LanguageService.getPhrase(this.lang, 'title');\r\n }\r\n\r\n public get lang(): string {\r\n return 'staffRequests.approveStaffRequest';\r\n }\r\n\r\n public get template(): string {\r\n return ApproveStaffRequestTemplate;\r\n }\r\n\r\n public get tagName(): string {\r\n return 'form';\r\n }\r\n\r\n public get channelName(): string {\r\n return RadioChannelHelper.generateUniqueChannelName(this);\r\n }\r\n\r\n public get behaviors(): any[] {\r\n return [\r\n {\r\n behaviorClass: PopupBehavior,\r\n title: LanguageService.getPhrase(this.lang, 'approveCheck'),\r\n size: 'modal-md',\r\n spinnerButtonOptions: {\r\n model: this.spinnerModel = new DisabledSpinnerModel(),\r\n channelName: this.channelName,\r\n buttonText: LanguageService.getPhrase(this.lang, 'approve'),\r\n onClick: (e: JQuery.Event) => this.onSubmit(e)\r\n }\r\n }\r\n ];\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n submit: 'onSubmit'\r\n };\r\n }\r\n\r\n private bindListeners(): void {\r\n const fetchStaffRequestEventName = `${DataPrefixes.STAFF_REQUEST_BY_ID}:${this.options.requestId}`;\r\n this.listenTo(DataChannels.STAFF_REQUEST, `${fetchStaffRequestEventName}:sync`, this.render);\r\n this.listenTo(DataChannels.STAFF_REQUEST, `${fetchStaffRequestEventName}:error`, this.redirectToHome);\r\n\r\n const updateStaffRequestEventName = `${DataPrefixes.STAFF_REQUESTS}:${this.options.requestId}:update`;\r\n this.listenTo(DataChannels.STAFF_REQUEST, `${updateStaffRequestEventName}:sync`, this.redirectToHome);\r\n this.listenTo(DataChannels.STAFF_REQUEST, `${updateStaffRequestEventName}:error`, this.redirectToHome);\r\n\r\n this.listenTo(DataChannels.LIBRARY, `folder:${this.options.folderId}:sync`, this.render);\r\n }\r\n\r\n private fetchData(): void {\r\n this.model = this.staffRequestDataService.getStaffRequest(this.options.requestId);\r\n\r\n if (!this.library)\r\n this.libraryDataService.getLibraries((data: LibraryCollection) => {\r\n this.library = FolderTreeHelpers.getLibrary(this.options.libraryId, data);\r\n this.render();\r\n });\r\n\r\n this.folder = this.libraryDataService.getFolder(this.options.folderId);\r\n }\r\n\r\n private onSubmit(e: JQuery.Event): void {\r\n e && e.preventDefault();\r\n\r\n Radio.channel(this.channelName).trigger(SpinnerButtonEvents.ShowSpinner);\r\n\r\n this.staffRequestDataService.approveStaffRequest(\r\n this.options.requestId,\r\n this.options.libraryId,\r\n this.options.folderId\r\n );\r\n\r\n this.logAction();\r\n }\r\n\r\n private logAction(): void {\r\n const analyticsOptions = {\r\n location: LocationContext.Popup,\r\n actionType: UserAction.Approve,\r\n entity: EntityType.StaffRequest,\r\n workflowPhase: WorkflowPhase.Complete\r\n };\r\n\r\n const data: ObjectHash = {\r\n id: this.options.requestId,\r\n videoId: this.model.get('video') && this.model.get('video').id,\r\n requestingUserId: this.model.get('user') && this.model.get('user').id,\r\n sourceLibraryId: this.model.get('sourceLibrary') && this.model.get('sourceLibrary').id,\r\n sourceFolderId: this.model.get('sourceFolder') && this.model.get('sourceFolder').id,\r\n destinationLibraryId: this.options.libraryId,\r\n destinationFolderId: this.options.folderId\r\n };\r\n\r\n AnalyticsHelper.logUserAction(data, analyticsOptions);\r\n }\r\n\r\n private redirectToHome(): void {\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.STAFF_REQUESTS,\r\n action: Actions.StaffRequests.HOME\r\n });\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n dataFetched: !!this.model && !!this.library && !!this.folder,\r\n library: this.library && this.library.get('name'),\r\n folder: this.folder && this.folder.get('name'),\r\n spinnerEl: SpinnerHelper.getSpinner({ size: SpinnerSize.Large, extraClasses: 'mx-auto' }),\r\n libraryName: this.library && TextHelper.escapeExpression(this.library.get('name')),\r\n folderName: this.folder && TextHelper.escapeExpression(this.folder.get('name')),\r\n videoName: this.model && this.model.get('video') && TextHelper.escapeExpression(this.model.get('video').get('name'))\r\n };\r\n }\r\n\r\n public onBeforeRender(): void {\r\n this.fetchData();\r\n\r\n if (this.model && this.library && this.folder)\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.Disabled, false);\r\n }\r\n}","import { ObjectHash } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\nimport { SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\n\r\nexport class DisabledSpinnerModel extends Core.Model {\r\n public defaults(): ObjectHash {\r\n return {\r\n [SpinnerButtonModelAttributes.Disabled]: true\r\n };\r\n }\r\n}"],"sourceRoot":""}
1
+ {"version":3,"sources":["file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/staff-requests/views/approve-staff-request/ApproveStaffRequest.hbs","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/staff-requests/views/approve-staff-request/ApproveStaffRequestView.ts","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/shared/models/DisabledSpinnerModel.ts"],"names":[],"mappings":"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","file":"scripts/84.chunk.js","sourcesContent":["var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = container.lambda(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.spinnerEl : stack1), depth0)) != null ? stack1 : \"\")\n + \"\\r\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return \"<p>\"\n + ((stack1 = (helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),\"approveDescription\",{\"name\":\"lang\",\"hash\":{\"videoName\":((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.videoName : stack1),\"folderName\":((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.folderName : stack1),\"libraryName\":((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.libraryName : stack1)},\"data\":data})) != null ? stack1 : \"\")\n + \"</p>\\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = helpers.unless.call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.dataFetched : stack1),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(3, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"useData\":true});","import { ObjectHash, Radio } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { InstanceManager } from 'libs/common/backbone/services/InstanceManager';\r\nimport { LocationContext, UserAction, EntityType, WorkflowPhase } from 'libs/analytics/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\n\r\nimport { PopupBehavior } from 'shared/behaviors';\r\nimport { SpinnerButtonEvents, SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\nimport { DataServices, Actions, DataPrefixes, DataChannels, AppChannels } from 'shared/constants';\r\nimport { Library } from 'shared/models/Library';\r\nimport { Folder } from 'shared/models/Folder';\r\nimport { DisabledSpinnerModel } from 'shared/models/DisabledSpinnerModel';\r\nimport { LibraryCollection } from 'shared/collections/LibraryCollection';\r\nimport { FolderTreeHelpers, RadioChannelHelper, TextHelper, SpinnerHelper, SpinnerSize } from 'shared/utils';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nimport { StaffRequest } from 'apps/staff-requests/models';\r\nimport { LibraryDataService } from 'apps/library-editor/services/LibraryDataService';\r\nimport { StaffRequestDataService } from 'apps/staff-requests/services/StaffRequestDataService';\r\n\r\nimport ApproveStaffRequestTemplate from './ApproveStaffRequest.hbs';\r\n\r\ninterface ApproveStaffRequestViewOptions extends Core.ViewOptions<StaffRequest> {\r\n requestId: string;\r\n libraryId: string;\r\n folderId: string;\r\n}\r\n\r\nexport class ApproveStaffRequestView extends Core.View<StaffRequest> {\r\n public options: ApproveStaffRequestViewOptions;\r\n private staffRequestDataService: StaffRequestDataService;\r\n private libraryDataService: LibraryDataService;\r\n private library: Library;\r\n private folder: Folder;\r\n private spinnerModel: DisabledSpinnerModel;\r\n\r\n constructor(options: ApproveStaffRequestViewOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.staffRequestDataService = InstanceManager.getInstance(DataServices.StaffRequests, this);\r\n this.libraryDataService = InstanceManager.getInstance(DataServices.Library, this);\r\n this.bindListeners();\r\n }\r\n\r\n public get name(): string {\r\n return 'ApproveStaffRequestView';\r\n }\r\n\r\n public get title(): string {\r\n return LanguageService.getPhrase(this.lang, 'title');\r\n }\r\n\r\n public get lang(): string {\r\n return 'staffRequests.approveStaffRequest';\r\n }\r\n\r\n public get template(): string {\r\n return ApproveStaffRequestTemplate;\r\n }\r\n\r\n public get tagName(): string {\r\n return 'form';\r\n }\r\n\r\n public get channelName(): string {\r\n return RadioChannelHelper.generateUniqueChannelName(this);\r\n }\r\n\r\n public get behaviors(): any[] {\r\n return [\r\n {\r\n behaviorClass: PopupBehavior,\r\n title: LanguageService.getPhrase(this.lang, 'approveCheck'),\r\n size: 'modal-md',\r\n spinnerButtonOptions: {\r\n model: this.spinnerModel = new DisabledSpinnerModel(),\r\n channelName: this.channelName,\r\n buttonText: LanguageService.getPhrase(this.lang, 'approve'),\r\n onClick: (e: JQuery.Event) => this.onSubmit(e)\r\n }\r\n }\r\n ];\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n submit: 'onSubmit'\r\n };\r\n }\r\n\r\n private bindListeners(): void {\r\n const fetchStaffRequestEventName = `${DataPrefixes.STAFF_REQUEST_BY_ID}:${this.options.requestId}`;\r\n this.listenTo(DataChannels.STAFF_REQUEST, `${fetchStaffRequestEventName}:sync`, this.render);\r\n this.listenTo(DataChannels.STAFF_REQUEST, `${fetchStaffRequestEventName}:error`, this.redirectToHome);\r\n\r\n const updateStaffRequestEventName = `${DataPrefixes.STAFF_REQUESTS}:${this.options.requestId}:update`;\r\n this.listenTo(DataChannels.STAFF_REQUEST, `${updateStaffRequestEventName}:sync`, this.redirectToHome);\r\n this.listenTo(DataChannels.STAFF_REQUEST, `${updateStaffRequestEventName}:error`, this.redirectToHome);\r\n\r\n this.listenTo(DataChannels.LIBRARY, `folder:${this.options.folderId}:sync`, this.render);\r\n }\r\n\r\n private fetchData(): void {\r\n this.model = this.staffRequestDataService.getStaffRequest(this.options.requestId);\r\n\r\n if (!this.library)\r\n this.libraryDataService.getLibraries((data: LibraryCollection) => {\r\n this.library = FolderTreeHelpers.getLibrary(this.options.libraryId, data);\r\n this.render();\r\n });\r\n\r\n this.folder = this.libraryDataService.getFolder(this.options.folderId);\r\n }\r\n\r\n private onSubmit(e: JQuery.Event): void {\r\n e && e.preventDefault();\r\n\r\n Radio.channel(this.channelName).trigger(SpinnerButtonEvents.ShowSpinner);\r\n\r\n this.staffRequestDataService.approveStaffRequest(\r\n this.options.requestId,\r\n this.options.libraryId,\r\n this.options.folderId\r\n );\r\n\r\n this.logAction();\r\n }\r\n\r\n private logAction(): void {\r\n const analyticsOptions = {\r\n location: LocationContext.Popup,\r\n actionType: UserAction.Approve,\r\n entity: EntityType.StaffRequest,\r\n workflowPhase: WorkflowPhase.Complete\r\n };\r\n\r\n const data: ObjectHash = {\r\n id: this.options.requestId,\r\n videoId: this.model.get('video') && this.model.get('video').id,\r\n requestingUserId: this.model.get('user') && this.model.get('user').id,\r\n sourceLibraryId: this.model.get('sourceLibrary') && this.model.get('sourceLibrary').id,\r\n sourceFolderId: this.model.get('sourceFolder') && this.model.get('sourceFolder').id,\r\n destinationLibraryId: this.options.libraryId,\r\n destinationFolderId: this.options.folderId\r\n };\r\n\r\n AnalyticsHelper.logUserAction(data, analyticsOptions);\r\n }\r\n\r\n private redirectToHome(): void {\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.STAFF_REQUESTS,\r\n action: Actions.StaffRequests.HOME\r\n });\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n dataFetched: !!this.model && !!this.library && !!this.folder,\r\n library: this.library && this.library.get('name'),\r\n folder: this.folder && this.folder.get('name'),\r\n spinnerEl: SpinnerHelper.getSpinner({ size: SpinnerSize.Large, extraClasses: 'mx-auto' }),\r\n libraryName: this.library && TextHelper.escapeExpression(this.library.get('name')),\r\n folderName: this.folder && TextHelper.escapeExpression(this.folder.get('name')),\r\n videoName: this.model && this.model.get('video') && TextHelper.escapeExpression(this.model.get('video').get('name'))\r\n };\r\n }\r\n\r\n public onBeforeRender(): void {\r\n this.fetchData();\r\n\r\n if (this.model && this.library && this.folder)\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.Disabled, false);\r\n }\r\n}","import { ObjectHash } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\nimport { SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\n\r\nexport class DisabledSpinnerModel extends Core.Model {\r\n public defaults(): ObjectHash {\r\n return {\r\n [SpinnerButtonModelAttributes.Disabled]: true\r\n };\r\n }\r\n}"],"sourceRoot":""}
@@ -1 +1 @@
1
- {"version":3,"sources":["file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/shared/models/DisabledSpinnerModel.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/shared/views/download-to-local-cache/DownloadToLocalCache.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/shared/views/download-to-local-cache/DownloadToLocalCacheView.ts"],"names":[],"mappings":"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","file":"scripts/85.chunk.js","sourcesContent":["import { ObjectHash } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\nimport { SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\n\r\nexport class DisabledSpinnerModel extends Core.Model {\r\n public defaults(): ObjectHash {\r\n return {\r\n [SpinnerButtonModelAttributes.Disabled]: true\r\n };\r\n }\r\n}","var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = container.lambda(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.spinnerEl : stack1), depth0)) != null ? stack1 : \"\")\n + \"\\r\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = helpers.unless.call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.alreadyDownloaded : stack1),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(4, data, 0),\"inverse\":container.program(6, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"4\":function(container,depth0,helpers,partials,data) {\n var alias1=container.propertyIsEnumerable, alias2=depth0 != null ? depth0 : (container.nullContext || {}), alias3=container.hooks.helperMissing, alias4=container.escapeExpression;\n\n return \"<p><strong>\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"description\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</strong></p>\\r\\n<svg height=\\\"100\\\" viewBox=\\\"0 0 427 100\\\" width=\\\"427\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\r\\n <g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\">\\r\\n <g fill-rule=\\\"nonzero\\\">\\r\\n <path d=\\\"m94.5 55.5c-.5522847 0-1-.4477153-1-1s.4477153-1 1-1h2c.5522847 0 1 .4477153 1 1s-.4477153 1-1 1zm14 0c-.552285 0-1-.4477153-1-1s.447715-1 1-1h2c.552285 0 1 .4477153 1 1s-.447715 1-1 1zm14 0c-.552285 0-1-.4477153-1-1s.447715-1 1-1h2c.552285 0 1 .4477153 1 1s-.447715 1-1 1zm14 0c-.552285 0-1-.4477153-1-1s.447715-1 1-1h2c.552285 0 1 .4477153 1 1s-.447715 1-1 1zm14 0c-.552285 0-1-.4477153-1-1s.447715-1 1-1h2c.552285 0 1 .4477153 1 1s-.447715 1-1 1zm112 0c-.552285 0-1-.4477153-1-1s.447715-1 1-1h2c.552285 0 1 .4477153 1 1s-.447715 1-1 1zm14 0c-.552285 0-1-.4477153-1-1s.447715-1 1-1h2c.552285 0 1 .4477153 1 1s-.447715 1-1 1zm14 0c-.552285 0-1-.4477153-1-1s.447715-1 1-1h2c.552285 0 1 .4477153 1 1s-.447715 1-1 1zm14 0c-.552285 0-1-.4477153-1-1s.447715-1 1-1h2c.552285 0 1 .4477153 1 1s-.447715 1-1 1zm14 0c-.552285 0-1-.4477153-1-1s.447715-1 1-1h2c.552285 0 1 .4477153 1 1s-.447715 1-1 1z\\\" fill=\\\"#f8981d\\\"/><path d=\\\"m75.3660384 82.489591c-.0757675.0069357-.1518122.010409-.2278965.010409h-54.6179583c-11.70030947 0-19.2714702-8.1915084-19.97109491-19.1076542-.62065424-9.6839806 4.42338321-18.3273466 12.94458521-20.6053076-.4297787-11.9466685 6.5982062-21.1867066 17.1901489-24.2852299 10.2989712-3.0128186 20.88668.7410547 26.0606491 10.0502544 12.8217558-3.457481 26.1104718 8.263297 24.2211271 21.1832845 16.58825 6.4833251 12.6943926 31.07962-5.5995606 32.7542438zm-.3464266-4.989591c13.592216-1.3432135 15.9498811-20.1088375 2.3914689-23.6692862-1.3614422-.3575157-2.1594623-1.7680385-1.7646963-3.11915 3.0734097-10.5189376-8.8471782-21.078668-19.2165057-16.7806108-1.2612369.5227791-2.7086325-.0629726-3.2513006-1.3157806-3.6287978-8.3774717-12.3662807-11.8667544-21.0909115-9.3144869-8.9863414 2.6288273-14.6536056 10.6534543-13.4524943 21.2329216.1549662 1.3649525-.8204237 2.5992336-2.1842308 2.7639765-7.0138244.8472442-11.43239953 7.6566537-10.91209037 15.7749642.54005245 8.4263623 6.08667627 14.4274522 14.98133247 14.4274522z\\\" fill=\\\"#e2e2e2\\\"/><path d=\\\"m411.5 76h12.5c1.656854 0 3 1.3431458 3 3s-1.343146 3-3 3h-90c-1.656854 0-3-1.3431458-3-3s1.343146-3 3-3h11.5c-4.142136 0-7.5-3.3578644-7.5-7.5v-40c0-4.1421356 3.357864-7.5 7.5-7.5h66c4.142136 0 7.5 3.3578644 7.5 7.5v40c0 4.1421356-3.357864 7.5-7.5 7.5zm-17.5 0h-31c0 1.1045695.895431 2 2 2h27c1.10457 0 2-.8954305 2-2zm-48.5-50c-1.380712 0-2.5 1.1192881-2.5 2.5v40c0 1.3807119 1.119288 2.5 2.5 2.5h66c1.380712 0 2.5-1.1192881 2.5-2.5v-40c0-1.3807119-1.119288-2.5-2.5-2.5z\\\" fill=\\\"#e2e2e2\\\"/><path d=\\\"m194.688889 46.6708215v4.0154896c-21.037954-1.3356058-31.688889-5.9896514-31.688889-14.6862716 0-1.1045913.891623-2.0000395 1.991496-2.0000395s1.991496.8954482 1.991496 2.0000395c0 5.6687396 9.152444 9.4529958 27.70589 10.6707816zm25.906865.1564809c20.376102-1.018022 30.421254-4.8884966 30.421254-10.8272629 0-1.1045913.891623-2.0000395 1.991496-2.0000395s1.991496.8954482 1.991496 2.0000395c0 8.4131404-9.967884 13.0429588-29.664711 14.5450572zm-25.906865 22.7606388v4.0154864c-21.037953-1.3356021-31.688889-5.9896477-31.688889-14.6862684 0-1.1045913.891623-2.0000395 1.991496-2.0000395s1.991496.8954482 1.991496 2.0000395c0 5.6687397 9.152444 9.4529958 27.70589 10.6707815zm25.879593.1578414c20.394411-1.0159301 30.448526-4.8872081 30.448526-10.8286234 0-1.1045913.891623-2.0000395 1.991496-2.0000395s1.991496.8954482 1.991496 2.0000395c0 9.9178906-13.85241 14.5780829-41.165781 15.0546252zm-55.568482-53.0262704s0 9.9603659 40 9.9603659c11.131238 0 10-6.640244 10-23.24085371 26.666667-3.32012195 40 13.28048781 40 13.28048781s-10 13.2804878-50 13.2804878-40-13.2804878-40-13.2804878z\\\" fill=\\\"#f8f8f8\\\"/></g><path d=\\\"m199.011905 38.4086355v36.4615785c0 1.1045695.89543 2 2 2 .384934 0 .76169-.1110843 1.085049-.3199204l25.091884-16.205146c.927883-.5992563 1.194287-1.8372468.59503-2.7651291-.115325-.1785696-.258382-.3376117-.423784-.4711387l-25.091884-20.2564325c-.859459-.6938329-2.118651-.5595663-2.812483.2998927-.287178.3557307-.443812.7991133-.443812 1.2562955z\\\" fill=\\\"#f8981d\\\"/><path d=\\\"m163 16.7249015.011729-.216286.025974-.2387743c1.009035-9.27583682 21.668177-16.2698412 45.79563-16.2698412s44.786596 6.99400437 45.79563 16.2698412l.025974.2387743.01173.216286v65.814781c0 9.5919064-21.048324 16.9642858-45.833334 16.9642858s-45.833333-7.3723794-45.833333-16.9642858zm4 .1084611v65.7063199c0 6.2420953 19.192018 12.9642858 41.833333 12.9642858s41.833334-6.7221905 41.833334-12.9642858v-65.7063199l-.014245-.1309494c-.68278-6.276646-19.663443-12.7024132-41.819089-12.7024132s-41.136309 6.4257672-41.819088 12.7024132z\\\" fill=\\\"#e2e2e2\\\" fill-rule=\\\"nonzero\\\"/>\\r\\n </g>\\r\\n</svg>\\r\\n<p>\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"nextStep\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</p>\\r\\n\";\n},\"6\":function(container,depth0,helpers,partials,data) {\n var alias1=container.propertyIsEnumerable;\n\n return \"<p class=\\\"m-0\\\">\"\n + container.escapeExpression((helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),\"alreadyAdded\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</p>\\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = helpers.unless.call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.dataFetched : stack1),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(3, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"useData\":true});","import { ObjectHash } from 'backbone';\r\n\r\nimport { InstanceManager } from 'libs/common/backbone/services/InstanceManager';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport { PopupBehavior, PopupSpinnerButtonOptions } from 'shared/behaviors';\r\nimport { SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\nimport { LocalCacheDataService } from 'shared/services/LocalCacheDataService';\r\nimport { UserDataServiceHelper } from 'shared/services/UserDataService';\r\nimport { DataServices, DataPrefixes, DataChannels } from 'shared/constants';\r\nimport { DisabledSpinnerModel } from 'shared/models/DisabledSpinnerModel';\r\nimport { User } from 'shared/models/User';\r\nimport { LocalCacheDevice } from 'shared/models/LocalCacheDevice';\r\nimport { SpinnerHelper, SpinnerSize, LocalCacheHelper, RadioChannelHelper } from 'shared/utils';\r\nimport { LocalCacheDeviceNotFoundError } from 'shared/errors';\r\nimport { LocalCacheDownloadCollection } from 'shared/collections/LocalCacheDownloadCollection';\r\n\r\nimport DownloadToLocalCacheTemplate from './DownloadToLocalCache.hbs';\r\n\r\ninterface DownloadToLocalCacheViewOptions extends Core.ViewOptions<LocalCacheDevice> {\r\n videoId: string;\r\n}\r\n\r\nexport class DownloadToLocalCacheView extends Core.View<LocalCacheDevice> {\r\n public options: DownloadToLocalCacheViewOptions;\r\n private localCacheDataService: LocalCacheDataService;\r\n private currentUser: User;\r\n private localCacheDownloads: LocalCacheDownloadCollection;\r\n private spinnerModel: DisabledSpinnerModel;\r\n\r\n constructor(options: DownloadToLocalCacheViewOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.localCacheDataService = InstanceManager.getInstance(DataServices.LocalCache, this);\r\n\r\n this.bindListeners();\r\n }\r\n\r\n public get name(): string {\r\n return 'DownloadToLocalCacheView';\r\n }\r\n\r\n public get title(): string {\r\n return LanguageService.getPhrase(this.lang, 'title');\r\n }\r\n\r\n public get lang(): string {\r\n return 'shared.downloadToLocalCache';\r\n }\r\n\r\n public get template(): string {\r\n return DownloadToLocalCacheTemplate;\r\n }\r\n\r\n public get channelName(): string {\r\n return RadioChannelHelper.generateUniqueChannelName(this);\r\n }\r\n\r\n public get behaviors(): any[] {\r\n this.spinnerModel = new DisabledSpinnerModel();\r\n\r\n return [{\r\n behaviorClass: PopupBehavior,\r\n title: LanguageService.getPhrase(this.lang, 'popupHeading'),\r\n spinnerButtonOptions: this.getSpinnerButtonOptions\r\n }];\r\n }\r\n\r\n private bindListeners(): void {\r\n this.listenTo(DataChannels.USER, `${DataPrefixes.CURRENT_USER}:sync`, this.render);\r\n\r\n this.listenTo(DataChannels.LOCAL_CACHE, `${DataPrefixes.LOCAL_CACHE_DEVICES}:sync`, this.render);\r\n this.listenTo(DataChannels.LOCAL_CACHE,\r\n `${DataPrefixes.LOCAL_CACHE_DOWNLOADS}:${this.options.videoId}:sync`, this.render);\r\n this.listenTo(DataChannels.LOCAL_CACHE, `${DataPrefixes.ADD_VIDEO_TO_LOCAL_CACHE}:sync`, () => this.triggerMethod('hide'));\r\n this.listenTo(DataChannels.LOCAL_CACHE, `${DataPrefixes.ADD_VIDEO_TO_LOCAL_CACHE}:error`, () => this.triggerMethod('hide'));\r\n }\r\n\r\n private getSpinnerButtonOptions(): PopupSpinnerButtonOptions {\r\n if (this.localCacheDownloads && this.localCacheDownloads.length) return;\r\n\r\n return {\r\n model: this.spinnerModel,\r\n channelName: this.channelName,\r\n buttonText: LanguageService.getPhrase(this.lang, 'buttonText'),\r\n onClick: () => this.onClickAddToLocalCache(),\r\n };\r\n }\r\n\r\n private onClickAddToLocalCache(): void {\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.ShowSpinner, true);\r\n\r\n this.localCacheDataService.downloadVideoToLocalCache(this.model.get('deviceId'), this.options.videoId);\r\n }\r\n\r\n public get requiredResources(): Core.RequiredResourceHash {\r\n return {\r\n currentUser: UserDataServiceHelper.currentUser\r\n };\r\n }\r\n\r\n public onBeforeRender(): boolean {\r\n const devices = this.localCacheDataService.getDevices(this.currentUser.get('customerId'));\r\n\r\n this.localCacheDownloads = this.localCacheDataService.getDownloadsForVideos([this.options.videoId]);\r\n\r\n if (!devices || !this.localCacheDownloads) return true;\r\n\r\n this.model = LocalCacheHelper.getNewestDeviceUserCanManage(devices, this.currentUser.get('customerId'));\r\n\r\n if (!this.model) {\r\n setTimeout(() => Core.ErrorHelper.throw(new LocalCacheDeviceNotFoundError()), 0);\r\n return false;\r\n }\r\n\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.Disabled, false);\r\n\r\n return true;\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n dataFetched: !!this.model && !!this.localCacheDownloads,\r\n spinnerEl: SpinnerHelper.getSpinner({ size: SpinnerSize.Large, extraClasses: 'mx-auto' }),\r\n alreadyDownloaded: this.localCacheDownloads && this.localCacheDownloads.length\r\n };\r\n }\r\n}"],"sourceRoot":""}
1
+ {"version":3,"sources":["file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/shared/models/DisabledSpinnerModel.ts","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/shared/views/download-to-local-cache/DownloadToLocalCache.hbs","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/shared/views/download-to-local-cache/DownloadToLocalCacheView.ts"],"names":[],"mappings":"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","file":"scripts/85.chunk.js","sourcesContent":["import { ObjectHash } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\nimport { SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\n\r\nexport class DisabledSpinnerModel extends Core.Model {\r\n public defaults(): ObjectHash {\r\n return {\r\n [SpinnerButtonModelAttributes.Disabled]: true\r\n };\r\n }\r\n}","var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = container.lambda(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.spinnerEl : stack1), depth0)) != null ? stack1 : \"\")\n + \"\\r\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = helpers.unless.call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.alreadyDownloaded : stack1),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(4, data, 0),\"inverse\":container.program(6, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"4\":function(container,depth0,helpers,partials,data) {\n var alias1=container.propertyIsEnumerable, alias2=depth0 != null ? depth0 : (container.nullContext || {}), alias3=container.hooks.helperMissing, alias4=container.escapeExpression;\n\n return \"<p><strong>\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"description\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</strong></p>\\r\\n<svg height=\\\"100\\\" viewBox=\\\"0 0 427 100\\\" width=\\\"427\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\r\\n <g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\">\\r\\n <g fill-rule=\\\"nonzero\\\">\\r\\n <path d=\\\"m94.5 55.5c-.5522847 0-1-.4477153-1-1s.4477153-1 1-1h2c.5522847 0 1 .4477153 1 1s-.4477153 1-1 1zm14 0c-.552285 0-1-.4477153-1-1s.447715-1 1-1h2c.552285 0 1 .4477153 1 1s-.447715 1-1 1zm14 0c-.552285 0-1-.4477153-1-1s.447715-1 1-1h2c.552285 0 1 .4477153 1 1s-.447715 1-1 1zm14 0c-.552285 0-1-.4477153-1-1s.447715-1 1-1h2c.552285 0 1 .4477153 1 1s-.447715 1-1 1zm14 0c-.552285 0-1-.4477153-1-1s.447715-1 1-1h2c.552285 0 1 .4477153 1 1s-.447715 1-1 1zm112 0c-.552285 0-1-.4477153-1-1s.447715-1 1-1h2c.552285 0 1 .4477153 1 1s-.447715 1-1 1zm14 0c-.552285 0-1-.4477153-1-1s.447715-1 1-1h2c.552285 0 1 .4477153 1 1s-.447715 1-1 1zm14 0c-.552285 0-1-.4477153-1-1s.447715-1 1-1h2c.552285 0 1 .4477153 1 1s-.447715 1-1 1zm14 0c-.552285 0-1-.4477153-1-1s.447715-1 1-1h2c.552285 0 1 .4477153 1 1s-.447715 1-1 1zm14 0c-.552285 0-1-.4477153-1-1s.447715-1 1-1h2c.552285 0 1 .4477153 1 1s-.447715 1-1 1z\\\" fill=\\\"#f8981d\\\"/><path d=\\\"m75.3660384 82.489591c-.0757675.0069357-.1518122.010409-.2278965.010409h-54.6179583c-11.70030947 0-19.2714702-8.1915084-19.97109491-19.1076542-.62065424-9.6839806 4.42338321-18.3273466 12.94458521-20.6053076-.4297787-11.9466685 6.5982062-21.1867066 17.1901489-24.2852299 10.2989712-3.0128186 20.88668.7410547 26.0606491 10.0502544 12.8217558-3.457481 26.1104718 8.263297 24.2211271 21.1832845 16.58825 6.4833251 12.6943926 31.07962-5.5995606 32.7542438zm-.3464266-4.989591c13.592216-1.3432135 15.9498811-20.1088375 2.3914689-23.6692862-1.3614422-.3575157-2.1594623-1.7680385-1.7646963-3.11915 3.0734097-10.5189376-8.8471782-21.078668-19.2165057-16.7806108-1.2612369.5227791-2.7086325-.0629726-3.2513006-1.3157806-3.6287978-8.3774717-12.3662807-11.8667544-21.0909115-9.3144869-8.9863414 2.6288273-14.6536056 10.6534543-13.4524943 21.2329216.1549662 1.3649525-.8204237 2.5992336-2.1842308 2.7639765-7.0138244.8472442-11.43239953 7.6566537-10.91209037 15.7749642.54005245 8.4263623 6.08667627 14.4274522 14.98133247 14.4274522z\\\" fill=\\\"#e2e2e2\\\"/><path d=\\\"m411.5 76h12.5c1.656854 0 3 1.3431458 3 3s-1.343146 3-3 3h-90c-1.656854 0-3-1.3431458-3-3s1.343146-3 3-3h11.5c-4.142136 0-7.5-3.3578644-7.5-7.5v-40c0-4.1421356 3.357864-7.5 7.5-7.5h66c4.142136 0 7.5 3.3578644 7.5 7.5v40c0 4.1421356-3.357864 7.5-7.5 7.5zm-17.5 0h-31c0 1.1045695.895431 2 2 2h27c1.10457 0 2-.8954305 2-2zm-48.5-50c-1.380712 0-2.5 1.1192881-2.5 2.5v40c0 1.3807119 1.119288 2.5 2.5 2.5h66c1.380712 0 2.5-1.1192881 2.5-2.5v-40c0-1.3807119-1.119288-2.5-2.5-2.5z\\\" fill=\\\"#e2e2e2\\\"/><path d=\\\"m194.688889 46.6708215v4.0154896c-21.037954-1.3356058-31.688889-5.9896514-31.688889-14.6862716 0-1.1045913.891623-2.0000395 1.991496-2.0000395s1.991496.8954482 1.991496 2.0000395c0 5.6687396 9.152444 9.4529958 27.70589 10.6707816zm25.906865.1564809c20.376102-1.018022 30.421254-4.8884966 30.421254-10.8272629 0-1.1045913.891623-2.0000395 1.991496-2.0000395s1.991496.8954482 1.991496 2.0000395c0 8.4131404-9.967884 13.0429588-29.664711 14.5450572zm-25.906865 22.7606388v4.0154864c-21.037953-1.3356021-31.688889-5.9896477-31.688889-14.6862684 0-1.1045913.891623-2.0000395 1.991496-2.0000395s1.991496.8954482 1.991496 2.0000395c0 5.6687397 9.152444 9.4529958 27.70589 10.6707815zm25.879593.1578414c20.394411-1.0159301 30.448526-4.8872081 30.448526-10.8286234 0-1.1045913.891623-2.0000395 1.991496-2.0000395s1.991496.8954482 1.991496 2.0000395c0 9.9178906-13.85241 14.5780829-41.165781 15.0546252zm-55.568482-53.0262704s0 9.9603659 40 9.9603659c11.131238 0 10-6.640244 10-23.24085371 26.666667-3.32012195 40 13.28048781 40 13.28048781s-10 13.2804878-50 13.2804878-40-13.2804878-40-13.2804878z\\\" fill=\\\"#f8f8f8\\\"/></g><path d=\\\"m199.011905 38.4086355v36.4615785c0 1.1045695.89543 2 2 2 .384934 0 .76169-.1110843 1.085049-.3199204l25.091884-16.205146c.927883-.5992563 1.194287-1.8372468.59503-2.7651291-.115325-.1785696-.258382-.3376117-.423784-.4711387l-25.091884-20.2564325c-.859459-.6938329-2.118651-.5595663-2.812483.2998927-.287178.3557307-.443812.7991133-.443812 1.2562955z\\\" fill=\\\"#f8981d\\\"/><path d=\\\"m163 16.7249015.011729-.216286.025974-.2387743c1.009035-9.27583682 21.668177-16.2698412 45.79563-16.2698412s44.786596 6.99400437 45.79563 16.2698412l.025974.2387743.01173.216286v65.814781c0 9.5919064-21.048324 16.9642858-45.833334 16.9642858s-45.833333-7.3723794-45.833333-16.9642858zm4 .1084611v65.7063199c0 6.2420953 19.192018 12.9642858 41.833333 12.9642858s41.833334-6.7221905 41.833334-12.9642858v-65.7063199l-.014245-.1309494c-.68278-6.276646-19.663443-12.7024132-41.819089-12.7024132s-41.136309 6.4257672-41.819088 12.7024132z\\\" fill=\\\"#e2e2e2\\\" fill-rule=\\\"nonzero\\\"/>\\r\\n </g>\\r\\n</svg>\\r\\n<p>\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"nextStep\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</p>\\r\\n\";\n},\"6\":function(container,depth0,helpers,partials,data) {\n var alias1=container.propertyIsEnumerable;\n\n return \"<p class=\\\"m-0\\\">\"\n + container.escapeExpression((helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),\"alreadyAdded\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</p>\\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = helpers.unless.call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.dataFetched : stack1),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(3, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"useData\":true});","import { ObjectHash } from 'backbone';\r\n\r\nimport { InstanceManager } from 'libs/common/backbone/services/InstanceManager';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport { PopupBehavior, PopupSpinnerButtonOptions } from 'shared/behaviors';\r\nimport { SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\nimport { LocalCacheDataService } from 'shared/services/LocalCacheDataService';\r\nimport { UserDataServiceHelper } from 'shared/services/UserDataService';\r\nimport { DataServices, DataPrefixes, DataChannels } from 'shared/constants';\r\nimport { DisabledSpinnerModel } from 'shared/models/DisabledSpinnerModel';\r\nimport { User } from 'shared/models/User';\r\nimport { LocalCacheDevice } from 'shared/models/LocalCacheDevice';\r\nimport { SpinnerHelper, SpinnerSize, LocalCacheHelper, RadioChannelHelper } from 'shared/utils';\r\nimport { LocalCacheDeviceNotFoundError } from 'shared/errors';\r\nimport { LocalCacheDownloadCollection } from 'shared/collections/LocalCacheDownloadCollection';\r\n\r\nimport DownloadToLocalCacheTemplate from './DownloadToLocalCache.hbs';\r\n\r\ninterface DownloadToLocalCacheViewOptions extends Core.ViewOptions<LocalCacheDevice> {\r\n videoId: string;\r\n}\r\n\r\nexport class DownloadToLocalCacheView extends Core.View<LocalCacheDevice> {\r\n public options: DownloadToLocalCacheViewOptions;\r\n private localCacheDataService: LocalCacheDataService;\r\n private currentUser: User;\r\n private localCacheDownloads: LocalCacheDownloadCollection;\r\n private spinnerModel: DisabledSpinnerModel;\r\n\r\n constructor(options: DownloadToLocalCacheViewOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.localCacheDataService = InstanceManager.getInstance(DataServices.LocalCache, this);\r\n\r\n this.bindListeners();\r\n }\r\n\r\n public get name(): string {\r\n return 'DownloadToLocalCacheView';\r\n }\r\n\r\n public get title(): string {\r\n return LanguageService.getPhrase(this.lang, 'title');\r\n }\r\n\r\n public get lang(): string {\r\n return 'shared.downloadToLocalCache';\r\n }\r\n\r\n public get template(): string {\r\n return DownloadToLocalCacheTemplate;\r\n }\r\n\r\n public get channelName(): string {\r\n return RadioChannelHelper.generateUniqueChannelName(this);\r\n }\r\n\r\n public get behaviors(): any[] {\r\n this.spinnerModel = new DisabledSpinnerModel();\r\n\r\n return [{\r\n behaviorClass: PopupBehavior,\r\n title: LanguageService.getPhrase(this.lang, 'popupHeading'),\r\n spinnerButtonOptions: this.getSpinnerButtonOptions\r\n }];\r\n }\r\n\r\n private bindListeners(): void {\r\n this.listenTo(DataChannels.USER, `${DataPrefixes.CURRENT_USER}:sync`, this.render);\r\n\r\n this.listenTo(DataChannels.LOCAL_CACHE, `${DataPrefixes.LOCAL_CACHE_DEVICES}:sync`, this.render);\r\n this.listenTo(DataChannels.LOCAL_CACHE,\r\n `${DataPrefixes.LOCAL_CACHE_DOWNLOADS}:${this.options.videoId}:sync`, this.render);\r\n this.listenTo(DataChannels.LOCAL_CACHE, `${DataPrefixes.ADD_VIDEO_TO_LOCAL_CACHE}:sync`, () => this.triggerMethod('hide'));\r\n this.listenTo(DataChannels.LOCAL_CACHE, `${DataPrefixes.ADD_VIDEO_TO_LOCAL_CACHE}:error`, () => this.triggerMethod('hide'));\r\n }\r\n\r\n private getSpinnerButtonOptions(): PopupSpinnerButtonOptions {\r\n if (this.localCacheDownloads && this.localCacheDownloads.length) return;\r\n\r\n return {\r\n model: this.spinnerModel,\r\n channelName: this.channelName,\r\n buttonText: LanguageService.getPhrase(this.lang, 'buttonText'),\r\n onClick: () => this.onClickAddToLocalCache(),\r\n };\r\n }\r\n\r\n private onClickAddToLocalCache(): void {\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.ShowSpinner, true);\r\n\r\n this.localCacheDataService.downloadVideoToLocalCache(this.model.get('deviceId'), this.options.videoId);\r\n }\r\n\r\n public get requiredResources(): Core.RequiredResourceHash {\r\n return {\r\n currentUser: UserDataServiceHelper.currentUser\r\n };\r\n }\r\n\r\n public onBeforeRender(): boolean {\r\n const devices = this.localCacheDataService.getDevices(this.currentUser.get('customerId'));\r\n\r\n this.localCacheDownloads = this.localCacheDataService.getDownloadsForVideos([this.options.videoId]);\r\n\r\n if (!devices || !this.localCacheDownloads) return true;\r\n\r\n this.model = LocalCacheHelper.getNewestDeviceUserCanManage(devices, this.currentUser.get('customerId'));\r\n\r\n if (!this.model) {\r\n setTimeout(() => Core.ErrorHelper.throw(new LocalCacheDeviceNotFoundError()), 0);\r\n return false;\r\n }\r\n\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.Disabled, false);\r\n\r\n return true;\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n dataFetched: !!this.model && !!this.localCacheDownloads,\r\n spinnerEl: SpinnerHelper.getSpinner({ size: SpinnerSize.Large, extraClasses: 'mx-auto' }),\r\n alreadyDownloaded: this.localCacheDownloads && this.localCacheDownloads.length\r\n };\r\n }\r\n}"],"sourceRoot":""}
@@ -1 +1 @@
1
- {"version":3,"sources":["file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/default/views/dev-error/DevError.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/default/views/dev-error/DevErrorView.ts"],"names":[],"mappings":";;;;;;;;;AAAA,iBAAiB,mBAAO,CAAC,8BAAY;AACrC,iEAAiE;AACjE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gBAAgB,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXjB;AACA;AAEA;AAEO,IAAM,YAAb;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA,iCAGmB;AACf,UAAM,OAAO,GAAG,8CAAK,CAAC,OAAN,CAAc,YAAd,CAAhB;AACA,WAAK,KAAL,GAAa,OAAO,CAAC,OAAR,CAAgB,eAAhB,CAAb;AACD;AANH;AAAA;AAAA,kCAwBoB;AAChB,aAAO;AACL,eAAO,EAAE,KAAK,KAAL,CAAW,OADf;AAEL,aAAK,EAAE,KAAK,KAAL,CAAW,KAFb;AAGL,YAAI,EAAE,KAAK,KAAL,CAAW;AAHZ,OAAP;AAKD;AA9BH;AAAA;AAAA,wBAQiB;AACb,aAAO,WAAP;AACD;AAVH;AAAA;AAAA,wBAYkB;AACd,aAAO,KAAP;AACD;AAdH;AAAA;AAAA,wBAgBqB;AACjB,aAAO,oDAAP;AACD;AAlBH;AAAA;AAAA,wBAoBsB;AAClB,aAAO,MAAP;AACD;AAtBH;;AAAA;AAAA,EAAkC,8DAAI,CAAC,IAAvC,E","file":"scripts/86.chunk.js","sourcesContent":["var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable, alias2=container.lambda, alias3=container.escapeExpression;\n\n return \"<h1>\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.name : stack1), depth0))\n + \"</h1>\\r\\n<div class=\\\"alert alert-danger\\\" role=\\\"alert\\\">\\r\\n <h2>\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.message : stack1), depth0))\n + \"</h2>\\r\\n</div>\\r\\n<div class=\\\"alert alert-warning\\\" role=\\\"alert\\\">\\r\\n <h3>Call stack</h3>\\r\\n <code>\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.stack : stack1), depth0))\n + \"</code>\\r\\n</div>\";\n},\"useData\":true});","import { ObjectHash, Radio } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport ErrorTemplate from './DevError.hbs';\r\n\r\nexport class DevErrorView extends Core.View {\r\n private error: Error;\r\n\r\n public initialize(): void {\r\n const channel = Radio.channel('error:view');\r\n this.error = channel.request('current:error');\r\n }\r\n\r\n public get name(): string {\r\n return 'ErrorView';\r\n }\r\n\r\n public get title(): boolean {\r\n return false;\r\n }\r\n\r\n public get template(): any {\r\n return ErrorTemplate;\r\n }\r\n\r\n public get className(): string {\r\n return 'mt-5';\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n message: this.error.message,\r\n stack: this.error.stack,\r\n name: this.error.name\r\n };\r\n }\r\n}\r\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/default/views/dev-error/DevError.hbs","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/default/views/dev-error/DevErrorView.ts"],"names":[],"mappings":";;;;;;;;;AAAA,iBAAiB,mBAAO,CAAC,8BAAY;AACrC,iEAAiE;AACjE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gBAAgB,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXjB;AACA;AAEA;AAEO,IAAM,YAAb;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA,iCAGmB;AACf,UAAM,OAAO,GAAG,8CAAK,CAAC,OAAN,CAAc,YAAd,CAAhB;AACA,WAAK,KAAL,GAAa,OAAO,CAAC,OAAR,CAAgB,eAAhB,CAAb;AACD;AANH;AAAA;AAAA,kCAwBoB;AAChB,aAAO;AACL,eAAO,EAAE,KAAK,KAAL,CAAW,OADf;AAEL,aAAK,EAAE,KAAK,KAAL,CAAW,KAFb;AAGL,YAAI,EAAE,KAAK,KAAL,CAAW;AAHZ,OAAP;AAKD;AA9BH;AAAA;AAAA,wBAQiB;AACb,aAAO,WAAP;AACD;AAVH;AAAA;AAAA,wBAYkB;AACd,aAAO,KAAP;AACD;AAdH;AAAA;AAAA,wBAgBqB;AACjB,aAAO,oDAAP;AACD;AAlBH;AAAA;AAAA,wBAoBsB;AAClB,aAAO,MAAP;AACD;AAtBH;;AAAA;AAAA,EAAkC,8DAAI,CAAC,IAAvC,E","file":"scripts/86.chunk.js","sourcesContent":["var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable, alias2=container.lambda, alias3=container.escapeExpression;\n\n return \"<h1>\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.name : stack1), depth0))\n + \"</h1>\\r\\n<div class=\\\"alert alert-danger\\\" role=\\\"alert\\\">\\r\\n <h2>\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.message : stack1), depth0))\n + \"</h2>\\r\\n</div>\\r\\n<div class=\\\"alert alert-warning\\\" role=\\\"alert\\\">\\r\\n <h3>Call stack</h3>\\r\\n <code>\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.stack : stack1), depth0))\n + \"</code>\\r\\n</div>\";\n},\"useData\":true});","import { ObjectHash, Radio } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport ErrorTemplate from './DevError.hbs';\r\n\r\nexport class DevErrorView extends Core.View {\r\n private error: Error;\r\n\r\n public initialize(): void {\r\n const channel = Radio.channel('error:view');\r\n this.error = channel.request('current:error');\r\n }\r\n\r\n public get name(): string {\r\n return 'ErrorView';\r\n }\r\n\r\n public get title(): boolean {\r\n return false;\r\n }\r\n\r\n public get template(): any {\r\n return ErrorTemplate;\r\n }\r\n\r\n public get className(): string {\r\n return 'mt-5';\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n message: this.error.message,\r\n stack: this.error.stack,\r\n name: this.error.name\r\n };\r\n }\r\n}\r\n"],"sourceRoot":""}
@@ -1 +1 @@
1
- {"version":3,"sources":["file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/views/delete-folder/DeleteFolder.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/views/delete-folder/DeleteFolderView.ts"],"names":[],"mappings":"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","file":"scripts/87.chunk.js","sourcesContent":["var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = (helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),\"check\",{\"name\":\"lang\",\"hash\":{\"name\":(depth0 != null ? depth0.name : depth0)},\"data\":data})) != null ? stack1 : \"\");\n},\"useData\":true});","import { Radio } from 'backbone';\r\nimport { ObjectHash } from 'backbone';\r\n\r\nimport { InstanceManager } from 'libs/common/backbone/services/InstanceManager';\r\nimport { Core } from 'libs/common/core';\r\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\n\r\nimport { DataServices, Actions, DataChannels, AppChannels, MiscConstants } from 'shared/constants';\r\nimport { PopupBehavior } from 'shared/behaviors';\r\nimport { Folder } from 'shared/models/Folder';\r\nimport { FolderCollection } from 'shared/collections/FolderCollection';\r\nimport { VideoCollection } from 'shared/collections/VideoCollection';\r\nimport { RadioChannelHelper, SortHelper, FolderTreeHelpers } from 'shared/utils';\r\nimport { SpinnerButtonEvents } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\nimport { VideoCollectionIdentifier } from 'shared/interfaces';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nimport { FolderNotEmptyError } from 'apps/library-editor/errors';\r\nimport { LibraryDataService } from 'apps/library-editor/services/LibraryDataService';\r\nimport { VideoDataService } from 'apps/library-editor/services/VideoDataService';\r\n\r\nimport DeleteFolderTemplate from './DeleteFolder.hbs';\r\n\r\ninterface DeleteFolderViewOptions extends Core.ViewOptions<Folder> {\r\n folderId: string;\r\n analyticsOptions?: AnalyticsOptions;\r\n}\r\n\r\nexport class DeleteFolderView extends Core.View<Folder> {\r\n public options: DeleteFolderViewOptions;\r\n private libraryDataService: LibraryDataService;\r\n private videoDataService: VideoDataService;\r\n\r\n private collectionIdentifier: VideoCollectionIdentifier;\r\n private videos: VideoCollection;\r\n\r\n constructor(options: DeleteFolderViewOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.listenTo(DataChannels.LIBRARY, 'libraries:sync', this.render);\r\n\r\n this.collectionIdentifier = new VideoCollectionIdentifier(this.options.folderId, SortHelper.GetCurrentSortType());\r\n\r\n this.listenTo(DataChannels.VIDEO, `${this.collectionIdentifier}:sync`, this.render);\r\n\r\n this.libraryDataService = InstanceManager.getInstance(DataServices.Library, this);\r\n this.videoDataService = InstanceManager.getInstance(DataServices.Video, this);\r\n }\r\n\r\n public get name(): string {\r\n return 'DeleteFolderView';\r\n }\r\n\r\n public get title(): string {\r\n return !!this.model && LanguageService.getPhrase(this.lang, 'title', { folderName: this.model.get('name') });\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.deleteFolder';\r\n }\r\n\r\n public get template(): any {\r\n return DeleteFolderTemplate;\r\n }\r\n\r\n public get channelName(): string {\r\n return RadioChannelHelper.generateUniqueChannelName(this);\r\n }\r\n\r\n public get behaviors(): any[] {\r\n return [\r\n {\r\n behaviorClass: PopupBehavior,\r\n title: LanguageService.getPhrase(this.lang, 'removeFolder'),\r\n spinnerButtonOptions: {\r\n channelName: this.channelName,\r\n buttonText: LanguageService.getPhrase(this.lang, 'remove'),\r\n extraButtonClass: 'btn-danger',\r\n onClick: (e: JQuery.Event) => this.onClickDelete(e)\r\n }\r\n }\r\n ];\r\n }\r\n\r\n public getParentId(): string | null {\r\n if (FolderTreeHelpers.isSubFolder(this.model)\r\n && this.model\r\n && this.model.collection\r\n && this.model.collection.parent\r\n && this.model.collection.parent instanceof Core.Model)\r\n return (this.model.collection.parent as Core.Model).get('id');\r\n\r\n const library = FolderTreeHelpers.getLibrary(this.model.get('id'), this.model.collection as FolderCollection);\r\n\r\n return library && library.id || null;\r\n }\r\n\r\n private onClickDelete(event: JQuery.Event): void {\r\n event && event.preventDefault();\r\n\r\n Radio.channel(this.channelName).trigger(SpinnerButtonEvents.ShowSpinner);\r\n\r\n /* We need to do this before we call the data service otherwise the model won't have a collection */\r\n const parentId = this.getParentId();\r\n\r\n const action = FolderTreeHelpers.isSubFolder(this.model)\r\n ? Actions.LibraryEditor.FOLDER\r\n : Actions.LibraryEditor.LIBRARY;\r\n\r\n this.libraryDataService.deleteFolder(this.options.folderId, () => {\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.LIBRARY_EDITOR,\r\n action: action,\r\n args: [parentId]\r\n }, { replace: true });\r\n });\r\n\r\n this.logAction();\r\n }\r\n\r\n private logAction(): void {\r\n const data: ObjectHash = {\r\n id: this.options.folderId,\r\n name: this.model.get('name'),\r\n };\r\n\r\n AnalyticsHelper.logUserAction(data, this.options.analyticsOptions);\r\n }\r\n\r\n private canDelete(): boolean {\r\n if (this.model.children && this.model.children.length)\r\n return false;\r\n\r\n if (this.videos && this.videos.length)\r\n return false;\r\n\r\n return true;\r\n }\r\n\r\n public onBeforeRender(): boolean {\r\n /**\r\n * We need to fetch the folder again to get a video count, but we also need to fetch the folder\r\n * from the library tree in order to be able to pull out the library id. This is why both are fetched.\r\n */\r\n this.libraryDataService.getFolderFromLibraries(this.options.folderId, (folder: Folder) => {\r\n this.model = folder;\r\n });\r\n\r\n this.videos = this.videoDataService.getCollectionVideos(this.collectionIdentifier);\r\n\r\n if (!this.model || !this.videos)\r\n return false;\r\n\r\n if (!this.canDelete()) {\r\n window.setTimeout(() => {\r\n this.triggerMethod('hide');\r\n Core.ErrorHelper.throw(new FolderNotEmptyError());\r\n }, MiscConstants.POPUP_FADE_TIMEOUT);\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}"],"sourceRoot":""}
1
+ {"version":3,"sources":["file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/library-editor/views/delete-folder/DeleteFolder.hbs","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/library-editor/views/delete-folder/DeleteFolderView.ts"],"names":[],"mappings":"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","file":"scripts/87.chunk.js","sourcesContent":["var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = (helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),\"check\",{\"name\":\"lang\",\"hash\":{\"name\":(depth0 != null ? depth0.name : depth0)},\"data\":data})) != null ? stack1 : \"\");\n},\"useData\":true});","import { Radio } from 'backbone';\r\nimport { ObjectHash } from 'backbone';\r\n\r\nimport { InstanceManager } from 'libs/common/backbone/services/InstanceManager';\r\nimport { Core } from 'libs/common/core';\r\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\n\r\nimport { DataServices, Actions, DataChannels, AppChannels, MiscConstants } from 'shared/constants';\r\nimport { PopupBehavior } from 'shared/behaviors';\r\nimport { Folder } from 'shared/models/Folder';\r\nimport { FolderCollection } from 'shared/collections/FolderCollection';\r\nimport { VideoCollection } from 'shared/collections/VideoCollection';\r\nimport { RadioChannelHelper, SortHelper, FolderTreeHelpers } from 'shared/utils';\r\nimport { SpinnerButtonEvents } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\nimport { VideoCollectionIdentifier } from 'shared/interfaces';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nimport { FolderNotEmptyError } from 'apps/library-editor/errors';\r\nimport { LibraryDataService } from 'apps/library-editor/services/LibraryDataService';\r\nimport { VideoDataService } from 'apps/library-editor/services/VideoDataService';\r\n\r\nimport DeleteFolderTemplate from './DeleteFolder.hbs';\r\n\r\ninterface DeleteFolderViewOptions extends Core.ViewOptions<Folder> {\r\n folderId: string;\r\n analyticsOptions?: AnalyticsOptions;\r\n}\r\n\r\nexport class DeleteFolderView extends Core.View<Folder> {\r\n public options: DeleteFolderViewOptions;\r\n private libraryDataService: LibraryDataService;\r\n private videoDataService: VideoDataService;\r\n\r\n private collectionIdentifier: VideoCollectionIdentifier;\r\n private videos: VideoCollection;\r\n\r\n constructor(options: DeleteFolderViewOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.listenTo(DataChannels.LIBRARY, 'libraries:sync', this.render);\r\n\r\n this.collectionIdentifier = new VideoCollectionIdentifier(this.options.folderId, SortHelper.GetCurrentSortType());\r\n\r\n this.listenTo(DataChannels.VIDEO, `${this.collectionIdentifier}:sync`, this.render);\r\n\r\n this.libraryDataService = InstanceManager.getInstance(DataServices.Library, this);\r\n this.videoDataService = InstanceManager.getInstance(DataServices.Video, this);\r\n }\r\n\r\n public get name(): string {\r\n return 'DeleteFolderView';\r\n }\r\n\r\n public get title(): string {\r\n return !!this.model && LanguageService.getPhrase(this.lang, 'title', { folderName: this.model.get('name') });\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.deleteFolder';\r\n }\r\n\r\n public get template(): any {\r\n return DeleteFolderTemplate;\r\n }\r\n\r\n public get channelName(): string {\r\n return RadioChannelHelper.generateUniqueChannelName(this);\r\n }\r\n\r\n public get behaviors(): any[] {\r\n return [\r\n {\r\n behaviorClass: PopupBehavior,\r\n title: LanguageService.getPhrase(this.lang, 'removeFolder'),\r\n spinnerButtonOptions: {\r\n channelName: this.channelName,\r\n buttonText: LanguageService.getPhrase(this.lang, 'remove'),\r\n extraButtonClass: 'btn-danger',\r\n onClick: (e: JQuery.Event) => this.onClickDelete(e)\r\n }\r\n }\r\n ];\r\n }\r\n\r\n public getParentId(): string | null {\r\n if (FolderTreeHelpers.isSubFolder(this.model)\r\n && this.model\r\n && this.model.collection\r\n && this.model.collection.parent\r\n && this.model.collection.parent instanceof Core.Model)\r\n return (this.model.collection.parent as Core.Model).get('id');\r\n\r\n const library = FolderTreeHelpers.getLibrary(this.model.get('id'), this.model.collection as FolderCollection);\r\n\r\n return library && library.id || null;\r\n }\r\n\r\n private onClickDelete(event: JQuery.Event): void {\r\n event && event.preventDefault();\r\n\r\n Radio.channel(this.channelName).trigger(SpinnerButtonEvents.ShowSpinner);\r\n\r\n /* We need to do this before we call the data service otherwise the model won't have a collection */\r\n const parentId = this.getParentId();\r\n\r\n const action = FolderTreeHelpers.isSubFolder(this.model)\r\n ? Actions.LibraryEditor.FOLDER\r\n : Actions.LibraryEditor.LIBRARY;\r\n\r\n this.libraryDataService.deleteFolder(this.options.folderId, () => {\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.LIBRARY_EDITOR,\r\n action: action,\r\n args: [parentId]\r\n }, { replace: true });\r\n });\r\n\r\n this.logAction();\r\n }\r\n\r\n private logAction(): void {\r\n const data: ObjectHash = {\r\n id: this.options.folderId,\r\n name: this.model.get('name'),\r\n };\r\n\r\n AnalyticsHelper.logUserAction(data, this.options.analyticsOptions);\r\n }\r\n\r\n private canDelete(): boolean {\r\n if (this.model.children && this.model.children.length)\r\n return false;\r\n\r\n if (this.videos && this.videos.length)\r\n return false;\r\n\r\n return true;\r\n }\r\n\r\n public onBeforeRender(): boolean {\r\n /**\r\n * We need to fetch the folder again to get a video count, but we also need to fetch the folder\r\n * from the library tree in order to be able to pull out the library id. This is why both are fetched.\r\n */\r\n this.libraryDataService.getFolderFromLibraries(this.options.folderId, (folder: Folder) => {\r\n this.model = folder;\r\n });\r\n\r\n this.videos = this.videoDataService.getCollectionVideos(this.collectionIdentifier);\r\n\r\n if (!this.model || !this.videos)\r\n return false;\r\n\r\n if (!this.canDelete()) {\r\n window.setTimeout(() => {\r\n this.triggerMethod('hide');\r\n Core.ErrorHelper.throw(new FolderNotEmptyError());\r\n }, MiscConstants.POPUP_FADE_TIMEOUT);\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}"],"sourceRoot":""}
@@ -1 +1 @@
1
- {"version":3,"sources":["file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/views/delete-library/DeleteLibrary.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/views/delete-library/DeleteLibraryView.ts"],"names":[],"mappings":"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","file":"scripts/88.chunk.js","sourcesContent":["var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = (helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),\"check\",{\"name\":\"lang\",\"hash\":{\"name\":(depth0 != null ? depth0.name : depth0)},\"data\":data})) != null ? stack1 : \"\");\n},\"useData\":true});","import { ObjectHash } from 'backbone';\r\nimport { Radio } from 'backbone';\r\n\r\nimport { InstanceManager } from 'libs/common/backbone/services/InstanceManager';\r\nimport { Core } from 'libs/common/core';\r\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\n\r\nimport { DialogError } from 'libs/shared/errors/primitives/DialogError';\r\nimport { DataServices, Actions, DataChannels, AppChannels, MiscConstants } from 'shared/constants';\r\nimport { PopupBehavior } from 'shared/behaviors';\r\nimport { Library } from 'shared/models/Library';\r\nimport { RadioChannelHelper } from 'shared/utils';\r\nimport { SpinnerButtonEvents } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nimport { LibraryDataService } from 'apps/library-editor/services/LibraryDataService';\r\nimport { LibraryNotEmptyError } from 'apps/library-editor/errors';\r\nimport { LibraryHasSubscribersError } from 'apps/library-editor/errors';\r\n\r\nimport DeleteLibraryTemplate from './DeleteLibrary.hbs';\r\n\r\ninterface DeleteLibraryViewOptions extends Core.ViewOptions<Library> {\r\n libraryId: string;\r\n analyticsOptions?: AnalyticsOptions;\r\n}\r\n\r\nexport class DeleteLibraryView extends Core.View<Library> {\r\n public options: DeleteLibraryViewOptions;\r\n private libraryDataService: LibraryDataService;\r\n\r\n constructor(options: DeleteLibraryViewOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.listenTo(DataChannels.LIBRARY, 'libraries:sync', this.render);\r\n\r\n this.libraryDataService = InstanceManager.getInstance(DataServices.Library, this);\r\n }\r\n\r\n public get name(): string {\r\n return 'DeleteLibraryView';\r\n }\r\n\r\n public get title(): string {\r\n return !!this.model && LanguageService.getPhrase(this.lang, 'title', { libraryName: this.model.get('name') });\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.deleteLibrary';\r\n }\r\n\r\n public get template(): any {\r\n return DeleteLibraryTemplate;\r\n }\r\n\r\n public get channelName(): string {\r\n return RadioChannelHelper.generateUniqueChannelName(this);\r\n }\r\n\r\n public get behaviors(): any[] {\r\n return [\r\n {\r\n title: LanguageService.getPhrase(this.lang, 'removeLibrary'),\r\n behaviorClass: PopupBehavior,\r\n spinnerButtonOptions: {\r\n channelName: this.channelName,\r\n buttonText: LanguageService.getPhrase(this.lang, 'remove'),\r\n extraButtonClass: 'btn-danger',\r\n onClick: () => this.onClickDelete()\r\n }\r\n }\r\n ];\r\n }\r\n\r\n private onClickDelete(): void {\r\n Radio.channel(this.channelName).trigger(SpinnerButtonEvents.ShowSpinner);\r\n\r\n this.libraryDataService.deleteLibrary(this.options.libraryId, () => {\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.LIBRARY_EDITOR,\r\n action: Actions.LibraryEditor.HOME\r\n });\r\n });\r\n\r\n this.logAction();\r\n }\r\n\r\n private logAction(): void {\r\n const data: ObjectHash = {\r\n id: this.options.libraryId,\r\n };\r\n\r\n AnalyticsHelper.logUserAction(data, this.options.analyticsOptions);\r\n }\r\n\r\n public onBeforeRender(): boolean {\r\n this.libraryDataService.getFolderFromLibraries(this.options.libraryId, (folder: Library) => {\r\n this.model = folder;\r\n });\r\n\r\n if (!this.model)\r\n return false;\r\n\r\n let error: DialogError = null;\r\n if (this.model.get('hasSubscribers')) {\r\n error = new LibraryHasSubscribersError();\r\n } else if (this.model.children.length) {\r\n error = new LibraryNotEmptyError();\r\n }\r\n\r\n if (error) {\r\n window.setTimeout(() => {\r\n this.triggerMethod('hide');\r\n Core.ErrorHelper.throw(error);\r\n }, MiscConstants.POPUP_FADE_TIMEOUT);\r\n return false;\r\n }\r\n\r\n return !!this.model;\r\n }\r\n}"],"sourceRoot":""}
1
+ {"version":3,"sources":["file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/library-editor/views/delete-library/DeleteLibrary.hbs","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/library-editor/views/delete-library/DeleteLibraryView.ts"],"names":[],"mappings":"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","file":"scripts/88.chunk.js","sourcesContent":["var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = (helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),\"check\",{\"name\":\"lang\",\"hash\":{\"name\":(depth0 != null ? depth0.name : depth0)},\"data\":data})) != null ? stack1 : \"\");\n},\"useData\":true});","import { ObjectHash } from 'backbone';\r\nimport { Radio } from 'backbone';\r\n\r\nimport { InstanceManager } from 'libs/common/backbone/services/InstanceManager';\r\nimport { Core } from 'libs/common/core';\r\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\n\r\nimport { DialogError } from 'libs/shared/errors/primitives/DialogError';\r\nimport { DataServices, Actions, DataChannels, AppChannels, MiscConstants } from 'shared/constants';\r\nimport { PopupBehavior } from 'shared/behaviors';\r\nimport { Library } from 'shared/models/Library';\r\nimport { RadioChannelHelper } from 'shared/utils';\r\nimport { SpinnerButtonEvents } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nimport { LibraryDataService } from 'apps/library-editor/services/LibraryDataService';\r\nimport { LibraryNotEmptyError } from 'apps/library-editor/errors';\r\nimport { LibraryHasSubscribersError } from 'apps/library-editor/errors';\r\n\r\nimport DeleteLibraryTemplate from './DeleteLibrary.hbs';\r\n\r\ninterface DeleteLibraryViewOptions extends Core.ViewOptions<Library> {\r\n libraryId: string;\r\n analyticsOptions?: AnalyticsOptions;\r\n}\r\n\r\nexport class DeleteLibraryView extends Core.View<Library> {\r\n public options: DeleteLibraryViewOptions;\r\n private libraryDataService: LibraryDataService;\r\n\r\n constructor(options: DeleteLibraryViewOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.listenTo(DataChannels.LIBRARY, 'libraries:sync', this.render);\r\n\r\n this.libraryDataService = InstanceManager.getInstance(DataServices.Library, this);\r\n }\r\n\r\n public get name(): string {\r\n return 'DeleteLibraryView';\r\n }\r\n\r\n public get title(): string {\r\n return !!this.model && LanguageService.getPhrase(this.lang, 'title', { libraryName: this.model.get('name') });\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.deleteLibrary';\r\n }\r\n\r\n public get template(): any {\r\n return DeleteLibraryTemplate;\r\n }\r\n\r\n public get channelName(): string {\r\n return RadioChannelHelper.generateUniqueChannelName(this);\r\n }\r\n\r\n public get behaviors(): any[] {\r\n return [\r\n {\r\n title: LanguageService.getPhrase(this.lang, 'removeLibrary'),\r\n behaviorClass: PopupBehavior,\r\n spinnerButtonOptions: {\r\n channelName: this.channelName,\r\n buttonText: LanguageService.getPhrase(this.lang, 'remove'),\r\n extraButtonClass: 'btn-danger',\r\n onClick: () => this.onClickDelete()\r\n }\r\n }\r\n ];\r\n }\r\n\r\n private onClickDelete(): void {\r\n Radio.channel(this.channelName).trigger(SpinnerButtonEvents.ShowSpinner);\r\n\r\n this.libraryDataService.deleteLibrary(this.options.libraryId, () => {\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.LIBRARY_EDITOR,\r\n action: Actions.LibraryEditor.HOME\r\n });\r\n });\r\n\r\n this.logAction();\r\n }\r\n\r\n private logAction(): void {\r\n const data: ObjectHash = {\r\n id: this.options.libraryId,\r\n };\r\n\r\n AnalyticsHelper.logUserAction(data, this.options.analyticsOptions);\r\n }\r\n\r\n public onBeforeRender(): boolean {\r\n this.libraryDataService.getFolderFromLibraries(this.options.libraryId, (folder: Library) => {\r\n this.model = folder;\r\n });\r\n\r\n if (!this.model)\r\n return false;\r\n\r\n let error: DialogError = null;\r\n if (this.model.get('hasSubscribers')) {\r\n error = new LibraryHasSubscribersError();\r\n } else if (this.model.children.length) {\r\n error = new LibraryNotEmptyError();\r\n }\r\n\r\n if (error) {\r\n window.setTimeout(() => {\r\n this.triggerMethod('hide');\r\n Core.ErrorHelper.throw(error);\r\n }, MiscConstants.POPUP_FADE_TIMEOUT);\r\n return false;\r\n }\r\n\r\n return !!this.model;\r\n }\r\n}"],"sourceRoot":""}