@clickview/library-editor 1.1.23-rc.1 → 1.1.23-rc.2

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 (383) hide show
  1. package/dist/css/1.chunk.css.map +1 -1
  2. package/dist/css/10.chunk.css.map +1 -1
  3. package/dist/css/11.chunk.css.map +1 -1
  4. package/dist/css/12.chunk.css.map +1 -1
  5. package/dist/css/13.chunk.css.map +1 -1
  6. package/dist/css/14.chunk.css.map +1 -1
  7. package/dist/css/16.chunk.css.map +1 -1
  8. package/dist/css/17.chunk.css.map +1 -1
  9. package/dist/css/18.chunk.css.map +1 -1
  10. package/dist/css/2.chunk.css.map +1 -1
  11. package/dist/css/21.chunk.css.map +1 -1
  12. package/dist/css/22.chunk.css.map +1 -1
  13. package/dist/css/23.chunk.css.map +1 -1
  14. package/dist/css/25.chunk.css.map +1 -1
  15. package/dist/css/26.chunk.css.map +1 -1
  16. package/dist/css/28.chunk.css.map +1 -1
  17. package/dist/css/29.chunk.css.map +1 -1
  18. package/dist/css/3.chunk.css.map +1 -1
  19. package/dist/css/30.chunk.css.map +1 -1
  20. package/dist/css/31.chunk.css.map +1 -1
  21. package/dist/css/32.chunk.css.map +1 -1
  22. package/dist/css/33.chunk.css.map +1 -1
  23. package/dist/css/34.chunk.css.map +1 -1
  24. package/dist/css/35.chunk.css.map +1 -1
  25. package/dist/css/36.chunk.css.map +1 -1
  26. package/dist/css/37.chunk.css.map +1 -1
  27. package/dist/css/38.chunk.css.map +1 -1
  28. package/dist/css/40.chunk.css.map +1 -1
  29. package/dist/css/41.chunk.css.map +1 -1
  30. package/dist/css/42.chunk.css.map +1 -1
  31. package/dist/css/43.chunk.css.map +1 -1
  32. package/dist/css/44.chunk.css.map +1 -1
  33. package/dist/css/45.chunk.css.map +1 -1
  34. package/dist/css/46.chunk.css.map +1 -1
  35. package/dist/css/47.chunk.css.map +1 -1
  36. package/dist/css/48.chunk.css.map +1 -1
  37. package/dist/css/49.chunk.css.map +1 -1
  38. package/dist/css/50.chunk.css.map +1 -1
  39. package/dist/css/51.chunk.css.map +1 -1
  40. package/dist/css/52.chunk.css.map +1 -1
  41. package/dist/css/55.chunk.css.map +1 -1
  42. package/dist/css/56.chunk.css.map +1 -1
  43. package/dist/css/58.chunk.css.map +1 -1
  44. package/dist/css/59.chunk.css.map +1 -1
  45. package/dist/css/6.chunk.css.map +1 -1
  46. package/dist/css/60.chunk.css.map +1 -1
  47. package/dist/css/62.chunk.css.map +1 -1
  48. package/dist/css/63.chunk.css.map +1 -1
  49. package/dist/css/67.chunk.css.map +1 -1
  50. package/dist/css/68.chunk.css.map +1 -1
  51. package/dist/css/69.chunk.css.map +1 -1
  52. package/dist/css/7.chunk.css.map +1 -1
  53. package/dist/css/70.chunk.css.map +1 -1
  54. package/dist/css/71.chunk.css.map +1 -1
  55. package/dist/css/72.chunk.css.map +1 -1
  56. package/dist/css/73.chunk.css.map +1 -1
  57. package/dist/css/74.chunk.css.map +1 -1
  58. package/dist/css/75.chunk.css.map +1 -1
  59. package/dist/css/76.chunk.css.map +1 -1
  60. package/dist/css/8.chunk.css.map +1 -1
  61. package/dist/css/library-editor-app.css.map +1 -1
  62. package/dist/libs/common/src/backbone/services/data-providers/SignalRDataProvider.d.ts +3 -3
  63. package/dist/libs/common/src/backbone/utils/UrlHelper.d.ts +0 -1
  64. package/dist/libs/shared/src/apps/notifications/utils/NotificationsHelper.d.ts +1 -1
  65. package/dist/projects/library-editor/src/apps/notifications/utils/NotificationsHelper.d.ts +1 -1
  66. package/dist/scripts/{0-2765595d0a.chunk.js → 0-09e1e33a5c.chunk.js} +1 -1
  67. package/dist/scripts/0-f604eee110.chunk.js +1 -0
  68. package/dist/scripts/0.chunk.js +1 -1
  69. package/dist/scripts/0.chunk.js.map +1 -1
  70. package/dist/scripts/{1-b6dedae131.chunk.js → 1-056bd8c79b.chunk.js} +1 -1
  71. package/dist/scripts/{1-35f87e4cdc.chunk.js → 1-a66bb44471.chunk.js} +1 -1
  72. package/dist/scripts/1.chunk.js.map +1 -1
  73. package/dist/scripts/10-028c6001e1.chunk.js +1 -0
  74. package/dist/scripts/{10-227e797872.chunk.js → 10-6c79d8c6f9.chunk.js} +1 -1
  75. package/dist/scripts/10.chunk.js.map +1 -1
  76. package/dist/scripts/{11-9dbae07504.chunk.js → 11-6eef9e160e.chunk.js} +1 -1
  77. package/dist/scripts/11-cecf8d22f0.chunk.js +11 -0
  78. package/dist/scripts/11.chunk.js.map +1 -1
  79. package/dist/scripts/12-d3f51f4e06.chunk.js +1 -0
  80. package/dist/scripts/{12-06cf65b136.chunk.js → 12-dbffa50a92.chunk.js} +1 -1
  81. package/dist/scripts/12.chunk.js.map +1 -1
  82. package/dist/scripts/{13-01ee41eb1e.chunk.js → 13-37e5cfab3e.chunk.js} +1 -1
  83. package/dist/scripts/13-4029d31569.chunk.js +1 -0
  84. package/dist/scripts/13.chunk.js.map +1 -1
  85. package/dist/scripts/14-4c94f97e4e.chunk.js +1 -0
  86. package/dist/scripts/{14-cf307e51d9.chunk.js → 14-b524fbd295.chunk.js} +1 -1
  87. package/dist/scripts/14.chunk.js.map +1 -1
  88. package/dist/scripts/{15-bedb9ff6d0.chunk.js → 15-1ff1252d1a.chunk.js} +1 -1
  89. package/dist/scripts/{15-eed00bc875.chunk.js → 15-ec9aa4878b.chunk.js} +1 -1
  90. package/dist/scripts/15.chunk.js.map +1 -1
  91. package/dist/scripts/16-5bc8299e14.chunk.js +1 -0
  92. package/dist/scripts/{16-339a29fa2f.chunk.js → 16-b27142fe98.chunk.js} +1 -1
  93. package/dist/scripts/16.chunk.js.map +1 -1
  94. package/dist/scripts/17-9fe035f9e2.chunk.js +1 -0
  95. package/dist/scripts/{17-66da06be62.chunk.js → 17-c3bbe50816.chunk.js} +1 -1
  96. package/dist/scripts/17.chunk.js +1 -1
  97. package/dist/scripts/17.chunk.js.map +1 -1
  98. package/dist/scripts/18.chunk.js.map +1 -1
  99. package/dist/scripts/19.chunk.js +1 -1
  100. package/dist/scripts/19.chunk.js.map +1 -1
  101. package/dist/scripts/{2-5079f4b088.chunk.js → 2-2cc3988222.chunk.js} +1 -1
  102. package/dist/scripts/2-e6d104415e.chunk.js +1 -0
  103. package/dist/scripts/2.chunk.js.map +1 -1
  104. package/dist/scripts/20-60e4eee833.chunk.js +1 -0
  105. package/dist/scripts/{20-6019ccb462.chunk.js → 20-6d9086f5db.chunk.js} +1 -1
  106. package/dist/scripts/20.chunk.js.map +1 -1
  107. package/dist/scripts/{21-77f6ddec3d.chunk.js → 21-2f10553302.chunk.js} +1 -1
  108. package/dist/scripts/21-a7fffe8852.chunk.js +1 -0
  109. package/dist/scripts/21.chunk.js.map +1 -1
  110. package/dist/scripts/{22-9ef39722d1.chunk.js → 22-59ae44b448.chunk.js} +1 -1
  111. package/dist/scripts/22-f670791432.chunk.js +1 -0
  112. package/dist/scripts/22.chunk.js.map +1 -1
  113. package/dist/scripts/{23-c8071cb869.chunk.js → 23-11e008ee63.chunk.js} +1 -1
  114. package/dist/scripts/23-4d26d6300a.chunk.js +1 -0
  115. package/dist/scripts/23.chunk.js +3 -3
  116. package/dist/scripts/23.chunk.js.map +1 -1
  117. package/dist/scripts/{24-b655377e1f.chunk.js → 24-7f21e384d2.chunk.js} +1 -1
  118. package/dist/scripts/24-813ef82099.chunk.js +1 -0
  119. package/dist/scripts/24.chunk.js.map +1 -1
  120. package/dist/scripts/25-023d08a591.chunk.js +1 -0
  121. package/dist/scripts/{25-acda0ed17e.chunk.js → 25-f0f7fa16a4.chunk.js} +1 -1
  122. package/dist/scripts/25.chunk.js.map +1 -1
  123. package/dist/scripts/26-a9fcf0d596.chunk.js +1 -0
  124. package/dist/scripts/{26-39f6c3ca17.chunk.js → 26-e65533bd94.chunk.js} +1 -1
  125. package/dist/scripts/26.chunk.js.map +1 -1
  126. package/dist/scripts/27-84f7bbade6.chunk.js +1 -0
  127. package/dist/scripts/{27-1313c7d392.chunk.js → 27-9dc0f5a4df.chunk.js} +1 -1
  128. package/dist/scripts/27.chunk.js +3 -3
  129. package/dist/scripts/27.chunk.js.map +1 -1
  130. package/dist/scripts/{28-b583483a6e.chunk.js → 28-26e5c371c7.chunk.js} +1 -1
  131. package/dist/scripts/28-cdf603f4cf.chunk.js +1 -0
  132. package/dist/scripts/28.chunk.js +6 -6
  133. package/dist/scripts/28.chunk.js.map +1 -1
  134. package/dist/scripts/{29-44119e600a.chunk.js → 29-61415c2af0.chunk.js} +1 -1
  135. package/dist/scripts/29-8278d23f9b.chunk.js +1 -0
  136. package/dist/scripts/29.chunk.js.map +1 -1
  137. package/dist/scripts/{3-bea2c1c371.chunk.js → 3-1fa81c9d9b.chunk.js} +1 -1
  138. package/dist/scripts/{3-079c0b4d3b.chunk.js → 3-5eff8c9df5.chunk.js} +1 -1
  139. package/dist/scripts/3.chunk.js +13 -25
  140. package/dist/scripts/3.chunk.js.map +1 -1
  141. package/dist/scripts/{30-a6a7291b5e.chunk.js → 30-6075c28972.chunk.js} +1 -1
  142. package/dist/scripts/30-7ab880728c.chunk.js +1 -0
  143. package/dist/scripts/30.chunk.js +6 -6
  144. package/dist/scripts/30.chunk.js.map +1 -1
  145. package/dist/scripts/31-aa4cd0f45e.chunk.js +1 -0
  146. package/dist/scripts/31-e35ae4e153.chunk.js +1 -0
  147. package/dist/scripts/31.chunk.js.map +1 -1
  148. package/dist/scripts/32-7717941f1d.chunk.js +1 -0
  149. package/dist/scripts/{32-0b05da2f4c.chunk.js → 32-d5a50a7592.chunk.js} +1 -1
  150. package/dist/scripts/32.chunk.js.map +1 -1
  151. package/dist/scripts/{33-04b1fbcdeb.chunk.js → 33-5ae90ed7d7.chunk.js} +1 -1
  152. package/dist/scripts/33-6da33143ea.chunk.js +1 -0
  153. package/dist/scripts/33.chunk.js.map +1 -1
  154. package/dist/scripts/{34-56f92b9a87.chunk.js → 34-27e40f4d4b.chunk.js} +1 -1
  155. package/dist/scripts/{34-4f2c861480.chunk.js → 34-50402c1835.chunk.js} +1 -1
  156. package/dist/scripts/34.chunk.js.map +1 -1
  157. package/dist/scripts/{35-cdd788a4b5.chunk.js → 35-3260300446.chunk.js} +1 -1
  158. package/dist/scripts/{35-08ead0d078.chunk.js → 35-ec8c190357.chunk.js} +1 -1
  159. package/dist/scripts/35.chunk.js.map +1 -1
  160. package/dist/scripts/{36-4db22bf8bb.chunk.js → 36-4d467bc42e.chunk.js} +1 -1
  161. package/dist/scripts/{36-7d33d11b58.chunk.js → 36-bec0c74d05.chunk.js} +1 -1
  162. package/dist/scripts/36.chunk.js.map +1 -1
  163. package/dist/scripts/{37-4de2537ff4.chunk.js → 37-37e8965783.chunk.js} +1 -1
  164. package/dist/scripts/37-3916177181.chunk.js +1 -0
  165. package/dist/scripts/37.chunk.js.map +1 -1
  166. package/dist/scripts/{38-57af633fa1.chunk.js → 38-3dc24b8867.chunk.js} +1 -1
  167. package/dist/scripts/38-89f7c22ea8.chunk.js +1 -0
  168. package/dist/scripts/38.chunk.js.map +1 -1
  169. package/dist/scripts/{39-5451786b7d.chunk.js → 39-350ff66a2b.chunk.js} +1 -1
  170. package/dist/scripts/39-9456631219.chunk.js +1 -0
  171. package/dist/scripts/39.chunk.js.map +1 -1
  172. package/dist/scripts/4-a7f6d378e0.chunk.js +1 -0
  173. package/dist/scripts/{4-0a8a5ac2f0.chunk.js → 4-b3f3c7c71c.chunk.js} +1 -1
  174. package/dist/scripts/4.chunk.js.map +1 -1
  175. package/dist/scripts/{40-31940ddf04.chunk.js → 40-3443f99cb2.chunk.js} +1 -1
  176. package/dist/scripts/40-f65196723f.chunk.js +1 -0
  177. package/dist/scripts/40.chunk.js.map +1 -1
  178. package/dist/scripts/{41-2c6722e410.chunk.js → 41-70b16d99d0.chunk.js} +1 -1
  179. package/dist/scripts/{41-0366a0332e.chunk.js → 41-b5dfd35e9e.chunk.js} +1 -1
  180. package/dist/scripts/41.chunk.js.map +1 -1
  181. package/dist/scripts/{42-9b7795d20a.chunk.js → 42-103fecb7b6.chunk.js} +1 -1
  182. package/dist/scripts/42-e17f214d6c.chunk.js +1 -0
  183. package/dist/scripts/42.chunk.js.map +1 -1
  184. package/dist/scripts/{43-006ce08a8f.chunk.js → 43-57b07579f7.chunk.js} +1 -1
  185. package/dist/scripts/{43-591954817b.chunk.js → 43-6826fbc7d4.chunk.js} +1 -1
  186. package/dist/scripts/43.chunk.js.map +1 -1
  187. package/dist/scripts/{44-b4c134efe8.chunk.js → 44-210d64dffe.chunk.js} +1 -1
  188. package/dist/scripts/{44-fc3a1d45c5.chunk.js → 44-593e820fa2.chunk.js} +1 -1
  189. package/dist/scripts/44.chunk.js.map +1 -1
  190. package/dist/scripts/{45-32ce8dd910.chunk.js → 45-632b07e926.chunk.js} +1 -1
  191. package/dist/scripts/{45-3e85e78a77.chunk.js → 45-8231a03833.chunk.js} +1 -1
  192. package/dist/scripts/45.chunk.js.map +1 -1
  193. package/dist/scripts/46-682ca88fd9.chunk.js +1 -0
  194. package/dist/scripts/{46-1256828b60.chunk.js → 46-82cce63cbf.chunk.js} +1 -1
  195. package/dist/scripts/46.chunk.js +6 -6
  196. package/dist/scripts/46.chunk.js.map +1 -1
  197. package/dist/scripts/{47-61b53964c2.chunk.js → 47-595b4aae87.chunk.js} +1 -1
  198. package/dist/scripts/47-aec7cf95e8.chunk.js +1 -0
  199. package/dist/scripts/47.chunk.js +1 -2
  200. package/dist/scripts/47.chunk.js.map +1 -1
  201. package/dist/scripts/48-7b09165697.chunk.js +1 -0
  202. package/dist/scripts/{48-3f804b22a4.chunk.js → 48-fcf6378889.chunk.js} +1 -1
  203. package/dist/scripts/48.chunk.js.map +1 -1
  204. package/dist/scripts/49-0e6ceb191f.chunk.js +1 -0
  205. package/dist/scripts/{49-79b28e90c9.chunk.js → 49-d8a4899eb1.chunk.js} +1 -1
  206. package/dist/scripts/49.chunk.js.map +1 -1
  207. package/dist/scripts/{5-093c9ee130.chunk.js → 5-06bc197b1e.chunk.js} +1 -1
  208. package/dist/scripts/{5-f5ad097d2b.chunk.js → 5-e2e64bc05f.chunk.js} +1 -1
  209. package/dist/scripts/5.chunk.js +3 -3
  210. package/dist/scripts/5.chunk.js.map +1 -1
  211. package/dist/scripts/{50-198f89794c.chunk.js → 50-11b1a49916.chunk.js} +1 -1
  212. package/dist/scripts/50-fa6f6fd1dc.chunk.js +1 -0
  213. package/dist/scripts/50.chunk.js.map +1 -1
  214. package/dist/scripts/51-1c9fca4604.chunk.js +1 -0
  215. package/dist/scripts/{51-177fe97a9b.chunk.js → 51-72a75e0265.chunk.js} +1 -1
  216. package/dist/scripts/51.chunk.js.map +1 -1
  217. package/dist/scripts/{52-d8cf26c75f.chunk.js → 52-195f73bcd6.chunk.js} +1 -1
  218. package/dist/scripts/52-ebce0c9f12.chunk.js +1 -0
  219. package/dist/scripts/52.chunk.js.map +1 -1
  220. package/dist/scripts/{53-595b1efa1a.chunk.js → 53-bb4f37ee25.chunk.js} +1 -1
  221. package/dist/scripts/53-c6807d4e0b.chunk.js +1 -0
  222. package/dist/scripts/53.chunk.js.map +1 -1
  223. package/dist/scripts/{54-646c8458e0.chunk.js → 54-7a201d8285.chunk.js} +1 -1
  224. package/dist/scripts/54-e6195aa62a.chunk.js +1 -0
  225. package/dist/scripts/54.chunk.js.map +1 -1
  226. package/dist/scripts/{55-5e3b70736e.chunk.js → 55-be3d7b8805.chunk.js} +1 -1
  227. package/dist/scripts/55-f9f9a251af.chunk.js +1 -0
  228. package/dist/scripts/55.chunk.js.map +1 -1
  229. package/dist/scripts/56-20f27f96db.chunk.js +1 -0
  230. package/dist/scripts/{56-3c520aec72.chunk.js → 56-6aeece1bf1.chunk.js} +1 -1
  231. package/dist/scripts/56.chunk.js.map +1 -1
  232. package/dist/scripts/{57-6f84e1bb9d.chunk.js → 57-59ee15161b.chunk.js} +1 -1
  233. package/dist/scripts/57-b25862dbf0.chunk.js +1 -0
  234. package/dist/scripts/57.chunk.js.map +1 -1
  235. package/dist/scripts/{58-1c37240b43.chunk.js → 58-8ff58b194a.chunk.js} +1 -1
  236. package/dist/scripts/58-edf06f18f9.chunk.js +1 -0
  237. package/dist/scripts/58.chunk.js.map +1 -1
  238. package/dist/scripts/59-241a666e49.chunk.js +1 -0
  239. package/dist/scripts/{59-05cbb57b32.chunk.js → 59-3d33954fcb.chunk.js} +1 -1
  240. package/dist/scripts/59.chunk.js.map +1 -1
  241. package/dist/scripts/{6-a5f6258253.chunk.js → 6-a469872b10.chunk.js} +1 -1
  242. package/dist/scripts/6-c631df7bda.chunk.js +1 -0
  243. package/dist/scripts/6.chunk.js.map +1 -1
  244. package/dist/scripts/60-ac631fa385.chunk.js +1 -0
  245. package/dist/scripts/{60-ac4f11764a.chunk.js → 60-f092baa91c.chunk.js} +1 -1
  246. package/dist/scripts/60.chunk.js.map +1 -1
  247. package/dist/scripts/61-360e50b6cb.chunk.js +1 -0
  248. package/dist/scripts/{61-62ec9b3628.chunk.js → 61-bd9ef62ccd.chunk.js} +1 -1
  249. package/dist/scripts/61.chunk.js +12 -12
  250. package/dist/scripts/61.chunk.js.map +1 -1
  251. package/dist/scripts/62-22ee1d2a94.chunk.js +1 -0
  252. package/dist/scripts/{62-4d0e82f903.chunk.js → 62-f15b3bf74c.chunk.js} +1 -1
  253. package/dist/scripts/62.chunk.js.map +1 -1
  254. package/dist/scripts/63-25413d744e.chunk.js +1 -0
  255. package/dist/scripts/{63-47af37825d.chunk.js → 63-92757f75e7.chunk.js} +1 -1
  256. package/dist/scripts/63.chunk.js.map +1 -1
  257. package/dist/scripts/64-1b027092be.chunk.js +1 -0
  258. package/dist/scripts/{64-12150ef48b.chunk.js → 64-c5a1c55521.chunk.js} +1 -1
  259. package/dist/scripts/64.chunk.js.map +1 -1
  260. package/dist/scripts/{65-7780441e5e.chunk.js → 65-6bb10ae23b.chunk.js} +1 -1
  261. package/dist/scripts/{65-a4fdf8777b.chunk.js → 65-c8a9aae545.chunk.js} +1 -1
  262. package/dist/scripts/65.chunk.js.map +1 -1
  263. package/dist/scripts/66-20aec598ca.chunk.js +1 -0
  264. package/dist/scripts/{66-029947cf5c.chunk.js → 66-f047027f7d.chunk.js} +1 -1
  265. package/dist/scripts/66.chunk.js.map +1 -1
  266. package/dist/scripts/{67-47f208342a.chunk.js → 67-2e1a011200.chunk.js} +1 -1
  267. package/dist/scripts/67-d8d1cb35a4.chunk.js +1 -0
  268. package/dist/scripts/67.chunk.js.map +1 -1
  269. package/dist/scripts/68-869ea333d9.chunk.js +1 -0
  270. package/dist/scripts/{68-5656cc45fe.chunk.js → 68-d5c0ab3fc1.chunk.js} +1 -1
  271. package/dist/scripts/68.chunk.js.map +1 -1
  272. package/dist/scripts/69-c4ff3e5568.chunk.js +1 -0
  273. package/dist/scripts/{69-4d32ddddbc.chunk.js → 69-fc8325afc9.chunk.js} +1 -1
  274. package/dist/scripts/69.chunk.js.map +1 -1
  275. package/dist/scripts/7-1d94e0bb0c.chunk.js +1 -0
  276. package/dist/scripts/{7-2696f5afc4.chunk.js → 7-58dd909fa3.chunk.js} +1 -1
  277. package/dist/scripts/7.chunk.js.map +1 -1
  278. package/dist/scripts/70-171dcf9fe1.chunk.js +1 -0
  279. package/dist/scripts/{70-0f070c1596.chunk.js → 70-ceda95013e.chunk.js} +1 -1
  280. package/dist/scripts/70.chunk.js.map +1 -1
  281. package/dist/scripts/71-33e7082ca2.chunk.js +1 -0
  282. package/dist/scripts/{71-215cac8b69.chunk.js → 71-6e8fc95beb.chunk.js} +1 -1
  283. package/dist/scripts/71.chunk.js.map +1 -1
  284. package/dist/scripts/72-2eef8b13b0.chunk.js +1 -0
  285. package/dist/scripts/{72-6eb3ef092e.chunk.js → 72-53fe3338bf.chunk.js} +1 -1
  286. package/dist/scripts/72.chunk.js.map +1 -1
  287. package/dist/scripts/73.chunk.js.map +1 -1
  288. package/dist/scripts/74.chunk.js.map +1 -1
  289. package/dist/scripts/75.chunk.js.map +1 -1
  290. package/dist/scripts/76.chunk.js.map +1 -1
  291. package/dist/scripts/77.chunk.js.map +1 -1
  292. package/dist/scripts/78.chunk.js.map +1 -1
  293. package/dist/scripts/79.chunk.js.map +1 -1
  294. package/dist/scripts/8-34ae87490f.chunk.js +1 -0
  295. package/dist/scripts/{8-1e0751e30b.chunk.js → 8-6974afed28.chunk.js} +1 -1
  296. package/dist/scripts/8.chunk.js.map +1 -1
  297. package/dist/scripts/80.chunk.js.map +1 -1
  298. package/dist/scripts/81.chunk.js.map +1 -1
  299. package/dist/scripts/82.chunk.js.map +1 -1
  300. package/dist/scripts/83.chunk.js.map +1 -1
  301. package/dist/scripts/84.chunk.js.map +1 -1
  302. package/dist/scripts/85.chunk.js.map +1 -1
  303. package/dist/scripts/86.chunk.js.map +1 -1
  304. package/dist/scripts/87.chunk.js.map +1 -1
  305. package/dist/scripts/88.chunk.js.map +1 -1
  306. package/dist/scripts/89.chunk.js.map +1 -1
  307. package/dist/scripts/{9-cd0bcefa7f.chunk.js → 9-0d7004dd33.chunk.js} +1 -1
  308. package/dist/scripts/{9-bb567e1c99.chunk.js → 9-9279038caa.chunk.js} +1 -1
  309. package/dist/scripts/9.chunk.js.map +1 -1
  310. package/dist/scripts/90.chunk.js.map +1 -1
  311. package/dist/scripts/91.chunk.js.map +1 -1
  312. package/dist/scripts/92.chunk.js.map +1 -1
  313. package/dist/scripts/bundle-06dc1f4908.min.js +8 -0
  314. package/dist/scripts/bundle-f4a423ce34.min.js +1 -0
  315. package/dist/scripts/bundle.js +1364 -1492
  316. package/dist/scripts/bundle.js.map +1 -1
  317. package/dist/scripts/bundles.json +2 -2
  318. package/dist/scripts/polyfills-21eaf1215c.min.js +1 -0
  319. package/dist/scripts/polyfills-efb4d7caa3.min.js +1 -0
  320. package/dist/scripts/polyfills.js +1050 -1050
  321. package/dist/scripts/polyfills.js.map +1 -1
  322. package/package.json +4 -4
  323. package/dist/scripts/0-f82360fd03.chunk.js +0 -1
  324. package/dist/scripts/10-8307f8e248.chunk.js +0 -1
  325. package/dist/scripts/12-43e54b0a2d.chunk.js +0 -1
  326. package/dist/scripts/13-3d84e237b9.chunk.js +0 -1
  327. package/dist/scripts/14-988bab314d.chunk.js +0 -1
  328. package/dist/scripts/16-3a99050a93.chunk.js +0 -1
  329. package/dist/scripts/17-bff211f26a.chunk.js +0 -1
  330. package/dist/scripts/20-d4470b4a53.chunk.js +0 -1
  331. package/dist/scripts/21-7bd1977005.chunk.js +0 -1
  332. package/dist/scripts/22-d88b8e9c20.chunk.js +0 -1
  333. package/dist/scripts/23-e8a0f60c53.chunk.js +0 -1
  334. package/dist/scripts/24-f62e7ff166.chunk.js +0 -1
  335. package/dist/scripts/25-f814e3921c.chunk.js +0 -1
  336. package/dist/scripts/26-9dd482e1e6.chunk.js +0 -1
  337. package/dist/scripts/27-5ecd204dab.chunk.js +0 -1
  338. package/dist/scripts/28-e9b8962af8.chunk.js +0 -1
  339. package/dist/scripts/29-e3391b4e4b.chunk.js +0 -1
  340. package/dist/scripts/30-aef6a19cde.chunk.js +0 -1
  341. package/dist/scripts/31-4f1ea6d067.chunk.js +0 -1
  342. package/dist/scripts/31-70fe14b490.chunk.js +0 -1
  343. package/dist/scripts/32-96ac2f9c32.chunk.js +0 -1
  344. package/dist/scripts/33-061a87935f.chunk.js +0 -1
  345. package/dist/scripts/37-fbd149e569.chunk.js +0 -1
  346. package/dist/scripts/38-7733a3d81e.chunk.js +0 -1
  347. package/dist/scripts/39-cc627dfe2b.chunk.js +0 -1
  348. package/dist/scripts/4-84fa8e49e2.chunk.js +0 -1
  349. package/dist/scripts/40-78639874b5.chunk.js +0 -1
  350. package/dist/scripts/42-c87c36d7d4.chunk.js +0 -1
  351. package/dist/scripts/46-e096df45ef.chunk.js +0 -1
  352. package/dist/scripts/47-9e514e7536.chunk.js +0 -1
  353. package/dist/scripts/48-9af8b50e4f.chunk.js +0 -1
  354. package/dist/scripts/49-883d9131af.chunk.js +0 -1
  355. package/dist/scripts/50-ce04770db1.chunk.js +0 -1
  356. package/dist/scripts/51-61bb2b80fe.chunk.js +0 -1
  357. package/dist/scripts/52-e7fd215888.chunk.js +0 -1
  358. package/dist/scripts/53-e78a58c963.chunk.js +0 -1
  359. package/dist/scripts/54-7976c21511.chunk.js +0 -1
  360. package/dist/scripts/55-dac67eae0b.chunk.js +0 -1
  361. package/dist/scripts/56-9a02efb9a1.chunk.js +0 -1
  362. package/dist/scripts/57-bf72265d49.chunk.js +0 -1
  363. package/dist/scripts/58-34ef45f4b6.chunk.js +0 -1
  364. package/dist/scripts/59-f3d473090d.chunk.js +0 -1
  365. package/dist/scripts/6-e49b6b4c08.chunk.js +0 -1
  366. package/dist/scripts/60-dd50d4179f.chunk.js +0 -1
  367. package/dist/scripts/61-e759f86871.chunk.js +0 -1
  368. package/dist/scripts/62-bfd5450b13.chunk.js +0 -1
  369. package/dist/scripts/63-8521e39a2e.chunk.js +0 -1
  370. package/dist/scripts/64-c42635a917.chunk.js +0 -1
  371. package/dist/scripts/66-7f2750cd97.chunk.js +0 -1
  372. package/dist/scripts/67-564ff2bd16.chunk.js +0 -1
  373. package/dist/scripts/68-df9024fadc.chunk.js +0 -1
  374. package/dist/scripts/69-a4b3442e68.chunk.js +0 -1
  375. package/dist/scripts/7-b39ab430b9.chunk.js +0 -1
  376. package/dist/scripts/70-2a427b3dd0.chunk.js +0 -1
  377. package/dist/scripts/71-c43ee23686.chunk.js +0 -1
  378. package/dist/scripts/72-f5a8cfc8b7.chunk.js +0 -1
  379. package/dist/scripts/8-f4f18356f7.chunk.js +0 -1
  380. package/dist/scripts/bundle-e7f4d4e659.min.js +0 -8
  381. package/dist/scripts/bundle-f73bcaa857.min.js +0 -8
  382. package/dist/scripts/polyfills-9517d7e647.min.js +0 -1
  383. package/dist/scripts/polyfills-e442ebbfb0.min.js +0 -1
@@ -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 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 +1 @@
1
- {"version":3,"sources":["file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/views/edit-chapters/EditChapters.hbs","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/views/edit-chapters/EditChaptersView.ts"],"names":[],"mappings":";;;;;;;;;AAAA,iBAAiB,mBAAO,CAAC,8BAAY;AACrC,iEAAiE;AACjE;AACA,CAAC,gBAAgB,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACHjB;AAGA;AACA;AACA;AAEA;AAEA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAGA;AACA;AAEA;AAEA;AACA;AAMO,IAAM,gBAAb;AAAA;;AAAA;;AAaE,4BAAY,OAAZ,EAA4C;AAAA;;AAAA,6BACpC,OADoC;AAE3C;;AAfH;AAAA;AAAA,iCAiBmB;AACf,WAAK,aAAL;AACA,WAAK,sBAAL;AACA,6DAAS,CAAC,cAAV;AACD;AArBH;AAAA;AAAA,8BA+CgB;AACZ,aAAO;AACL,YAAI,EAAE;AACJ,YAAE,EAAE,aADA;AAEJ,wBAAc,EAAE,6DAAc,CAAC;AAF3B,SADD;AAKL,iBAAS,EAAE;AACT,wBAAc,EAAE,IADP;AAET,YAAE,EAAE,mBAFK;AAGT,wBAAc,EAAE,6DAAc,CAAC;AAHtB,SALN;AAUL,kBAAU,EAAE;AACV,wBAAc,EAAE,IADN;AAEV,YAAE,EAAE,qBAFM;AAGV,wBAAc,EAAE,6DAAc,CAAC;AAHrB,SAVP;AAeL,mBAAW,EAAE;AACX,wBAAc,EAAE,IADL;AAEX,YAAE,EAAE,sBAFO;AAGX,wBAAc,EAAE,6DAAc,CAAC;AAHpB;AAfR,OAAP;AAqBD;AArEH;AAAA;AAAA,oCAuEuB;AACnB,WAAK,QAAL,CAAc,8DAAY,CAAC,KAA3B,YAAqC,8DAAY,CAAC,MAAlD,cAA4D,KAAK,OAAL,CAAa,OAAzE,YAAyF,KAAK,MAA9F;AACA,WAAK,QAAL,CAAc,8DAAY,CAAC,KAA3B,YAAqC,8DAAY,CAAC,MAAlD,cAA4D,KAAK,OAAL,CAAa,OAAzE,aAA0F,KAAK,gBAA/F;AAEA,WAAK,QAAL,CAAc,8DAAY,CAAC,KAA3B,YACK,8DAAY,CAAC,2BADlB,cACiD,KAAK,OAAL,CAAa,OAD9D,YAC8E,KAAK,MADnF;AAGA,WAAK,QAAL,CAAc,8DAAY,CAAC,OAA3B,YACK,8DAAY,CAAC,kBADlB,cACwC,KAAK,OAAL,CAAa,OADrD,aACsE,KAAK,sBAD3E;AAGA,WAAK,QAAL,CAAc,KAAK,WAAnB,EAAgC,gEAAoB,CAAC,aAArD,EAAoE,KAAK,eAAzE;AACA,WAAK,QAAL,CAAc,KAAK,WAAnB,EAAgC,gEAAoB,CAAC,aAArD,EAAoE,KAAK,eAAzE;AACA,WAAK,QAAL,CAAc,KAAK,WAAnB,EAAgC,gEAAoB,CAAC,aAArD,EAAoE,KAAK,eAAzE;AACA,WAAK,QAAL,CAAc,KAAK,WAAnB,EAAgC,gEAAoB,CAAC,iBAArD,EAAwE,KAAK,iBAA7E;AACA,WAAK,QAAL,CAAc,KAAK,WAAnB,EAAgC,gEAAoB,CAAC,aAArD,EAAoE,KAAK,eAAzE;AACA,WAAK,QAAL,CAAc,KAAK,WAAnB,EAAgC,gEAAoB,CAAC,aAArD,EAAoE,KAAK,eAAzE;AACD;AAvFH;AAAA;AAAA,6CAyFgC;AAC5B,WAAK,gBAAL,GAAwB,kGAAe,CAAC,WAAhB,CAA4B,8DAAY,CAAC,KAAzC,EAAgD,IAAhD,CAAxB;AACA,WAAK,kBAAL,GAA0B,kGAAe,CAAC,WAAhB,CAA4B,8DAAY,CAAC,OAAzC,EAAkD,IAAlD,CAA1B;AACD;AA5FH;AAAA;AAAA,qCA8F2B,KA9F3B,EA8FkD;AAC9C,cAAQ,KAAK,CAAC,IAAd;AACA,aAAK,yGAAoB,CAAC,QAA1B;AACE,wEAAI,CAAC,WAAL,CAAiB,KAAjB,CAAuB,IAAI,2DAAJ,EAAvB;AACA;;AACF,aAAK,yGAAoB,CAAC,SAA1B;AACE,wEAAI,CAAC,WAAL,CAAiB,KAAjB,CAAuB,IAAI,4DAAJ,EAAvB;AACA;AANF;AAQD;AAvGH;AAAA;AAAA,2CAyGiC,KAzGjC,EAyGwD;AACpD,UAAI,KAAK,CAAC,IAAN,KAAe,yGAAoB,CAAC,QAAxC,EACE;AAEF,WAAK,0BAAL,GAAkC,IAAlC;AAEA,WAAK,MAAL;AACD;AAhHH;AAAA;AAAA,oCAkH0B,OAlH1B,EAkH6C;AACzC;AACA,UAAI,KAAK,QAAL,CAAc,MAAd,KAAyB,CAAzB,IAA8B,OAAO,CAAC,SAAR,KAAsB,CAAxD,EACE,KAAK,aAAL,CAAmB;AAAE,YAAI,EAAE,kGAAe,CAAC,SAAhB,CAA0B,KAAK,IAA/B,EAAqC,OAArC,CAAR;AAAuD,iBAAS,EAAE;AAAlE,OAAnB,EAHuC,CAKzC;;AACA,WAAK,aAAL,CAAmB,OAAnB;AACD;AAzHH;AAAA;AAAA,kCA2HwB,OA3HxB,EA2H2C;AAAA;;AACvC;AACA,UAAM,UAAU,GAAG,IAAI,8DAAJ,CAAY,OAAZ,CAAnB;AACA,WAAK,QAAL,CAAc,GAAd,CAAkB,UAAlB;AACA,gBAAU,CAAC,GAAX,CAAe,SAAf,EAA0B,IAA1B;AAEA,WAAK,kBAAL,CAAwB,aAAxB,CAAsC,KAAK,KAAL,CAAW,GAAX,CAAe,IAAf,CAAtC,EAA4D,OAAO,CAAC,IAApE,EAA0E,OAAO,CAAC,SAAlF,EAA6F,UAAC,IAAD,EAAkB;AAC7G;AACA,kBAAU,CAAC,GAAX,CAAe,IAAI,CAAC,MAAL,EAAf,EAA8B;AAAE,gBAAM,EAAE;AAAV,SAA9B;AACA,kBAAU,CAAC,GAAX,CAAe,SAAf,EAA0B,KAA1B;;AAEA,aAAI,CAAC,QAAL,CAAc,IAAd;;AACA,aAAI,CAAC,iBAAL;;AAEA,aAAI,CAAC,SAAL,CAAe,IAAf,EAAqB,0EAAU,CAAC,MAAhC;AACD,OATD;AAUD;AA3IH;AAAA;AAAA,oCA6I0B,YA7I1B,EA6IkD;AAAA;;AAC9C,UAAM,OAAO,GAAG,KAAK,QAAL,CAAc,IAAd,CAAmB,WAAC;AAAA,eAAI,CAAC,CAAC,GAAF,CAAM,IAAN,MAAgB,YAAY,CAAC,EAAjC;AAAA,OAApB,CAAhB;AAEA,aAAO,CAAC,GAAR,CAAY,SAAZ,EAAuB,IAAvB;AAEA,UAAM,cAAc,GAAG,2DAAW,CAAC,oBAAZ,CAAiC,KAAK,KAAL,CAAW,GAAX,CAAe,MAAf,CAAjC,CAAvB;AAEA,WAAK,kBAAL,CAAwB,aAAxB,CAAsC,OAAO,CAAC,EAA9C,EAAkD,YAAY,CAAC,IAA/D,EAAqE,YAAY,CAAC,SAAlF,EACE,UAAC,UAAD,EAAwB;AACtB,eAAO,CAAC,GAAR,CAAY,UAAU,CAAC,MAAX,EAAZ,EAAiC;AAAE,gBAAM,EAAE;AAAV,SAAjC;AACA,eAAO,CAAC,GAAR,CAAY,SAAZ,EAAuB,KAAvB;;AACA,cAAI,CAAC,QAAL,CAAc,IAAd;;AACA,cAAI,CAAC,SAAL,CAAe,UAAf,EAA2B,0EAAU,CAAC,IAAtC;AACD,OANH,EAMK,cANL;AAOD;AA3JH;AAAA;AAAA,oCA6J0B,OA7J1B,EA6J0C;AAAA;;AACtC,aAAO,CAAC,GAAR,CAAY,SAAZ,EAAuB,IAAvB;AAEA,WAAK,kBAAL,CAAwB,aAAxB,CAAsC,OAAO,CAAC,EAA9C,EAAkD,YAAK;AACrD,cAAI,CAAC,SAAL,CAAe,OAAf,EAAwB,0EAAU,CAAC,MAAnC;;AACA,cAAI,CAAC,QAAL,CAAc,MAAd,CAAqB,OAArB;AACD,OAHD;AAID;AApKH;AAAA;AAAA,sCAsKyB;AAAA;;AACrB,WAAK,kBAAL,CAAwB,qBAAxB,CAA8C,KAAK,OAAL,CAAa,OAA3D,EAAoE,YAAK;AACvE,cAAI,CAAC,iBAAL;AACD,OAFD;AAGD;AAED;;;;AA5KF;AAAA;AAAA,sCA+K4B,IA/K5B,EA+KwC;AACpC,UAAI,IAAI,IAAI,CAAR,IAAa,IAAI,IAAI,yDAAW,CAAC,qBAAZ,CAAkC,KAAK,KAAL,CAAW,GAAX,CAAe,UAAf,CAAlC,CAAzB,EACE,KAAK,MAAL,CAAY,MAAZ,CAAmB,IAAnB;AACH;AAlLH;AAAA;AAAA,8BAoLoB,OApLpB,EAoLsC,UApLtC,EAoL4D;AAExD,UAAM,aAAa;AACjB,eAAO,EAAE,KAAK,KAAL,CAAW,GAAX,CAAe,IAAf;AADQ,SAEd,OAAO,CAAC,IAAR,CAAa,IAAb,EAAmB,MAAnB,EAA2B,WAA3B,CAFc,CAAnB;AAKA,0FAAe,CAAC,aAAhB,CAA8B,aAA9B,EAA6C;AAC3C,kBAAU,EAAV,UAD2C;AAE3C,cAAM,EAAE,0EAAU,CAAC,OAFwB;AAG3C,gBAAQ,EAAE,+EAAe,CAAC;AAHiB,OAA7C;AAKD;AAhMH;AAAA;AAAA,oCAkM0B,YAlM1B,EAkM8C;AAC1C,UAAI,YAAY,GAAG,CAAnB,EAAsB;AAEtB,WAAK,MAAL,CAAY,aAAZ,CAA0B,YAA1B;AACD;AAED;;;;;AAxMF;AAAA;AAAA,gDA4MmC;AAC/B,UAAI,CAAC,KAAK,kBAAV,EACE;AAEF,UAAM,cAAc,GAAG,CAAE,8DAAsB,CAAC,UAAzB,EAAqC,8DAAsB,CAAC,mBAA5D,CAAvB;AACA,UAAI,oDAAW,cAAX,EAA2B,KAAK,kBAAL,CAAwB,GAAxB,CAA4B,QAA5B,CAA3B,CAAJ,EACE;AAEF,WAAK,iBAAL;AACD;AAED;;;;;;;AAvNF;AAAA;AAAA,wCA6N2B;AAAA;;AACvB,UAAI,KAAK,WAAL,EAAJ,EACE;AAEF,WAAK,kBAAL,CAAwB,qBAAxB,CAA8C,KAAK,OAAL,CAAa,OAA3D,EAAoE,UAAC,IAAD,EAAoC;AACtG,cAAI,CAAC,kBAAL,GAA0B,IAA1B;;AAEA,YAAI,MAAI,CAAC,kBAAL,CAAwB,GAAxB,CAA4B,QAA5B,MAA0C,8DAAsB,CAAC,UAArE,EAAiF;AAC/E,oBAAU,CAAC;AAAA,mBAAM,MAAI,CAAC,iBAAL,EAAN;AAAA,WAAD,EAAiC,IAAjC,CAAV;;AACA,gBAAI,CAAC,0BAAL;;AACA;AACD;;AAED,cAAI,CAAC,gBAAL,CAAsB,2BAAtB;;AACA,cAAI,CAAC,MAAL;AACD,OAXD;AAYD;AAED;;;;AA/OF;AAAA;AAAA,wCAkP2B;AACvB,WAAK,aAAL,CAAmB,aAAnB,EAAkC,IAAI,yFAAJ,CAAsB;AACtD,kBAAU,EAAE,KAAK,QADqC;AAEtD,gBAAQ,EAAE,KAAK,KAAL,CAAW,GAAX,CAAe,UAAf,CAF4C;AAGtD,mBAAW,EAAE,KAAK,WAHoC;AAItD,mBAAW,EAAE,CAAC,KAAK,mBAAL,CAAyB,GAAzB,CAA6B,OAA7B,CAJwC;AAKtD,gBAAQ,EAAE,CAAC,KAAK,mBAAL,CAAyB,GAAzB,CAA6B,OAA7B,CAL2C;AAMtD,kBAAU,EAAE;AAN0C,OAAtB,CAAlC;AAQD;AA3PH;AAAA;AAAA,wCA6P2B;AACvB,WAAK,aAAL,CAAmB,YAAnB,EAAiC,IAAI,mGAAJ,CAAyB;AACxD,aAAK,EAAE,IAAI,8DAAJ,EADiD;AAExD,kBAAU,EAAE,KAAK,QAFuC;AAGxD,gBAAQ,EAAE,IAH8C;AAIxD,gBAAQ,EAAE,KAAK,KAAL,CAAW,GAAX,CAAe,UAAf,CAJ8C;AAKxD,mBAAW,EAAE,KAAK,WALsC;AAMxD,0BAAkB,YAAK,2DAAS,CAAC,IAAf,cAAuB,KAAK,KAAL,CAAW,GAAX,CAAe,IAAf,CAAvB;AANsC,OAAzB,CAAjC;AAQD;AAtQH;AAAA;AAAA,iDAwQoC;AAChC,UAAI,CAAC,KAAK,UAAL,EAAL,EACE;AAEF,WAAK,aAAL,CAAmB,YAAnB,EAAiC,IAAI,wHAAJ,CAAgC;AAC/D,YAAI,EAAE,UADyD;AAE/D,mBAAW,EAAE,KAAK,WAF6C;AAG/D,aAAK,EAAE,KAAK;AAHmD,OAAhC,CAAjC;AAKD;AAjRH;AAAA;AAAA,2CAmR8B;AAC1B,UAAI,KAAK,mBAAL,CAAyB,GAAzB,CAA6B,OAA7B,CAAJ,EAA2C;AACzC,aAAK,0BAAL;AACA,aAAK,mBAAL;AACA;AACD;;AAED,WAAK,iBAAL;AACA,WAAK,iBAAL;AACD;AA5RH;AAAA;AAAA,iCA8RoB;AAChB,WAAK,aAAL,CAAmB,MAAnB,EAA2B,IAAI,0GAAJ,CAA2B;AACpD,YAAI,EAAE,uDAAS,CAAC,gBAAV,CAA2B,KAAK,OAAL,CAAa,OAAxC,CAD8C;AAEpD,iBAAS,EAAE,wBAFyC;AAGpD,iBAAS,EAAE,uDAAS,CAAC,aAAV,CAAwB,KAAK,OAAL,CAAa,OAArC;AAHyC,OAA3B,CAA3B;AAKD;AApSH;AAAA;AAAA,sCAsSyB;AACrB,WAAK,MAAL,GAAc,IAAI,oGAAJ,CAAuB;AACnC,aAAK,EAAE,KAAK,KADuB;AAEnC,oBAAY,EAAE,KAAK,MAAL,CAAY,GAAZ,CAAgB,cAAhB,CAFqB;AAGnC,wBAAgB,EAAE;AAHiB,OAAvB,CAAd;AAMA,WAAK,aAAL,CAAmB,WAAnB,EAAgC,KAAK,MAArC;AACD;AA9SH;AAAA;AAAA,0CAgT6B;AAAA;;AACzB,WAAK,oBAAL,CAA0B,aAA1B,EADyB,CAGzB;;AACA,WAAK,MAAL,CAAY,KAAZ,CAAkB,aAAlB,EAAiC,UAAC,QAAD,EAAoB;AAEnD;AACA,cAAI,CAAC,QAAL,GAAgB,IAAI,uFAAJ,CAAsB,sDAAc,CAAC,mBAAf,CAAmC,QAAnC,CAAtB,CAAhB;;AAEA,cAAI,CAAC,iBAAL;AACD,OAND;AAOD;AA3TH;AAAA;AAAA,6CA6TgC;AAC5B,oEAAI,CAAC,aAAL,CAAmB,OAAnB,CAA2B;AACzB,mBAAW,EAAE,6DAAW,CAAC,cADA;AAEzB,cAAM,EAAE,yDAAO,CAAC,aAAR,CAAsB,aAFL;AAGzB,YAAI,EAAE,CAAC,KAAK,KAAL,CAAW,GAAX,CAAe,IAAf,CAAD;AAHmB,OAA3B,EAIG;AAAE,eAAO,EAAE;AAAX,OAJH;AAKD;AAnUH;AAAA;AAAA,gCAqUmB;AAAA;;AACf,WAAK,KAAL,GAAa,KAAK,gBAAL,CAAsB,QAAtB,CAA+B,KAAK,OAAL,CAAa,OAA5C,CAAb;;AAEA,UAAI,KAAK,KAAT,EAAgB;AACd,YAAI,CAAC,+DAAiB,CAAC,YAAlB,CAA+B,KAAK,KAApC,CAAL,EAAiD;AAC/C,eAAK,sBAAL;AACA;AACD;;AAED,aAAK,QAAL,GAAgB,KAAK,KAAL,CAAW,QAA3B;AACD;;AAED,WAAK,mBAAL,GAA2B,KAAK,gBAAL,CAAsB,mBAAtB,CAA0C,KAAK,OAAL,CAAa,OAAvD,CAA3B;AAEA;;;;;;;;AAOA,UAAI,CAAC,KAAK,mBAAN,IAA6B,CAAC,KAAK,mBAAL,CAAyB,GAAzB,CAA6B,OAA7B,CAA9B,IAAuE,KAAK,yBAAhF,EACE;AAEF,WAAK,kBAAL,CAAwB,qBAAxB,CAA8C,KAAK,OAAL,CAAa,OAA3D,EAAoE,UAAC,IAAD,EAAoC;AACtG,cAAI,CAAC,kBAAL,GAA0B,IAA1B;;AACA,cAAI,CAAC,MAAL;AACD,OAHD;AAKA,WAAK,yBAAL,GAAiC,IAAjC;AACD;AAnWH;AAAA;AAAA,mCAqWsB;AAClB,UAAI,CAAC,KAAK,KAAN,IAAe,CAAC,KAAK,mBAAzB,EACE,OAAO,KAAP;AAEF,UAAI,KAAK,mBAAL,CAAyB,GAAzB,CAA6B,OAA7B,KAA0C,CAAC,KAAK,kBAAN,IAA4B,CAAC,KAAK,0BAAhF,EACE,OAAO,KAAP;AAEF,aAAO,IAAP;AACD;AA7WH;AAAA;AAAA,qCAqXuB;AACnB,WAAK,SAAL;AAEA,aAAO,KAAK,YAAL,EAAP;AACD;AAzXH;AAAA;AAAA,+BA2XiB;AACb,WAAK,UAAL;AACA,WAAK,eAAL;AACA,WAAK,oBAAL;AAEA,WAAK,yBAAL;AACD;AAjYH;AAAA;AAAA,wBAuBiB;AACb,aAAO,uBAAP;AACD;AAzBH;AAAA;AAAA,wBA2BkB;AACd,aAAO,CAAC,CAAC,KAAK,KAAP,IAAgB,KAAK,KAAL,CAAW,GAAX,CAAe,MAAf,CAAvB;AACD;AA7BH;AAAA;AAAA,wBA+BiB;AACb,aAAO,4BAAP;AACD;AAjCH;AAAA;AAAA,wBAmCwB;AACpB,uBAAU,KAAK,IAAf,SAAsB,KAAK,GAA3B;AACD;AArCH;AAAA;AAAA,wBAuCsB;AAClB,aAAO,cAAP;AACD;AAzCH;AAAA;AAAA,wBA2CqB;AACjB,aAAO,yDAAP;AACD;AA7CH;AAAA;AAAA,wBA+W8B;AAC1B,aAAO;AACL,cAAM,EAAE,0FAAuB,CAAC;AAD3B,OAAP;AAGD;AAnXH;;AAAA;AAAA,EAAsC,8DAAI,CAAC,IAA3C,E","file":"scripts/89.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 return \"<div class=\\\"tab-region w-100\\\"></div>\\r\\n<div class=\\\"row\\\">\\r\\n <div class=\\\"col-6 pt-3\\\">\\r\\n <div class=\\\"webplayer-region\\\"></div>\\r\\n <div class=\\\"add-chapter-region\\\"></div>\\r\\n </div>\\r\\n <div class=\\\"col-6 mb-2 pt-3\\\">\\r\\n <div class=\\\"chapter-list-region\\\"></div>\\r\\n </div>\\r\\n</div>\";\n},\"useData\":true});","import * as _ from 'underscore';\r\nimport { ObjectHash } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { InstanceManager } from 'libs/common/backbone/services/InstanceManager';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { DataServiceError } from 'libs/common/backbone/interfaces';\r\nimport { DataServiceErrorType } from 'libs/common/backbone/enums/DataServiceErrorType';\r\n\r\nimport { ChapterCollection } from 'shared/collections/ChapterCollection';\r\nimport { Video } from 'shared/models/Video';\r\nimport { Chapter } from 'shared/models/Chapter';\r\nimport { Config } from 'shared/models/Config';\r\nimport { TimeHelpers, PermissionsHelper, TabHelper } from 'shared/utils';\r\nimport { DataPrefixes, Webplayer, DataChannels, DataServices, AppChannels, Actions } from 'shared/constants';\r\nimport { ConfigDataServiceHelper } from 'shared/services/ConfigDataService';\r\nimport { PartialLoading } from 'shared/enums';\r\nimport { UserAction, EntityType, LocationContext } from 'libs/analytics/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\nimport { WebPlayerComponent } from 'shared/components/web-player/WebPlayerComponent';\r\nimport { VideoAlerts } from 'shared/alerts';\r\n\r\nimport { EditVideoTabsComponent } from 'apps/library-editor/components/edit-video-tabs/EditVideoTabsComponent';\r\nimport { ConcatenateRequestComponent } from 'apps/library-editor/components/concatenate-request/ConcatenateRequestComponent';\r\nimport { ChapterFormComponent } from 'apps/library-editor/components/chapter-form/ChapterFormComponent';\r\nimport { ChaptersComponent } from 'apps/library-editor/components/chapters/ChaptersComponent';\r\nimport { VideoDataService } from 'apps/library-editor/services/VideoDataService';\r\nimport { ChapterDataService } from 'apps/library-editor/services/ChapterDataService';\r\nimport { VideoNotFoundError, ForbiddenVideoError } from 'apps/library-editor/errors';\r\nimport { LibraryEditorActions } from 'apps/library-editor/constants';\r\nimport { ChapterConcatenateRequest } from 'apps/library-editor/models';\r\nimport { ChapterHelpers } from 'apps/library-editor/utils';\r\n\r\nimport EditChaptersTemplate from './EditChapters.hbs';\r\nimport { MediaConcatenateStatus } from 'apps/library-editor/enums';\r\n\r\ninterface EditChaptersViewOptions extends Core.ViewOptions<Video> {\r\n videoId: string;\r\n}\r\n\r\nexport class EditChaptersView extends Core.View<Video> {\r\n protected options: EditChaptersViewOptions;\r\n\r\n private videoDataService: VideoDataService;\r\n private chapterDataService: ChapterDataService;\r\n private chapters: ChapterCollection;\r\n private player: WebPlayerComponent;\r\n private config: Config;\r\n private hasPhysicalChapters: Core.Model;\r\n private getConcatenateRequestSent: boolean;\r\n private concatenateRequest: ChapterConcatenateRequest;\r\n private concatenateRequestNotFound: boolean;\r\n\r\n constructor(options: EditChaptersViewOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.bindListeners();\r\n this.initializeDataServices();\r\n TabHelper.initBackButton();\r\n }\r\n\r\n public get name(): string {\r\n return 'EditVideoChaptersView';\r\n }\r\n\r\n public get title(): string {\r\n return !!this.model && this.model.get('name');\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.editChapters';\r\n }\r\n\r\n public get channelName(): string {\r\n return `${this.name}${this.cid}`;\r\n }\r\n\r\n public get className(): string {\r\n return 'bg-white p-3';\r\n }\r\n\r\n public get template(): any {\r\n return EditChaptersTemplate;\r\n }\r\n\r\n public regions(): ObjectHash {\r\n return {\r\n tabs: {\r\n el: '.tab-region',\r\n partialLoading: PartialLoading.EditVideoTabs,\r\n },\r\n webplayer: {\r\n replaceElement: true,\r\n el: '.webplayer-region',\r\n partialLoading: PartialLoading.WebPlayer,\r\n },\r\n addChapter: {\r\n replaceElement: true,\r\n el: '.add-chapter-region',\r\n partialLoading: PartialLoading.EditVideoChaptersForm,\r\n },\r\n chapterList: {\r\n replaceElement: true,\r\n el: '.chapter-list-region',\r\n partialLoading: PartialLoading.EditVideoChapterList,\r\n }\r\n };\r\n }\r\n\r\n private bindListeners(): void {\r\n this.listenTo(DataChannels.VIDEO, `${DataPrefixes.VIDEOS}:${this.options.videoId}:sync`, this.render);\r\n this.listenTo(DataChannels.VIDEO, `${DataPrefixes.VIDEOS}:${this.options.videoId}:error`, this.onVideoDataError);\r\n\r\n this.listenTo(DataChannels.VIDEO,\r\n `${DataPrefixes.VIDEO_HAS_PHYSICAL_CHAPTERS}:${this.options.videoId}:sync`, this.render);\r\n\r\n this.listenTo(DataChannels.CHAPTER,\r\n `${DataPrefixes.CONCATENATE_STATUS}:${this.options.videoId}:error`, this.onConcatenateDataError);\r\n\r\n this.listenTo(this.channelName, LibraryEditorActions.CreateChapter, this.onCreateChapter);\r\n this.listenTo(this.channelName, LibraryEditorActions.UpdateChapter, this.onUpdateChapter);\r\n this.listenTo(this.channelName, LibraryEditorActions.DeleteChapter, this.onDeleteChapter);\r\n this.listenTo(this.channelName, LibraryEditorActions.UpdateChapterTime, this.onTimeInputUpdate);\r\n this.listenTo(this.channelName, LibraryEditorActions.SeekToChapter, this.onSeekToChapter);\r\n this.listenTo(this.channelName, LibraryEditorActions.MergeChapters, this.onMergeChapters);\r\n }\r\n\r\n private initializeDataServices(): void {\r\n this.videoDataService = InstanceManager.getInstance(DataServices.Video, this);\r\n this.chapterDataService = InstanceManager.getInstance(DataServices.Chapter, this);\r\n }\r\n\r\n private onVideoDataError(error: DataServiceError): void {\r\n switch (error.type) {\r\n case DataServiceErrorType.NotFound:\r\n Core.ErrorHelper.throw(new VideoNotFoundError());\r\n break;\r\n case DataServiceErrorType.Forbidden:\r\n Core.ErrorHelper.throw(new ForbiddenVideoError());\r\n break;\r\n }\r\n }\r\n\r\n private onConcatenateDataError(error: DataServiceError): void {\r\n if (error.type !== DataServiceErrorType.NotFound)\r\n return;\r\n\r\n this.concatenateRequestNotFound = true;\r\n\r\n this.render();\r\n }\r\n\r\n private onCreateChapter(chapter: ObjectHash): void {\r\n // If no chapters exist and the chapter being added is not at 00:00, an introduction chapter is created\r\n if (this.chapters.length === 0 && chapter.startTime !== 0)\r\n this.createChapter({ name: LanguageService.getPhrase(this.lang, 'intro'), startTime: 0 });\r\n\r\n // Create the requested chapter\r\n this.createChapter(chapter);\r\n }\r\n\r\n private createChapter(chapter: ObjectHash): void {\r\n // Add new chapter to the local collection immediately\r\n const newChapter = new Chapter(chapter);\r\n this.chapters.add(newChapter);\r\n newChapter.set('loading', true);\r\n\r\n this.chapterDataService.createChapter(this.model.get('id'), chapter.name, chapter.startTime, (data: Chapter) => {\r\n // Update chapter with service properties\r\n newChapter.set(data.toJSON(), { silent: true });\r\n newChapter.set('loading', false);\r\n\r\n this.chapters.sort();\r\n this.renderChapterForm();\r\n\r\n this.logAction(data, UserAction.Create);\r\n });\r\n }\r\n\r\n private onUpdateChapter(chapterState: ObjectHash): void {\r\n const chapter = this.chapters.find(c => c.get('id') === chapterState.id);\r\n\r\n chapter.set('loading', true);\r\n\r\n const successHandler = VideoAlerts.updatedChaptersAlert(this.model.get('name'));\r\n\r\n this.chapterDataService.updateChapter(chapter.id, chapterState.name, chapterState.startTime,\r\n (newChapter: Chapter) => {\r\n chapter.set(newChapter.toJSON(), { silent: true });\r\n chapter.set('loading', false);\r\n this.chapters.sort();\r\n this.logAction(newChapter, UserAction.Edit);\r\n }, successHandler);\r\n }\r\n\r\n private onDeleteChapter(chapter: Chapter): void {\r\n chapter.set('loading', true);\r\n\r\n this.chapterDataService.deleteChapter(chapter.id, () => {\r\n this.logAction(chapter, UserAction.Delete);\r\n this.chapters.remove(chapter);\r\n });\r\n }\r\n\r\n private onMergeChapters(): void {\r\n this.chapterDataService.addConcatenateRequest(this.options.videoId, () => {\r\n this.pollConcatenation();\r\n });\r\n }\r\n\r\n /**\r\n * If the time passed is a valid time, seek to it\r\n */\r\n private onTimeInputUpdate(time: number): void {\r\n if (time >= 0 && time <= TimeHelpers.millisecondsToSeconds(this.model.get('duration')))\r\n this.player.seekTo(time);\r\n }\r\n\r\n private logAction(chapter: Chapter, actionType: UserAction): void {\r\n\r\n const analyticsData = {\r\n videoId: this.model.get('id'),\r\n ...chapter.pick('id', 'name', 'startTime')\r\n };\r\n\r\n AnalyticsHelper.logUserAction(analyticsData, {\r\n actionType,\r\n entity: EntityType.Chapter,\r\n location: LocationContext.EditVideoChapters\r\n });\r\n }\r\n\r\n private onSeekToChapter(chapterIndex: number): void {\r\n if (chapterIndex < 0) return;\r\n\r\n this.player.seekToChapter(chapterIndex);\r\n }\r\n\r\n /**\r\n * We call this function in onRender to not start polling if we don't have a concatenateRequest\r\n * or if the concatenate request isn't currently concatenating. \r\n */\r\n private startPollingConcatenation(): void {\r\n if (!this.concatenateRequest)\r\n return;\r\n\r\n const ignoreStatuses = [ MediaConcatenateStatus.SingleFile, MediaConcatenateStatus.ConcatenationFailed ];\r\n if (_.contains(ignoreStatuses, this.concatenateRequest.get('status')))\r\n return;\r\n\r\n this.pollConcatenation();\r\n }\r\n\r\n /**\r\n * This function exists seperately from startPollingConcatenation() so that\r\n * we can force the polling to start when this.concatenateRequest is null\r\n * \r\n * This is done when the merge chapter button is clicked to request concatenation\r\n */\r\n private pollConcatenation(): void {\r\n if (this.isDestroyed())\r\n return;\r\n\r\n this.chapterDataService.getConcatenateRequest(this.options.videoId, (data: ChapterConcatenateRequest) => {\r\n this.concatenateRequest = data;\r\n\r\n if (this.concatenateRequest.get('status') !== MediaConcatenateStatus.SingleFile) {\r\n setTimeout(() => this.pollConcatenation(), 5000);\r\n this.renderConcatenationRequest();\r\n return;\r\n }\r\n\r\n this.videoDataService.clearPhysicialChaptersCache();\r\n this.render();\r\n });\r\n }\r\n\r\n /**\r\n * Render logic\r\n */\r\n private renderChapterList(): void {\r\n this.showChildView('chapterList', new ChaptersComponent({\r\n collection: this.chapters,\r\n duration: this.model.get('duration'),\r\n channelName: this.channelName,\r\n showActions: !this.hasPhysicalChapters.get('value'),\r\n editable: !this.hasPhysicalChapters.get('value'),\r\n showHeader: true\r\n }));\r\n }\r\n\r\n private renderChapterForm(): void {\r\n this.showChildView('addChapter', new ChapterFormComponent({\r\n model: new Chapter(),\r\n collection: this.chapters,\r\n creating: true,\r\n duration: this.model.get('duration'),\r\n channelName: this.channelName,\r\n playerViewModelKey: `${Webplayer.NAME}-${this.model.get('id')}`\r\n }));\r\n }\r\n\r\n private renderConcatenationRequest(): void {\r\n if (!this.isRendered())\r\n return;\r\n\r\n this.showChildView('addChapter', new ConcatenateRequestComponent({\r\n type: 'chapters',\r\n channelName: this.channelName,\r\n model: this.concatenateRequest\r\n }));\r\n }\r\n\r\n private renderEditComponents(): void {\r\n if (this.hasPhysicalChapters.get('value')) {\r\n this.renderConcatenationRequest();\r\n this.mapPhysicalChapters();\r\n return;\r\n }\r\n\r\n this.renderChapterForm();\r\n this.renderChapterList();\r\n }\r\n\r\n private renderTabs(): void {\r\n this.showChildView('tabs', new EditVideoTabsComponent({\r\n tabs: TabHelper.getEditVideoTabs(this.options.videoId),\r\n activeTab: '.edit-chapters-applink',\r\n goBackTab: TabHelper.getBackButton(this.options.videoId)\r\n }));\r\n }\r\n\r\n private renderWebPlayer(): void {\r\n this.player = new WebPlayerComponent({\r\n model: this.model,\r\n webPlayerUrl: this.config.get('webPlayerUrl'),\r\n captureAnalytics: false\r\n });\r\n\r\n this.showChildView('webplayer', this.player);\r\n }\r\n\r\n private mapPhysicalChapters(): void {\r\n this.renderPartialLoading('chapterList');\r\n\r\n // Where there are no metadata chapters, retrieve any physical chapters.\r\n this.player.query('getChapters', (chapters: any[]) => {\r\n\r\n // Map physical chapters to Chapter models to view consistently within the UI.\r\n this.chapters = new ChapterCollection(ChapterHelpers.mapPhysicalChapters(chapters));\r\n\r\n this.renderChapterList();\r\n });\r\n }\r\n\r\n private redirectToVideoDetails(): void {\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.LIBRARY_EDITOR,\r\n action: Actions.LibraryEditor.VIDEO_DETAILS,\r\n args: [this.model.get('id')]\r\n }, { replace: true });\r\n }\r\n\r\n private fetchData(): void {\r\n this.model = this.videoDataService.getVideo(this.options.videoId);\r\n\r\n if (this.model) {\r\n if (!PermissionsHelper.canEditVideo(this.model)) {\r\n this.redirectToVideoDetails();\r\n return;\r\n }\r\n\r\n this.chapters = this.model.chapters;\r\n }\r\n\r\n this.hasPhysicalChapters = this.videoDataService.hasPhysicalChapters(this.options.videoId);\r\n\r\n /**\r\n * If this.hasPhysicalChapters.get('value') is false, we don't need to fetch the concatenate request.\r\n * Alternatively, if we have already sent a request to fetch the concatenate request, we don't need\r\n * to fetch it again.\r\n * A flag, getConcatenateRequestSent, is used as ChapterDataService.getConcatenateRequest() will\r\n * return null if a concatenate request hasn't been created.\r\n */\r\n if (!this.hasPhysicalChapters || !this.hasPhysicalChapters.get('value') || this.getConcatenateRequestSent)\r\n return;\r\n\r\n this.chapterDataService.getConcatenateRequest(this.options.videoId, (data: ChapterConcatenateRequest) => {\r\n this.concatenateRequest = data;\r\n this.render();\r\n });\r\n\r\n this.getConcatenateRequestSent = true;\r\n }\r\n\r\n private shouldRender(): boolean {\r\n if (!this.model || !this.hasPhysicalChapters)\r\n return false;\r\n\r\n if (this.hasPhysicalChapters.get('value') && (!this.concatenateRequest && !this.concatenateRequestNotFound))\r\n return false;\r\n\r\n return true;\r\n }\r\n\r\n public get requiredResources(): Core.RequiredResourceHash {\r\n return {\r\n config: ConfigDataServiceHelper.config\r\n };\r\n }\r\n\r\n public onBeforeRender(): boolean {\r\n this.fetchData();\r\n\r\n return this.shouldRender();\r\n }\r\n\r\n public onRender(): void {\r\n this.renderTabs();\r\n this.renderWebPlayer();\r\n this.renderEditComponents();\r\n\r\n this.startPollingConcatenation();\r\n }\r\n}"],"sourceRoot":""}
1
+ {"version":3,"sources":["file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/views/edit-chapters/EditChapters.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/views/edit-chapters/EditChaptersView.ts"],"names":[],"mappings":"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","file":"scripts/89.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 return \"<div class=\\\"tab-region w-100\\\"></div>\\r\\n<div class=\\\"row\\\">\\r\\n <div class=\\\"col-6 pt-3\\\">\\r\\n <div class=\\\"webplayer-region\\\"></div>\\r\\n <div class=\\\"add-chapter-region\\\"></div>\\r\\n </div>\\r\\n <div class=\\\"col-6 mb-2 pt-3\\\">\\r\\n <div class=\\\"chapter-list-region\\\"></div>\\r\\n </div>\\r\\n</div>\";\n},\"useData\":true});","import * as _ from 'underscore';\r\nimport { ObjectHash } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { InstanceManager } from 'libs/common/backbone/services/InstanceManager';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { DataServiceError } from 'libs/common/backbone/interfaces';\r\nimport { DataServiceErrorType } from 'libs/common/backbone/enums/DataServiceErrorType';\r\n\r\nimport { ChapterCollection } from 'shared/collections/ChapterCollection';\r\nimport { Video } from 'shared/models/Video';\r\nimport { Chapter } from 'shared/models/Chapter';\r\nimport { Config } from 'shared/models/Config';\r\nimport { TimeHelpers, PermissionsHelper, TabHelper } from 'shared/utils';\r\nimport { DataPrefixes, Webplayer, DataChannels, DataServices, AppChannels, Actions } from 'shared/constants';\r\nimport { ConfigDataServiceHelper } from 'shared/services/ConfigDataService';\r\nimport { PartialLoading } from 'shared/enums';\r\nimport { UserAction, EntityType, LocationContext } from 'libs/analytics/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\nimport { WebPlayerComponent } from 'shared/components/web-player/WebPlayerComponent';\r\nimport { VideoAlerts } from 'shared/alerts';\r\n\r\nimport { EditVideoTabsComponent } from 'apps/library-editor/components/edit-video-tabs/EditVideoTabsComponent';\r\nimport { ConcatenateRequestComponent } from 'apps/library-editor/components/concatenate-request/ConcatenateRequestComponent';\r\nimport { ChapterFormComponent } from 'apps/library-editor/components/chapter-form/ChapterFormComponent';\r\nimport { ChaptersComponent } from 'apps/library-editor/components/chapters/ChaptersComponent';\r\nimport { VideoDataService } from 'apps/library-editor/services/VideoDataService';\r\nimport { ChapterDataService } from 'apps/library-editor/services/ChapterDataService';\r\nimport { VideoNotFoundError, ForbiddenVideoError } from 'apps/library-editor/errors';\r\nimport { LibraryEditorActions } from 'apps/library-editor/constants';\r\nimport { ChapterConcatenateRequest } from 'apps/library-editor/models';\r\nimport { ChapterHelpers } from 'apps/library-editor/utils';\r\n\r\nimport EditChaptersTemplate from './EditChapters.hbs';\r\nimport { MediaConcatenateStatus } from 'apps/library-editor/enums';\r\n\r\ninterface EditChaptersViewOptions extends Core.ViewOptions<Video> {\r\n videoId: string;\r\n}\r\n\r\nexport class EditChaptersView extends Core.View<Video> {\r\n protected options: EditChaptersViewOptions;\r\n\r\n private videoDataService: VideoDataService;\r\n private chapterDataService: ChapterDataService;\r\n private chapters: ChapterCollection;\r\n private player: WebPlayerComponent;\r\n private config: Config;\r\n private hasPhysicalChapters: Core.Model;\r\n private getConcatenateRequestSent: boolean;\r\n private concatenateRequest: ChapterConcatenateRequest;\r\n private concatenateRequestNotFound: boolean;\r\n\r\n constructor(options: EditChaptersViewOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.bindListeners();\r\n this.initializeDataServices();\r\n TabHelper.initBackButton();\r\n }\r\n\r\n public get name(): string {\r\n return 'EditVideoChaptersView';\r\n }\r\n\r\n public get title(): string {\r\n return !!this.model && this.model.get('name');\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.editChapters';\r\n }\r\n\r\n public get channelName(): string {\r\n return `${this.name}${this.cid}`;\r\n }\r\n\r\n public get className(): string {\r\n return 'bg-white p-3';\r\n }\r\n\r\n public get template(): any {\r\n return EditChaptersTemplate;\r\n }\r\n\r\n public regions(): ObjectHash {\r\n return {\r\n tabs: {\r\n el: '.tab-region',\r\n partialLoading: PartialLoading.EditVideoTabs,\r\n },\r\n webplayer: {\r\n replaceElement: true,\r\n el: '.webplayer-region',\r\n partialLoading: PartialLoading.WebPlayer,\r\n },\r\n addChapter: {\r\n replaceElement: true,\r\n el: '.add-chapter-region',\r\n partialLoading: PartialLoading.EditVideoChaptersForm,\r\n },\r\n chapterList: {\r\n replaceElement: true,\r\n el: '.chapter-list-region',\r\n partialLoading: PartialLoading.EditVideoChapterList,\r\n }\r\n };\r\n }\r\n\r\n private bindListeners(): void {\r\n this.listenTo(DataChannels.VIDEO, `${DataPrefixes.VIDEOS}:${this.options.videoId}:sync`, this.render);\r\n this.listenTo(DataChannels.VIDEO, `${DataPrefixes.VIDEOS}:${this.options.videoId}:error`, this.onVideoDataError);\r\n\r\n this.listenTo(DataChannels.VIDEO,\r\n `${DataPrefixes.VIDEO_HAS_PHYSICAL_CHAPTERS}:${this.options.videoId}:sync`, this.render);\r\n\r\n this.listenTo(DataChannels.CHAPTER,\r\n `${DataPrefixes.CONCATENATE_STATUS}:${this.options.videoId}:error`, this.onConcatenateDataError);\r\n\r\n this.listenTo(this.channelName, LibraryEditorActions.CreateChapter, this.onCreateChapter);\r\n this.listenTo(this.channelName, LibraryEditorActions.UpdateChapter, this.onUpdateChapter);\r\n this.listenTo(this.channelName, LibraryEditorActions.DeleteChapter, this.onDeleteChapter);\r\n this.listenTo(this.channelName, LibraryEditorActions.UpdateChapterTime, this.onTimeInputUpdate);\r\n this.listenTo(this.channelName, LibraryEditorActions.SeekToChapter, this.onSeekToChapter);\r\n this.listenTo(this.channelName, LibraryEditorActions.MergeChapters, this.onMergeChapters);\r\n }\r\n\r\n private initializeDataServices(): void {\r\n this.videoDataService = InstanceManager.getInstance(DataServices.Video, this);\r\n this.chapterDataService = InstanceManager.getInstance(DataServices.Chapter, this);\r\n }\r\n\r\n private onVideoDataError(error: DataServiceError): void {\r\n switch (error.type) {\r\n case DataServiceErrorType.NotFound:\r\n Core.ErrorHelper.throw(new VideoNotFoundError());\r\n break;\r\n case DataServiceErrorType.Forbidden:\r\n Core.ErrorHelper.throw(new ForbiddenVideoError());\r\n break;\r\n }\r\n }\r\n\r\n private onConcatenateDataError(error: DataServiceError): void {\r\n if (error.type !== DataServiceErrorType.NotFound)\r\n return;\r\n\r\n this.concatenateRequestNotFound = true;\r\n\r\n this.render();\r\n }\r\n\r\n private onCreateChapter(chapter: ObjectHash): void {\r\n // If no chapters exist and the chapter being added is not at 00:00, an introduction chapter is created\r\n if (this.chapters.length === 0 && chapter.startTime !== 0)\r\n this.createChapter({ name: LanguageService.getPhrase(this.lang, 'intro'), startTime: 0 });\r\n\r\n // Create the requested chapter\r\n this.createChapter(chapter);\r\n }\r\n\r\n private createChapter(chapter: ObjectHash): void {\r\n // Add new chapter to the local collection immediately\r\n const newChapter = new Chapter(chapter);\r\n this.chapters.add(newChapter);\r\n newChapter.set('loading', true);\r\n\r\n this.chapterDataService.createChapter(this.model.get('id'), chapter.name, chapter.startTime, (data: Chapter) => {\r\n // Update chapter with service properties\r\n newChapter.set(data.toJSON(), { silent: true });\r\n newChapter.set('loading', false);\r\n\r\n this.chapters.sort();\r\n this.renderChapterForm();\r\n\r\n this.logAction(data, UserAction.Create);\r\n });\r\n }\r\n\r\n private onUpdateChapter(chapterState: ObjectHash): void {\r\n const chapter = this.chapters.find(c => c.get('id') === chapterState.id);\r\n\r\n chapter.set('loading', true);\r\n\r\n const successHandler = VideoAlerts.updatedChaptersAlert(this.model.get('name'));\r\n\r\n this.chapterDataService.updateChapter(chapter.id, chapterState.name, chapterState.startTime,\r\n (newChapter: Chapter) => {\r\n chapter.set(newChapter.toJSON(), { silent: true });\r\n chapter.set('loading', false);\r\n this.chapters.sort();\r\n this.logAction(newChapter, UserAction.Edit);\r\n }, successHandler);\r\n }\r\n\r\n private onDeleteChapter(chapter: Chapter): void {\r\n chapter.set('loading', true);\r\n\r\n this.chapterDataService.deleteChapter(chapter.id, () => {\r\n this.logAction(chapter, UserAction.Delete);\r\n this.chapters.remove(chapter);\r\n });\r\n }\r\n\r\n private onMergeChapters(): void {\r\n this.chapterDataService.addConcatenateRequest(this.options.videoId, () => {\r\n this.pollConcatenation();\r\n });\r\n }\r\n\r\n /**\r\n * If the time passed is a valid time, seek to it\r\n */\r\n private onTimeInputUpdate(time: number): void {\r\n if (time >= 0 && time <= TimeHelpers.millisecondsToSeconds(this.model.get('duration')))\r\n this.player.seekTo(time);\r\n }\r\n\r\n private logAction(chapter: Chapter, actionType: UserAction): void {\r\n\r\n const analyticsData = {\r\n videoId: this.model.get('id'),\r\n ...chapter.pick('id', 'name', 'startTime')\r\n };\r\n\r\n AnalyticsHelper.logUserAction(analyticsData, {\r\n actionType,\r\n entity: EntityType.Chapter,\r\n location: LocationContext.EditVideoChapters\r\n });\r\n }\r\n\r\n private onSeekToChapter(chapterIndex: number): void {\r\n if (chapterIndex < 0) return;\r\n\r\n this.player.seekToChapter(chapterIndex);\r\n }\r\n\r\n /**\r\n * We call this function in onRender to not start polling if we don't have a concatenateRequest\r\n * or if the concatenate request isn't currently concatenating. \r\n */\r\n private startPollingConcatenation(): void {\r\n if (!this.concatenateRequest)\r\n return;\r\n\r\n const ignoreStatuses = [ MediaConcatenateStatus.SingleFile, MediaConcatenateStatus.ConcatenationFailed ];\r\n if (_.contains(ignoreStatuses, this.concatenateRequest.get('status')))\r\n return;\r\n\r\n this.pollConcatenation();\r\n }\r\n\r\n /**\r\n * This function exists seperately from startPollingConcatenation() so that\r\n * we can force the polling to start when this.concatenateRequest is null\r\n * \r\n * This is done when the merge chapter button is clicked to request concatenation\r\n */\r\n private pollConcatenation(): void {\r\n if (this.isDestroyed())\r\n return;\r\n\r\n this.chapterDataService.getConcatenateRequest(this.options.videoId, (data: ChapterConcatenateRequest) => {\r\n this.concatenateRequest = data;\r\n\r\n if (this.concatenateRequest.get('status') !== MediaConcatenateStatus.SingleFile) {\r\n setTimeout(() => this.pollConcatenation(), 5000);\r\n this.renderConcatenationRequest();\r\n return;\r\n }\r\n\r\n this.videoDataService.clearPhysicialChaptersCache();\r\n this.render();\r\n });\r\n }\r\n\r\n /**\r\n * Render logic\r\n */\r\n private renderChapterList(): void {\r\n this.showChildView('chapterList', new ChaptersComponent({\r\n collection: this.chapters,\r\n duration: this.model.get('duration'),\r\n channelName: this.channelName,\r\n showActions: !this.hasPhysicalChapters.get('value'),\r\n editable: !this.hasPhysicalChapters.get('value'),\r\n showHeader: true\r\n }));\r\n }\r\n\r\n private renderChapterForm(): void {\r\n this.showChildView('addChapter', new ChapterFormComponent({\r\n model: new Chapter(),\r\n collection: this.chapters,\r\n creating: true,\r\n duration: this.model.get('duration'),\r\n channelName: this.channelName,\r\n playerViewModelKey: `${Webplayer.NAME}-${this.model.get('id')}`\r\n }));\r\n }\r\n\r\n private renderConcatenationRequest(): void {\r\n if (!this.isRendered())\r\n return;\r\n\r\n this.showChildView('addChapter', new ConcatenateRequestComponent({\r\n type: 'chapters',\r\n channelName: this.channelName,\r\n model: this.concatenateRequest\r\n }));\r\n }\r\n\r\n private renderEditComponents(): void {\r\n if (this.hasPhysicalChapters.get('value')) {\r\n this.renderConcatenationRequest();\r\n this.mapPhysicalChapters();\r\n return;\r\n }\r\n\r\n this.renderChapterForm();\r\n this.renderChapterList();\r\n }\r\n\r\n private renderTabs(): void {\r\n this.showChildView('tabs', new EditVideoTabsComponent({\r\n tabs: TabHelper.getEditVideoTabs(this.options.videoId),\r\n activeTab: '.edit-chapters-applink',\r\n goBackTab: TabHelper.getBackButton(this.options.videoId)\r\n }));\r\n }\r\n\r\n private renderWebPlayer(): void {\r\n this.player = new WebPlayerComponent({\r\n model: this.model,\r\n webPlayerUrl: this.config.get('webPlayerUrl'),\r\n captureAnalytics: false\r\n });\r\n\r\n this.showChildView('webplayer', this.player);\r\n }\r\n\r\n private mapPhysicalChapters(): void {\r\n this.renderPartialLoading('chapterList');\r\n\r\n // Where there are no metadata chapters, retrieve any physical chapters.\r\n this.player.query('getChapters', (chapters: any[]) => {\r\n\r\n // Map physical chapters to Chapter models to view consistently within the UI.\r\n this.chapters = new ChapterCollection(ChapterHelpers.mapPhysicalChapters(chapters));\r\n\r\n this.renderChapterList();\r\n });\r\n }\r\n\r\n private redirectToVideoDetails(): void {\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.LIBRARY_EDITOR,\r\n action: Actions.LibraryEditor.VIDEO_DETAILS,\r\n args: [this.model.get('id')]\r\n }, { replace: true });\r\n }\r\n\r\n private fetchData(): void {\r\n this.model = this.videoDataService.getVideo(this.options.videoId);\r\n\r\n if (this.model) {\r\n if (!PermissionsHelper.canEditVideo(this.model)) {\r\n this.redirectToVideoDetails();\r\n return;\r\n }\r\n\r\n this.chapters = this.model.chapters;\r\n }\r\n\r\n this.hasPhysicalChapters = this.videoDataService.hasPhysicalChapters(this.options.videoId);\r\n\r\n /**\r\n * If this.hasPhysicalChapters.get('value') is false, we don't need to fetch the concatenate request.\r\n * Alternatively, if we have already sent a request to fetch the concatenate request, we don't need\r\n * to fetch it again.\r\n * A flag, getConcatenateRequestSent, is used as ChapterDataService.getConcatenateRequest() will\r\n * return null if a concatenate request hasn't been created.\r\n */\r\n if (!this.hasPhysicalChapters || !this.hasPhysicalChapters.get('value') || this.getConcatenateRequestSent)\r\n return;\r\n\r\n this.chapterDataService.getConcatenateRequest(this.options.videoId, (data: ChapterConcatenateRequest) => {\r\n this.concatenateRequest = data;\r\n this.render();\r\n });\r\n\r\n this.getConcatenateRequestSent = true;\r\n }\r\n\r\n private shouldRender(): boolean {\r\n if (!this.model || !this.hasPhysicalChapters)\r\n return false;\r\n\r\n if (this.hasPhysicalChapters.get('value') && (!this.concatenateRequest && !this.concatenateRequestNotFound))\r\n return false;\r\n\r\n return true;\r\n }\r\n\r\n public get requiredResources(): Core.RequiredResourceHash {\r\n return {\r\n config: ConfigDataServiceHelper.config\r\n };\r\n }\r\n\r\n public onBeforeRender(): boolean {\r\n this.fetchData();\r\n\r\n return this.shouldRender();\r\n }\r\n\r\n public onRender(): void {\r\n this.renderTabs();\r\n this.renderWebPlayer();\r\n this.renderEditComponents();\r\n\r\n this.startPollingConcatenation();\r\n }\r\n}"],"sourceRoot":""}
@@ -1 +1 @@
1
- (window.webpackJsonp_clickview_library_editor=window.webpackJsonp_clickview_library_editor||[]).push([[9],{1026:function(e,t,n){"use strict";n.d(t,"a",(function(){return d})),n.d(t,"k",(function(){return p})),n.d(t,"g",(function(){return m})),n.d(t,"e",(function(){return h})),n.d(t,"j",(function(){return b})),n.d(t,"i",(function(){return v})),n.d(t,"c",(function(){return E})),n.d(t,"b",(function(){return w})),n.d(t,"d",(function(){return R})),n.d(t,"f",(function(){return P})),n.d(t,"h",(function(){return y}));var r=n(2),i=n(1),o=n(19),a=n(29),u=n(3),s="libraryEditor.utils",c=["tags","thumbnail","chapters","resources","subtitles","disabled","links","restrictions","categories"];function l(e,t){if(e){var n=i.reduce(e,(function(e,n,r){var o=t[r];return n||o?i.isObject(n)&&i.isObject(o)&&!i.isUndefined(n.id)&&n.id===o.id?e:i.isArray(n)?f(n,o).length?e.concat(r):e:i.isEqual(n,o)?e:e.concat(r):e}),[]);if(n.length)return i.object(i.map(n,(function(n){return i.isArray(t[n])?[n,f(e[n],t[n])]:[n,t[n]]})))}}function f(e,t){var n=[];return i.each(t,(function(t){var r=i.findWhere(e,{id:t.id});if(!i.isUndefined(r)||0!==Object.keys(t).length){var o=i.isUndefined(r)?t:l(r,t);o&&(t.id<0&&!t.value||(!r||t.id<0?n.push(t):(o.id=t.id,n.push(o))))}})),n}var d={getChanges:function(e,t){var n=l(i.omit(e.toJSON(),c),i.omit(t.toJSON(),c));if(n)return i.object(i.map(i.keys(n),(function(e){return[e,d.formatChanges(e,n[e])]})))},formatChanges:function(e,t){if(!t)return null;if(i.isObject(t)&&i.isEmpty(t))return null;switch(e){case"name":case"description":case"productionYear":case"dateBroadcast":case"fields":case"episodeNumber":return t;case"channel":case"series":case"rating":case"season":return{id:t.id};case"distributors":case"producers":case"directors":case"productionCompanies":return i.map(t,(function(e){return e.id}));case"dateModified":case"hasBroadcast":return;default:r.a.ErrorHelper.throw(new o.a("There are no formatting settings for ".concat(e)))}},updateModelState:function(e,t,n){var o=["distributors","producers","directors","productionCompanies"];for(var a in i.each(i.keys(n),(function(e){o.includes(e)&&(n[e]=t.get(e).toJSON())})),t.set(i.clone(n),{silent:!0}),e.set(t.toJSON(),{silent:!0}),n){if(!n[a]&&e.associations[a]){var u=e.get(a);(u instanceof r.a.Model||u instanceof r.a.NestedModel)&&u.clear()}}},getRemovedObjectIds:function(e,t){var n=["distributors","productionCompanies","producers","directors"],r={};return i.each(i.keys(e.toJSON()),(function(o){if(i.contains(n,o)){var a=e.get(o).map((function(e){return e.id})),u=t.get(o).map((function(e){return e.id})),s=i.filter(a,(function(e){return e&&!i.contains(u,e)}));s.length&&(r[o]=s)}})),r}},p={name:[{required:!0,msg:function(){return u.a.getPhrase(s,"videoTitleRequired")}},{maxLength:255,msg:function(){return u.a.getPhrase(s,"videoTitleExceeds")}}],description:[{required:!1},{maxLength:65535,msg:function(){return u.a.getPhrase(s,"videoDescriptionExceeds")}}],episodeNumber:function(e,t,n){return e&&e<1?u.a.getPhrase(s,"episodeNumberLessThanOne"):e&&e>2147483647?u.a.getPhrase(s,"episodeNumberExceeds"):e%1!=0?u.a.getPhrase(s,"episodeNumberNotWhole"):n.season&&n.season.get("number")>=0&&null===e?u.a.getPhrase(s,"episodeNumberNoSeason"):""},season:function(e,t,n){return n.season&&n.season.get("number")||e&&e.number||!n.episodeNumber?"":u.a.getPhrase(s,"seasonNoEpisodeNumber")}},g=a().year(),h={productionYear:function(e,t,n){return e||0===e?(e=+e,isNaN(e)?"Production year must be a number.":e<1900||e>g?u.a.getPhrase(s,"validProductionYears",{currentYear:g}):void 0):""}},m={name:[{required:!0,msg:function(){return u.a.getPhrase(s,"resourceNameRequired")}}]},b={suggestion:[{required:!0,msg:function(){return u.a.getPhrase(s,"suggestEditRequired")}},{maxLength:65535,msg:function(){return u.a.getPhrase(s,"suggestEditExceeds")}}],reason:[{required:!0,msg:function(){return u.a.getPhrase(s,"suggestEditReasonRequired")}},{maxLength:65535,msg:function(){return u.a.getPhrase(s,"suggestEditReasonExceeds")}}]},y={number:function(e,t,n){return e?+e<1?u.a.getPhrase(s,"seasonLessThanOne"):+e>255?u.a.getPhrase(s,"seasonExceeds"):+e%1!=0?u.a.getPhrase(s,"seasonNotWhole"):"":u.a.getPhrase(s,"seasonRequired")}},v={empty:function(){return u.a.getPhrase(s,"suggestEditRatingRequired")},original:function(){return u.a.getPhrase(s,"suggestEditRatingInvalid")}},P={url:[{required:!0,pattern:"url",msg:function(){return u.a.getPhrase(s,"linkUrlRequired")}},{maxLength:65535,msg:function(){return u.a.getPhrase(s,"linkUrlExceeds")}}],name:[{required:!0,msg:function(){return u.a.getPhrase(s,"linkNameRequired")}},{maxLength:255,msg:function(){return u.a.getPhrase(s,"linkNameExceeds")}}]},E={name:[{maxLength:128,msg:function(){return u.a.getPhrase(s,"fieldNameExceeds")}}],value:[{maxLength:16e3,msg:function(){return u.a.getPhrase(s,"fieldValueExceeds")}}]},w={fields:function(e){return e&&e.length?e.all((function(e){return!1!==e.isValid()}))?"":u.a.getPhrase(s,"fieldsInvalid"):""}};function R(){return[{id:-1,name:"Admin Notes",value:"",placeholder:"Notes that only admins will see"}]}},1027:function(e,t,n){"use strict";var r=n(1033),i=n(1026),o=(n(1031),n(3),n(1034)),a=(n(1036),n(1032)),u=n(81),s={getVideoDownloadUrl:function(e,t){return u.a.safeUrlConcat(u.a.makeHttps(e),"/download?token=".concat(t))}};n.d(t,"a",(function(){return r.a})),n.d(t,"e",(function(){return i.g})),n.d(t,"h",(function(){return i.j})),n.d(t,"g",(function(){return i.i})),n.d(t,"d",(function(){return i.f})),n.d(t,"f",(function(){return i.h})),n.d(t,"c",(function(){return o.a})),n.d(t,"i",(function(){return a.a})),n.d(t,"b",(function(){return s}))},1031:function(e,t,n){"use strict";n.d(t,"a",(function(){return l}));var r=n(1),i=n(49),o=n(159),a=n(3),u="libraryEditor.utils",s={name:[{required:!0,msg:function(){return a.a.getPhrase(u,"folderNameRequired")}},{maxLength:255,msg:function(){return a.a.getPhrase(u,"folderNameExceeds")}}]},c=function(e,t){return{parentId:function(n){return n?i.a.calculateDestinationFolderDepth(e,n,t)>o.a.MAX_FOLDER_DEPTH?a.a.getPhrase(u,"maxFolderDepth",{maxDepth:o.a.MAX_FOLDER_DEPTH}):"":a.a.getPhrase(u,"selectParentFolder")}}},l=function(e){var t=e.validateName,n=e.validateParent,i=e.folder,o=e.collection;return t&&n?r.extend({},s,c(i,o)):t?s:n?c(i,o):void 0}},1032:function(e,t,n){"use strict";n.d(t,"a",(function(){return f}));var r=n(15),i=n(3),o=n(185),a=n(1044),u=n(6);function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var c,l="libraryEditor.utils";!function(e){e.Pdf="pdf",e.Image="image",e.PowerPoint="powerpoint",e.Document="document",e.Excel="excel",e.Zip="archive",e.File="text"}(c||(c={}));var f={mapRatingToClass:function(e){if(!e)return"";return function(e){switch(!0){case e<32:return"bg-purple";case e<48:return"bg-success";case e<80:return"bg-info";case e<96:return"bg-danger";case e<128:return"bg-pink";case e>=128:return"bg-warning";default:return""}}(e)},mapSourceToDisplayName:function(e){switch(e.get("type")){case u.h.HostedLibrary:case u.h.CustomLibrary:return e.get("name");case u.h.Exchange:return i.a.getPhrase(l,"exchange");case u.h.Workspace:return i.a.getPhrase(l,"workspace");default:return""}},mapSourceToClass:function(e){switch(e){case u.h.HostedLibrary:case u.h.CustomLibrary:return"bg-info";case u.h.Exchange:return"bg-success";case u.h.Workspace:default:return"bg-danger"}},isInteractive:function(e){return!(!e||!e.interactives)&&!!e.interactives.length},mapTypeToSvg:function(e){var t,n=(s(t={},c.Pdf,r.b.FilePDF),s(t,c.Image,r.b.FileImg),s(t,c.PowerPoint,r.b.FilePowerpoint),s(t,c.Document,r.b.FileWord),s(t,c.Excel,r.b.FileExcel),s(t,c.Zip,r.b.FileZip),s(t,c.File,r.b.File),t)[e];return n||(n=r.b.Folder),r.a.getSvg(n)},mapTypeToClass:function(e){switch(e){case c.Pdf:return"icon-red";case c.Image:return"icon-purple";case c.Document:return"icon-blue";case c.Excel:return"icon-green";case c.PowerPoint:return"icon-orange";case c.Zip:return"icon-teal";case c.File:return"icon-gray";default:return""}},mapTypeToExtension:function(e){if(!e)return"";return{pdf:"pdf",image:"png",powerpoint:"pptx"}[e.toLowerCase()]},mapTypeToName:function(e){if(!e)return"";switch(e){case c.Pdf:return i.a.getPhrase(l,"pdf");case c.Image:return i.a.getPhrase(l,"image");case c.Document:return i.a.getPhrase(l,"document");case c.Excel:return i.a.getPhrase(l,"spreadsheet");case c.PowerPoint:return i.a.getPhrase(l,"presentation");case c.Zip:return i.a.getPhrase(l,"zipArchive");case c.File:return i.a.getPhrase(l,"file");default:return""}},translateMetadataCollectionNames:function(e){return new a.a(e.map((function(e){return Object.assign(Object.assign({},e.toJSON()),{name:f.translateMetadataName(e.get("name"))})})))},translateMetadataName:function(e){var t="suggestEdit";switch(e){case o.e.VideoTitle:t+="VideoTitle";break;case o.e.Description:t+="Description";break;case o.e.Rating:t+="Rating";break;case o.e.SeriesTitle:t+="SeriesTitle";break;case o.e.Season:t+="SeasonNumber";break;case o.e.EpisodeNumber:t+="EpisodeNumber";break;case o.e.BroadcastDate:t+="BroadcastDate";break;case o.e.Channel:t+="Channel";break;case o.e.ProductionYear:t+="ProductionYear";break;case o.e.Distributors:t+="Distributors";break;case o.e.ProductionCompanies:t+="ProductionCompanies";break;case o.e.Directors:t+="Directors";break;case o.e.Producers:t+="Producers";break;case o.e.Other:t+="Other"}return i.a.getPhrase(l,t)}}},1033:function(e,t,n){"use strict";n.d(t,"a",(function(){return u}));var r=n(1),i=n(13),o=n(3),a="libraryEditor.utils",u={isValidChapterTime:function(e,t,n,o){if(o){if(!r.isNumber(t))return s.StartTime.Invalid();if(t<0)return s.StartTime.Invalid();if(t>i.w.millisecondsToSeconds(n))return s.StartTime.Exceeds();if(o.some((function(n){return!(n.id&&n.id===e.id||n.cid===e.cid)&&n.get("startTime")===t})))return s.StartTime.Exists()}},isValidChapterName:function(e,t,n){return t?t.length>255?s.Name.MaxLength():n.some((function(n){return!(n.id&&n.id===e.id||n.cid===e.cid)&&n.get("name").trim()===t.trim()}))?s.Name.Exists():r.isEmpty(t.trim())?s.Name.Invalid():void 0:s.Name.Invalid()},mapPhysicalChapters:function(e){var t=0;return r.map(e,(function(e,n){var r={name:e.title,startTime:t,index:n,isPhysicalChapter:!0};return t+=e.duration,r}))}},s={Name:{Invalid:function(){return o.a.getPhrase(a,"chapterNameInvalid")},Exists:function(){return o.a.getPhrase(a,"chapterNameExists")},MaxLength:function(){return o.a.getPhrase(a,"chapterNameExceeds")}},StartTime:{Invalid:function(){return o.a.getPhrase(a,"chapterStartTimeInvalid")},Exists:function(){return o.a.getPhrase(a,"chapterStartTimeExists")},Exceeds:function(){return o.a.getPhrase(a,"chapterStartTimeExceeds")}}}},1034:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(3),i="libraryEditor.utils",o={name:[{required:!0,msg:function(){return r.a.getPhrase(i,"libraryNameRequired")}},{maxLength:255,msg:function(){return r.a.getPhrase(i,"libraryNameExceeds")}}]}},1036:function(e,t,n){"use strict";n.d(t,"a",(function(){return u}));var r=n(29),i=n(3),o=n(1026),a="libraryEditor.utils",u=(r().year(),{name:[{required:!0,msg:function(){return i.a.getPhrase(a,"videoTitleRequired")}}],folderId:[{required:!0,msg:function(){return i.a.getPhrase(a,"uploadFolderRequired")}}],libraryId:[{required:!0,msg:"Please select an upload library"}],episodeNumber:function(e,t,n){return e&&e<1?"Videos cannot have an episode number less than 1":e&&e>255?"Videos cannot have an episode number greater than 255":e&&e%1!=0?"Episode numbers can only be whole numbers":n.season&&n.season.get("number")>=0&&null===e?"Videos with a season must also have an episode number":""},season:function(e,t,n){return n.season&&n.season.get("number")||e&&e.number||!n.episodeNumber?"":"Videos with an episode number must also have a season"},productionYear:function(){return o.e.productionYear.apply(null,arguments)}})},1044:function(e,t,n){"use strict";function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){return(o=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function a(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=s(e);if(t){var i=s(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return u(this,n)}}function u(e,t){return!t||"object"!==r(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function s(e){return(s=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}n.d(t,"a",(function(){return c}));var c=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&o(e,t)}(n,e);var t=a(n);function n(){return i(this,n),t.apply(this,arguments)}return n}(n(2).a.Collection)},1089:function(e,t,n){e.exports={requiredStar:"_3S5iJ",disabled:"_3iZQ5",formGroup:"B4xS9",suggestEdit:"_3n3sM",programTitle:"_3bWJB",description:"_3qayV",seriesTitle:"_3ojjo",broadcastDate:"_2hA-0",channel:"_1SMGG",rating:"_3AkUv",productionYear:"_1DYCl",distributors:"_2CbiR",productionCompanies:"_3hB5o",directors:"ksEaA",producers:"h7P2B",episodeNumber:"_3fMUg",seasonNumber:"GwqaB",icon:"quxL2",infoSvgContainer:"_18UDY"}},1185:function(e,t,n){e.exports={selectRating:"_1I6jj",removeRating:"_1ze5G",disabled:"_2hO8J",disabledSelected:"mnQ5O"}},1188:function(e,t,n){"use strict";var r=n(1),i=n(7),o=n(2),a=n(134),u=n(407),s=n(1240),c=n.n(s),l=n(1185),f=n.n(l);function d(e){return(d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function p(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function g(e,t){return(g=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function h(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=b(e);if(t){var i=b(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return m(this,n)}}function m(e,t){return!t||"object"!==d(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function b(e){return(b=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var y=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&g(e,t)}(u,e);var t,n,r,o=h(u);function u(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,u),o.call(this,e)}return t=u,(n=[{key:"events",value:function(){return{click:"onClick"}}},{key:"onClick",value:function(e){this.options.editable&&i.Radio.channel(this.options.channelName).trigger("select:rating",this.model)}},{key:"onRender",value:function(){this.resetClassName()}},{key:"name",get:function(){return"SelectRatingItemComponent"}},{key:"template",get:function(){return c.a}},{key:"tagName",get:function(){return"li"}},{key:"attributes",get:function(){return{title:this.options.editable?this.model.get("name"):""}}},{key:"className",get:function(){var e="";return e+="btn ".concat(this.options.editable?"btn-light":"".concat(f.a.disabled)),this.model.get("selected")&&(e+=this.options.editable?" active":" ".concat(f.a.disabledSelected)),e}},{key:"behaviors",get:function(){var e=this.options.editable?this.options.model.get("name"):"";return[{behaviorClass:a.a,title:e}]}}])&&p(t.prototype,n),r&&p(t,r),u}(o.a.Component);function v(e){return(v="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function P(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function E(e,t){return(E=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function w(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=k(e);if(t){var i=k(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return R(this,n)}}function R(e,t){return!t||"object"!==v(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function k(e){return(k=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var x=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&E(e,t)}(o,e);var t,n,r,i=w(o);function o(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,o),i.call(this,e)}return t=o,(n=[{key:"name",get:function(){return"SelectRatingCollectionComponent"}},{key:"tagName",get:function(){return"ul"}},{key:"className",get:function(){return"rating-group btn-group p-0 m-0"}},{key:"childView",get:function(){return y}},{key:"childViewOptions",get:function(){return{channelName:this.options.channelName,currentRatingId:this.options.currentRatingId,editable:this.options.editable}}}])&&P(t.prototype,n),r&&P(t,r),o}(o.a.ComponentCollection),S=n(13),N=n(3),C=n(0),O=n(185),_=n(1241),T=n.n(_),j=n(1089),D=n.n(j);function I(e){return(I="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function q(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function L(e,t){return(L=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function F(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=V(e);if(t){var i=V(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return M(this,n)}}function M(e,t){return!t||"object"!==I(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function V(e){return(V=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}n.d(t,"a",(function(){return J}));var J=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&L(e,t)}(c,e);var t,n,o,s=F(c);function c(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),s.call(this,e)}return t=c,(n=[{key:"events",value:function(){return{"click .remove-rating":"onRemoveRating"}}},{key:"regions",value:function(){return{ratings:{el:".ratings-region",replaceElement:!0}}}},{key:"initialize",value:function(){this.setViewCollection(),this.setCurrentRating(this.model),this.bindListeners()}},{key:"bindListeners",value:function(){this.listenTo(this.channelName,"select:rating",this.onRatingSelected)}},{key:"setCurrentRating",value:function(e){S.l.setRating(e,this.viewCollection)}},{key:"onRatingSelected",value:function(e){this.setCurrentRating(e);var t=S.c.getSelected(this.viewCollection);this.updateRating(t)}},{key:"onRemoveRating",value:function(e){e.preventDefault(),this.$(".remove-rating").tooltip("dispose"),this.setCurrentRating(null);var t=this.collection.findWhere({value:0});return this.updateRating(t),!1}},{key:"updateRating",value:function(e){i.Radio.channel(this.options.parentChannelName).trigger("select:rating",e),this.render()}},{key:"setViewCollection",value:function(){var e=r.filter(this.collection.toJSON(),(function(e){return 0!==e.value}));return this.viewCollection=new u.a(e)}},{key:"viewOptions",value:function(){var e=S.c.getSelected(this.viewCollection);return{styles:r.extend(D.a,f.a),showRemove:!this.options.hideRemove&&e&&this.options.editable,editable:this.options.editable,hideHeaderText:this.options.hideHeaderText}}},{key:"renderRatingCollectionComponent",value:function(){this.showChildView("ratings",new x({collection:this.viewCollection,channelName:this.channelName,editable:this.options.editable}))}},{key:"onRender",value:function(){this.renderRatingCollectionComponent()}},{key:"name",get:function(){return"SelectRatingComponent"}},{key:"channelName",get:function(){return"".concat(this.name).concat(this.cid)}},{key:"lang",get:function(){return"shared.selectRating"}},{key:"template",get:function(){return T.a}},{key:"behaviors",get:function(){return[{behaviorClass:a.a,selector:".remove-rating",title:N.a.getPhrase(this.lang,"removeTooltip")}]}},{key:"appLinks",get:function(){return{".suggest-rating":{application:C.b.LIBRARY_EDITOR,action:C.a.LibraryEditor.SUGGEST_AN_EDIT,args:[this.options.videoId],params:{metadata:O.e.Rating}}}}},{key:"defaults",get:function(){return{editable:!0}}}])&&q(t.prototype,n),o&&q(t,o),c}(o.a.Component)},1240:function(e,t,n){var r=n(10);e.exports=(r.default||r).template({compiler:[8,">= 4.3.0"],main:function(e,t,n,r,i){var o;e.propertyIsEnumerable;return"\r\n"+e.escapeExpression("function"==typeof(o=null!=(o=n.code||(null!=t?t.code:t))?o:e.hooks.helperMissing)?o.call(null!=t?t:e.nullContext||{},{name:"code",hash:{},data:i}):o)},useData:!0})},1241:function(e,t,n){var r=n(10);e.exports=(r.default||r).template({1:function(e,t,n,r,i){e.propertyIsEnumerable;var o,a=null!=t?t:e.nullContext||{};return' <label class="'+(null!=(o=n.unless.call(a,null!=(o=null!=t?t.options:t)?o.editable:o,{name:"unless",hash:{},fn:e.program(2,i,0),inverse:e.noop,data:i}))?o:"")+'">'+e.escapeExpression((n.lang||t&&t.lang||e.hooks.helperMissing).call(a,"rating",{name:"lang",hash:{},data:i}))+"</label>\r\n "+(null!=(o=n.unless.call(a,null!=(o=null!=t?t.options:t)?o.editable:o,{name:"unless",hash:{},fn:e.program(4,i,0),inverse:e.noop,data:i}))?o:"")+"\r\n"},2:function(e,t,n,r,i){return"d-inline-block"},4:function(e,t,n,r,i){e.propertyIsEnumerable;var o,a=e.escapeExpression;return'<span class="'+a(e.lambda(null!=(o=null!=(o=null!=t?t.options:t)?o.styles:o)?o.suggestEdit:o,t))+'">- <a class="suggest-rating">'+a((n.lang||t&&t.lang||e.hooks.helperMissing).call(null!=t?t:e.nullContext||{},"suggestEdit",{name:"lang",hash:{},data:i}))+"</a></span><br>"},6:function(e,t,n,r,i){e.propertyIsEnumerable;var o,a=e.escapeExpression;return'<span class="text-muted mx-2 remove-rating '+a(e.lambda(null!=(o=null!=(o=null!=t?t.options:t)?o.styles:o)?o.removeRating:o,t))+'">'+a((n.lang||t&&t.lang||e.hooks.helperMissing).call(null!=t?t:e.nullContext||{},"remove",{name:"lang",hash:{},data:i}))+"</span>"},compiler:[8,">= 4.3.0"],main:function(e,t,n,r,i){e.propertyIsEnumerable;var o,a=e.lambda,u=e.escapeExpression,s=null!=t?t:e.nullContext||{};return'<div class="edit-rating form-group '+u(a(null!=(o=null!=(o=null!=t?t.options:t)?o.styles:o)?o.selectRating:o,t))+" "+u(a(null!=(o=null!=(o=null!=t?t.options:t)?o.styles:o)?o.rating:o,t))+'">\r\n'+(null!=(o=n.unless.call(s,null!=(o=null!=t?t.options:t)?o.hideHeaderText:o,{name:"unless",hash:{},fn:e.program(1,i,0),inverse:e.noop,data:i}))?o:"")+' <div>\r\n <div class="ratings-region" name="rating"></div>\r\n '+(null!=(o=n.if.call(s,null!=(o=null!=t?t.options:t)?o.showRemove:o,{name:"if",hash:{},fn:e.program(6,i,0),inverse:e.noop,data:i}))?o:"")+'\r\n <div class="form-feedback"></div>\r\n </div>\r\n</div>'},useData:!0})}}]);
1
+ (window.webpackJsonp_clickview_library_editor=window.webpackJsonp_clickview_library_editor||[]).push([[9],{1014:function(e,t,n){"use strict";n.d(t,"a",(function(){return d})),n.d(t,"k",(function(){return p})),n.d(t,"g",(function(){return m})),n.d(t,"e",(function(){return h})),n.d(t,"j",(function(){return b})),n.d(t,"i",(function(){return v})),n.d(t,"c",(function(){return E})),n.d(t,"b",(function(){return w})),n.d(t,"d",(function(){return R})),n.d(t,"f",(function(){return P})),n.d(t,"h",(function(){return y}));var r=n(2),i=n(1),o=n(18),a=n(27),u=n(3),s="libraryEditor.utils",c=["tags","thumbnail","chapters","resources","subtitles","disabled","links","restrictions","categories"];function l(e,t){if(e){var n=i.reduce(e,(function(e,n,r){var o=t[r];return n||o?i.isObject(n)&&i.isObject(o)&&!i.isUndefined(n.id)&&n.id===o.id?e:i.isArray(n)?f(n,o).length?e.concat(r):e:i.isEqual(n,o)?e:e.concat(r):e}),[]);if(n.length)return i.object(i.map(n,(function(n){return i.isArray(t[n])?[n,f(e[n],t[n])]:[n,t[n]]})))}}function f(e,t){var n=[];return i.each(t,(function(t){var r=i.findWhere(e,{id:t.id});if(!i.isUndefined(r)||0!==Object.keys(t).length){var o=i.isUndefined(r)?t:l(r,t);o&&(t.id<0&&!t.value||(!r||t.id<0?n.push(t):(o.id=t.id,n.push(o))))}})),n}var d={getChanges:function(e,t){var n=l(i.omit(e.toJSON(),c),i.omit(t.toJSON(),c));if(n)return i.object(i.map(i.keys(n),(function(e){return[e,d.formatChanges(e,n[e])]})))},formatChanges:function(e,t){if(!t)return null;if(i.isObject(t)&&i.isEmpty(t))return null;switch(e){case"name":case"description":case"productionYear":case"dateBroadcast":case"fields":case"episodeNumber":return t;case"channel":case"series":case"rating":case"season":return{id:t.id};case"distributors":case"producers":case"directors":case"productionCompanies":return i.map(t,(function(e){return e.id}));case"dateModified":case"hasBroadcast":return;default:r.a.ErrorHelper.throw(new o.a("There are no formatting settings for ".concat(e)))}},updateModelState:function(e,t,n){var o=["distributors","producers","directors","productionCompanies"];for(var a in i.each(i.keys(n),(function(e){o.includes(e)&&(n[e]=t.get(e).toJSON())})),t.set(i.clone(n),{silent:!0}),e.set(t.toJSON(),{silent:!0}),n){if(!n[a]&&e.associations[a]){var u=e.get(a);(u instanceof r.a.Model||u instanceof r.a.NestedModel)&&u.clear()}}},getRemovedObjectIds:function(e,t){var n=["distributors","productionCompanies","producers","directors"],r={};return i.each(i.keys(e.toJSON()),(function(o){if(i.contains(n,o)){var a=e.get(o).map((function(e){return e.id})),u=t.get(o).map((function(e){return e.id})),s=i.filter(a,(function(e){return e&&!i.contains(u,e)}));s.length&&(r[o]=s)}})),r}},p={name:[{required:!0,msg:function(){return u.a.getPhrase(s,"videoTitleRequired")}},{maxLength:255,msg:function(){return u.a.getPhrase(s,"videoTitleExceeds")}}],description:[{required:!1},{maxLength:65535,msg:function(){return u.a.getPhrase(s,"videoDescriptionExceeds")}}],episodeNumber:function(e,t,n){return e&&e<1?u.a.getPhrase(s,"episodeNumberLessThanOne"):e&&e>2147483647?u.a.getPhrase(s,"episodeNumberExceeds"):e%1!=0?u.a.getPhrase(s,"episodeNumberNotWhole"):n.season&&n.season.get("number")>=0&&null===e?u.a.getPhrase(s,"episodeNumberNoSeason"):""},season:function(e,t,n){return n.season&&n.season.get("number")||e&&e.number||!n.episodeNumber?"":u.a.getPhrase(s,"seasonNoEpisodeNumber")}},g=a().year(),h={productionYear:function(e,t,n){return e||0===e?(e=+e,isNaN(e)?"Production year must be a number.":e<1900||e>g?u.a.getPhrase(s,"validProductionYears",{currentYear:g}):void 0):""}},m={name:[{required:!0,msg:function(){return u.a.getPhrase(s,"resourceNameRequired")}}]},b={suggestion:[{required:!0,msg:function(){return u.a.getPhrase(s,"suggestEditRequired")}},{maxLength:65535,msg:function(){return u.a.getPhrase(s,"suggestEditExceeds")}}],reason:[{required:!0,msg:function(){return u.a.getPhrase(s,"suggestEditReasonRequired")}},{maxLength:65535,msg:function(){return u.a.getPhrase(s,"suggestEditReasonExceeds")}}]},y={number:function(e,t,n){return e?+e<1?u.a.getPhrase(s,"seasonLessThanOne"):+e>255?u.a.getPhrase(s,"seasonExceeds"):+e%1!=0?u.a.getPhrase(s,"seasonNotWhole"):"":u.a.getPhrase(s,"seasonRequired")}},v={empty:function(){return u.a.getPhrase(s,"suggestEditRatingRequired")},original:function(){return u.a.getPhrase(s,"suggestEditRatingInvalid")}},P={url:[{required:!0,pattern:"url",msg:function(){return u.a.getPhrase(s,"linkUrlRequired")}},{maxLength:65535,msg:function(){return u.a.getPhrase(s,"linkUrlExceeds")}}],name:[{required:!0,msg:function(){return u.a.getPhrase(s,"linkNameRequired")}},{maxLength:255,msg:function(){return u.a.getPhrase(s,"linkNameExceeds")}}]},E={name:[{maxLength:128,msg:function(){return u.a.getPhrase(s,"fieldNameExceeds")}}],value:[{maxLength:16e3,msg:function(){return u.a.getPhrase(s,"fieldValueExceeds")}}]},w={fields:function(e){return e&&e.length?e.all((function(e){return!1!==e.isValid()}))?"":u.a.getPhrase(s,"fieldsInvalid"):""}};function R(){return[{id:-1,name:"Admin Notes",value:"",placeholder:"Notes that only admins will see"}]}},1015:function(e,t,n){"use strict";var r=n(1021),i=n(1014),o=(n(1019),n(3),n(1022)),a=(n(1024),n(1020)),u=n(89),s={getVideoDownloadUrl:function(e,t){return u.a.safeUrlConcat(u.a.makeHttps(e),"/download?token=".concat(t))}};n.d(t,"a",(function(){return r.a})),n.d(t,"e",(function(){return i.g})),n.d(t,"h",(function(){return i.j})),n.d(t,"g",(function(){return i.i})),n.d(t,"d",(function(){return i.f})),n.d(t,"f",(function(){return i.h})),n.d(t,"c",(function(){return o.a})),n.d(t,"i",(function(){return a.a})),n.d(t,"b",(function(){return s}))},1019:function(e,t,n){"use strict";n.d(t,"a",(function(){return l}));var r=n(1),i=n(47),o=n(153),a=n(3),u="libraryEditor.utils",s={name:[{required:!0,msg:function(){return a.a.getPhrase(u,"folderNameRequired")}},{maxLength:255,msg:function(){return a.a.getPhrase(u,"folderNameExceeds")}}]},c=function(e,t){return{parentId:function(n){return n?i.a.calculateDestinationFolderDepth(e,n,t)>o.a.MAX_FOLDER_DEPTH?a.a.getPhrase(u,"maxFolderDepth",{maxDepth:o.a.MAX_FOLDER_DEPTH}):"":a.a.getPhrase(u,"selectParentFolder")}}},l=function(e){var t=e.validateName,n=e.validateParent,i=e.folder,o=e.collection;return t&&n?r.extend({},s,c(i,o)):t?s:n?c(i,o):void 0}},1020:function(e,t,n){"use strict";n.d(t,"a",(function(){return f}));var r=n(14),i=n(3),o=n(179),a=n(1032),u=n(6);function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var c,l="libraryEditor.utils";!function(e){e.Pdf="pdf",e.Image="image",e.PowerPoint="powerpoint",e.Document="document",e.Excel="excel",e.Zip="archive",e.File="text"}(c||(c={}));var f={mapRatingToClass:function(e){if(!e)return"";return function(e){switch(!0){case e<32:return"bg-purple";case e<48:return"bg-success";case e<80:return"bg-info";case e<96:return"bg-danger";case e<128:return"bg-pink";case e>=128:return"bg-warning";default:return""}}(e)},mapSourceToDisplayName:function(e){switch(e.get("type")){case u.h.HostedLibrary:case u.h.CustomLibrary:return e.get("name");case u.h.Exchange:return i.a.getPhrase(l,"exchange");case u.h.Workspace:return i.a.getPhrase(l,"workspace");default:return""}},mapSourceToClass:function(e){switch(e){case u.h.HostedLibrary:case u.h.CustomLibrary:return"bg-info";case u.h.Exchange:return"bg-success";case u.h.Workspace:default:return"bg-danger"}},isInteractive:function(e){return!(!e||!e.interactives)&&!!e.interactives.length},mapTypeToSvg:function(e){var t,n=(s(t={},c.Pdf,r.b.FilePDF),s(t,c.Image,r.b.FileImg),s(t,c.PowerPoint,r.b.FilePowerpoint),s(t,c.Document,r.b.FileWord),s(t,c.Excel,r.b.FileExcel),s(t,c.Zip,r.b.FileZip),s(t,c.File,r.b.File),t)[e];return n||(n=r.b.Folder),r.a.getSvg(n)},mapTypeToClass:function(e){switch(e){case c.Pdf:return"icon-red";case c.Image:return"icon-purple";case c.Document:return"icon-blue";case c.Excel:return"icon-green";case c.PowerPoint:return"icon-orange";case c.Zip:return"icon-teal";case c.File:return"icon-gray";default:return""}},mapTypeToExtension:function(e){if(!e)return"";return{pdf:"pdf",image:"png",powerpoint:"pptx"}[e.toLowerCase()]},mapTypeToName:function(e){if(!e)return"";switch(e){case c.Pdf:return i.a.getPhrase(l,"pdf");case c.Image:return i.a.getPhrase(l,"image");case c.Document:return i.a.getPhrase(l,"document");case c.Excel:return i.a.getPhrase(l,"spreadsheet");case c.PowerPoint:return i.a.getPhrase(l,"presentation");case c.Zip:return i.a.getPhrase(l,"zipArchive");case c.File:return i.a.getPhrase(l,"file");default:return""}},translateMetadataCollectionNames:function(e){return new a.a(e.map((function(e){return Object.assign(Object.assign({},e.toJSON()),{name:f.translateMetadataName(e.get("name"))})})))},translateMetadataName:function(e){var t="suggestEdit";switch(e){case o.e.VideoTitle:t+="VideoTitle";break;case o.e.Description:t+="Description";break;case o.e.Rating:t+="Rating";break;case o.e.SeriesTitle:t+="SeriesTitle";break;case o.e.Season:t+="SeasonNumber";break;case o.e.EpisodeNumber:t+="EpisodeNumber";break;case o.e.BroadcastDate:t+="BroadcastDate";break;case o.e.Channel:t+="Channel";break;case o.e.ProductionYear:t+="ProductionYear";break;case o.e.Distributors:t+="Distributors";break;case o.e.ProductionCompanies:t+="ProductionCompanies";break;case o.e.Directors:t+="Directors";break;case o.e.Producers:t+="Producers";break;case o.e.Other:t+="Other"}return i.a.getPhrase(l,t)}}},1021:function(e,t,n){"use strict";n.d(t,"a",(function(){return u}));var r=n(1),i=n(12),o=n(3),a="libraryEditor.utils",u={isValidChapterTime:function(e,t,n,o){if(o){if(!r.isNumber(t))return s.StartTime.Invalid();if(t<0)return s.StartTime.Invalid();if(t>i.w.millisecondsToSeconds(n))return s.StartTime.Exceeds();if(o.some((function(n){return!(n.id&&n.id===e.id||n.cid===e.cid)&&n.get("startTime")===t})))return s.StartTime.Exists()}},isValidChapterName:function(e,t,n){return t?t.length>255?s.Name.MaxLength():n.some((function(n){return!(n.id&&n.id===e.id||n.cid===e.cid)&&n.get("name").trim()===t.trim()}))?s.Name.Exists():r.isEmpty(t.trim())?s.Name.Invalid():void 0:s.Name.Invalid()},mapPhysicalChapters:function(e){var t=0;return r.map(e,(function(e,n){var r={name:e.title,startTime:t,index:n,isPhysicalChapter:!0};return t+=e.duration,r}))}},s={Name:{Invalid:function(){return o.a.getPhrase(a,"chapterNameInvalid")},Exists:function(){return o.a.getPhrase(a,"chapterNameExists")},MaxLength:function(){return o.a.getPhrase(a,"chapterNameExceeds")}},StartTime:{Invalid:function(){return o.a.getPhrase(a,"chapterStartTimeInvalid")},Exists:function(){return o.a.getPhrase(a,"chapterStartTimeExists")},Exceeds:function(){return o.a.getPhrase(a,"chapterStartTimeExceeds")}}}},1022:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(3),i="libraryEditor.utils",o={name:[{required:!0,msg:function(){return r.a.getPhrase(i,"libraryNameRequired")}},{maxLength:255,msg:function(){return r.a.getPhrase(i,"libraryNameExceeds")}}]}},1024:function(e,t,n){"use strict";n.d(t,"a",(function(){return u}));var r=n(27),i=n(3),o=n(1014),a="libraryEditor.utils",u=(r().year(),{name:[{required:!0,msg:function(){return i.a.getPhrase(a,"videoTitleRequired")}}],folderId:[{required:!0,msg:function(){return i.a.getPhrase(a,"uploadFolderRequired")}}],libraryId:[{required:!0,msg:"Please select an upload library"}],episodeNumber:function(e,t,n){return e&&e<1?"Videos cannot have an episode number less than 1":e&&e>255?"Videos cannot have an episode number greater than 255":e&&e%1!=0?"Episode numbers can only be whole numbers":n.season&&n.season.get("number")>=0&&null===e?"Videos with a season must also have an episode number":""},season:function(e,t,n){return n.season&&n.season.get("number")||e&&e.number||!n.episodeNumber?"":"Videos with an episode number must also have a season"},productionYear:function(){return o.e.productionYear.apply(null,arguments)}})},1032:function(e,t,n){"use strict";function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){return(o=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function a(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=s(e);if(t){var i=s(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return u(this,n)}}function u(e,t){return!t||"object"!==r(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function s(e){return(s=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}n.d(t,"a",(function(){return c}));var c=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&o(e,t)}(n,e);var t=a(n);function n(){return i(this,n),t.apply(this,arguments)}return n}(n(2).a.Collection)},1077:function(e,t,n){e.exports={requiredStar:"_3S5iJ",disabled:"_3iZQ5",formGroup:"B4xS9",suggestEdit:"_3n3sM",programTitle:"_3bWJB",description:"_3qayV",seriesTitle:"_3ojjo",broadcastDate:"_2hA-0",channel:"_1SMGG",rating:"_3AkUv",productionYear:"_1DYCl",distributors:"_2CbiR",productionCompanies:"_3hB5o",directors:"ksEaA",producers:"h7P2B",episodeNumber:"_3fMUg",seasonNumber:"GwqaB",icon:"quxL2",infoSvgContainer:"_18UDY"}},1173:function(e,t,n){e.exports={selectRating:"_1I6jj",removeRating:"_1ze5G",disabled:"_2hO8J",disabledSelected:"mnQ5O"}},1176:function(e,t,n){"use strict";var r=n(1),i=n(7),o=n(2),a=n(128),u=n(400),s=n(1228),c=n.n(s),l=n(1173),f=n.n(l);function d(e){return(d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function p(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function g(e,t){return(g=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function h(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=b(e);if(t){var i=b(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return m(this,n)}}function m(e,t){return!t||"object"!==d(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function b(e){return(b=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var y=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&g(e,t)}(u,e);var t,n,r,o=h(u);function u(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,u),o.call(this,e)}return t=u,(n=[{key:"events",value:function(){return{click:"onClick"}}},{key:"onClick",value:function(e){this.options.editable&&i.Radio.channel(this.options.channelName).trigger("select:rating",this.model)}},{key:"onRender",value:function(){this.resetClassName()}},{key:"name",get:function(){return"SelectRatingItemComponent"}},{key:"template",get:function(){return c.a}},{key:"tagName",get:function(){return"li"}},{key:"attributes",get:function(){return{title:this.options.editable?this.model.get("name"):""}}},{key:"className",get:function(){var e="";return e+="btn ".concat(this.options.editable?"btn-light":"".concat(f.a.disabled)),this.model.get("selected")&&(e+=this.options.editable?" active":" ".concat(f.a.disabledSelected)),e}},{key:"behaviors",get:function(){var e=this.options.editable?this.options.model.get("name"):"";return[{behaviorClass:a.a,title:e}]}}])&&p(t.prototype,n),r&&p(t,r),u}(o.a.Component);function v(e){return(v="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function P(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function E(e,t){return(E=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function w(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=k(e);if(t){var i=k(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return R(this,n)}}function R(e,t){return!t||"object"!==v(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function k(e){return(k=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var x=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&E(e,t)}(o,e);var t,n,r,i=w(o);function o(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,o),i.call(this,e)}return t=o,(n=[{key:"name",get:function(){return"SelectRatingCollectionComponent"}},{key:"tagName",get:function(){return"ul"}},{key:"className",get:function(){return"rating-group btn-group p-0 m-0"}},{key:"childView",get:function(){return y}},{key:"childViewOptions",get:function(){return{channelName:this.options.channelName,currentRatingId:this.options.currentRatingId,editable:this.options.editable}}}])&&P(t.prototype,n),r&&P(t,r),o}(o.a.ComponentCollection),S=n(12),N=n(3),C=n(0),O=n(179),_=n(1229),T=n.n(_),j=n(1077),D=n.n(j);function I(e){return(I="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function q(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function L(e,t){return(L=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function F(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=V(e);if(t){var i=V(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return M(this,n)}}function M(e,t){return!t||"object"!==I(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function V(e){return(V=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}n.d(t,"a",(function(){return J}));var J=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&L(e,t)}(c,e);var t,n,o,s=F(c);function c(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),s.call(this,e)}return t=c,(n=[{key:"events",value:function(){return{"click .remove-rating":"onRemoveRating"}}},{key:"regions",value:function(){return{ratings:{el:".ratings-region",replaceElement:!0}}}},{key:"initialize",value:function(){this.setViewCollection(),this.setCurrentRating(this.model),this.bindListeners()}},{key:"bindListeners",value:function(){this.listenTo(this.channelName,"select:rating",this.onRatingSelected)}},{key:"setCurrentRating",value:function(e){S.l.setRating(e,this.viewCollection)}},{key:"onRatingSelected",value:function(e){this.setCurrentRating(e);var t=S.c.getSelected(this.viewCollection);this.updateRating(t)}},{key:"onRemoveRating",value:function(e){e.preventDefault(),this.$(".remove-rating").tooltip("dispose"),this.setCurrentRating(null);var t=this.collection.findWhere({value:0});return this.updateRating(t),!1}},{key:"updateRating",value:function(e){i.Radio.channel(this.options.parentChannelName).trigger("select:rating",e),this.render()}},{key:"setViewCollection",value:function(){var e=r.filter(this.collection.toJSON(),(function(e){return 0!==e.value}));return this.viewCollection=new u.a(e)}},{key:"viewOptions",value:function(){var e=S.c.getSelected(this.viewCollection);return{styles:r.extend(D.a,f.a),showRemove:!this.options.hideRemove&&e&&this.options.editable,editable:this.options.editable,hideHeaderText:this.options.hideHeaderText}}},{key:"renderRatingCollectionComponent",value:function(){this.showChildView("ratings",new x({collection:this.viewCollection,channelName:this.channelName,editable:this.options.editable}))}},{key:"onRender",value:function(){this.renderRatingCollectionComponent()}},{key:"name",get:function(){return"SelectRatingComponent"}},{key:"channelName",get:function(){return"".concat(this.name).concat(this.cid)}},{key:"lang",get:function(){return"shared.selectRating"}},{key:"template",get:function(){return T.a}},{key:"behaviors",get:function(){return[{behaviorClass:a.a,selector:".remove-rating",title:N.a.getPhrase(this.lang,"removeTooltip")}]}},{key:"appLinks",get:function(){return{".suggest-rating":{application:C.b.LIBRARY_EDITOR,action:C.a.LibraryEditor.SUGGEST_AN_EDIT,args:[this.options.videoId],params:{metadata:O.e.Rating}}}}},{key:"defaults",get:function(){return{editable:!0}}}])&&q(t.prototype,n),o&&q(t,o),c}(o.a.Component)},1228:function(e,t,n){var r=n(9);e.exports=(r.default||r).template({compiler:[8,">= 4.3.0"],main:function(e,t,n,r,i){var o;e.propertyIsEnumerable;return"\r\n"+e.escapeExpression("function"==typeof(o=null!=(o=n.code||(null!=t?t.code:t))?o:e.hooks.helperMissing)?o.call(null!=t?t:e.nullContext||{},{name:"code",hash:{},data:i}):o)},useData:!0})},1229:function(e,t,n){var r=n(9);e.exports=(r.default||r).template({1:function(e,t,n,r,i){e.propertyIsEnumerable;var o,a=null!=t?t:e.nullContext||{};return' <label class="'+(null!=(o=n.unless.call(a,null!=(o=null!=t?t.options:t)?o.editable:o,{name:"unless",hash:{},fn:e.program(2,i,0),inverse:e.noop,data:i}))?o:"")+'">'+e.escapeExpression((n.lang||t&&t.lang||e.hooks.helperMissing).call(a,"rating",{name:"lang",hash:{},data:i}))+"</label>\r\n "+(null!=(o=n.unless.call(a,null!=(o=null!=t?t.options:t)?o.editable:o,{name:"unless",hash:{},fn:e.program(4,i,0),inverse:e.noop,data:i}))?o:"")+"\r\n"},2:function(e,t,n,r,i){return"d-inline-block"},4:function(e,t,n,r,i){e.propertyIsEnumerable;var o,a=e.escapeExpression;return'<span class="'+a(e.lambda(null!=(o=null!=(o=null!=t?t.options:t)?o.styles:o)?o.suggestEdit:o,t))+'">- <a class="suggest-rating">'+a((n.lang||t&&t.lang||e.hooks.helperMissing).call(null!=t?t:e.nullContext||{},"suggestEdit",{name:"lang",hash:{},data:i}))+"</a></span><br>"},6:function(e,t,n,r,i){e.propertyIsEnumerable;var o,a=e.escapeExpression;return'<span class="text-muted mx-2 remove-rating '+a(e.lambda(null!=(o=null!=(o=null!=t?t.options:t)?o.styles:o)?o.removeRating:o,t))+'">'+a((n.lang||t&&t.lang||e.hooks.helperMissing).call(null!=t?t:e.nullContext||{},"remove",{name:"lang",hash:{},data:i}))+"</span>"},compiler:[8,">= 4.3.0"],main:function(e,t,n,r,i){e.propertyIsEnumerable;var o,a=e.lambda,u=e.escapeExpression,s=null!=t?t:e.nullContext||{};return'<div class="edit-rating form-group '+u(a(null!=(o=null!=(o=null!=t?t.options:t)?o.styles:o)?o.selectRating:o,t))+" "+u(a(null!=(o=null!=(o=null!=t?t.options:t)?o.styles:o)?o.rating:o,t))+'">\r\n'+(null!=(o=n.unless.call(s,null!=(o=null!=t?t.options:t)?o.hideHeaderText:o,{name:"unless",hash:{},fn:e.program(1,i,0),inverse:e.noop,data:i}))?o:"")+' <div>\r\n <div class="ratings-region" name="rating"></div>\r\n '+(null!=(o=n.if.call(s,null!=(o=null!=t?t.options:t)?o.showRemove:o,{name:"if",hash:{},fn:e.program(6,i,0),inverse:e.noop,data:i}))?o:"")+'\r\n <div class="form-feedback"></div>\r\n </div>\r\n</div>'},useData:!0})}}]);
@@ -1 +1 @@
1
- (window.webpackJsonp_clickview_library_editor=window.webpackJsonp_clickview_library_editor||[]).push([[9],{1026:function(e,t,n){"use strict";n.d(t,"a",(function(){return d})),n.d(t,"k",(function(){return p})),n.d(t,"g",(function(){return m})),n.d(t,"e",(function(){return h})),n.d(t,"j",(function(){return b})),n.d(t,"i",(function(){return v})),n.d(t,"c",(function(){return E})),n.d(t,"b",(function(){return w})),n.d(t,"d",(function(){return R})),n.d(t,"f",(function(){return P})),n.d(t,"h",(function(){return y}));var r=n(2),i=n(1),o=n(19),a=n(29),u=n(3),s="libraryEditor.utils",c=["tags","thumbnail","chapters","resources","subtitles","disabled","links","restrictions","categories"];function l(e,t){if(e){var n=i.reduce(e,(function(e,n,r){var o=t[r];return n||o?i.isObject(n)&&i.isObject(o)&&!i.isUndefined(n.id)&&n.id===o.id?e:i.isArray(n)?f(n,o).length?e.concat(r):e:i.isEqual(n,o)?e:e.concat(r):e}),[]);if(n.length)return i.object(i.map(n,(function(n){return i.isArray(t[n])?[n,f(e[n],t[n])]:[n,t[n]]})))}}function f(e,t){var n=[];return i.each(t,(function(t){var r=i.findWhere(e,{id:t.id});if(!i.isUndefined(r)||0!==Object.keys(t).length){var o=i.isUndefined(r)?t:l(r,t);o&&(t.id<0&&!t.value||(!r||t.id<0?n.push(t):(o.id=t.id,n.push(o))))}})),n}var d={getChanges:function(e,t){var n=l(i.omit(e.toJSON(),c),i.omit(t.toJSON(),c));if(n)return i.object(i.map(i.keys(n),(function(e){return[e,d.formatChanges(e,n[e])]})))},formatChanges:function(e,t){if(!t)return null;if(i.isObject(t)&&i.isEmpty(t))return null;switch(e){case"name":case"description":case"productionYear":case"dateBroadcast":case"fields":case"episodeNumber":return t;case"channel":case"series":case"rating":case"season":return{id:t.id};case"distributors":case"producers":case"directors":case"productionCompanies":return i.map(t,(function(e){return e.id}));case"dateModified":case"hasBroadcast":return;default:r.a.ErrorHelper.throw(new o.a("There are no formatting settings for ".concat(e)))}},updateModelState:function(e,t,n){var o=["distributors","producers","directors","productionCompanies"];for(var a in i.each(i.keys(n),(function(e){o.includes(e)&&(n[e]=t.get(e).toJSON())})),t.set(i.clone(n),{silent:!0}),e.set(t.toJSON(),{silent:!0}),n){if(!n[a]&&e.associations[a]){var u=e.get(a);(u instanceof r.a.Model||u instanceof r.a.NestedModel)&&u.clear()}}},getRemovedObjectIds:function(e,t){var n=["distributors","productionCompanies","producers","directors"],r={};return i.each(i.keys(e.toJSON()),(function(o){if(i.contains(n,o)){var a=e.get(o).map((function(e){return e.id})),u=t.get(o).map((function(e){return e.id})),s=i.filter(a,(function(e){return e&&!i.contains(u,e)}));s.length&&(r[o]=s)}})),r}},p={name:[{required:!0,msg:function(){return u.a.getPhrase(s,"videoTitleRequired")}},{maxLength:255,msg:function(){return u.a.getPhrase(s,"videoTitleExceeds")}}],description:[{required:!1},{maxLength:65535,msg:function(){return u.a.getPhrase(s,"videoDescriptionExceeds")}}],episodeNumber:function(e,t,n){return e&&e<1?u.a.getPhrase(s,"episodeNumberLessThanOne"):e&&e>2147483647?u.a.getPhrase(s,"episodeNumberExceeds"):e%1!=0?u.a.getPhrase(s,"episodeNumberNotWhole"):n.season&&n.season.get("number")>=0&&null===e?u.a.getPhrase(s,"episodeNumberNoSeason"):""},season:function(e,t,n){return n.season&&n.season.get("number")||e&&e.number||!n.episodeNumber?"":u.a.getPhrase(s,"seasonNoEpisodeNumber")}},g=a().year(),h={productionYear:function(e,t,n){return e||0===e?(e=+e,isNaN(e)?"Production year must be a number.":e<1900||e>g?u.a.getPhrase(s,"validProductionYears",{currentYear:g}):void 0):""}},m={name:[{required:!0,msg:function(){return u.a.getPhrase(s,"resourceNameRequired")}}]},b={suggestion:[{required:!0,msg:function(){return u.a.getPhrase(s,"suggestEditRequired")}},{maxLength:65535,msg:function(){return u.a.getPhrase(s,"suggestEditExceeds")}}],reason:[{required:!0,msg:function(){return u.a.getPhrase(s,"suggestEditReasonRequired")}},{maxLength:65535,msg:function(){return u.a.getPhrase(s,"suggestEditReasonExceeds")}}]},y={number:function(e,t,n){return e?+e<1?u.a.getPhrase(s,"seasonLessThanOne"):+e>255?u.a.getPhrase(s,"seasonExceeds"):+e%1!=0?u.a.getPhrase(s,"seasonNotWhole"):"":u.a.getPhrase(s,"seasonRequired")}},v={empty:function(){return u.a.getPhrase(s,"suggestEditRatingRequired")},original:function(){return u.a.getPhrase(s,"suggestEditRatingInvalid")}},P={url:[{required:!0,pattern:"url",msg:function(){return u.a.getPhrase(s,"linkUrlRequired")}},{maxLength:65535,msg:function(){return u.a.getPhrase(s,"linkUrlExceeds")}}],name:[{required:!0,msg:function(){return u.a.getPhrase(s,"linkNameRequired")}},{maxLength:255,msg:function(){return u.a.getPhrase(s,"linkNameExceeds")}}]},E={name:[{maxLength:128,msg:function(){return u.a.getPhrase(s,"fieldNameExceeds")}}],value:[{maxLength:16e3,msg:function(){return u.a.getPhrase(s,"fieldValueExceeds")}}]},w={fields:function(e){return e&&e.length?e.all((function(e){return!1!==e.isValid()}))?"":u.a.getPhrase(s,"fieldsInvalid"):""}};function R(){return[{id:-1,name:"Admin Notes",value:"",placeholder:"Notes that only admins will see"}]}},1027:function(e,t,n){"use strict";var r=n(1033),i=n(1026),o=(n(1031),n(3),n(1034)),a=(n(1036),n(1032)),u=n(81),s={getVideoDownloadUrl:function(e,t){return u.a.safeUrlConcat(u.a.makeHttps(e),"/download?token=".concat(t))}};n.d(t,"a",(function(){return r.a})),n.d(t,"e",(function(){return i.g})),n.d(t,"h",(function(){return i.j})),n.d(t,"g",(function(){return i.i})),n.d(t,"d",(function(){return i.f})),n.d(t,"f",(function(){return i.h})),n.d(t,"c",(function(){return o.a})),n.d(t,"i",(function(){return a.a})),n.d(t,"b",(function(){return s}))},1031:function(e,t,n){"use strict";n.d(t,"a",(function(){return l}));var r=n(1),i=n(49),o=n(159),a=n(3),u="libraryEditor.utils",s={name:[{required:!0,msg:function(){return a.a.getPhrase(u,"folderNameRequired")}},{maxLength:255,msg:function(){return a.a.getPhrase(u,"folderNameExceeds")}}]},c=function(e,t){return{parentId:function(n){return n?i.a.calculateDestinationFolderDepth(e,n,t)>o.a.MAX_FOLDER_DEPTH?a.a.getPhrase(u,"maxFolderDepth",{maxDepth:o.a.MAX_FOLDER_DEPTH}):"":a.a.getPhrase(u,"selectParentFolder")}}},l=function(e){var t=e.validateName,n=e.validateParent,i=e.folder,o=e.collection;return t&&n?r.extend({},s,c(i,o)):t?s:n?c(i,o):void 0}},1032:function(e,t,n){"use strict";n.d(t,"a",(function(){return f}));var r=n(15),i=n(3),o=n(185),a=n(1044),u=n(6);function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var c,l="libraryEditor.utils";!function(e){e.Pdf="pdf",e.Image="image",e.PowerPoint="powerpoint",e.Document="document",e.Excel="excel",e.Zip="archive",e.File="text"}(c||(c={}));var f={mapRatingToClass:function(e){if(!e)return"";return function(e){switch(!0){case e<32:return"bg-purple";case e<48:return"bg-success";case e<80:return"bg-info";case e<96:return"bg-danger";case e<128:return"bg-pink";case e>=128:return"bg-warning";default:return""}}(e)},mapSourceToDisplayName:function(e){switch(e.get("type")){case u.h.HostedLibrary:case u.h.CustomLibrary:return e.get("name");case u.h.Exchange:return i.a.getPhrase(l,"exchange");case u.h.Workspace:return i.a.getPhrase(l,"workspace");default:return""}},mapSourceToClass:function(e){switch(e){case u.h.HostedLibrary:case u.h.CustomLibrary:return"bg-info";case u.h.Exchange:return"bg-success";case u.h.Workspace:default:return"bg-danger"}},isInteractive:function(e){return!(!e||!e.interactives)&&!!e.interactives.length},mapTypeToSvg:function(e){var t,n=(s(t={},c.Pdf,r.b.FilePDF),s(t,c.Image,r.b.FileImg),s(t,c.PowerPoint,r.b.FilePowerpoint),s(t,c.Document,r.b.FileWord),s(t,c.Excel,r.b.FileExcel),s(t,c.Zip,r.b.FileZip),s(t,c.File,r.b.File),t)[e];return n||(n=r.b.Folder),r.a.getSvg(n)},mapTypeToClass:function(e){switch(e){case c.Pdf:return"icon-red";case c.Image:return"icon-purple";case c.Document:return"icon-blue";case c.Excel:return"icon-green";case c.PowerPoint:return"icon-orange";case c.Zip:return"icon-teal";case c.File:return"icon-gray";default:return""}},mapTypeToExtension:function(e){if(!e)return"";return{pdf:"pdf",image:"png",powerpoint:"pptx"}[e.toLowerCase()]},mapTypeToName:function(e){if(!e)return"";switch(e){case c.Pdf:return i.a.getPhrase(l,"pdf");case c.Image:return i.a.getPhrase(l,"image");case c.Document:return i.a.getPhrase(l,"document");case c.Excel:return i.a.getPhrase(l,"spreadsheet");case c.PowerPoint:return i.a.getPhrase(l,"presentation");case c.Zip:return i.a.getPhrase(l,"zipArchive");case c.File:return i.a.getPhrase(l,"file");default:return""}},translateMetadataCollectionNames:function(e){return new a.a(e.map((function(e){return Object.assign(Object.assign({},e.toJSON()),{name:f.translateMetadataName(e.get("name"))})})))},translateMetadataName:function(e){var t="suggestEdit";switch(e){case o.e.VideoTitle:t+="VideoTitle";break;case o.e.Description:t+="Description";break;case o.e.Rating:t+="Rating";break;case o.e.SeriesTitle:t+="SeriesTitle";break;case o.e.Season:t+="SeasonNumber";break;case o.e.EpisodeNumber:t+="EpisodeNumber";break;case o.e.BroadcastDate:t+="BroadcastDate";break;case o.e.Channel:t+="Channel";break;case o.e.ProductionYear:t+="ProductionYear";break;case o.e.Distributors:t+="Distributors";break;case o.e.ProductionCompanies:t+="ProductionCompanies";break;case o.e.Directors:t+="Directors";break;case o.e.Producers:t+="Producers";break;case o.e.Other:t+="Other"}return i.a.getPhrase(l,t)}}},1033:function(e,t,n){"use strict";n.d(t,"a",(function(){return u}));var r=n(1),i=n(13),o=n(3),a="libraryEditor.utils",u={isValidChapterTime:function(e,t,n,o){if(o){if(!r.isNumber(t))return s.StartTime.Invalid();if(t<0)return s.StartTime.Invalid();if(t>i.w.millisecondsToSeconds(n))return s.StartTime.Exceeds();if(o.some((function(n){return!(n.id&&n.id===e.id||n.cid===e.cid)&&n.get("startTime")===t})))return s.StartTime.Exists()}},isValidChapterName:function(e,t,n){return t?t.length>255?s.Name.MaxLength():n.some((function(n){return!(n.id&&n.id===e.id||n.cid===e.cid)&&n.get("name").trim()===t.trim()}))?s.Name.Exists():r.isEmpty(t.trim())?s.Name.Invalid():void 0:s.Name.Invalid()},mapPhysicalChapters:function(e){var t=0;return r.map(e,(function(e,n){var r={name:e.title,startTime:t,index:n,isPhysicalChapter:!0};return t+=e.duration,r}))}},s={Name:{Invalid:function(){return o.a.getPhrase(a,"chapterNameInvalid")},Exists:function(){return o.a.getPhrase(a,"chapterNameExists")},MaxLength:function(){return o.a.getPhrase(a,"chapterNameExceeds")}},StartTime:{Invalid:function(){return o.a.getPhrase(a,"chapterStartTimeInvalid")},Exists:function(){return o.a.getPhrase(a,"chapterStartTimeExists")},Exceeds:function(){return o.a.getPhrase(a,"chapterStartTimeExceeds")}}}},1034:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(3),i="libraryEditor.utils",o={name:[{required:!0,msg:function(){return r.a.getPhrase(i,"libraryNameRequired")}},{maxLength:255,msg:function(){return r.a.getPhrase(i,"libraryNameExceeds")}}]}},1036:function(e,t,n){"use strict";n.d(t,"a",(function(){return u}));var r=n(29),i=n(3),o=n(1026),a="libraryEditor.utils",u=(r().year(),{name:[{required:!0,msg:function(){return i.a.getPhrase(a,"videoTitleRequired")}}],folderId:[{required:!0,msg:function(){return i.a.getPhrase(a,"uploadFolderRequired")}}],libraryId:[{required:!0,msg:"Please select an upload library"}],episodeNumber:function(e,t,n){return e&&e<1?"Videos cannot have an episode number less than 1":e&&e>255?"Videos cannot have an episode number greater than 255":e&&e%1!=0?"Episode numbers can only be whole numbers":n.season&&n.season.get("number")>=0&&null===e?"Videos with a season must also have an episode number":""},season:function(e,t,n){return n.season&&n.season.get("number")||e&&e.number||!n.episodeNumber?"":"Videos with an episode number must also have a season"},productionYear:function(){return o.e.productionYear.apply(null,arguments)}})},1044:function(e,t,n){"use strict";function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){return(o=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function a(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=s(e);if(t){var i=s(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return u(this,n)}}function u(e,t){return!t||"object"!==r(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function s(e){return(s=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}n.d(t,"a",(function(){return c}));var c=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&o(e,t)}(n,e);var t=a(n);function n(){return i(this,n),t.apply(this,arguments)}return n}(n(2).a.Collection)},1089:function(e,t,n){e.exports={requiredStar:"_3S5iJ",disabled:"_3iZQ5",formGroup:"B4xS9",suggestEdit:"_3n3sM",programTitle:"_3bWJB",description:"_3qayV",seriesTitle:"_3ojjo",broadcastDate:"_2hA-0",channel:"_1SMGG",rating:"_3AkUv",productionYear:"_1DYCl",distributors:"_2CbiR",productionCompanies:"_3hB5o",directors:"ksEaA",producers:"h7P2B",episodeNumber:"_3fMUg",seasonNumber:"GwqaB",icon:"quxL2",infoSvgContainer:"_18UDY"}},1185:function(e,t,n){e.exports={selectRating:"_1I6jj",removeRating:"_1ze5G",disabled:"_2hO8J",disabledSelected:"mnQ5O"}},1188:function(e,t,n){"use strict";var r=n(1),i=n(7),o=n(2),a=n(134),u=n(407),s=n(1240),c=n.n(s),l=n(1185),f=n.n(l);function d(e){return(d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function p(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function g(e,t){return(g=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function h(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=b(e);if(t){var i=b(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return m(this,n)}}function m(e,t){return!t||"object"!==d(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function b(e){return(b=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var y=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&g(e,t)}(u,e);var t,n,r,o=h(u);function u(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,u),o.call(this,e)}return t=u,(n=[{key:"events",value:function(){return{click:"onClick"}}},{key:"onClick",value:function(e){this.options.editable&&i.Radio.channel(this.options.channelName).trigger("select:rating",this.model)}},{key:"onRender",value:function(){this.resetClassName()}},{key:"name",get:function(){return"SelectRatingItemComponent"}},{key:"template",get:function(){return c.a}},{key:"tagName",get:function(){return"li"}},{key:"attributes",get:function(){return{title:this.options.editable?this.model.get("name"):""}}},{key:"className",get:function(){var e="";return e+="btn ".concat(this.options.editable?"btn-light":"".concat(f.a.disabled)),this.model.get("selected")&&(e+=this.options.editable?" active":" ".concat(f.a.disabledSelected)),e}},{key:"behaviors",get:function(){var e=this.options.editable?this.options.model.get("name"):"";return[{behaviorClass:a.a,title:e}]}}])&&p(t.prototype,n),r&&p(t,r),u}(o.a.Component);function v(e){return(v="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function P(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function E(e,t){return(E=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function w(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=k(e);if(t){var i=k(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return R(this,n)}}function R(e,t){return!t||"object"!==v(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function k(e){return(k=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var x=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&E(e,t)}(o,e);var t,n,r,i=w(o);function o(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,o),i.call(this,e)}return t=o,(n=[{key:"name",get:function(){return"SelectRatingCollectionComponent"}},{key:"tagName",get:function(){return"ul"}},{key:"className",get:function(){return"rating-group btn-group p-0 m-0"}},{key:"childView",get:function(){return y}},{key:"childViewOptions",get:function(){return{channelName:this.options.channelName,currentRatingId:this.options.currentRatingId,editable:this.options.editable}}}])&&P(t.prototype,n),r&&P(t,r),o}(o.a.ComponentCollection),S=n(13),N=n(3),C=n(0),O=n(185),_=n(1241),T=n.n(_),j=n(1089),D=n.n(j);function I(e){return(I="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function q(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function L(e,t){return(L=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function F(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=V(e);if(t){var i=V(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return M(this,n)}}function M(e,t){return!t||"object"!==I(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function V(e){return(V=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}n.d(t,"a",(function(){return J}));var J=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&L(e,t)}(c,e);var t,n,o,s=F(c);function c(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),s.call(this,e)}return t=c,(n=[{key:"events",value:function(){return{"click .remove-rating":"onRemoveRating"}}},{key:"regions",value:function(){return{ratings:{el:".ratings-region",replaceElement:!0}}}},{key:"initialize",value:function(){this.setViewCollection(),this.setCurrentRating(this.model),this.bindListeners()}},{key:"bindListeners",value:function(){this.listenTo(this.channelName,"select:rating",this.onRatingSelected)}},{key:"setCurrentRating",value:function(e){S.l.setRating(e,this.viewCollection)}},{key:"onRatingSelected",value:function(e){this.setCurrentRating(e);var t=S.c.getSelected(this.viewCollection);this.updateRating(t)}},{key:"onRemoveRating",value:function(e){e.preventDefault(),this.$(".remove-rating").tooltip("dispose"),this.setCurrentRating(null);var t=this.collection.findWhere({value:0});return this.updateRating(t),!1}},{key:"updateRating",value:function(e){i.Radio.channel(this.options.parentChannelName).trigger("select:rating",e),this.render()}},{key:"setViewCollection",value:function(){var e=r.filter(this.collection.toJSON(),(function(e){return 0!==e.value}));return this.viewCollection=new u.a(e)}},{key:"viewOptions",value:function(){var e=S.c.getSelected(this.viewCollection);return{styles:r.extend(D.a,f.a),showRemove:!this.options.hideRemove&&e&&this.options.editable,editable:this.options.editable,hideHeaderText:this.options.hideHeaderText}}},{key:"renderRatingCollectionComponent",value:function(){this.showChildView("ratings",new x({collection:this.viewCollection,channelName:this.channelName,editable:this.options.editable}))}},{key:"onRender",value:function(){this.renderRatingCollectionComponent()}},{key:"name",get:function(){return"SelectRatingComponent"}},{key:"channelName",get:function(){return"".concat(this.name).concat(this.cid)}},{key:"lang",get:function(){return"shared.selectRating"}},{key:"template",get:function(){return T.a}},{key:"behaviors",get:function(){return[{behaviorClass:a.a,selector:".remove-rating",title:N.a.getPhrase(this.lang,"removeTooltip")}]}},{key:"appLinks",get:function(){return{".suggest-rating":{application:C.b.LIBRARY_EDITOR,action:C.a.LibraryEditor.SUGGEST_AN_EDIT,args:[this.options.videoId],params:{metadata:O.e.Rating}}}}},{key:"defaults",get:function(){return{editable:!0}}}])&&q(t.prototype,n),o&&q(t,o),c}(o.a.Component)},1240:function(e,t,n){var r=n(10);e.exports=(r.default||r).template({compiler:[8,">= 4.3.0"],main:function(e,t,n,r,i){var o;e.propertyIsEnumerable;return"\r\n"+e.escapeExpression("function"==typeof(o=null!=(o=n.code||(null!=t?t.code:t))?o:e.hooks.helperMissing)?o.call(null!=t?t:e.nullContext||{},{name:"code",hash:{},data:i}):o)},useData:!0})},1241:function(e,t,n){var r=n(10);e.exports=(r.default||r).template({1:function(e,t,n,r,i){e.propertyIsEnumerable;var o,a=null!=t?t:e.nullContext||{};return' <label class="'+(null!=(o=n.unless.call(a,null!=(o=null!=t?t.options:t)?o.editable:o,{name:"unless",hash:{},fn:e.program(2,i,0),inverse:e.noop,data:i}))?o:"")+'">'+e.escapeExpression((n.lang||t&&t.lang||e.hooks.helperMissing).call(a,"rating",{name:"lang",hash:{},data:i}))+"</label>\r\n "+(null!=(o=n.unless.call(a,null!=(o=null!=t?t.options:t)?o.editable:o,{name:"unless",hash:{},fn:e.program(4,i,0),inverse:e.noop,data:i}))?o:"")+"\r\n"},2:function(e,t,n,r,i){return"d-inline-block"},4:function(e,t,n,r,i){e.propertyIsEnumerable;var o,a=e.escapeExpression;return'<span class="'+a(e.lambda(null!=(o=null!=(o=null!=t?t.options:t)?o.styles:o)?o.suggestEdit:o,t))+'">- <a class="suggest-rating">'+a((n.lang||t&&t.lang||e.hooks.helperMissing).call(null!=t?t:e.nullContext||{},"suggestEdit",{name:"lang",hash:{},data:i}))+"</a></span><br>"},6:function(e,t,n,r,i){e.propertyIsEnumerable;var o,a=e.escapeExpression;return'<span class="text-muted mx-2 remove-rating '+a(e.lambda(null!=(o=null!=(o=null!=t?t.options:t)?o.styles:o)?o.removeRating:o,t))+'">'+a((n.lang||t&&t.lang||e.hooks.helperMissing).call(null!=t?t:e.nullContext||{},"remove",{name:"lang",hash:{},data:i}))+"</span>"},compiler:[8,">= 4.3.0"],main:function(e,t,n,r,i){e.propertyIsEnumerable;var o,a=e.lambda,u=e.escapeExpression,s=null!=t?t:e.nullContext||{};return'<div class="edit-rating form-group '+u(a(null!=(o=null!=(o=null!=t?t.options:t)?o.styles:o)?o.selectRating:o,t))+" "+u(a(null!=(o=null!=(o=null!=t?t.options:t)?o.styles:o)?o.rating:o,t))+'">\r\n'+(null!=(o=n.unless.call(s,null!=(o=null!=t?t.options:t)?o.hideHeaderText:o,{name:"unless",hash:{},fn:e.program(1,i,0),inverse:e.noop,data:i}))?o:"")+' <div>\r\n <div class="ratings-region" name="rating"></div>\r\n '+(null!=(o=n.if.call(s,null!=(o=null!=t?t.options:t)?o.showRemove:o,{name:"if",hash:{},fn:e.program(6,i,0),inverse:e.noop,data:i}))?o:"")+'\r\n <div class="form-feedback"></div>\r\n </div>\r\n</div>'},useData:!0})}}]);
1
+ (window.webpackJsonp_clickview_library_editor=window.webpackJsonp_clickview_library_editor||[]).push([[9],{1022:function(e,t,n){"use strict";n.d(t,"a",(function(){return d})),n.d(t,"k",(function(){return p})),n.d(t,"g",(function(){return m})),n.d(t,"e",(function(){return h})),n.d(t,"j",(function(){return b})),n.d(t,"i",(function(){return v})),n.d(t,"c",(function(){return E})),n.d(t,"b",(function(){return w})),n.d(t,"d",(function(){return R})),n.d(t,"f",(function(){return P})),n.d(t,"h",(function(){return y}));var r=n(2),i=n(1),o=n(19),a=n(29),u=n(3),s="libraryEditor.utils",c=["tags","thumbnail","chapters","resources","subtitles","disabled","links","restrictions","categories"];function l(e,t){if(e){var n=i.reduce(e,(function(e,n,r){var o=t[r];return n||o?i.isObject(n)&&i.isObject(o)&&!i.isUndefined(n.id)&&n.id===o.id?e:i.isArray(n)?f(n,o).length?e.concat(r):e:i.isEqual(n,o)?e:e.concat(r):e}),[]);if(n.length)return i.object(i.map(n,(function(n){return i.isArray(t[n])?[n,f(e[n],t[n])]:[n,t[n]]})))}}function f(e,t){var n=[];return i.each(t,(function(t){var r=i.findWhere(e,{id:t.id});if(!i.isUndefined(r)||0!==Object.keys(t).length){var o=i.isUndefined(r)?t:l(r,t);o&&(t.id<0&&!t.value||(!r||t.id<0?n.push(t):(o.id=t.id,n.push(o))))}})),n}var d={getChanges:function(e,t){var n=l(i.omit(e.toJSON(),c),i.omit(t.toJSON(),c));if(n)return i.object(i.map(i.keys(n),(function(e){return[e,d.formatChanges(e,n[e])]})))},formatChanges:function(e,t){if(!t)return null;if(i.isObject(t)&&i.isEmpty(t))return null;switch(e){case"name":case"description":case"productionYear":case"dateBroadcast":case"fields":case"episodeNumber":return t;case"channel":case"series":case"rating":case"season":return{id:t.id};case"distributors":case"producers":case"directors":case"productionCompanies":return i.map(t,(function(e){return e.id}));case"dateModified":case"hasBroadcast":return;default:r.a.ErrorHelper.throw(new o.a("There are no formatting settings for ".concat(e)))}},updateModelState:function(e,t,n){var o=["distributors","producers","directors","productionCompanies"];for(var a in i.each(i.keys(n),(function(e){o.includes(e)&&(n[e]=t.get(e).toJSON())})),t.set(i.clone(n),{silent:!0}),e.set(t.toJSON(),{silent:!0}),n){if(!n[a]&&e.associations[a]){var u=e.get(a);(u instanceof r.a.Model||u instanceof r.a.NestedModel)&&u.clear()}}},getRemovedObjectIds:function(e,t){var n=["distributors","productionCompanies","producers","directors"],r={};return i.each(i.keys(e.toJSON()),(function(o){if(i.contains(n,o)){var a=e.get(o).map((function(e){return e.id})),u=t.get(o).map((function(e){return e.id})),s=i.filter(a,(function(e){return e&&!i.contains(u,e)}));s.length&&(r[o]=s)}})),r}},p={name:[{required:!0,msg:function(){return u.a.getPhrase(s,"videoTitleRequired")}},{maxLength:255,msg:function(){return u.a.getPhrase(s,"videoTitleExceeds")}}],description:[{required:!1},{maxLength:65535,msg:function(){return u.a.getPhrase(s,"videoDescriptionExceeds")}}],episodeNumber:function(e,t,n){return e&&e<1?u.a.getPhrase(s,"episodeNumberLessThanOne"):e&&e>2147483647?u.a.getPhrase(s,"episodeNumberExceeds"):e%1!=0?u.a.getPhrase(s,"episodeNumberNotWhole"):n.season&&n.season.get("number")>=0&&null===e?u.a.getPhrase(s,"episodeNumberNoSeason"):""},season:function(e,t,n){return n.season&&n.season.get("number")||e&&e.number||!n.episodeNumber?"":u.a.getPhrase(s,"seasonNoEpisodeNumber")}},g=a().year(),h={productionYear:function(e,t,n){return e||0===e?(e=+e,isNaN(e)?"Production year must be a number.":e<1900||e>g?u.a.getPhrase(s,"validProductionYears",{currentYear:g}):void 0):""}},m={name:[{required:!0,msg:function(){return u.a.getPhrase(s,"resourceNameRequired")}}]},b={suggestion:[{required:!0,msg:function(){return u.a.getPhrase(s,"suggestEditRequired")}},{maxLength:65535,msg:function(){return u.a.getPhrase(s,"suggestEditExceeds")}}],reason:[{required:!0,msg:function(){return u.a.getPhrase(s,"suggestEditReasonRequired")}},{maxLength:65535,msg:function(){return u.a.getPhrase(s,"suggestEditReasonExceeds")}}]},y={number:function(e,t,n){return e?+e<1?u.a.getPhrase(s,"seasonLessThanOne"):+e>255?u.a.getPhrase(s,"seasonExceeds"):+e%1!=0?u.a.getPhrase(s,"seasonNotWhole"):"":u.a.getPhrase(s,"seasonRequired")}},v={empty:function(){return u.a.getPhrase(s,"suggestEditRatingRequired")},original:function(){return u.a.getPhrase(s,"suggestEditRatingInvalid")}},P={url:[{required:!0,pattern:"url",msg:function(){return u.a.getPhrase(s,"linkUrlRequired")}},{maxLength:65535,msg:function(){return u.a.getPhrase(s,"linkUrlExceeds")}}],name:[{required:!0,msg:function(){return u.a.getPhrase(s,"linkNameRequired")}},{maxLength:255,msg:function(){return u.a.getPhrase(s,"linkNameExceeds")}}]},E={name:[{maxLength:128,msg:function(){return u.a.getPhrase(s,"fieldNameExceeds")}}],value:[{maxLength:16e3,msg:function(){return u.a.getPhrase(s,"fieldValueExceeds")}}]},w={fields:function(e){return e&&e.length?e.all((function(e){return!1!==e.isValid()}))?"":u.a.getPhrase(s,"fieldsInvalid"):""}};function R(){return[{id:-1,name:"Admin Notes",value:"",placeholder:"Notes that only admins will see"}]}},1023:function(e,t,n){"use strict";var r=n(1029),i=n(1022),o=(n(1027),n(3),n(1030)),a=(n(1032),n(1028)),u=n(75),s={getVideoDownloadUrl:function(e,t){return u.a.safeUrlConcat(u.a.makeHttps(e),"/download?token=".concat(t))}};n.d(t,"a",(function(){return r.a})),n.d(t,"e",(function(){return i.g})),n.d(t,"h",(function(){return i.j})),n.d(t,"g",(function(){return i.i})),n.d(t,"d",(function(){return i.f})),n.d(t,"f",(function(){return i.h})),n.d(t,"c",(function(){return o.a})),n.d(t,"i",(function(){return a.a})),n.d(t,"b",(function(){return s}))},1027:function(e,t,n){"use strict";n.d(t,"a",(function(){return l}));var r=n(1),i=n(49),o=n(159),a=n(3),u="libraryEditor.utils",s={name:[{required:!0,msg:function(){return a.a.getPhrase(u,"folderNameRequired")}},{maxLength:255,msg:function(){return a.a.getPhrase(u,"folderNameExceeds")}}]},c=function(e,t){return{parentId:function(n){return n?i.a.calculateDestinationFolderDepth(e,n,t)>o.a.MAX_FOLDER_DEPTH?a.a.getPhrase(u,"maxFolderDepth",{maxDepth:o.a.MAX_FOLDER_DEPTH}):"":a.a.getPhrase(u,"selectParentFolder")}}},l=function(e){var t=e.validateName,n=e.validateParent,i=e.folder,o=e.collection;return t&&n?r.extend({},s,c(i,o)):t?s:n?c(i,o):void 0}},1028:function(e,t,n){"use strict";n.d(t,"a",(function(){return f}));var r=n(15),i=n(3),o=n(185),a=n(1040),u=n(6);function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var c,l="libraryEditor.utils";!function(e){e.Pdf="pdf",e.Image="image",e.PowerPoint="powerpoint",e.Document="document",e.Excel="excel",e.Zip="archive",e.File="text"}(c||(c={}));var f={mapRatingToClass:function(e){if(!e)return"";return function(e){switch(!0){case e<32:return"bg-purple";case e<48:return"bg-success";case e<80:return"bg-info";case e<96:return"bg-danger";case e<128:return"bg-pink";case e>=128:return"bg-warning";default:return""}}(e)},mapSourceToDisplayName:function(e){switch(e.get("type")){case u.h.HostedLibrary:case u.h.CustomLibrary:return e.get("name");case u.h.Exchange:return i.a.getPhrase(l,"exchange");case u.h.Workspace:return i.a.getPhrase(l,"workspace");default:return""}},mapSourceToClass:function(e){switch(e){case u.h.HostedLibrary:case u.h.CustomLibrary:return"bg-info";case u.h.Exchange:return"bg-success";case u.h.Workspace:default:return"bg-danger"}},isInteractive:function(e){return!(!e||!e.interactives)&&!!e.interactives.length},mapTypeToSvg:function(e){var t,n=(s(t={},c.Pdf,r.b.FilePDF),s(t,c.Image,r.b.FileImg),s(t,c.PowerPoint,r.b.FilePowerpoint),s(t,c.Document,r.b.FileWord),s(t,c.Excel,r.b.FileExcel),s(t,c.Zip,r.b.FileZip),s(t,c.File,r.b.File),t)[e];return n||(n=r.b.Folder),r.a.getSvg(n)},mapTypeToClass:function(e){switch(e){case c.Pdf:return"icon-red";case c.Image:return"icon-purple";case c.Document:return"icon-blue";case c.Excel:return"icon-green";case c.PowerPoint:return"icon-orange";case c.Zip:return"icon-teal";case c.File:return"icon-gray";default:return""}},mapTypeToExtension:function(e){if(!e)return"";return{pdf:"pdf",image:"png",powerpoint:"pptx"}[e.toLowerCase()]},mapTypeToName:function(e){if(!e)return"";switch(e){case c.Pdf:return i.a.getPhrase(l,"pdf");case c.Image:return i.a.getPhrase(l,"image");case c.Document:return i.a.getPhrase(l,"document");case c.Excel:return i.a.getPhrase(l,"spreadsheet");case c.PowerPoint:return i.a.getPhrase(l,"presentation");case c.Zip:return i.a.getPhrase(l,"zipArchive");case c.File:return i.a.getPhrase(l,"file");default:return""}},translateMetadataCollectionNames:function(e){return new a.a(e.map((function(e){return Object.assign(Object.assign({},e.toJSON()),{name:f.translateMetadataName(e.get("name"))})})))},translateMetadataName:function(e){var t="suggestEdit";switch(e){case o.e.VideoTitle:t+="VideoTitle";break;case o.e.Description:t+="Description";break;case o.e.Rating:t+="Rating";break;case o.e.SeriesTitle:t+="SeriesTitle";break;case o.e.Season:t+="SeasonNumber";break;case o.e.EpisodeNumber:t+="EpisodeNumber";break;case o.e.BroadcastDate:t+="BroadcastDate";break;case o.e.Channel:t+="Channel";break;case o.e.ProductionYear:t+="ProductionYear";break;case o.e.Distributors:t+="Distributors";break;case o.e.ProductionCompanies:t+="ProductionCompanies";break;case o.e.Directors:t+="Directors";break;case o.e.Producers:t+="Producers";break;case o.e.Other:t+="Other"}return i.a.getPhrase(l,t)}}},1029:function(e,t,n){"use strict";n.d(t,"a",(function(){return u}));var r=n(1),i=n(13),o=n(3),a="libraryEditor.utils",u={isValidChapterTime:function(e,t,n,o){if(o){if(!r.isNumber(t))return s.StartTime.Invalid();if(t<0)return s.StartTime.Invalid();if(t>i.w.millisecondsToSeconds(n))return s.StartTime.Exceeds();if(o.some((function(n){return!(n.id&&n.id===e.id||n.cid===e.cid)&&n.get("startTime")===t})))return s.StartTime.Exists()}},isValidChapterName:function(e,t,n){return t?t.length>255?s.Name.MaxLength():n.some((function(n){return!(n.id&&n.id===e.id||n.cid===e.cid)&&n.get("name").trim()===t.trim()}))?s.Name.Exists():r.isEmpty(t.trim())?s.Name.Invalid():void 0:s.Name.Invalid()},mapPhysicalChapters:function(e){var t=0;return r.map(e,(function(e,n){var r={name:e.title,startTime:t,index:n,isPhysicalChapter:!0};return t+=e.duration,r}))}},s={Name:{Invalid:function(){return o.a.getPhrase(a,"chapterNameInvalid")},Exists:function(){return o.a.getPhrase(a,"chapterNameExists")},MaxLength:function(){return o.a.getPhrase(a,"chapterNameExceeds")}},StartTime:{Invalid:function(){return o.a.getPhrase(a,"chapterStartTimeInvalid")},Exists:function(){return o.a.getPhrase(a,"chapterStartTimeExists")},Exceeds:function(){return o.a.getPhrase(a,"chapterStartTimeExceeds")}}}},1030:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(3),i="libraryEditor.utils",o={name:[{required:!0,msg:function(){return r.a.getPhrase(i,"libraryNameRequired")}},{maxLength:255,msg:function(){return r.a.getPhrase(i,"libraryNameExceeds")}}]}},1032:function(e,t,n){"use strict";n.d(t,"a",(function(){return u}));var r=n(29),i=n(3),o=n(1022),a="libraryEditor.utils",u=(r().year(),{name:[{required:!0,msg:function(){return i.a.getPhrase(a,"videoTitleRequired")}}],folderId:[{required:!0,msg:function(){return i.a.getPhrase(a,"uploadFolderRequired")}}],libraryId:[{required:!0,msg:"Please select an upload library"}],episodeNumber:function(e,t,n){return e&&e<1?"Videos cannot have an episode number less than 1":e&&e>255?"Videos cannot have an episode number greater than 255":e&&e%1!=0?"Episode numbers can only be whole numbers":n.season&&n.season.get("number")>=0&&null===e?"Videos with a season must also have an episode number":""},season:function(e,t,n){return n.season&&n.season.get("number")||e&&e.number||!n.episodeNumber?"":"Videos with an episode number must also have a season"},productionYear:function(){return o.e.productionYear.apply(null,arguments)}})},1040:function(e,t,n){"use strict";function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){return(o=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function a(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=s(e);if(t){var i=s(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return u(this,n)}}function u(e,t){return!t||"object"!==r(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function s(e){return(s=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}n.d(t,"a",(function(){return c}));var c=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&o(e,t)}(n,e);var t=a(n);function n(){return i(this,n),t.apply(this,arguments)}return n}(n(2).a.Collection)},1085:function(e,t,n){e.exports={requiredStar:"_3S5iJ",disabled:"_3iZQ5",formGroup:"B4xS9",suggestEdit:"_3n3sM",programTitle:"_3bWJB",description:"_3qayV",seriesTitle:"_3ojjo",broadcastDate:"_2hA-0",channel:"_1SMGG",rating:"_3AkUv",productionYear:"_1DYCl",distributors:"_2CbiR",productionCompanies:"_3hB5o",directors:"ksEaA",producers:"h7P2B",episodeNumber:"_3fMUg",seasonNumber:"GwqaB",icon:"quxL2",infoSvgContainer:"_18UDY"}},1181:function(e,t,n){e.exports={selectRating:"_1I6jj",removeRating:"_1ze5G",disabled:"_2hO8J",disabledSelected:"mnQ5O"}},1184:function(e,t,n){"use strict";var r=n(1),i=n(7),o=n(2),a=n(134),u=n(404),s=n(1236),c=n.n(s),l=n(1181),f=n.n(l);function d(e){return(d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function p(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function g(e,t){return(g=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function h(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=b(e);if(t){var i=b(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return m(this,n)}}function m(e,t){return!t||"object"!==d(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function b(e){return(b=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var y=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&g(e,t)}(u,e);var t,n,r,o=h(u);function u(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,u),o.call(this,e)}return t=u,(n=[{key:"events",value:function(){return{click:"onClick"}}},{key:"onClick",value:function(e){this.options.editable&&i.Radio.channel(this.options.channelName).trigger("select:rating",this.model)}},{key:"onRender",value:function(){this.resetClassName()}},{key:"name",get:function(){return"SelectRatingItemComponent"}},{key:"template",get:function(){return c.a}},{key:"tagName",get:function(){return"li"}},{key:"attributes",get:function(){return{title:this.options.editable?this.model.get("name"):""}}},{key:"className",get:function(){var e="";return e+="btn ".concat(this.options.editable?"btn-light":"".concat(f.a.disabled)),this.model.get("selected")&&(e+=this.options.editable?" active":" ".concat(f.a.disabledSelected)),e}},{key:"behaviors",get:function(){var e=this.options.editable?this.options.model.get("name"):"";return[{behaviorClass:a.a,title:e}]}}])&&p(t.prototype,n),r&&p(t,r),u}(o.a.Component);function v(e){return(v="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function P(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function E(e,t){return(E=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function w(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=k(e);if(t){var i=k(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return R(this,n)}}function R(e,t){return!t||"object"!==v(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function k(e){return(k=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var x=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&E(e,t)}(o,e);var t,n,r,i=w(o);function o(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,o),i.call(this,e)}return t=o,(n=[{key:"name",get:function(){return"SelectRatingCollectionComponent"}},{key:"tagName",get:function(){return"ul"}},{key:"className",get:function(){return"rating-group btn-group p-0 m-0"}},{key:"childView",get:function(){return y}},{key:"childViewOptions",get:function(){return{channelName:this.options.channelName,currentRatingId:this.options.currentRatingId,editable:this.options.editable}}}])&&P(t.prototype,n),r&&P(t,r),o}(o.a.ComponentCollection),S=n(13),N=n(3),C=n(0),O=n(185),_=n(1237),T=n.n(_),j=n(1085),D=n.n(j);function I(e){return(I="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function q(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function L(e,t){return(L=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function F(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=V(e);if(t){var i=V(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return M(this,n)}}function M(e,t){return!t||"object"!==I(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function V(e){return(V=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}n.d(t,"a",(function(){return J}));var J=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&L(e,t)}(c,e);var t,n,o,s=F(c);function c(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),s.call(this,e)}return t=c,(n=[{key:"events",value:function(){return{"click .remove-rating":"onRemoveRating"}}},{key:"regions",value:function(){return{ratings:{el:".ratings-region",replaceElement:!0}}}},{key:"initialize",value:function(){this.setViewCollection(),this.setCurrentRating(this.model),this.bindListeners()}},{key:"bindListeners",value:function(){this.listenTo(this.channelName,"select:rating",this.onRatingSelected)}},{key:"setCurrentRating",value:function(e){S.l.setRating(e,this.viewCollection)}},{key:"onRatingSelected",value:function(e){this.setCurrentRating(e);var t=S.c.getSelected(this.viewCollection);this.updateRating(t)}},{key:"onRemoveRating",value:function(e){e.preventDefault(),this.$(".remove-rating").tooltip("dispose"),this.setCurrentRating(null);var t=this.collection.findWhere({value:0});return this.updateRating(t),!1}},{key:"updateRating",value:function(e){i.Radio.channel(this.options.parentChannelName).trigger("select:rating",e),this.render()}},{key:"setViewCollection",value:function(){var e=r.filter(this.collection.toJSON(),(function(e){return 0!==e.value}));return this.viewCollection=new u.a(e)}},{key:"viewOptions",value:function(){var e=S.c.getSelected(this.viewCollection);return{styles:r.extend(D.a,f.a),showRemove:!this.options.hideRemove&&e&&this.options.editable,editable:this.options.editable,hideHeaderText:this.options.hideHeaderText}}},{key:"renderRatingCollectionComponent",value:function(){this.showChildView("ratings",new x({collection:this.viewCollection,channelName:this.channelName,editable:this.options.editable}))}},{key:"onRender",value:function(){this.renderRatingCollectionComponent()}},{key:"name",get:function(){return"SelectRatingComponent"}},{key:"channelName",get:function(){return"".concat(this.name).concat(this.cid)}},{key:"lang",get:function(){return"shared.selectRating"}},{key:"template",get:function(){return T.a}},{key:"behaviors",get:function(){return[{behaviorClass:a.a,selector:".remove-rating",title:N.a.getPhrase(this.lang,"removeTooltip")}]}},{key:"appLinks",get:function(){return{".suggest-rating":{application:C.b.LIBRARY_EDITOR,action:C.a.LibraryEditor.SUGGEST_AN_EDIT,args:[this.options.videoId],params:{metadata:O.e.Rating}}}}},{key:"defaults",get:function(){return{editable:!0}}}])&&q(t.prototype,n),o&&q(t,o),c}(o.a.Component)},1236:function(e,t,n){var r=n(10);e.exports=(r.default||r).template({compiler:[8,">= 4.3.0"],main:function(e,t,n,r,i){var o;e.propertyIsEnumerable;return"\r\n"+e.escapeExpression("function"==typeof(o=null!=(o=n.code||(null!=t?t.code:t))?o:e.hooks.helperMissing)?o.call(null!=t?t:e.nullContext||{},{name:"code",hash:{},data:i}):o)},useData:!0})},1237:function(e,t,n){var r=n(10);e.exports=(r.default||r).template({1:function(e,t,n,r,i){e.propertyIsEnumerable;var o,a=null!=t?t:e.nullContext||{};return' <label class="'+(null!=(o=n.unless.call(a,null!=(o=null!=t?t.options:t)?o.editable:o,{name:"unless",hash:{},fn:e.program(2,i,0),inverse:e.noop,data:i}))?o:"")+'">'+e.escapeExpression((n.lang||t&&t.lang||e.hooks.helperMissing).call(a,"rating",{name:"lang",hash:{},data:i}))+"</label>\r\n "+(null!=(o=n.unless.call(a,null!=(o=null!=t?t.options:t)?o.editable:o,{name:"unless",hash:{},fn:e.program(4,i,0),inverse:e.noop,data:i}))?o:"")+"\r\n"},2:function(e,t,n,r,i){return"d-inline-block"},4:function(e,t,n,r,i){e.propertyIsEnumerable;var o,a=e.escapeExpression;return'<span class="'+a(e.lambda(null!=(o=null!=(o=null!=t?t.options:t)?o.styles:o)?o.suggestEdit:o,t))+'">- <a class="suggest-rating">'+a((n.lang||t&&t.lang||e.hooks.helperMissing).call(null!=t?t:e.nullContext||{},"suggestEdit",{name:"lang",hash:{},data:i}))+"</a></span><br>"},6:function(e,t,n,r,i){e.propertyIsEnumerable;var o,a=e.escapeExpression;return'<span class="text-muted mx-2 remove-rating '+a(e.lambda(null!=(o=null!=(o=null!=t?t.options:t)?o.styles:o)?o.removeRating:o,t))+'">'+a((n.lang||t&&t.lang||e.hooks.helperMissing).call(null!=t?t:e.nullContext||{},"remove",{name:"lang",hash:{},data:i}))+"</span>"},compiler:[8,">= 4.3.0"],main:function(e,t,n,r,i){e.propertyIsEnumerable;var o,a=e.lambda,u=e.escapeExpression,s=null!=t?t:e.nullContext||{};return'<div class="edit-rating form-group '+u(a(null!=(o=null!=(o=null!=t?t.options:t)?o.styles:o)?o.selectRating:o,t))+" "+u(a(null!=(o=null!=(o=null!=t?t.options:t)?o.styles:o)?o.rating:o,t))+'">\r\n'+(null!=(o=n.unless.call(s,null!=(o=null!=t?t.options:t)?o.hideHeaderText:o,{name:"unless",hash:{},fn:e.program(1,i,0),inverse:e.noop,data:i}))?o:"")+' <div>\r\n <div class="ratings-region" name="rating"></div>\r\n '+(null!=(o=n.if.call(s,null!=(o=null!=t?t.options:t)?o.showRemove:o,{name:"if",hash:{},fn:e.program(6,i,0),inverse:e.noop,data:i}))?o:"")+'\r\n <div class="form-feedback"></div>\r\n </div>\r\n</div>'},useData:!0})}}]);
@@ -1 +1 @@
1
- {"version":3,"sources":["file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/views/publish-library/PublishLibrary.hbs","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/views/publish-library/PublishLibraryView.ts"],"names":[],"mappings":";;;;;;;;;AAAA,iBAAiB,mBAAO,CAAC,8BAAY;AACrC,iEAAiE;AACjE,4GAA4G;;AAE5G;AACA,wFAAwF,uBAAuB,aAAa;AAC5H;AACA,8FAA8F,uBAAuB,aAAa;AAClI;AACA,qFAAqF,uBAAuB,aAAa;AACzH;AACA,qFAAqF,uBAAuB,aAAa;AACzH;AACA,qFAAqF,uBAAuB,aAAa;AACzH;AACA,CAAC;AACD,4GAA4G;;AAE5G;AACA,uFAAuF,uBAAuB,aAAa;AAC3H;AACA,8FAA8F,uBAAuB,aAAa;AAClI;AACA,qFAAqF,uBAAuB,aAAa;AACzH;AACA,qFAAqF,uBAAuB,aAAa;AACzH;AACA,CAAC;AACD;;AAEA,6FAA6F,iGAAiG,qBAAqB,wFAAwF;AAC3S,CAAC,gBAAgB,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5BjB;AAEA;AACA;AAEA;AACA;AAEA;AACA;AACA;AAEA;AAEA;AACA;AAEA;AAEA;AAEO,IAAM,kBAAb;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA,iCAOmB;AACf,WAAK,kBAAL,GAA0B,kGAAe,CAAC,WAAhB,CAA4B,8DAAY,CAAC,OAAzC,EAAkD,IAAlD,CAA1B;AACA,WAAK,yBAAL,GAAiC,kGAAe,CAAC,WAAhB,CAA4B,8DAAY,CAAC,cAAzC,EAAyD,IAAzD,CAAjC;AACA,WAAK,gBAAL,GAAwB,kGAAe,CAAC,WAAhB,CAA4B,8DAAY,CAAC,KAAzC,EAAgD,IAAhD,CAAxB;AACD;AAXH;AAAA;AAAA,sCA6CyB;AAAA;;AACrB,oDAAK,CAAC,OAAN,CAAc,KAAK,WAAnB,EACM,OADN,CACc,4GAAmB,CAAC,WADlC;AAGA,UAAI,QAAQ,GAAG,CAAf;;AACA,UAAM,QAAQ,GAAG,SAAX,QAAW,GAAK;AACpB,gBAAQ;;AAER,YAAI,QAAQ,KAAK,KAAI,CAAC,SAAL,CAAe,MAAhC,EAAwC;AACtC,eAAI,CAAC,aAAL,CAAmB,MAAnB;;AAEA,eAAI,CAAC,gBAAL,CAAsB,eAAtB;;AAEA,wDAAK,CAAC,OAAN,CAAc,qGAAsB,CAAC,cAArC,EACM,OADN,CACc,gBADd;AAED;AACF,OAXD;;AAaA,UAAI,wFAAe,CAAC,WAAhB,CAA4B,KAAK,gBAAjC,CAAJ,EAAwD;AACtD,aAAK,SAAL,CAAe,IAAf,CAAoB,WAAC,EAAG;AACtB,eAAI,CAAC,kBAAL,CAAwB,cAAxB,CAAuC,CAAC,CAAC,GAAF,CAAM,IAAN,CAAvC,EAAoD,QAApD;AACD,SAFD;AAGA;AACD;;AAED,WAAK,yBAAL,CAA+B,gBAA/B,CAAgD,YAAK;AACnD,sEAAI,CAAC,aAAL,CAAmB,OAAnB,CAA2B;AACzB,qBAAW,EAAE,6DAAW,CAAC,gBADA;AAEzB,gBAAM,EAAE,yDAAO,CAAC,eAAR,CAAwB;AAFP,SAA3B;AAID,OALD;AAMD;AA5EH;AAAA;AAAA,kCAqFoB;AAChB,aAAO;AACL,mBAAW,EAAE,wFAAe,CAAC,WAAhB,CAA4B,KAAK,gBAAjC;AADR,OAAP;AAGD;AAzFH;AAAA;AAAA,wBAaiB;AACb,aAAO,oBAAP;AACD;AAfH;AAAA;AAAA,wBAiBkB;AACd,aAAO,kGAAe,CAAC,SAAhB,CAA0B,KAAK,IAA/B,EAAqC,OAArC,CAAP;AACD;AAnBH;AAAA;AAAA,wBAqBiB;AACb,aAAO,8BAAP;AACD;AAvBH;AAAA;AAAA,wBAyBqB;AACjB,aAAO,2DAAP;AACD;AA3BH;AAAA;AAAA,wBA6BwB;AACpB,aAAO,gEAAkB,CAAC,yBAAnB,CAA6C,IAA7C,CAAP;AACD;AA/BH;AAAA;AAAA,wBAiCsB;AAAA;;AAClB,aAAO,CAAC;AACN,aAAK,EAAE,kGAAe,CAAC,SAAhB,CAA0B,KAAK,IAA/B,EAAqC,SAArC,CADD;AAEN,qBAAa,EAAE,+DAFT;AAGN,4BAAoB,EAAE;AACpB,qBAAW,EAAE,KAAK,WADE;AAEpB,oBAAU,EAAE,kGAAe,CAAC,SAAhB,CAA0B,KAAK,IAA/B,EAAqC,UAArC,CAFQ;AAGpB,iBAAO,EAAE;AAAA,mBAAM,MAAI,CAAC,eAAL,EAAN;AAAA;AAHW;AAHhB,OAAD,CAAP;AASD;AA3CH;AAAA;AAAA,wBA8E8B;AAC1B,aAAO;AACL,iBAAS,EAAE,qFAAwB,CAAC,SAD/B;AAEL,wBAAgB,EAAE,qHAA+B,CAAC;AAF7C,OAAP;AAID;AAnFH;;AAAA;AAAA,EAAwC,8DAAI,CAAC,IAA7C,E","file":"scripts/9.chunk.js","sourcesContent":["var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":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>\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"infoHeading\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</p>\\r\\n<p>\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"meaningSubheading\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</p>\\r\\n<ul>\\r\\n <li>\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"meaning1\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</li>\\r\\n <li>\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"meaning2\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</li>\\r\\n <li>\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"meaning3\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</li>\\r\\n</ul>\\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 \"<p>\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"disclaimer\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</p>\\r\\n<p>\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"featureSubheading\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</p>\\r\\n<ul>\\r\\n <li>\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"feature1\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</li> \\r\\n <li>\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"feature2\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</li>\\r\\n</ul>\\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[\"if\"].call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.noPublisher : stack1),{\"name\":\"if\",\"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\n\r\nimport { 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\n\r\nimport { PopupBehavior } from 'shared/behaviors';\r\nimport { DataServices, AppChannels, Actions } from 'shared/constants';\r\nimport { LibraryCollection } from 'shared/collections/LibraryCollection';\r\nimport { SpinnerButtonEvents } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\nimport { RadioChannelHelper } from 'shared/utils';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nimport { LibraryDataService, LibraryDataServiceHelper } from 'apps/library-editor/services/LibraryDataService';\r\nimport { VideoDataService } from 'apps/library-editor/services/VideoDataService';\r\nimport { MigrationRadioChannels } from 'apps/migration-wizard/utils/MigrationRadioChannels';\r\nimport { MigrationVideoDataServiceHelper, MigrationVideoDataService } from 'apps/migration-wizard/services/MigrationVideoDataService';\r\nimport { CustomerMetadata } from 'apps/migration-wizard/models';\r\nimport { MigrationHelper } from 'apps/migration-wizard/utils/MigrationHelper';\r\n\r\nimport PublishLibraryTemplate from './PublishLibrary.hbs';\r\n\r\nexport class PublishLibraryView extends Core.View {\r\n private libraries: LibraryCollection;\r\n private libraryDataService: LibraryDataService;\r\n private migrationVideoDataService: MigrationVideoDataService;\r\n private customerMetadata: CustomerMetadata;\r\n private videoDataService: VideoDataService;\r\n\r\n public initialize(): void {\r\n this.libraryDataService = InstanceManager.getInstance(DataServices.Library, this);\r\n this.migrationVideoDataService = InstanceManager.getInstance(DataServices.MigrationVideo, this);\r\n this.videoDataService = InstanceManager.getInstance(DataServices.Video, this);\r\n }\r\n\r\n public get name(): string {\r\n return 'PublishLibraryView';\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.publishLibrary';\r\n }\r\n\r\n public get template(): any {\r\n return PublishLibraryTemplate;\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 title: LanguageService.getPhrase(this.lang, 'heading'),\r\n behaviorClass: PopupBehavior,\r\n spinnerButtonOptions: {\r\n channelName: this.channelName,\r\n buttonText: LanguageService.getPhrase(this.lang, 'continue'),\r\n onClick: () => this.onClickContinue()\r\n }\r\n }];\r\n }\r\n\r\n private onClickContinue(): void {\r\n Radio.channel(this.channelName)\r\n .trigger(SpinnerButtonEvents.ShowSpinner);\r\n\r\n let finished = 0;\r\n const onFinish = () => {\r\n finished++;\r\n\r\n if (finished === this.libraries.length) {\r\n this.triggerMethod('hide');\r\n\r\n this.videoDataService.clearVideoCache();\r\n\r\n Radio.channel(MigrationRadioChannels.LIBRARY_STATUS)\r\n .trigger('status:changed');\r\n }\r\n };\r\n\r\n if (MigrationHelper.noPublisher(this.customerMetadata)) {\r\n this.libraries.each(l => {\r\n this.libraryDataService.publishLibrary(l.get('id'), onFinish);\r\n });\r\n return;\r\n }\r\n\r\n this.migrationVideoDataService.publishLibraries(() => {\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.MIGRATION_WIZARD,\r\n action: Actions.MigrationWizard.PUBLISH_LIBRARY_PROGRESS\r\n });\r\n });\r\n }\r\n\r\n public get requiredResources(): Core.RequiredResourceHash {\r\n return {\r\n libraries: LibraryDataServiceHelper.libraries,\r\n customerMetadata: MigrationVideoDataServiceHelper.customerMetaData\r\n };\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n noPublisher: MigrationHelper.noPublisher(this.customerMetadata)\r\n };\r\n }\r\n}"],"sourceRoot":""}
1
+ {"version":3,"sources":["file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/views/publish-library/PublishLibrary.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/views/publish-library/PublishLibraryView.ts"],"names":[],"mappings":"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","file":"scripts/9.chunk.js","sourcesContent":["var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":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>\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"infoHeading\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</p>\\r\\n<p>\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"meaningSubheading\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</p>\\r\\n<ul>\\r\\n <li>\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"meaning1\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</li>\\r\\n <li>\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"meaning2\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</li>\\r\\n <li>\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"meaning3\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</li>\\r\\n</ul>\\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 \"<p>\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"disclaimer\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</p>\\r\\n<p>\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"featureSubheading\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</p>\\r\\n<ul>\\r\\n <li>\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"feature1\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</li> \\r\\n <li>\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"feature2\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</li>\\r\\n</ul>\\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[\"if\"].call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.noPublisher : stack1),{\"name\":\"if\",\"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\n\r\nimport { 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\n\r\nimport { PopupBehavior } from 'shared/behaviors';\r\nimport { DataServices, AppChannels, Actions } from 'shared/constants';\r\nimport { LibraryCollection } from 'shared/collections/LibraryCollection';\r\nimport { SpinnerButtonEvents } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\nimport { RadioChannelHelper } from 'shared/utils';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nimport { LibraryDataService, LibraryDataServiceHelper } from 'apps/library-editor/services/LibraryDataService';\r\nimport { VideoDataService } from 'apps/library-editor/services/VideoDataService';\r\nimport { MigrationRadioChannels } from 'apps/migration-wizard/utils/MigrationRadioChannels';\r\nimport { MigrationVideoDataServiceHelper, MigrationVideoDataService } from 'apps/migration-wizard/services/MigrationVideoDataService';\r\nimport { CustomerMetadata } from 'apps/migration-wizard/models';\r\nimport { MigrationHelper } from 'apps/migration-wizard/utils/MigrationHelper';\r\n\r\nimport PublishLibraryTemplate from './PublishLibrary.hbs';\r\n\r\nexport class PublishLibraryView extends Core.View {\r\n private libraries: LibraryCollection;\r\n private libraryDataService: LibraryDataService;\r\n private migrationVideoDataService: MigrationVideoDataService;\r\n private customerMetadata: CustomerMetadata;\r\n private videoDataService: VideoDataService;\r\n\r\n public initialize(): void {\r\n this.libraryDataService = InstanceManager.getInstance(DataServices.Library, this);\r\n this.migrationVideoDataService = InstanceManager.getInstance(DataServices.MigrationVideo, this);\r\n this.videoDataService = InstanceManager.getInstance(DataServices.Video, this);\r\n }\r\n\r\n public get name(): string {\r\n return 'PublishLibraryView';\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.publishLibrary';\r\n }\r\n\r\n public get template(): any {\r\n return PublishLibraryTemplate;\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 title: LanguageService.getPhrase(this.lang, 'heading'),\r\n behaviorClass: PopupBehavior,\r\n spinnerButtonOptions: {\r\n channelName: this.channelName,\r\n buttonText: LanguageService.getPhrase(this.lang, 'continue'),\r\n onClick: () => this.onClickContinue()\r\n }\r\n }];\r\n }\r\n\r\n private onClickContinue(): void {\r\n Radio.channel(this.channelName)\r\n .trigger(SpinnerButtonEvents.ShowSpinner);\r\n\r\n let finished = 0;\r\n const onFinish = () => {\r\n finished++;\r\n\r\n if (finished === this.libraries.length) {\r\n this.triggerMethod('hide');\r\n\r\n this.videoDataService.clearVideoCache();\r\n\r\n Radio.channel(MigrationRadioChannels.LIBRARY_STATUS)\r\n .trigger('status:changed');\r\n }\r\n };\r\n\r\n if (MigrationHelper.noPublisher(this.customerMetadata)) {\r\n this.libraries.each(l => {\r\n this.libraryDataService.publishLibrary(l.get('id'), onFinish);\r\n });\r\n return;\r\n }\r\n\r\n this.migrationVideoDataService.publishLibraries(() => {\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.MIGRATION_WIZARD,\r\n action: Actions.MigrationWizard.PUBLISH_LIBRARY_PROGRESS\r\n });\r\n });\r\n }\r\n\r\n public get requiredResources(): Core.RequiredResourceHash {\r\n return {\r\n libraries: LibraryDataServiceHelper.libraries,\r\n customerMetadata: MigrationVideoDataServiceHelper.customerMetaData\r\n };\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n noPublisher: MigrationHelper.noPublisher(this.customerMetadata)\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/move-folder/MoveFolder.hbs","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/views/move-folder/MoveFolderView.ts"],"names":[],"mappings":"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","file":"scripts/90.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 return \"<div class=\\\"folder-details-region\\\"></div>\\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, Radio } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { ViewModelService } from 'libs/common/backbone/services/ViewModelService';\r\nimport { InstanceManager } from 'libs/common/backbone/services/InstanceManager';\r\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\n\r\nimport { DataServices, Actions, DataChannels, AppChannels } from 'shared/constants';\r\nimport { PopupBehavior } from 'shared/behaviors';\r\nimport { FolderCollection } from 'shared/collections/FolderCollection';\r\nimport { LibraryCollection } from 'shared/collections/LibraryCollection';\r\nimport { DisabledSpinnerModel } from 'shared/models/DisabledSpinnerModel';\r\nimport { Folder } from 'shared/models/Folder';\r\nimport { Library } from 'shared/models/Library';\r\nimport { SpinnerHelper, SpinnerSize, FolderTreeHelpers, RadioChannelHelper } from 'shared/utils';\r\nimport { SpinnerButtonEvents, SpinnerButtonModelAttributes } 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 { FolderDetailsComponent } from 'apps/library-editor/components/folder-details/FolderDetailsComponent';\r\n\r\nimport MoveFolderTemplate from './MoveFolder.hbs';\r\n\r\ninterface MoveFolderViewOptions extends Core.ViewOptions {\r\n folderId: string;\r\n analyticsOptions?: AnalyticsOptions;\r\n}\r\n\r\nexport class MoveFolderView extends Core.View {\r\n public options: MoveFolderViewOptions;\r\n public libraryDataService: LibraryDataService;\r\n public collection: FolderCollection;\r\n public model: Folder;\r\n public viewModel: Folder;\r\n private library: Library;\r\n private spinnerModel: DisabledSpinnerModel;\r\n\r\n constructor(options: MoveFolderViewOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.bindListeners();\r\n\r\n this.libraryDataService = InstanceManager.getInstance(DataServices.Library, this);\r\n }\r\n\r\n private bindListeners(): void {\r\n this.listenTo(DataChannels.LIBRARY, 'libraries:sync', this.render);\r\n this.listenTo(DataChannels.LIBRARY, `folder:${this.options.folderId}:sync`, this.render);\r\n }\r\n\r\n public get name(): string {\r\n return 'MoveFolderView';\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.moveFolder';\r\n }\r\n\r\n public get template(): any {\r\n return MoveFolderTemplate;\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: {\r\n model: this.spinnerModel = new DisabledSpinnerModel(),\r\n channelName: this.channelName,\r\n buttonText: LanguageService.getPhrase(this.lang, 'move'),\r\n onClick: (e: JQuery.Event) => this.onSubmit(e)\r\n }\r\n }\r\n ];\r\n }\r\n\r\n public regions(): ObjectHash {\r\n return {\r\n folderDetails: '.folder-details-region'\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(e: JQuery.Event): void {\r\n e && e.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.saveFolder();\r\n this.logAction();\r\n }\r\n\r\n private logAction(): void {\r\n const { oldParentId, newParentId } = this.getParentIds();\r\n\r\n const data: ObjectHash = {\r\n id: this.options.folderId,\r\n isSubfolder: newParentId.toString() !== this.library.get('id').toString(),\r\n oldParentId,\r\n newParentId\r\n };\r\n\r\n AnalyticsHelper.logUserAction(data, this.options.analyticsOptions);\r\n }\r\n\r\n private saveFolder(): void {\r\n const { oldParentId, newParentId } = this.getParentIds();\r\n\r\n if (oldParentId === newParentId) {\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.LIBRARY_EDITOR,\r\n action: Actions.LibraryEditor.FOLDER,\r\n args: [this.viewModel.get('id')]\r\n });\r\n return;\r\n }\r\n\r\n this.libraryDataService.moveFolder(this.viewModel.get('id'), newParentId, oldParentId, () => {\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.LIBRARY_EDITOR,\r\n action: Actions.LibraryEditor.FOLDER,\r\n args: [this.viewModel.get('id')]\r\n });\r\n this.triggerMethod('hide');\r\n });\r\n }\r\n\r\n private getParentIds(): ObjectHash {\r\n const oldParent = FolderTreeHelpers.getParent(this.options.folderId, this.collection);\r\n const oldParentId = oldParent.get('id');\r\n const newParentId = this.viewModel.get('parentId');\r\n\r\n return { oldParentId, newParentId };\r\n }\r\n\r\n private setUpCollection(data: LibraryCollection): void {\r\n if (this.collection)\r\n return;\r\n\r\n this.library = FolderTreeHelpers.getLibrary(this.options.folderId, data);\r\n\r\n this.collection = this.library.children;\r\n }\r\n\r\n private setUpModel(folder: Folder): void {\r\n if (this.model)\r\n return;\r\n\r\n this.model = folder;\r\n this.setUpViewModel();\r\n }\r\n\r\n private setUpViewModel(): void {\r\n if (this.viewModel)\r\n return;\r\n\r\n const viewModelKey = `folder:details:${this.options.folderId}`;\r\n this.viewModel = ViewModelService.get(viewModelKey, this.model.toJSON(), { ctor: Folder });\r\n const parent = FolderTreeHelpers.getParent(this.options.folderId, this.collection);\r\n this.viewModel.set('parentId', parent ? parent.get('id') : null);\r\n\r\n this.listenTo(this.viewModel, 'change:parentId', this.onParentChange);\r\n }\r\n\r\n private onParentChange(): void {\r\n const { oldParentId, newParentId } = this.getParentIds();\r\n\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.Disabled, oldParentId === newParentId);\r\n }\r\n\r\n private getDisabledParentFolderIds(): string[] {\r\n let ids = [this.model.get('id').toString()];\r\n\r\n if (this.viewModel.get('parentId'))\r\n ids.push(this.viewModel.get('parentId').toString());\r\n\r\n if (!this.model.children)\r\n return ids;\r\n\r\n return [ ...ids, ...FolderTreeHelpers.flatten(this.model.children).map(f => f.id.toString()) ];\r\n }\r\n\r\n private renderFolderDetails(): void {\r\n if (!this.model || !this.collection) return;\r\n\r\n const folderDetails = new FolderDetailsComponent({\r\n model: this.viewModel,\r\n collection: this.collection,\r\n library: this.library,\r\n channelName: this.channelName,\r\n editName: false,\r\n editParent: true,\r\n disabledParentFolderIds: this.getDisabledParentFolderIds()\r\n });\r\n this.showChildView('folderDetails', folderDetails);\r\n }\r\n\r\n public onBeforeRender(): void {\r\n this.libraryDataService.getLibraries(_.bind(this.setUpCollection, this));\r\n this.libraryDataService.getFolderFromLibraries(this.options.folderId, _.bind(this.setUpModel, this));\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n dataFetched: !!this.model && !!this.collection,\r\n spinnerEl: SpinnerHelper.getSpinner({ size: SpinnerSize.Large, extraClasses: 'mx-auto' })\r\n };\r\n }\r\n\r\n public onRender(): void {\r\n this.renderFolderDetails();\r\n }\r\n}"],"sourceRoot":""}
1
+ {"version":3,"sources":["file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/views/move-folder/MoveFolder.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/views/move-folder/MoveFolderView.ts"],"names":[],"mappings":"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","file":"scripts/90.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 return \"<div class=\\\"folder-details-region\\\"></div>\\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, Radio } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { ViewModelService } from 'libs/common/backbone/services/ViewModelService';\r\nimport { InstanceManager } from 'libs/common/backbone/services/InstanceManager';\r\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\n\r\nimport { DataServices, Actions, DataChannels, AppChannels } from 'shared/constants';\r\nimport { PopupBehavior } from 'shared/behaviors';\r\nimport { FolderCollection } from 'shared/collections/FolderCollection';\r\nimport { LibraryCollection } from 'shared/collections/LibraryCollection';\r\nimport { DisabledSpinnerModel } from 'shared/models/DisabledSpinnerModel';\r\nimport { Folder } from 'shared/models/Folder';\r\nimport { Library } from 'shared/models/Library';\r\nimport { SpinnerHelper, SpinnerSize, FolderTreeHelpers, RadioChannelHelper } from 'shared/utils';\r\nimport { SpinnerButtonEvents, SpinnerButtonModelAttributes } 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 { FolderDetailsComponent } from 'apps/library-editor/components/folder-details/FolderDetailsComponent';\r\n\r\nimport MoveFolderTemplate from './MoveFolder.hbs';\r\n\r\ninterface MoveFolderViewOptions extends Core.ViewOptions {\r\n folderId: string;\r\n analyticsOptions?: AnalyticsOptions;\r\n}\r\n\r\nexport class MoveFolderView extends Core.View {\r\n public options: MoveFolderViewOptions;\r\n public libraryDataService: LibraryDataService;\r\n public collection: FolderCollection;\r\n public model: Folder;\r\n public viewModel: Folder;\r\n private library: Library;\r\n private spinnerModel: DisabledSpinnerModel;\r\n\r\n constructor(options: MoveFolderViewOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.bindListeners();\r\n\r\n this.libraryDataService = InstanceManager.getInstance(DataServices.Library, this);\r\n }\r\n\r\n private bindListeners(): void {\r\n this.listenTo(DataChannels.LIBRARY, 'libraries:sync', this.render);\r\n this.listenTo(DataChannels.LIBRARY, `folder:${this.options.folderId}:sync`, this.render);\r\n }\r\n\r\n public get name(): string {\r\n return 'MoveFolderView';\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.moveFolder';\r\n }\r\n\r\n public get template(): any {\r\n return MoveFolderTemplate;\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: {\r\n model: this.spinnerModel = new DisabledSpinnerModel(),\r\n channelName: this.channelName,\r\n buttonText: LanguageService.getPhrase(this.lang, 'move'),\r\n onClick: (e: JQuery.Event) => this.onSubmit(e)\r\n }\r\n }\r\n ];\r\n }\r\n\r\n public regions(): ObjectHash {\r\n return {\r\n folderDetails: '.folder-details-region'\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(e: JQuery.Event): void {\r\n e && e.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.saveFolder();\r\n this.logAction();\r\n }\r\n\r\n private logAction(): void {\r\n const { oldParentId, newParentId } = this.getParentIds();\r\n\r\n const data: ObjectHash = {\r\n id: this.options.folderId,\r\n isSubfolder: newParentId.toString() !== this.library.get('id').toString(),\r\n oldParentId,\r\n newParentId\r\n };\r\n\r\n AnalyticsHelper.logUserAction(data, this.options.analyticsOptions);\r\n }\r\n\r\n private saveFolder(): void {\r\n const { oldParentId, newParentId } = this.getParentIds();\r\n\r\n if (oldParentId === newParentId) {\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.LIBRARY_EDITOR,\r\n action: Actions.LibraryEditor.FOLDER,\r\n args: [this.viewModel.get('id')]\r\n });\r\n return;\r\n }\r\n\r\n this.libraryDataService.moveFolder(this.viewModel.get('id'), newParentId, oldParentId, () => {\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.LIBRARY_EDITOR,\r\n action: Actions.LibraryEditor.FOLDER,\r\n args: [this.viewModel.get('id')]\r\n });\r\n this.triggerMethod('hide');\r\n });\r\n }\r\n\r\n private getParentIds(): ObjectHash {\r\n const oldParent = FolderTreeHelpers.getParent(this.options.folderId, this.collection);\r\n const oldParentId = oldParent.get('id');\r\n const newParentId = this.viewModel.get('parentId');\r\n\r\n return { oldParentId, newParentId };\r\n }\r\n\r\n private setUpCollection(data: LibraryCollection): void {\r\n if (this.collection)\r\n return;\r\n\r\n this.library = FolderTreeHelpers.getLibrary(this.options.folderId, data);\r\n\r\n this.collection = this.library.children;\r\n }\r\n\r\n private setUpModel(folder: Folder): void {\r\n if (this.model)\r\n return;\r\n\r\n this.model = folder;\r\n this.setUpViewModel();\r\n }\r\n\r\n private setUpViewModel(): void {\r\n if (this.viewModel)\r\n return;\r\n\r\n const viewModelKey = `folder:details:${this.options.folderId}`;\r\n this.viewModel = ViewModelService.get(viewModelKey, this.model.toJSON(), { ctor: Folder });\r\n const parent = FolderTreeHelpers.getParent(this.options.folderId, this.collection);\r\n this.viewModel.set('parentId', parent ? parent.get('id') : null);\r\n\r\n this.listenTo(this.viewModel, 'change:parentId', this.onParentChange);\r\n }\r\n\r\n private onParentChange(): void {\r\n const { oldParentId, newParentId } = this.getParentIds();\r\n\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.Disabled, oldParentId === newParentId);\r\n }\r\n\r\n private getDisabledParentFolderIds(): string[] {\r\n let ids = [this.model.get('id').toString()];\r\n\r\n if (this.viewModel.get('parentId'))\r\n ids.push(this.viewModel.get('parentId').toString());\r\n\r\n if (!this.model.children)\r\n return ids;\r\n\r\n return [ ...ids, ...FolderTreeHelpers.flatten(this.model.children).map(f => f.id.toString()) ];\r\n }\r\n\r\n private renderFolderDetails(): void {\r\n if (!this.model || !this.collection) return;\r\n\r\n const folderDetails = new FolderDetailsComponent({\r\n model: this.viewModel,\r\n collection: this.collection,\r\n library: this.library,\r\n channelName: this.channelName,\r\n editName: false,\r\n editParent: true,\r\n disabledParentFolderIds: this.getDisabledParentFolderIds()\r\n });\r\n this.showChildView('folderDetails', folderDetails);\r\n }\r\n\r\n public onBeforeRender(): void {\r\n this.libraryDataService.getLibraries(_.bind(this.setUpCollection, this));\r\n this.libraryDataService.getFolderFromLibraries(this.options.folderId, _.bind(this.setUpModel, this));\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n dataFetched: !!this.model && !!this.collection,\r\n spinnerEl: SpinnerHelper.getSpinner({ size: SpinnerSize.Large, extraClasses: 'mx-auto' })\r\n };\r\n }\r\n\r\n public onRender(): void {\r\n this.renderFolderDetails();\r\n }\r\n}"],"sourceRoot":""}