@clickview/library-editor 1.1.22-dev.1 → 1.1.22-rc.0

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 (393) hide show
  1. package/dist/css/1.chunk.css.map +1 -0
  2. package/dist/css/10.chunk.css.map +1 -0
  3. package/dist/css/11.chunk.css +137 -0
  4. package/dist/css/11.chunk.css.map +1 -0
  5. package/dist/css/12.chunk.css.map +1 -0
  6. package/dist/css/13.chunk.css.map +1 -0
  7. package/dist/css/14.chunk.css.map +1 -0
  8. package/dist/css/16.chunk.css.map +1 -0
  9. package/dist/css/17.chunk.css.map +1 -0
  10. package/dist/css/18.chunk.css +20 -0
  11. package/dist/css/18.chunk.css.map +1 -0
  12. package/dist/css/19.chunk.css +34 -0
  13. package/dist/css/2.chunk.css +145 -0
  14. package/dist/css/2.chunk.css.map +1 -0
  15. package/dist/css/20.chunk.css +0 -8
  16. package/dist/css/21.chunk.css +8 -10
  17. package/dist/css/21.chunk.css.map +1 -0
  18. package/dist/css/22.chunk.css +8 -14
  19. package/dist/css/22.chunk.css.map +1 -0
  20. package/dist/css/23.chunk.css +9 -9
  21. package/dist/css/23.chunk.css.map +1 -0
  22. package/dist/css/24.chunk.css +7 -11
  23. package/dist/css/25.chunk.css +7 -7
  24. package/dist/css/25.chunk.css.map +1 -0
  25. package/dist/css/26.chunk.css +5 -9
  26. package/dist/css/26.chunk.css.map +1 -0
  27. package/dist/css/27.chunk.css +5 -5
  28. package/dist/css/28.chunk.css +4 -6
  29. package/dist/css/28.chunk.css.map +1 -0
  30. package/dist/css/29.chunk.css +4 -4
  31. package/dist/css/29.chunk.css.map +1 -0
  32. package/dist/css/3.chunk.css.map +1 -0
  33. package/dist/css/30.chunk.css +4 -4
  34. package/dist/css/30.chunk.css.map +1 -0
  35. package/dist/css/31.chunk.css +3 -5
  36. package/dist/css/31.chunk.css.map +1 -0
  37. package/dist/css/32.chunk.css +0 -2
  38. package/dist/css/32.chunk.css.map +1 -0
  39. package/dist/css/33.chunk.css +14 -2
  40. package/dist/css/33.chunk.css.map +1 -0
  41. package/dist/css/34.chunk.css +21 -0
  42. package/dist/css/34.chunk.css.map +1 -0
  43. package/dist/css/35.chunk.css +20 -0
  44. package/dist/css/35.chunk.css.map +1 -0
  45. package/dist/css/36.chunk.css +4 -0
  46. package/dist/css/36.chunk.css.map +1 -0
  47. package/dist/css/37.chunk.css +2 -2
  48. package/dist/css/37.chunk.css.map +1 -0
  49. package/dist/css/38.chunk.css +1 -3
  50. package/dist/css/38.chunk.css.map +1 -0
  51. package/dist/css/40.chunk.css +3 -1
  52. package/dist/css/40.chunk.css.map +1 -0
  53. package/dist/css/41.chunk.css +2 -2
  54. package/dist/css/41.chunk.css.map +1 -0
  55. package/dist/css/42.chunk.css +1 -3
  56. package/dist/css/42.chunk.css.map +1 -0
  57. package/dist/css/43.chunk.css +1 -1
  58. package/dist/css/43.chunk.css.map +1 -0
  59. package/dist/css/44.chunk.css +1 -1
  60. package/dist/css/44.chunk.css.map +1 -0
  61. package/dist/css/45.chunk.css +1 -1
  62. package/dist/css/45.chunk.css.map +1 -0
  63. package/dist/css/46.chunk.css +1 -1
  64. package/dist/css/46.chunk.css.map +1 -0
  65. package/dist/css/47.chunk.css +1 -1
  66. package/dist/css/47.chunk.css.map +1 -0
  67. package/dist/css/48.chunk.css +5 -1
  68. package/dist/css/48.chunk.css.map +1 -0
  69. package/dist/css/49.chunk.css +2 -0
  70. package/dist/css/49.chunk.css.map +1 -0
  71. package/dist/css/50.chunk.css +1 -1
  72. package/dist/css/50.chunk.css.map +1 -0
  73. package/dist/css/51.chunk.css +38 -1
  74. package/dist/css/51.chunk.css.map +1 -0
  75. package/dist/css/52.chunk.css +66 -0
  76. package/dist/css/52.chunk.css.map +1 -0
  77. package/dist/css/53.chunk.css +2 -0
  78. package/dist/css/54.chunk.css +1 -1
  79. package/dist/css/55.chunk.css +1 -1
  80. package/dist/css/55.chunk.css.map +1 -0
  81. package/dist/css/56.chunk.css +1 -1
  82. package/dist/css/56.chunk.css.map +1 -0
  83. package/dist/css/57.chunk.css +1 -1
  84. package/dist/css/58.chunk.css +1 -1
  85. package/dist/css/58.chunk.css.map +1 -0
  86. package/dist/css/59.chunk.css +4 -1
  87. package/dist/css/59.chunk.css.map +1 -0
  88. package/dist/css/6.chunk.css.map +1 -0
  89. package/dist/css/60.chunk.css +2 -0
  90. package/dist/css/60.chunk.css.map +1 -0
  91. package/dist/css/61.chunk.css +1 -1
  92. package/dist/css/62.chunk.css +5 -1
  93. package/dist/css/62.chunk.css.map +1 -0
  94. package/dist/css/63.chunk.css +170 -0
  95. package/dist/css/63.chunk.css.map +1 -0
  96. package/dist/css/67.chunk.css +78 -0
  97. package/dist/css/67.chunk.css.map +1 -0
  98. package/dist/css/68.chunk.css +17 -0
  99. package/dist/css/68.chunk.css.map +1 -0
  100. package/dist/css/69.chunk.css +17 -0
  101. package/dist/css/69.chunk.css.map +1 -0
  102. package/dist/css/7.chunk.css.map +1 -0
  103. package/dist/css/70.chunk.css +23 -0
  104. package/dist/css/70.chunk.css.map +1 -0
  105. package/dist/css/71.chunk.css +40 -0
  106. package/dist/css/71.chunk.css.map +1 -0
  107. package/dist/css/72.chunk.css +16 -0
  108. package/dist/css/72.chunk.css.map +1 -0
  109. package/dist/css/73.chunk.css +37 -0
  110. package/dist/css/73.chunk.css.map +1 -0
  111. package/dist/css/74.chunk.css +29 -0
  112. package/dist/css/74.chunk.css.map +1 -0
  113. package/dist/css/75.chunk.css +6 -0
  114. package/dist/css/75.chunk.css.map +1 -0
  115. package/dist/css/76.chunk.css +6 -0
  116. package/dist/css/76.chunk.css.map +1 -0
  117. package/dist/css/8.chunk.css.map +1 -0
  118. package/dist/css/library-editor-app.css.map +1 -0
  119. package/dist/libs/analytics/src/clients/CollectionApiClient.d.ts +0 -1
  120. package/dist/libs/analytics/src/interfaces/AnalyticsTypes.d.ts +6 -5
  121. package/dist/libs/analytics/src/interfaces/User.d.ts +0 -11
  122. package/dist/libs/analytics/src/models/CollectionEvent.d.ts +0 -6
  123. package/dist/libs/analytics/src/utils/CollectionApiClientHelper.d.ts +1 -1
  124. package/dist/libs/shared/src/interfaces/models/Library.d.ts +0 -2
  125. package/dist/libs/shared/src/interfaces/models/Video.d.ts +2 -1
  126. package/dist/libs/shared/src/interfaces/models/Widget.d.ts +1 -2
  127. package/dist/projects/library-editor/src/app.d.ts +2 -0
  128. package/dist/scripts/{0-beba14e605.chunk.js → 0-ca7f09e08e.chunk.js} +1 -1
  129. package/dist/scripts/0.chunk.js +1034 -0
  130. package/dist/scripts/0.chunk.js.map +1 -0
  131. package/dist/scripts/{1-eae6f88686.chunk.js → 1-d9620ef762.chunk.js} +1 -1
  132. package/dist/scripts/1.chunk.js +442 -0
  133. package/dist/scripts/1.chunk.js.map +1 -0
  134. package/dist/scripts/{10-2887abba78.chunk.js → 10-a1c7069607.chunk.js} +1 -1
  135. package/dist/scripts/10.chunk.js +820 -0
  136. package/dist/scripts/10.chunk.js.map +1 -0
  137. package/dist/scripts/{11-14b0dd6845.chunk.js → 11-1b54171e80.chunk.js} +1 -1
  138. package/dist/scripts/11.chunk.js +4091 -0
  139. package/dist/scripts/11.chunk.js.map +1 -0
  140. package/dist/scripts/{12-71d8cc8605.chunk.js → 12-a3e5f1e280.chunk.js} +1 -1
  141. package/dist/scripts/12.chunk.js +555 -0
  142. package/dist/scripts/12.chunk.js.map +1 -0
  143. package/dist/scripts/{13-a024ecbc11.chunk.js → 13-52245beebb.chunk.js} +1 -1
  144. package/dist/scripts/13.chunk.js +373 -0
  145. package/dist/scripts/13.chunk.js.map +1 -0
  146. package/dist/scripts/{14-e3bd9dca06.chunk.js → 14-cef35ea210.chunk.js} +1 -1
  147. package/dist/scripts/14.chunk.js +2386 -0
  148. package/dist/scripts/14.chunk.js.map +1 -0
  149. package/dist/scripts/{15-c3381079e8.chunk.js → 15-ee0cab114c.chunk.js} +1 -1
  150. package/dist/scripts/15.chunk.js +314 -0
  151. package/dist/scripts/15.chunk.js.map +1 -0
  152. package/dist/scripts/{16-2da93a6a23.chunk.js → 16-5fddd22f7d.chunk.js} +1 -1
  153. package/dist/scripts/16.chunk.js +1290 -0
  154. package/dist/scripts/16.chunk.js.map +1 -0
  155. package/dist/scripts/{17-bc0b81e4cf.chunk.js → 17-b5d97fb4dd.chunk.js} +1 -1
  156. package/dist/scripts/17.chunk.js +381 -0
  157. package/dist/scripts/17.chunk.js.map +1 -0
  158. package/dist/scripts/18.chunk.js +393 -0
  159. package/dist/scripts/18.chunk.js.map +1 -0
  160. package/dist/scripts/{20-2135af4995.chunk.js → 19-5f4fce6026.chunk.js} +1 -1
  161. package/dist/scripts/19.chunk.js +364 -0
  162. package/dist/scripts/19.chunk.js.map +1 -0
  163. package/dist/scripts/{2-1ded0eeb28.chunk.js → 2-adb587d50b.chunk.js} +1 -1
  164. package/dist/scripts/2.chunk.js +523 -0
  165. package/dist/scripts/2.chunk.js.map +1 -0
  166. package/dist/scripts/{21-1d0f98b629.chunk.js → 20-d540a58c1f.chunk.js} +1 -1
  167. package/dist/scripts/20.chunk.js +317 -0
  168. package/dist/scripts/20.chunk.js.map +1 -0
  169. package/dist/scripts/{22-2473c10557.chunk.js → 21-6f86c283b4.chunk.js} +1 -1
  170. package/dist/scripts/21.chunk.js +531 -0
  171. package/dist/scripts/21.chunk.js.map +1 -0
  172. package/dist/scripts/{23-ba04ed7bd3.chunk.js → 22-648e1f017c.chunk.js} +1 -1
  173. package/dist/scripts/22.chunk.js +354 -0
  174. package/dist/scripts/22.chunk.js.map +1 -0
  175. package/dist/scripts/{24-992a98af74.chunk.js → 23-2113eeb854.chunk.js} +1 -1
  176. package/dist/scripts/23.chunk.js +604 -0
  177. package/dist/scripts/23.chunk.js.map +1 -0
  178. package/dist/scripts/{25-d73947b7b8.chunk.js → 24-5a4074f0f1.chunk.js} +1 -1
  179. package/dist/scripts/24.chunk.js +318 -0
  180. package/dist/scripts/24.chunk.js.map +1 -0
  181. package/dist/scripts/{26-755319d8ec.chunk.js → 25-b45876801c.chunk.js} +1 -1
  182. package/dist/scripts/25.chunk.js +365 -0
  183. package/dist/scripts/25.chunk.js.map +1 -0
  184. package/dist/scripts/{27-540c2a05c9.chunk.js → 26-bbe969d1a3.chunk.js} +1 -1
  185. package/dist/scripts/26.chunk.js +442 -0
  186. package/dist/scripts/26.chunk.js.map +1 -0
  187. package/dist/scripts/{28-21c32edfcd.chunk.js → 27-eeb897a7a5.chunk.js} +1 -1
  188. package/dist/scripts/27.chunk.js +3565 -0
  189. package/dist/scripts/27.chunk.js.map +1 -0
  190. package/dist/scripts/{29-53757e71f3.chunk.js → 28-2d69a65731.chunk.js} +1 -1
  191. package/dist/scripts/28.chunk.js +3173 -0
  192. package/dist/scripts/28.chunk.js.map +1 -0
  193. package/dist/scripts/{30-e4d77f735f.chunk.js → 29-eeaac071fc.chunk.js} +1 -1
  194. package/dist/scripts/29.chunk.js +3088 -0
  195. package/dist/scripts/29.chunk.js.map +1 -0
  196. package/dist/scripts/{3-d05c96cfb9.chunk.js → 3-93b74b7366.chunk.js} +1 -1
  197. package/dist/scripts/3.chunk.js +852 -0
  198. package/dist/scripts/3.chunk.js.map +1 -0
  199. package/dist/scripts/{31-cec3dfb012.chunk.js → 30-dea1697d07.chunk.js} +1 -1
  200. package/dist/scripts/30.chunk.js +1852 -0
  201. package/dist/scripts/30.chunk.js.map +1 -0
  202. package/dist/scripts/{32-e00ad6bb02.chunk.js → 31-af82844bc0.chunk.js} +1 -1
  203. package/dist/scripts/31.chunk.js +958 -0
  204. package/dist/scripts/31.chunk.js.map +1 -0
  205. package/dist/scripts/{33-82a20d0072.chunk.js → 32-7c6503668b.chunk.js} +1 -1
  206. package/dist/scripts/32.chunk.js +1235 -0
  207. package/dist/scripts/32.chunk.js.map +1 -0
  208. package/dist/scripts/{34-178a36fb7f.chunk.js → 33-03635bbb7b.chunk.js} +1 -1
  209. package/dist/scripts/33.chunk.js +792 -0
  210. package/dist/scripts/33.chunk.js.map +1 -0
  211. package/dist/scripts/{35-00b0646656.chunk.js → 34-daddc694a1.chunk.js} +1 -1
  212. package/dist/scripts/34.chunk.js +990 -0
  213. package/dist/scripts/34.chunk.js.map +1 -0
  214. package/dist/scripts/{36-14380a0a1b.chunk.js → 35-fd15607048.chunk.js} +1 -1
  215. package/dist/scripts/35.chunk.js +518 -0
  216. package/dist/scripts/35.chunk.js.map +1 -0
  217. package/dist/scripts/{37-ad00e59ab8.chunk.js → 36-541f0ca2b5.chunk.js} +1 -1
  218. package/dist/scripts/36.chunk.js +335 -0
  219. package/dist/scripts/36.chunk.js.map +1 -0
  220. package/dist/scripts/{38-eb82cd01be.chunk.js → 37-185d42d6a8.chunk.js} +1 -1
  221. package/dist/scripts/37.chunk.js +236 -0
  222. package/dist/scripts/37.chunk.js.map +1 -0
  223. package/dist/scripts/{39-ff751fbb03.chunk.js → 38-e6a036e506.chunk.js} +1 -1
  224. package/dist/scripts/38.chunk.js +315 -0
  225. package/dist/scripts/38.chunk.js.map +1 -0
  226. package/dist/scripts/{40-ea1c8a802e.chunk.js → 39-2f85f9a6ae.chunk.js} +1 -1
  227. package/dist/scripts/39.chunk.js +116 -0
  228. package/dist/scripts/39.chunk.js.map +1 -0
  229. package/dist/scripts/{4-64cc494ce7.chunk.js → 4-89c4938328.chunk.js} +1 -1
  230. package/dist/scripts/4.chunk.js +335 -0
  231. package/dist/scripts/4.chunk.js.map +1 -0
  232. package/dist/scripts/{41-4e216039d1.chunk.js → 40-176a8a0ae0.chunk.js} +1 -1
  233. package/dist/scripts/40.chunk.js +1782 -0
  234. package/dist/scripts/40.chunk.js.map +1 -0
  235. package/dist/scripts/{42-cfdcf36ade.chunk.js → 41-f9ac40ad12.chunk.js} +1 -1
  236. package/dist/scripts/41.chunk.js +2347 -0
  237. package/dist/scripts/41.chunk.js.map +1 -0
  238. package/dist/scripts/{43-4b9df6670c.chunk.js → 42-49f22ffe17.chunk.js} +1 -1
  239. package/dist/scripts/42.chunk.js +2116 -0
  240. package/dist/scripts/42.chunk.js.map +1 -0
  241. package/dist/scripts/{44-334fd2c970.chunk.js → 43-d79514b07d.chunk.js} +1 -1
  242. package/dist/scripts/43.chunk.js +2243 -0
  243. package/dist/scripts/43.chunk.js.map +1 -0
  244. package/dist/scripts/{45-ce52fb3ad1.chunk.js → 44-d667358455.chunk.js} +1 -1
  245. package/dist/scripts/44.chunk.js +1024 -0
  246. package/dist/scripts/44.chunk.js.map +1 -0
  247. package/dist/scripts/{46-ce415c80bd.chunk.js → 45-584e00f551.chunk.js} +1 -1
  248. package/dist/scripts/45.chunk.js +1065 -0
  249. package/dist/scripts/45.chunk.js.map +1 -0
  250. package/dist/scripts/{47-aad883ee34.chunk.js → 46-0a345195cb.chunk.js} +1 -1
  251. package/dist/scripts/46.chunk.js +656 -0
  252. package/dist/scripts/46.chunk.js.map +1 -0
  253. package/dist/scripts/{48-26ff3f8286.chunk.js → 47-796c3370d9.chunk.js} +1 -1
  254. package/dist/scripts/47.chunk.js +735 -0
  255. package/dist/scripts/47.chunk.js.map +1 -0
  256. package/dist/scripts/{49-13cbc6969d.chunk.js → 48-8c15455e0a.chunk.js} +1 -1
  257. package/dist/scripts/48.chunk.js +994 -0
  258. package/dist/scripts/48.chunk.js.map +1 -0
  259. package/dist/scripts/{50-94b3dceee6.chunk.js → 49-0e526f5150.chunk.js} +1 -1
  260. package/dist/scripts/49.chunk.js +759 -0
  261. package/dist/scripts/49.chunk.js.map +1 -0
  262. package/dist/scripts/{5-72927c4c3a.chunk.js → 5-ae7056b666.chunk.js} +1 -1
  263. package/dist/scripts/5.chunk.js +40 -0
  264. package/dist/scripts/5.chunk.js.map +1 -0
  265. package/dist/scripts/{51-45f9120895.chunk.js → 50-6d83730d97.chunk.js} +1 -1
  266. package/dist/scripts/50.chunk.js +528 -0
  267. package/dist/scripts/50.chunk.js.map +1 -0
  268. package/dist/scripts/{52-f8135f2b6d.chunk.js → 51-525f824f4c.chunk.js} +1 -1
  269. package/dist/scripts/51.chunk.js +932 -0
  270. package/dist/scripts/51.chunk.js.map +1 -0
  271. package/dist/scripts/{53-873b3fc466.chunk.js → 52-ab80c61a4d.chunk.js} +1 -1
  272. package/dist/scripts/52.chunk.js +408 -0
  273. package/dist/scripts/52.chunk.js.map +1 -0
  274. package/dist/scripts/{54-adcf9408c2.chunk.js → 53-d843e342ef.chunk.js} +1 -1
  275. package/dist/scripts/53.chunk.js +754 -0
  276. package/dist/scripts/53.chunk.js.map +1 -0
  277. package/dist/scripts/{55-ba3dd1642b.chunk.js → 54-c3d3057bd7.chunk.js} +1 -1
  278. package/dist/scripts/54.chunk.js +681 -0
  279. package/dist/scripts/54.chunk.js.map +1 -0
  280. package/dist/scripts/{56-a586aafa22.chunk.js → 55-c54b03b81b.chunk.js} +1 -1
  281. package/dist/scripts/55.chunk.js +645 -0
  282. package/dist/scripts/55.chunk.js.map +1 -0
  283. package/dist/scripts/{57-f072c8e20b.chunk.js → 56-bc025759b2.chunk.js} +1 -1
  284. package/dist/scripts/56.chunk.js +346 -0
  285. package/dist/scripts/56.chunk.js.map +1 -0
  286. package/dist/scripts/{58-8eb1d1ec9e.chunk.js → 57-95a5d6859c.chunk.js} +1 -1
  287. package/dist/scripts/57.chunk.js +422 -0
  288. package/dist/scripts/57.chunk.js.map +1 -0
  289. package/dist/scripts/{59-7b0f1c97de.chunk.js → 58-732d90217c.chunk.js} +1 -1
  290. package/dist/scripts/58.chunk.js +437 -0
  291. package/dist/scripts/58.chunk.js.map +1 -0
  292. package/dist/scripts/{60-f6e3d30ef1.chunk.js → 59-76ab29c8c8.chunk.js} +1 -1
  293. package/dist/scripts/59.chunk.js +342 -0
  294. package/dist/scripts/59.chunk.js.map +1 -0
  295. package/dist/scripts/{6-54852e2fe4.chunk.js → 6-801bd57e05.chunk.js} +1 -1
  296. package/dist/scripts/6.chunk.js +484 -0
  297. package/dist/scripts/6.chunk.js.map +1 -0
  298. package/dist/scripts/{61-b951d2eecb.chunk.js → 60-95fae33313.chunk.js} +1 -1
  299. package/dist/scripts/60.chunk.js +254 -0
  300. package/dist/scripts/60.chunk.js.map +1 -0
  301. package/dist/scripts/{62-2e65425226.chunk.js → 61-55401912e6.chunk.js} +1 -1
  302. package/dist/scripts/61.chunk.js +409 -0
  303. package/dist/scripts/61.chunk.js.map +1 -0
  304. package/dist/scripts/{63-a273561273.chunk.js → 62-2757493071.chunk.js} +1 -1
  305. package/dist/scripts/62.chunk.js +142 -0
  306. package/dist/scripts/62.chunk.js.map +1 -0
  307. package/dist/scripts/{64-24cb24a513.chunk.js → 63-dd81c3f320.chunk.js} +1 -1
  308. package/dist/scripts/63.chunk.js +147 -0
  309. package/dist/scripts/63.chunk.js.map +1 -0
  310. package/dist/scripts/{65-ad628b5132.chunk.js → 64-fc97648f09.chunk.js} +1 -1
  311. package/dist/scripts/64.chunk.js +439 -0
  312. package/dist/scripts/64.chunk.js.map +1 -0
  313. package/dist/scripts/{66-5bacd91a7f.chunk.js → 65-194a37aee3.chunk.js} +1 -1
  314. package/dist/scripts/65.chunk.js +582 -0
  315. package/dist/scripts/65.chunk.js.map +1 -0
  316. package/dist/scripts/{67-04d9a5fda8.chunk.js → 66-0685310e61.chunk.js} +1 -1
  317. package/dist/scripts/66.chunk.js +442 -0
  318. package/dist/scripts/66.chunk.js.map +1 -0
  319. package/dist/scripts/{68-02894df05d.chunk.js → 67-0e7d822f3d.chunk.js} +1 -1
  320. package/dist/scripts/67.chunk.js +295 -0
  321. package/dist/scripts/67.chunk.js.map +1 -0
  322. package/dist/scripts/{69-734c160b13.chunk.js → 68-392c3d0356.chunk.js} +1 -1
  323. package/dist/scripts/68.chunk.js +165 -0
  324. package/dist/scripts/68.chunk.js.map +1 -0
  325. package/dist/scripts/{70-dd7e6198f5.chunk.js → 69-d02aa75baf.chunk.js} +1 -1
  326. package/dist/scripts/69.chunk.js +248 -0
  327. package/dist/scripts/69.chunk.js.map +1 -0
  328. package/dist/scripts/{7-55b6fea593.chunk.js → 7-8789256487.chunk.js} +1 -1
  329. package/dist/scripts/7.chunk.js +309 -0
  330. package/dist/scripts/7.chunk.js.map +1 -0
  331. package/dist/scripts/{71-e4116b2fbe.chunk.js → 70-8198bb73b0.chunk.js} +1 -1
  332. package/dist/scripts/70.chunk.js +207 -0
  333. package/dist/scripts/70.chunk.js.map +1 -0
  334. package/dist/scripts/{72-3f0a73fbc8.chunk.js → 71-d00b31ee4a.chunk.js} +1 -1
  335. package/dist/scripts/71.chunk.js +237 -0
  336. package/dist/scripts/71.chunk.js.map +1 -0
  337. package/dist/scripts/72.chunk.js +331 -0
  338. package/dist/scripts/72.chunk.js.map +1 -0
  339. package/dist/scripts/73.chunk.js +404 -0
  340. package/dist/scripts/73.chunk.js.map +1 -0
  341. package/dist/scripts/74.chunk.js +301 -0
  342. package/dist/scripts/74.chunk.js.map +1 -0
  343. package/dist/scripts/75.chunk.js +231 -0
  344. package/dist/scripts/75.chunk.js.map +1 -0
  345. package/dist/scripts/76.chunk.js +157 -0
  346. package/dist/scripts/76.chunk.js.map +1 -0
  347. package/dist/scripts/77.chunk.js +307 -0
  348. package/dist/scripts/77.chunk.js.map +1 -0
  349. package/dist/scripts/78.chunk.js +249 -0
  350. package/dist/scripts/78.chunk.js.map +1 -0
  351. package/dist/scripts/79.chunk.js +282 -0
  352. package/dist/scripts/79.chunk.js.map +1 -0
  353. package/dist/scripts/{8-83fdb166c7.chunk.js → 8-b27222f499.chunk.js} +1 -1
  354. package/dist/scripts/8.chunk.js +307 -0
  355. package/dist/scripts/8.chunk.js.map +1 -0
  356. package/dist/scripts/80.chunk.js +308 -0
  357. package/dist/scripts/80.chunk.js.map +1 -0
  358. package/dist/scripts/81.chunk.js +366 -0
  359. package/dist/scripts/81.chunk.js.map +1 -0
  360. package/dist/scripts/82.chunk.js +314 -0
  361. package/dist/scripts/82.chunk.js.map +1 -0
  362. package/dist/scripts/83.chunk.js +328 -0
  363. package/dist/scripts/83.chunk.js.map +1 -0
  364. package/dist/scripts/84.chunk.js +313 -0
  365. package/dist/scripts/84.chunk.js.map +1 -0
  366. package/dist/scripts/85.chunk.js +291 -0
  367. package/dist/scripts/85.chunk.js.map +1 -0
  368. package/dist/scripts/86.chunk.js +119 -0
  369. package/dist/scripts/86.chunk.js.map +1 -0
  370. package/dist/scripts/87.chunk.js +219 -0
  371. package/dist/scripts/87.chunk.js.map +1 -0
  372. package/dist/scripts/88.chunk.js +194 -0
  373. package/dist/scripts/88.chunk.js.map +1 -0
  374. package/dist/scripts/89.chunk.js +522 -0
  375. package/dist/scripts/89.chunk.js.map +1 -0
  376. package/dist/scripts/{9-8c88a80a2b.chunk.js → 9-efab000ebb.chunk.js} +1 -1
  377. package/dist/scripts/9.chunk.js +222 -0
  378. package/dist/scripts/9.chunk.js.map +1 -0
  379. package/dist/scripts/90.chunk.js +337 -0
  380. package/dist/scripts/90.chunk.js.map +1 -0
  381. package/dist/scripts/91.chunk.js +131 -0
  382. package/dist/scripts/91.chunk.js.map +1 -0
  383. package/dist/scripts/92.chunk.js +266 -0
  384. package/dist/scripts/92.chunk.js.map +1 -0
  385. package/dist/scripts/bundle-50de308570.min.js +1 -0
  386. package/dist/scripts/bundle.js +75409 -0
  387. package/dist/scripts/bundle.js.map +1 -0
  388. package/dist/scripts/bundles.json +1 -2
  389. package/package.json +3 -3
  390. package/dist/libs/analytics/src/utils/UrlHelper.d.ts +0 -3
  391. package/dist/projects/library-editor/src/polyfills.d.ts +0 -2
  392. package/dist/scripts/bundle-9aec889e10.min.js +0 -1
  393. package/dist/scripts/polyfills-61b05c1cb5.min.js +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/components/add-links/AddLinks.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/components/add-links/AddLinksComponent.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/components/file-select/FileSelect.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/components/file-select/FileSelectComponent.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/components/file-select/FileSelectDropMask.hbs","webpack://@clickview/library-editor/./src/apps/library-editor/components/file-select/file-select.scss?55d7","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/components/file-uploads/FileUpload.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/components/file-uploads/FileUploadComponent.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/components/file-uploads/FileUploadsComponentCollection.ts","webpack://@clickview/library-editor/./src/apps/library-editor/components/file-uploads/file-upload.scss?3dc4","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/components/language-select/LanguageSelect.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/components/language-select/LanguageSelectComponent.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/components/language-select/LanguageSelectTypeaheadHelper.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/components/video-subtitles/Subtitle.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/components/video-subtitles/SubtitleItemComponent.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/components/video-subtitles/VideoSubtitles.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/components/video-subtitles/VideoSubtitlesComponent.ts","webpack://@clickview/library-editor/./src/apps/library-editor/components/video-subtitles/subtitle.scss?4e06","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/views/edit-resources/EditResources.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/views/edit-resources/EditResourcesView.ts"],"names":[],"mappings":"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","file":"scripts/42.chunk.js","sourcesContent":["var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return \"<p class=\\\"alert alert-warning col-8\\\">\"\n + container.escapeExpression((helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),\"limit\",{\"name\":\"lang\",\"hash\":{\"limit\":((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.limit : stack1)},\"data\":data}))\n + \"</p>\\r\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n var alias1=container.propertyIsEnumerable, alias2=depth0 != null ? depth0 : (container.nullContext || {}), alias3=container.hooks.helperMissing, alias4=container.escapeExpression;\n\n return \"<p>\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"subheading\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</p>\\r\\n<div class=\\\"form-group mb-1\\\">\\r\\n <label for=\\\"url\\\">\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"urlLabel\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</label>\\r\\n <input name=\\\"url\\\" id=\\\"url\\\" class=\\\"form-control\\\" type=\\\"text\\\" placeholder=\\\"\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"urlPlaceholder\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"\\\">\\r\\n <div class=\\\"form-feedback\\\"></div>\\r\\n</div>\\r\\n<div class=\\\"form-group mb-1\\\" id=\\\"name-container\\\" style=\\\"display: none;\\\">\\r\\n <input type=\\\"text\\\" class=\\\"form-control\\\" name=\\\"name\\\" placeholder=\\\"\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"namePlaceholder\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"\\\">\\r\\n <div class=\\\"form-feedback\\\"></div>\\r\\n</div>\\r\\n<div class=\\\"attach-btn-region\\\"></div>\\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return \"<h5 class=\\\"pt-2\\\">Resource Links</h5>\\r\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.hide : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(3, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"useData\":true});","import { ObjectHash, Radio, Validation } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { ViewModelService } from 'libs/common/backbone/services/ViewModelService';\r\n\r\nimport { SpinnerButtonComponent } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\nimport { SpinnerSize, SpinnerType } from 'shared/utils';\r\nimport { StickitBehavior, BackboneValidationBehavior } from 'shared/behaviors';\r\n\r\nimport { ResourceLinkValidation } from 'apps/library-editor/utils';\r\n\r\nimport AddLinksTemplate from './AddLinks.hbs';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\ninterface AddLinksComponentOptions extends Core.ComponentOptions {\r\n limit: number;\r\n hide?: boolean;\r\n}\r\n\r\nexport class AddLinksComponent extends Core.Component {\r\n public options: AddLinksComponentOptions;\r\n private showNameField: boolean = false;\r\n private disableBtn: boolean = true;\r\n\r\n constructor(options: AddLinksComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.model = ViewModelService.get(this.viewModelName);\r\n this.model.addValidation(ResourceLinkValidation);\r\n\r\n this.bindListeners();\r\n }\r\n\r\n public get name(): string {\r\n return 'AddLinksComponent';\r\n }\r\n\r\n public get template(): string {\r\n return AddLinksTemplate;\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.addLinks';\r\n }\r\n\r\n public get tagName(): string {\r\n return 'form';\r\n }\r\n\r\n public get bindings(): ObjectHash {\r\n return {\r\n '[name=url]': {\r\n observe: 'url',\r\n setOptions: { validate: true }\r\n },\r\n '[name=name]': {\r\n observe: 'name',\r\n setOptions: { validate: true }\r\n }\r\n };\r\n }\r\n\r\n public regions(): ObjectHash {\r\n return {\r\n attachBtn: '.attach-btn-region'\r\n };\r\n }\r\n\r\n public get behaviors(): any[] {\r\n return [\r\n {\r\n behaviorClass: StickitBehavior\r\n },\r\n {\r\n behaviorClass: BackboneValidationBehavior\r\n }\r\n ];\r\n }\r\n\r\n public get elements(): ObjectHash {\r\n return {\r\n nameField: '#name-container'\r\n };\r\n }\r\n\r\n private get viewModelName(): string {\r\n return `${this.name}:${this.cid}`;\r\n }\r\n\r\n private bindListeners(): void {\r\n this.listenTo(this.model, 'change:url', this.onChangeUrl);\r\n this.listenTo(this.model, 'change:name', this.onChangeName);\r\n this.listenTo(this.options.channelName, 'attach:link', this.onClickAttach);\r\n }\r\n\r\n private onChangeUrl(): void {\r\n if (this.showNameField && !this.model.isValid('url')) {\r\n this.getUI('nameField').hide();\r\n this.model.set('name', '');\r\n this.showNameField = false;\r\n } else if (!this.showNameField && this.model.isValid('url')) {\r\n this.getUI('nameField').show();\r\n this.showNameField = true;\r\n }\r\n }\r\n\r\n private onChangeName(): void {\r\n this.model.validate('name');\r\n this.disableBtn = !this.model.isValid();\r\n this.renderAttachButton();\r\n }\r\n\r\n private onClickAttach(): void {\r\n const link = this.model.toJSON();\r\n this.model.clear();\r\n\r\n Radio.channel(this.options.channelName)\r\n .trigger('add:link', link);\r\n\r\n this.render();\r\n }\r\n\r\n private renderAttachButton(): void {\r\n if (this.options.hide)\r\n return;\r\n\r\n this.showChildView('attachBtn', new SpinnerButtonComponent({\r\n saveEvent: 'attach:link',\r\n channelName: this.options.channelName,\r\n buttonText: LanguageService.getPhrase(this.lang, 'attach'),\r\n extraButtonClass: `btn-secondary attach`,\r\n disabled: this.disableBtn,\r\n buttonType: 'submit',\r\n spinnerOptions: {\r\n size: SpinnerSize.Medium,\r\n type: SpinnerType.Light,\r\n extraClasses: 'mx-auto'\r\n }\r\n }));\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n limit: this.options.limit,\r\n hide: this.options.hide\r\n };\r\n }\r\n\r\n public onRender(): void {\r\n this.renderAttachButton();\r\n\r\n this.stickit();\r\n Validation.bind(this);\r\n }\r\n\r\n public onClose(): void {\r\n this.unstickit();\r\n Validation.unbind(this);\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 class=\\\"alert alert-warning col-8 mb-0\\\">\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.limitText : stack1), depth0))\n + \"</p>\\r\\n\";\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=\\\"file-drop \"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.fileDrop : stack1), depth0))\n + \" p-2\"\n + ((stack1 = helpers[\"if\"].call(alias4,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.limitText : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(4, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\">\\r\\n <button class=\\\"browse btn btn-secondary mr-2\\\">\"\n + alias3((helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(alias4,\"browse\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</button>\\r\\n <span class=\\\"text-muted align-middle\\\">\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.alternateText : stack1), depth0))\n + \"</span>\\r\\n</div>\\r\\n\";\n},\"4\":function(container,depth0,helpers,partials,data) {\n return \" col-6 \";\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;\n\n return \"<h5>\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.title : stack1), depth0))\n + \"</h5>\\r\\n<p>\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.description : stack1), depth0))\n + \"</p>\\r\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.limitText : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(3, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"useData\":true});","import { ObjectHash } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { FileSelectBehavior } from 'shared/behaviors/file-select/FileSelectBehavior';\r\nimport { FileDropBehavior } from 'shared/behaviors/file-drop/FileDropBehavior';\r\n\r\nimport styles from './file-select.scss';\r\nimport FileSelectDropMaskTemplate from './FileSelectDropMask.hbs';\r\nimport FileSelectTemplate from './FileSelect.hbs';\r\n\r\ninterface FileSelectComponentOptions extends Core.ComponentOptions {\r\n title: string;\r\n description: string;\r\n alternateText: string;\r\n mimeType: string;\r\n channelName: string;\r\n acceptMultiple?: boolean;\r\n limitText: string;\r\n isClickViewContent?: boolean;\r\n}\r\n\r\nexport class FileSelectComponent extends Core.Component {\r\n public options: FileSelectComponentOptions;\r\n\r\n constructor(options: FileSelectComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'FileSelectComponent';\r\n }\r\n\r\n public get template(): any {\r\n return FileSelectTemplate;\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.fileSelect';\r\n }\r\n\r\n public get className(): string {\r\n let classNames = 'mt-3';\r\n\r\n if (!this.options.limitText)\r\n classNames += ' mb-2';\r\n\r\n return classNames;\r\n }\r\n\r\n public get elements(): ObjectHash {\r\n return {\r\n dropArea: '.file-drop'\r\n };\r\n }\r\n\r\n public get defaults(): ObjectHash {\r\n return {\r\n acceptMultiple: true\r\n };\r\n }\r\n\r\n public get behaviors(): any[] {\r\n return [\r\n {\r\n behaviorClass: FileSelectBehavior,\r\n buttonSelector: '.browse',\r\n channelName: this.options.channelName,\r\n acceptMultiple: this.options.acceptMultiple,\r\n mimeType: this.options.mimeType\r\n },\r\n {\r\n behaviorClass: FileDropBehavior,\r\n channelName: this.options.channelName,\r\n acceptMultiple: this.options.acceptMultiple\r\n }\r\n ];\r\n }\r\n\r\n public events(): ObjectHash {\r\n const dragLeave = `dragleave .${styles.dropMask}`;\r\n\r\n return {\r\n 'drop .file-drop': 'onDrop',\r\n 'dragover .file-drop': 'onDragOver',\r\n [dragLeave]: 'onDragLeave'\r\n };\r\n }\r\n\r\n private onDrop(): void {\r\n this.$el.removeClass(styles.dragOver);\r\n }\r\n\r\n private onDragOver(event: any): void {\r\n this.$el.addClass(styles.dragOver);\r\n\r\n event.preventDefault();\r\n }\r\n\r\n private onDragLeave(): void {\r\n this.$el.removeClass(styles.dragOver);\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n ...this.options,\r\n styles,\r\n limitText: this.options.limitText,\r\n isClickViewContent: this.options.isClickViewContent\r\n };\r\n }\r\n\r\n public onRender(): void {\r\n this.getUI('dropArea').append(FileSelectDropMaskTemplate({\r\n dropMask: styles.dropMask,\r\n fileDropText: LanguageService.getPhrase(this.lang, 'drop')\r\n }));\r\n }\r\n}","var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper, alias1=container.propertyIsEnumerable, alias2=container.escapeExpression;\n\n return \"<div class=\\\"\"\n + alias2(((helper = (helper = helpers.dropMask || (depth0 != null ? depth0.dropMask : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{\"name\":\"dropMask\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\r\\n <h3>\"\n + alias2(container.lambda(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.fileDropText : stack1), depth0))\n + \"</h3>\\r\\n</div>\";\n},\"useData\":true});","// extracted by mini-css-extract-plugin\nmodule.exports = {\"fileDrop\":\"cv--fileDrop--l2vGK\",\"dropMask\":\"cv--dropMask--yNe5b\",\"dragOver\":\"cv--dragOver--3sZ1T\"};","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;\n\n return \"<span class=\\\"d-inline-block align-middle mr-2 \"\n + container.escapeExpression(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.svgContainer : stack1), depth0))\n + \" float-right text-success\\\">\"\n + ((stack1 = alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.tickSvg : stack1), depth0)) != null ? stack1 : \"\")\n + \"</span>\\r\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return \"<span class=\\\"d-inline-block align-middle mr-2 \"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.svgContainer : stack1), depth0))\n + \" close float-right\\\">&times;</span>\\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 \"\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<span 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</span>\\r\\n\"\n + ((stack1 = helpers[\"if\"].call(alias4,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.finished : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(3, data, 0),\"data\":data})) != null ? stack1 : \"\")\n + \"\\r\\n<div class=\\\"progress my-2 \"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.progress : stack1), depth0))\n + \" mt-2\\\">\\r\\n <div class=\\\"progress-bar bg-info\\\" style=\\\"width: \"\n + alias3(((helper = (helper = helpers.progress || (depth0 != null ? depth0.progress : depth0)) != null ? helper : alias5),(typeof helper === alias6 ? helper.call(alias4,{\"name\":\"progress\",\"hash\":{},\"data\":data}) : helper)))\n + \"%\\\" aria-valuenow=\\\"\"\n + alias3(((helper = (helper = helpers.progress || (depth0 != null ? depth0.progress : depth0)) != null ? helper : alias5),(typeof helper === alias6 ? helper.call(alias4,{\"name\":\"progress\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" aria-valuemin=\\\"0\\\" aria-valuemax=\\\"100\\\"></div>\\r\\n</div>\";\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\n\r\nimport FileUploadTemplate from './FileUpload.hbs';\r\nimport styles from './file-upload.scss';\r\n\r\nexport interface FileUploadComponentOptions extends Core.ComponentOptions {\r\n channelName: string;\r\n}\r\n\r\nexport class FileUploadComponent extends Core.Component {\r\n public options: FileUploadComponentOptions;\r\n\r\n constructor(options: FileUploadComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.listenTo(this.model, 'change:progress', this.render);\r\n }\r\n\r\n public get name(): string {\r\n return 'FileUploadComponent';\r\n }\r\n\r\n public get template(): any {\r\n return FileUploadTemplate;\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n 'click .cancel-upload': 'onClickCancelUpload'\r\n };\r\n }\r\n\r\n private onClickCancelUpload(): void {\r\n const channel = Radio.channel(this.options.channelName);\r\n channel.trigger('cancel:upload', this.model.get('id'));\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n styles,\r\n svg: SvgHelper.getSvg(cvSvgLibrary.Folder),\r\n tickSvg: SvgHelper.getSvg(cvSvgLibrary.Check),\r\n finished: this.model.get('progress') >= 100\r\n };\r\n }\r\n}","import * as _ from 'underscore';\r\nimport { ObjectHash } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\nimport { FileUploadComponent, FileUploadComponentOptions } from 'apps/library-editor/components/file-uploads/FileUploadComponent';\r\n\r\n\r\ninterface FileUploadsComponentCollectionOptions extends Core.ComponentCollectionOptions {\r\n channelName: string;\r\n}\r\n\r\nexport class FileUploadsComponentCollection extends Core.ComponentCollection {\r\n public options: FileUploadsComponentCollectionOptions;\r\n\r\n constructor(options: FileUploadsComponentCollectionOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'FileUploadsComponentCollection';\r\n }\r\n\r\n public get childView(): typeof FileUploadComponent {\r\n return FileUploadComponent;\r\n }\r\n\r\n public get childViewOptions(): FileUploadComponentOptions {\r\n return {\r\n channelName: this.options.channelName\r\n };\r\n }\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"svgContainer\":\"cv--svgContainer--3LHs_\",\"progress\":\"cv--progress--30D9s\"};","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;\n\n return \"<form>\\r\\n <div class=\\\"form-group\\\">\\r\\n <label for=\\\"language\\\">\"\n + container.escapeExpression((helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),\"label\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</label>\\r\\n <div class=\\\"typahead-region\\\"></div>\\r\\n </div>\\r\\n</form>\";\n},\"useData\":true});","import * as _ from 'underscore';\r\nimport { ObjectHash } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\nimport { ViewModelService } from 'libs/common/backbone/services/ViewModelService';\r\n\r\nimport { PopupBehavior, BackboneValidationBehavior } from 'shared/behaviors';\r\nimport { SearchTypeaheadComponent } from 'shared/components/typeahead-input/SearchTypeaheadComponent';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { SubtitleLanguageValidation } from 'shared/utils';\r\n\r\nimport { LangugageSelectTypeaheadHelper } from 'apps/library-editor/components/language-select/LanguageSelectTypeaheadHelper';\r\n\r\nimport LanguageSelectTemplate from './LanguageSelect.hbs';\r\n\r\nexport interface LanguageSelectComponentOptions extends Core.ComponentOptions {\r\n defaultLanguage: { code: string, name: string };\r\n promise: JQueryDeferred<any>;\r\n}\r\n\r\nexport class LanguageSelectComponent extends Core.Component {\r\n public options: LanguageSelectComponentOptions;\r\n\r\n constructor(options: LanguageSelectComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(options: LanguageSelectComponentOptions): void {\r\n this.model = ViewModelService.get('subtitle:language', options.defaultLanguage);\r\n this.model.addValidation(SubtitleLanguageValidation);\r\n\r\n this.listenTo(this.channelName, 'select:language', this.onLanguageSelected);\r\n }\r\n\r\n public get template(): any {\r\n return LanguageSelectTemplate;\r\n }\r\n\r\n public get name(): string {\r\n return 'LanguageSelectComponent';\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.languageSelect';\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n 'click .submit': 'onClickSubmit',\r\n 'submit': 'onClickSubmit'\r\n };\r\n }\r\n\r\n public get behaviors(): any[] {\r\n return [\r\n {\r\n behaviorClass: PopupBehavior,\r\n title: LanguageService.getPhrase(this.lang, 'heading'),\r\n buttons: [{\r\n text: LanguageService.getPhrase(this.lang, 'submit'), type: 'submit', className: 'btn btn-primary submit'\r\n }]\r\n },\r\n {\r\n behaviorClass: BackboneValidationBehavior\r\n }\r\n ];\r\n }\r\n\r\n public regions(): ObjectHash {\r\n return {\r\n typeahead: '.typahead-region'\r\n };\r\n }\r\n\r\n public get channelName(): string {\r\n return `${this.name}${this.cid}`;\r\n }\r\n\r\n private getTypeaheadConfigs(): any {\r\n const typeaheadConfig = LangugageSelectTypeaheadHelper.getTypeaheadConfig();\r\n\r\n return [\r\n { name: 'languages', typeaheadConfig }\r\n ];\r\n }\r\n\r\n private renderTypeahead(): void {\r\n this.showChildView('typeahead', new SearchTypeaheadComponent({\r\n model: this.model,\r\n parentChannelName: this.channelName,\r\n inputId: 'language',\r\n selectEvent: 'select:language',\r\n typeaheadConfigs: this.getTypeaheadConfigs()\r\n }));\r\n }\r\n\r\n private onLanguageSelected(selected: ObjectHash): void {\r\n this.model.set('code', selected.key);\r\n }\r\n\r\n private onClickSubmit(): void {\r\n this.model.validate();\r\n\r\n if (!this.model.isValid())\r\n return;\r\n\r\n this.options.promise.resolve(this.model.toJSON());\r\n this.triggerMethod('hide');\r\n }\r\n\r\n public onBeforeDestroy(): void {\r\n if (this.options.promise.state() === 'pending')\r\n this.options.promise.reject();\r\n }\r\n\r\n public onRender(): void {\r\n this.renderTypeahead();\r\n }\r\n}","import * as _ from 'underscore';\r\nimport { ObjectHash } from 'backbone';\r\n\r\nimport { TypeaheadDataSource, InstantSearchBloodhound } from 'libs/shared/apps/search/interfaces';\r\n\r\nimport * as Templates from 'shared/utils/search/raw-search-templates';\r\nimport { Tag } from 'shared/models/Tag';\r\n\r\nexport const LangugageSelectTypeaheadHelper = {\r\n\r\n handleQuery(dataSource?: TypeaheadDataSource<Tag>, options?: ObjectHash): TypeaheadDataSource<Tag> {\r\n return (query: string, syncResults: any, asyncResults: any) => {\r\n\r\n const matches: ObjectHash[] = [];\r\n\r\n if (!query) {\r\n syncResults();\r\n return;\r\n }\r\n\r\n const lanByStr = CVLanguages.getEnglishNameContains(query);\r\n\r\n // do not show already selected languages\r\n _.each(lanByStr, (ls, key) => {\r\n matches.push({ key, name: ls.englishName });\r\n });\r\n\r\n return syncResults(matches);\r\n };\r\n },\r\n\r\n getTypeaheadConfig(): any {\r\n return (source: InstantSearchBloodhound<Tag>, index: number) => ({\r\n name: 'languages',\r\n source: LangugageSelectTypeaheadHelper.handleQuery(),\r\n limit: 5,\r\n display: (d: ObjectHash) => d.name,\r\n templates: {\r\n suggestion: Templates.ResultSuggestion,\r\n pending: Templates.Loading,\r\n notFound: Templates.NotFound,\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, 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\";\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 || {});\n\n return \"<span class=\\\"d-inline-block align-middle mr-2 \"\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 : container.hooks.helperMissing),(typeof helper === \"function\" ? helper.call(alias4,{\"name\":\"url\",\"hash\":{},\"data\":data}) : helper)))\n + \"?name=\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.name : stack1), depth0))\n + \"\\\" class=\\\"align-middle\\\">\\r\\n \"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.name : stack1), depth0))\n + \"\\r\\n</a>\\r\\n\"\n + ((stack1 = helpers.unless.call(alias4,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.isClickViewContent : stack1),{\"name\":\"unless\",\"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 { SvgHelper, cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\nimport { Radio } from 'backbone';\r\nimport { ObjectHash } from 'backbone';\r\n\r\nimport { DialogHelper } from 'shared/utils';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nimport { VideoDetailsHelper } from 'apps/library-editor/utils/VideoDetailsHelper';\r\n\r\nimport SubtitleTemplate from './Subtitle.hbs';\r\nimport styles from './subtitle.scss';\r\n\r\nexport interface SubtitleItemComponentOptions extends Core.ComponentOptions {\r\n channelName: string;\r\n isClickViewContent?: boolean;\r\n}\r\n\r\nexport class SubtitleItemComponent extends Core.Component {\r\n public options: SubtitleItemComponentOptions;\r\n\r\n constructor(options: SubtitleItemComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'SubtitleItemComponent';\r\n }\r\n\r\n public get template(): any {\r\n return SubtitleTemplate;\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.videoSubtitles';\r\n }\r\n\r\n public get className(): string {\r\n return 'mb-2';\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n 'click .delete': 'onClickDelete'\r\n };\r\n }\r\n\r\n private getEnglishName(): string {\r\n const language = this.model.get('language');\r\n\r\n const differentNames = this.model.collection.filter(subtitle =>\r\n subtitle.get('language') !== language\r\n );\r\n\r\n let name: string;\r\n\r\n if (differentNames.length > 0)\r\n name = CVLanguages.getFullEnglishName(language);\r\n else\r\n name = CVLanguages.getEnglishName(language);\r\n\r\n return this.model.get('metadata')?.autoGenerated\r\n ? LanguageService.getPhrase(this.lang, 'autoGenerated', { name })\r\n : name;\r\n }\r\n\r\n private onClickDelete(): void {\r\n if (this.options.isClickViewContent)\r\n return;\r\n\r\n const dialogHelper = new DialogHelper({\r\n title: LanguageService.getPhrase(this.lang, 'removeHeading'),\r\n text: LanguageService.getPhrase(this.lang, 'removeBody', {\r\n language: this.getEnglishName()\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:subtitle', this.model.get('id'));\r\n });\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n styles,\r\n svg: VideoDetailsHelper.mapTypeToSvg('subtitle'),\r\n trashSvg: SvgHelper.getSvg(cvSvgLibrary.Delete),\r\n name: this.getEnglishName(),\r\n isClickViewContent: this.options.isClickViewContent\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 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.emptyStateText : stack1), depth0));\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.headerText : 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=\\\"subtitles-list-region\\\"></div>\";\n},\"useData\":true});","import * as _ from 'underscore';\r\nimport { ObjectHash } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport { SubtitleItemComponentOptions, SubtitleItemComponent } from './SubtitleItemComponent';\r\nimport VideoSubtitlesTemplate from './VideoSubtitles.hbs';\r\n\r\ninterface VideoSubtitlesComponentCollectionOptions extends Core.ComponentCollectionOptions {\r\n channelName: string;\r\n isClickViewContent?: boolean;\r\n headerText?: string;\r\n emptyStateText?: string;\r\n}\r\n\r\nexport class VideoSubtitlesComponent extends Core.Component {\r\n public options: VideoSubtitlesComponentCollectionOptions;\r\n\r\n constructor(options: VideoSubtitlesComponentCollectionOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'VideoSubtitlesComponent';\r\n }\r\n\r\n public get template(): string {\r\n return VideoSubtitlesTemplate;\r\n }\r\n\r\n public regions(): ObjectHash {\r\n return {\r\n subtitles: {\r\n el: '.subtitles-list-region',\r\n replaceElement: true\r\n }\r\n };\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n headerText: this.options.headerText,\r\n emptyStateText: this.options.emptyStateText\r\n };\r\n }\r\n\r\n public onRender(): void {\r\n this.showChildView('subtitles', new VideoSubtitlesComponentCollection({\r\n collection: this.collection,\r\n channelName: this.options.channelName,\r\n isClickViewContent: this.options.isClickViewContent\r\n }));\r\n }\r\n}\r\n\r\nexport class VideoSubtitlesComponentCollection extends Core.ComponentCollection {\r\n public options: VideoSubtitlesComponentCollectionOptions;\r\n\r\n constructor(options: VideoSubtitlesComponentCollectionOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'VideoSubtitlesComponentCollection';\r\n }\r\n\r\n public get childView(): typeof SubtitleItemComponent {\r\n return SubtitleItemComponent;\r\n }\r\n\r\n public get childViewOptions(): SubtitleItemComponentOptions {\r\n return {\r\n channelName: this.options.channelName,\r\n isClickViewContent: this.options.isClickViewContent\r\n };\r\n }\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"svgContainer\":\"cv--svgContainer--1VUhp\",\"actionSvg\":\"cv--actionSvg--3cODR\"};","var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n return \"col-5 py-3\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable, alias2=depth0 != null ? depth0 : (container.nullContext || {});\n\n return \"<div class=\\\"tab-region\\\"></div>\\r\\n\\r\\n<div class=\\\"row pb-2\\\">\\r\\n <div class=\\\"\"\n + ((stack1 = helpers[\"if\"].call(alias2,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.isClickViewContent : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\">\\r\\n <div class=\\\"clickview-subtitles-list-region\\\"></div>\\r\\n </div>\\r\\n <div class=\\\"col-7\\\">\\r\\n <div class=\\\"subtitles-upload-region\\\"></div>\\r\\n <div class=\\\"subtitles-upload-list-region p-0 col-8\\\"></div>\\r\\n <div class=\\\"customer-subtitles-list-region p-0 col-8\\\"></div>\\r\\n </div>\\r\\n</div>\\r\\n\\r\\n<div class=\\\"row border-top pt-1\\\">\\r\\n <div class=\\\"\"\n + ((stack1 = helpers[\"if\"].call(alias2,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.isClickViewContent : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\">\\r\\n <div class=\\\"clickview-resources-list-region\\\"></div>\\r\\n </div>\\r\\n <div class=\\\"col-7\\\">\\r\\n <div class=\\\"resources-upload-region\\\"></div>\\r\\n <div class=\\\"resources-upload-list-region p-0 col-8\\\"></div>\\r\\n <div class=\\\"customer-resources-list-region p-0 col-8\\\"></div>\\r\\n </div>\\r\\n</div>\\r\\n\\r\\n<div class=\\\"row border-top pt-3\\\">\\r\\n <div class=\\\"\"\n + ((stack1 = helpers[\"if\"].call(alias2,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.isClickViewContent : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\">\\r\\n <div class=\\\"clickview-link-list-region\\\"></div>\\r\\n </div>\\r\\n <div class=\\\"col-7\\\">\\r\\n <div class=\\\"add-links-region mb-2\\\"></div>\\r\\n <div class=\\\"customer-link-list-region p-0 col-8\\\"></div>\\r\\n </div>\\r\\n</div>\";\n},\"useData\":true});","import * as _ from 'underscore';\r\nimport { ObjectHash } from 'backbone';\r\nimport { Radio } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { InstanceManager } from 'libs/common/backbone/services/InstanceManager';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { CommonChannels } from 'libs/common/backbone/constants/CommonChannels';\r\nimport { DataServiceErrorType } from 'libs/common/backbone/enums/DataServiceErrorType';\r\nimport { DataServiceError } from 'libs/common/backbone/interfaces';\r\n\r\nimport { SubtitleUploadService, LearningResourceUploadService } from 'libs/shared/apps/upload/services/UploadService';\r\nimport { UploadEventNames } from 'libs/shared/apps/upload/constants/UploadConstants';\r\nimport { FileExtensionHelper, FileExtensions } from 'libs/shared/apps/upload/utils/FileExtensionsHelper';\r\n\r\nimport { DataPrefixes, DataServices, DataChannels, ServiceChannels } from 'shared/constants';\r\nimport { PermissionsHelper, TabHelper, RadioChannelHelper } from 'shared/utils';\r\nimport { Video } from 'shared/models/Video';\r\nimport { Resource } from 'shared/models/Resource';\r\nimport { Subtitle } from 'shared/models/Subtitle';\r\nimport { User } from 'shared/models/User';\r\nimport { Link } from 'shared/models/Link';\r\nimport { PartialLoading, InteractionType } from 'shared/enums';\r\nimport { LockLayoutFileDropBehavior } from 'shared/behaviors';\r\nimport { UserDataServiceHelper } from 'shared/services/UserDataService';\r\n\r\nimport { VideoDataService } from 'apps/library-editor/services/VideoDataService';\r\nimport { ChapterDataService } from 'apps/library-editor/services/ChapterDataService';\r\nimport { ResourceDataService } from 'apps/library-editor/services/ResourceDataService';\r\nimport { SubtitleDataService } from 'apps/library-editor/services/SubtitleDataService';\r\nimport { LinkDataService } from 'apps/library-editor/services/LinkDataService';\r\n\r\nimport { FileSelectComponent } from 'apps/library-editor/components/file-select/FileSelectComponent';\r\nimport { VideoResourcesComponentCollection } from 'apps/library-editor/components/video-resources/VideoResourcesComponent';\r\nimport { ConcatenateRequestComponent } from 'apps/library-editor/components/concatenate-request/ConcatenateRequestComponent';\r\nimport { FileUploadsComponentCollection } from 'apps/library-editor/components/file-uploads/FileUploadsComponentCollection';\r\nimport { LanguageSelectComponent } from 'apps/library-editor/components/language-select/LanguageSelectComponent';\r\nimport { EditVideoTabsComponent } from 'apps/library-editor/components/edit-video-tabs/EditVideoTabsComponent';\r\nimport { VideoSubtitlesComponent } from 'apps/library-editor/components/video-subtitles/VideoSubtitlesComponent';\r\nimport { VideoResourcesComponent } from 'apps/library-editor/components/video-resources/VideoResourcesComponent';\r\nimport { AddLinksComponent } from 'apps/library-editor/components/add-links/AddLinksComponent';\r\nimport { VideoLinksComponent } from 'apps/library-editor/components/edit-links/VideoLinksComponent';\r\n\r\nimport { ForbiddenVideoError, VideoNotFoundError, TooManySubtitlesError, TooManyResourcesError } from 'apps/library-editor/errors';\r\nimport { ChapterConcatenateRequest } from 'apps/library-editor/models';\r\nimport { LibraryEditorActions } from 'apps/library-editor/constants';\r\nimport { ObjectOwnerType, MediaConcatenateStatus } from 'apps/library-editor/enums';\r\nimport { UserAction, LocationContext, EntityType } from 'libs/analytics/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\n\r\nimport EditResourcesTemplate from './EditResources.hbs';\r\n\r\nconst SUBTITLE_LIMIT = 5;\r\nconst RESOURCE_LIMIT = 25;\r\nconst LINK_LIMIT = 25;\r\n\r\ninterface EditResourcesViewOptions extends Core.ViewOptions<Video> {\r\n videoId: string;\r\n}\r\n\r\nexport class EditResourcesView extends Core.View<Video> {\r\n public options: EditResourcesViewOptions;\r\n\r\n private videoDataService: VideoDataService;\r\n private subtitleUploadService: SubtitleUploadService;\r\n private resourceUploadService: LearningResourceUploadService;\r\n private chapterDataService: ChapterDataService;\r\n private linkDataService: LinkDataService;\r\n private resourceDataService: ResourceDataService;\r\n private subtitleDataService: SubtitleDataService;\r\n\r\n private hasPhysicalChapters: Core.Model;\r\n private concatenateRequest: ChapterConcatenateRequest;\r\n private interactionType: InteractionType;\r\n private currentUser: User;\r\n\r\n private getConcatenateRequestSent: boolean;\r\n private concatenateRequestNotFound: boolean;\r\n private isClickViewContent: boolean;\r\n\r\n private resourceUploads: any[];\r\n private resourceUploadCount: number;\r\n\r\n constructor(options: EditResourcesViewOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.initializeUploadServices();\r\n this.bindDataListeners();\r\n this.bindViewListeners();\r\n this.bindFileSelectListeners();\r\n TabHelper.initBackButton();\r\n\r\n this.chapterDataService = InstanceManager.getInstance(DataServices.Chapter, this);\r\n this.videoDataService = InstanceManager.getInstance(DataServices.Video, this);\r\n this.linkDataService = InstanceManager.getInstance(DataServices.Link, this);\r\n this.resourceDataService = InstanceManager.getInstance(DataServices.Resource, this);\r\n this.subtitleDataService = InstanceManager.getInstance(DataServices.Subtitle, this);\r\n\r\n this.resourceUploads = [];\r\n this.resourceUploadCount = 0;\r\n }\r\n\r\n public get name(): string {\r\n return 'EditResourcesView';\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.editResources';\r\n }\r\n\r\n public get title(): string {\r\n return this.model && this.model.get('name') || 'Edit Resources';\r\n }\r\n\r\n public get template(): any {\r\n return EditResourcesTemplate;\r\n }\r\n\r\n public get props(): string[] {\r\n return ['videoDataService'];\r\n }\r\n\r\n public get className(): string {\r\n return 'bg-white p-3';\r\n }\r\n\r\n public get channelName(): string {\r\n return RadioChannelHelper.generateUniqueChannelName(this);\r\n }\r\n\r\n public get behaviors(): any[] {\r\n return [\r\n {\r\n behaviorClass: LockLayoutFileDropBehavior\r\n }\r\n ];\r\n }\r\n\r\n public get requiredResources(): Core.RequiredResourceHash {\r\n return {\r\n currentUser: UserDataServiceHelper.currentUser\r\n };\r\n }\r\n\r\n private initializeUploadServices(): void {\r\n this.resourceUploadService = new LearningResourceUploadService();\r\n this.listenTo(\r\n ServiceChannels.RESOURCE_UPLOAD, UploadEventNames.UPLOAD_COMPLETE, this.onResourceUploadComplete\r\n );\r\n\r\n this.subtitleUploadService = new SubtitleUploadService();\r\n this.listenTo(\r\n ServiceChannels.SUBTITLE_UPLOAD, UploadEventNames.UPLOAD_COMPLETE, this.onSubtitleUploadComplete\r\n );\r\n }\r\n\r\n private bindDataListeners(): void {\r\n this.listenTo(DataChannels.VIDEO, `${DataPrefixes.VIDEOS}:${this.options.videoId}:sync`, this.render);\r\n this.listenTo(DataChannels.VIDEO, `${DataPrefixes.VIDEOS}:${this.options.videoId}:error`, this.onVideoDataError);\r\n\r\n this.listenTo(DataChannels.VIDEO,\r\n `${DataPrefixes.VIDEO_HAS_PHYSICAL_CHAPTERS}:${this.options.videoId}:sync`, this.render);\r\n\r\n this.listenTo(DataChannels.CHAPTER,\r\n `${DataPrefixes.CONCATENATE_STATUS}:${this.options.videoId}:error`, this.onConcatenateDataError);\r\n }\r\n\r\n private bindViewListeners(): void {\r\n this.listenTo(this.channelName, 'add:link', this.onAddLink);\r\n this.listenTo(this.channelName, 'delete:subtitle', this.onDeleteSubtitle);\r\n this.listenTo(this.channelName, 'delete:resource', this.onDeleteResource);\r\n this.listenTo(this.channelName, 'delete:link', this.onDeleteLink);\r\n this.listenTo(this.channelName, 'cancel:upload', this.onCancelUpload);\r\n this.listenTo(this.channelName, LibraryEditorActions.MergeChapters, this.onMergeChapters);\r\n }\r\n\r\n private bindFileSelectListeners(): void {\r\n this.listenTo(this.getSubtitleSelectChannelName(), UploadEventNames.FILES_SELECTED, this.onSubtitleFilesAdded);\r\n\r\n this.listenTo(this.getResourceSelectChannelName(), UploadEventNames.FILES_SELECTED, this.onResourceFilesAdded);\r\n }\r\n\r\n private getSubtitleSelectChannelName(): string {\r\n return `${this.name}${this.cid}subtitles`;\r\n }\r\n\r\n private getResourceSelectChannelName(): string {\r\n return `${this.name}${this.cid}resources`;\r\n }\r\n\r\n private onVideoDataError(error: DataServiceError): void {\r\n switch (error.type) {\r\n case DataServiceErrorType.NotFound:\r\n Core.ErrorHelper.throw(new VideoNotFoundError());\r\n break;\r\n case DataServiceErrorType.Forbidden:\r\n Core.ErrorHelper.throw(new ForbiddenVideoError());\r\n break;\r\n }\r\n }\r\n\r\n private onConcatenateDataError(error: DataServiceError): void {\r\n if (error.type !== DataServiceErrorType.NotFound)\r\n return;\r\n\r\n this.concatenateRequestNotFound = true;\r\n\r\n this.render();\r\n }\r\n\r\n private onSubtitleFilesAdded(files: File[], type?: InteractionType): void {\r\n if (files.length > (SUBTITLE_LIMIT - this.model.subtitles.length )) {\r\n Core.ErrorHelper.throw(new TooManySubtitlesError(SUBTITLE_LIMIT));\r\n return;\r\n }\r\n\r\n if (type)\r\n this.interactionType = type;\r\n\r\n this.subtitleUploadService.addFiles(files);\r\n }\r\n\r\n private onResourceFilesAdded(files: File[], type?: InteractionType): void {\r\n if (files.length > (RESOURCE_LIMIT - this.model.resources.length )) {\r\n Core.ErrorHelper.throw(new TooManyResourcesError(RESOURCE_LIMIT));\r\n return;\r\n }\r\n\r\n this.resourceUploadCount += files.length;\r\n\r\n if (type)\r\n this.interactionType = type;\r\n\r\n this.resourceUploadService.addFiles(files);\r\n }\r\n\r\n private onAddLink(link: ObjectHash): void {\r\n if (this.model.links.length === LINK_LIMIT)\r\n return;\r\n\r\n // If they are about to reach the limit, immediately hide the link form.\r\n if (this.model.links.length + 1 === LINK_LIMIT)\r\n this.renderAddLinks(true);\r\n\r\n this.linkDataService.addLink(this.model.get('id'), link, (newLink: Link) => {\r\n this.model.links.add(newLink);\r\n this.render();\r\n });\r\n }\r\n\r\n public regions(): ObjectHash {\r\n return {\r\n tabs: {\r\n el: '.tab-region',\r\n partialLoading: PartialLoading.EditVideoTabs\r\n },\r\n\r\n subtitlesUpload: {\r\n el: '.subtitles-upload-region',\r\n partialLoading: PartialLoading.EditVideoUploadArea\r\n },\r\n subtitlesUploadList: '.subtitles-upload-list-region',\r\n customerSubtitlesList: '.customer-subtitles-list-region',\r\n clickViewSubtitlesList: '.clickview-subtitles-list-region',\r\n\r\n resourcesUpload: {\r\n el: '.resources-upload-region',\r\n partialLoading: PartialLoading.EditVideoUploadArea\r\n },\r\n resourcesUploadList: '.resources-upload-list-region',\r\n customerResourcesList: '.customer-resources-list-region',\r\n clickViewResourcesList: '.clickview-resources-list-region',\r\n\r\n addLinks: {\r\n el: '.add-links-region',\r\n partialLoading: PartialLoading.EditVideoUploadArea\r\n },\r\n customerLinkList: '.customer-link-list-region',\r\n clickViewLinkList: '.clickview-link-list-region'\r\n };\r\n }\r\n\r\n /**\r\n * We call this function in onRender to not start polling if we don't have a concatenateRequest\r\n * or if the concatenate request isn't currently concatenating. \r\n */\r\n private startPollingConcatenation(): void {\r\n if (!this.concatenateRequest)\r\n return;\r\n\r\n const ignoreStatuses = [ MediaConcatenateStatus.SingleFile, MediaConcatenateStatus.ConcatenationFailed ];\r\n if (_.contains(ignoreStatuses, this.concatenateRequest.get('status')))\r\n return;\r\n\r\n this.pollConcatenation();\r\n }\r\n\r\n /**\r\n * This function exists seperately from startPollingConcatenation() so that\r\n * we can force the polling to start when this.concatenateRequest is null\r\n * \r\n * This is done when the merge chapter button is clicked to request concatenation\r\n */\r\n private pollConcatenation(): void {\r\n if (this.isDestroyed())\r\n return;\r\n\r\n this.chapterDataService.getConcatenateRequest(this.options.videoId, (data: ChapterConcatenateRequest) => {\r\n this.concatenateRequest = data;\r\n\r\n if (this.concatenateRequest.get('status') !== MediaConcatenateStatus.SingleFile) {\r\n setTimeout(() => this.pollConcatenation(), 5000);\r\n this.renderConcatenationRequest();\r\n return;\r\n }\r\n\r\n this.videoDataService.clearPhysicialChaptersCache();\r\n this.videoDataService.hasPhysicalChapters(this.options.videoId, (model: Core.Model) => {\r\n this.hasPhysicalChapters = model;\r\n this.renderSubtitleFileSelect();\r\n });\r\n });\r\n }\r\n\r\n private onDeleteResource(resourceId: string): void {\r\n this.resourceDataService.deleteResource(this.options.videoId, resourceId, () => {\r\n this.logDeleteAction(EntityType.Resource, resourceId);\r\n this.render();\r\n });\r\n }\r\n\r\n private onDeleteSubtitle(subtitleId: string): void {\r\n this.subtitleDataService.deleteSubtitle(this.options.videoId, subtitleId, () => {\r\n this.logDeleteAction(EntityType.Subtitle, subtitleId);\r\n this.render();\r\n });\r\n }\r\n\r\n private onDeleteLink(linkId: string): void {\r\n this.linkDataService.deleteLink(this.options.videoId, linkId, () => {\r\n this.logDeleteAction(EntityType.Link, linkId);\r\n this.render();\r\n });\r\n }\r\n\r\n private onCancelUpload(uploadId: string): void {\r\n /**\r\n * We don't know if it was a subtitle upload or resource upload\r\n * that was cancelled. But we do know that the uploadId will be unique\r\n * so we jsut blindly cancel it in both services.\r\n *\r\n * Bit hacky... sue me - Sha\r\n */\r\n this.resourceUploadService.cancelUpload(uploadId);\r\n this.subtitleUploadService.cancelUpload(uploadId);\r\n }\r\n\r\n private onResourceUploadComplete(upload: Core.Model): void {\r\n const uploadData = upload.toJSON();\r\n\r\n const data = {\r\n fileId: uploadData.fileInfo.id,\r\n uploadId: uploadData.file.cvUpload.uploadId,\r\n name: uploadData.fileInfo.name,\r\n type: FileExtensionHelper.getResourceType(uploadData.fileInfo.extension),\r\n extension: uploadData.fileInfo.extension,\r\n fileSize: uploadData.fileInfo.size,\r\n fileUrl: uploadData.fileInfo.url,\r\n ingestUrl: uploadData.file.cvUpload.ingestUrl,\r\n metaData: {\r\n type: FileExtensionHelper.getResourceType(uploadData.fileInfo.extension)\r\n },\r\n contribution: false,\r\n url: uploadData.fileInfo.url,\r\n fileIdType: 2 // FileApiv1\r\n };\r\n\r\n this.resourceUploads.push(data);\r\n this.resourceUploadCount--;\r\n\r\n if (this.resourceUploadCount > 0) return;\r\n\r\n // This is only run once all resources have been uploaded.\r\n this.resourceDataService.addResource(this.options.videoId, this.resourceUploads, (resource: Resource) => {\r\n this.model.resources.add(resource);\r\n\r\n const uploadedResource = this.resourceUploadService\r\n .getCollection()\r\n .filter((uploaded: any) => uploaded.get('fileInfo').id === resource.get('fileId'));\r\n\r\n this.resourceUploadService.getCollection().remove(uploadedResource);\r\n\r\n this.logUploadAction(resource);\r\n this.render();\r\n });\r\n this.resourceUploads = [];\r\n }\r\n\r\n private onSubtitleUploadComplete(upload: Core.Model): void {\r\n const promise = $.Deferred();\r\n\r\n const languageSelector = new LanguageSelectComponent({\r\n /**\r\n * TODO: Pull the default language from the user's country.\r\n */\r\n defaultLanguage: { code: 'en', name: 'English' },\r\n promise\r\n });\r\n\r\n promise\r\n .done((language: any) => {\r\n const uploadData = upload.toJSON();\r\n\r\n const data = {\r\n fileId: uploadData.fileInfo.id,\r\n name: language.name,\r\n language: language.code,\r\n type: FileExtensionHelper.getResourceType(uploadData.fileInfo.extension),\r\n fileIdType: 2 // FileApiv1\r\n };\r\n\r\n this.subtitleDataService.addSubtitle(this.options.videoId, data, (subtitle: Subtitle) => {\r\n this.model.subtitles.add(subtitle);\r\n this.subtitleUploadService.getCollection().remove(upload);\r\n this.logUploadAction(subtitle);\r\n this.render();\r\n });\r\n })\r\n .fail(() => {\r\n this.subtitleUploadService.cancelUpload(upload.get('id'));\r\n });\r\n\r\n const channel = Radio.channel(CommonChannels.POPUP);\r\n channel.trigger(Core.EventNames.SHOW_POPUP, languageSelector);\r\n }\r\n\r\n private logUploadAction(item: Resource | Subtitle): void {\r\n const entity = item instanceof Resource ? EntityType.Resource : EntityType.Subtitle;\r\n const descriptor = AnalyticsHelper.mapInteractionType(this.interactionType);\r\n\r\n const analyticsOptions = {\r\n location: LocationContext.EditVideoResources,\r\n actionType: UserAction.Upload,\r\n entity,\r\n descriptor,\r\n };\r\n\r\n AnalyticsHelper.logUserAction(item, analyticsOptions);\r\n }\r\n\r\n private logDeleteAction(entity: EntityType, id: string, ): void {\r\n\r\n const analyticsOptions = {\r\n location: LocationContext.EditVideoResources,\r\n actionType: UserAction.Delete,\r\n entity,\r\n };\r\n\r\n const data = { id, parentId: +this.options.videoId };\r\n\r\n AnalyticsHelper.logUserAction(data, analyticsOptions);\r\n }\r\n\r\n private onMergeChapters(): void {\r\n this.chapterDataService.addConcatenateRequest(this.options.videoId, () => {\r\n this.pollConcatenation();\r\n });\r\n }\r\n\r\n private renderTabs(): void {\r\n const hideChaptersTab: boolean = !PermissionsHelper.canEditVideo(this.model);\r\n this.showChildView('tabs', new EditVideoTabsComponent({\r\n tabs: TabHelper.getEditVideoTabs(this.options.videoId, { hideChaptersTab }),\r\n activeTab: '.edit-resources-subtitles-applink',\r\n goBackTab: TabHelper.getBackButton(this.options.videoId),\r\n }));\r\n }\r\n\r\n private renderSubtitleFileSelect(): void {\r\n if (this.hasPhysicalChapters.get('value')) {\r\n this.renderConcatenationRequest();\r\n return;\r\n }\r\n\r\n const limitText = LanguageService.getPhrase(this.lang, 'subtitlesLimit', {\r\n limit: SUBTITLE_LIMIT\r\n });\r\n\r\n this.showChildView('subtitlesUpload', new FileSelectComponent({\r\n title: this.isClickViewContent\r\n ? LanguageService.getPhrase(this.lang, 'customerSubtitles')\r\n : LanguageService.getPhrase(this.lang, 'subtitles'),\r\n description: LanguageService.getPhrase(this.lang, 'subtitlesInfo'),\r\n alternateText: LanguageService.getPhrase(this.lang, 'subtitlesAlternative'),\r\n mimeType: FileExtensions.SUBTITLES,\r\n channelName: this.getSubtitleSelectChannelName(),\r\n acceptMultiple: false,\r\n limitText: this.model.subtitles.length >= SUBTITLE_LIMIT ? limitText : null,\r\n isClickViewContent: this.isClickViewContent\r\n }));\r\n }\r\n\r\n private renderSubtitleUploadList(): void {\r\n const collection = this.subtitleUploadService.getCollection();\r\n this.showChildView('subtitlesUploadList', new FileUploadsComponentCollection({\r\n collection,\r\n channelName: this.channelName\r\n }));\r\n }\r\n\r\n private renderSubtitlesLists(): void {\r\n this.renderClickViewSubtitlesList();\r\n this.renderCustomerSubtitlesList();\r\n }\r\n\r\n private renderClickViewSubtitlesList(): void {\r\n if (!this.isClickViewContent)\r\n return;\r\n\r\n const subtitles = PermissionsHelper.filterObjectsByOwnerType(this.model.subtitles, ObjectOwnerType.ClickView);\r\n\r\n this.showChildView('clickViewSubtitlesList', new VideoSubtitlesComponent({\r\n collection: subtitles,\r\n channelName: this.channelName,\r\n isClickViewContent: true,\r\n headerText: LanguageService.getPhrase(this.lang, 'clickViewSubtitles'),\r\n emptyStateText: subtitles.models.length ? '' : LanguageService.getPhrase(this.lang, 'clickViewSubtitlesEmpty')\r\n }));\r\n }\r\n\r\n private renderCustomerSubtitlesList(): void {\r\n this.showChildView('customerSubtitlesList', new VideoSubtitlesComponent({\r\n collection: PermissionsHelper.filterObjectsByOwnerType(this.model.subtitles, ObjectOwnerType.Customer, this.currentUser.get('customerId')),\r\n channelName: this.channelName\r\n }));\r\n }\r\n\r\n private renderConcatenationRequest(): void {\r\n if (!this.isRendered())\r\n return;\r\n\r\n this.showChildView('subtitlesUpload', new ConcatenateRequestComponent({\r\n type: this.isClickViewContent ? 'clickViewSubtitles' : 'subtitles',\r\n channelName: this.channelName,\r\n model: this.concatenateRequest\r\n }));\r\n }\r\n\r\n private renderResourcesFileSelect(): void {\r\n const limitText = LanguageService.getPhrase(this.lang, 'resourcesLimit', {\r\n limit: RESOURCE_LIMIT\r\n });\r\n\r\n this.showChildView('resourcesUpload', new FileSelectComponent({\r\n title: this.isClickViewContent\r\n ? LanguageService.getPhrase(this.lang, 'customerResources')\r\n : LanguageService.getPhrase(this.lang, 'resources'),\r\n description: LanguageService.getPhrase(this.lang, 'resourcesDescription'),\r\n alternateText: LanguageService.getPhrase(this.lang, 'resourcesAlternative'),\r\n mimeType: FileExtensions.RESOURCES,\r\n channelName: this.getResourceSelectChannelName(),\r\n limitText: this.model.resources.length >= RESOURCE_LIMIT ? limitText : null,\r\n isClickViewContent: this.isClickViewContent\r\n }));\r\n }\r\n\r\n private renderResourcesUploadList(): void {\r\n const collection = this.resourceUploadService.getCollection();\r\n this.showChildView('resourcesUploadList', new FileUploadsComponentCollection({\r\n collection,\r\n channelName: this.channelName\r\n }));\r\n }\r\n\r\n private renderResourcesLists(): void {\r\n this.renderClickViewResourcesList();\r\n this.renderCustomerResourcesList();\r\n }\r\n\r\n private renderClickViewResourcesList(): void {\r\n if (!this.isClickViewContent)\r\n return;\r\n\r\n const resources = PermissionsHelper.filterObjectsByOwnerType(this.model.resources, ObjectOwnerType.ClickView);\r\n\r\n this.showChildView('clickViewResourcesList', new VideoResourcesComponent({\r\n model: this.model,\r\n customCollection: resources,\r\n editable: false,\r\n videoId: this.options.videoId,\r\n parentChannelName: this.channelName,\r\n headerText: LanguageService.getPhrase(this.lang, 'clickViewResources'),\r\n emptyStateText: resources.models.length ? '' : LanguageService.getPhrase(this.lang, 'clickViewResourcesEmpty'),\r\n analyticsOptions: {\r\n location: LocationContext.EditVideoResources\r\n }\r\n }));\r\n }\r\n\r\n private renderCustomerResourcesList(): void {\r\n this.showChildView('customerResourcesList', new VideoResourcesComponentCollection({\r\n collection: PermissionsHelper.filterObjectsByOwnerType(this.model.resources, ObjectOwnerType.Customer, this.currentUser.get('customerId')),\r\n editable: true,\r\n videoId: this.options.videoId,\r\n channelName: this.channelName,\r\n analyticsOptions: {\r\n location: LocationContext.EditVideoResources\r\n }\r\n }));\r\n }\r\n\r\n private renderAddLinks(hide?: boolean): void {\r\n this.showChildView('addLinks', new AddLinksComponent({\r\n collection: this.model.get('links'),\r\n channelName: this.channelName,\r\n hide: hide || this.model.get('links').length === LINK_LIMIT,\r\n limit: LINK_LIMIT\r\n }));\r\n }\r\n\r\n private renderLinkLists(): void {\r\n const sharedComponentOptions = {\r\n channelName: this.channelName,\r\n analyticsOptions: {\r\n location: LocationContext.EditVideoResources\r\n },\r\n videoId: this.options.videoId\r\n };\r\n\r\n this.renderClickViewLinkList(sharedComponentOptions);\r\n this.renderCustomerLinkList(sharedComponentOptions);\r\n }\r\n\r\n private renderClickViewLinkList(options: any): void {\r\n if (!this.isClickViewContent)\r\n return;\r\n\r\n const links = PermissionsHelper.filterObjectsByOwnerType(this.model.links, ObjectOwnerType.ClickView);\r\n\r\n this.showChildView('clickViewLinkList', new VideoLinksComponent({\r\n ...options,\r\n headingText: 'Resource Links by ClickView',\r\n emptyStateText: links.models.length ? '' : 'There are no ClickView links for this video',\r\n customCollection: links,\r\n editable: false\r\n }));\r\n }\r\n\r\n private renderCustomerLinkList(options: any): void {\r\n this.showChildView('customerLinkList', new VideoLinksComponent({\r\n ...options,\r\n customCollection: PermissionsHelper.filterObjectsByOwnerType(this.model.links, ObjectOwnerType.Customer, this.currentUser.get('customerId')),\r\n editable: true\r\n }));\r\n }\r\n\r\n private fetchData(): void {\r\n this.model = this.videoDataService.getVideo(this.options.videoId);\r\n\r\n this.hasPhysicalChapters = this.videoDataService.hasPhysicalChapters(this.options.videoId);\r\n this.isClickViewContent = this.model && !PermissionsHelper.canEditVideo(this.model);\r\n\r\n /**\r\n * If this.hasPhysicalChapters.get('value') is false, we don't need to fetch the concatenate request.\r\n * Alternatively, if we have already sent a request to fetch the concatenate request, we don't need\r\n * to fetch it again.\r\n * A flag, getConcatenateRequestSent, is used as ChapterDataService.getConcatenateRequest() will\r\n * return null if a concatenate request hasn't been created.\r\n */\r\n if (!this.hasPhysicalChapters || !this.hasPhysicalChapters.get('value') || this.getConcatenateRequestSent)\r\n return;\r\n\r\n this.chapterDataService.getConcatenateRequest(this.options.videoId, (data: ChapterConcatenateRequest) => {\r\n this.concatenateRequest = data;\r\n this.render();\r\n });\r\n\r\n this.getConcatenateRequestSent = true;\r\n }\r\n\r\n private shouldRender(): boolean {\r\n if (!this.model || !this.hasPhysicalChapters)\r\n return false;\r\n\r\n if (this.hasPhysicalChapters.get('value') && (!this.concatenateRequest && !this.concatenateRequestNotFound))\r\n return false;\r\n\r\n return true;\r\n }\r\n\r\n public onBeforeRender(): boolean {\r\n this.fetchData();\r\n\r\n return this.shouldRender();\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n isClickViewContent: this.isClickViewContent\r\n };\r\n }\r\n\r\n public onRender(): void {\r\n this.renderTabs();\r\n\r\n this.renderSubtitleFileSelect();\r\n this.renderSubtitleUploadList();\r\n this.renderSubtitlesLists();\r\n\r\n this.renderResourcesFileSelect();\r\n this.renderResourcesUploadList();\r\n this.renderResourcesLists();\r\n\r\n this.renderAddLinks();\r\n this.renderLinkLists();\r\n\r\n this.startPollingConcatenation();\r\n }\r\n\r\n public onDestroy(): void {\r\n this.subtitleUploadService.destroy();\r\n this.resourceUploadService.destroy();\r\n }\r\n}"],"sourceRoot":""}
@@ -1 +1 @@
1
- (window.webpackJsonp_clickview_library_editor=window.webpackJsonp_clickview_library_editor||[]).push([[44],{1033:function(t,e,n){"use strict";n.d(e,"a",(function(){return y}));var r=n(2),o=n(29),i=n(3);function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function s(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function c(t,e){return(c=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function u(t){var e=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(t){return!1}}();return function(){var n,r=f(t);if(e){var o=f(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return l(this,n)}}function l(t,e){return!e||"object"!==a(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function f(t){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var p="migrationWizard.smartMigrationApiCall",y=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&c(t,e)}(l,t);var e,n,o,a=u(l);function l(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,l),(e=a.call(this,i.a.getPhrase(p,"title"))).supportUrl=t,e}return e=l,(n=[{key:"onDone",value:function(){r.a.LocationUtils.Reload()}},{key:"name",get:function(){return"SmartMigrationApiCallError"}},{key:"dialogOptions",get:function(){return{title:i.a.getPhrase(p,"heading"),text:"<p>".concat(i.a.getPhrase(p,"errorNotice")," \n <strong>").concat(i.a.getPhrase(p,"reloadPage"),"</strong></p>\n <p>").concat(i.a.getPhrase(p,"helpGuide",{supportUrl:this.supportUrl,linkClasses:"text-info"}),"\n </p>"),buttons:[{text:i.a.getPhrase(p,"reload"),className:"btn btn-primary",success:!0}]}}}])&&s(e.prototype,n),o&&s(e,o),l}(o.a)},1070:function(t,e,n){"use strict";n(277);var r=n(2),o=n(29),i=n(3);function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function s(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function c(t,e){return(c=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function u(t){var e=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(t){return!1}}();return function(){var n,r=f(t);if(e){var o=f(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return l(this,n)}}function l(t,e){return!e||"object"!==a(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function f(t){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var p="migrationWizard.backupProgress",y=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&c(t,e)}(l,t);var e,n,o,a=u(l);function l(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,l),a.call(this,i.a.getPhrase(p,"title"))}return e=l,(n=[{key:"onDone",value:function(){r.a.LocationUtils.Reload()}},{key:"name",get:function(){return"BackupProgressError"}},{key:"dialogOptions",get:function(){return{title:i.a.getPhrase(p,"heading"),text:i.a.getPhrase(p,"body"),buttons:[{text:i.a.getPhrase(p,"reload"),className:"btn btn-primary",success:!0}]}}}])&&s(e.prototype,n),o&&s(e,o),l}(o.a);function g(t){return(g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function d(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function b(t,e){return(b=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function h(t){var e=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(t){return!1}}();return function(){var n,r=v(t);if(e){var o=v(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return m(this,n)}}function m(t,e){return!e||"object"!==g(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function v(t){return(v=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var P=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&b(t,e)}(s,t);var e,n,o,a=h(s);function s(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,s),a.call(this,i.a.getPhrase("migrationWizard.migrationProgressError","title"))}return e=s,(n=[{key:"onDone",value:function(){r.a.LocationUtils.Reload()}},{key:"name",get:function(){return"MigrationProgressError"}},{key:"dialogOptions",get:function(){return{title:i.a.getPhrase("migrationWizard.migrationProgressError","heading"),text:i.a.getPhrase("migrationWizard.migrationProgressError","body"),buttons:[{text:i.a.getPhrase("migrationWizard.migrationProgressError","reload"),className:"btn btn-primary",success:!0}]}}}])&&d(e.prototype,n),o&&d(e,o),s}(o.a);function k(t){return(k="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function O(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function w(t,e){return(w=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function _(t){var e=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(t){return!1}}();return function(){var n,r=T(t);if(e){var o=T(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return S(this,n)}}function S(t,e){return!e||"object"!==k(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function T(t){return(T=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var R=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&w(t,e)}(s,t);var e,n,o,a=_(s);function s(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,s),a.call(this,i.a.getPhrase("migrationWizard.migrationFinalisation","title"))}return e=s,(n=[{key:"onDone",value:function(){r.a.LocationUtils.Reload()}},{key:"name",get:function(){return"MigrationFinalisationError"}},{key:"dialogOptions",get:function(){return{title:i.a.getPhrase("migrationWizard.migrationFinalisation","heading"),text:i.a.getPhrase("migrationWizard.migrationFinalisation","body"),buttons:[{text:i.a.getPhrase("migrationWizard.migrationFinalisation","reload"),className:"btn btn-primary",success:!0}]}}}])&&O(e.prototype,n),o&&O(e,o),s}(o.a);n(1033);n.d(e,"a",(function(){return y})),n.d(e,"c",(function(){return P})),n.d(e,"b",(function(){return R})),n.d(e,"a",(function(){return y}))},1339:function(t,e,n){t.exports={progress:"bJ21G",remaining:"_1T3fH",info:"_3m6CX",migrationContainer:"MVm9U",migrationSyncContainer:"KH7rf",syncServer:"_2-0ob",syncVideo:"_2Rh0f",migrationSyncAnimation:"oXD93",syncCloud:"_3B9BP"}},1340:function(t,e,n){var r=n(9);t.exports=(r.default||r).template({compiler:[8,">= 4.3.0"],main:function(t,e,n,r,o){t.propertyIsEnumerable;var i,a=t.lambda,s=t.escapeExpression;return'<div class="p-3 pl-5 pr-5">\r\n <div class="'+s(a(null!=(i=null!=(i=null!=e?e.options:e)?i.styles:i)?i.migrationSyncContainer:i,e))+' pt-2 pb-4">\r\n <img src="/images/server.png" class="'+s(a(null!=(i=null!=(i=null!=e?e.options:e)?i.styles:i)?i.syncServer:i,e))+'">\r\n <img src="/images/video.png" class="'+s(a(null!=(i=null!=(i=null!=e?e.options:e)?i.styles:i)?i.syncVideo:i,e))+'">\r\n <img src="/images/cloud.png" class="'+s(a(null!=(i=null!=(i=null!=e?e.options:e)?i.styles:i)?i.syncCloud:i,e))+'">\r\n </div>\r\n\r\n <h4 class="adding-text">'+s(a(null!=(i=null!=e?e.options:e)?i.addingText:i,e))+'</h4>\r\n <div class="progress-bar-region"></div>\r\n</div>\r\n\r\n<span class="d-block text-center pb-3 '+s(a(null!=(i=null!=(i=null!=e?e.options:e)?i.styles:i)?i.info:i,e))+'">'+s((n.lang||e&&e.lang||t.hooks.helperMissing).call(null!=e?e:t.nullContext||{},"keepWindowOpen",{name:"lang",hash:{},data:o}))+"</span>"},useData:!0})},1424:function(t,e,n){"use strict";n.r(e),n.d(e,"MigrationProgressView",(function(){return P}));var r=n(2),o=n(28),i=n(5),a=n(1339),s=n.n(a),c=n(1340),u=n.n(c),l=n(1070),f=n(1090),p=n(0),y=n(3);function g(t){return(g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function d(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function b(t,e){return(b=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function h(t){var e=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(t){return!1}}();return function(){var n,r=v(t);if(e){var o=v(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return m(this,n)}}function m(t,e){return!e||"object"!==g(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function v(t){return(v=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var P=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&b(t,e)}(g,t);var e,n,a,c=h(g);function g(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,g),c.call(this,t)}return e=g,(n=[{key:"initialize",value:function(){this.viewModel=o.a.get("migration:progress",{percentage:0}),this.migrationVideoDataService=i.a.getInstance(p.g.MigrationVideo,this),this.bindMigrationDataListeners()}},{key:"regions",value:function(){return{progressBar:{replaceElement:!0,el:".progress-bar-region"}}}},{key:"bindMigrationDataListeners",value:function(){this.listenTo(p.e.MIGRATION,"".concat(p.f.CUSTOMER_METADATA,":sync"),this.render),this.listenTo(p.e.MIGRATION,"".concat(p.f.FINALISATION,":").concat(this.options.finalisationTaskId,":error"),this.onError)}},{key:"poll",value:function(){var t=this;this.migrationVideoDataService.getFinalisationTask(this.options.finalisationTaskId,(function(e){if(t.finalisationTask=e,t.setPercentage(),t.viewModel.get("percentage")>=100){i.a.getInstance(p.g.Library).clearLibrariesCache(),i.a.releaseInstance(p.g.Library),t.migrationVideoDataService.clearCacheAndGetCustomerMetadata();var n={};return t.options.firstTime&&(n.initialMigration=!0),void r.a.AppLinkHelper.trigger({application:p.b.MIGRATION_WIZARD,action:p.a.MigrationWizard.VIDEOS_ADDED,args:[t.options.finalisationTaskId],params:n})}setTimeout((function(){return t.poll()}),5e3),t.isRendered()?(t.renderProgressBar(),t.getUI("addingText").text(t.getAddingText())):t.render()}))}},{key:"setPercentage",value:function(){if(this.finalisationTask){var t=this.finalisationTask.get("successfullyProcessed")+this.finalisationTask.get("failedToProcess"),e=this.finalisationTask.get("numberOfVideos");this.finalisationTask.get("videosWithWarning")&&0===e?this.viewModel.set("percentage",100):this.viewModel.set("percentage",Math.round(t/e*100))}}},{key:"onError",value:function(){r.a.ErrorHelper.throw(new l.c)}},{key:"renderProgressBar",value:function(){this.showChildView("progressBar",new f.f({model:this.viewModel,backgroundClass:"bg-info"}))}},{key:"onBeforeRender",value:function(){return this.pollingStarted||(this.poll(),this.pollingStarted=!0),this.customerMetadata=this.migrationVideoDataService.getCustomerMetadata(),!!this.finalisationTask&&!!this.customerMetadata}},{key:"getAddingText",value:function(){var t=this.finalisationTask.get("successfullyProcessed")+this.finalisationTask.get("failedToProcess");return y.a.getPhrase(this.lang,"addingVideos",{numberMigrated:t||1,numberSelected:this.finalisationTask.get("numberOfVideos")+this.finalisationTask.get("videosWithWarning")})}},{key:"viewOptions",value:function(){if(this.finalisationTask){var t=this.finalisationTask.get("successfullyProcessed")+this.finalisationTask.get("failedToProcess");return{styles:s.a,numberMigrated:t||1,numberSelected:this.finalisationTask.get("numberOfVideos")+this.finalisationTask.get("videosWithWarning"),addingText:this.getAddingText()}}}},{key:"onRender",value:function(){this.renderProgressBar()}},{key:"name",get:function(){return"MigrationProgressView"}},{key:"title",get:function(){return y.a.getPhrase(this.lang,"title")}},{key:"lang",get:function(){return"migrationWizard.migrationProgress"}},{key:"template",get:function(){return u.a}},{key:"className",get:function(){return"".concat(s.a.migrationContainer," p-3 bg-white ").concat(s.a.progress)}},{key:"elements",get:function(){return{addingText:".adding-text"}}}])&&d(e.prototype,n),a&&d(e,a),g}(r.a.View)}}]);
1
+ (window.webpackJsonp_clickview_library_editor=window.webpackJsonp_clickview_library_editor||[]).push([[43],{1031:function(t,e,n){"use strict";n.d(e,"a",(function(){return y}));var r=n(2),o=n(30),i=n(3);function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function s(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function c(t,e){return(c=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function u(t){var e=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(t){return!1}}();return function(){var n,r=f(t);if(e){var o=f(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return l(this,n)}}function l(t,e){return!e||"object"!==a(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function f(t){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var p="migrationWizard.smartMigrationApiCall",y=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&c(t,e)}(l,t);var e,n,o,a=u(l);function l(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,l),(e=a.call(this,i.a.getPhrase(p,"title"))).supportUrl=t,e}return e=l,(n=[{key:"onDone",value:function(){r.a.LocationUtils.Reload()}},{key:"name",get:function(){return"SmartMigrationApiCallError"}},{key:"dialogOptions",get:function(){return{title:i.a.getPhrase(p,"heading"),text:"<p>".concat(i.a.getPhrase(p,"errorNotice")," \n <strong>").concat(i.a.getPhrase(p,"reloadPage"),"</strong></p>\n <p>").concat(i.a.getPhrase(p,"helpGuide",{supportUrl:this.supportUrl,linkClasses:"text-info"}),"\n </p>"),buttons:[{text:i.a.getPhrase(p,"reload"),className:"btn btn-primary",success:!0}]}}}])&&s(e.prototype,n),o&&s(e,o),l}(o.a)},1068:function(t,e,n){"use strict";n(276);var r=n(2),o=n(30),i=n(3);function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function s(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function c(t,e){return(c=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function u(t){var e=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(t){return!1}}();return function(){var n,r=f(t);if(e){var o=f(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return l(this,n)}}function l(t,e){return!e||"object"!==a(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function f(t){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var p="migrationWizard.backupProgress",y=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&c(t,e)}(l,t);var e,n,o,a=u(l);function l(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,l),a.call(this,i.a.getPhrase(p,"title"))}return e=l,(n=[{key:"onDone",value:function(){r.a.LocationUtils.Reload()}},{key:"name",get:function(){return"BackupProgressError"}},{key:"dialogOptions",get:function(){return{title:i.a.getPhrase(p,"heading"),text:i.a.getPhrase(p,"body"),buttons:[{text:i.a.getPhrase(p,"reload"),className:"btn btn-primary",success:!0}]}}}])&&s(e.prototype,n),o&&s(e,o),l}(o.a);function g(t){return(g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function d(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function b(t,e){return(b=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function h(t){var e=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(t){return!1}}();return function(){var n,r=v(t);if(e){var o=v(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return m(this,n)}}function m(t,e){return!e||"object"!==g(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function v(t){return(v=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var P=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&b(t,e)}(s,t);var e,n,o,a=h(s);function s(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,s),a.call(this,i.a.getPhrase("migrationWizard.migrationProgressError","title"))}return e=s,(n=[{key:"onDone",value:function(){r.a.LocationUtils.Reload()}},{key:"name",get:function(){return"MigrationProgressError"}},{key:"dialogOptions",get:function(){return{title:i.a.getPhrase("migrationWizard.migrationProgressError","heading"),text:i.a.getPhrase("migrationWizard.migrationProgressError","body"),buttons:[{text:i.a.getPhrase("migrationWizard.migrationProgressError","reload"),className:"btn btn-primary",success:!0}]}}}])&&d(e.prototype,n),o&&d(e,o),s}(o.a);function k(t){return(k="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function O(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function w(t,e){return(w=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function _(t){var e=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(t){return!1}}();return function(){var n,r=T(t);if(e){var o=T(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return S(this,n)}}function S(t,e){return!e||"object"!==k(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function T(t){return(T=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var R=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&w(t,e)}(s,t);var e,n,o,a=_(s);function s(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,s),a.call(this,i.a.getPhrase("migrationWizard.migrationFinalisation","title"))}return e=s,(n=[{key:"onDone",value:function(){r.a.LocationUtils.Reload()}},{key:"name",get:function(){return"MigrationFinalisationError"}},{key:"dialogOptions",get:function(){return{title:i.a.getPhrase("migrationWizard.migrationFinalisation","heading"),text:i.a.getPhrase("migrationWizard.migrationFinalisation","body"),buttons:[{text:i.a.getPhrase("migrationWizard.migrationFinalisation","reload"),className:"btn btn-primary",success:!0}]}}}])&&O(e.prototype,n),o&&O(e,o),s}(o.a);n(1031);n.d(e,"a",(function(){return y})),n.d(e,"c",(function(){return P})),n.d(e,"b",(function(){return R})),n.d(e,"a",(function(){return y}))},1337:function(t,e,n){t.exports={progress:"bJ21G",remaining:"_1T3fH",info:"_3m6CX",migrationContainer:"MVm9U",migrationSyncContainer:"KH7rf",syncServer:"_2-0ob",syncVideo:"_2Rh0f",migrationSyncAnimation:"oXD93",syncCloud:"_3B9BP"}},1338:function(t,e,n){var r=n(9);t.exports=(r.default||r).template({compiler:[8,">= 4.3.0"],main:function(t,e,n,r,o){t.propertyIsEnumerable;var i,a=t.lambda,s=t.escapeExpression;return'<div class="p-3 pl-5 pr-5">\r\n <div class="'+s(a(null!=(i=null!=(i=null!=e?e.options:e)?i.styles:i)?i.migrationSyncContainer:i,e))+' pt-2 pb-4">\r\n <img src="/images/server.png" class="'+s(a(null!=(i=null!=(i=null!=e?e.options:e)?i.styles:i)?i.syncServer:i,e))+'">\r\n <img src="/images/video.png" class="'+s(a(null!=(i=null!=(i=null!=e?e.options:e)?i.styles:i)?i.syncVideo:i,e))+'">\r\n <img src="/images/cloud.png" class="'+s(a(null!=(i=null!=(i=null!=e?e.options:e)?i.styles:i)?i.syncCloud:i,e))+'">\r\n </div>\r\n\r\n <h4 class="adding-text">'+s(a(null!=(i=null!=e?e.options:e)?i.addingText:i,e))+'</h4>\r\n <div class="progress-bar-region"></div>\r\n</div>\r\n\r\n<span class="d-block text-center pb-3 '+s(a(null!=(i=null!=(i=null!=e?e.options:e)?i.styles:i)?i.info:i,e))+'">'+s((n.lang||e&&e.lang||t.hooks.helperMissing).call(null!=e?e:t.nullContext||{},"keepWindowOpen",{name:"lang",hash:{},data:o}))+"</span>"},useData:!0})},1422:function(t,e,n){"use strict";n.r(e),n.d(e,"MigrationProgressView",(function(){return P}));var r=n(2),o=n(28),i=n(5),a=n(1337),s=n.n(a),c=n(1338),u=n.n(c),l=n(1068),f=n(1088),p=n(0),y=n(3);function g(t){return(g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function d(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function b(t,e){return(b=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function h(t){var e=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(t){return!1}}();return function(){var n,r=v(t);if(e){var o=v(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return m(this,n)}}function m(t,e){return!e||"object"!==g(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function v(t){return(v=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var P=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&b(t,e)}(g,t);var e,n,a,c=h(g);function g(t){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,g),c.call(this,t)}return e=g,(n=[{key:"initialize",value:function(){this.viewModel=o.a.get("migration:progress",{percentage:0}),this.migrationVideoDataService=i.a.getInstance(p.g.MigrationVideo,this),this.bindMigrationDataListeners()}},{key:"regions",value:function(){return{progressBar:{replaceElement:!0,el:".progress-bar-region"}}}},{key:"bindMigrationDataListeners",value:function(){this.listenTo(p.e.MIGRATION,"".concat(p.f.CUSTOMER_METADATA,":sync"),this.render),this.listenTo(p.e.MIGRATION,"".concat(p.f.FINALISATION,":").concat(this.options.finalisationTaskId,":error"),this.onError)}},{key:"poll",value:function(){var t=this;this.migrationVideoDataService.getFinalisationTask(this.options.finalisationTaskId,(function(e){if(t.finalisationTask=e,t.setPercentage(),t.viewModel.get("percentage")>=100){i.a.getInstance(p.g.Library).clearLibrariesCache(),i.a.releaseInstance(p.g.Library),t.migrationVideoDataService.clearCacheAndGetCustomerMetadata();var n={};return t.options.firstTime&&(n.initialMigration=!0),void r.a.AppLinkHelper.trigger({application:p.b.MIGRATION_WIZARD,action:p.a.MigrationWizard.VIDEOS_ADDED,args:[t.options.finalisationTaskId],params:n})}setTimeout((function(){return t.poll()}),5e3),t.isRendered()?(t.renderProgressBar(),t.getUI("addingText").text(t.getAddingText())):t.render()}))}},{key:"setPercentage",value:function(){if(this.finalisationTask){var t=this.finalisationTask.get("successfullyProcessed")+this.finalisationTask.get("failedToProcess"),e=this.finalisationTask.get("numberOfVideos");this.finalisationTask.get("videosWithWarning")&&0===e?this.viewModel.set("percentage",100):this.viewModel.set("percentage",Math.round(t/e*100))}}},{key:"onError",value:function(){r.a.ErrorHelper.throw(new l.c)}},{key:"renderProgressBar",value:function(){this.showChildView("progressBar",new f.f({model:this.viewModel,backgroundClass:"bg-info"}))}},{key:"onBeforeRender",value:function(){return this.pollingStarted||(this.poll(),this.pollingStarted=!0),this.customerMetadata=this.migrationVideoDataService.getCustomerMetadata(),!!this.finalisationTask&&!!this.customerMetadata}},{key:"getAddingText",value:function(){var t=this.finalisationTask.get("successfullyProcessed")+this.finalisationTask.get("failedToProcess");return y.a.getPhrase(this.lang,"addingVideos",{numberMigrated:t||1,numberSelected:this.finalisationTask.get("numberOfVideos")+this.finalisationTask.get("videosWithWarning")})}},{key:"viewOptions",value:function(){if(this.finalisationTask){var t=this.finalisationTask.get("successfullyProcessed")+this.finalisationTask.get("failedToProcess");return{styles:s.a,numberMigrated:t||1,numberSelected:this.finalisationTask.get("numberOfVideos")+this.finalisationTask.get("videosWithWarning"),addingText:this.getAddingText()}}}},{key:"onRender",value:function(){this.renderProgressBar()}},{key:"name",get:function(){return"MigrationProgressView"}},{key:"title",get:function(){return y.a.getPhrase(this.lang,"title")}},{key:"lang",get:function(){return"migrationWizard.migrationProgress"}},{key:"template",get:function(){return u.a}},{key:"className",get:function(){return"".concat(s.a.migrationContainer," p-3 bg-white ").concat(s.a.progress)}},{key:"elements",get:function(){return{addingText:".adding-text"}}}])&&d(e.prototype,n),a&&d(e,a),g}(r.a.View)}}]);