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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (332) 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 +1 -1
  16. package/dist/css/26.chunk.css.map +1 -1
  17. package/dist/css/28.chunk.css.map +1 -1
  18. package/dist/css/29.chunk.css.map +1 -1
  19. package/dist/css/3.chunk.css.map +1 -1
  20. package/dist/css/30.chunk.css.map +1 -1
  21. package/dist/css/31.chunk.css.map +1 -1
  22. package/dist/css/32.chunk.css.map +1 -1
  23. package/dist/css/33.chunk.css.map +1 -1
  24. package/dist/css/34.chunk.css.map +1 -1
  25. package/dist/css/35.chunk.css.map +1 -1
  26. package/dist/css/36.chunk.css.map +1 -1
  27. package/dist/css/37.chunk.css.map +1 -1
  28. package/dist/css/38.chunk.css.map +1 -1
  29. package/dist/css/40.chunk.css.map +1 -1
  30. package/dist/css/41.chunk.css.map +1 -1
  31. package/dist/css/42.chunk.css.map +1 -1
  32. package/dist/css/43.chunk.css.map +1 -1
  33. package/dist/css/44.chunk.css.map +1 -1
  34. package/dist/css/45.chunk.css.map +1 -1
  35. package/dist/css/46.chunk.css.map +1 -1
  36. package/dist/css/47.chunk.css.map +1 -1
  37. package/dist/css/48.chunk.css.map +1 -1
  38. package/dist/css/49.chunk.css.map +1 -1
  39. package/dist/css/50.chunk.css.map +1 -1
  40. package/dist/css/51.chunk.css.map +1 -1
  41. package/dist/css/52.chunk.css.map +1 -1
  42. package/dist/css/55.chunk.css.map +1 -1
  43. package/dist/css/56.chunk.css.map +1 -1
  44. package/dist/css/58.chunk.css.map +1 -1
  45. package/dist/css/59.chunk.css.map +1 -1
  46. package/dist/css/6.chunk.css.map +1 -1
  47. package/dist/css/60.chunk.css.map +1 -1
  48. package/dist/css/62.chunk.css.map +1 -1
  49. package/dist/css/63.chunk.css.map +1 -1
  50. package/dist/css/67.chunk.css.map +1 -1
  51. package/dist/css/68.chunk.css.map +1 -1
  52. package/dist/css/69.chunk.css.map +1 -1
  53. package/dist/css/7.chunk.css.map +1 -1
  54. package/dist/css/70.chunk.css.map +1 -1
  55. package/dist/css/71.chunk.css.map +1 -1
  56. package/dist/css/72.chunk.css.map +1 -1
  57. package/dist/css/73.chunk.css.map +1 -1
  58. package/dist/css/74.chunk.css.map +1 -1
  59. package/dist/css/75.chunk.css.map +1 -1
  60. package/dist/css/76.chunk.css.map +1 -1
  61. package/dist/css/8.chunk.css.map +1 -1
  62. package/dist/css/library-editor-app.css.map +1 -1
  63. package/dist/en.json +1 -1
  64. package/dist/libs/shared/src/enums/SettingName.d.ts +2 -1
  65. package/dist/libs/shared/src/images/svg/ImportedSvgs.d.ts +4 -1
  66. package/dist/libs/shared/src/images/svg/objects/index.d.ts +4 -1
  67. package/dist/libs/shared/src/interfaces/models/Avatar.d.ts +3 -0
  68. package/dist/libs/shared/src/interfaces/models/Customer.d.ts +1 -0
  69. package/dist/libs/shared/src/interfaces/models/Playlist.d.ts +1 -0
  70. package/dist/libs/shared/src/interfaces/models/Presentation.d.ts +2 -2
  71. package/dist/libs/shared/src/interfaces/models/User.d.ts +2 -1
  72. package/dist/libs/shared/src/interfaces/models/index.d.ts +2 -0
  73. package/dist/projects/library-editor/src/app.d.ts +1 -0
  74. package/dist/projects/library-editor/src/apps/library-editor/components/video-collection-actions/VideoCollectionActionsComponent.d.ts +1 -0
  75. package/dist/scripts/{0-09e1e33a5c.chunk.js → 0-2765595d0a.chunk.js} +1 -1
  76. package/dist/scripts/0-f82360fd03.chunk.js +1 -0
  77. package/dist/scripts/0.chunk.js +1 -1
  78. package/dist/scripts/0.chunk.js.map +1 -1
  79. package/dist/scripts/{1-a66bb44471.chunk.js → 1-35f87e4cdc.chunk.js} +1 -1
  80. package/dist/scripts/1-b6dedae131.chunk.js +1 -0
  81. package/dist/scripts/1.chunk.js.map +1 -1
  82. package/dist/scripts/{10-6c79d8c6f9.chunk.js → 10-227e797872.chunk.js} +1 -1
  83. package/dist/scripts/10-8307f8e248.chunk.js +1 -0
  84. package/dist/scripts/10.chunk.js.map +1 -1
  85. package/dist/scripts/{11-6eef9e160e.chunk.js → 11-9dbae07504.chunk.js} +1 -1
  86. package/dist/scripts/11.chunk.js.map +1 -1
  87. package/dist/scripts/{12-dbffa50a92.chunk.js → 12-06cf65b136.chunk.js} +1 -1
  88. package/dist/scripts/12-43e54b0a2d.chunk.js +1 -0
  89. package/dist/scripts/12.chunk.js.map +1 -1
  90. package/dist/scripts/{13-37e5cfab3e.chunk.js → 13-01ee41eb1e.chunk.js} +1 -1
  91. package/dist/scripts/13-3d84e237b9.chunk.js +1 -0
  92. package/dist/scripts/13.chunk.js.map +1 -1
  93. package/dist/scripts/{14-b524fbd295.chunk.js → 14-988bab314d.chunk.js} +1 -1
  94. package/dist/scripts/14-cf307e51d9.chunk.js +1 -0
  95. package/dist/scripts/14.chunk.js.map +1 -1
  96. package/dist/scripts/{15-1ff1252d1a.chunk.js → 15-bedb9ff6d0.chunk.js} +1 -1
  97. package/dist/scripts/15-eed00bc875.chunk.js +1 -0
  98. package/dist/scripts/15.chunk.js.map +1 -1
  99. package/dist/scripts/{16-b27142fe98.chunk.js → 16-339a29fa2f.chunk.js} +1 -1
  100. package/dist/scripts/16-3a99050a93.chunk.js +1 -0
  101. package/dist/scripts/16.chunk.js.map +1 -1
  102. package/dist/scripts/{17-c3bbe50816.chunk.js → 17-66da06be62.chunk.js} +1 -1
  103. package/dist/scripts/17-bff211f26a.chunk.js +1 -0
  104. package/dist/scripts/17.chunk.js +1 -1
  105. package/dist/scripts/17.chunk.js.map +1 -1
  106. package/dist/scripts/18.chunk.js.map +1 -1
  107. package/dist/scripts/19.chunk.js +1 -1
  108. package/dist/scripts/19.chunk.js.map +1 -1
  109. package/dist/scripts/{2-2cc3988222.chunk.js → 2-5079f4b088.chunk.js} +1 -1
  110. package/dist/scripts/2.chunk.js.map +1 -1
  111. package/dist/scripts/{20-6d9086f5db.chunk.js → 20-6019ccb462.chunk.js} +1 -1
  112. package/dist/scripts/20-d4470b4a53.chunk.js +1 -0
  113. package/dist/scripts/20.chunk.js.map +1 -1
  114. package/dist/scripts/{21-2f10553302.chunk.js → 21-77f6ddec3d.chunk.js} +1 -1
  115. package/dist/scripts/21-7bd1977005.chunk.js +1 -0
  116. package/dist/scripts/21.chunk.js.map +1 -1
  117. package/dist/scripts/{22-59ae44b448.chunk.js → 22-9ef39722d1.chunk.js} +1 -1
  118. package/dist/scripts/22-d88b8e9c20.chunk.js +1 -0
  119. package/dist/scripts/22.chunk.js.map +1 -1
  120. package/dist/scripts/{23-11e008ee63.chunk.js → 23-c8071cb869.chunk.js} +1 -1
  121. package/dist/scripts/23-e8a0f60c53.chunk.js +1 -0
  122. package/dist/scripts/23.chunk.js +3 -3
  123. package/dist/scripts/23.chunk.js.map +1 -1
  124. package/dist/scripts/{24-7f21e384d2.chunk.js → 24-b655377e1f.chunk.js} +1 -1
  125. package/dist/scripts/24-f62e7ff166.chunk.js +1 -0
  126. package/dist/scripts/24.chunk.js.map +1 -1
  127. package/dist/scripts/{25-f0f7fa16a4.chunk.js → 25-acda0ed17e.chunk.js} +1 -1
  128. package/dist/scripts/25-f814e3921c.chunk.js +1 -0
  129. package/dist/scripts/25.chunk.js.map +1 -1
  130. package/dist/scripts/{26-e65533bd94.chunk.js → 26-39f6c3ca17.chunk.js} +1 -1
  131. package/dist/scripts/26-9dd482e1e6.chunk.js +1 -0
  132. package/dist/scripts/26.chunk.js.map +1 -1
  133. package/dist/scripts/{27-9dc0f5a4df.chunk.js → 27-1313c7d392.chunk.js} +1 -1
  134. package/dist/scripts/27-5ecd204dab.chunk.js +1 -0
  135. package/dist/scripts/27.chunk.js +3 -3
  136. package/dist/scripts/27.chunk.js.map +1 -1
  137. package/dist/scripts/{28-26e5c371c7.chunk.js → 28-b583483a6e.chunk.js} +1 -1
  138. package/dist/scripts/28-e9b8962af8.chunk.js +1 -0
  139. package/dist/scripts/28.chunk.js +6 -6
  140. package/dist/scripts/28.chunk.js.map +1 -1
  141. package/dist/scripts/{29-61415c2af0.chunk.js → 29-44119e600a.chunk.js} +1 -1
  142. package/dist/scripts/29-e3391b4e4b.chunk.js +1 -0
  143. package/dist/scripts/29.chunk.js.map +1 -1
  144. package/dist/scripts/{3-5eff8c9df5.chunk.js → 3-079c0b4d3b.chunk.js} +1 -1
  145. package/dist/scripts/3-bea2c1c371.chunk.js +1 -0
  146. package/dist/scripts/3.chunk.js +25 -13
  147. package/dist/scripts/3.chunk.js.map +1 -1
  148. package/dist/scripts/{30-6075c28972.chunk.js → 30-a6a7291b5e.chunk.js} +1 -1
  149. package/dist/scripts/30-aef6a19cde.chunk.js +1 -0
  150. package/dist/scripts/30.chunk.js +6 -6
  151. package/dist/scripts/30.chunk.js.map +1 -1
  152. package/dist/scripts/31-4f1ea6d067.chunk.js +1 -0
  153. package/dist/scripts/31-70fe14b490.chunk.js +1 -0
  154. package/dist/scripts/31.chunk.js.map +1 -1
  155. package/dist/scripts/{32-d5a50a7592.chunk.js → 32-0b05da2f4c.chunk.js} +1 -1
  156. package/dist/scripts/32-96ac2f9c32.chunk.js +1 -0
  157. package/dist/scripts/32.chunk.js.map +1 -1
  158. package/dist/scripts/{33-5ae90ed7d7.chunk.js → 33-04b1fbcdeb.chunk.js} +1 -1
  159. package/dist/scripts/33-061a87935f.chunk.js +1 -0
  160. package/dist/scripts/33.chunk.js.map +1 -1
  161. package/dist/scripts/{34-50402c1835.chunk.js → 34-4f2c861480.chunk.js} +1 -1
  162. package/dist/scripts/34-56f92b9a87.chunk.js +1 -0
  163. package/dist/scripts/34.chunk.js.map +1 -1
  164. package/dist/scripts/{35-ec8c190357.chunk.js → 35-08ead0d078.chunk.js} +1 -1
  165. package/dist/scripts/35-cdd788a4b5.chunk.js +1 -0
  166. package/dist/scripts/35.chunk.js.map +1 -1
  167. package/dist/scripts/{36-4d467bc42e.chunk.js → 36-4db22bf8bb.chunk.js} +1 -1
  168. package/dist/scripts/36-7d33d11b58.chunk.js +1 -0
  169. package/dist/scripts/36.chunk.js.map +1 -1
  170. package/dist/scripts/{37-37e8965783.chunk.js → 37-4de2537ff4.chunk.js} +1 -1
  171. package/dist/scripts/37-fbd149e569.chunk.js +1 -0
  172. package/dist/scripts/37.chunk.js.map +1 -1
  173. package/dist/scripts/{38-3dc24b8867.chunk.js → 38-57af633fa1.chunk.js} +1 -1
  174. package/dist/scripts/38-7733a3d81e.chunk.js +1 -0
  175. package/dist/scripts/38.chunk.js.map +1 -1
  176. package/dist/scripts/{39-350ff66a2b.chunk.js → 39-5451786b7d.chunk.js} +1 -1
  177. package/dist/scripts/39-cc627dfe2b.chunk.js +1 -0
  178. package/dist/scripts/39.chunk.js.map +1 -1
  179. package/dist/scripts/{4-b3f3c7c71c.chunk.js → 4-0a8a5ac2f0.chunk.js} +1 -1
  180. package/dist/scripts/4-84fa8e49e2.chunk.js +1 -0
  181. package/dist/scripts/4.chunk.js.map +1 -1
  182. package/dist/scripts/{40-3443f99cb2.chunk.js → 40-31940ddf04.chunk.js} +1 -1
  183. package/dist/scripts/40-78639874b5.chunk.js +1 -0
  184. package/dist/scripts/40.chunk.js.map +1 -1
  185. package/dist/scripts/{41-b5dfd35e9e.chunk.js → 41-0366a0332e.chunk.js} +1 -1
  186. package/dist/scripts/41-2c6722e410.chunk.js +1 -0
  187. package/dist/scripts/41.chunk.js.map +1 -1
  188. package/dist/scripts/{42-103fecb7b6.chunk.js → 42-9b7795d20a.chunk.js} +1 -1
  189. package/dist/scripts/42-c87c36d7d4.chunk.js +1 -0
  190. package/dist/scripts/42.chunk.js.map +1 -1
  191. package/dist/scripts/{43-57b07579f7.chunk.js → 43-006ce08a8f.chunk.js} +1 -1
  192. package/dist/scripts/43-591954817b.chunk.js +1 -0
  193. package/dist/scripts/43.chunk.js.map +1 -1
  194. package/dist/scripts/{44-210d64dffe.chunk.js → 44-b4c134efe8.chunk.js} +1 -1
  195. package/dist/scripts/44-fc3a1d45c5.chunk.js +1 -0
  196. package/dist/scripts/44.chunk.js.map +1 -1
  197. package/dist/scripts/{45-632b07e926.chunk.js → 45-32ce8dd910.chunk.js} +1 -1
  198. package/dist/scripts/45-3e85e78a77.chunk.js +1 -0
  199. package/dist/scripts/45.chunk.js.map +1 -1
  200. package/dist/scripts/{46-82cce63cbf.chunk.js → 46-1256828b60.chunk.js} +1 -1
  201. package/dist/scripts/46-e096df45ef.chunk.js +1 -0
  202. package/dist/scripts/46.chunk.js +6 -6
  203. package/dist/scripts/46.chunk.js.map +1 -1
  204. package/dist/scripts/{47-595b4aae87.chunk.js → 47-61b53964c2.chunk.js} +1 -1
  205. package/dist/scripts/47-9e514e7536.chunk.js +1 -0
  206. package/dist/scripts/47.chunk.js +2 -1
  207. package/dist/scripts/47.chunk.js.map +1 -1
  208. package/dist/scripts/{48-fcf6378889.chunk.js → 48-3f804b22a4.chunk.js} +1 -1
  209. package/dist/scripts/48-9af8b50e4f.chunk.js +1 -0
  210. package/dist/scripts/48.chunk.js.map +1 -1
  211. package/dist/scripts/{49-d8a4899eb1.chunk.js → 49-79b28e90c9.chunk.js} +1 -1
  212. package/dist/scripts/49-883d9131af.chunk.js +1 -0
  213. package/dist/scripts/49.chunk.js.map +1 -1
  214. package/dist/scripts/{5-06bc197b1e.chunk.js → 5-093c9ee130.chunk.js} +1 -1
  215. package/dist/scripts/5-f5ad097d2b.chunk.js +1 -0
  216. package/dist/scripts/5.chunk.js +3 -3
  217. package/dist/scripts/5.chunk.js.map +1 -1
  218. package/dist/scripts/{50-11b1a49916.chunk.js → 50-198f89794c.chunk.js} +1 -1
  219. package/dist/scripts/50-ce04770db1.chunk.js +1 -0
  220. package/dist/scripts/50.chunk.js.map +1 -1
  221. package/dist/scripts/{51-72a75e0265.chunk.js → 51-177fe97a9b.chunk.js} +1 -1
  222. package/dist/scripts/51-61bb2b80fe.chunk.js +1 -0
  223. package/dist/scripts/51.chunk.js.map +1 -1
  224. package/dist/scripts/{52-195f73bcd6.chunk.js → 52-d8cf26c75f.chunk.js} +1 -1
  225. package/dist/scripts/52-e7fd215888.chunk.js +1 -0
  226. package/dist/scripts/52.chunk.js.map +1 -1
  227. package/dist/scripts/{53-bb4f37ee25.chunk.js → 53-595b1efa1a.chunk.js} +1 -1
  228. package/dist/scripts/53-e78a58c963.chunk.js +1 -0
  229. package/dist/scripts/53.chunk.js.map +1 -1
  230. package/dist/scripts/{54-7a201d8285.chunk.js → 54-646c8458e0.chunk.js} +1 -1
  231. package/dist/scripts/54-7976c21511.chunk.js +1 -0
  232. package/dist/scripts/54.chunk.js.map +1 -1
  233. package/dist/scripts/{55-be3d7b8805.chunk.js → 55-5e3b70736e.chunk.js} +1 -1
  234. package/dist/scripts/55-dac67eae0b.chunk.js +1 -0
  235. package/dist/scripts/55.chunk.js.map +1 -1
  236. package/dist/scripts/{56-6aeece1bf1.chunk.js → 56-3c520aec72.chunk.js} +1 -1
  237. package/dist/scripts/56-9a02efb9a1.chunk.js +1 -0
  238. package/dist/scripts/56.chunk.js.map +1 -1
  239. package/dist/scripts/{57-59ee15161b.chunk.js → 57-6f84e1bb9d.chunk.js} +1 -1
  240. package/dist/scripts/57-bf72265d49.chunk.js +1 -0
  241. package/dist/scripts/57.chunk.js.map +1 -1
  242. package/dist/scripts/{58-8ff58b194a.chunk.js → 58-1c37240b43.chunk.js} +1 -1
  243. package/dist/scripts/58-34ef45f4b6.chunk.js +1 -0
  244. package/dist/scripts/58.chunk.js.map +1 -1
  245. package/dist/scripts/{59-3d33954fcb.chunk.js → 59-05cbb57b32.chunk.js} +1 -1
  246. package/dist/scripts/59-f3d473090d.chunk.js +1 -0
  247. package/dist/scripts/59.chunk.js.map +1 -1
  248. package/dist/scripts/{6-a469872b10.chunk.js → 6-a5f6258253.chunk.js} +1 -1
  249. package/dist/scripts/6-e49b6b4c08.chunk.js +1 -0
  250. package/dist/scripts/6.chunk.js.map +1 -1
  251. package/dist/scripts/{60-f092baa91c.chunk.js → 60-ac4f11764a.chunk.js} +1 -1
  252. package/dist/scripts/60-dd50d4179f.chunk.js +1 -0
  253. package/dist/scripts/60.chunk.js.map +1 -1
  254. package/dist/scripts/{61-bd9ef62ccd.chunk.js → 61-62ec9b3628.chunk.js} +1 -1
  255. package/dist/scripts/61-e759f86871.chunk.js +1 -0
  256. package/dist/scripts/61.chunk.js +12 -12
  257. package/dist/scripts/61.chunk.js.map +1 -1
  258. package/dist/scripts/{62-f15b3bf74c.chunk.js → 62-4d0e82f903.chunk.js} +1 -1
  259. package/dist/scripts/62-bfd5450b13.chunk.js +1 -0
  260. package/dist/scripts/62.chunk.js.map +1 -1
  261. package/dist/scripts/{63-92757f75e7.chunk.js → 63-47af37825d.chunk.js} +1 -1
  262. package/dist/scripts/63-8521e39a2e.chunk.js +1 -0
  263. package/dist/scripts/63.chunk.js.map +1 -1
  264. package/dist/scripts/{64-c5a1c55521.chunk.js → 64-12150ef48b.chunk.js} +1 -1
  265. package/dist/scripts/64-c42635a917.chunk.js +1 -0
  266. package/dist/scripts/64.chunk.js.map +1 -1
  267. package/dist/scripts/{65-6bb10ae23b.chunk.js → 65-7780441e5e.chunk.js} +1 -1
  268. package/dist/scripts/65-a4fdf8777b.chunk.js +1 -0
  269. package/dist/scripts/65.chunk.js.map +1 -1
  270. package/dist/scripts/{66-f047027f7d.chunk.js → 66-029947cf5c.chunk.js} +1 -1
  271. package/dist/scripts/66-7f2750cd97.chunk.js +1 -0
  272. package/dist/scripts/66.chunk.js.map +1 -1
  273. package/dist/scripts/{67-2e1a011200.chunk.js → 67-47f208342a.chunk.js} +1 -1
  274. package/dist/scripts/67-564ff2bd16.chunk.js +1 -0
  275. package/dist/scripts/67.chunk.js.map +1 -1
  276. package/dist/scripts/{68-d5c0ab3fc1.chunk.js → 68-5656cc45fe.chunk.js} +1 -1
  277. package/dist/scripts/68-df9024fadc.chunk.js +1 -0
  278. package/dist/scripts/68.chunk.js.map +1 -1
  279. package/dist/scripts/{69-fc8325afc9.chunk.js → 69-4d32ddddbc.chunk.js} +1 -1
  280. package/dist/scripts/69-a4b3442e68.chunk.js +1 -0
  281. package/dist/scripts/69.chunk.js.map +1 -1
  282. package/dist/scripts/{7-58dd909fa3.chunk.js → 7-2696f5afc4.chunk.js} +1 -1
  283. package/dist/scripts/7-b39ab430b9.chunk.js +1 -0
  284. package/dist/scripts/7.chunk.js.map +1 -1
  285. package/dist/scripts/{70-ceda95013e.chunk.js → 70-0f070c1596.chunk.js} +1 -1
  286. package/dist/scripts/70-2a427b3dd0.chunk.js +1 -0
  287. package/dist/scripts/70.chunk.js.map +1 -1
  288. package/dist/scripts/{71-6e8fc95beb.chunk.js → 71-215cac8b69.chunk.js} +1 -1
  289. package/dist/scripts/71-c43ee23686.chunk.js +1 -0
  290. package/dist/scripts/71.chunk.js.map +1 -1
  291. package/dist/scripts/{72-53fe3338bf.chunk.js → 72-6eb3ef092e.chunk.js} +1 -1
  292. package/dist/scripts/72-f5a8cfc8b7.chunk.js +1 -0
  293. package/dist/scripts/72.chunk.js.map +1 -1
  294. package/dist/scripts/73.chunk.js.map +1 -1
  295. package/dist/scripts/74.chunk.js.map +1 -1
  296. package/dist/scripts/75.chunk.js.map +1 -1
  297. package/dist/scripts/76.chunk.js.map +1 -1
  298. package/dist/scripts/77.chunk.js.map +1 -1
  299. package/dist/scripts/78.chunk.js.map +1 -1
  300. package/dist/scripts/79.chunk.js.map +1 -1
  301. package/dist/scripts/{8-6974afed28.chunk.js → 8-1e0751e30b.chunk.js} +1 -1
  302. package/dist/scripts/8-f4f18356f7.chunk.js +1 -0
  303. package/dist/scripts/8.chunk.js.map +1 -1
  304. package/dist/scripts/80.chunk.js.map +1 -1
  305. package/dist/scripts/81.chunk.js.map +1 -1
  306. package/dist/scripts/82.chunk.js.map +1 -1
  307. package/dist/scripts/83.chunk.js.map +1 -1
  308. package/dist/scripts/84.chunk.js.map +1 -1
  309. package/dist/scripts/85.chunk.js.map +1 -1
  310. package/dist/scripts/86.chunk.js.map +1 -1
  311. package/dist/scripts/87.chunk.js.map +1 -1
  312. package/dist/scripts/88.chunk.js.map +1 -1
  313. package/dist/scripts/89.chunk.js.map +1 -1
  314. package/dist/scripts/{9-9279038caa.chunk.js → 9-bb567e1c99.chunk.js} +1 -1
  315. package/dist/scripts/9-cd0bcefa7f.chunk.js +1 -0
  316. package/dist/scripts/9.chunk.js.map +1 -1
  317. package/dist/scripts/90.chunk.js.map +1 -1
  318. package/dist/scripts/91.chunk.js.map +1 -1
  319. package/dist/scripts/92.chunk.js.map +1 -1
  320. package/dist/scripts/bundle-e7f4d4e659.min.js +8 -0
  321. package/dist/scripts/bundle-f73bcaa857.min.js +8 -0
  322. package/dist/scripts/bundle.js +1492 -1364
  323. package/dist/scripts/bundle.js.map +1 -1
  324. package/dist/scripts/bundles.json +2 -2
  325. package/dist/scripts/polyfills-9517d7e647.min.js +1 -0
  326. package/dist/scripts/polyfills-e442ebbfb0.min.js +1 -0
  327. package/dist/scripts/polyfills.js +1050 -1050
  328. package/dist/scripts/polyfills.js.map +1 -1
  329. package/package.json +3 -3
  330. package/dist/scripts/31-e35ae4e153.chunk.js +0 -1
  331. package/dist/scripts/bundle-06dc1f4908.min.js +0 -8
  332. package/dist/scripts/polyfills-efb4d7caa3.min.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/components/edit-links/LinkItem.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/components/edit-links/LinkItemComponent.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/components/edit-links/VideoLinks.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/components/edit-links/VideoLinksComponent.ts","webpack://@clickview/library-editor/./src/apps/library-editor/components/edit-links/link-item.scss?98b6","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/components/video-resources/ResourceItem.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/components/video-resources/ResourceItemComponent.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/components/video-resources/VideoResources.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/components/video-resources/VideoResourcesComponent.ts","webpack://@clickview/library-editor/./src/apps/library-editor/components/video-resources/resource-item.scss?08d4"],"names":[],"mappings":";;;;;;;;;AAAA,iBAAiB,mBAAO,CAAC,8BAAY;AACrC,iEAAiE;AACjE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,wLAAwL;;AAExL;AACA;AACA;AACA;AACA;AACA,oKAAoK,sBAAsB,aAAa;AACvM;AACA,sKAAsK,uBAAuB,aAAa;AAC1M;AACA,uIAAuI,qBAAqB,yEAAyE;AACrO,CAAC,gBAAgB,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9BjB;AAEA;AACA;AACA;AACA;AAEA;AACA;AAGA;AACA;AACA;AAGO,IAAM,iBAAb;AAAA;;AAAA;;AAGE,6BAAY,OAAZ,EAA+C;AAAA;;AAAA,6BACvC,OADuC;AAE9C;;AALH;AAAA;AAAA,6BAuBe;AACX,aAAO;AACL,yBAAiB,eADZ;AAEL,uBAAe;AAFV,OAAP;AAID;AA5BH;AAAA;AAAA,kCAwCqB;AACjB,UAAM,gBAAgB,GAAG,mFAAe,CAAC,YAAhB,CAA6B,KAAK,OAAL,CAAa,gBAA1C,EAA4D;AACnF,kBAAU,EAAE,yEAAU,CAAC,IAD4D;AAEnF,cAAM,EAAE,yEAAU,CAAC,QAFgE;AAGnF,qBAAa,EAAE,4EAAa,CAAC;AAHsD,OAA5D,CAAzB;AAMA,UAAM,IAAI,GAAG;AACX,UAAE,EAAE,KAAK,KAAL,CAAW,GAAX,CAAe,IAAf,CADO;AAEX,gBAAQ,EAAE,CAAC,KAAK,OAAL,CAAa;AAFb,OAAb;AAKA,yFAAe,CAAC,aAAhB,CAA8B,IAA9B,EAAoC,gBAApC;AACD;AArDH;AAAA;AAAA,oCAuDuB;AAAA;;AACnB,UAAM,YAAY,GAAG,IAAI,0DAAJ,CAAiB;AACpC,aAAK,EAAE,kGAAe,CAAC,SAAhB,CAA0B,KAAK,IAA/B,EAAqC,eAArC,CAD6B;AAEpC,YAAI,EAAE,kGAAe,CAAC,SAAhB,CAA0B,KAAK,IAA/B,EAAqC,eAArC,EAAsD;AAC1D,cAAI,EAAE,wDAAU,CAAC,gBAAX,CAA4B,KAAK,KAAL,CAAW,GAAX,CAAe,MAAf,CAA5B;AADoD,SAAtD,CAF8B;AAKpC,eAAO,EAAE,CAAC;AACR,cAAI,EAAO,kGAAe,CAAC,SAAhB,CAA0B,KAAK,IAA/B,EAAqC,QAArC,CADH;AAER,mBAAS,EAAE,gBAFH;AAGR,iBAAO,EAAK;AAHJ,SAAD,EAIN;AACD,cAAI,EAAO,kGAAe,CAAC,SAAhB,CAA0B,KAAK,IAA/B,EAAqC,QAArC,CADV;AAED,mBAAS,EAAE,mBAFV;AAGD,eAAK,EAAM;AAHV,SAJM,CAL2B;AAcpC,mBAAW,EAAE,gEAAkB,CAAC,yBAAnB,CAA6C,IAA7C;AAduB,OAAjB,CAArB;AAiBA,kBAAY,CAAC,MAAb,GAAsB,IAAtB,CAA2B,YAAK;AAC9B,YAAM,OAAO,GAAG,8CAAK,CAAC,OAAN,CAAc,KAAI,CAAC,OAAL,CAAa,WAA3B,CAAhB;AACA,eAAO,CAAC,OAAR,CAAgB,aAAhB,EAA+B,KAAI,CAAC,KAAL,CAAW,GAAX,CAAe,IAAf,CAA/B;AACD,OAHD;AAID;AA7EH;AAAA;AAAA,kCA+EoB;AAChB,aAAO;AACL,cAAM,EAAN,sDADK;AAEL,gBAAQ,EAAE,KAAK,OAAL,CAAa,QAFlB;AAGL,eAAO,EAAE,0EAAS,CAAC,MAAV,CAAiB,6EAAY,CAAC,IAA9B,CAHJ;AAIL,eAAO,EAAE,0EAAS,CAAC,MAAV,CAAiB,6EAAY,CAAC,IAA9B,CAJJ;AAKL,gBAAQ,EAAE,0EAAS,CAAC,MAAV,CAAiB,6EAAY,CAAC,MAA9B;AALL,OAAP;AAOD;AAvFH;AAAA;AAAA,wBAOiB;AACb,aAAO,mBAAP;AACD;AATH;AAAA;AAAA,wBAWqB;AACjB,aAAO,oDAAP;AACD;AAbH;AAAA;AAAA,wBAesB;AAClB,aAAO,MAAP;AACD;AAjBH;AAAA;AAAA,wBAmBiB;AACb,aAAO,yBAAP;AACD;AArBH;AAAA;AAAA,wBA8BqB;AACjB,aAAO;AACL,iBAAS;AACP,qBAAW,EAAE,6DAAW,CAAC,cADlB;AAEP,gBAAM,EAAE,yDAAO,CAAC,aAAR,CAAsB,SAFvB;AAGP,cAAI,EAAE,CAAE,KAAK,OAAL,CAAa,OAAf,EAAwB,KAAK,KAAL,CAAW,GAAX,CAAe,IAAf,CAAxB;AAHC;AADJ,OAAP;AAOD;AAtCH;;AAAA;AAAA,EAAuC,8DAAI,CAAC,SAA5C,E;;;;;;;;;;;AChBA,iBAAiB,mBAAO,CAAC,8BAAY;AACrC,iEAAiE;AACjE;;AAEA;AACA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA,0FAA0F,oGAAoG,qBAAqB,yEAAyE;AAC5R;AACA,CAAC,gBAAgB,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACdjB;AAKA;AACA;AAYO,IAAM,mBAAb;AAAA;;AAAA;;AAGE,+BAAY,OAAZ,EAA+C;AAAA;;AAAA,6BACvC,OADuC;AAE9C;;AALH;AAAA;AAAA,8BAmBgB;AACZ,aAAO;AACL,aAAK,EAAE;AACL,YAAE,EAAE,eADC;AAEL,wBAAc,EAAE;AAFX;AADF,OAAP;AAMD;AA1BH;AAAA;AAAA,kCA4BoB;AAChB,aAAO,KAAK,OAAZ;AACD;AA9BH;AAAA;AAAA,+BAgCiB;AACb,WAAK,aAAL,CAAmB,OAAnB,EAA4B,IAAI,2BAAJ,CAAgC;AAC1D,kBAAU,EAAE,KAAK,OAAL,CAAa,gBAAb,IAAiC,KAAK,KAAL,CAAW,GAAX,CAAe,OAAf,CADa;AAE1D,mBAAW,EAAE,KAAK,OAAL,CAAa,WAFgC;AAG1D,wBAAgB,EAAE,KAAK,OAAL,CAAa,gBAH2B;AAI1D,gBAAQ,EAAE,KAAK,OAAL,CAAa,QAJmC;AAK1D,eAAO,EAAE,KAAK,OAAL,CAAa,OALoC;AAM1D,mBAAW,EAAE,KAAK,OAAL,CAAa,WANgC;AAO1D,sBAAc,EAAE,KAAK,OAAL,CAAa;AAP6B,OAAhC,CAA5B;AASD;AA1CH;AAAA;AAAA,wBAOiB;AACb,aAAO,qBAAP;AACD;AATH;AAAA;AAAA,wBAWqB;AACjB,aAAO,sDAAP;AACD;AAbH;AAAA;AAAA,wBAesB;AAClB,aAAO,KAAK,OAAL,CAAa,gBAAb,GAAgC,EAAhC,oBAAP;AACD;AAjBH;;AAAA;AAAA,EAAyC,8DAAI,CAAC,SAA9C;;IA6CM,2B;;;;;AAGJ,uCAAY,OAAZ,EAA+C;AAAA;;AAAA,8BACvC,OADuC;AAE9C;;;;wBAEc;AACb,aAAO,6BAAP;AACD;;;wBAE0B;AACzB,aAAO,KAAK,OAAZ;AACD;;;wBAEmB;AAClB,aAAO,oEAAP;AACD;;;;EAjBuC,8DAAI,CAAC,mB;;;;;;;;;;;AChE/C;AACA,kBAAkB,6E;;;;;;;;;;;ACDlB,iBAAiB,mBAAO,CAAC,8BAAY;AACrC,iEAAiE;AACjE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,wLAAwL;;AAExL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oKAAoK,sBAAsB,aAAa;AACvM;AACA,sKAAsK,uBAAuB,aAAa;AAC1M;AACA,sKAAsK,uBAAuB,aAAa;AAC1M;AACA,uIAAuI,qBAAqB,yEAAyE;AACrO,CAAC,gBAAgB,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpCjB;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AASO,IAAM,qBAAb;AAAA;;AAAA;;AAGE,iCAAY,OAAZ,EAAiD;AAAA;;AAAA,6BACzC,OADyC;AAEhD;;AALH;AAAA;AAAA,6BAuBe;AACX,aAAO;AACL,yBAAiB,eADZ;AAEL,uBAAe;AAFV,OAAP;AAID;AA5BH;AAAA;AAwCE;AAxCF,kCAyCqB;AACjB,UAAM,gBAAgB,GAAG,mFAAe,CAAC,YAAhB,CAA6B,KAAK,OAAL,CAAa,gBAA1C,EAA4D;AACnF,kBAAU,EAAE,yEAAU,CAAC,IAD4D;AAEnF,cAAM,EAAE,yEAAU,CAAC,QAFgE;AAGnF,qBAAa,EAAE,4EAAa,CAAC;AAHsD,OAA5D,CAAzB;AAMA,UAAM,IAAI,GAAG;AACX,UAAE,EAAE,KAAK,KAAL,CAAW,GAAX,CAAe,IAAf,CADO;AAEX,gBAAQ,EAAE,CAAC,KAAK,OAAL,CAAa;AAFb,OAAb;AAKA,yFAAe,CAAC,aAAhB,CAA8B,IAA9B,EAAoC,gBAApC;AACD;AAtDH;AAAA;AAAA,oCAwDuB;AAAA;;AACnB,UAAM,YAAY,GAAG,IAAI,0DAAJ,CAAiB;AACpC,aAAK,EAAE,mGAAe,CAAC,SAAhB,CAA0B,KAAK,IAA/B,EAAqC,eAArC,CAD6B;AAEpC,YAAI,EAAE,mGAAe,CAAC,SAAhB,CAA0B,KAAK,IAA/B,EAAqC,YAArC,EAAmD;AACvD,sBAAY,EAAE,KAAK,KAAL,CAAW,GAAX,CAAe,MAAf;AADyC,SAAnD,CAF8B;AAKpC,eAAO,EAAE,CAAC;AACR,cAAI,EAAO,mGAAe,CAAC,SAAhB,CAA0B,KAAK,IAA/B,EAAqC,QAArC,CADH;AAER,mBAAS,EAAE,gBAFH;AAGR,iBAAO,EAAK;AAHJ,SAAD,EAIN;AACD,cAAI,EAAO,mGAAe,CAAC,SAAhB,CAA0B,KAAK,IAA/B,EAAqC,QAArC,CADV;AAED,mBAAS,EAAE,mBAFV;AAGD,eAAK,EAAM;AAHV,SAJM,CAL2B;AAcpC,mBAAW,YAAK,KAAK,IAAV,SAAiB,KAAK,GAAtB;AAdyB,OAAjB,CAArB;AAiBA,kBAAY,CAAC,MAAb,GAAsB,IAAtB,CAA2B,YAAK;AAC9B,YAAM,OAAO,GAAG,8CAAK,CAAC,OAAN,CAAc,KAAI,CAAC,OAAL,CAAa,WAA3B,CAAhB;AACA,eAAO,CAAC,OAAR,CAAgB,iBAAhB,EAAmC,KAAI,CAAC,KAAL,CAAW,GAAX,CAAe,IAAf,CAAnC;AACD,OAHD;AAID;AA9EH;AAAA;AAAA,kCAgFoB;AAChB,UAAM,QAAQ,GAAG,KAAK,KAAL,CAAW,GAAX,CAAe,UAAf,CAAjB;AACA,UAAM,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC,IAAZ,GAAmB,EAA5C;AAEA,aAAO;AACL,gBAAQ,EAAE,KAAK,OAAL,CAAa,QADlB;AAEL,cAAM,EAAN,0DAFK;AAGL,iBAAS,EAAE,4EAAkB,CAAC,kBAAnB,CAAsC,QAAtC,CAHN;AAIL,WAAG,EAAE,4EAAkB,CAAC,YAAnB,CAAgC,QAAhC,CAJA;AAKL,iBAAS,EAAE,4EAAkB,CAAC,cAAnB,CAAkC,QAAlC,CALN;AAML,oBAAY,EAAE,4EAAkB,CAAC,aAAnB,CAAiC,QAAjC,CANT;AAOL,eAAO,EAAE,0EAAS,CAAC,MAAV,CAAiB,6EAAY,CAAC,IAA9B,CAPJ;AAQL,gBAAQ,EAAE,0EAAS,CAAC,MAAV,CAAiB,6EAAY,CAAC,MAA9B;AARL,OAAP;AAUD;AA9FH;AAAA;AAAA,wBAOiB;AACb,aAAO,uBAAP;AACD;AATH;AAAA;AAAA,wBAWqB;AACjB,aAAO,wDAAP;AACD;AAbH;AAAA;AAAA,wBAesB;AAClB;AACD;AAjBH;AAAA;AAAA,wBAmBiB;AACb,aAAO,8BAAP;AACD;AArBH;AAAA;AAAA,wBA8BqB;AACjB,aAAO;AACL,iBAAS;AACP,qBAAW,EAAE,6DAAW,CAAC,cADlB;AAEP,gBAAM,EAAE,yDAAO,CAAC,aAAR,CAAsB,aAFvB;AAGP,cAAI,EAAE,CAAE,KAAK,OAAL,CAAa,OAAf,EAAwB,KAAK,KAAL,CAAW,GAAX,CAAe,IAAf,CAAxB;AAHC;AADJ,OAAP;AAOD;AAtCH;;AAAA;AAAA,EAA2C,8DAAI,CAAC,SAAhD,E;;;;;;;;;;;ACpBA,iBAAiB,mBAAO,CAAC,8BAAY;AACrC,iEAAiE;AACjE;;AAEA;AACA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA,0FAA0F,oGAAoG,qBAAqB,yEAAyE;AAC5R;AACA,CAAC,gBAAgB,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACdjB;AAIA;AACA;AAEA;AAUO,IAAM,iCAAb;AAAA;;AAAA;;AAGE,6CAAY,OAAZ,EAA6D;AAAA;;AAAA,6BACrD,OADqD;AAE5D;;AALH;AAAA;AAAA,wBAOiB;AACb,aAAO,mCAAP;AACD;AATH;AAAA;AAAA,wBAWsB;AAClB,aAAO,MAAP;AACD;AAbH;AAAA;AAAA,wBAesB;AAClB,aAAO,4EAAP;AACD;AAjBH;AAAA;AAAA,wBAmB6B;AACzB,aAAO;AACL,gBAAQ,EAAE,KAAK,OAAL,CAAa,QADlB;AAEL,eAAO,EAAE,KAAK,OAAL,CAAa,OAFjB;AAGL,mBAAW,EAAE,KAAK,OAAL,CAAa,WAHrB;AAIL,wBAAgB,EAAE,KAAK,OAAL,CAAa;AAJ1B,OAAP;AAMD;AA1BH;;AAAA;AAAA,EAAuD,8DAAI,CAAC,mBAA5D;AAwCO,IAAM,uBAAb;AAAA;;AAAA;;AAGE,mCAAY,OAAZ,EAAmD;AAAA;;AAAA,8BAC3C,OAD2C;AAElD;;AALH;AAAA;AAAA,8BA2BgB;AACZ,aAAO;AACL,iBAAS,EAAE;AACT,wBAAc,EAAE,IADP;AAET,YAAE,EAAE;AAFK;AADN,OAAP;AAMD;AAlCH;AAAA;AAAA,sCAoCyB;AACrB,UAAM,qBAAqB,GAAG,IAAI,iCAAJ,CAAsC;AAClE,kBAAU,EAAE,KAAK,OAAL,CAAa,gBAAb,IAAiC,KAAK,KAAL,CAAW,SADU;AAElE,gBAAQ,EAAE,KAAK,OAAL,CAAa,QAAb,IAAyB,KAF+B;AAGlE,eAAO,EAAE,KAAK,OAAL,CAAa,OAAb,IAAwB,KAAK,KAAL,CAAW,GAAX,CAAe,IAAf,CAHiC;AAIlE,mBAAW,EAAE,KAAK,OAAL,CAAa,iBAAb,IAAkC,KAAK;AAJc,OAAtC,CAA9B;AAOA,WAAK,aAAL,CAAmB,WAAnB,EAAgC,qBAAhC;AACD;AA7CH;AAAA;AAAA,kCA+CoB;AAChB,aAAO;AACL,4BAAoB,EAAE,KAAK,OAAL,CAAa,UAAb,IAA2B,kGAAe,CAAC,SAAhB,CAA0B,KAAK,IAA/B,EAAqC,SAArC,CAD5C;AAEL,sBAAc,EAAE,KAAK,OAAL,CAAa;AAFxB,OAAP;AAID;AApDH;AAAA;AAAA,+BAsDiB;AACb,WAAK,eAAL;AACD;AAxDH;AAAA;AAAA,wBAOiB;AACb,aAAO,yBAAP;AACD;AATH;AAAA;AAAA,wBAWqB;AACjB,aAAO,0DAAP;AACD;AAbH;AAAA;AAAA,wBAeiB;AACb,aAAO,8BAAP;AACD;AAjBH;AAAA;AAAA,wBAmBwB;AACpB,uBAAU,KAAK,IAAf,SAAsB,KAAK,GAA3B;AACD;AArBH;AAAA;AAAA,wBAuBsB;AAClB,aAAO,KAAK,OAAL,CAAa,gBAAb,GAAgC,EAAhC,oBAAP;AACD;AAzBH;;AAAA;AAAA,EAA6C,8DAAI,CAAC,SAAlD,E;;;;;;;;;;;AC1DA;AACA,kBAAkB,6E","file":"scripts/33.chunk.js","sourcesContent":["var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable, alias2=container.lambda, alias3=container.escapeExpression;\n\n return \"<a class=\\\"float-right \"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.svgContainer : stack1), depth0))\n + \" \"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.actionSvg : stack1), depth0))\n + \" text-muted delete\\\">\"\n + ((stack1 = alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.trashSvg : stack1), depth0)) != null ? stack1 : \"\")\n + \"</a>\\r\\n<a class=\\\"float-right \"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.svgContainer : stack1), depth0))\n + \" \"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.actionSvg : stack1), depth0))\n + \" text-muted edit\\\">\"\n + ((stack1 = alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.editSvg : stack1), depth0)) != null ? stack1 : \"\")\n + \"</a>\\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper, alias1=container.propertyIsEnumerable, alias2=container.lambda, alias3=container.escapeExpression, alias4=depth0 != null ? depth0 : (container.nullContext || {}), alias5=container.hooks.helperMissing, alias6=\"function\";\n\n return \"<span class=\\\"d-inline-block align-middle mr-2 icon-blue \"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.svgContainer : stack1), depth0))\n + \"\\\">\"\n + ((stack1 = alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.linkSvg : stack1), depth0)) != null ? stack1 : \"\")\n + \"</span>\\r\\n<a href=\\\"\"\n + alias3(((helper = (helper = helpers.url || (depth0 != null ? depth0.url : depth0)) != null ? helper : alias5),(typeof helper === alias6 ? helper.call(alias4,{\"name\":\"url\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" target=\\\"_blank\\\" class=\\\"align-middle info-link\\\">\\r\\n \"\n + alias3(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : alias5),(typeof helper === alias6 ? helper.call(alias4,{\"name\":\"name\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\r\\n</a>\\r\\n\"\n + ((stack1 = helpers[\"if\"].call(alias4,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.editable : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"useData\":true});","import { ObjectHash, Radio } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { SvgHelper, cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\nimport { UserAction, EntityType, WorkflowPhase } from 'libs/analytics/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\n\r\nimport { DialogHelper, RadioChannelHelper, TextHelper } from 'shared/utils';\r\nimport { AppChannels, Actions } from 'shared/constants';\r\n\r\nimport { VideoLinksComponentOptions } from './VideoLinksComponent';\r\nimport LinkItemTemplate from './LinkItem.hbs';\r\nimport styles from './link-item.scss';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\n\r\nexport class LinkItemComponent extends Core.Component {\r\n public options: VideoLinksComponentOptions;\r\n\r\n constructor(options: VideoLinksComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'LinkItemComponent';\r\n }\r\n\r\n public get template(): string {\r\n return LinkItemTemplate;\r\n }\r\n\r\n public get className(): string {\r\n return 'mb-2';\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.editLinks';\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n 'click .delete': 'onClickDelete',\r\n 'click .edit': 'onClickEdit'\r\n };\r\n }\r\n\r\n public get appLinks(): Core.AppLinkHash {\r\n return {\r\n '.edit': {\r\n application: AppChannels.LIBRARY_EDITOR,\r\n action: Actions.LibraryEditor.EDIT_LINK,\r\n args: [ this.options.videoId, this.model.get('id') ]\r\n }\r\n };\r\n }\r\n\r\n private onClickEdit(): void {\r\n const analyticsOptions = AnalyticsHelper.mergeOptions(this.options.analyticsOptions, {\r\n actionType: UserAction.Edit,\r\n entity: EntityType.Resource,\r\n workflowPhase: WorkflowPhase.Start\r\n });\r\n\r\n const data = {\r\n id: this.model.get('id'),\r\n parentId: +this.options.videoId\r\n };\r\n\r\n AnalyticsHelper.logUserAction(data, analyticsOptions);\r\n }\r\n\r\n private onClickDelete(): void {\r\n const dialogHelper = new DialogHelper({\r\n title: LanguageService.getPhrase(this.lang, 'removeHeading'),\r\n text: LanguageService.getPhrase(this.lang, 'removeConfirm', {\r\n name: TextHelper.escapeExpression(this.model.get('name'))\r\n }),\r\n buttons: [{\r\n text: LanguageService.getPhrase(this.lang, 'remove'),\r\n className: 'btn btn-danger',\r\n success: true,\r\n }, {\r\n text: LanguageService.getPhrase(this.lang, 'cancel'),\r\n className: 'btn btn-secondary',\r\n close: true,\r\n }],\r\n channelName: RadioChannelHelper.generateUniqueChannelName(this)\r\n });\r\n\r\n dialogHelper.render().done(() => {\r\n const channel = Radio.channel(this.options.channelName);\r\n channel.trigger('delete:link', this.model.get('id'));\r\n });\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n styles,\r\n editable: this.options.editable,\r\n linkSvg: SvgHelper.getSvg(cvSvgLibrary.Link),\r\n editSvg: SvgHelper.getSvg(cvSvgLibrary.Edit),\r\n trashSvg: SvgHelper.getSvg(cvSvgLibrary.Delete)\r\n };\r\n }\r\n}","var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return \"<p>\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.emptyStateText : stack1), depth0))\n + \"</p>\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return \"<h5>\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.headingText : stack1), depth0))\n + \"</h5>\\r\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.emptyStateText : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\r\\n<div class=\\\"links-region\\\"></div>\";\n},\"useData\":true});","import { ObjectHash } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\r\n\r\nimport { Video } from 'shared/models/Video';\r\n\r\nimport { LinkItemComponent } from './LinkItemComponent';\r\nimport VideoLinksTemplate from './VideoLinks.hbs';\r\n\r\nexport interface VideoLinksComponentOptions extends Core.ComponentCollectionOptions {\r\n model?: Video;\r\n customCollection?: Core.Collection;\r\n videoId?: string;\r\n editable?: boolean;\r\n headingText?: string;\r\n emptyStateText?: string;\r\n analyticsOptions?: AnalyticsOptions;\r\n}\r\n\r\nexport class VideoLinksComponent extends Core.Component {\r\n public options: VideoLinksComponentOptions;\r\n\r\n constructor(options: VideoLinksComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'VideoLinksComponent';\r\n }\r\n\r\n public get template(): string {\r\n return VideoLinksTemplate;\r\n }\r\n\r\n public get className(): string {\r\n return this.options.customCollection ? '' : `py-3 border-top`;\r\n }\r\n\r\n public regions(): ObjectHash {\r\n return {\r\n links: {\r\n el: '.links-region',\r\n replaceElement: true\r\n }\r\n };\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return this.options;\r\n }\r\n\r\n public onRender(): void {\r\n this.showChildView('links', new LinkItemComponentCollection({\r\n collection: this.options.customCollection || this.model.get('links'),\r\n channelName: this.options.channelName,\r\n analyticsOptions: this.options.analyticsOptions,\r\n editable: this.options.editable,\r\n videoId: this.options.videoId,\r\n headingText: this.options.headingText,\r\n emptyStateText: this.options.emptyStateText\r\n }));\r\n }\r\n}\r\n\r\nclass LinkItemComponentCollection extends Core.ComponentCollection {\r\n public options: VideoLinksComponentOptions;\r\n\r\n constructor(options: VideoLinksComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'LinkItemComponentCollection';\r\n }\r\n\r\n public get childViewOptions(): VideoLinksComponentOptions {\r\n return this.options;\r\n }\r\n\r\n public get childView(): typeof LinkItemComponent {\r\n return LinkItemComponent;\r\n }\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"svgContainer\":\"cv--svgContainer--3T40U\",\"actionSvg\":\"cv--actionSvg--3FRzz\"};","var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable, alias2=container.lambda, alias3=container.escapeExpression;\n\n return \"<a class=\\\"float-right \"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.svgContainer : stack1), depth0))\n + \" \"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.actionSvg : stack1), depth0))\n + \" text-muted delete\\\">\"\n + ((stack1 = alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.trashSvg : stack1), depth0)) != null ? stack1 : \"\")\n + \"</a>\\r\\n<a class=\\\"float-right \"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.svgContainer : stack1), depth0))\n + \" \"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.actionSvg : stack1), depth0))\n + \" text-muted edit\\\">\"\n + ((stack1 = alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.editSvg : stack1), depth0)) != null ? stack1 : \"\")\n + \"</a>\\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper, alias1=container.propertyIsEnumerable, alias2=container.lambda, alias3=container.escapeExpression, alias4=depth0 != null ? depth0 : (container.nullContext || {}), alias5=container.hooks.helperMissing, alias6=\"function\";\n\n return \"<span title=\\\"\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.resourceType : stack1), depth0))\n + \"\\\" class=\\\"d-inline-block align-middle mr-2 \"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.iconClass : stack1), depth0))\n + \" \"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.svgContainer : stack1), depth0))\n + \"\\\">\"\n + ((stack1 = alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.svg : stack1), depth0)) != null ? stack1 : \"\")\n + \"</span>\\r\\n<a href=\\\"\"\n + alias3(((helper = (helper = helpers.url || (depth0 != null ? depth0.url : depth0)) != null ? helper : alias5),(typeof helper === alias6 ? helper.call(alias4,{\"name\":\"url\",\"hash\":{},\"data\":data}) : helper)))\n + \"?name=\"\n + alias3(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : alias5),(typeof helper === alias6 ? helper.call(alias4,{\"name\":\"name\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" class=\\\"align-middle\\\">\\r\\n \"\n + alias3(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : alias5),(typeof helper === alias6 ? helper.call(alias4,{\"name\":\"name\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\r\\n</a>\\r\\n\"\n + ((stack1 = helpers[\"if\"].call(alias4,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.editable : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"useData\":true});","import { Core } from 'libs/common/core';\r\nimport { ObjectHash, Radio } from 'backbone';\r\nimport { SvgHelper, cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\n\r\nimport styles from './resource-item.scss';\r\nimport ResourceItemTemplate from './ResourceItem.hbs';\r\nimport { VideoDetailsHelper } from 'apps/library-editor/utils/VideoDetailsHelper';\r\nimport { DialogHelper } from 'shared/utils';\r\nimport { Actions, AppChannels } from 'shared/constants';\r\nimport { AnalyticsOptions, EntityType, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nexport interface ResourceItemComponentOptions extends Core.ComponentOptions {\r\n editable: boolean;\r\n videoId: string;\r\n channelName: string;\r\n analyticsOptions?: AnalyticsOptions;\r\n}\r\n\r\nexport class ResourceItemComponent extends Core.Component {\r\n public options: ResourceItemComponentOptions;\r\n\r\n constructor(options: ResourceItemComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'ResourceItemComponent';\r\n }\r\n\r\n public get template(): any {\r\n return ResourceItemTemplate;\r\n }\r\n\r\n public get className(): string {\r\n return `mb-2`;\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.videoResources';\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n 'click .delete': 'onClickDelete',\r\n 'click .edit': 'onClickEdit'\r\n };\r\n }\r\n\r\n public get appLinks(): Core.AppLinkHash {\r\n return {\r\n '.edit': {\r\n application: AppChannels.LIBRARY_EDITOR,\r\n action: Actions.LibraryEditor.EDIT_RESOURCE,\r\n args: [ this.options.videoId, this.model.get('id') ]\r\n }\r\n };\r\n }\r\n\r\n // Log action and allow event to bubble\r\n private onClickEdit(): void {\r\n const analyticsOptions = AnalyticsHelper.mergeOptions(this.options.analyticsOptions, {\r\n actionType: UserAction.Edit,\r\n entity: EntityType.Resource,\r\n workflowPhase: WorkflowPhase.Start\r\n });\r\n\r\n const data = {\r\n id: this.model.get('id'),\r\n parentId: +this.options.videoId\r\n };\r\n\r\n AnalyticsHelper.logUserAction(data, analyticsOptions);\r\n }\r\n\r\n private onClickDelete(): void {\r\n const dialogHelper = new DialogHelper({\r\n title: LanguageService.getPhrase(this.lang, 'removeHeading'),\r\n text: LanguageService.getPhrase(this.lang, 'removeBody', {\r\n resourceName: this.model.get('name')\r\n }),\r\n buttons: [{\r\n text: LanguageService.getPhrase(this.lang, 'remove'),\r\n className: 'btn btn-danger',\r\n success: true,\r\n }, {\r\n text: LanguageService.getPhrase(this.lang, 'cancel'),\r\n className: 'btn btn-secondary',\r\n close: true,\r\n }],\r\n channelName: `${this.name}${this.cid}`\r\n });\r\n\r\n dialogHelper.render().done(() => {\r\n const channel = Radio.channel(this.options.channelName);\r\n channel.trigger('delete:resource', this.model.get('id'));\r\n });\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n const metadata = this.model.get('metadata');\r\n const fileType = metadata ? metadata.type : '';\r\n\r\n return {\r\n editable: this.options.editable,\r\n styles,\r\n extension: VideoDetailsHelper.mapTypeToExtension(fileType),\r\n svg: VideoDetailsHelper.mapTypeToSvg(fileType),\r\n iconClass: VideoDetailsHelper.mapTypeToClass(fileType),\r\n resourceType: VideoDetailsHelper.mapTypeToName(fileType),\r\n editSvg: SvgHelper.getSvg(cvSvgLibrary.Edit),\r\n trashSvg: SvgHelper.getSvg(cvSvgLibrary.Delete),\r\n };\r\n }\r\n}","var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return \"<p>\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.emptyStateText : stack1), depth0))\n + \"</p>\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return \"<h5>\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.resourcesHeadingText : stack1), depth0))\n + \"</h5>\\r\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.emptyStateText : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\r\\n<div class=\\\"resource-list-region\\\"></div>\";\n},\"useData\":true});","import * as _ from 'underscore';\r\nimport { Core } from 'libs/common/core';\r\nimport { ObjectHash } from 'backbone';\r\n\r\nimport { Video } from 'shared/models/Video';\r\nimport VideoResourcesTemplate from './VideoResources.hbs';\r\nimport { ResourceItemComponent, ResourceItemComponentOptions } from './ResourceItemComponent';\r\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\ninterface VideoResourcesComponentCollectionOptions extends Core.ComponentCollectionOptions {\r\n editable: boolean;\r\n videoId: string;\r\n channelName: string;\r\n analyticsOptions?: AnalyticsOptions;\r\n emptyStateText?: string;\r\n}\r\n\r\nexport class VideoResourcesComponentCollection extends Core.ComponentCollection {\r\n public options: VideoResourcesComponentCollectionOptions;\r\n\r\n constructor(options: VideoResourcesComponentCollectionOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'VideoResourcesComponentCollection';\r\n }\r\n\r\n public get className(): string {\r\n return 'mt-3';\r\n }\r\n\r\n public get childView(): typeof ResourceItemComponent {\r\n return ResourceItemComponent;\r\n }\r\n\r\n public get childViewOptions(): ResourceItemComponentOptions {\r\n return {\r\n editable: this.options.editable,\r\n videoId: this.options.videoId,\r\n channelName: this.options.channelName,\r\n analyticsOptions: this.options.analyticsOptions\r\n };\r\n }\r\n}\r\n\r\ninterface VideoResourcesComponentOptions extends Core.ComponentOptions<Video> {\r\n model: Video;\r\n parentChannelName?: string;\r\n customCollection?: Core.Collection;\r\n editable?: boolean;\r\n videoId?: string;\r\n headerText?: string;\r\n emptyStateText?: string;\r\n analyticsOptions?: AnalyticsOptions;\r\n}\r\n\r\nexport class VideoResourcesComponent extends Core.Component<Video> {\r\n public options: VideoResourcesComponentOptions;\r\n\r\n constructor(options: VideoResourcesComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'VideoResourcesComponent';\r\n }\r\n\r\n public get template(): any {\r\n return VideoResourcesTemplate;\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.videoResources';\r\n }\r\n\r\n public get channelName(): string {\r\n return `${this.name}${this.cid}`;\r\n }\r\n\r\n public get className(): string {\r\n return this.options.customCollection ? '' : `py-3 border-top`;\r\n }\r\n\r\n public regions(): ObjectHash {\r\n return {\r\n resources: {\r\n replaceElement: true,\r\n el: '.resource-list-region',\r\n }\r\n };\r\n }\r\n\r\n private renderResources(): void {\r\n const resourceItemComponent = new VideoResourcesComponentCollection({\r\n collection: this.options.customCollection || this.model.resources,\r\n editable: this.options.editable || false,\r\n videoId: this.options.videoId || this.model.get('id'),\r\n channelName: this.options.parentChannelName || this.channelName\r\n });\r\n\r\n this.showChildView('resources', resourceItemComponent);\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n resourcesHeadingText: this.options.headerText || LanguageService.getPhrase(this.lang, 'heading'),\r\n emptyStateText: this.options.emptyStateText\r\n };\r\n }\r\n\r\n public onRender(): void {\r\n this.renderResources();\r\n }\r\n}\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"svgContainer\":\"cv--svgContainer--_uEVJ\",\"actionSvg\":\"cv--actionSvg--1oLg0\"};"],"sourceRoot":""}
1
+ {"version":3,"sources":["file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/components/edit-links/LinkItem.hbs","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/components/edit-links/LinkItemComponent.ts","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/components/edit-links/VideoLinks.hbs","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/components/edit-links/VideoLinksComponent.ts","webpack://@clickview/library-editor/./src/apps/library-editor/components/edit-links/link-item.scss?713b","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/components/video-resources/ResourceItem.hbs","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/components/video-resources/ResourceItemComponent.ts","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/components/video-resources/VideoResources.hbs","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/components/video-resources/VideoResourcesComponent.ts","webpack://@clickview/library-editor/./src/apps/library-editor/components/video-resources/resource-item.scss?a446"],"names":[],"mappings":"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","file":"scripts/33.chunk.js","sourcesContent":["var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable, alias2=container.lambda, alias3=container.escapeExpression;\n\n return \"<a class=\\\"float-right \"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.svgContainer : stack1), depth0))\n + \" \"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.actionSvg : stack1), depth0))\n + \" text-muted delete\\\">\"\n + ((stack1 = alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.trashSvg : stack1), depth0)) != null ? stack1 : \"\")\n + \"</a>\\r\\n<a class=\\\"float-right \"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.svgContainer : stack1), depth0))\n + \" \"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.actionSvg : stack1), depth0))\n + \" text-muted edit\\\">\"\n + ((stack1 = alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.editSvg : stack1), depth0)) != null ? stack1 : \"\")\n + \"</a>\\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper, alias1=container.propertyIsEnumerable, alias2=container.lambda, alias3=container.escapeExpression, alias4=depth0 != null ? depth0 : (container.nullContext || {}), alias5=container.hooks.helperMissing, alias6=\"function\";\n\n return \"<span class=\\\"d-inline-block align-middle mr-2 icon-blue \"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.svgContainer : stack1), depth0))\n + \"\\\">\"\n + ((stack1 = alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.linkSvg : stack1), depth0)) != null ? stack1 : \"\")\n + \"</span>\\r\\n<a href=\\\"\"\n + alias3(((helper = (helper = helpers.url || (depth0 != null ? depth0.url : depth0)) != null ? helper : alias5),(typeof helper === alias6 ? helper.call(alias4,{\"name\":\"url\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" target=\\\"_blank\\\" class=\\\"align-middle info-link\\\">\\r\\n \"\n + alias3(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : alias5),(typeof helper === alias6 ? helper.call(alias4,{\"name\":\"name\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\r\\n</a>\\r\\n\"\n + ((stack1 = helpers[\"if\"].call(alias4,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.editable : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"useData\":true});","import { ObjectHash, Radio } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { SvgHelper, cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\nimport { UserAction, EntityType, WorkflowPhase } from 'libs/analytics/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\n\r\nimport { DialogHelper, RadioChannelHelper, TextHelper } from 'shared/utils';\r\nimport { AppChannels, Actions } from 'shared/constants';\r\n\r\nimport { VideoLinksComponentOptions } from './VideoLinksComponent';\r\nimport LinkItemTemplate from './LinkItem.hbs';\r\nimport styles from './link-item.scss';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\n\r\nexport class LinkItemComponent extends Core.Component {\r\n public options: VideoLinksComponentOptions;\r\n\r\n constructor(options: VideoLinksComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'LinkItemComponent';\r\n }\r\n\r\n public get template(): string {\r\n return LinkItemTemplate;\r\n }\r\n\r\n public get className(): string {\r\n return 'mb-2';\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.editLinks';\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n 'click .delete': 'onClickDelete',\r\n 'click .edit': 'onClickEdit'\r\n };\r\n }\r\n\r\n public get appLinks(): Core.AppLinkHash {\r\n return {\r\n '.edit': {\r\n application: AppChannels.LIBRARY_EDITOR,\r\n action: Actions.LibraryEditor.EDIT_LINK,\r\n args: [ this.options.videoId, this.model.get('id') ]\r\n }\r\n };\r\n }\r\n\r\n private onClickEdit(): void {\r\n const analyticsOptions = AnalyticsHelper.mergeOptions(this.options.analyticsOptions, {\r\n actionType: UserAction.Edit,\r\n entity: EntityType.Resource,\r\n workflowPhase: WorkflowPhase.Start\r\n });\r\n\r\n const data = {\r\n id: this.model.get('id'),\r\n parentId: +this.options.videoId\r\n };\r\n\r\n AnalyticsHelper.logUserAction(data, analyticsOptions);\r\n }\r\n\r\n private onClickDelete(): void {\r\n const dialogHelper = new DialogHelper({\r\n title: LanguageService.getPhrase(this.lang, 'removeHeading'),\r\n text: LanguageService.getPhrase(this.lang, 'removeConfirm', {\r\n name: TextHelper.escapeExpression(this.model.get('name'))\r\n }),\r\n buttons: [{\r\n text: LanguageService.getPhrase(this.lang, 'remove'),\r\n className: 'btn btn-danger',\r\n success: true,\r\n }, {\r\n text: LanguageService.getPhrase(this.lang, 'cancel'),\r\n className: 'btn btn-secondary',\r\n close: true,\r\n }],\r\n channelName: RadioChannelHelper.generateUniqueChannelName(this)\r\n });\r\n\r\n dialogHelper.render().done(() => {\r\n const channel = Radio.channel(this.options.channelName);\r\n channel.trigger('delete:link', this.model.get('id'));\r\n });\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n styles,\r\n editable: this.options.editable,\r\n linkSvg: SvgHelper.getSvg(cvSvgLibrary.Link),\r\n editSvg: SvgHelper.getSvg(cvSvgLibrary.Edit),\r\n trashSvg: SvgHelper.getSvg(cvSvgLibrary.Delete)\r\n };\r\n }\r\n}","var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return \"<p>\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.emptyStateText : stack1), depth0))\n + \"</p>\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return \"<h5>\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.headingText : stack1), depth0))\n + \"</h5>\\r\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.emptyStateText : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\r\\n<div class=\\\"links-region\\\"></div>\";\n},\"useData\":true});","import { ObjectHash } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\r\n\r\nimport { Video } from 'shared/models/Video';\r\n\r\nimport { LinkItemComponent } from './LinkItemComponent';\r\nimport VideoLinksTemplate from './VideoLinks.hbs';\r\n\r\nexport interface VideoLinksComponentOptions extends Core.ComponentCollectionOptions {\r\n model?: Video;\r\n customCollection?: Core.Collection;\r\n videoId?: string;\r\n editable?: boolean;\r\n headingText?: string;\r\n emptyStateText?: string;\r\n analyticsOptions?: AnalyticsOptions;\r\n}\r\n\r\nexport class VideoLinksComponent extends Core.Component {\r\n public options: VideoLinksComponentOptions;\r\n\r\n constructor(options: VideoLinksComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'VideoLinksComponent';\r\n }\r\n\r\n public get template(): string {\r\n return VideoLinksTemplate;\r\n }\r\n\r\n public get className(): string {\r\n return this.options.customCollection ? '' : `py-3 border-top`;\r\n }\r\n\r\n public regions(): ObjectHash {\r\n return {\r\n links: {\r\n el: '.links-region',\r\n replaceElement: true\r\n }\r\n };\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return this.options;\r\n }\r\n\r\n public onRender(): void {\r\n this.showChildView('links', new LinkItemComponentCollection({\r\n collection: this.options.customCollection || this.model.get('links'),\r\n channelName: this.options.channelName,\r\n analyticsOptions: this.options.analyticsOptions,\r\n editable: this.options.editable,\r\n videoId: this.options.videoId,\r\n headingText: this.options.headingText,\r\n emptyStateText: this.options.emptyStateText\r\n }));\r\n }\r\n}\r\n\r\nclass LinkItemComponentCollection extends Core.ComponentCollection {\r\n public options: VideoLinksComponentOptions;\r\n\r\n constructor(options: VideoLinksComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'LinkItemComponentCollection';\r\n }\r\n\r\n public get childViewOptions(): VideoLinksComponentOptions {\r\n return this.options;\r\n }\r\n\r\n public get childView(): typeof LinkItemComponent {\r\n return LinkItemComponent;\r\n }\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"svgContainer\":\"cv--svgContainer--3T40U\",\"actionSvg\":\"cv--actionSvg--3FRzz\"};","var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable, alias2=container.lambda, alias3=container.escapeExpression;\n\n return \"<a class=\\\"float-right \"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.svgContainer : stack1), depth0))\n + \" \"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.actionSvg : stack1), depth0))\n + \" text-muted delete\\\">\"\n + ((stack1 = alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.trashSvg : stack1), depth0)) != null ? stack1 : \"\")\n + \"</a>\\r\\n<a class=\\\"float-right \"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.svgContainer : stack1), depth0))\n + \" \"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.actionSvg : stack1), depth0))\n + \" text-muted edit\\\">\"\n + ((stack1 = alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.editSvg : stack1), depth0)) != null ? stack1 : \"\")\n + \"</a>\\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper, alias1=container.propertyIsEnumerable, alias2=container.lambda, alias3=container.escapeExpression, alias4=depth0 != null ? depth0 : (container.nullContext || {}), alias5=container.hooks.helperMissing, alias6=\"function\";\n\n return \"<span title=\\\"\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.resourceType : stack1), depth0))\n + \"\\\" class=\\\"d-inline-block align-middle mr-2 \"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.iconClass : stack1), depth0))\n + \" \"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.svgContainer : stack1), depth0))\n + \"\\\">\"\n + ((stack1 = alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.svg : stack1), depth0)) != null ? stack1 : \"\")\n + \"</span>\\r\\n<a href=\\\"\"\n + alias3(((helper = (helper = helpers.url || (depth0 != null ? depth0.url : depth0)) != null ? helper : alias5),(typeof helper === alias6 ? helper.call(alias4,{\"name\":\"url\",\"hash\":{},\"data\":data}) : helper)))\n + \"?name=\"\n + alias3(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : alias5),(typeof helper === alias6 ? helper.call(alias4,{\"name\":\"name\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" class=\\\"align-middle\\\">\\r\\n \"\n + alias3(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : alias5),(typeof helper === alias6 ? helper.call(alias4,{\"name\":\"name\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\r\\n</a>\\r\\n\"\n + ((stack1 = helpers[\"if\"].call(alias4,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.editable : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"useData\":true});","import { Core } from 'libs/common/core';\r\nimport { ObjectHash, Radio } from 'backbone';\r\nimport { SvgHelper, cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\n\r\nimport styles from './resource-item.scss';\r\nimport ResourceItemTemplate from './ResourceItem.hbs';\r\nimport { VideoDetailsHelper } from 'apps/library-editor/utils/VideoDetailsHelper';\r\nimport { DialogHelper } from 'shared/utils';\r\nimport { Actions, AppChannels } from 'shared/constants';\r\nimport { AnalyticsOptions, EntityType, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nexport interface ResourceItemComponentOptions extends Core.ComponentOptions {\r\n editable: boolean;\r\n videoId: string;\r\n channelName: string;\r\n analyticsOptions?: AnalyticsOptions;\r\n}\r\n\r\nexport class ResourceItemComponent extends Core.Component {\r\n public options: ResourceItemComponentOptions;\r\n\r\n constructor(options: ResourceItemComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'ResourceItemComponent';\r\n }\r\n\r\n public get template(): any {\r\n return ResourceItemTemplate;\r\n }\r\n\r\n public get className(): string {\r\n return `mb-2`;\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.videoResources';\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n 'click .delete': 'onClickDelete',\r\n 'click .edit': 'onClickEdit'\r\n };\r\n }\r\n\r\n public get appLinks(): Core.AppLinkHash {\r\n return {\r\n '.edit': {\r\n application: AppChannels.LIBRARY_EDITOR,\r\n action: Actions.LibraryEditor.EDIT_RESOURCE,\r\n args: [ this.options.videoId, this.model.get('id') ]\r\n }\r\n };\r\n }\r\n\r\n // Log action and allow event to bubble\r\n private onClickEdit(): void {\r\n const analyticsOptions = AnalyticsHelper.mergeOptions(this.options.analyticsOptions, {\r\n actionType: UserAction.Edit,\r\n entity: EntityType.Resource,\r\n workflowPhase: WorkflowPhase.Start\r\n });\r\n\r\n const data = {\r\n id: this.model.get('id'),\r\n parentId: +this.options.videoId\r\n };\r\n\r\n AnalyticsHelper.logUserAction(data, analyticsOptions);\r\n }\r\n\r\n private onClickDelete(): void {\r\n const dialogHelper = new DialogHelper({\r\n title: LanguageService.getPhrase(this.lang, 'removeHeading'),\r\n text: LanguageService.getPhrase(this.lang, 'removeBody', {\r\n resourceName: this.model.get('name')\r\n }),\r\n buttons: [{\r\n text: LanguageService.getPhrase(this.lang, 'remove'),\r\n className: 'btn btn-danger',\r\n success: true,\r\n }, {\r\n text: LanguageService.getPhrase(this.lang, 'cancel'),\r\n className: 'btn btn-secondary',\r\n close: true,\r\n }],\r\n channelName: `${this.name}${this.cid}`\r\n });\r\n\r\n dialogHelper.render().done(() => {\r\n const channel = Radio.channel(this.options.channelName);\r\n channel.trigger('delete:resource', this.model.get('id'));\r\n });\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n const metadata = this.model.get('metadata');\r\n const fileType = metadata ? metadata.type : '';\r\n\r\n return {\r\n editable: this.options.editable,\r\n styles,\r\n extension: VideoDetailsHelper.mapTypeToExtension(fileType),\r\n svg: VideoDetailsHelper.mapTypeToSvg(fileType),\r\n iconClass: VideoDetailsHelper.mapTypeToClass(fileType),\r\n resourceType: VideoDetailsHelper.mapTypeToName(fileType),\r\n editSvg: SvgHelper.getSvg(cvSvgLibrary.Edit),\r\n trashSvg: SvgHelper.getSvg(cvSvgLibrary.Delete),\r\n };\r\n }\r\n}","var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return \"<p>\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.emptyStateText : stack1), depth0))\n + \"</p>\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return \"<h5>\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.resourcesHeadingText : stack1), depth0))\n + \"</h5>\\r\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.emptyStateText : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\r\\n<div class=\\\"resource-list-region\\\"></div>\";\n},\"useData\":true});","import * as _ from 'underscore';\r\nimport { Core } from 'libs/common/core';\r\nimport { ObjectHash } from 'backbone';\r\n\r\nimport { Video } from 'shared/models/Video';\r\nimport VideoResourcesTemplate from './VideoResources.hbs';\r\nimport { ResourceItemComponent, ResourceItemComponentOptions } from './ResourceItemComponent';\r\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\ninterface VideoResourcesComponentCollectionOptions extends Core.ComponentCollectionOptions {\r\n editable: boolean;\r\n videoId: string;\r\n channelName: string;\r\n analyticsOptions?: AnalyticsOptions;\r\n emptyStateText?: string;\r\n}\r\n\r\nexport class VideoResourcesComponentCollection extends Core.ComponentCollection {\r\n public options: VideoResourcesComponentCollectionOptions;\r\n\r\n constructor(options: VideoResourcesComponentCollectionOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'VideoResourcesComponentCollection';\r\n }\r\n\r\n public get className(): string {\r\n return 'mt-3';\r\n }\r\n\r\n public get childView(): typeof ResourceItemComponent {\r\n return ResourceItemComponent;\r\n }\r\n\r\n public get childViewOptions(): ResourceItemComponentOptions {\r\n return {\r\n editable: this.options.editable,\r\n videoId: this.options.videoId,\r\n channelName: this.options.channelName,\r\n analyticsOptions: this.options.analyticsOptions\r\n };\r\n }\r\n}\r\n\r\ninterface VideoResourcesComponentOptions extends Core.ComponentOptions<Video> {\r\n model: Video;\r\n parentChannelName?: string;\r\n customCollection?: Core.Collection;\r\n editable?: boolean;\r\n videoId?: string;\r\n headerText?: string;\r\n emptyStateText?: string;\r\n analyticsOptions?: AnalyticsOptions;\r\n}\r\n\r\nexport class VideoResourcesComponent extends Core.Component<Video> {\r\n public options: VideoResourcesComponentOptions;\r\n\r\n constructor(options: VideoResourcesComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'VideoResourcesComponent';\r\n }\r\n\r\n public get template(): any {\r\n return VideoResourcesTemplate;\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.videoResources';\r\n }\r\n\r\n public get channelName(): string {\r\n return `${this.name}${this.cid}`;\r\n }\r\n\r\n public get className(): string {\r\n return this.options.customCollection ? '' : `py-3 border-top`;\r\n }\r\n\r\n public regions(): ObjectHash {\r\n return {\r\n resources: {\r\n replaceElement: true,\r\n el: '.resource-list-region',\r\n }\r\n };\r\n }\r\n\r\n private renderResources(): void {\r\n const resourceItemComponent = new VideoResourcesComponentCollection({\r\n collection: this.options.customCollection || this.model.resources,\r\n editable: this.options.editable || false,\r\n videoId: this.options.videoId || this.model.get('id'),\r\n channelName: this.options.parentChannelName || this.channelName\r\n });\r\n\r\n this.showChildView('resources', resourceItemComponent);\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n resourcesHeadingText: this.options.headerText || LanguageService.getPhrase(this.lang, 'heading'),\r\n emptyStateText: this.options.emptyStateText\r\n };\r\n }\r\n\r\n public onRender(): void {\r\n this.renderResources();\r\n }\r\n}\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"svgContainer\":\"cv--svgContainer--_uEVJ\",\"actionSvg\":\"cv--actionSvg--1oLg0\"};"],"sourceRoot":""}
@@ -1 +1 @@
1
- (window.webpackJsonp_clickview_library_editor=window.webpackJsonp_clickview_library_editor||[]).push([[34],{1019:function(e,t,n){"use strict";n.d(t,"a",(function(){return d}));var r=n(2),i=n(244);function a(e){return(a="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 o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function u(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 c(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=f(e);if(t){var i=f(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return l(this,n)}}function l(e,t){return!t||"object"!==a(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 f(e){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var d=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,r,a=c(l);function l(){return o(this,l),a.apply(this,arguments)}return t=l,(n=[{key:"defaults",value:function(){return e={},t=i.c.Disabled,n=!0,t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e;var e,t,n}}])&&u(t.prototype,n),r&&u(t,r),l}(r.a.Model)},1022:function(e,t,n){"use strict";n.d(t,"a",(function(){return d})),n.d(t,"k",(function(){return p})),n.d(t,"g",(function(){return g})),n.d(t,"e",(function(){return h})),n.d(t,"j",(function(){return b})),n.d(t,"i",(function(){return v})),n.d(t,"c",(function(){return E})),n.d(t,"b",(function(){return w})),n.d(t,"d",(function(){return k})),n.d(t,"f",(function(){return P})),n.d(t,"h",(function(){return y}));var r=n(2),i=n(1),a=n(19),o=n(29),u=n(3),s="libraryEditor.utils",c=["tags","thumbnail","chapters","resources","subtitles","disabled","links","restrictions","categories"];function l(e,t){if(e){var n=i.reduce(e,(function(e,n,r){var a=t[r];return n||a?i.isObject(n)&&i.isObject(a)&&!i.isUndefined(n.id)&&n.id===a.id?e:i.isArray(n)?f(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,f(e[n],t[n])]:[n,t[n]]})))}}function f(e,t){var n=[];return i.each(t,(function(t){var r=i.findWhere(e,{id:t.id});if(!i.isUndefined(r)||0!==Object.keys(t).length){var 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 d={getChanges:function(e,t){var n=l(i.omit(e.toJSON(),c),i.omit(t.toJSON(),c));if(n)return i.object(i.map(i.keys(n),(function(e){return[e,d.formatChanges(e,n[e])]})))},formatChanges:function(e,t){if(!t)return null;if(i.isObject(t)&&i.isEmpty(t))return null;switch(e){case"name":case"description":case"productionYear":case"dateBroadcast":case"fields":case"episodeNumber":return t;case"channel":case"series":case"rating":case"season":return{id:t.id};case"distributors":case"producers":case"directors":case"productionCompanies":return i.map(t,(function(e){return e.id}));case"dateModified":case"hasBroadcast":return;default:r.a.ErrorHelper.throw(new 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 u=e.get(o);(u instanceof r.a.Model||u instanceof r.a.NestedModel)&&u.clear()}}},getRemovedObjectIds:function(e,t){var n=["distributors","productionCompanies","producers","directors"],r={};return i.each(i.keys(e.toJSON()),(function(a){if(i.contains(n,a)){var o=e.get(a).map((function(e){return e.id})),u=t.get(a).map((function(e){return e.id})),s=i.filter(o,(function(e){return e&&!i.contains(u,e)}));s.length&&(r[a]=s)}})),r}},p={name:[{required:!0,msg:function(){return u.a.getPhrase(s,"videoTitleRequired")}},{maxLength:255,msg:function(){return u.a.getPhrase(s,"videoTitleExceeds")}}],description:[{required:!1},{maxLength:65535,msg:function(){return u.a.getPhrase(s,"videoDescriptionExceeds")}}],episodeNumber:function(e,t,n){return e&&e<1?u.a.getPhrase(s,"episodeNumberLessThanOne"):e&&e>2147483647?u.a.getPhrase(s,"episodeNumberExceeds"):e%1!=0?u.a.getPhrase(s,"episodeNumberNotWhole"):n.season&&n.season.get("number")>=0&&null===e?u.a.getPhrase(s,"episodeNumberNoSeason"):""},season:function(e,t,n){return n.season&&n.season.get("number")||e&&e.number||!n.episodeNumber?"":u.a.getPhrase(s,"seasonNoEpisodeNumber")}},m=o().year(),h={productionYear:function(e,t,n){return e||0===e?(e=+e,isNaN(e)?"Production year must be a number.":e<1900||e>m?u.a.getPhrase(s,"validProductionYears",{currentYear:m}):void 0):""}},g={name:[{required:!0,msg:function(){return u.a.getPhrase(s,"resourceNameRequired")}}]},b={suggestion:[{required:!0,msg:function(){return u.a.getPhrase(s,"suggestEditRequired")}},{maxLength:65535,msg:function(){return u.a.getPhrase(s,"suggestEditExceeds")}}],reason:[{required:!0,msg:function(){return u.a.getPhrase(s,"suggestEditReasonRequired")}},{maxLength:65535,msg:function(){return u.a.getPhrase(s,"suggestEditReasonExceeds")}}]},y={number:function(e,t,n){return e?+e<1?u.a.getPhrase(s,"seasonLessThanOne"):+e>255?u.a.getPhrase(s,"seasonExceeds"):+e%1!=0?u.a.getPhrase(s,"seasonNotWhole"):"":u.a.getPhrase(s,"seasonRequired")}},v={empty:function(){return u.a.getPhrase(s,"suggestEditRatingRequired")},original:function(){return u.a.getPhrase(s,"suggestEditRatingInvalid")}},P={url:[{required:!0,pattern:"url",msg:function(){return u.a.getPhrase(s,"linkUrlRequired")}},{maxLength:65535,msg:function(){return u.a.getPhrase(s,"linkUrlExceeds")}}],name:[{required:!0,msg:function(){return u.a.getPhrase(s,"linkNameRequired")}},{maxLength:255,msg:function(){return u.a.getPhrase(s,"linkNameExceeds")}}]},E={name:[{maxLength:128,msg:function(){return u.a.getPhrase(s,"fieldNameExceeds")}}],value:[{maxLength:16e3,msg:function(){return u.a.getPhrase(s,"fieldValueExceeds")}}]},w={fields:function(e){return e&&e.length?e.all((function(e){return!1!==e.isValid()}))?"":u.a.getPhrase(s,"fieldsInvalid"):""}};function 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)),u=n(75),s={getVideoDownloadUrl:function(e,t){return u.a.safeUrlConcat(u.a.makeHttps(e),"/download?token=".concat(t))}};n.d(t,"a",(function(){return r.a})),n.d(t,"e",(function(){return i.g})),n.d(t,"h",(function(){return i.j})),n.d(t,"g",(function(){return i.i})),n.d(t,"d",(function(){return i.f})),n.d(t,"f",(function(){return i.h})),n.d(t,"c",(function(){return a.a})),n.d(t,"i",(function(){return o.a})),n.d(t,"b",(function(){return s}))},1027:function(e,t,n){"use strict";n.d(t,"a",(function(){return l}));var r=n(1),i=n(49),a=n(159),o=n(3),u="libraryEditor.utils",s={name:[{required:!0,msg:function(){return o.a.getPhrase(u,"folderNameRequired")}},{maxLength:255,msg:function(){return o.a.getPhrase(u,"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(u,"maxFolderDepth",{maxDepth:a.a.MAX_FOLDER_DEPTH}):"":o.a.getPhrase(u,"selectParentFolder")}}},l=function(e){var t=e.validateName,n=e.validateParent,i=e.folder,a=e.collection;return t&&n?r.extend({},s,c(i,a)):t?s:n?c(i,a):void 0}},1028:function(e,t,n){"use strict";n.d(t,"a",(function(){return f}));var r=n(15),i=n(3),a=n(185),o=n(1040),u=n(6);function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var c,l="libraryEditor.utils";!function(e){e.Pdf="pdf",e.Image="image",e.PowerPoint="powerpoint",e.Document="document",e.Excel="excel",e.Zip="archive",e.File="text"}(c||(c={}));var f={mapRatingToClass:function(e){if(!e)return"";return function(e){switch(!0){case e<32:return"bg-purple";case e<48:return"bg-success";case e<80:return"bg-info";case e<96:return"bg-danger";case e<128:return"bg-pink";case e>=128:return"bg-warning";default:return""}}(e)},mapSourceToDisplayName:function(e){switch(e.get("type")){case u.h.HostedLibrary:case u.h.CustomLibrary:return e.get("name");case u.h.Exchange:return i.a.getPhrase(l,"exchange");case u.h.Workspace:return i.a.getPhrase(l,"workspace");default:return""}},mapSourceToClass:function(e){switch(e){case u.h.HostedLibrary:case u.h.CustomLibrary:return"bg-info";case u.h.Exchange:return"bg-success";case u.h.Workspace:default:return"bg-danger"}},isInteractive:function(e){return!(!e||!e.interactives)&&!!e.interactives.length},mapTypeToSvg:function(e){var t,n=(s(t={},c.Pdf,r.b.FilePDF),s(t,c.Image,r.b.FileImg),s(t,c.PowerPoint,r.b.FilePowerpoint),s(t,c.Document,r.b.FileWord),s(t,c.Excel,r.b.FileExcel),s(t,c.Zip,r.b.FileZip),s(t,c.File,r.b.File),t)[e];return n||(n=r.b.Folder),r.a.getSvg(n)},mapTypeToClass:function(e){switch(e){case c.Pdf:return"icon-red";case c.Image:return"icon-purple";case c.Document:return"icon-blue";case c.Excel:return"icon-green";case c.PowerPoint:return"icon-orange";case c.Zip:return"icon-teal";case c.File:return"icon-gray";default:return""}},mapTypeToExtension:function(e){if(!e)return"";return{pdf:"pdf",image:"png",powerpoint:"pptx"}[e.toLowerCase()]},mapTypeToName:function(e){if(!e)return"";switch(e){case c.Pdf:return i.a.getPhrase(l,"pdf");case c.Image:return i.a.getPhrase(l,"image");case c.Document:return i.a.getPhrase(l,"document");case c.Excel:return i.a.getPhrase(l,"spreadsheet");case c.PowerPoint:return i.a.getPhrase(l,"presentation");case c.Zip:return i.a.getPhrase(l,"zipArchive");case c.File:return i.a.getPhrase(l,"file");default:return""}},translateMetadataCollectionNames:function(e){return new o.a(e.map((function(e){return Object.assign(Object.assign({},e.toJSON()),{name:f.translateMetadataName(e.get("name"))})})))},translateMetadataName:function(e){var t="suggestEdit";switch(e){case 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 u}));var r=n(1),i=n(13),a=n(3),o="libraryEditor.utils",u={isValidChapterTime:function(e,t,n,a){if(a){if(!r.isNumber(t))return s.StartTime.Invalid();if(t<0)return s.StartTime.Invalid();if(t>i.w.millisecondsToSeconds(n))return s.StartTime.Exceeds();if(a.some((function(n){return!(n.id&&n.id===e.id||n.cid===e.cid)&&n.get("startTime")===t})))return s.StartTime.Exists()}},isValidChapterName:function(e,t,n){return t?t.length>255?s.Name.MaxLength():n.some((function(n){return!(n.id&&n.id===e.id||n.cid===e.cid)&&n.get("name").trim()===t.trim()}))?s.Name.Exists():r.isEmpty(t.trim())?s.Name.Invalid():void 0:s.Name.Invalid()},mapPhysicalChapters:function(e){var t=0;return r.map(e,(function(e,n){var r={name:e.title,startTime:t,index:n,isPhysicalChapter:!0};return t+=e.duration,r}))}},s={Name:{Invalid:function(){return 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 u}));var r=n(29),i=n(3),a=n(1022),o="libraryEditor.utils",u=(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=s(e);if(t){var i=s(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return u(this,n)}}function u(e,t){return!t||"object"!==r(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function s(e){return(s=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}n.d(t,"a",(function(){return c}));var c=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&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)},1301:function(e,t,n){var r=n(10);e.exports=(r.default||r).template({1:function(e,t,n,r,i){var a;e.propertyIsEnumerable;return(null!=(a=e.lambda(null!=(a=null!=t?t.options:t)?a.spinnerEl:a,t))?a:"")+"\r\n"},3:function(e,t,n,r,i){return'<form>\r\n <div class="form-group">\r\n <label for="url" class="control-label">URL</label>\r\n <input name="url" id="url" type="text" class="form-control" placeholder="URL" autocomplete="off" autofocus/>\r\n <div class="form-feedback"></div>\r\n </div>\r\n <div class="form-group">\r\n <label for="name" class="control-label">Name</label>\r\n <input name="name" id="name" type="text" class="form-control" placeholder="Name" autocomplete="off" autofocus/>\r\n <div class="form-feedback"></div>\r\n </div>\r\n</form>\r\n'},compiler:[8,">= 4.3.0"],main:function(e,t,n,r,i){var a;e.propertyIsEnumerable;return null!=(a=n.unless.call(null!=t?t:e.nullContext||{},null!=(a=null!=t?t.options:t)?a.dataFetched:a,{name:"unless",hash:{},fn:e.program(1,i,0),inverse:e.program(3,i,0),data:i}))?a:""},useData:!0})},1421:function(e,t,n){"use strict";n.r(t),n.d(t,"EditLinkView",(function(){return k}));var r=n(7),i=n(2),a=n(5),o=n(30),u=n(42),s=n(281),c=n(244),l=n(13),f=n(0),d=n(181),p=n(1019),m=n(1023),h=n(1301),g=n.n(h);function b(e){return(b="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 y(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 v(e,t){return(v=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function P(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=w(e);if(t){var i=w(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return E(this,n)}}function E(e,t){return!t||"object"!==b(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 w(e){return(w=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var k=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&&v(e,t)}(E,e);var t,n,h,b=P(E);function E(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,E),b.call(this,e)}return t=E,(n=[{key:"initialize",value:function(){this.listenTo(f.e.LINK,"link:".concat(this.options.linkId,":sync"),this.render),this.linkDataService=a.a.getInstance(f.g.Link,this)}},{key:"events",value:function(){return{submit:"onSubmit"}}},{key:"onSubmit",value:function(e){var t=this;e&&e.preventDefault(),this.viewModel.validate(),!1!==this.viewModel.isValid()&&(r.Radio.channel(this.channelName).trigger(c.b.ShowSpinner),this.linkDataService.updateLink(this.options.videoId,this.viewModel,(function(){t.logAction(),i.a.AppLinkHelper.trigger({application:f.b.LIBRARY_EDITOR,action:f.a.LibraryEditor.EDIT_VIDEO_RESOURCES,args:[t.options.videoId]})})))}},{key:"logAction",value:function(){var e={id:this.options.linkId,parentId:+this.options.videoId,name:this.viewModel.get("name")};u.a.logUserAction(e,this.options.analyticsOptions)}},{key:"dataFetched",value:function(){return!!this.model&&!!this.viewModel}},{key:"onBeforeRender",value:function(){var e=this;this.model=this.linkDataService.getLink(this.options.linkId,(function(t){e.viewModel=o.a.get("link:".concat(e.options.linkId),t.toJSON(),{ctor:d.a}),e.viewModel.addValidation(m.d)})),this.dataFetched()&&this.spinnerModel.set(c.c.Disabled,!1)}},{key:"viewOptions",value:function(){return{dataFetched:this.dataFetched(),spinnerEl:l.q.getSpinner({size:l.r.Large,extraClasses:"mx-auto"})}}},{key:"onRender",value:function(){this.viewModel&&(this.stickit(this.viewModel),r.Validation.bind(this,{model:this.viewModel}))}},{key:"onClose",value:function(){this.unstickit()}},{key:"name",get:function(){return"EditLinkView"}},{key:"title",get:function(){return"Edit link"}},{key:"template",get:function(){return g.a}},{key:"channelName",get:function(){return l.k.generateUniqueChannelName(this)}},{key:"bindings",get:function(){return{"[name=url]":{observe:"url",setOptions:{validate:!0}},"[name=name]":{observe:"name",setOptions:{validate:!0}}}}},{key:"behaviors",get:function(){var e=this;return[{behaviorClass:s.f,title:"Edit link",spinnerButtonOptions:{channelName:this.channelName,model:this.spinnerModel=new p.a,buttonText:"Save",onClick:function(t){return e.onSubmit(t)}}}]}}])&&y(t.prototype,n),h&&y(t,h),E}(i.a.View)}}]);
1
+ (window.webpackJsonp_clickview_library_editor=window.webpackJsonp_clickview_library_editor||[]).push([[34],{1023:function(e,t,n){"use strict";n.d(t,"a",(function(){return d}));var r=n(2),i=n(244);function a(e){return(a="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 o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function u(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 c(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=f(e);if(t){var i=f(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return l(this,n)}}function l(e,t){return!t||"object"!==a(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 f(e){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var d=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,r,a=c(l);function l(){return o(this,l),a.apply(this,arguments)}return t=l,(n=[{key:"defaults",value:function(){return e={},t=i.c.Disabled,n=!0,t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e;var e,t,n}}])&&u(t.prototype,n),r&&u(t,r),l}(r.a.Model)},1026:function(e,t,n){"use strict";n.d(t,"a",(function(){return d})),n.d(t,"k",(function(){return p})),n.d(t,"g",(function(){return g})),n.d(t,"e",(function(){return h})),n.d(t,"j",(function(){return b})),n.d(t,"i",(function(){return v})),n.d(t,"c",(function(){return E})),n.d(t,"b",(function(){return w})),n.d(t,"d",(function(){return k})),n.d(t,"f",(function(){return P})),n.d(t,"h",(function(){return y}));var r=n(2),i=n(1),a=n(19),o=n(29),u=n(3),s="libraryEditor.utils",c=["tags","thumbnail","chapters","resources","subtitles","disabled","links","restrictions","categories"];function l(e,t){if(e){var n=i.reduce(e,(function(e,n,r){var a=t[r];return n||a?i.isObject(n)&&i.isObject(a)&&!i.isUndefined(n.id)&&n.id===a.id?e:i.isArray(n)?f(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,f(e[n],t[n])]:[n,t[n]]})))}}function f(e,t){var n=[];return i.each(t,(function(t){var r=i.findWhere(e,{id:t.id});if(!i.isUndefined(r)||0!==Object.keys(t).length){var 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 d={getChanges:function(e,t){var n=l(i.omit(e.toJSON(),c),i.omit(t.toJSON(),c));if(n)return i.object(i.map(i.keys(n),(function(e){return[e,d.formatChanges(e,n[e])]})))},formatChanges:function(e,t){if(!t)return null;if(i.isObject(t)&&i.isEmpty(t))return null;switch(e){case"name":case"description":case"productionYear":case"dateBroadcast":case"fields":case"episodeNumber":return t;case"channel":case"series":case"rating":case"season":return{id:t.id};case"distributors":case"producers":case"directors":case"productionCompanies":return i.map(t,(function(e){return e.id}));case"dateModified":case"hasBroadcast":return;default:r.a.ErrorHelper.throw(new 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 u=e.get(o);(u instanceof r.a.Model||u instanceof r.a.NestedModel)&&u.clear()}}},getRemovedObjectIds:function(e,t){var n=["distributors","productionCompanies","producers","directors"],r={};return i.each(i.keys(e.toJSON()),(function(a){if(i.contains(n,a)){var o=e.get(a).map((function(e){return e.id})),u=t.get(a).map((function(e){return e.id})),s=i.filter(o,(function(e){return e&&!i.contains(u,e)}));s.length&&(r[a]=s)}})),r}},p={name:[{required:!0,msg:function(){return u.a.getPhrase(s,"videoTitleRequired")}},{maxLength:255,msg:function(){return u.a.getPhrase(s,"videoTitleExceeds")}}],description:[{required:!1},{maxLength:65535,msg:function(){return u.a.getPhrase(s,"videoDescriptionExceeds")}}],episodeNumber:function(e,t,n){return e&&e<1?u.a.getPhrase(s,"episodeNumberLessThanOne"):e&&e>2147483647?u.a.getPhrase(s,"episodeNumberExceeds"):e%1!=0?u.a.getPhrase(s,"episodeNumberNotWhole"):n.season&&n.season.get("number")>=0&&null===e?u.a.getPhrase(s,"episodeNumberNoSeason"):""},season:function(e,t,n){return n.season&&n.season.get("number")||e&&e.number||!n.episodeNumber?"":u.a.getPhrase(s,"seasonNoEpisodeNumber")}},m=o().year(),h={productionYear:function(e,t,n){return e||0===e?(e=+e,isNaN(e)?"Production year must be a number.":e<1900||e>m?u.a.getPhrase(s,"validProductionYears",{currentYear:m}):void 0):""}},g={name:[{required:!0,msg:function(){return u.a.getPhrase(s,"resourceNameRequired")}}]},b={suggestion:[{required:!0,msg:function(){return u.a.getPhrase(s,"suggestEditRequired")}},{maxLength:65535,msg:function(){return u.a.getPhrase(s,"suggestEditExceeds")}}],reason:[{required:!0,msg:function(){return u.a.getPhrase(s,"suggestEditReasonRequired")}},{maxLength:65535,msg:function(){return u.a.getPhrase(s,"suggestEditReasonExceeds")}}]},y={number:function(e,t,n){return e?+e<1?u.a.getPhrase(s,"seasonLessThanOne"):+e>255?u.a.getPhrase(s,"seasonExceeds"):+e%1!=0?u.a.getPhrase(s,"seasonNotWhole"):"":u.a.getPhrase(s,"seasonRequired")}},v={empty:function(){return u.a.getPhrase(s,"suggestEditRatingRequired")},original:function(){return u.a.getPhrase(s,"suggestEditRatingInvalid")}},P={url:[{required:!0,pattern:"url",msg:function(){return u.a.getPhrase(s,"linkUrlRequired")}},{maxLength:65535,msg:function(){return u.a.getPhrase(s,"linkUrlExceeds")}}],name:[{required:!0,msg:function(){return u.a.getPhrase(s,"linkNameRequired")}},{maxLength:255,msg:function(){return u.a.getPhrase(s,"linkNameExceeds")}}]},E={name:[{maxLength:128,msg:function(){return u.a.getPhrase(s,"fieldNameExceeds")}}],value:[{maxLength:16e3,msg:function(){return u.a.getPhrase(s,"fieldValueExceeds")}}]},w={fields:function(e){return e&&e.length?e.all((function(e){return!1!==e.isValid()}))?"":u.a.getPhrase(s,"fieldsInvalid"):""}};function 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)),u=n(81),s={getVideoDownloadUrl:function(e,t){return u.a.safeUrlConcat(u.a.makeHttps(e),"/download?token=".concat(t))}};n.d(t,"a",(function(){return r.a})),n.d(t,"e",(function(){return i.g})),n.d(t,"h",(function(){return i.j})),n.d(t,"g",(function(){return i.i})),n.d(t,"d",(function(){return i.f})),n.d(t,"f",(function(){return i.h})),n.d(t,"c",(function(){return a.a})),n.d(t,"i",(function(){return o.a})),n.d(t,"b",(function(){return s}))},1031:function(e,t,n){"use strict";n.d(t,"a",(function(){return l}));var r=n(1),i=n(49),a=n(159),o=n(3),u="libraryEditor.utils",s={name:[{required:!0,msg:function(){return o.a.getPhrase(u,"folderNameRequired")}},{maxLength:255,msg:function(){return o.a.getPhrase(u,"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(u,"maxFolderDepth",{maxDepth:a.a.MAX_FOLDER_DEPTH}):"":o.a.getPhrase(u,"selectParentFolder")}}},l=function(e){var t=e.validateName,n=e.validateParent,i=e.folder,a=e.collection;return t&&n?r.extend({},s,c(i,a)):t?s:n?c(i,a):void 0}},1032:function(e,t,n){"use strict";n.d(t,"a",(function(){return f}));var r=n(15),i=n(3),a=n(185),o=n(1044),u=n(6);function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var c,l="libraryEditor.utils";!function(e){e.Pdf="pdf",e.Image="image",e.PowerPoint="powerpoint",e.Document="document",e.Excel="excel",e.Zip="archive",e.File="text"}(c||(c={}));var f={mapRatingToClass:function(e){if(!e)return"";return function(e){switch(!0){case e<32:return"bg-purple";case e<48:return"bg-success";case e<80:return"bg-info";case e<96:return"bg-danger";case e<128:return"bg-pink";case e>=128:return"bg-warning";default:return""}}(e)},mapSourceToDisplayName:function(e){switch(e.get("type")){case u.h.HostedLibrary:case u.h.CustomLibrary:return e.get("name");case u.h.Exchange:return i.a.getPhrase(l,"exchange");case u.h.Workspace:return i.a.getPhrase(l,"workspace");default:return""}},mapSourceToClass:function(e){switch(e){case u.h.HostedLibrary:case u.h.CustomLibrary:return"bg-info";case u.h.Exchange:return"bg-success";case u.h.Workspace:default:return"bg-danger"}},isInteractive:function(e){return!(!e||!e.interactives)&&!!e.interactives.length},mapTypeToSvg:function(e){var t,n=(s(t={},c.Pdf,r.b.FilePDF),s(t,c.Image,r.b.FileImg),s(t,c.PowerPoint,r.b.FilePowerpoint),s(t,c.Document,r.b.FileWord),s(t,c.Excel,r.b.FileExcel),s(t,c.Zip,r.b.FileZip),s(t,c.File,r.b.File),t)[e];return n||(n=r.b.Folder),r.a.getSvg(n)},mapTypeToClass:function(e){switch(e){case c.Pdf:return"icon-red";case c.Image:return"icon-purple";case c.Document:return"icon-blue";case c.Excel:return"icon-green";case c.PowerPoint:return"icon-orange";case c.Zip:return"icon-teal";case c.File:return"icon-gray";default:return""}},mapTypeToExtension:function(e){if(!e)return"";return{pdf:"pdf",image:"png",powerpoint:"pptx"}[e.toLowerCase()]},mapTypeToName:function(e){if(!e)return"";switch(e){case c.Pdf:return i.a.getPhrase(l,"pdf");case c.Image:return i.a.getPhrase(l,"image");case c.Document:return i.a.getPhrase(l,"document");case c.Excel:return i.a.getPhrase(l,"spreadsheet");case c.PowerPoint:return i.a.getPhrase(l,"presentation");case c.Zip:return i.a.getPhrase(l,"zipArchive");case c.File:return i.a.getPhrase(l,"file");default:return""}},translateMetadataCollectionNames:function(e){return new o.a(e.map((function(e){return Object.assign(Object.assign({},e.toJSON()),{name:f.translateMetadataName(e.get("name"))})})))},translateMetadataName:function(e){var t="suggestEdit";switch(e){case 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 u}));var r=n(1),i=n(13),a=n(3),o="libraryEditor.utils",u={isValidChapterTime:function(e,t,n,a){if(a){if(!r.isNumber(t))return s.StartTime.Invalid();if(t<0)return s.StartTime.Invalid();if(t>i.w.millisecondsToSeconds(n))return s.StartTime.Exceeds();if(a.some((function(n){return!(n.id&&n.id===e.id||n.cid===e.cid)&&n.get("startTime")===t})))return s.StartTime.Exists()}},isValidChapterName:function(e,t,n){return t?t.length>255?s.Name.MaxLength():n.some((function(n){return!(n.id&&n.id===e.id||n.cid===e.cid)&&n.get("name").trim()===t.trim()}))?s.Name.Exists():r.isEmpty(t.trim())?s.Name.Invalid():void 0:s.Name.Invalid()},mapPhysicalChapters:function(e){var t=0;return r.map(e,(function(e,n){var r={name:e.title,startTime:t,index:n,isPhysicalChapter:!0};return t+=e.duration,r}))}},s={Name:{Invalid:function(){return 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 u}));var r=n(29),i=n(3),a=n(1026),o="libraryEditor.utils",u=(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=s(e);if(t){var i=s(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return u(this,n)}}function u(e,t){return!t||"object"!==r(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function s(e){return(s=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}n.d(t,"a",(function(){return c}));var c=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&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)},1305:function(e,t,n){var r=n(10);e.exports=(r.default||r).template({1:function(e,t,n,r,i){var a;e.propertyIsEnumerable;return(null!=(a=e.lambda(null!=(a=null!=t?t.options:t)?a.spinnerEl:a,t))?a:"")+"\r\n"},3:function(e,t,n,r,i){return'<form>\r\n <div class="form-group">\r\n <label for="url" class="control-label">URL</label>\r\n <input name="url" id="url" type="text" class="form-control" placeholder="URL" autocomplete="off" autofocus/>\r\n <div class="form-feedback"></div>\r\n </div>\r\n <div class="form-group">\r\n <label for="name" class="control-label">Name</label>\r\n <input name="name" id="name" type="text" class="form-control" placeholder="Name" autocomplete="off" autofocus/>\r\n <div class="form-feedback"></div>\r\n </div>\r\n</form>\r\n'},compiler:[8,">= 4.3.0"],main:function(e,t,n,r,i){var a;e.propertyIsEnumerable;return null!=(a=n.unless.call(null!=t?t:e.nullContext||{},null!=(a=null!=t?t.options:t)?a.dataFetched:a,{name:"unless",hash:{},fn:e.program(1,i,0),inverse:e.program(3,i,0),data:i}))?a:""},useData:!0})},1425:function(e,t,n){"use strict";n.r(t),n.d(t,"EditLinkView",(function(){return k}));var r=n(7),i=n(2),a=n(5),o=n(30),u=n(42),s=n(281),c=n(244),l=n(13),f=n(0),d=n(181),p=n(1023),m=n(1027),h=n(1305),g=n.n(h);function b(e){return(b="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 y(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 v(e,t){return(v=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function P(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=w(e);if(t){var i=w(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return E(this,n)}}function E(e,t){return!t||"object"!==b(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 w(e){return(w=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var k=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&&v(e,t)}(E,e);var t,n,h,b=P(E);function E(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,E),b.call(this,e)}return t=E,(n=[{key:"initialize",value:function(){this.listenTo(f.e.LINK,"link:".concat(this.options.linkId,":sync"),this.render),this.linkDataService=a.a.getInstance(f.g.Link,this)}},{key:"events",value:function(){return{submit:"onSubmit"}}},{key:"onSubmit",value:function(e){var t=this;e&&e.preventDefault(),this.viewModel.validate(),!1!==this.viewModel.isValid()&&(r.Radio.channel(this.channelName).trigger(c.b.ShowSpinner),this.linkDataService.updateLink(this.options.videoId,this.viewModel,(function(){t.logAction(),i.a.AppLinkHelper.trigger({application:f.b.LIBRARY_EDITOR,action:f.a.LibraryEditor.EDIT_VIDEO_RESOURCES,args:[t.options.videoId]})})))}},{key:"logAction",value:function(){var e={id:this.options.linkId,parentId:+this.options.videoId,name:this.viewModel.get("name")};u.a.logUserAction(e,this.options.analyticsOptions)}},{key:"dataFetched",value:function(){return!!this.model&&!!this.viewModel}},{key:"onBeforeRender",value:function(){var e=this;this.model=this.linkDataService.getLink(this.options.linkId,(function(t){e.viewModel=o.a.get("link:".concat(e.options.linkId),t.toJSON(),{ctor:d.a}),e.viewModel.addValidation(m.d)})),this.dataFetched()&&this.spinnerModel.set(c.c.Disabled,!1)}},{key:"viewOptions",value:function(){return{dataFetched:this.dataFetched(),spinnerEl:l.q.getSpinner({size:l.r.Large,extraClasses:"mx-auto"})}}},{key:"onRender",value:function(){this.viewModel&&(this.stickit(this.viewModel),r.Validation.bind(this,{model:this.viewModel}))}},{key:"onClose",value:function(){this.unstickit()}},{key:"name",get:function(){return"EditLinkView"}},{key:"title",get:function(){return"Edit link"}},{key:"template",get:function(){return g.a}},{key:"channelName",get:function(){return l.k.generateUniqueChannelName(this)}},{key:"bindings",get:function(){return{"[name=url]":{observe:"url",setOptions:{validate:!0}},"[name=name]":{observe:"name",setOptions:{validate:!0}}}}},{key:"behaviors",get:function(){var e=this;return[{behaviorClass:s.f,title:"Edit link",spinnerButtonOptions:{channelName:this.channelName,model:this.spinnerModel=new p.a,buttonText:"Save",onClick:function(t){return e.onSubmit(t)}}}]}}])&&y(t.prototype,n),h&&y(t,h),E}(i.a.View)}}]);
@@ -0,0 +1 @@
1
+ (window.webpackJsonp_clickview_library_editor=window.webpackJsonp_clickview_library_editor||[]).push([[34],{1023:function(e,t,n){"use strict";n.d(t,"a",(function(){return d}));var r=n(2),i=n(244);function a(e){return(a="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 o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function u(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 c(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=f(e);if(t){var i=f(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return l(this,n)}}function l(e,t){return!t||"object"!==a(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 f(e){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var d=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,r,a=c(l);function l(){return o(this,l),a.apply(this,arguments)}return t=l,(n=[{key:"defaults",value:function(){return e={},t=i.c.Disabled,n=!0,t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e;var e,t,n}}])&&u(t.prototype,n),r&&u(t,r),l}(r.a.Model)},1026:function(e,t,n){"use strict";n.d(t,"a",(function(){return d})),n.d(t,"k",(function(){return p})),n.d(t,"g",(function(){return g})),n.d(t,"e",(function(){return h})),n.d(t,"j",(function(){return b})),n.d(t,"i",(function(){return v})),n.d(t,"c",(function(){return E})),n.d(t,"b",(function(){return w})),n.d(t,"d",(function(){return k})),n.d(t,"f",(function(){return P})),n.d(t,"h",(function(){return y}));var r=n(2),i=n(1),a=n(19),o=n(29),u=n(3),s="libraryEditor.utils",c=["tags","thumbnail","chapters","resources","subtitles","disabled","links","restrictions","categories"];function l(e,t){if(e){var n=i.reduce(e,(function(e,n,r){var a=t[r];return n||a?i.isObject(n)&&i.isObject(a)&&!i.isUndefined(n.id)&&n.id===a.id?e:i.isArray(n)?f(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,f(e[n],t[n])]:[n,t[n]]})))}}function f(e,t){var n=[];return i.each(t,(function(t){var r=i.findWhere(e,{id:t.id});if(!i.isUndefined(r)||0!==Object.keys(t).length){var 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 d={getChanges:function(e,t){var n=l(i.omit(e.toJSON(),c),i.omit(t.toJSON(),c));if(n)return i.object(i.map(i.keys(n),(function(e){return[e,d.formatChanges(e,n[e])]})))},formatChanges:function(e,t){if(!t)return null;if(i.isObject(t)&&i.isEmpty(t))return null;switch(e){case"name":case"description":case"productionYear":case"dateBroadcast":case"fields":case"episodeNumber":return t;case"channel":case"series":case"rating":case"season":return{id:t.id};case"distributors":case"producers":case"directors":case"productionCompanies":return i.map(t,(function(e){return e.id}));case"dateModified":case"hasBroadcast":return;default:r.a.ErrorHelper.throw(new 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 u=e.get(o);(u instanceof r.a.Model||u instanceof r.a.NestedModel)&&u.clear()}}},getRemovedObjectIds:function(e,t){var n=["distributors","productionCompanies","producers","directors"],r={};return i.each(i.keys(e.toJSON()),(function(a){if(i.contains(n,a)){var o=e.get(a).map((function(e){return e.id})),u=t.get(a).map((function(e){return e.id})),s=i.filter(o,(function(e){return e&&!i.contains(u,e)}));s.length&&(r[a]=s)}})),r}},p={name:[{required:!0,msg:function(){return u.a.getPhrase(s,"videoTitleRequired")}},{maxLength:255,msg:function(){return u.a.getPhrase(s,"videoTitleExceeds")}}],description:[{required:!1},{maxLength:65535,msg:function(){return u.a.getPhrase(s,"videoDescriptionExceeds")}}],episodeNumber:function(e,t,n){return e&&e<1?u.a.getPhrase(s,"episodeNumberLessThanOne"):e&&e>2147483647?u.a.getPhrase(s,"episodeNumberExceeds"):e%1!=0?u.a.getPhrase(s,"episodeNumberNotWhole"):n.season&&n.season.get("number")>=0&&null===e?u.a.getPhrase(s,"episodeNumberNoSeason"):""},season:function(e,t,n){return n.season&&n.season.get("number")||e&&e.number||!n.episodeNumber?"":u.a.getPhrase(s,"seasonNoEpisodeNumber")}},m=o().year(),h={productionYear:function(e,t,n){return e||0===e?(e=+e,isNaN(e)?"Production year must be a number.":e<1900||e>m?u.a.getPhrase(s,"validProductionYears",{currentYear:m}):void 0):""}},g={name:[{required:!0,msg:function(){return u.a.getPhrase(s,"resourceNameRequired")}}]},b={suggestion:[{required:!0,msg:function(){return u.a.getPhrase(s,"suggestEditRequired")}},{maxLength:65535,msg:function(){return u.a.getPhrase(s,"suggestEditExceeds")}}],reason:[{required:!0,msg:function(){return u.a.getPhrase(s,"suggestEditReasonRequired")}},{maxLength:65535,msg:function(){return u.a.getPhrase(s,"suggestEditReasonExceeds")}}]},y={number:function(e,t,n){return e?+e<1?u.a.getPhrase(s,"seasonLessThanOne"):+e>255?u.a.getPhrase(s,"seasonExceeds"):+e%1!=0?u.a.getPhrase(s,"seasonNotWhole"):"":u.a.getPhrase(s,"seasonRequired")}},v={empty:function(){return u.a.getPhrase(s,"suggestEditRatingRequired")},original:function(){return u.a.getPhrase(s,"suggestEditRatingInvalid")}},P={url:[{required:!0,pattern:"url",msg:function(){return u.a.getPhrase(s,"linkUrlRequired")}},{maxLength:65535,msg:function(){return u.a.getPhrase(s,"linkUrlExceeds")}}],name:[{required:!0,msg:function(){return u.a.getPhrase(s,"linkNameRequired")}},{maxLength:255,msg:function(){return u.a.getPhrase(s,"linkNameExceeds")}}]},E={name:[{maxLength:128,msg:function(){return u.a.getPhrase(s,"fieldNameExceeds")}}],value:[{maxLength:16e3,msg:function(){return u.a.getPhrase(s,"fieldValueExceeds")}}]},w={fields:function(e){return e&&e.length?e.all((function(e){return!1!==e.isValid()}))?"":u.a.getPhrase(s,"fieldsInvalid"):""}};function 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)),u=n(81),s={getVideoDownloadUrl:function(e,t){return u.a.safeUrlConcat(u.a.makeHttps(e),"/download?token=".concat(t))}};n.d(t,"a",(function(){return r.a})),n.d(t,"e",(function(){return i.g})),n.d(t,"h",(function(){return i.j})),n.d(t,"g",(function(){return i.i})),n.d(t,"d",(function(){return i.f})),n.d(t,"f",(function(){return i.h})),n.d(t,"c",(function(){return a.a})),n.d(t,"i",(function(){return o.a})),n.d(t,"b",(function(){return s}))},1031:function(e,t,n){"use strict";n.d(t,"a",(function(){return l}));var r=n(1),i=n(49),a=n(159),o=n(3),u="libraryEditor.utils",s={name:[{required:!0,msg:function(){return o.a.getPhrase(u,"folderNameRequired")}},{maxLength:255,msg:function(){return o.a.getPhrase(u,"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(u,"maxFolderDepth",{maxDepth:a.a.MAX_FOLDER_DEPTH}):"":o.a.getPhrase(u,"selectParentFolder")}}},l=function(e){var t=e.validateName,n=e.validateParent,i=e.folder,a=e.collection;return t&&n?r.extend({},s,c(i,a)):t?s:n?c(i,a):void 0}},1032:function(e,t,n){"use strict";n.d(t,"a",(function(){return f}));var r=n(15),i=n(3),a=n(185),o=n(1044),u=n(6);function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var c,l="libraryEditor.utils";!function(e){e.Pdf="pdf",e.Image="image",e.PowerPoint="powerpoint",e.Document="document",e.Excel="excel",e.Zip="archive",e.File="text"}(c||(c={}));var f={mapRatingToClass:function(e){if(!e)return"";return function(e){switch(!0){case e<32:return"bg-purple";case e<48:return"bg-success";case e<80:return"bg-info";case e<96:return"bg-danger";case e<128:return"bg-pink";case e>=128:return"bg-warning";default:return""}}(e)},mapSourceToDisplayName:function(e){switch(e.get("type")){case u.h.HostedLibrary:case u.h.CustomLibrary:return e.get("name");case u.h.Exchange:return i.a.getPhrase(l,"exchange");case u.h.Workspace:return i.a.getPhrase(l,"workspace");default:return""}},mapSourceToClass:function(e){switch(e){case u.h.HostedLibrary:case u.h.CustomLibrary:return"bg-info";case u.h.Exchange:return"bg-success";case u.h.Workspace:default:return"bg-danger"}},isInteractive:function(e){return!(!e||!e.interactives)&&!!e.interactives.length},mapTypeToSvg:function(e){var t,n=(s(t={},c.Pdf,r.b.FilePDF),s(t,c.Image,r.b.FileImg),s(t,c.PowerPoint,r.b.FilePowerpoint),s(t,c.Document,r.b.FileWord),s(t,c.Excel,r.b.FileExcel),s(t,c.Zip,r.b.FileZip),s(t,c.File,r.b.File),t)[e];return n||(n=r.b.Folder),r.a.getSvg(n)},mapTypeToClass:function(e){switch(e){case c.Pdf:return"icon-red";case c.Image:return"icon-purple";case c.Document:return"icon-blue";case c.Excel:return"icon-green";case c.PowerPoint:return"icon-orange";case c.Zip:return"icon-teal";case c.File:return"icon-gray";default:return""}},mapTypeToExtension:function(e){if(!e)return"";return{pdf:"pdf",image:"png",powerpoint:"pptx"}[e.toLowerCase()]},mapTypeToName:function(e){if(!e)return"";switch(e){case c.Pdf:return i.a.getPhrase(l,"pdf");case c.Image:return i.a.getPhrase(l,"image");case c.Document:return i.a.getPhrase(l,"document");case c.Excel:return i.a.getPhrase(l,"spreadsheet");case c.PowerPoint:return i.a.getPhrase(l,"presentation");case c.Zip:return i.a.getPhrase(l,"zipArchive");case c.File:return i.a.getPhrase(l,"file");default:return""}},translateMetadataCollectionNames:function(e){return new o.a(e.map((function(e){return Object.assign(Object.assign({},e.toJSON()),{name:f.translateMetadataName(e.get("name"))})})))},translateMetadataName:function(e){var t="suggestEdit";switch(e){case 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 u}));var r=n(1),i=n(13),a=n(3),o="libraryEditor.utils",u={isValidChapterTime:function(e,t,n,a){if(a){if(!r.isNumber(t))return s.StartTime.Invalid();if(t<0)return s.StartTime.Invalid();if(t>i.w.millisecondsToSeconds(n))return s.StartTime.Exceeds();if(a.some((function(n){return!(n.id&&n.id===e.id||n.cid===e.cid)&&n.get("startTime")===t})))return s.StartTime.Exists()}},isValidChapterName:function(e,t,n){return t?t.length>255?s.Name.MaxLength():n.some((function(n){return!(n.id&&n.id===e.id||n.cid===e.cid)&&n.get("name").trim()===t.trim()}))?s.Name.Exists():r.isEmpty(t.trim())?s.Name.Invalid():void 0:s.Name.Invalid()},mapPhysicalChapters:function(e){var t=0;return r.map(e,(function(e,n){var r={name:e.title,startTime:t,index:n,isPhysicalChapter:!0};return t+=e.duration,r}))}},s={Name:{Invalid:function(){return 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 u}));var r=n(29),i=n(3),a=n(1026),o="libraryEditor.utils",u=(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=s(e);if(t){var i=s(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return u(this,n)}}function u(e,t){return!t||"object"!==r(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function s(e){return(s=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}n.d(t,"a",(function(){return c}));var c=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&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)},1305:function(e,t,n){var r=n(10);e.exports=(r.default||r).template({1:function(e,t,n,r,i){var a;e.propertyIsEnumerable;return(null!=(a=e.lambda(null!=(a=null!=t?t.options:t)?a.spinnerEl:a,t))?a:"")+"\r\n"},3:function(e,t,n,r,i){return'<form>\r\n <div class="form-group">\r\n <label for="url" class="control-label">URL</label>\r\n <input name="url" id="url" type="text" class="form-control" placeholder="URL" autocomplete="off" autofocus/>\r\n <div class="form-feedback"></div>\r\n </div>\r\n <div class="form-group">\r\n <label for="name" class="control-label">Name</label>\r\n <input name="name" id="name" type="text" class="form-control" placeholder="Name" autocomplete="off" autofocus/>\r\n <div class="form-feedback"></div>\r\n </div>\r\n</form>\r\n'},compiler:[8,">= 4.3.0"],main:function(e,t,n,r,i){var a;e.propertyIsEnumerable;return null!=(a=n.unless.call(null!=t?t:e.nullContext||{},null!=(a=null!=t?t.options:t)?a.dataFetched:a,{name:"unless",hash:{},fn:e.program(1,i,0),inverse:e.program(3,i,0),data:i}))?a:""},useData:!0})},1425:function(e,t,n){"use strict";n.r(t),n.d(t,"EditLinkView",(function(){return k}));var r=n(7),i=n(2),a=n(5),o=n(30),u=n(42),s=n(281),c=n(244),l=n(13),f=n(0),d=n(181),p=n(1023),m=n(1027),h=n(1305),g=n.n(h);function b(e){return(b="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 y(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 v(e,t){return(v=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function P(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=w(e);if(t){var i=w(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return E(this,n)}}function E(e,t){return!t||"object"!==b(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 w(e){return(w=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var k=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&&v(e,t)}(E,e);var t,n,h,b=P(E);function E(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,E),b.call(this,e)}return t=E,(n=[{key:"initialize",value:function(){this.listenTo(f.e.LINK,"link:".concat(this.options.linkId,":sync"),this.render),this.linkDataService=a.a.getInstance(f.g.Link,this)}},{key:"events",value:function(){return{submit:"onSubmit"}}},{key:"onSubmit",value:function(e){var t=this;e&&e.preventDefault(),this.viewModel.validate(),!1!==this.viewModel.isValid()&&(r.Radio.channel(this.channelName).trigger(c.b.ShowSpinner),this.linkDataService.updateLink(this.options.videoId,this.viewModel,(function(){t.logAction(),i.a.AppLinkHelper.trigger({application:f.b.LIBRARY_EDITOR,action:f.a.LibraryEditor.EDIT_VIDEO_RESOURCES,args:[t.options.videoId]})})))}},{key:"logAction",value:function(){var e={id:this.options.linkId,parentId:+this.options.videoId,name:this.viewModel.get("name")};u.a.logUserAction(e,this.options.analyticsOptions)}},{key:"dataFetched",value:function(){return!!this.model&&!!this.viewModel}},{key:"onBeforeRender",value:function(){var e=this;this.model=this.linkDataService.getLink(this.options.linkId,(function(t){e.viewModel=o.a.get("link:".concat(e.options.linkId),t.toJSON(),{ctor:d.a}),e.viewModel.addValidation(m.d)})),this.dataFetched()&&this.spinnerModel.set(c.c.Disabled,!1)}},{key:"viewOptions",value:function(){return{dataFetched:this.dataFetched(),spinnerEl:l.q.getSpinner({size:l.r.Large,extraClasses:"mx-auto"})}}},{key:"onRender",value:function(){this.viewModel&&(this.stickit(this.viewModel),r.Validation.bind(this,{model:this.viewModel}))}},{key:"onClose",value:function(){this.unstickit()}},{key:"name",get:function(){return"EditLinkView"}},{key:"title",get:function(){return"Edit link"}},{key:"template",get:function(){return g.a}},{key:"channelName",get:function(){return l.k.generateUniqueChannelName(this)}},{key:"bindings",get:function(){return{"[name=url]":{observe:"url",setOptions:{validate:!0}},"[name=name]":{observe:"name",setOptions:{validate:!0}}}}},{key:"behaviors",get:function(){var e=this;return[{behaviorClass:s.f,title:"Edit link",spinnerButtonOptions:{channelName:this.channelName,model:this.spinnerModel=new p.a,buttonText:"Save",onClick:function(t){return e.onSubmit(t)}}}]}}])&&y(t.prototype,n),h&&y(t,h),E}(i.a.View)}}]);
@@ -1 +1 @@
1
- {"version":3,"sources":["file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/components/chapter-form/ChapterForm.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/components/chapter-form/ChapterFormComponent.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/components/chapter-list/ChapterComponentCollection.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/components/chapter-list/ChapterItem.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/components/chapter-list/ChapterItemComponent.ts","webpack://@clickview/library-editor/./src/apps/library-editor/components/chapter-list/chapter-item.scss?bbf9","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/components/chapters/Chapters.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/components/chapters/ChaptersComponent.ts"],"names":[],"mappings":"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","file":"scripts/34.chunk.js","sourcesContent":["var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable, alias2=container.lambda, alias3=container.escapeExpression, alias4=depth0 != null ? depth0 : (container.nullContext || {}), alias5=container.hooks.helperMissing;\n\n return \" <div class=\\\"col-6 form-group\\\">\\r\\n <label class=\\\"d-block\\\" for=\\\"\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.timeId : stack1), depth0))\n + \"\\\">\"\n + alias3((helpers.lang||(depth0 && depth0.lang)||alias5).call(alias4,\"startTimeLabel\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</label>\\r\\n <input\\r\\n class=\\\"form-control d-inline-block col-3 time-input hour-input\\\"\\r\\n type=\\\"number\\\"\\r\\n placeholder=\\\"\"\n + alias3((helpers.lang||(depth0 && depth0.lang)||alias5).call(alias4,\"hoursPlaceholder\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"\\\"\\r\\n name=\\\"hours\\\"\\r\\n autocomplete=\\\"off\\\"\\r\\n \"\n + ((stack1 = helpers[\"if\"].call(alias4,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.hrDisabled : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(2, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"> <b>:</b>\\r\\n <input\\r\\n class=\\\"form-control d-inline-block col-3 time-input minute-input\\\"\\r\\n type=\\\"number\\\"\\r\\n placeholder=\\\"\"\n + alias3((helpers.lang||(depth0 && depth0.lang)||alias5).call(alias4,\"minutesPlaceholder\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"\\\"\\r\\n name=\\\"minutes\\\"\\r\\n autocomplete=\\\"off\\\"\\r\\n \"\n + ((stack1 = helpers[\"if\"].call(alias4,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.minDisabled : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(2, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"> <b>:</b>\\r\\n <input\\r\\n class=\\\"form-control d-inline-block col-3 time-input second-input\\\"\\r\\n type=\\\"number\\\"\\r\\n placeholder=\\\"\"\n + alias3((helpers.lang||(depth0 && depth0.lang)||alias5).call(alias4,\"secondsPlaceholder\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"\\\"\\r\\n name=\\\"seconds\\\"\\r\\n id=\\\"\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.timeId : stack1), depth0))\n + \"\\\"\\r\\n autocomplete=\\\"off\\\"\\r\\n \"\n + ((stack1 = helpers[\"if\"].call(alias4,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.secDisabled : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(2, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \">\\r\\n <div class=\\\"form-feedback\\\"></div>\\r\\n </div>\\r\\n\";\n},\"2\":function(container,depth0,helpers,partials,data) {\n return \"disabled\";\n},\"4\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return \" <button type=\\\"submit\\\" class=\\\"btn btn-primary btn-sm ml-2\\\">\\r\\n <span class=\\\"d-inline-block align-middle svg-container\\\">\"\n + ((stack1 = container.lambda(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.plusSvg : stack1), depth0)) != null ? stack1 : \"\")\n + \"</span>\\r\\n <span class=\\\"align-middle\\\">\"\n + container.escapeExpression((helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),\"add\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</span>\\r\\n </button>\\r\\n\";\n},\"6\":function(container,depth0,helpers,partials,data) {\n var alias1=container.propertyIsEnumerable, alias2=depth0 != null ? depth0 : (container.nullContext || {}), alias3=container.hooks.helperMissing, alias4=container.escapeExpression;\n\n return \" <button type=\\\"submit\\\" class=\\\"btn btn-primary btn-sm ml-2\\\">\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"save\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</button>\\r\\n <button type=\\\"button\\\" class=\\\"btn btn-secondary btn-sm cancel ml-2\\\">\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"cancel\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</button>\\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable, alias2=container.lambda, alias3=container.escapeExpression, alias4=depth0 != null ? depth0 : (container.nullContext || {}), alias5=container.hooks.helperMissing;\n\n return \"<div class=\\\"row\\\">\\r\\n <div class=\\\"col-6 form-group\\\">\\r\\n <label for=\\\"\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.chapterId : stack1), depth0))\n + \"\\\">\"\n + alias3((helpers.lang||(depth0 && depth0.lang)||alias5).call(alias4,\"nameLabel\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</label>\\r\\n <input type=\\\"text\\\" class=\\\"form-control chapter-name\\\" name=\\\"name\\\" id=\\\"\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.chapterId : stack1), depth0))\n + \"\\\" placeholder=\\\"\"\n + alias3((helpers.lang||(depth0 && depth0.lang)||alias5).call(alias4,\"namePlaceholder\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"\\\" autofocus autocomplete=\\\"off\\\">\\r\\n <div class=\\\"form-feedback\\\"></div>\\r\\n </div>\\r\\n\"\n + ((stack1 = helpers[\"if\"].call(alias4,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.enabled : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"</div>\\r\\n\\r\\n<div class=\\\"row\\\">\\r\\n\"\n + ((stack1 = helpers[\"if\"].call(alias4,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.creating : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(4, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\r\\n\"\n + ((stack1 = helpers[\"if\"].call(alias4,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.editing : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(6, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"</div>\";\n},\"useData\":true});","import * as _ from 'underscore';\r\nimport * as Backbone from 'backbone';\r\nimport { ObjectHash, Radio } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { ViewModelService } from 'libs/common/backbone/services/ViewModelService';\r\nimport { SvgHelper, cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\n\r\nimport { BackboneValidationBehavior, StickitBehavior } from 'shared/behaviors';\r\nimport { Chapter } from 'shared/models/Chapter';\r\nimport { TimeHelpers } from 'shared/utils';\r\n\r\nimport { ChapterHelpers } from 'apps/library-editor/utils/ChapterHelper';\r\nimport { LibraryEditorActions } from 'apps/library-editor/constants';\r\n\r\nimport ChapterFormTemplate from './ChapterForm.hbs';\r\n\r\nconst ENTER_KEYCODE = 13;\r\n\r\ninterface ChapterFormComponentOptions extends Core.ComponentOptions {\r\n editing?: boolean;\r\n creating?: boolean;\r\n channelName: string;\r\n duration: number;\r\n playerViewModelKey?: string;\r\n showActions?: boolean;\r\n}\r\n\r\nexport class ChapterFormComponent extends Core.Component {\r\n protected options: ChapterFormComponentOptions;\r\n private webPlayerTime: Date;\r\n\r\n constructor(options: ChapterFormComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n if (this.options.playerViewModelKey)\r\n this.listenToPlayerViewModel();\r\n\r\n this.initViewModel();\r\n\r\n if (this.options.editing)\r\n this.syncTime();\r\n }\r\n\r\n public get name(): string {\r\n return 'ChapterFormComponent';\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.chapterForm';\r\n }\r\n\r\n public get tagName(): string {\r\n return 'form';\r\n }\r\n\r\n public get viewModelName(): string {\r\n return `${this.name}:${this.cid}`;\r\n }\r\n\r\n public get template(): any {\r\n return ChapterFormTemplate;\r\n }\r\n\r\n public get className(): string {\r\n return this.options.creating ? 'py-3' : 'border-top p-2';\r\n }\r\n\r\n\r\n public get behaviors(): any[] {\r\n return [{\r\n behaviorClass: BackboneValidationBehavior,\r\n bindViewModel: true\r\n }, {\r\n behaviorClass: StickitBehavior,\r\n bindViewModel: true\r\n }];\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n 'submit': 'onSubmit',\r\n 'change .chapter-name': 'validateName',\r\n 'keyup .chapter-name': 'validateName',\r\n 'change .time-input': 'onTimeInputUpdate',\r\n 'click .time-input': 'onTimeInputUpdate',\r\n 'keyup .time-input': 'onTimeInputUpdate',\r\n 'click .cancel': 'destroyView',\r\n };\r\n }\r\n\r\n public get bindings(): ObjectHash {\r\n return {\r\n '[name=name]': {\r\n observe: 'name',\r\n setOptions: { validate: true }\r\n },\r\n '[name=hours]': {\r\n observe: 'hours',\r\n setOptions: { validate: true }\r\n },\r\n '[name=minutes]': {\r\n observe: 'minutes',\r\n setOptions: { validate: true }\r\n },\r\n '[name=seconds]': {\r\n observe: 'seconds',\r\n setOptions: { validate: true }\r\n },\r\n };\r\n }\r\n\r\n private initViewModel(): void {\r\n this.viewModel = ViewModelService.get<Chapter>(this.viewModelName, this.model.toJSON());\r\n }\r\n\r\n /**\r\n * Synchronise start time based on current player's playback position\r\n */\r\n private listenToPlayerViewModel(): void {\r\n const playerViewModel = ViewModelService.get(this.options.playerViewModelKey);\r\n this.listenTo(playerViewModel, 'change:currenttime', this.updateTime);\r\n }\r\n\r\n /**\r\n * Set the value of each time input, syncing with the webplayer current time\r\n */\r\n private updateTime(player: Core.Model): void {\r\n this.webPlayerTime = player.get('currenttime');\r\n this.syncTime();\r\n }\r\n\r\n private syncTime(): void {\r\n // The start time of the chapter, or the current webplayer time\r\n const time = this.viewModel.get('startTime') || this.webPlayerTime;\r\n\r\n this.viewModel.set({\r\n hours: TimeHelpers.getHoursComponent(time),\r\n minutes: TimeHelpers.getMinutesComponent(time),\r\n seconds: TimeHelpers.getSecondsComponent(time)\r\n });\r\n }\r\n\r\n /**\r\n * The time constructed from each time input in seconds\r\n * Returns -1 if any time component is negative, or all time components are undefined\r\n */\r\n private getNewTime(): number {\r\n if (!this.enabled()) return 0;\r\n return TimeHelpers.parseTime(this.viewModel.pick('hours', 'minutes', 'seconds'));\r\n }\r\n\r\n /**\r\n * Whether the time input's are enabled\r\n * Is true for all chapters except for the first existing chapter\r\n */\r\n private enabled(): boolean {\r\n return this.options.creating || this.model.collection.indexOf(this.model) !== 0;\r\n }\r\n\r\n /**\r\n * Returns the maximum values for hours, minutes and seconds\r\n * based on the duration of the video\r\n */\r\n private maxTimes(): ObjectHash {\r\n const duration = TimeHelpers.millisecondsToSeconds(this.options.duration);\r\n const maxHr = TimeHelpers.getHoursComponent(duration);\r\n const maxMin = maxHr > 0 ? 59 : TimeHelpers.getMinutesComponent(duration);\r\n const maxSec = maxMin > 0 ? 59 : TimeHelpers.getSecondsComponent(duration);\r\n return {\r\n maxHr, maxMin, maxSec\r\n };\r\n }\r\n\r\n /**\r\n * Called when any of the 3 time inputs are updated\r\n * If we are creating a chapter, the webplayer time is also updated\r\n */\r\n private onTimeInputUpdate(): void {\r\n const channel = Radio.channel(this.options.channelName);\r\n channel.trigger(LibraryEditorActions.UpdateChapterTime, this.getNewTime());\r\n\r\n this.validateStartTime();\r\n }\r\n\r\n private destroyView(): void {\r\n const channel = Radio.channel(this.options.channelName);\r\n channel.trigger(LibraryEditorActions.CancelChapterEdit);\r\n this.destroy();\r\n }\r\n\r\n /**\r\n * When a chapter is added or saved, validate the new values\r\n * and trigger appropriate event to update the chapter list\r\n */\r\n private onSubmit(e: JQuery.Event): boolean {\r\n e.preventDefault();\r\n\r\n if (!this.validate())\r\n return false;\r\n\r\n const newChapter: ObjectHash = {\r\n id: this.viewModel.get('id'),\r\n name: this.viewModel.get('name'),\r\n startTime: this.getNewTime(),\r\n };\r\n\r\n const channel = Radio.channel(this.options.channelName);\r\n\r\n // Update or create chapter depending on where the component is being rendered\r\n let chapterChangeEvent = LibraryEditorActions.CreateChapter;\r\n\r\n if (this.options.editing)\r\n chapterChangeEvent = LibraryEditorActions.UpdateChapter;\r\n\r\n channel.trigger(chapterChangeEvent, newChapter);\r\n\r\n this.stopListening(this.viewModel);\r\n ViewModelService.clear(this.viewModelName);\r\n }\r\n\r\n private validate(): boolean {\r\n this.viewModel.validate();\r\n const validStartTime = this.validateStartTime();\r\n const validateName = this.validateName();\r\n return this.viewModel.isValid() && validStartTime && validateName;\r\n }\r\n\r\n private validateStartTime(): boolean {\r\n const { valid, invalid } = Backbone.Validation.callbacks;\r\n const parentCollection = this.model.collection || this.options.collection;\r\n\r\n const newTime = this.getNewTime();\r\n\r\n const invalidTimeMessage = ChapterHelpers.isValidChapterTime(\r\n this.model, newTime, this.options.duration, parentCollection\r\n );\r\n\r\n let invalidTimeProps: any = [];\r\n let validTimeProps = [ 'seconds', 'minutes', 'hours' ];\r\n\r\n if (newTime < 0) {\r\n invalidTimeProps = validTimeProps;\r\n } else if (invalidTimeMessage) {\r\n invalidTimeProps.push('seconds');\r\n if (newTime > 59) invalidTimeProps.push('minutes');\r\n if (newTime > (59 * 60)) invalidTimeProps.push('hours');\r\n }\r\n\r\n validTimeProps.forEach((prop: string) => valid(this, prop, null));\r\n invalidTimeProps.forEach((prop: string) => invalid(this, prop, invalidTimeMessage, null));\r\n\r\n return !invalidTimeMessage;\r\n }\r\n\r\n private validateName(e?: JQueryEventObject): boolean {\r\n if (e && e.keyCode === ENTER_KEYCODE) return;\r\n\r\n const { valid, invalid } = Backbone.Validation.callbacks;\r\n const parentCollection = this.model.collection || this.options.collection;\r\n\r\n const invalidNameMessage = ChapterHelpers.isValidChapterName(this.model, this.viewModel.get('name'), parentCollection);\r\n\r\n if (!invalidNameMessage)\r\n valid(this, 'name', null);\r\n else\r\n invalid(this, 'name', invalidNameMessage, null);\r\n\r\n return !invalidNameMessage;\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n const { maxHr, maxMin, maxSec } = this.maxTimes();\r\n\r\n const secDisabled = maxSec === 0;\r\n const minDisabled = maxMin === 0;\r\n const hrDisabled = maxHr === 0;\r\n\r\n return {\r\n ...this.options,\r\n enabled: this.enabled(),\r\n timeId: `${this.cid}-time`,\r\n chapterId: `${this.cid}-chapter-name`,\r\n plusSvg: SvgHelper.getSvg(cvSvgLibrary.Plus),\r\n secDisabled, minDisabled, hrDisabled\r\n };\r\n }\r\n}\r\n","import * as _ from 'underscore';\r\nimport { ObjectHash } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport { Chapter } from 'shared/models/Chapter';\r\nimport { ChapterItemComponent } from 'apps/library-editor/components/chapter-list/ChapterItemComponent';\r\nimport { LibraryEditorActions } from 'apps/library-editor/constants';\r\n\r\ninterface ChapterComponentCollectionOptions extends Core.ComponentCollectionOptions {\r\n duration: number;\r\n channelName: string;\r\n showActions?: boolean;\r\n editable?: boolean;\r\n}\r\n\r\nexport class ChapterComponentCollection extends Core.ComponentCollection {\r\n protected options: ChapterComponentCollectionOptions;\r\n\r\n constructor(options: ChapterComponentCollectionOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.bindEditorListeners();\r\n }\r\n\r\n public get name(): string {\r\n return 'ChapterComponentCollection';\r\n }\r\n\r\n public get className(): string {\r\n return 'chapters';\r\n }\r\n\r\n public get childView(): typeof ChapterItemComponent {\r\n return ChapterItemComponent;\r\n }\r\n\r\n private bindEditorListeners(): void {\r\n if (!this.options.editable)\r\n return;\r\n\r\n this.listenTo(this.options.channelName, LibraryEditorActions.ToggleEdit, this.toggleEditForm);\r\n }\r\n\r\n /**\r\n * When a child view triggers its edit view, hide all other edit views\r\n */\r\n public toggleEditForm(model: Chapter): void {\r\n this.collection.each(m => m !== model && m.set('showEditor', false));\r\n model.set('showEditor', !model.get('showEditor'));\r\n }\r\n\r\n public get childViewOptions(): ObjectHash {\r\n return {\r\n showActions: this.options.showActions,\r\n duration: this.options.duration,\r\n channelName: this.options.channelName,\r\n };\r\n }\r\n}\r\n","var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return container.escapeExpression(container.lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.loading : stack1), depth0));\n},\"3\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable, alias2=container.lambda, alias3=container.escapeExpression, alias4=depth0 != null ? depth0 : (container.nullContext || {});\n\n return \" <div class=\\\"col-2 text-right\\\">\\r\\n <a class=\\\"action edit-chapter my-2 svg-container \"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.svgContainer : stack1), depth0))\n + \" d-inline-block text-muted\\\"\\r\\n title=\\\"\"\n + alias3((helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(alias4,\"edit\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"\\\">\"\n + ((stack1 = alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.editSvg : stack1), depth0)) != null ? stack1 : \"\")\n + \"</a>\\r\\n\"\n + ((stack1 = helpers[\"if\"].call(alias4,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.allowDelete : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(4, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \" </div>\\r\\n\";\n},\"4\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable, alias2=container.lambda, alias3=container.escapeExpression;\n\n return \" <a class=\\\"action delete-chapter my-2 svg-container \"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.svgContainer : stack1), depth0))\n + \" d-inline-block text-muted\\\"\\r\\n title=\\\"\"\n + alias3((helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),\"delete\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"\\\">\"\n + ((stack1 = alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.deleteSvg : stack1), depth0)) != null ? stack1 : \"\")\n + \"</a>\\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper, alias1=container.propertyIsEnumerable, alias2=depth0 != null ? depth0 : (container.nullContext || {}), alias3=container.lambda, alias4=container.escapeExpression;\n\n return \"<div class=\\\"row mx-0 border-top chapter-item \"\n + ((stack1 = helpers[\"if\"].call(alias2,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.loading : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\">\\r\\n <div class=\\\"clickable-seek col-1\\\">\\r\\n <p class=\\\"m-0 py-2\\\">\"\n + alias4(alias3(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.index : stack1), depth0))\n + \"</p>\\r\\n </div>\\r\\n <div class=\\\"clickable-seek col-6\\\">\\r\\n <p class=\\\"m-0 py-2\\\">\"\n + alias4(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === \"function\" ? helper.call(alias2,{\"name\":\"name\",\"hash\":{},\"data\":data}) : helper)))\n + \"</p>\\r\\n </div>\\r\\n <div class=\\\"clickable-seek col-3 text-right\\\">\\r\\n <p class=\\\"m-0 py-2\\\">\"\n + alias4(alias3(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.time : stack1), depth0))\n + \"</p>\\r\\n </div>\\r\\n\"\n + ((stack1 = helpers[\"if\"].call(alias2,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.showActions : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"</div>\\r\\n<div class=\\\"edit-form-region\\\"></div>\\r\\n\";\n},\"useData\":true});","import { ObjectHash, Radio } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\nimport { SvgHelper, cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\nimport { TooltipBehavior } from 'libs/shared/legacy/behaviors/tooltip/TooltipBehavior';\r\n\r\nimport { TimeHelpers } from 'shared/utils';\r\n\r\nimport { ChapterFormComponent } from 'apps/library-editor/components/chapter-form/ChapterFormComponent';\r\nimport { LibraryEditorActions } from 'apps/library-editor/constants';\r\n\r\nimport ChapterItemTemplate from './ChapterItem.hbs';\r\nimport styles from './chapter-item.scss';\r\n\r\ninterface ChapterItemComponentOptions extends Core.ComponentOptions {\r\n showActions?: boolean;\r\n duration: number;\r\n channelName: string;\r\n}\r\n\r\nexport class ChapterItemComponent extends Core.Component {\r\n protected options: ChapterItemComponentOptions;\r\n\r\n constructor(options: ChapterItemComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.bindListeners();\r\n }\r\n\r\n public get name(): string {\r\n return 'ChapterItemComponent';\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.chapterItem';\r\n }\r\n\r\n public get instanceChannelName(): string {\r\n return `${this.name}${this.cid}`;\r\n }\r\n\r\n public get template(): any {\r\n return ChapterItemTemplate;\r\n }\r\n\r\n public get className(): string {\r\n return `chapter ${styles.chapterItem}`;\r\n }\r\n\r\n public get behaviors(): any[] {\r\n return [{\r\n behaviorClass: TooltipBehavior,\r\n selector: '.action'\r\n }];\r\n }\r\n\r\n public regions(): ObjectHash {\r\n return {\r\n editForm: {\r\n replaceElement: false,\r\n el: '.edit-form-region'\r\n }\r\n };\r\n }\r\n\r\n public get elements(): ObjectHash {\r\n return {\r\n chapterItem: '.chapter-item',\r\n editChapter: '.edit-chapter',\r\n deleteChapter: '.delete-chapter'\r\n };\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n 'click @ui.editChapter': 'onEditChapter',\r\n 'click @ui.deleteChapter': 'onDeleteChapter',\r\n 'click .clickable-seek': 'onClick',\r\n };\r\n }\r\n\r\n private bindListeners(): void {\r\n this.listenTo(this.instanceChannelName, LibraryEditorActions.CancelChapterEdit, this.onCancelEdit);\r\n this.listenTo(this.instanceChannelName, LibraryEditorActions.UpdateChapter, this.onUpdateChapter);\r\n this.listenTo(this.instanceChannelName, LibraryEditorActions.UpdateChapterTime, this.onUpdateChapterTime);\r\n\r\n this.listenTo(this.model, 'change:showEditor', this.onShowEditorChange);\r\n this.listenTo(this.model, 'change:loading', this.onLoadingChange);\r\n\r\n /**\r\n * Bind listener to the first chapter to ensure that it's actions are\r\n * updated to reflect the chapter collection's state.\r\n */\r\n const firstChapter = this.model.collection.first();\r\n if (this.model === firstChapter) {\r\n this.listenTo(this.model.collection, 'add remove sort', this.render);\r\n return;\r\n }\r\n\r\n // Re-render to ensure we display accurate indexes\r\n this.listenTo(this.model.collection, 'sort', this.render);\r\n }\r\n\r\n\r\n private onClick(e: JQuery.Event): void {\r\n const channel = Radio.channel(this.options.channelName);\r\n\r\n if (this.model.get('isPhysicalChapter'))\r\n channel.trigger(LibraryEditorActions.SeekToChapter, this.model.get('index'));\r\n else\r\n channel.trigger(LibraryEditorActions.UpdateChapterTime, this.model.get('startTime'));\r\n }\r\n\r\n private onLoadingChange(): void {\r\n const tooltipState = this.model.get('loading') ? 'disable' : 'enable';\r\n this.getUI('editChapter').tooltip(tooltipState as any);\r\n this.getUI('deleteChapter').tooltip(tooltipState as any);\r\n\r\n this.model.set('showEditor', false, { silent: true });\r\n this.render();\r\n }\r\n\r\n private onShowEditorChange(): void {\r\n if (this.model.get('loading'))\r\n return;\r\n\r\n this.model.get('showEditor') ? this.showEditView() : this.hideEditView();\r\n }\r\n\r\n private showEditView(): void {\r\n this.renderEditForm();\r\n this.getUI('chapterItem').addClass(styles.darkBackground);\r\n }\r\n\r\n private hideEditView(): void {\r\n this.model.set('showEditor', false, { silent: true });\r\n this.getUI('chapterItem').removeClass(styles.darkBackground);\r\n this.detachChildView('editForm');\r\n }\r\n\r\n private onCancelEdit(): void {\r\n this.hideEditView();\r\n }\r\n\r\n private onDeleteChapter(): void {\r\n if (this.model.get('loading'))\r\n return;\r\n\r\n const channel = Radio.channel(this.options.channelName);\r\n channel.trigger(LibraryEditorActions.DeleteChapter, this.model);\r\n }\r\n\r\n // Proxy the update event and propogate up to the edit chapters parent\r\n private onUpdateChapter(chapter: ObjectHash): void {\r\n Radio.channel(this.options.channelName).trigger(LibraryEditorActions.UpdateChapter, chapter);\r\n this.render();\r\n }\r\n\r\n // Proxy the update event and propogate up to the edit chapters parent\r\n private onUpdateChapterTime(time: number): void {\r\n Radio.channel(this.options.channelName).trigger(LibraryEditorActions.UpdateChapterTime, time);\r\n }\r\n\r\n private onEditChapter(): void {\r\n const channel = Radio.channel(this.options.channelName);\r\n channel.trigger(LibraryEditorActions.ToggleEdit, this.model);\r\n }\r\n\r\n private canDelete(index: number): boolean {\r\n const collectionLength = this.model.collection.length;\r\n\r\n // If the only chapter in the collection is the first chapter, allow deletion.\r\n if (index === 1 && collectionLength === 1)\r\n return true;\r\n\r\n // Don't let the first chapter be deleted if there multiple chapters.\r\n if (index === 1 && collectionLength > 1)\r\n return false;\r\n\r\n // All other chapters in th collection can be deleted.\r\n return true;\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n const index = this.model.collection.indexOf(this.model) + 1;\r\n const time = TimeHelpers.trimToMinutes(TimeHelpers.secondsToHoursFormatted(this.model.get('startTime')));\r\n\r\n return {\r\n ...this.options,\r\n styles, time, index,\r\n loading: this.model.get('loading'),\r\n allowDelete: this.canDelete(index),\r\n editSvg: SvgHelper.getSvg(cvSvgLibrary.Edit),\r\n deleteSvg: SvgHelper.getSvg(cvSvgLibrary.Delete)\r\n };\r\n }\r\n\r\n private renderEditForm(): void {\r\n this.showChildView('editForm', new ChapterFormComponent({\r\n model: this.model,\r\n editing: true,\r\n channelName: this.instanceChannelName,\r\n duration: this.options.duration,\r\n }));\r\n }\r\n\r\n // This is super trash - but calling dispose does nothing. \r\n public onBeforeDetach(): void {\r\n $('.tooltip').remove();\r\n }\r\n}\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"darkBackground\":\"cv--darkBackground--2jtQl\",\"loading\":\"cv--loading--152ia\",\"svgContainer\":\"cv--svgContainer--xdD5o\",\"chapterItem\":\"cv--chapterItem--3G38c\"};","var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var alias1=container.propertyIsEnumerable, alias2=depth0 != null ? depth0 : (container.nullContext || {}), alias3=container.hooks.helperMissing, alias4=container.escapeExpression;\n\n return \"<h5>\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"chapters\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</h5>\\r\\n<div class=\\\"row mt-3 m-0 border-bottom\\\">\\r\\n <div class=\\\"col-1\\\">\\r\\n <label>#</label>\\r\\n </div>\\r\\n <div class=\\\"col-6\\\">\\r\\n <label>\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"nameLabel\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</label>\\r\\n </div>\\r\\n <div class=\\\"col-3 text-right\\\">\\r\\n <label>\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"startLabel\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</>\\r\\n </div>\\r\\n</div>\\r\\n<div class=\\\"chapter-list-region\\\"></div>\";\n},\"useData\":true});","import { Core } from 'libs/common/core';\r\nimport * as _ from 'underscore';\r\nimport { ObjectHash } from 'backbone';\r\n\r\nimport { ChapterComponentCollection } from 'apps/library-editor/components/chapter-list/ChapterComponentCollection';\r\nimport ChaptersTemplate from './Chapters.hbs';\r\n\r\ninterface ChaptersComponentOptions extends Core.ComponentOptions {\r\n channelName?: string;\r\n duration?: number;\r\n showActions?: boolean;\r\n editable?: boolean;\r\n showHeader?: boolean;\r\n}\r\n\r\nexport class ChaptersComponent extends Core.Component {\r\n public options: ChaptersComponentOptions;\r\n\r\n constructor(options: ChaptersComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'ChaptersComponent';\r\n }\r\n\r\n public get template(): any {\r\n return ChaptersTemplate;\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.chapters';\r\n }\r\n\r\n public get className(): string {\r\n return `chapters ${!this.options.editable && 'py-3 border-top'}`;\r\n }\r\n\r\n public regions(): ObjectHash {\r\n return {\r\n chapterList: {\r\n replaceElement: true,\r\n el: '.chapter-list-region',\r\n },\r\n };\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n showHeader: this.options.showHeader\r\n };\r\n }\r\n\r\n public onRender(): void {\r\n this.showChildView('chapterList', new ChapterComponentCollection({\r\n collection: this.collection,\r\n duration: this.options.duration,\r\n channelName: this.options.channelName,\r\n showActions: this.options.showActions,\r\n editable: this.options.editable\r\n }));\r\n }\r\n}"],"sourceRoot":""}
1
+ {"version":3,"sources":["file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/components/chapter-form/ChapterForm.hbs","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/components/chapter-form/ChapterFormComponent.ts","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/components/chapter-list/ChapterComponentCollection.ts","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/components/chapter-list/ChapterItem.hbs","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/components/chapter-list/ChapterItemComponent.ts","webpack://@clickview/library-editor/./src/apps/library-editor/components/chapter-list/chapter-item.scss?a845","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/components/chapters/Chapters.hbs","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/components/chapters/ChaptersComponent.ts"],"names":[],"mappings":"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","file":"scripts/34.chunk.js","sourcesContent":["var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable, alias2=container.lambda, alias3=container.escapeExpression, alias4=depth0 != null ? depth0 : (container.nullContext || {}), alias5=container.hooks.helperMissing;\n\n return \" <div class=\\\"col-6 form-group\\\">\\r\\n <label class=\\\"d-block\\\" for=\\\"\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.timeId : stack1), depth0))\n + \"\\\">\"\n + alias3((helpers.lang||(depth0 && depth0.lang)||alias5).call(alias4,\"startTimeLabel\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</label>\\r\\n <input\\r\\n class=\\\"form-control d-inline-block col-3 time-input hour-input\\\"\\r\\n type=\\\"number\\\"\\r\\n placeholder=\\\"\"\n + alias3((helpers.lang||(depth0 && depth0.lang)||alias5).call(alias4,\"hoursPlaceholder\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"\\\"\\r\\n name=\\\"hours\\\"\\r\\n autocomplete=\\\"off\\\"\\r\\n \"\n + ((stack1 = helpers[\"if\"].call(alias4,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.hrDisabled : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(2, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"> <b>:</b>\\r\\n <input\\r\\n class=\\\"form-control d-inline-block col-3 time-input minute-input\\\"\\r\\n type=\\\"number\\\"\\r\\n placeholder=\\\"\"\n + alias3((helpers.lang||(depth0 && depth0.lang)||alias5).call(alias4,\"minutesPlaceholder\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"\\\"\\r\\n name=\\\"minutes\\\"\\r\\n autocomplete=\\\"off\\\"\\r\\n \"\n + ((stack1 = helpers[\"if\"].call(alias4,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.minDisabled : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(2, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"> <b>:</b>\\r\\n <input\\r\\n class=\\\"form-control d-inline-block col-3 time-input second-input\\\"\\r\\n type=\\\"number\\\"\\r\\n placeholder=\\\"\"\n + alias3((helpers.lang||(depth0 && depth0.lang)||alias5).call(alias4,\"secondsPlaceholder\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"\\\"\\r\\n name=\\\"seconds\\\"\\r\\n id=\\\"\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.timeId : stack1), depth0))\n + \"\\\"\\r\\n autocomplete=\\\"off\\\"\\r\\n \"\n + ((stack1 = helpers[\"if\"].call(alias4,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.secDisabled : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(2, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \">\\r\\n <div class=\\\"form-feedback\\\"></div>\\r\\n </div>\\r\\n\";\n},\"2\":function(container,depth0,helpers,partials,data) {\n return \"disabled\";\n},\"4\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return \" <button type=\\\"submit\\\" class=\\\"btn btn-primary btn-sm ml-2\\\">\\r\\n <span class=\\\"d-inline-block align-middle svg-container\\\">\"\n + ((stack1 = container.lambda(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.plusSvg : stack1), depth0)) != null ? stack1 : \"\")\n + \"</span>\\r\\n <span class=\\\"align-middle\\\">\"\n + container.escapeExpression((helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),\"add\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</span>\\r\\n </button>\\r\\n\";\n},\"6\":function(container,depth0,helpers,partials,data) {\n var alias1=container.propertyIsEnumerable, alias2=depth0 != null ? depth0 : (container.nullContext || {}), alias3=container.hooks.helperMissing, alias4=container.escapeExpression;\n\n return \" <button type=\\\"submit\\\" class=\\\"btn btn-primary btn-sm ml-2\\\">\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"save\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</button>\\r\\n <button type=\\\"button\\\" class=\\\"btn btn-secondary btn-sm cancel ml-2\\\">\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"cancel\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</button>\\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable, alias2=container.lambda, alias3=container.escapeExpression, alias4=depth0 != null ? depth0 : (container.nullContext || {}), alias5=container.hooks.helperMissing;\n\n return \"<div class=\\\"row\\\">\\r\\n <div class=\\\"col-6 form-group\\\">\\r\\n <label for=\\\"\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.chapterId : stack1), depth0))\n + \"\\\">\"\n + alias3((helpers.lang||(depth0 && depth0.lang)||alias5).call(alias4,\"nameLabel\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</label>\\r\\n <input type=\\\"text\\\" class=\\\"form-control chapter-name\\\" name=\\\"name\\\" id=\\\"\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.chapterId : stack1), depth0))\n + \"\\\" placeholder=\\\"\"\n + alias3((helpers.lang||(depth0 && depth0.lang)||alias5).call(alias4,\"namePlaceholder\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"\\\" autofocus autocomplete=\\\"off\\\">\\r\\n <div class=\\\"form-feedback\\\"></div>\\r\\n </div>\\r\\n\"\n + ((stack1 = helpers[\"if\"].call(alias4,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.enabled : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"</div>\\r\\n\\r\\n<div class=\\\"row\\\">\\r\\n\"\n + ((stack1 = helpers[\"if\"].call(alias4,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.creating : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(4, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\r\\n\"\n + ((stack1 = helpers[\"if\"].call(alias4,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.editing : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(6, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"</div>\";\n},\"useData\":true});","import * as _ from 'underscore';\r\nimport * as Backbone from 'backbone';\r\nimport { ObjectHash, Radio } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { ViewModelService } from 'libs/common/backbone/services/ViewModelService';\r\nimport { SvgHelper, cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\n\r\nimport { BackboneValidationBehavior, StickitBehavior } from 'shared/behaviors';\r\nimport { Chapter } from 'shared/models/Chapter';\r\nimport { TimeHelpers } from 'shared/utils';\r\n\r\nimport { ChapterHelpers } from 'apps/library-editor/utils/ChapterHelper';\r\nimport { LibraryEditorActions } from 'apps/library-editor/constants';\r\n\r\nimport ChapterFormTemplate from './ChapterForm.hbs';\r\n\r\nconst ENTER_KEYCODE = 13;\r\n\r\ninterface ChapterFormComponentOptions extends Core.ComponentOptions {\r\n editing?: boolean;\r\n creating?: boolean;\r\n channelName: string;\r\n duration: number;\r\n playerViewModelKey?: string;\r\n showActions?: boolean;\r\n}\r\n\r\nexport class ChapterFormComponent extends Core.Component {\r\n protected options: ChapterFormComponentOptions;\r\n private webPlayerTime: Date;\r\n\r\n constructor(options: ChapterFormComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n if (this.options.playerViewModelKey)\r\n this.listenToPlayerViewModel();\r\n\r\n this.initViewModel();\r\n\r\n if (this.options.editing)\r\n this.syncTime();\r\n }\r\n\r\n public get name(): string {\r\n return 'ChapterFormComponent';\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.chapterForm';\r\n }\r\n\r\n public get tagName(): string {\r\n return 'form';\r\n }\r\n\r\n public get viewModelName(): string {\r\n return `${this.name}:${this.cid}`;\r\n }\r\n\r\n public get template(): any {\r\n return ChapterFormTemplate;\r\n }\r\n\r\n public get className(): string {\r\n return this.options.creating ? 'py-3' : 'border-top p-2';\r\n }\r\n\r\n\r\n public get behaviors(): any[] {\r\n return [{\r\n behaviorClass: BackboneValidationBehavior,\r\n bindViewModel: true\r\n }, {\r\n behaviorClass: StickitBehavior,\r\n bindViewModel: true\r\n }];\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n 'submit': 'onSubmit',\r\n 'change .chapter-name': 'validateName',\r\n 'keyup .chapter-name': 'validateName',\r\n 'change .time-input': 'onTimeInputUpdate',\r\n 'click .time-input': 'onTimeInputUpdate',\r\n 'keyup .time-input': 'onTimeInputUpdate',\r\n 'click .cancel': 'destroyView',\r\n };\r\n }\r\n\r\n public get bindings(): ObjectHash {\r\n return {\r\n '[name=name]': {\r\n observe: 'name',\r\n setOptions: { validate: true }\r\n },\r\n '[name=hours]': {\r\n observe: 'hours',\r\n setOptions: { validate: true }\r\n },\r\n '[name=minutes]': {\r\n observe: 'minutes',\r\n setOptions: { validate: true }\r\n },\r\n '[name=seconds]': {\r\n observe: 'seconds',\r\n setOptions: { validate: true }\r\n },\r\n };\r\n }\r\n\r\n private initViewModel(): void {\r\n this.viewModel = ViewModelService.get<Chapter>(this.viewModelName, this.model.toJSON());\r\n }\r\n\r\n /**\r\n * Synchronise start time based on current player's playback position\r\n */\r\n private listenToPlayerViewModel(): void {\r\n const playerViewModel = ViewModelService.get(this.options.playerViewModelKey);\r\n this.listenTo(playerViewModel, 'change:currenttime', this.updateTime);\r\n }\r\n\r\n /**\r\n * Set the value of each time input, syncing with the webplayer current time\r\n */\r\n private updateTime(player: Core.Model): void {\r\n this.webPlayerTime = player.get('currenttime');\r\n this.syncTime();\r\n }\r\n\r\n private syncTime(): void {\r\n // The start time of the chapter, or the current webplayer time\r\n const time = this.viewModel.get('startTime') || this.webPlayerTime;\r\n\r\n this.viewModel.set({\r\n hours: TimeHelpers.getHoursComponent(time),\r\n minutes: TimeHelpers.getMinutesComponent(time),\r\n seconds: TimeHelpers.getSecondsComponent(time)\r\n });\r\n }\r\n\r\n /**\r\n * The time constructed from each time input in seconds\r\n * Returns -1 if any time component is negative, or all time components are undefined\r\n */\r\n private getNewTime(): number {\r\n if (!this.enabled()) return 0;\r\n return TimeHelpers.parseTime(this.viewModel.pick('hours', 'minutes', 'seconds'));\r\n }\r\n\r\n /**\r\n * Whether the time input's are enabled\r\n * Is true for all chapters except for the first existing chapter\r\n */\r\n private enabled(): boolean {\r\n return this.options.creating || this.model.collection.indexOf(this.model) !== 0;\r\n }\r\n\r\n /**\r\n * Returns the maximum values for hours, minutes and seconds\r\n * based on the duration of the video\r\n */\r\n private maxTimes(): ObjectHash {\r\n const duration = TimeHelpers.millisecondsToSeconds(this.options.duration);\r\n const maxHr = TimeHelpers.getHoursComponent(duration);\r\n const maxMin = maxHr > 0 ? 59 : TimeHelpers.getMinutesComponent(duration);\r\n const maxSec = maxMin > 0 ? 59 : TimeHelpers.getSecondsComponent(duration);\r\n return {\r\n maxHr, maxMin, maxSec\r\n };\r\n }\r\n\r\n /**\r\n * Called when any of the 3 time inputs are updated\r\n * If we are creating a chapter, the webplayer time is also updated\r\n */\r\n private onTimeInputUpdate(): void {\r\n const channel = Radio.channel(this.options.channelName);\r\n channel.trigger(LibraryEditorActions.UpdateChapterTime, this.getNewTime());\r\n\r\n this.validateStartTime();\r\n }\r\n\r\n private destroyView(): void {\r\n const channel = Radio.channel(this.options.channelName);\r\n channel.trigger(LibraryEditorActions.CancelChapterEdit);\r\n this.destroy();\r\n }\r\n\r\n /**\r\n * When a chapter is added or saved, validate the new values\r\n * and trigger appropriate event to update the chapter list\r\n */\r\n private onSubmit(e: JQuery.Event): boolean {\r\n e.preventDefault();\r\n\r\n if (!this.validate())\r\n return false;\r\n\r\n const newChapter: ObjectHash = {\r\n id: this.viewModel.get('id'),\r\n name: this.viewModel.get('name'),\r\n startTime: this.getNewTime(),\r\n };\r\n\r\n const channel = Radio.channel(this.options.channelName);\r\n\r\n // Update or create chapter depending on where the component is being rendered\r\n let chapterChangeEvent = LibraryEditorActions.CreateChapter;\r\n\r\n if (this.options.editing)\r\n chapterChangeEvent = LibraryEditorActions.UpdateChapter;\r\n\r\n channel.trigger(chapterChangeEvent, newChapter);\r\n\r\n this.stopListening(this.viewModel);\r\n ViewModelService.clear(this.viewModelName);\r\n }\r\n\r\n private validate(): boolean {\r\n this.viewModel.validate();\r\n const validStartTime = this.validateStartTime();\r\n const validateName = this.validateName();\r\n return this.viewModel.isValid() && validStartTime && validateName;\r\n }\r\n\r\n private validateStartTime(): boolean {\r\n const { valid, invalid } = Backbone.Validation.callbacks;\r\n const parentCollection = this.model.collection || this.options.collection;\r\n\r\n const newTime = this.getNewTime();\r\n\r\n const invalidTimeMessage = ChapterHelpers.isValidChapterTime(\r\n this.model, newTime, this.options.duration, parentCollection\r\n );\r\n\r\n let invalidTimeProps: any = [];\r\n let validTimeProps = [ 'seconds', 'minutes', 'hours' ];\r\n\r\n if (newTime < 0) {\r\n invalidTimeProps = validTimeProps;\r\n } else if (invalidTimeMessage) {\r\n invalidTimeProps.push('seconds');\r\n if (newTime > 59) invalidTimeProps.push('minutes');\r\n if (newTime > (59 * 60)) invalidTimeProps.push('hours');\r\n }\r\n\r\n validTimeProps.forEach((prop: string) => valid(this, prop, null));\r\n invalidTimeProps.forEach((prop: string) => invalid(this, prop, invalidTimeMessage, null));\r\n\r\n return !invalidTimeMessage;\r\n }\r\n\r\n private validateName(e?: JQueryEventObject): boolean {\r\n if (e && e.keyCode === ENTER_KEYCODE) return;\r\n\r\n const { valid, invalid } = Backbone.Validation.callbacks;\r\n const parentCollection = this.model.collection || this.options.collection;\r\n\r\n const invalidNameMessage = ChapterHelpers.isValidChapterName(this.model, this.viewModel.get('name'), parentCollection);\r\n\r\n if (!invalidNameMessage)\r\n valid(this, 'name', null);\r\n else\r\n invalid(this, 'name', invalidNameMessage, null);\r\n\r\n return !invalidNameMessage;\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n const { maxHr, maxMin, maxSec } = this.maxTimes();\r\n\r\n const secDisabled = maxSec === 0;\r\n const minDisabled = maxMin === 0;\r\n const hrDisabled = maxHr === 0;\r\n\r\n return {\r\n ...this.options,\r\n enabled: this.enabled(),\r\n timeId: `${this.cid}-time`,\r\n chapterId: `${this.cid}-chapter-name`,\r\n plusSvg: SvgHelper.getSvg(cvSvgLibrary.Plus),\r\n secDisabled, minDisabled, hrDisabled\r\n };\r\n }\r\n}\r\n","import * as _ from 'underscore';\r\nimport { ObjectHash } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport { Chapter } from 'shared/models/Chapter';\r\nimport { ChapterItemComponent } from 'apps/library-editor/components/chapter-list/ChapterItemComponent';\r\nimport { LibraryEditorActions } from 'apps/library-editor/constants';\r\n\r\ninterface ChapterComponentCollectionOptions extends Core.ComponentCollectionOptions {\r\n duration: number;\r\n channelName: string;\r\n showActions?: boolean;\r\n editable?: boolean;\r\n}\r\n\r\nexport class ChapterComponentCollection extends Core.ComponentCollection {\r\n protected options: ChapterComponentCollectionOptions;\r\n\r\n constructor(options: ChapterComponentCollectionOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.bindEditorListeners();\r\n }\r\n\r\n public get name(): string {\r\n return 'ChapterComponentCollection';\r\n }\r\n\r\n public get className(): string {\r\n return 'chapters';\r\n }\r\n\r\n public get childView(): typeof ChapterItemComponent {\r\n return ChapterItemComponent;\r\n }\r\n\r\n private bindEditorListeners(): void {\r\n if (!this.options.editable)\r\n return;\r\n\r\n this.listenTo(this.options.channelName, LibraryEditorActions.ToggleEdit, this.toggleEditForm);\r\n }\r\n\r\n /**\r\n * When a child view triggers its edit view, hide all other edit views\r\n */\r\n public toggleEditForm(model: Chapter): void {\r\n this.collection.each(m => m !== model && m.set('showEditor', false));\r\n model.set('showEditor', !model.get('showEditor'));\r\n }\r\n\r\n public get childViewOptions(): ObjectHash {\r\n return {\r\n showActions: this.options.showActions,\r\n duration: this.options.duration,\r\n channelName: this.options.channelName,\r\n };\r\n }\r\n}\r\n","var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return container.escapeExpression(container.lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.loading : stack1), depth0));\n},\"3\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable, alias2=container.lambda, alias3=container.escapeExpression, alias4=depth0 != null ? depth0 : (container.nullContext || {});\n\n return \" <div class=\\\"col-2 text-right\\\">\\r\\n <a class=\\\"action edit-chapter my-2 svg-container \"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.svgContainer : stack1), depth0))\n + \" d-inline-block text-muted\\\"\\r\\n title=\\\"\"\n + alias3((helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(alias4,\"edit\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"\\\">\"\n + ((stack1 = alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.editSvg : stack1), depth0)) != null ? stack1 : \"\")\n + \"</a>\\r\\n\"\n + ((stack1 = helpers[\"if\"].call(alias4,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.allowDelete : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(4, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \" </div>\\r\\n\";\n},\"4\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable, alias2=container.lambda, alias3=container.escapeExpression;\n\n return \" <a class=\\\"action delete-chapter my-2 svg-container \"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.svgContainer : stack1), depth0))\n + \" d-inline-block text-muted\\\"\\r\\n title=\\\"\"\n + alias3((helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),\"delete\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"\\\">\"\n + ((stack1 = alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.deleteSvg : stack1), depth0)) != null ? stack1 : \"\")\n + \"</a>\\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper, alias1=container.propertyIsEnumerable, alias2=depth0 != null ? depth0 : (container.nullContext || {}), alias3=container.lambda, alias4=container.escapeExpression;\n\n return \"<div class=\\\"row mx-0 border-top chapter-item \"\n + ((stack1 = helpers[\"if\"].call(alias2,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.loading : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\">\\r\\n <div class=\\\"clickable-seek col-1\\\">\\r\\n <p class=\\\"m-0 py-2\\\">\"\n + alias4(alias3(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.index : stack1), depth0))\n + \"</p>\\r\\n </div>\\r\\n <div class=\\\"clickable-seek col-6\\\">\\r\\n <p class=\\\"m-0 py-2\\\">\"\n + alias4(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === \"function\" ? helper.call(alias2,{\"name\":\"name\",\"hash\":{},\"data\":data}) : helper)))\n + \"</p>\\r\\n </div>\\r\\n <div class=\\\"clickable-seek col-3 text-right\\\">\\r\\n <p class=\\\"m-0 py-2\\\">\"\n + alias4(alias3(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.time : stack1), depth0))\n + \"</p>\\r\\n </div>\\r\\n\"\n + ((stack1 = helpers[\"if\"].call(alias2,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.showActions : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"</div>\\r\\n<div class=\\\"edit-form-region\\\"></div>\\r\\n\";\n},\"useData\":true});","import { ObjectHash, Radio } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\nimport { SvgHelper, cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\nimport { TooltipBehavior } from 'libs/shared/legacy/behaviors/tooltip/TooltipBehavior';\r\n\r\nimport { TimeHelpers } from 'shared/utils';\r\n\r\nimport { ChapterFormComponent } from 'apps/library-editor/components/chapter-form/ChapterFormComponent';\r\nimport { LibraryEditorActions } from 'apps/library-editor/constants';\r\n\r\nimport ChapterItemTemplate from './ChapterItem.hbs';\r\nimport styles from './chapter-item.scss';\r\n\r\ninterface ChapterItemComponentOptions extends Core.ComponentOptions {\r\n showActions?: boolean;\r\n duration: number;\r\n channelName: string;\r\n}\r\n\r\nexport class ChapterItemComponent extends Core.Component {\r\n protected options: ChapterItemComponentOptions;\r\n\r\n constructor(options: ChapterItemComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.bindListeners();\r\n }\r\n\r\n public get name(): string {\r\n return 'ChapterItemComponent';\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.chapterItem';\r\n }\r\n\r\n public get instanceChannelName(): string {\r\n return `${this.name}${this.cid}`;\r\n }\r\n\r\n public get template(): any {\r\n return ChapterItemTemplate;\r\n }\r\n\r\n public get className(): string {\r\n return `chapter ${styles.chapterItem}`;\r\n }\r\n\r\n public get behaviors(): any[] {\r\n return [{\r\n behaviorClass: TooltipBehavior,\r\n selector: '.action'\r\n }];\r\n }\r\n\r\n public regions(): ObjectHash {\r\n return {\r\n editForm: {\r\n replaceElement: false,\r\n el: '.edit-form-region'\r\n }\r\n };\r\n }\r\n\r\n public get elements(): ObjectHash {\r\n return {\r\n chapterItem: '.chapter-item',\r\n editChapter: '.edit-chapter',\r\n deleteChapter: '.delete-chapter'\r\n };\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n 'click @ui.editChapter': 'onEditChapter',\r\n 'click @ui.deleteChapter': 'onDeleteChapter',\r\n 'click .clickable-seek': 'onClick',\r\n };\r\n }\r\n\r\n private bindListeners(): void {\r\n this.listenTo(this.instanceChannelName, LibraryEditorActions.CancelChapterEdit, this.onCancelEdit);\r\n this.listenTo(this.instanceChannelName, LibraryEditorActions.UpdateChapter, this.onUpdateChapter);\r\n this.listenTo(this.instanceChannelName, LibraryEditorActions.UpdateChapterTime, this.onUpdateChapterTime);\r\n\r\n this.listenTo(this.model, 'change:showEditor', this.onShowEditorChange);\r\n this.listenTo(this.model, 'change:loading', this.onLoadingChange);\r\n\r\n /**\r\n * Bind listener to the first chapter to ensure that it's actions are\r\n * updated to reflect the chapter collection's state.\r\n */\r\n const firstChapter = this.model.collection.first();\r\n if (this.model === firstChapter) {\r\n this.listenTo(this.model.collection, 'add remove sort', this.render);\r\n return;\r\n }\r\n\r\n // Re-render to ensure we display accurate indexes\r\n this.listenTo(this.model.collection, 'sort', this.render);\r\n }\r\n\r\n\r\n private onClick(e: JQuery.Event): void {\r\n const channel = Radio.channel(this.options.channelName);\r\n\r\n if (this.model.get('isPhysicalChapter'))\r\n channel.trigger(LibraryEditorActions.SeekToChapter, this.model.get('index'));\r\n else\r\n channel.trigger(LibraryEditorActions.UpdateChapterTime, this.model.get('startTime'));\r\n }\r\n\r\n private onLoadingChange(): void {\r\n const tooltipState = this.model.get('loading') ? 'disable' : 'enable';\r\n this.getUI('editChapter').tooltip(tooltipState as any);\r\n this.getUI('deleteChapter').tooltip(tooltipState as any);\r\n\r\n this.model.set('showEditor', false, { silent: true });\r\n this.render();\r\n }\r\n\r\n private onShowEditorChange(): void {\r\n if (this.model.get('loading'))\r\n return;\r\n\r\n this.model.get('showEditor') ? this.showEditView() : this.hideEditView();\r\n }\r\n\r\n private showEditView(): void {\r\n this.renderEditForm();\r\n this.getUI('chapterItem').addClass(styles.darkBackground);\r\n }\r\n\r\n private hideEditView(): void {\r\n this.model.set('showEditor', false, { silent: true });\r\n this.getUI('chapterItem').removeClass(styles.darkBackground);\r\n this.detachChildView('editForm');\r\n }\r\n\r\n private onCancelEdit(): void {\r\n this.hideEditView();\r\n }\r\n\r\n private onDeleteChapter(): void {\r\n if (this.model.get('loading'))\r\n return;\r\n\r\n const channel = Radio.channel(this.options.channelName);\r\n channel.trigger(LibraryEditorActions.DeleteChapter, this.model);\r\n }\r\n\r\n // Proxy the update event and propogate up to the edit chapters parent\r\n private onUpdateChapter(chapter: ObjectHash): void {\r\n Radio.channel(this.options.channelName).trigger(LibraryEditorActions.UpdateChapter, chapter);\r\n this.render();\r\n }\r\n\r\n // Proxy the update event and propogate up to the edit chapters parent\r\n private onUpdateChapterTime(time: number): void {\r\n Radio.channel(this.options.channelName).trigger(LibraryEditorActions.UpdateChapterTime, time);\r\n }\r\n\r\n private onEditChapter(): void {\r\n const channel = Radio.channel(this.options.channelName);\r\n channel.trigger(LibraryEditorActions.ToggleEdit, this.model);\r\n }\r\n\r\n private canDelete(index: number): boolean {\r\n const collectionLength = this.model.collection.length;\r\n\r\n // If the only chapter in the collection is the first chapter, allow deletion.\r\n if (index === 1 && collectionLength === 1)\r\n return true;\r\n\r\n // Don't let the first chapter be deleted if there multiple chapters.\r\n if (index === 1 && collectionLength > 1)\r\n return false;\r\n\r\n // All other chapters in th collection can be deleted.\r\n return true;\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n const index = this.model.collection.indexOf(this.model) + 1;\r\n const time = TimeHelpers.trimToMinutes(TimeHelpers.secondsToHoursFormatted(this.model.get('startTime')));\r\n\r\n return {\r\n ...this.options,\r\n styles, time, index,\r\n loading: this.model.get('loading'),\r\n allowDelete: this.canDelete(index),\r\n editSvg: SvgHelper.getSvg(cvSvgLibrary.Edit),\r\n deleteSvg: SvgHelper.getSvg(cvSvgLibrary.Delete)\r\n };\r\n }\r\n\r\n private renderEditForm(): void {\r\n this.showChildView('editForm', new ChapterFormComponent({\r\n model: this.model,\r\n editing: true,\r\n channelName: this.instanceChannelName,\r\n duration: this.options.duration,\r\n }));\r\n }\r\n\r\n // This is super trash - but calling dispose does nothing. \r\n public onBeforeDetach(): void {\r\n $('.tooltip').remove();\r\n }\r\n}\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"darkBackground\":\"cv--darkBackground--2jtQl\",\"loading\":\"cv--loading--152ia\",\"svgContainer\":\"cv--svgContainer--xdD5o\",\"chapterItem\":\"cv--chapterItem--3G38c\"};","var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var alias1=container.propertyIsEnumerable, alias2=depth0 != null ? depth0 : (container.nullContext || {}), alias3=container.hooks.helperMissing, alias4=container.escapeExpression;\n\n return \"<h5>\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"chapters\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</h5>\\r\\n<div class=\\\"row mt-3 m-0 border-bottom\\\">\\r\\n <div class=\\\"col-1\\\">\\r\\n <label>#</label>\\r\\n </div>\\r\\n <div class=\\\"col-6\\\">\\r\\n <label>\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"nameLabel\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</label>\\r\\n </div>\\r\\n <div class=\\\"col-3 text-right\\\">\\r\\n <label>\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"startLabel\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</>\\r\\n </div>\\r\\n</div>\\r\\n<div class=\\\"chapter-list-region\\\"></div>\";\n},\"useData\":true});","import { Core } from 'libs/common/core';\r\nimport * as _ from 'underscore';\r\nimport { ObjectHash } from 'backbone';\r\n\r\nimport { ChapterComponentCollection } from 'apps/library-editor/components/chapter-list/ChapterComponentCollection';\r\nimport ChaptersTemplate from './Chapters.hbs';\r\n\r\ninterface ChaptersComponentOptions extends Core.ComponentOptions {\r\n channelName?: string;\r\n duration?: number;\r\n showActions?: boolean;\r\n editable?: boolean;\r\n showHeader?: boolean;\r\n}\r\n\r\nexport class ChaptersComponent extends Core.Component {\r\n public options: ChaptersComponentOptions;\r\n\r\n constructor(options: ChaptersComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'ChaptersComponent';\r\n }\r\n\r\n public get template(): any {\r\n return ChaptersTemplate;\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.chapters';\r\n }\r\n\r\n public get className(): string {\r\n return `chapters ${!this.options.editable && 'py-3 border-top'}`;\r\n }\r\n\r\n public regions(): ObjectHash {\r\n return {\r\n chapterList: {\r\n replaceElement: true,\r\n el: '.chapter-list-region',\r\n },\r\n };\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n showHeader: this.options.showHeader\r\n };\r\n }\r\n\r\n public onRender(): void {\r\n this.showChildView('chapterList', new ChapterComponentCollection({\r\n collection: this.collection,\r\n duration: this.options.duration,\r\n channelName: this.options.channelName,\r\n showActions: this.options.showActions,\r\n editable: this.options.editable\r\n }));\r\n }\r\n}"],"sourceRoot":""}