@clickview/library-editor 1.1.23-rc.3 → 1.1.23

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 (392) 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/scripts/{0-2765595d0a.chunk.js → 0-09e1e33a5c.chunk.js} +1 -1
  63. package/dist/scripts/0.chunk.js +1 -1
  64. package/dist/scripts/0.chunk.js.map +1 -1
  65. package/dist/scripts/{1-b6dedae131.chunk.js → 1-a66bb44471.chunk.js} +1 -1
  66. package/dist/scripts/1.chunk.js.map +1 -1
  67. package/dist/scripts/{10-8307f8e248.chunk.js → 10-6c79d8c6f9.chunk.js} +1 -1
  68. package/dist/scripts/10.chunk.js.map +1 -1
  69. package/dist/scripts/{11-9dbae07504.chunk.js → 11-6eef9e160e.chunk.js} +1 -1
  70. package/dist/scripts/11.chunk.js.map +1 -1
  71. package/dist/scripts/{12-06cf65b136.chunk.js → 12-dbffa50a92.chunk.js} +1 -1
  72. package/dist/scripts/12.chunk.js.map +1 -1
  73. package/dist/scripts/{13-3d84e237b9.chunk.js → 13-37e5cfab3e.chunk.js} +1 -1
  74. package/dist/scripts/13.chunk.js.map +1 -1
  75. package/dist/scripts/{14-988bab314d.chunk.js → 14-b524fbd295.chunk.js} +1 -1
  76. package/dist/scripts/14.chunk.js.map +1 -1
  77. package/dist/scripts/{15-eed00bc875.chunk.js → 15-1ff1252d1a.chunk.js} +1 -1
  78. package/dist/scripts/15.chunk.js.map +1 -1
  79. package/dist/scripts/{16-3a99050a93.chunk.js → 16-b27142fe98.chunk.js} +1 -1
  80. package/dist/scripts/16.chunk.js.map +1 -1
  81. package/dist/scripts/{17-bff211f26a.chunk.js → 17-c3bbe50816.chunk.js} +1 -1
  82. package/dist/scripts/17.chunk.js +1 -1
  83. package/dist/scripts/17.chunk.js.map +1 -1
  84. package/dist/scripts/18.chunk.js.map +1 -1
  85. package/dist/scripts/19.chunk.js +1 -1
  86. package/dist/scripts/19.chunk.js.map +1 -1
  87. package/dist/scripts/{2-5079f4b088.chunk.js → 2-2cc3988222.chunk.js} +1 -1
  88. package/dist/scripts/2.chunk.js.map +1 -1
  89. package/dist/scripts/{20-d4470b4a53.chunk.js → 20-6d9086f5db.chunk.js} +1 -1
  90. package/dist/scripts/20.chunk.js.map +1 -1
  91. package/dist/scripts/{21-77f6ddec3d.chunk.js → 21-2f10553302.chunk.js} +1 -1
  92. package/dist/scripts/21.chunk.js.map +1 -1
  93. package/dist/scripts/{22-9ef39722d1.chunk.js → 22-59ae44b448.chunk.js} +1 -1
  94. package/dist/scripts/22.chunk.js.map +1 -1
  95. package/dist/scripts/{23-c8071cb869.chunk.js → 23-11e008ee63.chunk.js} +1 -1
  96. package/dist/scripts/23.chunk.js +3 -3
  97. package/dist/scripts/23.chunk.js.map +1 -1
  98. package/dist/scripts/{24-b655377e1f.chunk.js → 24-7f21e384d2.chunk.js} +1 -1
  99. package/dist/scripts/24.chunk.js.map +1 -1
  100. package/dist/scripts/{25-f814e3921c.chunk.js → 25-f0f7fa16a4.chunk.js} +1 -1
  101. package/dist/scripts/25.chunk.js.map +1 -1
  102. package/dist/scripts/{26-9dd482e1e6.chunk.js → 26-e65533bd94.chunk.js} +1 -1
  103. package/dist/scripts/26.chunk.js.map +1 -1
  104. package/dist/scripts/{27-5ecd204dab.chunk.js → 27-9dc0f5a4df.chunk.js} +1 -1
  105. package/dist/scripts/27.chunk.js +3 -3
  106. package/dist/scripts/27.chunk.js.map +1 -1
  107. package/dist/scripts/{28-e9b8962af8.chunk.js → 28-26e5c371c7.chunk.js} +1 -1
  108. package/dist/scripts/28.chunk.js +6 -6
  109. package/dist/scripts/28.chunk.js.map +1 -1
  110. package/dist/scripts/{29-e3391b4e4b.chunk.js → 29-61415c2af0.chunk.js} +1 -1
  111. package/dist/scripts/29.chunk.js.map +1 -1
  112. package/dist/scripts/{3-079c0b4d3b.chunk.js → 3-5eff8c9df5.chunk.js} +1 -1
  113. package/dist/scripts/3.chunk.js +13 -25
  114. package/dist/scripts/3.chunk.js.map +1 -1
  115. package/dist/scripts/{30-a6a7291b5e.chunk.js → 30-6075c28972.chunk.js} +1 -1
  116. package/dist/scripts/30.chunk.js +6 -6
  117. package/dist/scripts/30.chunk.js.map +1 -1
  118. package/dist/scripts/31-e35ae4e153.chunk.js +1 -0
  119. package/dist/scripts/31.chunk.js.map +1 -1
  120. package/dist/scripts/{32-96ac2f9c32.chunk.js → 32-d5a50a7592.chunk.js} +1 -1
  121. package/dist/scripts/32.chunk.js.map +1 -1
  122. package/dist/scripts/{33-061a87935f.chunk.js → 33-5ae90ed7d7.chunk.js} +1 -1
  123. package/dist/scripts/33.chunk.js.map +1 -1
  124. package/dist/scripts/{34-56f92b9a87.chunk.js → 34-50402c1835.chunk.js} +1 -1
  125. package/dist/scripts/34.chunk.js.map +1 -1
  126. package/dist/scripts/{35-cdd788a4b5.chunk.js → 35-ec8c190357.chunk.js} +1 -1
  127. package/dist/scripts/35.chunk.js.map +1 -1
  128. package/dist/scripts/{36-7d33d11b58.chunk.js → 36-4d467bc42e.chunk.js} +1 -1
  129. package/dist/scripts/36.chunk.js.map +1 -1
  130. package/dist/scripts/{37-fbd149e569.chunk.js → 37-37e8965783.chunk.js} +1 -1
  131. package/dist/scripts/37.chunk.js.map +1 -1
  132. package/dist/scripts/{38-57af633fa1.chunk.js → 38-3dc24b8867.chunk.js} +1 -1
  133. package/dist/scripts/38.chunk.js.map +1 -1
  134. package/dist/scripts/{39-cc627dfe2b.chunk.js → 39-350ff66a2b.chunk.js} +1 -1
  135. package/dist/scripts/39.chunk.js.map +1 -1
  136. package/dist/scripts/{4-0a8a5ac2f0.chunk.js → 4-b3f3c7c71c.chunk.js} +1 -1
  137. package/dist/scripts/4.chunk.js.map +1 -1
  138. package/dist/scripts/{40-78639874b5.chunk.js → 40-3443f99cb2.chunk.js} +1 -1
  139. package/dist/scripts/40.chunk.js.map +1 -1
  140. package/dist/scripts/{41-2c6722e410.chunk.js → 41-b5dfd35e9e.chunk.js} +1 -1
  141. package/dist/scripts/41.chunk.js.map +1 -1
  142. package/dist/scripts/{42-9b7795d20a.chunk.js → 42-103fecb7b6.chunk.js} +1 -1
  143. package/dist/scripts/42.chunk.js.map +1 -1
  144. package/dist/scripts/{43-006ce08a8f.chunk.js → 43-57b07579f7.chunk.js} +1 -1
  145. package/dist/scripts/43.chunk.js.map +1 -1
  146. package/dist/scripts/{44-b4c134efe8.chunk.js → 44-210d64dffe.chunk.js} +1 -1
  147. package/dist/scripts/44.chunk.js.map +1 -1
  148. package/dist/scripts/{45-3e85e78a77.chunk.js → 45-632b07e926.chunk.js} +1 -1
  149. package/dist/scripts/45.chunk.js.map +1 -1
  150. package/dist/scripts/{46-1256828b60.chunk.js → 46-82cce63cbf.chunk.js} +1 -1
  151. package/dist/scripts/46.chunk.js +6 -6
  152. package/dist/scripts/46.chunk.js.map +1 -1
  153. package/dist/scripts/{47-9e514e7536.chunk.js → 47-595b4aae87.chunk.js} +1 -1
  154. package/dist/scripts/47.chunk.js +1 -2
  155. package/dist/scripts/47.chunk.js.map +1 -1
  156. package/dist/scripts/{48-9af8b50e4f.chunk.js → 48-fcf6378889.chunk.js} +1 -1
  157. package/dist/scripts/48.chunk.js.map +1 -1
  158. package/dist/scripts/{49-883d9131af.chunk.js → 49-d8a4899eb1.chunk.js} +1 -1
  159. package/dist/scripts/49.chunk.js.map +1 -1
  160. package/dist/scripts/{5-f5ad097d2b.chunk.js → 5-06bc197b1e.chunk.js} +1 -1
  161. package/dist/scripts/5.chunk.js +3 -3
  162. package/dist/scripts/5.chunk.js.map +1 -1
  163. package/dist/scripts/{50-198f89794c.chunk.js → 50-11b1a49916.chunk.js} +1 -1
  164. package/dist/scripts/50.chunk.js.map +1 -1
  165. package/dist/scripts/{51-61bb2b80fe.chunk.js → 51-72a75e0265.chunk.js} +1 -1
  166. package/dist/scripts/51.chunk.js.map +1 -1
  167. package/dist/scripts/{52-e7fd215888.chunk.js → 52-195f73bcd6.chunk.js} +1 -1
  168. package/dist/scripts/52.chunk.js.map +1 -1
  169. package/dist/scripts/{53-595b1efa1a.chunk.js → 53-bb4f37ee25.chunk.js} +1 -1
  170. package/dist/scripts/53.chunk.js.map +1 -1
  171. package/dist/scripts/{54-646c8458e0.chunk.js → 54-7a201d8285.chunk.js} +1 -1
  172. package/dist/scripts/54.chunk.js.map +1 -1
  173. package/dist/scripts/{55-dac67eae0b.chunk.js → 55-be3d7b8805.chunk.js} +1 -1
  174. package/dist/scripts/55.chunk.js.map +1 -1
  175. package/dist/scripts/{56-9a02efb9a1.chunk.js → 56-6aeece1bf1.chunk.js} +1 -1
  176. package/dist/scripts/56.chunk.js.map +1 -1
  177. package/dist/scripts/{57-bf72265d49.chunk.js → 57-59ee15161b.chunk.js} +1 -1
  178. package/dist/scripts/57.chunk.js.map +1 -1
  179. package/dist/scripts/{58-34ef45f4b6.chunk.js → 58-8ff58b194a.chunk.js} +1 -1
  180. package/dist/scripts/58.chunk.js.map +1 -1
  181. package/dist/scripts/{59-f3d473090d.chunk.js → 59-3d33954fcb.chunk.js} +1 -1
  182. package/dist/scripts/59.chunk.js.map +1 -1
  183. package/dist/scripts/{6-a5f6258253.chunk.js → 6-a469872b10.chunk.js} +1 -1
  184. package/dist/scripts/6.chunk.js.map +1 -1
  185. package/dist/scripts/{60-ac4f11764a.chunk.js → 60-f092baa91c.chunk.js} +1 -1
  186. package/dist/scripts/60.chunk.js.map +1 -1
  187. package/dist/scripts/{61-62ec9b3628.chunk.js → 61-bd9ef62ccd.chunk.js} +1 -1
  188. package/dist/scripts/61.chunk.js +12 -12
  189. package/dist/scripts/61.chunk.js.map +1 -1
  190. package/dist/scripts/{62-4d0e82f903.chunk.js → 62-f15b3bf74c.chunk.js} +1 -1
  191. package/dist/scripts/62.chunk.js.map +1 -1
  192. package/dist/scripts/{63-47af37825d.chunk.js → 63-92757f75e7.chunk.js} +1 -1
  193. package/dist/scripts/63.chunk.js.map +1 -1
  194. package/dist/scripts/{64-c42635a917.chunk.js → 64-c5a1c55521.chunk.js} +1 -1
  195. package/dist/scripts/64.chunk.js.map +1 -1
  196. package/dist/scripts/{65-7780441e5e.chunk.js → 65-6bb10ae23b.chunk.js} +1 -1
  197. package/dist/scripts/65.chunk.js.map +1 -1
  198. package/dist/scripts/{66-7f2750cd97.chunk.js → 66-f047027f7d.chunk.js} +1 -1
  199. package/dist/scripts/66.chunk.js.map +1 -1
  200. package/dist/scripts/{67-564ff2bd16.chunk.js → 67-2e1a011200.chunk.js} +1 -1
  201. package/dist/scripts/67.chunk.js.map +1 -1
  202. package/dist/scripts/{68-df9024fadc.chunk.js → 68-d5c0ab3fc1.chunk.js} +1 -1
  203. package/dist/scripts/68.chunk.js.map +1 -1
  204. package/dist/scripts/{69-4d32ddddbc.chunk.js → 69-fc8325afc9.chunk.js} +1 -1
  205. package/dist/scripts/69.chunk.js.map +1 -1
  206. package/dist/scripts/{7-2696f5afc4.chunk.js → 7-58dd909fa3.chunk.js} +1 -1
  207. package/dist/scripts/7.chunk.js.map +1 -1
  208. package/dist/scripts/{70-2a427b3dd0.chunk.js → 70-ceda95013e.chunk.js} +1 -1
  209. package/dist/scripts/70.chunk.js.map +1 -1
  210. package/dist/scripts/{71-215cac8b69.chunk.js → 71-6e8fc95beb.chunk.js} +1 -1
  211. package/dist/scripts/71.chunk.js.map +1 -1
  212. package/dist/scripts/{72-6eb3ef092e.chunk.js → 72-53fe3338bf.chunk.js} +1 -1
  213. package/dist/scripts/72.chunk.js.map +1 -1
  214. package/dist/scripts/73.chunk.js.map +1 -1
  215. package/dist/scripts/74.chunk.js.map +1 -1
  216. package/dist/scripts/75.chunk.js.map +1 -1
  217. package/dist/scripts/76.chunk.js.map +1 -1
  218. package/dist/scripts/77.chunk.js.map +1 -1
  219. package/dist/scripts/78.chunk.js.map +1 -1
  220. package/dist/scripts/79.chunk.js.map +1 -1
  221. package/dist/scripts/{8-f4f18356f7.chunk.js → 8-6974afed28.chunk.js} +1 -1
  222. package/dist/scripts/8.chunk.js.map +1 -1
  223. package/dist/scripts/80.chunk.js.map +1 -1
  224. package/dist/scripts/81.chunk.js.map +1 -1
  225. package/dist/scripts/82.chunk.js.map +1 -1
  226. package/dist/scripts/83.chunk.js.map +1 -1
  227. package/dist/scripts/84.chunk.js.map +1 -1
  228. package/dist/scripts/85.chunk.js.map +1 -1
  229. package/dist/scripts/86.chunk.js.map +1 -1
  230. package/dist/scripts/87.chunk.js.map +1 -1
  231. package/dist/scripts/88.chunk.js.map +1 -1
  232. package/dist/scripts/89.chunk.js.map +1 -1
  233. package/dist/scripts/{9-cd0bcefa7f.chunk.js → 9-9279038caa.chunk.js} +1 -1
  234. package/dist/scripts/9.chunk.js.map +1 -1
  235. package/dist/scripts/90.chunk.js.map +1 -1
  236. package/dist/scripts/91.chunk.js.map +1 -1
  237. package/dist/scripts/92.chunk.js.map +1 -1
  238. package/dist/scripts/bundle-06dc1f4908.min.js +8 -0
  239. package/dist/scripts/bundle-8498807388.min.js +1 -0
  240. package/dist/scripts/{bundle-5b64746afd.min.js → bundle-891db89400.min.js} +1 -1
  241. package/dist/scripts/bundle-f4a423ce34.min.js +1 -0
  242. package/dist/scripts/bundle.js +1364 -1492
  243. package/dist/scripts/bundle.js.map +1 -1
  244. package/dist/scripts/bundles.json +2 -2
  245. package/dist/scripts/polyfills-efb4d7caa3.min.js +1 -0
  246. package/dist/scripts/polyfills.js +1050 -1050
  247. package/dist/scripts/polyfills.js.map +1 -1
  248. package/package.json +3 -3
  249. package/dist/scripts/0-f82360fd03.chunk.js +0 -1
  250. package/dist/scripts/1-35f87e4cdc.chunk.js +0 -1
  251. package/dist/scripts/10-227e797872.chunk.js +0 -1
  252. package/dist/scripts/12-43e54b0a2d.chunk.js +0 -1
  253. package/dist/scripts/13-01ee41eb1e.chunk.js +0 -1
  254. package/dist/scripts/14-cf307e51d9.chunk.js +0 -1
  255. package/dist/scripts/15-bedb9ff6d0.chunk.js +0 -1
  256. package/dist/scripts/16-339a29fa2f.chunk.js +0 -1
  257. package/dist/scripts/17-66da06be62.chunk.js +0 -1
  258. package/dist/scripts/20-6019ccb462.chunk.js +0 -1
  259. package/dist/scripts/21-7bd1977005.chunk.js +0 -1
  260. package/dist/scripts/22-d88b8e9c20.chunk.js +0 -1
  261. package/dist/scripts/23-e8a0f60c53.chunk.js +0 -1
  262. package/dist/scripts/24-f62e7ff166.chunk.js +0 -1
  263. package/dist/scripts/25-acda0ed17e.chunk.js +0 -1
  264. package/dist/scripts/26-39f6c3ca17.chunk.js +0 -1
  265. package/dist/scripts/27-1313c7d392.chunk.js +0 -1
  266. package/dist/scripts/28-b583483a6e.chunk.js +0 -1
  267. package/dist/scripts/29-44119e600a.chunk.js +0 -1
  268. package/dist/scripts/3-bea2c1c371.chunk.js +0 -1
  269. package/dist/scripts/30-aef6a19cde.chunk.js +0 -1
  270. package/dist/scripts/31-4f1ea6d067.chunk.js +0 -1
  271. package/dist/scripts/31-70fe14b490.chunk.js +0 -1
  272. package/dist/scripts/32-0b05da2f4c.chunk.js +0 -1
  273. package/dist/scripts/33-04b1fbcdeb.chunk.js +0 -1
  274. package/dist/scripts/34-4f2c861480.chunk.js +0 -1
  275. package/dist/scripts/35-08ead0d078.chunk.js +0 -1
  276. package/dist/scripts/36-4db22bf8bb.chunk.js +0 -1
  277. package/dist/scripts/37-4de2537ff4.chunk.js +0 -1
  278. package/dist/scripts/38-7733a3d81e.chunk.js +0 -1
  279. package/dist/scripts/39-5451786b7d.chunk.js +0 -1
  280. package/dist/scripts/4-84fa8e49e2.chunk.js +0 -1
  281. package/dist/scripts/40-31940ddf04.chunk.js +0 -1
  282. package/dist/scripts/41-0366a0332e.chunk.js +0 -1
  283. package/dist/scripts/42-c87c36d7d4.chunk.js +0 -1
  284. package/dist/scripts/43-591954817b.chunk.js +0 -1
  285. package/dist/scripts/44-fc3a1d45c5.chunk.js +0 -1
  286. package/dist/scripts/45-32ce8dd910.chunk.js +0 -1
  287. package/dist/scripts/46-e096df45ef.chunk.js +0 -1
  288. package/dist/scripts/47-61b53964c2.chunk.js +0 -1
  289. package/dist/scripts/48-3f804b22a4.chunk.js +0 -1
  290. package/dist/scripts/49-79b28e90c9.chunk.js +0 -1
  291. package/dist/scripts/5-093c9ee130.chunk.js +0 -1
  292. package/dist/scripts/50-ce04770db1.chunk.js +0 -1
  293. package/dist/scripts/51-177fe97a9b.chunk.js +0 -1
  294. package/dist/scripts/52-d8cf26c75f.chunk.js +0 -1
  295. package/dist/scripts/53-e78a58c963.chunk.js +0 -1
  296. package/dist/scripts/54-7976c21511.chunk.js +0 -1
  297. package/dist/scripts/55-5e3b70736e.chunk.js +0 -1
  298. package/dist/scripts/56-3c520aec72.chunk.js +0 -1
  299. package/dist/scripts/57-6f84e1bb9d.chunk.js +0 -1
  300. package/dist/scripts/58-1c37240b43.chunk.js +0 -1
  301. package/dist/scripts/59-05cbb57b32.chunk.js +0 -1
  302. package/dist/scripts/6-e49b6b4c08.chunk.js +0 -1
  303. package/dist/scripts/60-dd50d4179f.chunk.js +0 -1
  304. package/dist/scripts/61-e759f86871.chunk.js +0 -1
  305. package/dist/scripts/62-bfd5450b13.chunk.js +0 -1
  306. package/dist/scripts/63-8521e39a2e.chunk.js +0 -1
  307. package/dist/scripts/64-12150ef48b.chunk.js +0 -1
  308. package/dist/scripts/65-a4fdf8777b.chunk.js +0 -1
  309. package/dist/scripts/66-029947cf5c.chunk.js +0 -1
  310. package/dist/scripts/67-47f208342a.chunk.js +0 -1
  311. package/dist/scripts/68-5656cc45fe.chunk.js +0 -1
  312. package/dist/scripts/69-a4b3442e68.chunk.js +0 -1
  313. package/dist/scripts/7-b39ab430b9.chunk.js +0 -1
  314. package/dist/scripts/70-0f070c1596.chunk.js +0 -1
  315. package/dist/scripts/71-c43ee23686.chunk.js +0 -1
  316. package/dist/scripts/72-f5a8cfc8b7.chunk.js +0 -1
  317. package/dist/scripts/8-1e0751e30b.chunk.js +0 -1
  318. package/dist/scripts/9-bb567e1c99.chunk.js +0 -1
  319. package/dist/scripts/bundle-e7f4d4e659.min.js +0 -8
  320. package/dist/scripts/bundle-f73bcaa857.min.js +0 -8
  321. package/dist/scripts/polyfills-9517d7e647.min.js +0 -1
  322. package/dist/scripts/polyfills-e442ebbfb0.min.js +0 -1
  323. /package/dist/scripts/{0-2d62d8ccd7.chunk.js → 0-f604eee110.chunk.js} +0 -0
  324. /package/dist/scripts/{1-cf6d342590.chunk.js → 1-056bd8c79b.chunk.js} +0 -0
  325. /package/dist/scripts/{10-7475ff8374.chunk.js → 10-028c6001e1.chunk.js} +0 -0
  326. /package/dist/scripts/{12-20b4c4cdb6.chunk.js → 12-d3f51f4e06.chunk.js} +0 -0
  327. /package/dist/scripts/{13-292e92093a.chunk.js → 13-4029d31569.chunk.js} +0 -0
  328. /package/dist/scripts/{14-66f92fd1d3.chunk.js → 14-4c94f97e4e.chunk.js} +0 -0
  329. /package/dist/scripts/{15-d580267aff.chunk.js → 15-ec9aa4878b.chunk.js} +0 -0
  330. /package/dist/scripts/{16-0aa5e3e5fe.chunk.js → 16-5bc8299e14.chunk.js} +0 -0
  331. /package/dist/scripts/{17-f44cb6ca42.chunk.js → 17-9fe035f9e2.chunk.js} +0 -0
  332. /package/dist/scripts/{20-af6230b8af.chunk.js → 20-60e4eee833.chunk.js} +0 -0
  333. /package/dist/scripts/{21-1281b41577.chunk.js → 21-a7fffe8852.chunk.js} +0 -0
  334. /package/dist/scripts/{22-878d242dfd.chunk.js → 22-f670791432.chunk.js} +0 -0
  335. /package/dist/scripts/{23-e55ad46abd.chunk.js → 23-4d26d6300a.chunk.js} +0 -0
  336. /package/dist/scripts/{24-87aea794c8.chunk.js → 24-813ef82099.chunk.js} +0 -0
  337. /package/dist/scripts/{25-b3b05ff03c.chunk.js → 25-023d08a591.chunk.js} +0 -0
  338. /package/dist/scripts/{26-5f79a251ff.chunk.js → 26-a9fcf0d596.chunk.js} +0 -0
  339. /package/dist/scripts/{27-fb5a56b6e9.chunk.js → 27-84f7bbade6.chunk.js} +0 -0
  340. /package/dist/scripts/{28-d75e03d0c0.chunk.js → 28-cdf603f4cf.chunk.js} +0 -0
  341. /package/dist/scripts/{29-2c0b30c31b.chunk.js → 29-8278d23f9b.chunk.js} +0 -0
  342. /package/dist/scripts/{3-29a29544af.chunk.js → 3-1fa81c9d9b.chunk.js} +0 -0
  343. /package/dist/scripts/{30-a373fad3e5.chunk.js → 30-7ab880728c.chunk.js} +0 -0
  344. /package/dist/scripts/{31-1bb00d89bc.chunk.js → 31-aa4cd0f45e.chunk.js} +0 -0
  345. /package/dist/scripts/{32-a5e4069473.chunk.js → 32-7717941f1d.chunk.js} +0 -0
  346. /package/dist/scripts/{33-c671ce256e.chunk.js → 33-6da33143ea.chunk.js} +0 -0
  347. /package/dist/scripts/{34-e896aea27d.chunk.js → 34-27e40f4d4b.chunk.js} +0 -0
  348. /package/dist/scripts/{35-be151f3db1.chunk.js → 35-3260300446.chunk.js} +0 -0
  349. /package/dist/scripts/{36-e1dc9478b6.chunk.js → 36-bec0c74d05.chunk.js} +0 -0
  350. /package/dist/scripts/{37-b3aa0290c0.chunk.js → 37-3916177181.chunk.js} +0 -0
  351. /package/dist/scripts/{38-c1c3eaedae.chunk.js → 38-89f7c22ea8.chunk.js} +0 -0
  352. /package/dist/scripts/{39-6969b0c7b0.chunk.js → 39-9456631219.chunk.js} +0 -0
  353. /package/dist/scripts/{4-a0d8871170.chunk.js → 4-a7f6d378e0.chunk.js} +0 -0
  354. /package/dist/scripts/{40-8f82ccc935.chunk.js → 40-f65196723f.chunk.js} +0 -0
  355. /package/dist/scripts/{41-8512aa7dc5.chunk.js → 41-70b16d99d0.chunk.js} +0 -0
  356. /package/dist/scripts/{42-e4f279e42c.chunk.js → 42-e17f214d6c.chunk.js} +0 -0
  357. /package/dist/scripts/{43-11144c5f88.chunk.js → 43-6826fbc7d4.chunk.js} +0 -0
  358. /package/dist/scripts/{44-558a97cea6.chunk.js → 44-593e820fa2.chunk.js} +0 -0
  359. /package/dist/scripts/{45-73329af938.chunk.js → 45-8231a03833.chunk.js} +0 -0
  360. /package/dist/scripts/{46-db028594cc.chunk.js → 46-682ca88fd9.chunk.js} +0 -0
  361. /package/dist/scripts/{47-8b9d860084.chunk.js → 47-aec7cf95e8.chunk.js} +0 -0
  362. /package/dist/scripts/{48-ab5af19e09.chunk.js → 48-7b09165697.chunk.js} +0 -0
  363. /package/dist/scripts/{49-df996c66c2.chunk.js → 49-0e6ceb191f.chunk.js} +0 -0
  364. /package/dist/scripts/{5-27d34603ed.chunk.js → 5-e2e64bc05f.chunk.js} +0 -0
  365. /package/dist/scripts/{50-0d6bdb887e.chunk.js → 50-fa6f6fd1dc.chunk.js} +0 -0
  366. /package/dist/scripts/{51-819b13fe95.chunk.js → 51-1c9fca4604.chunk.js} +0 -0
  367. /package/dist/scripts/{52-4977addfab.chunk.js → 52-ebce0c9f12.chunk.js} +0 -0
  368. /package/dist/scripts/{53-1ad87216cb.chunk.js → 53-c6807d4e0b.chunk.js} +0 -0
  369. /package/dist/scripts/{54-0a404f9f36.chunk.js → 54-e6195aa62a.chunk.js} +0 -0
  370. /package/dist/scripts/{55-9163aa1312.chunk.js → 55-f9f9a251af.chunk.js} +0 -0
  371. /package/dist/scripts/{56-04f189d5de.chunk.js → 56-20f27f96db.chunk.js} +0 -0
  372. /package/dist/scripts/{57-4eb1cc6019.chunk.js → 57-b25862dbf0.chunk.js} +0 -0
  373. /package/dist/scripts/{58-804f31a61a.chunk.js → 58-edf06f18f9.chunk.js} +0 -0
  374. /package/dist/scripts/{59-dcbd713f4b.chunk.js → 59-241a666e49.chunk.js} +0 -0
  375. /package/dist/scripts/{6-26cb86223d.chunk.js → 6-c631df7bda.chunk.js} +0 -0
  376. /package/dist/scripts/{60-d8853c434d.chunk.js → 60-ac631fa385.chunk.js} +0 -0
  377. /package/dist/scripts/{61-c8c69eeff5.chunk.js → 61-360e50b6cb.chunk.js} +0 -0
  378. /package/dist/scripts/{62-45c821e85d.chunk.js → 62-22ee1d2a94.chunk.js} +0 -0
  379. /package/dist/scripts/{63-c236987805.chunk.js → 63-25413d744e.chunk.js} +0 -0
  380. /package/dist/scripts/{64-fbab857648.chunk.js → 64-1b027092be.chunk.js} +0 -0
  381. /package/dist/scripts/{65-b2901f7de5.chunk.js → 65-c8a9aae545.chunk.js} +0 -0
  382. /package/dist/scripts/{66-fb79386913.chunk.js → 66-20aec598ca.chunk.js} +0 -0
  383. /package/dist/scripts/{67-048121cf49.chunk.js → 67-d8d1cb35a4.chunk.js} +0 -0
  384. /package/dist/scripts/{68-d529af6c1b.chunk.js → 68-869ea333d9.chunk.js} +0 -0
  385. /package/dist/scripts/{69-4548bb42ea.chunk.js → 69-c4ff3e5568.chunk.js} +0 -0
  386. /package/dist/scripts/{7-10b288197e.chunk.js → 7-1d94e0bb0c.chunk.js} +0 -0
  387. /package/dist/scripts/{70-e36b006dbe.chunk.js → 70-171dcf9fe1.chunk.js} +0 -0
  388. /package/dist/scripts/{71-5d5ec02d3d.chunk.js → 71-33e7082ca2.chunk.js} +0 -0
  389. /package/dist/scripts/{72-d98ffab96a.chunk.js → 72-2eef8b13b0.chunk.js} +0 -0
  390. /package/dist/scripts/{8-b0942a9479.chunk.js → 8-34ae87490f.chunk.js} +0 -0
  391. /package/dist/scripts/{9-ba4f55ce15.chunk.js → 9-0d7004dd33.chunk.js} +0 -0
  392. /package/dist/scripts/{polyfills-5c483eb7f4.min.js → polyfills-21eaf1215c.min.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/utils/ChapterHelper.ts","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/utils/DownloadHelper.ts","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/utils/EditVideoHelpers.ts","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/utils/FolderValidation.ts","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/utils/LanguageValidation.ts","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/utils/LibraryValidation.ts","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/utils/UploadVideoValidation.ts","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/utils/VideoDetailsHelper.ts","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/utils/index.ts","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/shared/collections/MetadataCollection.ts"],"names":[],"mappings":"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","file":"scripts/0.chunk.js","sourcesContent":["import * as _ from 'underscore';\r\n\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport { Chapter } from 'shared/models/Chapter';\r\nimport { TimeHelpers } from 'shared/utils';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nconst lang = 'libraryEditor.utils';\r\n\r\nconst ChapterHelpers = {\r\n /**\r\n * Returns an error message if the start time of a chapter is invalid, or null\r\n */\r\n isValidChapterTime(model: Chapter, newTime: number, duration: number, collection: Core.Collection<Chapter>): string {\r\n if (collection) {\r\n if (!_.isNumber(newTime)) return ChapterValidationMessages.StartTime.Invalid();\r\n\r\n // Start time can't be greater than length of video or less than 0\r\n if (newTime < 0) return ChapterValidationMessages.StartTime.Invalid();\r\n if (newTime > TimeHelpers.millisecondsToSeconds(duration)) return ChapterValidationMessages.StartTime.Exceeds();\r\n\r\n // Make sure start time doesn't already exist\r\n const exists = collection.some((c: Chapter) => {\r\n let notModel = !((c.id && c.id === model.id) || (c.cid === model.cid));\r\n return (notModel && c.get('startTime') === newTime);\r\n });\r\n\r\n if (exists) return ChapterValidationMessages.StartTime.Exists();\r\n }\r\n },\r\n /**\r\n * Returns an error message if the name of a chapter is invalid, or null\r\n */\r\n isValidChapterName(model: Chapter, newName: string, collection: Core.Collection<Chapter>): string | null {\r\n if (!newName) return ChapterValidationMessages.Name.Invalid();\r\n if (newName.length > 255) return ChapterValidationMessages.Name.MaxLength();\r\n\r\n const exists = collection.some((c: Chapter) => {\r\n let notModel = !((c.id && c.id === model.id) || (c.cid === model.cid));\r\n return (notModel && c.get('name').trim() === newName.trim());\r\n });\r\n\r\n if (exists) return ChapterValidationMessages.Name.Exists();\r\n if (_.isEmpty(newName.trim())) return ChapterValidationMessages.Name.Invalid();\r\n },\r\n\r\n /**\r\n * Map our physical chapters against Metachapter models, allowing them to be displayed\r\n * consisitently within the UI.\r\n */\r\n mapPhysicalChapters(chapters: any[]): any[] {\r\n let totalTime: number = 0;\r\n\r\n return _.map(chapters, (c, i) => {\r\n const chapter = {\r\n name: c.title,\r\n startTime: totalTime,\r\n index: i,\r\n isPhysicalChapter: true\r\n };\r\n\r\n totalTime += c.duration;\r\n return chapter;\r\n });\r\n }\r\n};\r\n\r\nconst ChapterValidationMessages = {\r\n Name: {\r\n Invalid: () => LanguageService.getPhrase(lang, 'chapterNameInvalid'),\r\n Exists: () => LanguageService.getPhrase(lang, 'chapterNameExists'),\r\n MaxLength: () => LanguageService.getPhrase(lang, 'chapterNameExceeds')\r\n },\r\n StartTime: {\r\n Invalid: () => LanguageService.getPhrase(lang, 'chapterStartTimeInvalid'),\r\n Exists: () => LanguageService.getPhrase(lang, 'chapterStartTimeExists'),\r\n Exceeds: () => LanguageService.getPhrase(lang, 'chapterStartTimeExceeds')\r\n },\r\n};\r\n\r\nexport { ChapterHelpers };","import { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\r\n\r\nexport const DownloadHelper = {\r\n getVideoDownloadUrl(downloadProxyUrl: string, token: string): string {\r\n return UrlHelper.safeUrlConcat(UrlHelper.makeHttps(downloadProxyUrl), `/download?token=${token}`);\r\n }\r\n};","import { Core } from 'libs/common/core';\r\n\r\nimport { ObjectHash } from 'backbone';\r\nimport * as _ from 'underscore';\r\n\r\nimport { Video } from 'shared/models/Video';\r\nimport { DevError } from 'libs/common/backbone/errors/DevError';\r\nimport * as moment from 'moment';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { FieldsCollection } from 'shared/collections/FieldsCollection';\r\n\r\nconst lang = 'libraryEditor.utils';\r\n\r\n/**\r\n * Remove certain properties from being detected as part of the change set.\r\n * This is important when we are managing assocs manually, they shouldn't be passed\r\n * with the call to update the video.\r\n */\r\nconst omitProperties = [ 'tags', 'thumbnail', 'chapters', 'resources', 'subtitles', 'disabled', 'links', 'restrictions', 'categories' ];\r\n\r\nfunction getChanges(initialState: any, updatedState: any): any {\r\n if (!initialState)\r\n return;\r\n\r\n const updatedKeys = _.reduce(initialState, (result, val: any, key: string) => {\r\n const updatedVal = updatedState[key];\r\n\r\n if (!val && !updatedVal)\r\n return result;\r\n\r\n // Ignore assoc changes that share the same ID\r\n if (_.isObject(val) && _.isObject(updatedVal) && !_.isUndefined(val.id) && val.id === updatedVal.id)\r\n return result;\r\n\r\n if (_.isArray(val)) {\r\n return getArrayChanges(val, updatedVal).length ? result.concat(key) : result;\r\n }\r\n\r\n return _.isEqual(val, updatedVal) ? result : result.concat(key);\r\n }, []);\r\n\r\n if (!updatedKeys.length)\r\n return;\r\n\r\n return _.object(_.map(updatedKeys, (key: string) => {\r\n if (_.isArray(updatedState[key]))\r\n return [ key, getArrayChanges(initialState[key], updatedState[key]) ];\r\n\r\n return [ key, updatedState[key] ];\r\n }));\r\n}\r\n\r\nfunction getArrayChanges(originalArray: any[], newArray: any[]): any[] {\r\n const modified: any[] = [];\r\n _.each(newArray, (updatedItem: any) => {\r\n const original = _.findWhere(originalArray, { id: updatedItem.id });\r\n\r\n // Item has been removed. We do not want this to be detected here.\r\n if (_.isUndefined(original) && Object.keys(updatedItem).length === 0)\r\n return;\r\n\r\n const changes = _.isUndefined(original) ? updatedItem : getChanges(original, updatedItem);\r\n if (!changes)\r\n return;\r\n\r\n /**\r\n * We treat objects with a negative id as new objects.\r\n * \r\n * This was added so that we could have default items on the\r\n * video model that get persisted if the user changes them - Sha\r\n */\r\n if (updatedItem.id < 0 && !updatedItem.value)\r\n return;\r\n\r\n if (!original || updatedItem.id < 0) {\r\n modified.push(updatedItem);\r\n return;\r\n }\r\n\r\n changes.id = updatedItem.id;\r\n modified.push(changes);\r\n });\r\n return modified;\r\n}\r\n\r\nconst EditVideoHelpers = {\r\n getChanges(video: Video, viewModel: Video): ObjectHash {\r\n const initialState = _.omit(video.toJSON(), omitProperties);\r\n const updatedState = _.omit(viewModel.toJSON(), omitProperties);\r\n\r\n const changes = getChanges(initialState, updatedState);\r\n\r\n if (!changes)\r\n return;\r\n\r\n return _.object(_.map(_.keys(changes), key => {\r\n return [ key, EditVideoHelpers.formatChanges(key, changes[key]) ];\r\n }));\r\n },\r\n\r\n /**\r\n * Format video data model to be updated within Master\r\n */\r\n formatChanges(key: string, updatedVal: any): any {\r\n if (!updatedVal)\r\n return null;\r\n\r\n // Dissoc object\r\n if (_.isObject(updatedVal) && _.isEmpty(updatedVal))\r\n return null;\r\n\r\n switch (key) {\r\n case 'name':\r\n case 'description':\r\n case 'productionYear':\r\n case 'dateBroadcast':\r\n case 'fields':\r\n case 'episodeNumber':\r\n return updatedVal;\r\n\r\n case 'channel':\r\n case 'series':\r\n case 'rating':\r\n case 'season':\r\n return { id: updatedVal.id };\r\n\r\n case 'distributors':\r\n case 'producers':\r\n case 'directors':\r\n case 'productionCompanies':\r\n return _.map(updatedVal, (val: ObjectHash) => val.id);\r\n\r\n // We should never be updating dateModified\r\n case 'dateModified':\r\n // hasBroadcast is just used within the UI and shouldn't be persisted to master\r\n case 'hasBroadcast':\r\n return;\r\n\r\n default:\r\n Core.ErrorHelper.throw(new DevError(`There are no formatting settings for ${key}`));\r\n }\r\n },\r\n\r\n /**\r\n * Update our model state - the order here is important.\r\n * 1. Update the viewModel to be aligned against the new server model. The server model\r\n * only contains base attributes (without any assocs), so we first need to merge this against\r\n * the viewModel in case we have updated assocs.\r\n * \r\n * 2. Update the base model to be a copy of the current viewModel, this ensures that changes\r\n * to any assocs are also carried across.\r\n * \r\n * 3. Clear any assocs that have actually changed\r\n */\r\n updateModelState(model: Video, viewModel: Video, updatedVideo: ObjectHash): void {\r\n // Collection arrays for updatedVideo only contain NEW models. Here, we override the value to include ALL models\r\n const collections = [ 'distributors', 'producers', 'directors', 'productionCompanies' ];\r\n _.each(_.keys(updatedVideo), key => {\r\n if (!collections.includes(key)) return;\r\n updatedVideo[key] = viewModel.get(key).toJSON();\r\n });\r\n\r\n // Clone the update as it appears to be mutated when setting the viewModel - which is a bug.\r\n viewModel.set(_.clone(updatedVideo), { silent: true });\r\n model.set(viewModel.toJSON(), { silent: true });\r\n\r\n /**\r\n * We need to check if we've removed an assoc and manually reset \r\n * it on the video model. We do this against the updatedClone as its\r\n * props haven't been mutated.\r\n */\r\n for (let attr in updatedVideo) {\r\n const value = updatedVideo[attr];\r\n\r\n // Only clear the model if the value is falsey and has an assoc\r\n if (value) continue;\r\n if (!model.associations[attr]) continue;\r\n\r\n const assoc = model.get(attr);\r\n if ((assoc instanceof Core.Model) || (assoc instanceof Core.NestedModel))\r\n assoc.clear();\r\n }\r\n },\r\n\r\n getRemovedObjectIds(model: Core.Model, newModel: Core.Model): ObjectHash {\r\n const objectTypes = [ 'distributors', 'productionCompanies', 'producers', 'directors' ];\r\n const dissocs: ObjectHash = {};\r\n\r\n _.each(_.keys(model.toJSON()), key => {\r\n if (!_.contains(objectTypes, key)) return;\r\n\r\n const originalIds: string[] = model.get(key).map((originalModel: Core.Model) => originalModel.id);\r\n const newIds: string[] = newModel.get(key).map((newCollectionModel: Core.Model) => newCollectionModel.id);\r\n\r\n const ids = _.filter(originalIds, id => id && !_.contains(newIds, id));\r\n\r\n if (ids.length)\r\n dissocs[key] = ids;\r\n });\r\n\r\n return dissocs;\r\n }\r\n};\r\n\r\nconst VideoValidation: ObjectHash = {\r\n name: [\r\n { required: true, msg: () => LanguageService.getPhrase(lang, 'videoTitleRequired') },\r\n { maxLength: 255, msg: () => LanguageService.getPhrase(lang, 'videoTitleExceeds') },\r\n ],\r\n description: [\r\n { required: false },\r\n { maxLength: 65535, msg: () => LanguageService.getPhrase(lang, 'videoDescriptionExceeds') },\r\n ],\r\n episodeNumber(value: number, key: string, model: ObjectHash): string {\r\n if (value && value < 1)\r\n return LanguageService.getPhrase(lang, 'episodeNumberLessThanOne');\r\n\r\n if (value && value > 2147483647)\r\n return LanguageService.getPhrase(lang, 'episodeNumberExceeds');\r\n\r\n if (value % 1 !== 0)\r\n return LanguageService.getPhrase(lang, 'episodeNumberNotWhole');\r\n\r\n if (model.season && model.season.get('number') >= 0 && value === null)\r\n return LanguageService.getPhrase(lang, 'episodeNumberNoSeason');\r\n\r\n return '';\r\n },\r\n season(value: ObjectHash, key: string, model: ObjectHash): string {\r\n if ((!model.season || !model.season.get('number')) && (!value || !value.number) && model.episodeNumber)\r\n return LanguageService.getPhrase(lang, 'seasonNoEpisodeNumber');\r\n\r\n return '';\r\n }\r\n};\r\n\r\nconst currentYear = moment().year();\r\nconst ProductionYearValidation = {\r\n productionYear(value: number, key: string, model: ObjectHash): string {\r\n if (!value && value !== 0)\r\n return '';\r\n\r\n value = +value;\r\n\r\n if (isNaN(value))\r\n return 'Production year must be a number.';\r\n\r\n if (value < 1900 || value > currentYear)\r\n return LanguageService.getPhrase(lang, 'validProductionYears', { currentYear });\r\n }\r\n};\r\n\r\nconst ResourceValidation: ObjectHash = {\r\n name: [\r\n { required: true, msg: () => LanguageService.getPhrase(lang, 'resourceNameRequired') },\r\n ],\r\n};\r\n\r\nconst SuggestEditValidation = {\r\n suggestion: [\r\n { required: true, msg: () => LanguageService.getPhrase(lang, 'suggestEditRequired') },\r\n { maxLength: 65535, msg: () => LanguageService.getPhrase(lang, 'suggestEditExceeds') }\r\n ],\r\n reason: [\r\n { required: true, msg: () => LanguageService.getPhrase(lang, 'suggestEditReasonRequired') },\r\n { maxLength: 65535, msg: () => LanguageService.getPhrase(lang, 'suggestEditReasonExceeds') }\r\n ]\r\n};\r\n\r\nconst SeasonValidation = {\r\n number(value: string, key: string, model: ObjectHash): string {\r\n if (!value)\r\n return LanguageService.getPhrase(lang, 'seasonRequired');\r\n\r\n if (+value < 1)\r\n return LanguageService.getPhrase(lang, 'seasonLessThanOne');\r\n\r\n if (+value > 255)\r\n return LanguageService.getPhrase(lang, 'seasonExceeds');\r\n\r\n if (+value % 1 !== 0)\r\n return LanguageService.getPhrase(lang, 'seasonNotWhole');\r\n\r\n return '';\r\n },\r\n};\r\n\r\nconst SuggestEditRatingValidation = {\r\n empty: () => LanguageService.getPhrase(lang, 'suggestEditRatingRequired'),\r\n original: () => LanguageService.getPhrase(lang, 'suggestEditRatingInvalid')\r\n};\r\n\r\nconst ResourceLinkValidation = {\r\n url: [\r\n { required: true, pattern: 'url', msg: () => LanguageService.getPhrase(lang, 'linkUrlRequired') },\r\n { maxLength: 65535, msg: () => LanguageService.getPhrase(lang, 'linkUrlExceeds') },\r\n ],\r\n name: [\r\n { required: true, msg: () => LanguageService.getPhrase(lang, 'linkNameRequired') },\r\n { maxLength: 255, msg: () => LanguageService.getPhrase(lang, 'linkNameExceeds') }\r\n ]\r\n};\r\n\r\nconst FieldValidation = {\r\n name: [{\r\n maxLength: 128, msg: () => LanguageService.getPhrase(lang, 'fieldNameExceeds')\r\n }],\r\n value: [{\r\n maxLength: 16000, msg: () => LanguageService.getPhrase(lang, 'fieldValueExceeds')\r\n }]\r\n};\r\n\r\nconst FieldAssocValidation = {\r\n fields: (fields: FieldsCollection): string => {\r\n if (!fields || !fields.length)\r\n return '';\r\n\r\n return fields.all(f => f.isValid() !== false) ? '' : LanguageService.getPhrase(lang, 'fieldsInvalid');\r\n }\r\n};\r\n\r\nfunction GetDefaultFields(): ObjectHash[] {\r\n return [{\r\n /**\r\n * We use a negative id so GetChanges above can discern \r\n * a new field vs a changed field\r\n */\r\n id: -1,\r\n name: 'Admin Notes',\r\n value: '',\r\n placeholder: 'Notes that only admins will see'\r\n }];\r\n}\r\n\r\nexport {\r\n EditVideoHelpers,\r\n VideoValidation,\r\n ResourceValidation,\r\n ProductionYearValidation,\r\n SuggestEditValidation,\r\n SuggestEditRatingValidation,\r\n FieldValidation,\r\n FieldAssocValidation,\r\n GetDefaultFields,\r\n ResourceLinkValidation,\r\n SeasonValidation\r\n};","import * as _ from 'underscore';\r\nimport { ObjectHash } from 'backbone';\r\n\r\nimport { FolderCollection } from 'shared/collections/FolderCollection';\r\nimport { FolderTreeHelpers } from 'shared/utils/FolderTreeHelpers';\r\nimport { MiscConstants } from 'shared/constants/Misc';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { Folder } from 'shared/models/Folder';\r\n\r\nconst lang = 'libraryEditor.utils';\r\n\r\nconst FolderNameValidation: ObjectHash = {\r\n name: [\r\n { required: true, msg: () => LanguageService.getPhrase(lang, 'folderNameRequired') },\r\n { maxLength: 255, msg: () => LanguageService.getPhrase(lang, 'folderNameExceeds') },\r\n ]\r\n};\r\n\r\nconst FolderParentValidation = (folder: Folder, collection: FolderCollection) => {\r\n return {\r\n parentId: (value: string) => {\r\n if (!value) {\r\n return LanguageService.getPhrase(lang, 'selectParentFolder');\r\n }\r\n\r\n const depth = FolderTreeHelpers.calculateDestinationFolderDepth(folder, value, collection);\r\n\r\n /**\r\n * Only allow a move where the destination folder (and the depth of its ancestorss) + the selected folder\r\n * AND the depth of its children does not exceed the max folder length\r\n */\r\n if (depth > MiscConstants.MAX_FOLDER_DEPTH) {\r\n return LanguageService.getPhrase(lang, 'maxFolderDepth', {\r\n maxDepth: MiscConstants.MAX_FOLDER_DEPTH\r\n });\r\n }\r\n\r\n return '';\r\n }\r\n };\r\n};\r\n\r\nexport const FolderValidation = (options: ObjectHash) => {\r\n const { validateName, validateParent, folder, collection } = options;\r\n\r\n if (validateName && validateParent)\r\n return _.extend({}, FolderNameValidation, FolderParentValidation(folder, collection));\r\n\r\n if (validateName)\r\n return FolderNameValidation;\r\n\r\n if (validateParent)\r\n return FolderParentValidation(folder, collection);\r\n};","import { ObjectHash } from 'backbone';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nexport const LanguageValidation: ObjectHash = {\r\n code: [\r\n { required: true, msg: () => LanguageService.getPhrase('libraryEditor.utils', 'languageRequired') },\r\n ]\r\n};","import { ObjectHash } from 'backbone';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nconst lang = 'libraryEditor.utils';\r\n\r\nexport const LibraryValidation: ObjectHash = {\r\n name: [\r\n { required: true, msg: () => LanguageService.getPhrase(lang, 'libraryNameRequired') },\r\n { maxLength: 255, msg: () => LanguageService.getPhrase(lang, 'libraryNameExceeds') }\r\n ]\r\n};","import { ObjectHash } from 'backbone';\r\nimport * as moment from 'moment';\r\n\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { EditVideoHelpers, ProductionYearValidation } from './EditVideoHelpers';\r\n\r\nconst lang = 'libraryEditor.utils';\r\n\r\nconst currentYear = moment().year();\r\n\r\nexport const UploadVideoValidation: ObjectHash = {\r\n name: [\r\n { required: true, msg: () => LanguageService.getPhrase(lang, 'videoTitleRequired') },\r\n ],\r\n folderId: [\r\n { required: true, msg: () => LanguageService.getPhrase(lang, 'uploadFolderRequired') }\r\n ],\r\n libraryId: [\r\n { required: true, msg: 'Please select an upload library' }\r\n ],\r\n episodeNumber(value: number, key: string, model: ObjectHash): string {\r\n if (value && value < 1)\r\n return 'Videos cannot have an episode number less than 1';\r\n\r\n if (value && value > 255)\r\n return 'Videos cannot have an episode number greater than 255';\r\n\r\n if (value && value % 1 !== 0)\r\n return 'Episode numbers can only be whole numbers';\r\n\r\n if (model.season && model.season.get('number') >= 0 && value === null)\r\n return 'Videos with a season must also have an episode number';\r\n\r\n return '';\r\n },\r\n season(value: ObjectHash, key: string, model: ObjectHash): string {\r\n if ((!model.season || !model.season.get('number')) && (!value || !value.number) && model.episodeNumber)\r\n return 'Videos with an episode number must also have a season';\r\n\r\n return '';\r\n },\r\n productionYear(): string {\r\n return ProductionYearValidation.productionYear.apply(null, arguments);\r\n }\r\n};","import { Video } from 'shared/models/Video';\r\nimport { Library } from 'shared/models/Library';\r\nimport { Metadata } from 'shared/models/Metadata';\r\nimport { SvgHelper, cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { ObjectHash } from 'backbone';\r\nimport { MetadataType } from '../constants';\r\nimport { MetadataCollection } from 'shared/collections/MetadataCollection';\r\nimport { MasterObjectTypes } from 'shared/enums';\r\n\r\nconst lang = 'libraryEditor.utils';\r\n\r\n// File types match metadata for a resource FileApi \r\nenum FileType {\r\n Pdf = 'pdf',\r\n Image = 'image',\r\n PowerPoint = 'powerpoint',\r\n Document = 'document',\r\n Excel = 'excel',\r\n Zip = 'archive',\r\n File = 'text'\r\n}\r\n\r\nconst VideoDetailsHelper = {\r\n mapRatingToClass(ratingValue: number): string {\r\n if (!ratingValue) return '';\r\n\r\n const ratings = (rating: number): string => {\r\n switch (true) {\r\n case (rating < 32):\r\n return 'bg-purple';\r\n case (rating < 48):\r\n return 'bg-success';\r\n case (rating < 80):\r\n return 'bg-info';\r\n case (rating < 96):\r\n return 'bg-danger';\r\n case (rating < 128):\r\n return 'bg-pink';\r\n case (rating >= 128):\r\n return 'bg-warning';\r\n default:\r\n return ''; // Handles unrated\r\n }\r\n };\r\n\r\n return ratings(ratingValue);\r\n },\r\n\r\n mapSourceToDisplayName(library: Library): string {\r\n switch (library.get('type')) {\r\n case MasterObjectTypes.HostedLibrary:\r\n case MasterObjectTypes.CustomLibrary:\r\n return library.get('name');\r\n case MasterObjectTypes.Exchange:\r\n return LanguageService.getPhrase(lang, 'exchange');\r\n case MasterObjectTypes.Workspace:\r\n return LanguageService.getPhrase(lang, 'workspace');\r\n default:\r\n return '';\r\n }\r\n },\r\n\r\n mapSourceToClass(sourceType: MasterObjectTypes): string {\r\n switch (sourceType) {\r\n case MasterObjectTypes.HostedLibrary:\r\n case MasterObjectTypes.CustomLibrary:\r\n return 'bg-info';\r\n case MasterObjectTypes.Exchange:\r\n return 'bg-success';\r\n case MasterObjectTypes.Workspace:\r\n default:\r\n return 'bg-danger';\r\n }\r\n },\r\n\r\n isInteractive(video: Video): boolean {\r\n if (!video || !video.interactives) return false;\r\n\r\n return !!video.interactives.length;\r\n },\r\n\r\n mapTypeToSvg(type: string): any {\r\n const types: ObjectHash = {\r\n [FileType.Pdf]: cvSvgLibrary.FilePDF,\r\n [FileType.Image]: cvSvgLibrary.FileImg,\r\n [FileType.PowerPoint]: cvSvgLibrary.FilePowerpoint,\r\n [FileType.Document]: cvSvgLibrary.FileWord,\r\n [FileType.Excel]: cvSvgLibrary.FileExcel,\r\n [FileType.Zip]: cvSvgLibrary.FileZip,\r\n [FileType.File]: cvSvgLibrary.File\r\n };\r\n\r\n let mappedType = types[type];\r\n\r\n if (!mappedType)\r\n mappedType = cvSvgLibrary.Folder;\r\n\r\n return SvgHelper.getSvg(mappedType);\r\n },\r\n\r\n mapTypeToClass(type: string): any {\r\n\r\n switch (type) {\r\n case FileType.Pdf:\r\n return 'icon-red';\r\n\r\n case FileType.Image:\r\n return 'icon-purple';\r\n\r\n case FileType.Document:\r\n return 'icon-blue';\r\n\r\n case FileType.Excel:\r\n return 'icon-green';\r\n\r\n case FileType.PowerPoint:\r\n return 'icon-orange';\r\n\r\n case FileType.Zip:\r\n return 'icon-teal';\r\n\r\n case FileType.File:\r\n return 'icon-gray';\r\n\r\n default:\r\n return '';\r\n }\r\n },\r\n\r\n mapTypeToExtension(type: string): string {\r\n if (!type) return '';\r\n\r\n const extensions: ObjectHash = {\r\n pdf: 'pdf',\r\n image: 'png',\r\n powerpoint: 'pptx',\r\n };\r\n\r\n return extensions[type.toLowerCase()];\r\n },\r\n\r\n mapTypeToName(type: string): string {\r\n if (!type) return '';\r\n\r\n switch (type) {\r\n case FileType.Pdf: return LanguageService.getPhrase(lang, 'pdf');\r\n case FileType.Image: return LanguageService.getPhrase(lang, 'image');\r\n case FileType.Document: return LanguageService.getPhrase(lang, 'document');\r\n case FileType.Excel: return LanguageService.getPhrase(lang, 'spreadsheet');\r\n case FileType.PowerPoint: return LanguageService.getPhrase(lang, 'presentation');\r\n case FileType.Zip: return LanguageService.getPhrase(lang, 'zipArchive');\r\n case FileType.File: return LanguageService.getPhrase(lang, 'file');\r\n\r\n default:\r\n return '';\r\n }\r\n },\r\n\r\n translateMetadataCollectionNames(collection: MetadataCollection): MetadataCollection {\r\n return new MetadataCollection(\r\n collection.map((metadata: Metadata) => {\r\n return {\r\n ...metadata.toJSON(),\r\n name: VideoDetailsHelper.translateMetadataName(metadata.get('name'))\r\n };\r\n })\r\n );\r\n },\r\n\r\n translateMetadataName(metadata: string): string {\r\n let languageKey: string = 'suggestEdit';\r\n\r\n switch (metadata) {\r\n case MetadataType.VideoTitle:\r\n languageKey += 'VideoTitle';\r\n break;\r\n case MetadataType.Description:\r\n languageKey += 'Description';\r\n break;\r\n case MetadataType.Rating:\r\n languageKey += 'Rating';\r\n break;\r\n case MetadataType.SeriesTitle:\r\n languageKey += 'SeriesTitle';\r\n break;\r\n case MetadataType.Season:\r\n languageKey += 'SeasonNumber';\r\n break;\r\n case MetadataType.EpisodeNumber:\r\n languageKey += 'EpisodeNumber';\r\n break;\r\n case MetadataType.BroadcastDate:\r\n languageKey += 'BroadcastDate';\r\n break;\r\n case MetadataType.Channel:\r\n languageKey += 'Channel';\r\n break;\r\n case MetadataType.ProductionYear:\r\n languageKey += 'ProductionYear';\r\n break;\r\n case MetadataType.Distributors:\r\n languageKey += 'Distributors';\r\n break;\r\n case MetadataType.ProductionCompanies:\r\n languageKey += 'ProductionCompanies';\r\n break;\r\n case MetadataType.Directors:\r\n languageKey += 'Directors';\r\n break;\r\n case MetadataType.Producers:\r\n languageKey += 'Producers';\r\n break;\r\n case MetadataType.Other:\r\n languageKey += 'Other';\r\n break;\r\n }\r\n\r\n return LanguageService.getPhrase(lang, languageKey);\r\n }\r\n};\r\n\r\nexport { VideoDetailsHelper };","export * from './ChapterHelper';\r\nexport * from './EditVideoHelpers';\r\nexport * from './FolderValidation';\r\nexport * from './LanguageValidation';\r\nexport * from './LibraryValidation';\r\nexport * from './UploadVideoValidation';\r\nexport * from './VideoDetailsHelper';\r\nexport * from './DownloadHelper';","import { Core } from 'libs/common/core';\r\n\r\nimport { Metadata } from 'shared/models/Metadata';\r\n\r\nexport class MetadataCollection extends Core.Collection<Metadata> {}"],"sourceRoot":""}
1
+ {"version":3,"sources":["file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/utils/ChapterHelper.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/utils/DownloadHelper.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/utils/EditVideoHelpers.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/utils/FolderValidation.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/utils/LanguageValidation.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/utils/LibraryValidation.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/utils/UploadVideoValidation.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/utils/VideoDetailsHelper.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/utils/index.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/shared/collections/MetadataCollection.ts"],"names":[],"mappings":"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","file":"scripts/0.chunk.js","sourcesContent":["import * as _ from 'underscore';\r\n\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport { Chapter } from 'shared/models/Chapter';\r\nimport { TimeHelpers } from 'shared/utils';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nconst lang = 'libraryEditor.utils';\r\n\r\nconst ChapterHelpers = {\r\n /**\r\n * Returns an error message if the start time of a chapter is invalid, or null\r\n */\r\n isValidChapterTime(model: Chapter, newTime: number, duration: number, collection: Core.Collection<Chapter>): string {\r\n if (collection) {\r\n if (!_.isNumber(newTime)) return ChapterValidationMessages.StartTime.Invalid();\r\n\r\n // Start time can't be greater than length of video or less than 0\r\n if (newTime < 0) return ChapterValidationMessages.StartTime.Invalid();\r\n if (newTime > TimeHelpers.millisecondsToSeconds(duration)) return ChapterValidationMessages.StartTime.Exceeds();\r\n\r\n // Make sure start time doesn't already exist\r\n const exists = collection.some((c: Chapter) => {\r\n let notModel = !((c.id && c.id === model.id) || (c.cid === model.cid));\r\n return (notModel && c.get('startTime') === newTime);\r\n });\r\n\r\n if (exists) return ChapterValidationMessages.StartTime.Exists();\r\n }\r\n },\r\n /**\r\n * Returns an error message if the name of a chapter is invalid, or null\r\n */\r\n isValidChapterName(model: Chapter, newName: string, collection: Core.Collection<Chapter>): string | null {\r\n if (!newName) return ChapterValidationMessages.Name.Invalid();\r\n if (newName.length > 255) return ChapterValidationMessages.Name.MaxLength();\r\n\r\n const exists = collection.some((c: Chapter) => {\r\n let notModel = !((c.id && c.id === model.id) || (c.cid === model.cid));\r\n return (notModel && c.get('name').trim() === newName.trim());\r\n });\r\n\r\n if (exists) return ChapterValidationMessages.Name.Exists();\r\n if (_.isEmpty(newName.trim())) return ChapterValidationMessages.Name.Invalid();\r\n },\r\n\r\n /**\r\n * Map our physical chapters against Metachapter models, allowing them to be displayed\r\n * consisitently within the UI.\r\n */\r\n mapPhysicalChapters(chapters: any[]): any[] {\r\n let totalTime: number = 0;\r\n\r\n return _.map(chapters, (c, i) => {\r\n const chapter = {\r\n name: c.title,\r\n startTime: totalTime,\r\n index: i,\r\n isPhysicalChapter: true\r\n };\r\n\r\n totalTime += c.duration;\r\n return chapter;\r\n });\r\n }\r\n};\r\n\r\nconst ChapterValidationMessages = {\r\n Name: {\r\n Invalid: () => LanguageService.getPhrase(lang, 'chapterNameInvalid'),\r\n Exists: () => LanguageService.getPhrase(lang, 'chapterNameExists'),\r\n MaxLength: () => LanguageService.getPhrase(lang, 'chapterNameExceeds')\r\n },\r\n StartTime: {\r\n Invalid: () => LanguageService.getPhrase(lang, 'chapterStartTimeInvalid'),\r\n Exists: () => LanguageService.getPhrase(lang, 'chapterStartTimeExists'),\r\n Exceeds: () => LanguageService.getPhrase(lang, 'chapterStartTimeExceeds')\r\n },\r\n};\r\n\r\nexport { ChapterHelpers };","import { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\r\n\r\nexport const DownloadHelper = {\r\n getVideoDownloadUrl(downloadProxyUrl: string, token: string): string {\r\n return UrlHelper.safeUrlConcat(UrlHelper.makeHttps(downloadProxyUrl), `/download?token=${token}`);\r\n }\r\n};","import { Core } from 'libs/common/core';\r\n\r\nimport { ObjectHash } from 'backbone';\r\nimport * as _ from 'underscore';\r\n\r\nimport { Video } from 'shared/models/Video';\r\nimport { DevError } from 'libs/common/backbone/errors/DevError';\r\nimport * as moment from 'moment';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { FieldsCollection } from 'shared/collections/FieldsCollection';\r\n\r\nconst lang = 'libraryEditor.utils';\r\n\r\n/**\r\n * Remove certain properties from being detected as part of the change set.\r\n * This is important when we are managing assocs manually, they shouldn't be passed\r\n * with the call to update the video.\r\n */\r\nconst omitProperties = [ 'tags', 'thumbnail', 'chapters', 'resources', 'subtitles', 'disabled', 'links', 'restrictions', 'categories' ];\r\n\r\nfunction getChanges(initialState: any, updatedState: any): any {\r\n if (!initialState)\r\n return;\r\n\r\n const updatedKeys = _.reduce(initialState, (result, val: any, key: string) => {\r\n const updatedVal = updatedState[key];\r\n\r\n if (!val && !updatedVal)\r\n return result;\r\n\r\n // Ignore assoc changes that share the same ID\r\n if (_.isObject(val) && _.isObject(updatedVal) && !_.isUndefined(val.id) && val.id === updatedVal.id)\r\n return result;\r\n\r\n if (_.isArray(val)) {\r\n return getArrayChanges(val, updatedVal).length ? result.concat(key) : result;\r\n }\r\n\r\n return _.isEqual(val, updatedVal) ? result : result.concat(key);\r\n }, []);\r\n\r\n if (!updatedKeys.length)\r\n return;\r\n\r\n return _.object(_.map(updatedKeys, (key: string) => {\r\n if (_.isArray(updatedState[key]))\r\n return [ key, getArrayChanges(initialState[key], updatedState[key]) ];\r\n\r\n return [ key, updatedState[key] ];\r\n }));\r\n}\r\n\r\nfunction getArrayChanges(originalArray: any[], newArray: any[]): any[] {\r\n const modified: any[] = [];\r\n _.each(newArray, (updatedItem: any) => {\r\n const original = _.findWhere(originalArray, { id: updatedItem.id });\r\n\r\n // Item has been removed. We do not want this to be detected here.\r\n if (_.isUndefined(original) && Object.keys(updatedItem).length === 0)\r\n return;\r\n\r\n const changes = _.isUndefined(original) ? updatedItem : getChanges(original, updatedItem);\r\n if (!changes)\r\n return;\r\n\r\n /**\r\n * We treat objects with a negative id as new objects.\r\n * \r\n * This was added so that we could have default items on the\r\n * video model that get persisted if the user changes them - Sha\r\n */\r\n if (updatedItem.id < 0 && !updatedItem.value)\r\n return;\r\n\r\n if (!original || updatedItem.id < 0) {\r\n modified.push(updatedItem);\r\n return;\r\n }\r\n\r\n changes.id = updatedItem.id;\r\n modified.push(changes);\r\n });\r\n return modified;\r\n}\r\n\r\nconst EditVideoHelpers = {\r\n getChanges(video: Video, viewModel: Video): ObjectHash {\r\n const initialState = _.omit(video.toJSON(), omitProperties);\r\n const updatedState = _.omit(viewModel.toJSON(), omitProperties);\r\n\r\n const changes = getChanges(initialState, updatedState);\r\n\r\n if (!changes)\r\n return;\r\n\r\n return _.object(_.map(_.keys(changes), key => {\r\n return [ key, EditVideoHelpers.formatChanges(key, changes[key]) ];\r\n }));\r\n },\r\n\r\n /**\r\n * Format video data model to be updated within Master\r\n */\r\n formatChanges(key: string, updatedVal: any): any {\r\n if (!updatedVal)\r\n return null;\r\n\r\n // Dissoc object\r\n if (_.isObject(updatedVal) && _.isEmpty(updatedVal))\r\n return null;\r\n\r\n switch (key) {\r\n case 'name':\r\n case 'description':\r\n case 'productionYear':\r\n case 'dateBroadcast':\r\n case 'fields':\r\n case 'episodeNumber':\r\n return updatedVal;\r\n\r\n case 'channel':\r\n case 'series':\r\n case 'rating':\r\n case 'season':\r\n return { id: updatedVal.id };\r\n\r\n case 'distributors':\r\n case 'producers':\r\n case 'directors':\r\n case 'productionCompanies':\r\n return _.map(updatedVal, (val: ObjectHash) => val.id);\r\n\r\n // We should never be updating dateModified\r\n case 'dateModified':\r\n // hasBroadcast is just used within the UI and shouldn't be persisted to master\r\n case 'hasBroadcast':\r\n return;\r\n\r\n default:\r\n Core.ErrorHelper.throw(new DevError(`There are no formatting settings for ${key}`));\r\n }\r\n },\r\n\r\n /**\r\n * Update our model state - the order here is important.\r\n * 1. Update the viewModel to be aligned against the new server model. The server model\r\n * only contains base attributes (without any assocs), so we first need to merge this against\r\n * the viewModel in case we have updated assocs.\r\n * \r\n * 2. Update the base model to be a copy of the current viewModel, this ensures that changes\r\n * to any assocs are also carried across.\r\n * \r\n * 3. Clear any assocs that have actually changed\r\n */\r\n updateModelState(model: Video, viewModel: Video, updatedVideo: ObjectHash): void {\r\n // Collection arrays for updatedVideo only contain NEW models. Here, we override the value to include ALL models\r\n const collections = [ 'distributors', 'producers', 'directors', 'productionCompanies' ];\r\n _.each(_.keys(updatedVideo), key => {\r\n if (!collections.includes(key)) return;\r\n updatedVideo[key] = viewModel.get(key).toJSON();\r\n });\r\n\r\n // Clone the update as it appears to be mutated when setting the viewModel - which is a bug.\r\n viewModel.set(_.clone(updatedVideo), { silent: true });\r\n model.set(viewModel.toJSON(), { silent: true });\r\n\r\n /**\r\n * We need to check if we've removed an assoc and manually reset \r\n * it on the video model. We do this against the updatedClone as its\r\n * props haven't been mutated.\r\n */\r\n for (let attr in updatedVideo) {\r\n const value = updatedVideo[attr];\r\n\r\n // Only clear the model if the value is falsey and has an assoc\r\n if (value) continue;\r\n if (!model.associations[attr]) continue;\r\n\r\n const assoc = model.get(attr);\r\n if ((assoc instanceof Core.Model) || (assoc instanceof Core.NestedModel))\r\n assoc.clear();\r\n }\r\n },\r\n\r\n getRemovedObjectIds(model: Core.Model, newModel: Core.Model): ObjectHash {\r\n const objectTypes = [ 'distributors', 'productionCompanies', 'producers', 'directors' ];\r\n const dissocs: ObjectHash = {};\r\n\r\n _.each(_.keys(model.toJSON()), key => {\r\n if (!_.contains(objectTypes, key)) return;\r\n\r\n const originalIds: string[] = model.get(key).map((originalModel: Core.Model) => originalModel.id);\r\n const newIds: string[] = newModel.get(key).map((newCollectionModel: Core.Model) => newCollectionModel.id);\r\n\r\n const ids = _.filter(originalIds, id => id && !_.contains(newIds, id));\r\n\r\n if (ids.length)\r\n dissocs[key] = ids;\r\n });\r\n\r\n return dissocs;\r\n }\r\n};\r\n\r\nconst VideoValidation: ObjectHash = {\r\n name: [\r\n { required: true, msg: () => LanguageService.getPhrase(lang, 'videoTitleRequired') },\r\n { maxLength: 255, msg: () => LanguageService.getPhrase(lang, 'videoTitleExceeds') },\r\n ],\r\n description: [\r\n { required: false },\r\n { maxLength: 65535, msg: () => LanguageService.getPhrase(lang, 'videoDescriptionExceeds') },\r\n ],\r\n episodeNumber(value: number, key: string, model: ObjectHash): string {\r\n if (value && value < 1)\r\n return LanguageService.getPhrase(lang, 'episodeNumberLessThanOne');\r\n\r\n if (value && value > 2147483647)\r\n return LanguageService.getPhrase(lang, 'episodeNumberExceeds');\r\n\r\n if (value % 1 !== 0)\r\n return LanguageService.getPhrase(lang, 'episodeNumberNotWhole');\r\n\r\n if (model.season && model.season.get('number') >= 0 && value === null)\r\n return LanguageService.getPhrase(lang, 'episodeNumberNoSeason');\r\n\r\n return '';\r\n },\r\n season(value: ObjectHash, key: string, model: ObjectHash): string {\r\n if ((!model.season || !model.season.get('number')) && (!value || !value.number) && model.episodeNumber)\r\n return LanguageService.getPhrase(lang, 'seasonNoEpisodeNumber');\r\n\r\n return '';\r\n }\r\n};\r\n\r\nconst currentYear = moment().year();\r\nconst ProductionYearValidation = {\r\n productionYear(value: number, key: string, model: ObjectHash): string {\r\n if (!value && value !== 0)\r\n return '';\r\n\r\n value = +value;\r\n\r\n if (isNaN(value))\r\n return 'Production year must be a number.';\r\n\r\n if (value < 1900 || value > currentYear)\r\n return LanguageService.getPhrase(lang, 'validProductionYears', { currentYear });\r\n }\r\n};\r\n\r\nconst ResourceValidation: ObjectHash = {\r\n name: [\r\n { required: true, msg: () => LanguageService.getPhrase(lang, 'resourceNameRequired') },\r\n ],\r\n};\r\n\r\nconst SuggestEditValidation = {\r\n suggestion: [\r\n { required: true, msg: () => LanguageService.getPhrase(lang, 'suggestEditRequired') },\r\n { maxLength: 65535, msg: () => LanguageService.getPhrase(lang, 'suggestEditExceeds') }\r\n ],\r\n reason: [\r\n { required: true, msg: () => LanguageService.getPhrase(lang, 'suggestEditReasonRequired') },\r\n { maxLength: 65535, msg: () => LanguageService.getPhrase(lang, 'suggestEditReasonExceeds') }\r\n ]\r\n};\r\n\r\nconst SeasonValidation = {\r\n number(value: string, key: string, model: ObjectHash): string {\r\n if (!value)\r\n return LanguageService.getPhrase(lang, 'seasonRequired');\r\n\r\n if (+value < 1)\r\n return LanguageService.getPhrase(lang, 'seasonLessThanOne');\r\n\r\n if (+value > 255)\r\n return LanguageService.getPhrase(lang, 'seasonExceeds');\r\n\r\n if (+value % 1 !== 0)\r\n return LanguageService.getPhrase(lang, 'seasonNotWhole');\r\n\r\n return '';\r\n },\r\n};\r\n\r\nconst SuggestEditRatingValidation = {\r\n empty: () => LanguageService.getPhrase(lang, 'suggestEditRatingRequired'),\r\n original: () => LanguageService.getPhrase(lang, 'suggestEditRatingInvalid')\r\n};\r\n\r\nconst ResourceLinkValidation = {\r\n url: [\r\n { required: true, pattern: 'url', msg: () => LanguageService.getPhrase(lang, 'linkUrlRequired') },\r\n { maxLength: 65535, msg: () => LanguageService.getPhrase(lang, 'linkUrlExceeds') },\r\n ],\r\n name: [\r\n { required: true, msg: () => LanguageService.getPhrase(lang, 'linkNameRequired') },\r\n { maxLength: 255, msg: () => LanguageService.getPhrase(lang, 'linkNameExceeds') }\r\n ]\r\n};\r\n\r\nconst FieldValidation = {\r\n name: [{\r\n maxLength: 128, msg: () => LanguageService.getPhrase(lang, 'fieldNameExceeds')\r\n }],\r\n value: [{\r\n maxLength: 16000, msg: () => LanguageService.getPhrase(lang, 'fieldValueExceeds')\r\n }]\r\n};\r\n\r\nconst FieldAssocValidation = {\r\n fields: (fields: FieldsCollection): string => {\r\n if (!fields || !fields.length)\r\n return '';\r\n\r\n return fields.all(f => f.isValid() !== false) ? '' : LanguageService.getPhrase(lang, 'fieldsInvalid');\r\n }\r\n};\r\n\r\nfunction GetDefaultFields(): ObjectHash[] {\r\n return [{\r\n /**\r\n * We use a negative id so GetChanges above can discern \r\n * a new field vs a changed field\r\n */\r\n id: -1,\r\n name: 'Admin Notes',\r\n value: '',\r\n placeholder: 'Notes that only admins will see'\r\n }];\r\n}\r\n\r\nexport {\r\n EditVideoHelpers,\r\n VideoValidation,\r\n ResourceValidation,\r\n ProductionYearValidation,\r\n SuggestEditValidation,\r\n SuggestEditRatingValidation,\r\n FieldValidation,\r\n FieldAssocValidation,\r\n GetDefaultFields,\r\n ResourceLinkValidation,\r\n SeasonValidation\r\n};","import * as _ from 'underscore';\r\nimport { ObjectHash } from 'backbone';\r\n\r\nimport { FolderCollection } from 'shared/collections/FolderCollection';\r\nimport { FolderTreeHelpers } from 'shared/utils/FolderTreeHelpers';\r\nimport { MiscConstants } from 'shared/constants/Misc';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { Folder } from 'shared/models/Folder';\r\n\r\nconst lang = 'libraryEditor.utils';\r\n\r\nconst FolderNameValidation: ObjectHash = {\r\n name: [\r\n { required: true, msg: () => LanguageService.getPhrase(lang, 'folderNameRequired') },\r\n { maxLength: 255, msg: () => LanguageService.getPhrase(lang, 'folderNameExceeds') },\r\n ]\r\n};\r\n\r\nconst FolderParentValidation = (folder: Folder, collection: FolderCollection) => {\r\n return {\r\n parentId: (value: string) => {\r\n if (!value) {\r\n return LanguageService.getPhrase(lang, 'selectParentFolder');\r\n }\r\n\r\n const depth = FolderTreeHelpers.calculateDestinationFolderDepth(folder, value, collection);\r\n\r\n /**\r\n * Only allow a move where the destination folder (and the depth of its ancestorss) + the selected folder\r\n * AND the depth of its children does not exceed the max folder length\r\n */\r\n if (depth > MiscConstants.MAX_FOLDER_DEPTH) {\r\n return LanguageService.getPhrase(lang, 'maxFolderDepth', {\r\n maxDepth: MiscConstants.MAX_FOLDER_DEPTH\r\n });\r\n }\r\n\r\n return '';\r\n }\r\n };\r\n};\r\n\r\nexport const FolderValidation = (options: ObjectHash) => {\r\n const { validateName, validateParent, folder, collection } = options;\r\n\r\n if (validateName && validateParent)\r\n return _.extend({}, FolderNameValidation, FolderParentValidation(folder, collection));\r\n\r\n if (validateName)\r\n return FolderNameValidation;\r\n\r\n if (validateParent)\r\n return FolderParentValidation(folder, collection);\r\n};","import { ObjectHash } from 'backbone';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nexport const LanguageValidation: ObjectHash = {\r\n code: [\r\n { required: true, msg: () => LanguageService.getPhrase('libraryEditor.utils', 'languageRequired') },\r\n ]\r\n};","import { ObjectHash } from 'backbone';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nconst lang = 'libraryEditor.utils';\r\n\r\nexport const LibraryValidation: ObjectHash = {\r\n name: [\r\n { required: true, msg: () => LanguageService.getPhrase(lang, 'libraryNameRequired') },\r\n { maxLength: 255, msg: () => LanguageService.getPhrase(lang, 'libraryNameExceeds') }\r\n ]\r\n};","import { ObjectHash } from 'backbone';\r\nimport * as moment from 'moment';\r\n\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { EditVideoHelpers, ProductionYearValidation } from './EditVideoHelpers';\r\n\r\nconst lang = 'libraryEditor.utils';\r\n\r\nconst currentYear = moment().year();\r\n\r\nexport const UploadVideoValidation: ObjectHash = {\r\n name: [\r\n { required: true, msg: () => LanguageService.getPhrase(lang, 'videoTitleRequired') },\r\n ],\r\n folderId: [\r\n { required: true, msg: () => LanguageService.getPhrase(lang, 'uploadFolderRequired') }\r\n ],\r\n libraryId: [\r\n { required: true, msg: 'Please select an upload library' }\r\n ],\r\n episodeNumber(value: number, key: string, model: ObjectHash): string {\r\n if (value && value < 1)\r\n return 'Videos cannot have an episode number less than 1';\r\n\r\n if (value && value > 255)\r\n return 'Videos cannot have an episode number greater than 255';\r\n\r\n if (value && value % 1 !== 0)\r\n return 'Episode numbers can only be whole numbers';\r\n\r\n if (model.season && model.season.get('number') >= 0 && value === null)\r\n return 'Videos with a season must also have an episode number';\r\n\r\n return '';\r\n },\r\n season(value: ObjectHash, key: string, model: ObjectHash): string {\r\n if ((!model.season || !model.season.get('number')) && (!value || !value.number) && model.episodeNumber)\r\n return 'Videos with an episode number must also have a season';\r\n\r\n return '';\r\n },\r\n productionYear(): string {\r\n return ProductionYearValidation.productionYear.apply(null, arguments);\r\n }\r\n};","import { Video } from 'shared/models/Video';\r\nimport { Library } from 'shared/models/Library';\r\nimport { Metadata } from 'shared/models/Metadata';\r\nimport { SvgHelper, cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { ObjectHash } from 'backbone';\r\nimport { MetadataType } from '../constants';\r\nimport { MetadataCollection } from 'shared/collections/MetadataCollection';\r\nimport { MasterObjectTypes } from 'shared/enums';\r\n\r\nconst lang = 'libraryEditor.utils';\r\n\r\n// File types match metadata for a resource FileApi \r\nenum FileType {\r\n Pdf = 'pdf',\r\n Image = 'image',\r\n PowerPoint = 'powerpoint',\r\n Document = 'document',\r\n Excel = 'excel',\r\n Zip = 'archive',\r\n File = 'text'\r\n}\r\n\r\nconst VideoDetailsHelper = {\r\n mapRatingToClass(ratingValue: number): string {\r\n if (!ratingValue) return '';\r\n\r\n const ratings = (rating: number): string => {\r\n switch (true) {\r\n case (rating < 32):\r\n return 'bg-purple';\r\n case (rating < 48):\r\n return 'bg-success';\r\n case (rating < 80):\r\n return 'bg-info';\r\n case (rating < 96):\r\n return 'bg-danger';\r\n case (rating < 128):\r\n return 'bg-pink';\r\n case (rating >= 128):\r\n return 'bg-warning';\r\n default:\r\n return ''; // Handles unrated\r\n }\r\n };\r\n\r\n return ratings(ratingValue);\r\n },\r\n\r\n mapSourceToDisplayName(library: Library): string {\r\n switch (library.get('type')) {\r\n case MasterObjectTypes.HostedLibrary:\r\n case MasterObjectTypes.CustomLibrary:\r\n return library.get('name');\r\n case MasterObjectTypes.Exchange:\r\n return LanguageService.getPhrase(lang, 'exchange');\r\n case MasterObjectTypes.Workspace:\r\n return LanguageService.getPhrase(lang, 'workspace');\r\n default:\r\n return '';\r\n }\r\n },\r\n\r\n mapSourceToClass(sourceType: MasterObjectTypes): string {\r\n switch (sourceType) {\r\n case MasterObjectTypes.HostedLibrary:\r\n case MasterObjectTypes.CustomLibrary:\r\n return 'bg-info';\r\n case MasterObjectTypes.Exchange:\r\n return 'bg-success';\r\n case MasterObjectTypes.Workspace:\r\n default:\r\n return 'bg-danger';\r\n }\r\n },\r\n\r\n isInteractive(video: Video): boolean {\r\n if (!video || !video.interactives) return false;\r\n\r\n return !!video.interactives.length;\r\n },\r\n\r\n mapTypeToSvg(type: string): any {\r\n const types: ObjectHash = {\r\n [FileType.Pdf]: cvSvgLibrary.FilePDF,\r\n [FileType.Image]: cvSvgLibrary.FileImg,\r\n [FileType.PowerPoint]: cvSvgLibrary.FilePowerpoint,\r\n [FileType.Document]: cvSvgLibrary.FileWord,\r\n [FileType.Excel]: cvSvgLibrary.FileExcel,\r\n [FileType.Zip]: cvSvgLibrary.FileZip,\r\n [FileType.File]: cvSvgLibrary.File\r\n };\r\n\r\n let mappedType = types[type];\r\n\r\n if (!mappedType)\r\n mappedType = cvSvgLibrary.Folder;\r\n\r\n return SvgHelper.getSvg(mappedType);\r\n },\r\n\r\n mapTypeToClass(type: string): any {\r\n\r\n switch (type) {\r\n case FileType.Pdf:\r\n return 'icon-red';\r\n\r\n case FileType.Image:\r\n return 'icon-purple';\r\n\r\n case FileType.Document:\r\n return 'icon-blue';\r\n\r\n case FileType.Excel:\r\n return 'icon-green';\r\n\r\n case FileType.PowerPoint:\r\n return 'icon-orange';\r\n\r\n case FileType.Zip:\r\n return 'icon-teal';\r\n\r\n case FileType.File:\r\n return 'icon-gray';\r\n\r\n default:\r\n return '';\r\n }\r\n },\r\n\r\n mapTypeToExtension(type: string): string {\r\n if (!type) return '';\r\n\r\n const extensions: ObjectHash = {\r\n pdf: 'pdf',\r\n image: 'png',\r\n powerpoint: 'pptx',\r\n };\r\n\r\n return extensions[type.toLowerCase()];\r\n },\r\n\r\n mapTypeToName(type: string): string {\r\n if (!type) return '';\r\n\r\n switch (type) {\r\n case FileType.Pdf: return LanguageService.getPhrase(lang, 'pdf');\r\n case FileType.Image: return LanguageService.getPhrase(lang, 'image');\r\n case FileType.Document: return LanguageService.getPhrase(lang, 'document');\r\n case FileType.Excel: return LanguageService.getPhrase(lang, 'spreadsheet');\r\n case FileType.PowerPoint: return LanguageService.getPhrase(lang, 'presentation');\r\n case FileType.Zip: return LanguageService.getPhrase(lang, 'zipArchive');\r\n case FileType.File: return LanguageService.getPhrase(lang, 'file');\r\n\r\n default:\r\n return '';\r\n }\r\n },\r\n\r\n translateMetadataCollectionNames(collection: MetadataCollection): MetadataCollection {\r\n return new MetadataCollection(\r\n collection.map((metadata: Metadata) => {\r\n return {\r\n ...metadata.toJSON(),\r\n name: VideoDetailsHelper.translateMetadataName(metadata.get('name'))\r\n };\r\n })\r\n );\r\n },\r\n\r\n translateMetadataName(metadata: string): string {\r\n let languageKey: string = 'suggestEdit';\r\n\r\n switch (metadata) {\r\n case MetadataType.VideoTitle:\r\n languageKey += 'VideoTitle';\r\n break;\r\n case MetadataType.Description:\r\n languageKey += 'Description';\r\n break;\r\n case MetadataType.Rating:\r\n languageKey += 'Rating';\r\n break;\r\n case MetadataType.SeriesTitle:\r\n languageKey += 'SeriesTitle';\r\n break;\r\n case MetadataType.Season:\r\n languageKey += 'SeasonNumber';\r\n break;\r\n case MetadataType.EpisodeNumber:\r\n languageKey += 'EpisodeNumber';\r\n break;\r\n case MetadataType.BroadcastDate:\r\n languageKey += 'BroadcastDate';\r\n break;\r\n case MetadataType.Channel:\r\n languageKey += 'Channel';\r\n break;\r\n case MetadataType.ProductionYear:\r\n languageKey += 'ProductionYear';\r\n break;\r\n case MetadataType.Distributors:\r\n languageKey += 'Distributors';\r\n break;\r\n case MetadataType.ProductionCompanies:\r\n languageKey += 'ProductionCompanies';\r\n break;\r\n case MetadataType.Directors:\r\n languageKey += 'Directors';\r\n break;\r\n case MetadataType.Producers:\r\n languageKey += 'Producers';\r\n break;\r\n case MetadataType.Other:\r\n languageKey += 'Other';\r\n break;\r\n }\r\n\r\n return LanguageService.getPhrase(lang, languageKey);\r\n }\r\n};\r\n\r\nexport { VideoDetailsHelper };","export * from './ChapterHelper';\r\nexport * from './EditVideoHelpers';\r\nexport * from './FolderValidation';\r\nexport * from './LanguageValidation';\r\nexport * from './LibraryValidation';\r\nexport * from './UploadVideoValidation';\r\nexport * from './VideoDetailsHelper';\r\nexport * from './DownloadHelper';","import { Core } from 'libs/common/core';\r\n\r\nimport { Metadata } from 'shared/models/Metadata';\r\n\r\nexport class MetadataCollection extends Core.Collection<Metadata> {}"],"sourceRoot":""}
@@ -1 +1 @@
1
- (window.webpackJsonp_clickview_library_editor=window.webpackJsonp_clickview_library_editor||[]).push([[1],{1026:function(e,t,n){"use strict";n.d(t,"a",(function(){return f})),n.d(t,"k",(function(){return h})),n.d(t,"g",(function(){return v})),n.d(t,"e",(function(){return y})),n.d(t,"j",(function(){return g})),n.d(t,"i",(function(){return b})),n.d(t,"c",(function(){return P})),n.d(t,"b",(function(){return S})),n.d(t,"d",(function(){return k})),n.d(t,"f",(function(){return E})),n.d(t,"h",(function(){return m}));var r=n(2),i=n(1),a=n(19),o=n(29),s=n(3),u="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 a=t[r];return n||a?i.isObject(n)&&i.isObject(a)&&!i.isUndefined(n.id)&&n.id===a.id?e:i.isArray(n)?d(n,a).length?e.concat(r):e:i.isEqual(n,a)?e:e.concat(r):e}),[]);if(n.length)return i.object(i.map(n,(function(n){return i.isArray(t[n])?[n,d(e[n],t[n])]:[n,t[n]]})))}}function d(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 a=i.isUndefined(r)?t:l(r,t);a&&(t.id<0&&!t.value||(!r||t.id<0?n.push(t):(a.id=t.id,n.push(a))))}})),n}var f={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,f.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 a.a("There are no formatting settings for ".concat(e)))}},updateModelState:function(e,t,n){var a=["distributors","producers","directors","productionCompanies"];for(var o in i.each(i.keys(n),(function(e){a.includes(e)&&(n[e]=t.get(e).toJSON())})),t.set(i.clone(n),{silent:!0}),e.set(t.toJSON(),{silent:!0}),n){if(!n[o]&&e.associations[o]){var s=e.get(o);(s instanceof r.a.Model||s instanceof r.a.NestedModel)&&s.clear()}}},getRemovedObjectIds:function(e,t){var n=["distributors","productionCompanies","producers","directors"],r={};return i.each(i.keys(e.toJSON()),(function(a){if(i.contains(n,a)){var o=e.get(a).map((function(e){return e.id})),s=t.get(a).map((function(e){return e.id})),u=i.filter(o,(function(e){return e&&!i.contains(s,e)}));u.length&&(r[a]=u)}})),r}},h={name:[{required:!0,msg:function(){return s.a.getPhrase(u,"videoTitleRequired")}},{maxLength:255,msg:function(){return s.a.getPhrase(u,"videoTitleExceeds")}}],description:[{required:!1},{maxLength:65535,msg:function(){return s.a.getPhrase(u,"videoDescriptionExceeds")}}],episodeNumber:function(e,t,n){return e&&e<1?s.a.getPhrase(u,"episodeNumberLessThanOne"):e&&e>2147483647?s.a.getPhrase(u,"episodeNumberExceeds"):e%1!=0?s.a.getPhrase(u,"episodeNumberNotWhole"):n.season&&n.season.get("number")>=0&&null===e?s.a.getPhrase(u,"episodeNumberNoSeason"):""},season:function(e,t,n){return n.season&&n.season.get("number")||e&&e.number||!n.episodeNumber?"":s.a.getPhrase(u,"seasonNoEpisodeNumber")}},p=o().year(),y={productionYear:function(e,t,n){return e||0===e?(e=+e,isNaN(e)?"Production year must be a number.":e<1900||e>p?s.a.getPhrase(u,"validProductionYears",{currentYear:p}):void 0):""}},v={name:[{required:!0,msg:function(){return s.a.getPhrase(u,"resourceNameRequired")}}]},g={suggestion:[{required:!0,msg:function(){return s.a.getPhrase(u,"suggestEditRequired")}},{maxLength:65535,msg:function(){return s.a.getPhrase(u,"suggestEditExceeds")}}],reason:[{required:!0,msg:function(){return s.a.getPhrase(u,"suggestEditReasonRequired")}},{maxLength:65535,msg:function(){return s.a.getPhrase(u,"suggestEditReasonExceeds")}}]},m={number:function(e,t,n){return e?+e<1?s.a.getPhrase(u,"seasonLessThanOne"):+e>255?s.a.getPhrase(u,"seasonExceeds"):+e%1!=0?s.a.getPhrase(u,"seasonNotWhole"):"":s.a.getPhrase(u,"seasonRequired")}},b={empty:function(){return s.a.getPhrase(u,"suggestEditRatingRequired")},original:function(){return s.a.getPhrase(u,"suggestEditRatingInvalid")}},E={url:[{required:!0,pattern:"url",msg:function(){return s.a.getPhrase(u,"linkUrlRequired")}},{maxLength:65535,msg:function(){return s.a.getPhrase(u,"linkUrlExceeds")}}],name:[{required:!0,msg:function(){return s.a.getPhrase(u,"linkNameRequired")}},{maxLength:255,msg:function(){return s.a.getPhrase(u,"linkNameExceeds")}}]},P={name:[{maxLength:128,msg:function(){return s.a.getPhrase(u,"fieldNameExceeds")}}],value:[{maxLength:16e3,msg:function(){return s.a.getPhrase(u,"fieldValueExceeds")}}]},S={fields:function(e){return e&&e.length?e.all((function(e){return!1!==e.isValid()}))?"":s.a.getPhrase(u,"fieldsInvalid"):""}};function k(){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),a=(n(1031),n(3),n(1034)),o=(n(1036),n(1032)),s=n(81),u={getVideoDownloadUrl:function(e,t){return s.a.safeUrlConcat(s.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 a.a})),n.d(t,"i",(function(){return o.a})),n.d(t,"b",(function(){return u}))},1031:function(e,t,n){"use strict";n.d(t,"a",(function(){return l}));var r=n(1),i=n(49),a=n(159),o=n(3),s="libraryEditor.utils",u={name:[{required:!0,msg:function(){return o.a.getPhrase(s,"folderNameRequired")}},{maxLength:255,msg:function(){return o.a.getPhrase(s,"folderNameExceeds")}}]},c=function(e,t){return{parentId:function(n){return n?i.a.calculateDestinationFolderDepth(e,n,t)>a.a.MAX_FOLDER_DEPTH?o.a.getPhrase(s,"maxFolderDepth",{maxDepth:a.a.MAX_FOLDER_DEPTH}):"":o.a.getPhrase(s,"selectParentFolder")}}},l=function(e){var t=e.validateName,n=e.validateParent,i=e.folder,a=e.collection;return t&&n?r.extend({},u,c(i,a)):t?u:n?c(i,a):void 0}},1032:function(e,t,n){"use strict";n.d(t,"a",(function(){return d}));var r=n(15),i=n(3),a=n(185),o=n(1044),s=n(6);function u(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 d={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 s.h.HostedLibrary:case s.h.CustomLibrary:return e.get("name");case s.h.Exchange:return i.a.getPhrase(l,"exchange");case s.h.Workspace:return i.a.getPhrase(l,"workspace");default:return""}},mapSourceToClass:function(e){switch(e){case s.h.HostedLibrary:case s.h.CustomLibrary:return"bg-info";case s.h.Exchange:return"bg-success";case s.h.Workspace:default:return"bg-danger"}},isInteractive:function(e){return!(!e||!e.interactives)&&!!e.interactives.length},mapTypeToSvg:function(e){var t,n=(u(t={},c.Pdf,r.b.FilePDF),u(t,c.Image,r.b.FileImg),u(t,c.PowerPoint,r.b.FilePowerpoint),u(t,c.Document,r.b.FileWord),u(t,c.Excel,r.b.FileExcel),u(t,c.Zip,r.b.FileZip),u(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 o.a(e.map((function(e){return Object.assign(Object.assign({},e.toJSON()),{name:d.translateMetadataName(e.get("name"))})})))},translateMetadataName:function(e){var t="suggestEdit";switch(e){case a.e.VideoTitle:t+="VideoTitle";break;case a.e.Description:t+="Description";break;case a.e.Rating:t+="Rating";break;case a.e.SeriesTitle:t+="SeriesTitle";break;case a.e.Season:t+="SeasonNumber";break;case a.e.EpisodeNumber:t+="EpisodeNumber";break;case a.e.BroadcastDate:t+="BroadcastDate";break;case a.e.Channel:t+="Channel";break;case a.e.ProductionYear:t+="ProductionYear";break;case a.e.Distributors:t+="Distributors";break;case a.e.ProductionCompanies:t+="ProductionCompanies";break;case a.e.Directors:t+="Directors";break;case a.e.Producers:t+="Producers";break;case a.e.Other:t+="Other"}return i.a.getPhrase(l,t)}}},1033:function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var r=n(1),i=n(13),a=n(3),o="libraryEditor.utils",s={isValidChapterTime:function(e,t,n,a){if(a){if(!r.isNumber(t))return u.StartTime.Invalid();if(t<0)return u.StartTime.Invalid();if(t>i.w.millisecondsToSeconds(n))return u.StartTime.Exceeds();if(a.some((function(n){return!(n.id&&n.id===e.id||n.cid===e.cid)&&n.get("startTime")===t})))return u.StartTime.Exists()}},isValidChapterName:function(e,t,n){return t?t.length>255?u.Name.MaxLength():n.some((function(n){return!(n.id&&n.id===e.id||n.cid===e.cid)&&n.get("name").trim()===t.trim()}))?u.Name.Exists():r.isEmpty(t.trim())?u.Name.Invalid():void 0:u.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}))}},u={Name:{Invalid:function(){return a.a.getPhrase(o,"chapterNameInvalid")},Exists:function(){return a.a.getPhrase(o,"chapterNameExists")},MaxLength:function(){return a.a.getPhrase(o,"chapterNameExceeds")}},StartTime:{Invalid:function(){return a.a.getPhrase(o,"chapterStartTimeInvalid")},Exists:function(){return a.a.getPhrase(o,"chapterStartTimeExists")},Exceeds:function(){return a.a.getPhrase(o,"chapterStartTimeExceeds")}}}},1034:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(3),i="libraryEditor.utils",a={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 s}));var r=n(29),i=n(3),a=n(1026),o="libraryEditor.utils",s=(r().year(),{name:[{required:!0,msg:function(){return i.a.getPhrase(o,"videoTitleRequired")}}],folderId:[{required:!0,msg:function(){return i.a.getPhrase(o,"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 a.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 a(e,t){return(a=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function o(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=u(e);if(t){var i=u(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return s(this,n)}}function s(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 u(e){return(u=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&&a(e,t)}(n,e);var t=o(n);function n(){return i(this,n),t.apply(this,arguments)}return n}(n(2).a.Collection)},1176:function(e,t,n){"use strict";var r=n(1),i=n(7),a=n(1206),o={PLAY:"cv-player-play",PAUSE:"cv-player-pause",VIDEO_END:"cv-player-ended",VOLUME_CHANGE:"cv-player-volumechange",CHAPTER_CHANGE:"cv-player-chapterchange",TIME_UPDATE:"cv-player-timeupdate",FULLSCREEN_CHANGE:"cv-player-fullscreenchange",CLIP_POINTS_UPDATE:"cv-player-cliptoolupdate",QUALITY_CHANGE:"cv-player-qualitychange",QUERY_CALLBACK:"cv-player-querycallback",SUBTITLES_ENABLED:"cv-player-hassubtitles",SUBTITLES:"cv-player-subtitles",PONG:"cv-player-pong",FULLSCREEN_CLICK:"_cvwp:fsc",DEVICES_BTN_CLICK:"_cvwp:devices:click"},s={PLAY:"cv-player-play",PAUSE:"cv-player-pause",SET_VOLUME:"cv-player-setvolume",NEXT_CHAPTER:"cv-player-nextchapter",PREV_CHAPTER:"cv-player-previouschapter",CHANGE_CHAPTER:"cv-player-changechapter",TOGGLE_CLIPPING:"cv-player-cliptooltoggle",SET_CLIP_POINTS:"cv-player-cliptoolset",CLIP:"cv-player-setclip",CLEAR_CLIP:"cv-player-clearclip",SEEK_TO:"cv-player-seekto",CONTROLS:"cv-player-showcontrols",SUBTITLES:"cv-player-subtitles",SET_QUALITY:"cv-player-setquality",QUERY:"cv-player-query",ADD_LISTENER:"cv-player-addlistener",REMOVE_LISTENER:"cv-player-removelistener",PING:"cv-player-ping",TOGGLE_DEVICES_BTN:"_cv:toggledevicesbtn",SHOW_DEVICES_BTN:"_cv:showdevicesbtn",SHOW_FS_BTN:"_cv:showfsbtn"},u={GET_AVAILABLE_QUALITIES:"getAvailableQualities",GET_CURRENT_QUALITY:"currentQuality",IS_PAUSED:"paused",GET_CURRENT_TIME:"currentTime",GET_CHAPTERS:"getChapters",HAS_METADATA_CHAPTERS:"hasMetadataChapters"},c=n(2),l=n(30),d=n(19),f=n(81),h=n(15),p=n(1021),y=n(0),v=function(e){return e instanceof c.a.Model||e instanceof c.a.Collection||e instanceof i.Model||e instanceof i.Collection?e.toJSON():e},g=n(4),m=n(117),b=n(42);function E(e){return(E="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 S(e,t){return(S=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function k(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=C(e);if(t){var i=C(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return w(this,n)}}function w(e,t){return!t||"object"!==E(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 C(e){return(C=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var T=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&&S(e,t)}(l,e);var t,n,i,a=k(l);function l(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,l),(t=a.call(this,e)).captureInterval=60,t}return t=l,(n=[{key:"initialize",value:function(){this.eventsApi=this.options.eventsApi,this.options.video||c.a.ErrorHelper.throw(new d.a("Video logging requires video to be passed in.")),this.model=this.options.video,this.playbackStatus=this.getNewPlaybackStatus(),this.options.captureInterval&&(this.captureInterval=this.options.captureInterval),this.bindListeners(),this.getChapters()}},{key:"bindListeners",value:function(){this.eventsApi.on(o.TIME_UPDATE,r.bind(this.onPlayerTimeUpdate,this)),this.eventsApi.on(o.VIDEO_END,r.bind(this.onEnd,this)),this.eventsApi.on(o.FULLSCREEN_CHANGE,r.bind(this.onFullScreen,this)),this.eventsApi.on(o.CHAPTER_CHANGE,r.bind(this.onChapterChange,this))}},{key:"unbindListeners",value:function(){this.eventsApi.off(o.TIME_UPDATE),this.eventsApi.off(o.VIDEO_END),this.eventsApi.off(o.FULLSCREEN_CHANGE),this.eventsApi.off(o.CHAPTER_CHANGE)}},{key:"getChapters",value:function(){var e=this;this.queryWebplayer(u.GET_CHAPTERS,(function(t,n){e.setInitialChapter(n),e.setVideoDuration(n)}))}},{key:"queryWebplayer",value:function(e,t){var n=r.uniqueId(this.name),i="".concat(o.QUERY_CALLBACK,"-").concat(n);this.eventsApi.one(i,t),this.eventsApi.trigger(s.QUERY,e,n)}},{key:"onEnd",value:function(){this.setCurrentPosition(this.playbackStatus.totalDuration),this.logVerbose(g.n.Finish),this.resetPlaybackStatus()}},{key:"onFullScreen",value:function(e,t){var n=t?g.n.FullScreenEnter:g.n.FullScreenExit;this.logVerbose(n)}},{key:"onPlayerTimeUpdate",value:function(e,t){var n=this;this.queryWebplayer(u.IS_PAUSED,(function(e,r){n.updateTime(t,r)}))}},{key:"onChapterChange",value:function(e,t){r.isObject(t)&&this.setCurrentChapter(t.number)}},{key:"updateTime",value:function(e,t){var n=Math.floor(e);n&&n!==this.getCurrentPositon()&&(this.setCurrentPosition(n),t||(this.playbackHasStarted()||(this.logVerbose(g.n.Start),this.setPlaybackStarted()),this.incrementWatchTime(),this.getWatchTime()%this.captureInterval==0&&this.logVerbose(g.n.Playback),8===this.getWatchTime()&&this.logStream()))}},{key:"setInitialChapter",value:function(e){var t=r.find(e,(function(e){return!0===e.current}));r.isObject(t)&&this.setCurrentChapter(t.number)}},{key:"setVideoDuration",value:function(e){var t=r.reduce(e,(function(e,t){return e+t.duration}),0);!r.isNaN(t)&&r.isNumber(t)&&(this.playbackStatus.totalDuration=Math.floor(t))}},{key:"setCurrentPosition",value:function(e){this.playbackStatus.position=e}},{key:"getCurrentPositon",value:function(){return this.playbackStatus.position}},{key:"setCurrentChapter",value:function(e){this.playbackStatus.chapter=e}},{key:"setPlaybackStarted",value:function(){this.playbackStatus.hasStarted=!0}},{key:"playbackHasStarted",value:function(){return this.playbackStatus.hasStarted}},{key:"getWatchTime",value:function(){return this.playbackStatus.totalWatched}},{key:"incrementWatchTime",value:function(){this.playbackStatus.totalWatched+=1}},{key:"getNewPlaybackStatus",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.duration,n=e.watched;return{position:0,chapter:0,hasStarted:!1,totalWatched:n||0,totalDuration:t||0}}},{key:"resetPlaybackStatus",value:function(){var e={duration:this.playbackStatus.totalDuration,watched:this.playbackStatus.totalWatched};this.playbackStatus=this.getNewPlaybackStatus(e)}},{key:"unbindUnload",value:function(){$(window).off("unload")}},{key:"bindUnload",value:function(){$(window).on("unload",r.bind(this.logUnload,this))}},{key:"logUnload",value:function(){this.playbackHasStarted()&&this.logVerbose(g.n.Terminate)}},{key:"logStream",value:function(){var e=b.a.buildActionContext(this.options.analyticsOptions);m.a.log(g.q.StreamRaw,this.getStreamRawData(),e)}},{key:"logVerbose",value:function(e){}},{key:"getPlaybackData",value:function(){return{model:v(this.model),playbackStatus:r.omit(this.playbackStatus,"hasStarted")}}},{key:"getStreamRawData",value:function(){return{id:v(this.model).id}}},{key:"onDestroy",value:function(){this.unbindListeners(),this.unbindUnload(),this.logUnload()}},{key:"name",get:function(){return"VideoAnalyticsTracker"}}])&&P(t.prototype,n),i&&P(t,i),l}(c.a.Service),N=n(1207),_=n.n(N),A=n(1208),O=n.n(A);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 R(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 D(e,t){return(D=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function L(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=U(e);if(t){var i=U(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return x(this,n)}}function x(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 U(e){return(U=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}n.d(t,"a",(function(){return M}));var M=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&&D(e,t)}(g,e);var t,n,u,v=L(g);function g(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,g),v.call(this,e)}return t=g,(n=[{key:"initialize",value:function(){this.enableIeFs=this.isTop(),this.getViewModel()}},{key:"seekTo",value:function(e){this.eventsApi&&this.eventsApi.trigger(s.SEEK_TO,e)}},{key:"seekToChapter",value:function(e){this.eventsApi&&this.eventsApi.trigger("cv-player-changechapter",e)}},{key:"getViewModel",value:function(){var e=this.model.get("id");e||(e=this.model.get("trackingCode")),this.viewModel=l.a.get("".concat(y.z.NAME,"-").concat(e)),this.viewModel.get("initialized")||this.initViewModel(),this.setUrl()}},{key:"initViewModel",value:function(){var e=this.model.pick("id");e.id||(e=this.model.pick("trackingCode")),e.id||e.trackingCode||c.a.ErrorHelper.throw(new d.a("Must provide either a master id or a tracking code to ".concat(this.name)));var t=r.extend({},this.viewModelDefaults,e,this.viewModel.toJSON(),{initialized:!0});this.viewModel.set(t)}},{key:"initWebPlayerEvents",value:function(){if(this.enableIeFs){var e=this.getUI("iframe");e&&0!==e.length&&e.on("load",this.bindWebPlayerEvents.bind(this))}}},{key:"bindWebPlayerEvents",value:function(){if(!this.iframeReady){var e=this.getUI("iframe").get(0);this.eventsApi=new p.CVEventsApi(e.contentWindow),this.eventsApi.on(o.PONG,this.onPong.bind(this)),this.eventsApi.trigger(s.PING),this.eventsApi.on(o.FULLSCREEN_CLICK,this.onFullscreenChange.bind(this)),this.eventsApi.trigger(s.SHOW_FS_BTN),this.eventsApi.on(o.TIME_UPDATE,this.onTimeUpdate.bind(this)),this.eventsApi.on(o.PLAY,this.onPlay.bind(this)),this.eventsApi.on(o.PAUSE,this.onPause.bind(this)),this.eventsApi.on(o.VIDEO_END,this.onEnded.bind(this)),this.options.showDevicesButton&&(this.eventsApi.on(o.DEVICES_BTN_CLICK,this.showDeviceToggle.bind(this)),this.eventsApi.trigger(s.SHOW_DEVICES_BTN)),this.options.captureAnalytics&&(this.tracker=new T({video:this.model.toJSON(),eventsApi:this.eventsApi,analyticsOptions:this.options.analyticsOptions}))}}},{key:"unbindWebPlayerEvents",value:function(){this.eventsApi&&(this.eventsApi.off(o.FULLSCREEN_CLICK),this.eventsApi.off(o.TIME_UPDATE),this.eventsApi.off(o.PLAY),this.eventsApi.off(o.PAUSE),this.eventsApi.off(o.VIDEO_END),this.eventsApi.off(o.PONG),this.eventsApi.off(o.DEVICES_BTN_CLICK))}},{key:"setUrl",value:function(){var e="".concat(this.viewModel.get("webPlayerHost"),"embed"),t=r.omit(this.viewModel.get("parameters"),["p","vid"])||{};t.a=!!this.viewModel.get("autoplay");var n=this.viewModel.get("id");n&&(t.vid=n);var i=this.viewModel.get("trackingCode");i&&(t.p=i),this.viewModel.get("currenttime")&&(t.t=this.viewModel.get("currenttime"),t.a=!this.viewModel.get("paused"));var o=f.a.urlBuilder(e,t),s=Object(a.signUrl)(o,{timestamp:!0});this.viewModel.set({url:s})}},{key:"isTop",value:function(){return window.top===window}},{key:"onTimeUpdate",value:function(e,t){this.viewModel.set("ready",!0),this.viewModel.set("currenttime",t)}},{key:"onPlay",value:function(){this.viewModel.set("ready",!0),this.viewModel.set("paused",!1)}},{key:"onPause",value:function(){this.viewModel.set("ready",!0),this.viewModel.set("paused",!0)}},{key:"onEnded",value:function(){this.viewModel.trigger("ended")}},{key:"onPong",value:function(){this.iframeReady=!0,this.viewModel.set("ready",!0),i.Radio.channel(this.channelName).trigger("loaded"),this.options.parentChannelName&&i.Radio.channel(this.options.parentChannelName).trigger("webplayer:loaded")}},{key:"onFullscreenChange",value:function(e,t,n){t?this.requestFs(n):this.cancelFs(n)}},{key:"requestFs",value:function(e){e||$("html").addClass("player-fullscreen")}},{key:"cancelFs",value:function(e){e||$("html").removeClass("player-fullscreen")}},{key:"showDeviceToggle",value:function(e){this.viewModel.trigger("showDevices",!!e)}},{key:"query",value:function(e,t){var n=this;if(this.iframeReady){var i=r.uniqueId("cveventsapi");this.eventsApi.one("".concat(o.QUERY_CALLBACK,"-").concat(i),(function(e,n){t(n)})),this.eventsApi.trigger(s.QUERY,e,i)}else this.listenToOnce(this.channelName,"loaded",(function(){return n.query(e,t)}))}},{key:"viewOptions",value:function(){return r.extend({},{styles:O.a,playSvg:h.a.getSvg(h.b.Play)},this.viewModel.toJSON())}},{key:"onRender",value:function(){this.initWebPlayerEvents()}},{key:"onBeforeDestroy",value:function(){this.unbindWebPlayerEvents(),this.tracker&&this.tracker.destroy()}},{key:"elements",get:function(){return{iframe:"iframe"}}},{key:"name",get:function(){return"WebPlayerView"}},{key:"template",get:function(){return _.a}},{key:"className",get:function(){return"".concat(O.a.webPlayerContainer," embed-responsive embed-responsive-16by9")}},{key:"channelName",get:function(){return"".concat(this.name).concat(this.cid)}},{key:"defaults",get:function(){return{captureAnalytics:!0,showDevicesButton:!1}}},{key:"viewModelDefaults",get:function(){return{width:640,height:360,autoplay:!!this.options.autoplay,parameters:{s:!1,bc:!1,bf:!1},webPlayerHost:this.options.webPlayerUrl}}}])&&R(t.prototype,n),u&&R(t,u),g}(c.a.Component)},1207: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){e.propertyIsEnumerable;var a,o=e.lambda,s=e.escapeExpression;return'<iframe class="'+s(o(null!=(a=null!=(a=null!=t?t.options:t)?a.styles:a)?a.webPlayer:a,t))+' embed-responsive-item" id="'+s(o(null!=(a=null!=t?t.options:t)?a.id:a,t))+'" allowfullscreen webkitallowfullscreen mozallowfullscreen allow="autoplay; fullscreen" frameborder="0" width="'+s(o(null!=(a=null!=t?t.options:t)?a.width:a,t))+'" height="'+s(o(null!=(a=null!=t?t.options:t)?a.height:a,t))+'" src="'+s(o(null!=(a=null!=t?t.options:t)?a.url:a,t))+'"></iframe>\r\n<div class="'+s(o(null!=(a=null!=(a=null!=t?t.options:t)?a.styles:a)?a.svgContainer:a,t))+'">'+(null!=(a=o(null!=(a=null!=t?t.options:t)?a.playSvg:a,t))?a:"")+"</div>"},useData:!0})},1208:function(e,t,n){e.exports={webPlayerContainer:"_2S4VF",webPlayer:"_3569L",svgContainer:"_1WsxD"}}}]);
1
+ (window.webpackJsonp_clickview_library_editor=window.webpackJsonp_clickview_library_editor||[]).push([[1],{1022:function(e,t,n){"use strict";n.d(t,"a",(function(){return f})),n.d(t,"k",(function(){return h})),n.d(t,"g",(function(){return v})),n.d(t,"e",(function(){return y})),n.d(t,"j",(function(){return g})),n.d(t,"i",(function(){return b})),n.d(t,"c",(function(){return P})),n.d(t,"b",(function(){return S})),n.d(t,"d",(function(){return k})),n.d(t,"f",(function(){return E})),n.d(t,"h",(function(){return m}));var r=n(2),i=n(1),a=n(19),o=n(29),s=n(3),u="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 a=t[r];return n||a?i.isObject(n)&&i.isObject(a)&&!i.isUndefined(n.id)&&n.id===a.id?e:i.isArray(n)?d(n,a).length?e.concat(r):e:i.isEqual(n,a)?e:e.concat(r):e}),[]);if(n.length)return i.object(i.map(n,(function(n){return i.isArray(t[n])?[n,d(e[n],t[n])]:[n,t[n]]})))}}function d(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 a=i.isUndefined(r)?t:l(r,t);a&&(t.id<0&&!t.value||(!r||t.id<0?n.push(t):(a.id=t.id,n.push(a))))}})),n}var f={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,f.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 a.a("There are no formatting settings for ".concat(e)))}},updateModelState:function(e,t,n){var a=["distributors","producers","directors","productionCompanies"];for(var o in i.each(i.keys(n),(function(e){a.includes(e)&&(n[e]=t.get(e).toJSON())})),t.set(i.clone(n),{silent:!0}),e.set(t.toJSON(),{silent:!0}),n){if(!n[o]&&e.associations[o]){var s=e.get(o);(s instanceof r.a.Model||s instanceof r.a.NestedModel)&&s.clear()}}},getRemovedObjectIds:function(e,t){var n=["distributors","productionCompanies","producers","directors"],r={};return i.each(i.keys(e.toJSON()),(function(a){if(i.contains(n,a)){var o=e.get(a).map((function(e){return e.id})),s=t.get(a).map((function(e){return e.id})),u=i.filter(o,(function(e){return e&&!i.contains(s,e)}));u.length&&(r[a]=u)}})),r}},h={name:[{required:!0,msg:function(){return s.a.getPhrase(u,"videoTitleRequired")}},{maxLength:255,msg:function(){return s.a.getPhrase(u,"videoTitleExceeds")}}],description:[{required:!1},{maxLength:65535,msg:function(){return s.a.getPhrase(u,"videoDescriptionExceeds")}}],episodeNumber:function(e,t,n){return e&&e<1?s.a.getPhrase(u,"episodeNumberLessThanOne"):e&&e>2147483647?s.a.getPhrase(u,"episodeNumberExceeds"):e%1!=0?s.a.getPhrase(u,"episodeNumberNotWhole"):n.season&&n.season.get("number")>=0&&null===e?s.a.getPhrase(u,"episodeNumberNoSeason"):""},season:function(e,t,n){return n.season&&n.season.get("number")||e&&e.number||!n.episodeNumber?"":s.a.getPhrase(u,"seasonNoEpisodeNumber")}},p=o().year(),y={productionYear:function(e,t,n){return e||0===e?(e=+e,isNaN(e)?"Production year must be a number.":e<1900||e>p?s.a.getPhrase(u,"validProductionYears",{currentYear:p}):void 0):""}},v={name:[{required:!0,msg:function(){return s.a.getPhrase(u,"resourceNameRequired")}}]},g={suggestion:[{required:!0,msg:function(){return s.a.getPhrase(u,"suggestEditRequired")}},{maxLength:65535,msg:function(){return s.a.getPhrase(u,"suggestEditExceeds")}}],reason:[{required:!0,msg:function(){return s.a.getPhrase(u,"suggestEditReasonRequired")}},{maxLength:65535,msg:function(){return s.a.getPhrase(u,"suggestEditReasonExceeds")}}]},m={number:function(e,t,n){return e?+e<1?s.a.getPhrase(u,"seasonLessThanOne"):+e>255?s.a.getPhrase(u,"seasonExceeds"):+e%1!=0?s.a.getPhrase(u,"seasonNotWhole"):"":s.a.getPhrase(u,"seasonRequired")}},b={empty:function(){return s.a.getPhrase(u,"suggestEditRatingRequired")},original:function(){return s.a.getPhrase(u,"suggestEditRatingInvalid")}},E={url:[{required:!0,pattern:"url",msg:function(){return s.a.getPhrase(u,"linkUrlRequired")}},{maxLength:65535,msg:function(){return s.a.getPhrase(u,"linkUrlExceeds")}}],name:[{required:!0,msg:function(){return s.a.getPhrase(u,"linkNameRequired")}},{maxLength:255,msg:function(){return s.a.getPhrase(u,"linkNameExceeds")}}]},P={name:[{maxLength:128,msg:function(){return s.a.getPhrase(u,"fieldNameExceeds")}}],value:[{maxLength:16e3,msg:function(){return s.a.getPhrase(u,"fieldValueExceeds")}}]},S={fields:function(e){return e&&e.length?e.all((function(e){return!1!==e.isValid()}))?"":s.a.getPhrase(u,"fieldsInvalid"):""}};function k(){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),a=(n(1027),n(3),n(1030)),o=(n(1032),n(1028)),s=n(75),u={getVideoDownloadUrl:function(e,t){return s.a.safeUrlConcat(s.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 a.a})),n.d(t,"i",(function(){return o.a})),n.d(t,"b",(function(){return u}))},1027:function(e,t,n){"use strict";n.d(t,"a",(function(){return l}));var r=n(1),i=n(49),a=n(159),o=n(3),s="libraryEditor.utils",u={name:[{required:!0,msg:function(){return o.a.getPhrase(s,"folderNameRequired")}},{maxLength:255,msg:function(){return o.a.getPhrase(s,"folderNameExceeds")}}]},c=function(e,t){return{parentId:function(n){return n?i.a.calculateDestinationFolderDepth(e,n,t)>a.a.MAX_FOLDER_DEPTH?o.a.getPhrase(s,"maxFolderDepth",{maxDepth:a.a.MAX_FOLDER_DEPTH}):"":o.a.getPhrase(s,"selectParentFolder")}}},l=function(e){var t=e.validateName,n=e.validateParent,i=e.folder,a=e.collection;return t&&n?r.extend({},u,c(i,a)):t?u:n?c(i,a):void 0}},1028:function(e,t,n){"use strict";n.d(t,"a",(function(){return d}));var r=n(15),i=n(3),a=n(185),o=n(1040),s=n(6);function u(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 d={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 s.h.HostedLibrary:case s.h.CustomLibrary:return e.get("name");case s.h.Exchange:return i.a.getPhrase(l,"exchange");case s.h.Workspace:return i.a.getPhrase(l,"workspace");default:return""}},mapSourceToClass:function(e){switch(e){case s.h.HostedLibrary:case s.h.CustomLibrary:return"bg-info";case s.h.Exchange:return"bg-success";case s.h.Workspace:default:return"bg-danger"}},isInteractive:function(e){return!(!e||!e.interactives)&&!!e.interactives.length},mapTypeToSvg:function(e){var t,n=(u(t={},c.Pdf,r.b.FilePDF),u(t,c.Image,r.b.FileImg),u(t,c.PowerPoint,r.b.FilePowerpoint),u(t,c.Document,r.b.FileWord),u(t,c.Excel,r.b.FileExcel),u(t,c.Zip,r.b.FileZip),u(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 o.a(e.map((function(e){return Object.assign(Object.assign({},e.toJSON()),{name:d.translateMetadataName(e.get("name"))})})))},translateMetadataName:function(e){var t="suggestEdit";switch(e){case a.e.VideoTitle:t+="VideoTitle";break;case a.e.Description:t+="Description";break;case a.e.Rating:t+="Rating";break;case a.e.SeriesTitle:t+="SeriesTitle";break;case a.e.Season:t+="SeasonNumber";break;case a.e.EpisodeNumber:t+="EpisodeNumber";break;case a.e.BroadcastDate:t+="BroadcastDate";break;case a.e.Channel:t+="Channel";break;case a.e.ProductionYear:t+="ProductionYear";break;case a.e.Distributors:t+="Distributors";break;case a.e.ProductionCompanies:t+="ProductionCompanies";break;case a.e.Directors:t+="Directors";break;case a.e.Producers:t+="Producers";break;case a.e.Other:t+="Other"}return i.a.getPhrase(l,t)}}},1029:function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var r=n(1),i=n(13),a=n(3),o="libraryEditor.utils",s={isValidChapterTime:function(e,t,n,a){if(a){if(!r.isNumber(t))return u.StartTime.Invalid();if(t<0)return u.StartTime.Invalid();if(t>i.w.millisecondsToSeconds(n))return u.StartTime.Exceeds();if(a.some((function(n){return!(n.id&&n.id===e.id||n.cid===e.cid)&&n.get("startTime")===t})))return u.StartTime.Exists()}},isValidChapterName:function(e,t,n){return t?t.length>255?u.Name.MaxLength():n.some((function(n){return!(n.id&&n.id===e.id||n.cid===e.cid)&&n.get("name").trim()===t.trim()}))?u.Name.Exists():r.isEmpty(t.trim())?u.Name.Invalid():void 0:u.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}))}},u={Name:{Invalid:function(){return a.a.getPhrase(o,"chapterNameInvalid")},Exists:function(){return a.a.getPhrase(o,"chapterNameExists")},MaxLength:function(){return a.a.getPhrase(o,"chapterNameExceeds")}},StartTime:{Invalid:function(){return a.a.getPhrase(o,"chapterStartTimeInvalid")},Exists:function(){return a.a.getPhrase(o,"chapterStartTimeExists")},Exceeds:function(){return a.a.getPhrase(o,"chapterStartTimeExceeds")}}}},1030:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(3),i="libraryEditor.utils",a={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 s}));var r=n(29),i=n(3),a=n(1022),o="libraryEditor.utils",s=(r().year(),{name:[{required:!0,msg:function(){return i.a.getPhrase(o,"videoTitleRequired")}}],folderId:[{required:!0,msg:function(){return i.a.getPhrase(o,"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 a.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 a(e,t){return(a=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function o(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=u(e);if(t){var i=u(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return s(this,n)}}function s(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 u(e){return(u=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&&a(e,t)}(n,e);var t=o(n);function n(){return i(this,n),t.apply(this,arguments)}return n}(n(2).a.Collection)},1172:function(e,t,n){"use strict";var r=n(1),i=n(7),a=n(1202),o={PLAY:"cv-player-play",PAUSE:"cv-player-pause",VIDEO_END:"cv-player-ended",VOLUME_CHANGE:"cv-player-volumechange",CHAPTER_CHANGE:"cv-player-chapterchange",TIME_UPDATE:"cv-player-timeupdate",FULLSCREEN_CHANGE:"cv-player-fullscreenchange",CLIP_POINTS_UPDATE:"cv-player-cliptoolupdate",QUALITY_CHANGE:"cv-player-qualitychange",QUERY_CALLBACK:"cv-player-querycallback",SUBTITLES_ENABLED:"cv-player-hassubtitles",SUBTITLES:"cv-player-subtitles",PONG:"cv-player-pong",FULLSCREEN_CLICK:"_cvwp:fsc",DEVICES_BTN_CLICK:"_cvwp:devices:click"},s={PLAY:"cv-player-play",PAUSE:"cv-player-pause",SET_VOLUME:"cv-player-setvolume",NEXT_CHAPTER:"cv-player-nextchapter",PREV_CHAPTER:"cv-player-previouschapter",CHANGE_CHAPTER:"cv-player-changechapter",TOGGLE_CLIPPING:"cv-player-cliptooltoggle",SET_CLIP_POINTS:"cv-player-cliptoolset",CLIP:"cv-player-setclip",CLEAR_CLIP:"cv-player-clearclip",SEEK_TO:"cv-player-seekto",CONTROLS:"cv-player-showcontrols",SUBTITLES:"cv-player-subtitles",SET_QUALITY:"cv-player-setquality",QUERY:"cv-player-query",ADD_LISTENER:"cv-player-addlistener",REMOVE_LISTENER:"cv-player-removelistener",PING:"cv-player-ping",TOGGLE_DEVICES_BTN:"_cv:toggledevicesbtn",SHOW_DEVICES_BTN:"_cv:showdevicesbtn",SHOW_FS_BTN:"_cv:showfsbtn"},u={GET_AVAILABLE_QUALITIES:"getAvailableQualities",GET_CURRENT_QUALITY:"currentQuality",IS_PAUSED:"paused",GET_CURRENT_TIME:"currentTime",GET_CHAPTERS:"getChapters",HAS_METADATA_CHAPTERS:"hasMetadataChapters"},c=n(2),l=n(30),d=n(19),f=n(75),h=n(15),p=n(1017),y=n(0),v=function(e){return e instanceof c.a.Model||e instanceof c.a.Collection||e instanceof i.Model||e instanceof i.Collection?e.toJSON():e},g=n(4),m=n(117),b=n(42);function E(e){return(E="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 S(e,t){return(S=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function k(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=C(e);if(t){var i=C(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return w(this,n)}}function w(e,t){return!t||"object"!==E(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 C(e){return(C=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var T=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&&S(e,t)}(l,e);var t,n,i,a=k(l);function l(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,l),(t=a.call(this,e)).captureInterval=60,t}return t=l,(n=[{key:"initialize",value:function(){this.eventsApi=this.options.eventsApi,this.options.video||c.a.ErrorHelper.throw(new d.a("Video logging requires video to be passed in.")),this.model=this.options.video,this.playbackStatus=this.getNewPlaybackStatus(),this.options.captureInterval&&(this.captureInterval=this.options.captureInterval),this.bindListeners(),this.getChapters()}},{key:"bindListeners",value:function(){this.eventsApi.on(o.TIME_UPDATE,r.bind(this.onPlayerTimeUpdate,this)),this.eventsApi.on(o.VIDEO_END,r.bind(this.onEnd,this)),this.eventsApi.on(o.FULLSCREEN_CHANGE,r.bind(this.onFullScreen,this)),this.eventsApi.on(o.CHAPTER_CHANGE,r.bind(this.onChapterChange,this))}},{key:"unbindListeners",value:function(){this.eventsApi.off(o.TIME_UPDATE),this.eventsApi.off(o.VIDEO_END),this.eventsApi.off(o.FULLSCREEN_CHANGE),this.eventsApi.off(o.CHAPTER_CHANGE)}},{key:"getChapters",value:function(){var e=this;this.queryWebplayer(u.GET_CHAPTERS,(function(t,n){e.setInitialChapter(n),e.setVideoDuration(n)}))}},{key:"queryWebplayer",value:function(e,t){var n=r.uniqueId(this.name),i="".concat(o.QUERY_CALLBACK,"-").concat(n);this.eventsApi.one(i,t),this.eventsApi.trigger(s.QUERY,e,n)}},{key:"onEnd",value:function(){this.setCurrentPosition(this.playbackStatus.totalDuration),this.logVerbose(g.n.Finish),this.resetPlaybackStatus()}},{key:"onFullScreen",value:function(e,t){var n=t?g.n.FullScreenEnter:g.n.FullScreenExit;this.logVerbose(n)}},{key:"onPlayerTimeUpdate",value:function(e,t){var n=this;this.queryWebplayer(u.IS_PAUSED,(function(e,r){n.updateTime(t,r)}))}},{key:"onChapterChange",value:function(e,t){r.isObject(t)&&this.setCurrentChapter(t.number)}},{key:"updateTime",value:function(e,t){var n=Math.floor(e);n&&n!==this.getCurrentPositon()&&(this.setCurrentPosition(n),t||(this.playbackHasStarted()||(this.logVerbose(g.n.Start),this.setPlaybackStarted()),this.incrementWatchTime(),this.getWatchTime()%this.captureInterval==0&&this.logVerbose(g.n.Playback),8===this.getWatchTime()&&this.logStream()))}},{key:"setInitialChapter",value:function(e){var t=r.find(e,(function(e){return!0===e.current}));r.isObject(t)&&this.setCurrentChapter(t.number)}},{key:"setVideoDuration",value:function(e){var t=r.reduce(e,(function(e,t){return e+t.duration}),0);!r.isNaN(t)&&r.isNumber(t)&&(this.playbackStatus.totalDuration=Math.floor(t))}},{key:"setCurrentPosition",value:function(e){this.playbackStatus.position=e}},{key:"getCurrentPositon",value:function(){return this.playbackStatus.position}},{key:"setCurrentChapter",value:function(e){this.playbackStatus.chapter=e}},{key:"setPlaybackStarted",value:function(){this.playbackStatus.hasStarted=!0}},{key:"playbackHasStarted",value:function(){return this.playbackStatus.hasStarted}},{key:"getWatchTime",value:function(){return this.playbackStatus.totalWatched}},{key:"incrementWatchTime",value:function(){this.playbackStatus.totalWatched+=1}},{key:"getNewPlaybackStatus",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.duration,n=e.watched;return{position:0,chapter:0,hasStarted:!1,totalWatched:n||0,totalDuration:t||0}}},{key:"resetPlaybackStatus",value:function(){var e={duration:this.playbackStatus.totalDuration,watched:this.playbackStatus.totalWatched};this.playbackStatus=this.getNewPlaybackStatus(e)}},{key:"unbindUnload",value:function(){$(window).off("unload")}},{key:"bindUnload",value:function(){$(window).on("unload",r.bind(this.logUnload,this))}},{key:"logUnload",value:function(){this.playbackHasStarted()&&this.logVerbose(g.n.Terminate)}},{key:"logStream",value:function(){var e=b.a.buildActionContext(this.options.analyticsOptions);m.a.log(g.q.StreamRaw,this.getStreamRawData(),e)}},{key:"logVerbose",value:function(e){}},{key:"getPlaybackData",value:function(){return{model:v(this.model),playbackStatus:r.omit(this.playbackStatus,"hasStarted")}}},{key:"getStreamRawData",value:function(){return{id:v(this.model).id}}},{key:"onDestroy",value:function(){this.unbindListeners(),this.unbindUnload(),this.logUnload()}},{key:"name",get:function(){return"VideoAnalyticsTracker"}}])&&P(t.prototype,n),i&&P(t,i),l}(c.a.Service),N=n(1203),_=n.n(N),A=n(1204),O=n.n(A);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 R(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 D(e,t){return(D=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function L(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=U(e);if(t){var i=U(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return x(this,n)}}function x(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 U(e){return(U=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}n.d(t,"a",(function(){return M}));var M=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&&D(e,t)}(g,e);var t,n,u,v=L(g);function g(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,g),v.call(this,e)}return t=g,(n=[{key:"initialize",value:function(){this.enableIeFs=this.isTop(),this.getViewModel()}},{key:"seekTo",value:function(e){this.eventsApi&&this.eventsApi.trigger(s.SEEK_TO,e)}},{key:"seekToChapter",value:function(e){this.eventsApi&&this.eventsApi.trigger("cv-player-changechapter",e)}},{key:"getViewModel",value:function(){var e=this.model.get("id");e||(e=this.model.get("trackingCode")),this.viewModel=l.a.get("".concat(y.z.NAME,"-").concat(e)),this.viewModel.get("initialized")||this.initViewModel(),this.setUrl()}},{key:"initViewModel",value:function(){var e=this.model.pick("id");e.id||(e=this.model.pick("trackingCode")),e.id||e.trackingCode||c.a.ErrorHelper.throw(new d.a("Must provide either a master id or a tracking code to ".concat(this.name)));var t=r.extend({},this.viewModelDefaults,e,this.viewModel.toJSON(),{initialized:!0});this.viewModel.set(t)}},{key:"initWebPlayerEvents",value:function(){if(this.enableIeFs){var e=this.getUI("iframe");e&&0!==e.length&&e.on("load",this.bindWebPlayerEvents.bind(this))}}},{key:"bindWebPlayerEvents",value:function(){if(!this.iframeReady){var e=this.getUI("iframe").get(0);this.eventsApi=new p.CVEventsApi(e.contentWindow),this.eventsApi.on(o.PONG,this.onPong.bind(this)),this.eventsApi.trigger(s.PING),this.eventsApi.on(o.FULLSCREEN_CLICK,this.onFullscreenChange.bind(this)),this.eventsApi.trigger(s.SHOW_FS_BTN),this.eventsApi.on(o.TIME_UPDATE,this.onTimeUpdate.bind(this)),this.eventsApi.on(o.PLAY,this.onPlay.bind(this)),this.eventsApi.on(o.PAUSE,this.onPause.bind(this)),this.eventsApi.on(o.VIDEO_END,this.onEnded.bind(this)),this.options.showDevicesButton&&(this.eventsApi.on(o.DEVICES_BTN_CLICK,this.showDeviceToggle.bind(this)),this.eventsApi.trigger(s.SHOW_DEVICES_BTN)),this.options.captureAnalytics&&(this.tracker=new T({video:this.model.toJSON(),eventsApi:this.eventsApi,analyticsOptions:this.options.analyticsOptions}))}}},{key:"unbindWebPlayerEvents",value:function(){this.eventsApi&&(this.eventsApi.off(o.FULLSCREEN_CLICK),this.eventsApi.off(o.TIME_UPDATE),this.eventsApi.off(o.PLAY),this.eventsApi.off(o.PAUSE),this.eventsApi.off(o.VIDEO_END),this.eventsApi.off(o.PONG),this.eventsApi.off(o.DEVICES_BTN_CLICK))}},{key:"setUrl",value:function(){var e="".concat(this.viewModel.get("webPlayerHost"),"embed"),t=r.omit(this.viewModel.get("parameters"),["p","vid"])||{};t.a=!!this.viewModel.get("autoplay");var n=this.viewModel.get("id");n&&(t.vid=n);var i=this.viewModel.get("trackingCode");i&&(t.p=i),this.viewModel.get("currenttime")&&(t.t=this.viewModel.get("currenttime"),t.a=!this.viewModel.get("paused"));var o=f.a.urlBuilder(e,t),s=Object(a.signUrl)(o,{timestamp:!0});this.viewModel.set({url:s})}},{key:"isTop",value:function(){return window.top===window}},{key:"onTimeUpdate",value:function(e,t){this.viewModel.set("ready",!0),this.viewModel.set("currenttime",t)}},{key:"onPlay",value:function(){this.viewModel.set("ready",!0),this.viewModel.set("paused",!1)}},{key:"onPause",value:function(){this.viewModel.set("ready",!0),this.viewModel.set("paused",!0)}},{key:"onEnded",value:function(){this.viewModel.trigger("ended")}},{key:"onPong",value:function(){this.iframeReady=!0,this.viewModel.set("ready",!0),i.Radio.channel(this.channelName).trigger("loaded"),this.options.parentChannelName&&i.Radio.channel(this.options.parentChannelName).trigger("webplayer:loaded")}},{key:"onFullscreenChange",value:function(e,t,n){t?this.requestFs(n):this.cancelFs(n)}},{key:"requestFs",value:function(e){e||$("html").addClass("player-fullscreen")}},{key:"cancelFs",value:function(e){e||$("html").removeClass("player-fullscreen")}},{key:"showDeviceToggle",value:function(e){this.viewModel.trigger("showDevices",!!e)}},{key:"query",value:function(e,t){var n=this;if(this.iframeReady){var i=r.uniqueId("cveventsapi");this.eventsApi.one("".concat(o.QUERY_CALLBACK,"-").concat(i),(function(e,n){t(n)})),this.eventsApi.trigger(s.QUERY,e,i)}else this.listenToOnce(this.channelName,"loaded",(function(){return n.query(e,t)}))}},{key:"viewOptions",value:function(){return r.extend({},{styles:O.a,playSvg:h.a.getSvg(h.b.Play)},this.viewModel.toJSON())}},{key:"onRender",value:function(){this.initWebPlayerEvents()}},{key:"onBeforeDestroy",value:function(){this.unbindWebPlayerEvents(),this.tracker&&this.tracker.destroy()}},{key:"elements",get:function(){return{iframe:"iframe"}}},{key:"name",get:function(){return"WebPlayerView"}},{key:"template",get:function(){return _.a}},{key:"className",get:function(){return"".concat(O.a.webPlayerContainer," embed-responsive embed-responsive-16by9")}},{key:"channelName",get:function(){return"".concat(this.name).concat(this.cid)}},{key:"defaults",get:function(){return{captureAnalytics:!0,showDevicesButton:!1}}},{key:"viewModelDefaults",get:function(){return{width:640,height:360,autoplay:!!this.options.autoplay,parameters:{s:!1,bc:!1,bf:!1},webPlayerHost:this.options.webPlayerUrl}}}])&&R(t.prototype,n),u&&R(t,u),g}(c.a.Component)},1203: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){e.propertyIsEnumerable;var a,o=e.lambda,s=e.escapeExpression;return'<iframe class="'+s(o(null!=(a=null!=(a=null!=t?t.options:t)?a.styles:a)?a.webPlayer:a,t))+' embed-responsive-item" id="'+s(o(null!=(a=null!=t?t.options:t)?a.id:a,t))+'" allowfullscreen webkitallowfullscreen mozallowfullscreen allow="autoplay; fullscreen" frameborder="0" width="'+s(o(null!=(a=null!=t?t.options:t)?a.width:a,t))+'" height="'+s(o(null!=(a=null!=t?t.options:t)?a.height:a,t))+'" src="'+s(o(null!=(a=null!=t?t.options:t)?a.url:a,t))+'"></iframe>\r\n<div class="'+s(o(null!=(a=null!=(a=null!=t?t.options:t)?a.styles:a)?a.svgContainer:a,t))+'">'+(null!=(a=o(null!=(a=null!=t?t.options:t)?a.playSvg:a,t))?a:"")+"</div>"},useData:!0})},1204:function(e,t,n){e.exports={webPlayerContainer:"_2S4VF",webPlayer:"_3569L",svgContainer:"_1WsxD"}}}]);
@@ -1 +1 @@
1
- {"version":3,"sources":["file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/behaviors/draggable-folder/DraggableFolderBehavior.ts","webpack://@clickview/library-editor/./src/apps/library-editor/behaviors/draggable-folder/draggable-folder.scss?d4ca","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/behaviors/droppable/DroppableBehavior.ts","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/behaviors/shared/DragOptions.ts","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/behaviors/shared/DraggableItem.hbs","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/behaviors/shared/DraggableItemComponent.ts","webpack://@clickview/library-editor/./src/apps/library-editor/behaviors/shared/draggable-item.scss?3e46","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/behaviors/shared/index.ts"],"names":[],"mappings":"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","file":"scripts/1.chunk.js","sourcesContent":["import * as _ from 'underscore';\r\nimport { ObjectHash } from 'backbone';\r\nimport { Radio } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { SvgHelper, cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\n\r\nimport { ServiceChannels } from 'shared/constants';\r\n\r\nimport { DraggableItemComponent, DragOptions, styles } from 'apps/library-editor/behaviors/shared';\r\n\r\nimport folderStyles from './draggable-folder.scss';\r\n\r\nexport class DraggableFolderBehavior extends Core.Behavior {\r\n private getClassMappings(): ObjectHash {\r\n return {\r\n 'ui-draggable': styles.draggable,\r\n 'ui-draggable-handle': styles.handle,\r\n 'ui-draggable-disabled': styles.disabled,\r\n 'ui-draggable-dragging': styles.dragging\r\n };\r\n }\r\n\r\n private helper(): any {\r\n const draggableItemComponent = new DraggableItemComponent({\r\n text: this.view.model.get('name'),\r\n svg: SvgHelper.getSvg(cvSvgLibrary.Folder)\r\n });\r\n return draggableItemComponent.render().el;\r\n }\r\n\r\n private start(): void {\r\n Radio.channel(ServiceChannels.FOLDER_DRAG_DROP).trigger('drag:start', this.view.model);\r\n\r\n this.view.$el.addClass(folderStyles.draggingFolder);\r\n }\r\n\r\n private stop(): void {\r\n Radio.channel(ServiceChannels.FOLDER_DRAG_DROP)\r\n .trigger('drag:stop');\r\n\r\n this.view.$el.removeClass(folderStyles.draggingFolder);\r\n }\r\n\r\n public onRender(): void {\r\n const options: JQueryUI.DraggableOptions = {\r\n helper: _.bind(this.helper, this),\r\n start: _.bind(this.start, this),\r\n stop: _.bind(this.stop, this)\r\n };\r\n (options as any).classes = this.getClassMappings();\r\n this.view.$el.draggable(_.extend({}, DragOptions, options));\r\n }\r\n\r\n public onBeforeDestroy(): void {\r\n /**\r\n * Because JQuery.UI's draggable is a piece of shit\r\n * it sometimes errors out on 'destroy' if the element has otherwise\r\n * been disposed of before this fire. So we need to first check if\r\n * there is still an instance of $.fn.draggable before we call destroy on it\r\n */\r\n if (this.view.$el.draggable('instance'))\r\n this.view.$el.draggable('destroy');\r\n }\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dragging\":\"cv--dragging--2wBn3\",\"draggingFolder\":\"cv--draggingFolder--1r3AS\"};","import * as _ from 'underscore';\r\nimport { Radio } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\r\n\r\nimport * as styles from './droppable.scss';\r\n\r\n/**\r\n * How long to wait before opening child folders.\r\n */\r\nconst OPEN_FOLDER_TIMEOUT = 500;\r\n\r\ninterface DroppableBehaviorOptions {\r\n ui: string;\r\n channelNames: string[];\r\n analyticsOptions?: AnalyticsOptions;\r\n}\r\n\r\nexport class DroppableBehavior extends Core.Behavior {\r\n public options: DroppableBehaviorOptions;\r\n private isHoveringOver: boolean;\r\n\r\n private getDroppableElement(): JQuery {\r\n return this.options.ui ? this.view.getUI(this.options.ui) : this.$el;\r\n }\r\n\r\n private drop(): void {\r\n _.each(this.options.channelNames, channelName => {\r\n Radio.channel(channelName)\r\n .trigger('drag:drop', this.view.model, this.options.analyticsOptions);\r\n });\r\n }\r\n\r\n private accept(): boolean {\r\n let accept = false;\r\n\r\n _.each(this.options.channelNames, channelName => {\r\n const channel = Radio.channel(channelName);\r\n if (channel.request('accept', this.view.model) === true)\r\n accept = true;\r\n });\r\n\r\n return accept;\r\n }\r\n\r\n private over(): void {\r\n this.isHoveringOver = true;\r\n window.setTimeout(() => {\r\n if (!this.isHoveringOver) return;\r\n this.view.trigger('open:sub:folders', styles.active);\r\n }, OPEN_FOLDER_TIMEOUT);\r\n }\r\n\r\n private out(): void {\r\n this.isHoveringOver = false;\r\n }\r\n\r\n public onRender(): void {\r\n const options: JQueryUI.DroppableOptions = {\r\n tolerance: 'pointer',\r\n drop: _.bind(this.drop, this),\r\n accept: _.bind(this.accept, this),\r\n over: _.bind(this.over, this),\r\n out: _.bind(this.out, this)\r\n };\r\n\r\n (options as any).classes = {\r\n 'ui-droppable': styles.droppable,\r\n 'ui-droppable-active': styles.active,\r\n 'ui-droppable-hover': styles.hover\r\n };\r\n\r\n this.getDroppableElement().droppable(options);\r\n }\r\n\r\n public onBeforeDestroy(): void {\r\n /**\r\n * Because JQuery.UI's droppable is a piece of shit\r\n * it sometimes errors out on 'destroy' if the element has otherwise\r\n * been disposed of before this fire. So we need to first check if\r\n * there is still an instance of $.fn.droppable before we call destroy on it\r\n */\r\n if (this.getDroppableElement().droppable('instance'))\r\n this.getDroppableElement().droppable('destroy');\r\n }\r\n}","const DragOptions: JQueryUI.DraggableOptions = {\r\n delay: 150,\r\n cursorAt: { left: -20, top: 10 },\r\n refreshPositions: true\r\n};\r\n\r\nexport { DragOptions };","var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable, alias2=container.lambda, alias3=container.escapeExpression;\n\n return \"<span class=\\\"\"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.svgContainer : stack1), depth0))\n + \" mr-2\\\">\"\n + ((stack1 = alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.svg : stack1), depth0)) != null ? stack1 : \"\")\n + \"</span>\\r\\n<span class=\\\"\"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.dragText : stack1), depth0))\n + \"\\\">\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.text : stack1), depth0))\n + \"</span>\";\n},\"useData\":true});","import { Core } from 'libs/common/core';\r\n\r\nimport styles from './draggable-item.scss';\r\nimport DraggableItemTemplate from './DraggableItem.hbs';\r\nimport { ObjectHash } from 'backbone';\r\n\r\ninterface DraggableItemComponentOptions extends Core.ComponentOptions {\r\n text: string;\r\n svg: string;\r\n}\r\n\r\nexport class DraggableItemComponent extends Core.Component {\r\n public options: DraggableItemComponentOptions;\r\n\r\n constructor(options: DraggableItemComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'DraggableItemComponent';\r\n }\r\n\r\n public get template(): any {\r\n return DraggableItemTemplate;\r\n }\r\n\r\n public get className(): string {\r\n return `${styles.dragItem} p-3`;\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n styles,\r\n ...this.options\r\n };\r\n }\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dragItem\":\"cv--dragItem--2TIZ7\",\"svgContainer\":\"cv--svgContainer--3JzEU\",\"dragText\":\"cv--dragText--1Kdwj\"};","import styles from './draggable-item.scss';\r\nimport DraggableItemTemplate from './DraggableItem.hbs';\r\n\r\nexport { styles, DraggableItemTemplate };\r\nexport * from './DraggableItemComponent';\r\nexport * from './DragOptions';"],"sourceRoot":""}
1
+ {"version":3,"sources":["file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/behaviors/draggable-folder/DraggableFolderBehavior.ts","webpack://@clickview/library-editor/./src/apps/library-editor/behaviors/draggable-folder/draggable-folder.scss?3b9b","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/behaviors/droppable/DroppableBehavior.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/behaviors/shared/DragOptions.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/behaviors/shared/DraggableItem.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/behaviors/shared/DraggableItemComponent.ts","webpack://@clickview/library-editor/./src/apps/library-editor/behaviors/shared/draggable-item.scss?43dc","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/behaviors/shared/index.ts"],"names":[],"mappings":"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","file":"scripts/1.chunk.js","sourcesContent":["import * as _ from 'underscore';\r\nimport { ObjectHash } from 'backbone';\r\nimport { Radio } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { SvgHelper, cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\n\r\nimport { ServiceChannels } from 'shared/constants';\r\n\r\nimport { DraggableItemComponent, DragOptions, styles } from 'apps/library-editor/behaviors/shared';\r\n\r\nimport folderStyles from './draggable-folder.scss';\r\n\r\nexport class DraggableFolderBehavior extends Core.Behavior {\r\n private getClassMappings(): ObjectHash {\r\n return {\r\n 'ui-draggable': styles.draggable,\r\n 'ui-draggable-handle': styles.handle,\r\n 'ui-draggable-disabled': styles.disabled,\r\n 'ui-draggable-dragging': styles.dragging\r\n };\r\n }\r\n\r\n private helper(): any {\r\n const draggableItemComponent = new DraggableItemComponent({\r\n text: this.view.model.get('name'),\r\n svg: SvgHelper.getSvg(cvSvgLibrary.Folder)\r\n });\r\n return draggableItemComponent.render().el;\r\n }\r\n\r\n private start(): void {\r\n Radio.channel(ServiceChannels.FOLDER_DRAG_DROP).trigger('drag:start', this.view.model);\r\n\r\n this.view.$el.addClass(folderStyles.draggingFolder);\r\n }\r\n\r\n private stop(): void {\r\n Radio.channel(ServiceChannels.FOLDER_DRAG_DROP)\r\n .trigger('drag:stop');\r\n\r\n this.view.$el.removeClass(folderStyles.draggingFolder);\r\n }\r\n\r\n public onRender(): void {\r\n const options: JQueryUI.DraggableOptions = {\r\n helper: _.bind(this.helper, this),\r\n start: _.bind(this.start, this),\r\n stop: _.bind(this.stop, this)\r\n };\r\n (options as any).classes = this.getClassMappings();\r\n this.view.$el.draggable(_.extend({}, DragOptions, options));\r\n }\r\n\r\n public onBeforeDestroy(): void {\r\n /**\r\n * Because JQuery.UI's draggable is a piece of shit\r\n * it sometimes errors out on 'destroy' if the element has otherwise\r\n * been disposed of before this fire. So we need to first check if\r\n * there is still an instance of $.fn.draggable before we call destroy on it\r\n */\r\n if (this.view.$el.draggable('instance'))\r\n this.view.$el.draggable('destroy');\r\n }\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dragging\":\"cv--dragging--2wBn3\",\"draggingFolder\":\"cv--draggingFolder--1r3AS\"};","import * as _ from 'underscore';\r\nimport { Radio } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\r\n\r\nimport * as styles from './droppable.scss';\r\n\r\n/**\r\n * How long to wait before opening child folders.\r\n */\r\nconst OPEN_FOLDER_TIMEOUT = 500;\r\n\r\ninterface DroppableBehaviorOptions {\r\n ui: string;\r\n channelNames: string[];\r\n analyticsOptions?: AnalyticsOptions;\r\n}\r\n\r\nexport class DroppableBehavior extends Core.Behavior {\r\n public options: DroppableBehaviorOptions;\r\n private isHoveringOver: boolean;\r\n\r\n private getDroppableElement(): JQuery {\r\n return this.options.ui ? this.view.getUI(this.options.ui) : this.$el;\r\n }\r\n\r\n private drop(): void {\r\n _.each(this.options.channelNames, channelName => {\r\n Radio.channel(channelName)\r\n .trigger('drag:drop', this.view.model, this.options.analyticsOptions);\r\n });\r\n }\r\n\r\n private accept(): boolean {\r\n let accept = false;\r\n\r\n _.each(this.options.channelNames, channelName => {\r\n const channel = Radio.channel(channelName);\r\n if (channel.request('accept', this.view.model) === true)\r\n accept = true;\r\n });\r\n\r\n return accept;\r\n }\r\n\r\n private over(): void {\r\n this.isHoveringOver = true;\r\n window.setTimeout(() => {\r\n if (!this.isHoveringOver) return;\r\n this.view.trigger('open:sub:folders', styles.active);\r\n }, OPEN_FOLDER_TIMEOUT);\r\n }\r\n\r\n private out(): void {\r\n this.isHoveringOver = false;\r\n }\r\n\r\n public onRender(): void {\r\n const options: JQueryUI.DroppableOptions = {\r\n tolerance: 'pointer',\r\n drop: _.bind(this.drop, this),\r\n accept: _.bind(this.accept, this),\r\n over: _.bind(this.over, this),\r\n out: _.bind(this.out, this)\r\n };\r\n\r\n (options as any).classes = {\r\n 'ui-droppable': styles.droppable,\r\n 'ui-droppable-active': styles.active,\r\n 'ui-droppable-hover': styles.hover\r\n };\r\n\r\n this.getDroppableElement().droppable(options);\r\n }\r\n\r\n public onBeforeDestroy(): void {\r\n /**\r\n * Because JQuery.UI's droppable is a piece of shit\r\n * it sometimes errors out on 'destroy' if the element has otherwise\r\n * been disposed of before this fire. So we need to first check if\r\n * there is still an instance of $.fn.droppable before we call destroy on it\r\n */\r\n if (this.getDroppableElement().droppable('instance'))\r\n this.getDroppableElement().droppable('destroy');\r\n }\r\n}","const DragOptions: JQueryUI.DraggableOptions = {\r\n delay: 150,\r\n cursorAt: { left: -20, top: 10 },\r\n refreshPositions: true\r\n};\r\n\r\nexport { DragOptions };","var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable, alias2=container.lambda, alias3=container.escapeExpression;\n\n return \"<span class=\\\"\"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.svgContainer : stack1), depth0))\n + \" mr-2\\\">\"\n + ((stack1 = alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.svg : stack1), depth0)) != null ? stack1 : \"\")\n + \"</span>\\r\\n<span class=\\\"\"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.dragText : stack1), depth0))\n + \"\\\">\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.text : stack1), depth0))\n + \"</span>\";\n},\"useData\":true});","import { Core } from 'libs/common/core';\r\n\r\nimport styles from './draggable-item.scss';\r\nimport DraggableItemTemplate from './DraggableItem.hbs';\r\nimport { ObjectHash } from 'backbone';\r\n\r\ninterface DraggableItemComponentOptions extends Core.ComponentOptions {\r\n text: string;\r\n svg: string;\r\n}\r\n\r\nexport class DraggableItemComponent extends Core.Component {\r\n public options: DraggableItemComponentOptions;\r\n\r\n constructor(options: DraggableItemComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'DraggableItemComponent';\r\n }\r\n\r\n public get template(): any {\r\n return DraggableItemTemplate;\r\n }\r\n\r\n public get className(): string {\r\n return `${styles.dragItem} p-3`;\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n styles,\r\n ...this.options\r\n };\r\n }\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dragItem\":\"cv--dragItem--2TIZ7\",\"svgContainer\":\"cv--svgContainer--3JzEU\",\"dragText\":\"cv--dragText--1Kdwj\"};","import styles from './draggable-item.scss';\r\nimport DraggableItemTemplate from './DraggableItem.hbs';\r\n\r\nexport { styles, DraggableItemTemplate };\r\nexport * from './DraggableItemComponent';\r\nexport * from './DragOptions';"],"sourceRoot":""}
@@ -1 +1 @@
1
- (window.webpackJsonp_clickview_library_editor=window.webpackJsonp_clickview_library_editor||[]).push([[10],{1233:function(e,n,t){e.exports={container:"_2SYyd",embedInput:"ozkKz",textareaContainer:"_1monr",shareInput:"_36Arj",copyBtn:"_2UGxe",embedCopyBtn:"gaJap",footerText:"_3ydjG"}},1234:function(e,n,t){var l=t(10);e.exports=(l.default||l).template({1:function(e,n,t,l,o){var a;e.propertyIsEnumerable;return(null!=(a=e.lambda(null!=(a=null!=n?n.options:n)?a.spinnerEl:a,n))?a:"")+"\r\n"},3:function(e,n,t,l,o){e.propertyIsEnumerable;var a,i,r=e.lambda,s=e.escapeExpression,u=null!=n?n:e.nullContext||{},c=e.hooks.helperMissing;return'\r\n<div class="'+s(r(null!=(a=null!=(a=null!=n?n.options:n)?a.styles:a)?a.container:a,n))+'">\r\n <label for="share-input" class="mb-0 h6">'+s((t.lang||n&&n.lang||c).call(u,"shareLink",{name:"lang",hash:{},data:o}))+'</label>\r\n <div class="input-group mb-2">\r\n <input type="text" autocomplete="off" class="form-control '+s(r(null!=(a=null!=(a=null!=n?n.options:n)?a.styles:a)?a.shareInput:a,n))+'" id="share-input" spellcheck="false" readonly="true" value='+s("function"==typeof(i=null!=(i=t.shortUrl||(null!=n?n.shortUrl:n))?i:c)?i.call(u,{name:"shortUrl",hash:{},data:o}):i)+'>\r\n <div class="input-group-append">\r\n <button class="btn bg-white copy '+s(r(null!=(a=null!=(a=null!=n?n.options:n)?a.styles:a)?a.copyBtn:a,n))+'" type="button" data-clipboard-target="#share-input">'+s((t.lang||n&&n.lang||c).call(u,"copy",{name:"lang",hash:{},data:o}))+"</button>\r\n </div>\r\n </div>\r\n\r\n"+(null!=(a=t.unless.call(u,null!=(a=null!=n?n.options:n)?a.showEmbed:a,{name:"unless",hash:{},fn:e.program(4,o,0),inverse:e.noop,data:o}))?a:"")+"\r\n"+(null!=(a=t.if.call(u,null!=(a=null!=n?n.options:n)?a.showEmbed:a,{name:"if",hash:{},fn:e.program(6,o,0),inverse:e.noop,data:o}))?a:"")+"</div>\r\n"},4:function(e,n,t,l,o){e.propertyIsEnumerable;return' <small class="embed-toggle"><a class="text-info cursor-pointer hover-text-underline">'+e.escapeExpression((t.lang||n&&n.lang||e.hooks.helperMissing).call(null!=n?n:e.nullContext||{},"showOptions",{name:"lang",hash:{},data:o}))+"</a></small>\r\n"},6:function(e,n,t,l,o){e.propertyIsEnumerable;var a,i=null!=n?n:e.nullContext||{},r=e.hooks.helperMissing,s=e.escapeExpression,u=e.lambda;return' <hr class="mt-4">\r\n <label for="link-options-input" class="mb-2 h6">'+s((t.lang||n&&n.lang||r).call(i,"linkOptions",{name:"lang",hash:{},data:o}))+'</label>\r\n <div class="custom-control custom-checkbox mb-2">\r\n <input type="checkbox" autocomplete="off" class="custom-control-input public-checkbox" id="public-checkbox" name="public" '+(null!=(a=t.unless.call(i,null!=(a=null!=n?n.options:n)?a.canPublicShare:a,{name:"unless",hash:{},fn:e.program(7,o,0),inverse:e.noop,data:o}))?a:"")+'>\r\n <label class="custom-control-label" for="public-checkbox">'+s((t.lang||n&&n.lang||r).call(i,"publicCheckbox",{name:"lang",hash:{},data:o}))+"</label>\r\n "+(null!=(a=t.unless.call(i,null!=(a=null!=n?n.options:n)?a.canPublicShare:a,{name:"unless",hash:{},fn:e.program(9,o,0),inverse:e.noop,data:o}))?a:"")+'\r\n </div>\r\n <hr class="mt-4">\r\n <label for="embed-input" class="mb-0 mt-2 h6">'+s((t.lang||n&&n.lang||r).call(i,"embed",{name:"lang",hash:{},data:o}))+'</label>\r\n <div class="input-group mb-2 '+s(u(null!=(a=null!=(a=null!=n?n.options:n)?a.styles:a)?a.textareaContainer:a,n))+'">\r\n <textarea type="text" class="form-control rounded w-100 h-100 '+s(u(null!=(a=null!=(a=null!=n?n.options:n)?a.styles:a)?a.embedInput:a,n))+'" id="embed-input" spellcheck="false" readonly="true">'+s(u(null!=(a=null!=n?n.options:n)?a.embedString:a,n))+'</textarea>\r\n <div class="input-group-append '+s(u(null!=(a=null!=(a=null!=n?n.options:n)?a.styles:a)?a.embedCopyBtn:a,n))+' rounded">\r\n <button class="btn bg-white copy '+s(u(null!=(a=null!=(a=null!=n?n.options:n)?a.styles:a)?a.copyBtn:a,n))+'" type="button" data-clipboard-target="#embed-input">'+s((t.lang||n&&n.lang||r).call(i,"copy",{name:"lang",hash:{},data:o}))+"</button>\r\n </div>\r\n </div>\r\n"+(null!=(a=t.if.call(i,null!=(a=null!=n?n.options:n)?a.videoSizes:a,{name:"if",hash:{},fn:e.program(11,o,0),inverse:e.noop,data:o}))?a:"")+' <div class="custom-control custom-checkbox d-inline-block">\r\n <input type="checkbox" autocomplete="off" class="custom-control-input autoplay-checkbox" id="autoplay-checkbox" name="autoplay">\r\n <label class="custom-control-label" for="autoplay-checkbox">'+s((t.lang||n&&n.lang||r).call(i,"autoplay",{name:"lang",hash:{},data:o}))+"</label>\r\n </div>\r\n"},7:function(e,n,t,l,o){return"disabled"},9:function(e,n,t,l,o){var a;e.propertyIsEnumerable;return'<div class="text-muted">'+e.escapeExpression(e.lambda(null!=(a=null!=n?n.options:n)?a.cannotPublicShareText:a,n))+"</div>"},11:function(e,n,t,l,o){e.propertyIsEnumerable;return' <label for="size-select" class="d-block pt-2 h6">'+e.escapeExpression((t.lang||n&&n.lang||e.hooks.helperMissing).call(null!=n?n:e.nullContext||{},"playerSize",{name:"lang",hash:{},data:o}))+'</label>\r\n <select class="custom-select w-25 mr-4 size-select" id="#size-select" name="selectedVideoSize"></select>\r\n'},compiler:[8,">= 4.3.0"],main:function(e,n,t,l,o){var a;e.propertyIsEnumerable;return null!=(a=t.if.call(null!=n?n:e.nullContext||{},null!=(a=null!=n?n.options:n)?a.showLoader:a,{name:"if",hash:{},fn:e.program(1,o,0),inverse:e.program(3,o,0),data:o}))?a:""},useData:!0})},1235:function(e,n,t){var l=t(10);e.exports=(l.default||l).template({compiler:[8,">= 4.3.0"],main:function(e,n,t,l,o){e.propertyIsEnumerable;var a,i=e.lambda,r=e.escapeExpression;return'<small class="text-left w-100 mb-0 '+r(i(null!=(a=null!=n?n.options:n)?a.footerTextClass:a,n))+'">'+r(i(null!=(a=null!=n?n.options:n)?a.privacyDescription:a,n))+"</small>"},useData:!0})},1236:function(e,n,t){var l=t(10);e.exports=(l.default||l).template({1:function(e,n,t,l,o){return'style="position:absolute; top:0; left:0; width:100%; height:100%;"'},3:function(e,n,t,l,o){e.propertyIsEnumerable;var a,i=e.lambda,r=e.escapeExpression;return'width="'+r(i(null!=(a=null!=n?n.videoSize:n)?a.width:a,n))+'" height="'+r(i(null!=(a=null!=n?n.videoSize:n)?a.height:a,n))+'"'},compiler:[8,">= 4.3.0"],main:function(e,n,t,l,o){e.propertyIsEnumerable;var a,i,r=null!=n?n:e.nullContext||{},s=e.hooks.helperMissing,u=e.escapeExpression;return'<iframe frameborder="0" allowfullscreen webkitallowfullscreen mozallowfullscreen '+(null!=(a=t.if.call(r,null!=n?n.isResponsive:n,{name:"if",hash:{},fn:e.program(1,o,0),inverse:e.program(3,o,0),data:o}))?a:"")+' src="'+u("function"==typeof(i=null!=(i=t.baseUrl||(null!=n?n.baseUrl:n))?i:s)?i.call(r,{name:"baseUrl",hash:{},data:o}):i)+"?shareCode="+u("function"==typeof(i=null!=(i=t.shortCode||(null!=n?n.shortCode:n))?i:s)?i.call(r,{name:"shortCode",hash:{},data:o}):i)+"&a="+u("function"==typeof(i=null!=(i=t.autoplay||(null!=n?n.autoplay:n))?i:s)?i.call(r,{name:"autoplay",hash:{},data:o}):i)+'"></iframe>'},useData:!0})},1463:function(e,n,t){"use strict";t.r(n);var l=t(1),o=t(1022),a=t(5),i=t(30),r=t(2),s=t(3),u=t(81),c="shared.shared-utils",p=function(){return[{label:s.a.getPhrase(c,"responsive"),width:"100%",height:"100%"},{label:s.a.getPhrase(c,"small"),width:"640",height:"360"},{label:s.a.getPhrase(c,"medium"),width:"1014",height:"576"},{label:s.a.getPhrase(c,"large"),width:"1280",height:"720"}]},h=t(281),d=t(186),f=t(17),b=t(6),m=t(13),y=t(1233),g=t.n(y),v=t(1234),k=t.n(v),w=t(1235),S=t.n(w),x=t(1236),C=t.n(x),E=t(0);function P(e){return(P="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,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function O(e,n){for(var t=0;t<n.length;t++){var l=n[t];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(e,l.key,l)}}function z(e,n,t){return n&&O(e.prototype,n),t&&O(e,t),e}function V(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),n&&D(e,n)}function D(e,n){return(D=Object.setPrototypeOf||function(e,n){return e.__proto__=n,e})(e,n)}function _(e){var n=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 t,l=T(e);if(n){var o=T(this).constructor;t=Reflect.construct(l,arguments,o)}else t=l.apply(this,arguments);return M(this,t)}}function M(e,n){return!n||"object"!==P(n)&&"function"!=typeof n?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):n}function T(e){return(T=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}t.d(n,"ShareView",(function(){return U}));var R=function(e){V(t,e);var n=_(t);function t(e){return I(this,t),n.call(this,e)}return z(t,[{key:"viewOptions",value:function(){return{footerTextClass:g.a.footerText,privacyDescription:this.options.privacyDescription}}},{key:"name",get:function(){return"ShareFooterComponent"}},{key:"className",get:function(){return"modal-footer bg-light rounded-bottom"}},{key:"template",get:function(){return S.a}}]),t}(r.a.Component),U=function(e){V(t,e);var n=_(t);function t(e){var l;return I(this,t),(l=n.call(this,e)).clipboards=[],l}return z(t,[{key:"initialize",value:function(){this.setUpViewModel(),this.bindListeners(),this.videoDataService=a.a.getInstance(f.a.Video,this)}},{key:"events",value:function(){return{"click @ui.copy":"onClickCopy","click @ui.embedToggle":"onClickEmbed"}}},{key:"regions",value:function(){return{container:{el:".".concat(g.a.container),replaceElement:!1},footer:{el:".modal-footer",replaceElement:!0}}}},{key:"bindListeners",value:function(){this.listenTo(this.viewModel,"change:autoplay change:selectedVideoSize",this.render),this.listenTo(this.viewModel,"change:public",this.onTogglePublic),this.listenTo(E.e.VIDEO,"".concat(E.f.VIDEOS,":").concat(this.options.videoId,":sync"),this.render)}},{key:"setUpViewModel",value:function(){this.viewModel=i.a.get("share:".concat(this.options.videoId),this.options)}},{key:"onTogglePublic",value:function(){var e=this,n=this.viewModel.get("public")?b.n.Public:b.n.SchoolOnly;this.videoDataService.getSharedResource(this.videoId,n,(function(t){t.set("privacyId",n),e.onSharedResourceSync(t)}))}},{key:"updateViewModel",value:function(){this.viewModel.set("public",this.model.get("privacyId")===b.n.Public,{silent:!0})}},{key:"onSharedResourceSync",value:function(e){this.model=e,this.updateViewModel(),this.render()}},{key:"fetchData",value:function(){this.video=this.videoDataService.getVideo(this.videoId),this.model||this.videoDataService.getSharedResource(this.videoId,null,l.bind(this.onSharedResourceSync,this))}},{key:"buildEmbedString",value:function(){var e=l.extend({},this.model.toJSON(),this.viewModel.toJSON()),n=this.options.videoSizes[e.selectedVideoSize],t="100%"===n.height&&"100%"===n.width;e.videoSize=n,e.baseUrl=u.a.safeUrlConcat(this.config.get("onlineUrl"),"/share/embed"),e.isResponsive=t;var o=C()(e);return t?'<div style="padding:56.25% 0 0 0; position:relative;">'.concat(o,"</div>"):o}},{key:"onClickEmbed",value:function(){this.viewModel.set("showEmbed",!0),this.render()}},{key:"onClickCopy",value:function(e){this.$(e.currentTarget).text(s.a.getPhrase(this.lang,"copied"))}},{key:"getPrivacyDescription",value:function(e){switch(e){case b.n[b.n.Private]:return s.a.getPhrase(this.lang,"private");case b.n[b.n.SchoolOnly]:return s.a.getPhrase(this.lang,"schoolOnly");case b.n[b.n.Public]:return s.a.getPhrase(this.lang,"public");default:return""}}},{key:"initClipboards",value:function(){var e=this;this.destroyClipboards(),this.getUI("copy").each((function(n,t){e.clipboards.push(new o(t))}))}},{key:"destroyClipboards",value:function(){l.each(this.clipboards,(function(e){return e.destroy()})),this.clipboards=[]}},{key:"getCannotPublicShareText",value:function(){return this.video?m.x.isExchangeVideo(this.video)?s.a.getPhrase(this.lang,"cannotShareExchange"):s.a.getPhrase(this.lang,"cannotShareClickView"):""}},{key:"onBeforeDestroy",value:function(){this.destroyClipboards()}},{key:"renderFooter",value:function(){var e=this.model&&this.getPrivacyDescription(this.model.get("privacy"));this.showChildView("footer",new R({privacyDescription:e}))}},{key:"viewOptions",value:function(){return Object.assign(Object.assign({styles:g.a},this.viewModel.toJSON()),{embedString:this.model&&this.buildEmbedString(),spinnerEl:m.q.getSpinner({size:m.r.Large,extraClasses:"mx-auto"}),showLoader:!this.model||!this.video,canPublicShare:this.video&&m.j.canPublicShare(this.video),cannotPublicShareText:this.getCannotPublicShareText()})}},{key:"onBeforeRender",value:function(){this.fetchData()}},{key:"onRender",value:function(){this.initClipboards(),this.renderFooter()}},{key:"name",get:function(){return"ShareView"}},{key:"title",get:function(){return!1}},{key:"template",get:function(){return k.a}},{key:"lang",get:function(){return"shared.share"}},{key:"props",get:function(){return["videoId"]}},{key:"elements",get:function(){return{copy:".copy",embedToggle:".embed-toggle"}}},{key:"defaults",get:function(){return{autoplay:!1,selectedVideoSize:0,videoSizes:p()}}},{key:"behaviors",get:function(){return[{behaviorClass:h.f,title:s.a.getPhrase(this.lang,"share"),hideCloseButton:!0},{behaviorClass:h.g,bindViewModel:!0}]}},{key:"bindings",get:function(){var e=this;return{"[name=autoplay]":"autoplay","[name=selectedVideoSize]":{observe:"selectedVideoSize",selectOptions:{collection:function(){return l.map(e.options.videoSizes,(function(e,n){return{label:e.label,value:n}}))}}},"[name=public]":"public"}}},{key:"requiredResources",get:function(){return{config:d.b.config}}}]),t}(r.a.View)}}]);
1
+ (window.webpackJsonp_clickview_library_editor=window.webpackJsonp_clickview_library_editor||[]).push([[10],{1229:function(e,n,t){e.exports={container:"_2SYyd",embedInput:"ozkKz",textareaContainer:"_1monr",shareInput:"_36Arj",copyBtn:"_2UGxe",embedCopyBtn:"gaJap",footerText:"_3ydjG"}},1230:function(e,n,t){var l=t(10);e.exports=(l.default||l).template({1:function(e,n,t,l,o){var a;e.propertyIsEnumerable;return(null!=(a=e.lambda(null!=(a=null!=n?n.options:n)?a.spinnerEl:a,n))?a:"")+"\r\n"},3:function(e,n,t,l,o){e.propertyIsEnumerable;var a,i,r=e.lambda,s=e.escapeExpression,u=null!=n?n:e.nullContext||{},c=e.hooks.helperMissing;return'\r\n<div class="'+s(r(null!=(a=null!=(a=null!=n?n.options:n)?a.styles:a)?a.container:a,n))+'">\r\n <label for="share-input" class="mb-0 h6">'+s((t.lang||n&&n.lang||c).call(u,"shareLink",{name:"lang",hash:{},data:o}))+'</label>\r\n <div class="input-group mb-2">\r\n <input type="text" autocomplete="off" class="form-control '+s(r(null!=(a=null!=(a=null!=n?n.options:n)?a.styles:a)?a.shareInput:a,n))+'" id="share-input" spellcheck="false" readonly="true" value='+s("function"==typeof(i=null!=(i=t.shortUrl||(null!=n?n.shortUrl:n))?i:c)?i.call(u,{name:"shortUrl",hash:{},data:o}):i)+'>\r\n <div class="input-group-append">\r\n <button class="btn bg-white copy '+s(r(null!=(a=null!=(a=null!=n?n.options:n)?a.styles:a)?a.copyBtn:a,n))+'" type="button" data-clipboard-target="#share-input">'+s((t.lang||n&&n.lang||c).call(u,"copy",{name:"lang",hash:{},data:o}))+"</button>\r\n </div>\r\n </div>\r\n\r\n"+(null!=(a=t.unless.call(u,null!=(a=null!=n?n.options:n)?a.showEmbed:a,{name:"unless",hash:{},fn:e.program(4,o,0),inverse:e.noop,data:o}))?a:"")+"\r\n"+(null!=(a=t.if.call(u,null!=(a=null!=n?n.options:n)?a.showEmbed:a,{name:"if",hash:{},fn:e.program(6,o,0),inverse:e.noop,data:o}))?a:"")+"</div>\r\n"},4:function(e,n,t,l,o){e.propertyIsEnumerable;return' <small class="embed-toggle"><a class="text-info cursor-pointer hover-text-underline">'+e.escapeExpression((t.lang||n&&n.lang||e.hooks.helperMissing).call(null!=n?n:e.nullContext||{},"showOptions",{name:"lang",hash:{},data:o}))+"</a></small>\r\n"},6:function(e,n,t,l,o){e.propertyIsEnumerable;var a,i=null!=n?n:e.nullContext||{},r=e.hooks.helperMissing,s=e.escapeExpression,u=e.lambda;return' <hr class="mt-4">\r\n <label for="link-options-input" class="mb-2 h6">'+s((t.lang||n&&n.lang||r).call(i,"linkOptions",{name:"lang",hash:{},data:o}))+'</label>\r\n <div class="custom-control custom-checkbox mb-2">\r\n <input type="checkbox" autocomplete="off" class="custom-control-input public-checkbox" id="public-checkbox" name="public" '+(null!=(a=t.unless.call(i,null!=(a=null!=n?n.options:n)?a.canPublicShare:a,{name:"unless",hash:{},fn:e.program(7,o,0),inverse:e.noop,data:o}))?a:"")+'>\r\n <label class="custom-control-label" for="public-checkbox">'+s((t.lang||n&&n.lang||r).call(i,"publicCheckbox",{name:"lang",hash:{},data:o}))+"</label>\r\n "+(null!=(a=t.unless.call(i,null!=(a=null!=n?n.options:n)?a.canPublicShare:a,{name:"unless",hash:{},fn:e.program(9,o,0),inverse:e.noop,data:o}))?a:"")+'\r\n </div>\r\n <hr class="mt-4">\r\n <label for="embed-input" class="mb-0 mt-2 h6">'+s((t.lang||n&&n.lang||r).call(i,"embed",{name:"lang",hash:{},data:o}))+'</label>\r\n <div class="input-group mb-2 '+s(u(null!=(a=null!=(a=null!=n?n.options:n)?a.styles:a)?a.textareaContainer:a,n))+'">\r\n <textarea type="text" class="form-control rounded w-100 h-100 '+s(u(null!=(a=null!=(a=null!=n?n.options:n)?a.styles:a)?a.embedInput:a,n))+'" id="embed-input" spellcheck="false" readonly="true">'+s(u(null!=(a=null!=n?n.options:n)?a.embedString:a,n))+'</textarea>\r\n <div class="input-group-append '+s(u(null!=(a=null!=(a=null!=n?n.options:n)?a.styles:a)?a.embedCopyBtn:a,n))+' rounded">\r\n <button class="btn bg-white copy '+s(u(null!=(a=null!=(a=null!=n?n.options:n)?a.styles:a)?a.copyBtn:a,n))+'" type="button" data-clipboard-target="#embed-input">'+s((t.lang||n&&n.lang||r).call(i,"copy",{name:"lang",hash:{},data:o}))+"</button>\r\n </div>\r\n </div>\r\n"+(null!=(a=t.if.call(i,null!=(a=null!=n?n.options:n)?a.videoSizes:a,{name:"if",hash:{},fn:e.program(11,o,0),inverse:e.noop,data:o}))?a:"")+' <div class="custom-control custom-checkbox d-inline-block">\r\n <input type="checkbox" autocomplete="off" class="custom-control-input autoplay-checkbox" id="autoplay-checkbox" name="autoplay">\r\n <label class="custom-control-label" for="autoplay-checkbox">'+s((t.lang||n&&n.lang||r).call(i,"autoplay",{name:"lang",hash:{},data:o}))+"</label>\r\n </div>\r\n"},7:function(e,n,t,l,o){return"disabled"},9:function(e,n,t,l,o){var a;e.propertyIsEnumerable;return'<div class="text-muted">'+e.escapeExpression(e.lambda(null!=(a=null!=n?n.options:n)?a.cannotPublicShareText:a,n))+"</div>"},11:function(e,n,t,l,o){e.propertyIsEnumerable;return' <label for="size-select" class="d-block pt-2 h6">'+e.escapeExpression((t.lang||n&&n.lang||e.hooks.helperMissing).call(null!=n?n:e.nullContext||{},"playerSize",{name:"lang",hash:{},data:o}))+'</label>\r\n <select class="custom-select w-25 mr-4 size-select" id="#size-select" name="selectedVideoSize"></select>\r\n'},compiler:[8,">= 4.3.0"],main:function(e,n,t,l,o){var a;e.propertyIsEnumerable;return null!=(a=t.if.call(null!=n?n:e.nullContext||{},null!=(a=null!=n?n.options:n)?a.showLoader:a,{name:"if",hash:{},fn:e.program(1,o,0),inverse:e.program(3,o,0),data:o}))?a:""},useData:!0})},1231:function(e,n,t){var l=t(10);e.exports=(l.default||l).template({compiler:[8,">= 4.3.0"],main:function(e,n,t,l,o){e.propertyIsEnumerable;var a,i=e.lambda,r=e.escapeExpression;return'<small class="text-left w-100 mb-0 '+r(i(null!=(a=null!=n?n.options:n)?a.footerTextClass:a,n))+'">'+r(i(null!=(a=null!=n?n.options:n)?a.privacyDescription:a,n))+"</small>"},useData:!0})},1232:function(e,n,t){var l=t(10);e.exports=(l.default||l).template({1:function(e,n,t,l,o){return'style="position:absolute; top:0; left:0; width:100%; height:100%;"'},3:function(e,n,t,l,o){e.propertyIsEnumerable;var a,i=e.lambda,r=e.escapeExpression;return'width="'+r(i(null!=(a=null!=n?n.videoSize:n)?a.width:a,n))+'" height="'+r(i(null!=(a=null!=n?n.videoSize:n)?a.height:a,n))+'"'},compiler:[8,">= 4.3.0"],main:function(e,n,t,l,o){e.propertyIsEnumerable;var a,i,r=null!=n?n:e.nullContext||{},s=e.hooks.helperMissing,u=e.escapeExpression;return'<iframe frameborder="0" allowfullscreen webkitallowfullscreen mozallowfullscreen '+(null!=(a=t.if.call(r,null!=n?n.isResponsive:n,{name:"if",hash:{},fn:e.program(1,o,0),inverse:e.program(3,o,0),data:o}))?a:"")+' src="'+u("function"==typeof(i=null!=(i=t.baseUrl||(null!=n?n.baseUrl:n))?i:s)?i.call(r,{name:"baseUrl",hash:{},data:o}):i)+"?shareCode="+u("function"==typeof(i=null!=(i=t.shortCode||(null!=n?n.shortCode:n))?i:s)?i.call(r,{name:"shortCode",hash:{},data:o}):i)+"&a="+u("function"==typeof(i=null!=(i=t.autoplay||(null!=n?n.autoplay:n))?i:s)?i.call(r,{name:"autoplay",hash:{},data:o}):i)+'"></iframe>'},useData:!0})},1459:function(e,n,t){"use strict";t.r(n);var l=t(1),o=t(1018),a=t(5),i=t(30),r=t(2),s=t(3),u=t(75),c="shared.shared-utils",p=function(){return[{label:s.a.getPhrase(c,"responsive"),width:"100%",height:"100%"},{label:s.a.getPhrase(c,"small"),width:"640",height:"360"},{label:s.a.getPhrase(c,"medium"),width:"1014",height:"576"},{label:s.a.getPhrase(c,"large"),width:"1280",height:"720"}]},h=t(281),d=t(186),f=t(17),b=t(6),m=t(13),y=t(1229),g=t.n(y),v=t(1230),k=t.n(v),w=t(1231),S=t.n(w),x=t(1232),C=t.n(x),E=t(0);function P(e){return(P="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,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function O(e,n){for(var t=0;t<n.length;t++){var l=n[t];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(e,l.key,l)}}function z(e,n,t){return n&&O(e.prototype,n),t&&O(e,t),e}function V(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),n&&D(e,n)}function D(e,n){return(D=Object.setPrototypeOf||function(e,n){return e.__proto__=n,e})(e,n)}function _(e){var n=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 t,l=T(e);if(n){var o=T(this).constructor;t=Reflect.construct(l,arguments,o)}else t=l.apply(this,arguments);return M(this,t)}}function M(e,n){return!n||"object"!==P(n)&&"function"!=typeof n?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):n}function T(e){return(T=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}t.d(n,"ShareView",(function(){return U}));var R=function(e){V(t,e);var n=_(t);function t(e){return I(this,t),n.call(this,e)}return z(t,[{key:"viewOptions",value:function(){return{footerTextClass:g.a.footerText,privacyDescription:this.options.privacyDescription}}},{key:"name",get:function(){return"ShareFooterComponent"}},{key:"className",get:function(){return"modal-footer bg-light rounded-bottom"}},{key:"template",get:function(){return S.a}}]),t}(r.a.Component),U=function(e){V(t,e);var n=_(t);function t(e){var l;return I(this,t),(l=n.call(this,e)).clipboards=[],l}return z(t,[{key:"initialize",value:function(){this.setUpViewModel(),this.bindListeners(),this.videoDataService=a.a.getInstance(f.a.Video,this)}},{key:"events",value:function(){return{"click @ui.copy":"onClickCopy","click @ui.embedToggle":"onClickEmbed"}}},{key:"regions",value:function(){return{container:{el:".".concat(g.a.container),replaceElement:!1},footer:{el:".modal-footer",replaceElement:!0}}}},{key:"bindListeners",value:function(){this.listenTo(this.viewModel,"change:autoplay change:selectedVideoSize",this.render),this.listenTo(this.viewModel,"change:public",this.onTogglePublic),this.listenTo(E.e.VIDEO,"".concat(E.f.VIDEOS,":").concat(this.options.videoId,":sync"),this.render)}},{key:"setUpViewModel",value:function(){this.viewModel=i.a.get("share:".concat(this.options.videoId),this.options)}},{key:"onTogglePublic",value:function(){var e=this,n=this.viewModel.get("public")?b.n.Public:b.n.SchoolOnly;this.videoDataService.getSharedResource(this.videoId,n,(function(t){t.set("privacyId",n),e.onSharedResourceSync(t)}))}},{key:"updateViewModel",value:function(){this.viewModel.set("public",this.model.get("privacyId")===b.n.Public,{silent:!0})}},{key:"onSharedResourceSync",value:function(e){this.model=e,this.updateViewModel(),this.render()}},{key:"fetchData",value:function(){this.video=this.videoDataService.getVideo(this.videoId),this.model||this.videoDataService.getSharedResource(this.videoId,null,l.bind(this.onSharedResourceSync,this))}},{key:"buildEmbedString",value:function(){var e=l.extend({},this.model.toJSON(),this.viewModel.toJSON()),n=this.options.videoSizes[e.selectedVideoSize],t="100%"===n.height&&"100%"===n.width;e.videoSize=n,e.baseUrl=u.a.safeUrlConcat(this.config.get("onlineUrl"),"/share/embed"),e.isResponsive=t;var o=C()(e);return t?'<div style="padding:56.25% 0 0 0; position:relative;">'.concat(o,"</div>"):o}},{key:"onClickEmbed",value:function(){this.viewModel.set("showEmbed",!0),this.render()}},{key:"onClickCopy",value:function(e){this.$(e.currentTarget).text(s.a.getPhrase(this.lang,"copied"))}},{key:"getPrivacyDescription",value:function(e){switch(e){case b.n[b.n.Private]:return s.a.getPhrase(this.lang,"private");case b.n[b.n.SchoolOnly]:return s.a.getPhrase(this.lang,"schoolOnly");case b.n[b.n.Public]:return s.a.getPhrase(this.lang,"public");default:return""}}},{key:"initClipboards",value:function(){var e=this;this.destroyClipboards(),this.getUI("copy").each((function(n,t){e.clipboards.push(new o(t))}))}},{key:"destroyClipboards",value:function(){l.each(this.clipboards,(function(e){return e.destroy()})),this.clipboards=[]}},{key:"getCannotPublicShareText",value:function(){return this.video?m.x.isExchangeVideo(this.video)?s.a.getPhrase(this.lang,"cannotShareExchange"):s.a.getPhrase(this.lang,"cannotShareClickView"):""}},{key:"onBeforeDestroy",value:function(){this.destroyClipboards()}},{key:"renderFooter",value:function(){var e=this.model&&this.getPrivacyDescription(this.model.get("privacy"));this.showChildView("footer",new R({privacyDescription:e}))}},{key:"viewOptions",value:function(){return Object.assign(Object.assign({styles:g.a},this.viewModel.toJSON()),{embedString:this.model&&this.buildEmbedString(),spinnerEl:m.q.getSpinner({size:m.r.Large,extraClasses:"mx-auto"}),showLoader:!this.model||!this.video,canPublicShare:this.video&&m.j.canPublicShare(this.video),cannotPublicShareText:this.getCannotPublicShareText()})}},{key:"onBeforeRender",value:function(){this.fetchData()}},{key:"onRender",value:function(){this.initClipboards(),this.renderFooter()}},{key:"name",get:function(){return"ShareView"}},{key:"title",get:function(){return!1}},{key:"template",get:function(){return k.a}},{key:"lang",get:function(){return"shared.share"}},{key:"props",get:function(){return["videoId"]}},{key:"elements",get:function(){return{copy:".copy",embedToggle:".embed-toggle"}}},{key:"defaults",get:function(){return{autoplay:!1,selectedVideoSize:0,videoSizes:p()}}},{key:"behaviors",get:function(){return[{behaviorClass:h.f,title:s.a.getPhrase(this.lang,"share"),hideCloseButton:!0},{behaviorClass:h.g,bindViewModel:!0}]}},{key:"bindings",get:function(){var e=this;return{"[name=autoplay]":"autoplay","[name=selectedVideoSize]":{observe:"selectedVideoSize",selectOptions:{collection:function(){return l.map(e.options.videoSizes,(function(e,n){return{label:e.label,value:n}}))}}},"[name=public]":"public"}}},{key:"requiredResources",get:function(){return{config:d.b.config}}}]),t}(r.a.View)}}]);