@clickview/library-editor 1.1.27-dev.1 → 1.1.27-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 (361) hide show
  1. package/dist/en.json +1 -1
  2. package/dist/libs/analytics/src/interfaces/AnalyticsTypes.d.ts +1 -0
  3. package/dist/libs/common/src/backbone/utils/LocalStorageHelper.d.ts +1 -1
  4. package/dist/libs/shared/src/interfaces/models/ClassroomGroup.d.ts +1 -1
  5. package/dist/projects/library-editor/src/app.d.ts +1 -0
  6. package/dist/projects/library-editor/src/apps/library-editor/components/tags/TagsComponent.d.ts +1 -0
  7. package/dist/projects/library-editor/src/shared/components/typeahead-input/SearchTypeaheadComponent.d.ts +1 -0
  8. package/dist/scripts/{0-e25d47c666.chunk.js → 0-93a3cbfbb6.chunk.js} +1 -1
  9. package/dist/scripts/{1-620c685eee.chunk.js → 1-69d9709724.chunk.js} +1 -1
  10. package/dist/scripts/{10-3baf058564.chunk.js → 10-8b01d98b20.chunk.js} +1 -1
  11. package/dist/scripts/{11-9f5f0c25dc.chunk.js → 11-cbe69fa3f0.chunk.js} +1 -1
  12. package/dist/scripts/{12-b460ad405e.chunk.js → 12-9b10cdc17d.chunk.js} +1 -1
  13. package/dist/scripts/13-1e10e6e87f.chunk.js +1 -0
  14. package/dist/scripts/{14-670309ef33.chunk.js → 14-ab7a30ee22.chunk.js} +1 -1
  15. package/dist/scripts/{15-39010184ed.chunk.js → 15-74a4408ee9.chunk.js} +1 -1
  16. package/dist/scripts/{16-0971cabfc8.chunk.js → 16-42f9f38a5b.chunk.js} +1 -1
  17. package/dist/scripts/{17-f364868870.chunk.js → 17-b1675f5397.chunk.js} +1 -1
  18. package/dist/scripts/{2-cd7f1d10b5.chunk.js → 2-cfce7347b3.chunk.js} +1 -1
  19. package/dist/scripts/{20-42dc06da39.chunk.js → 20-9f938a6f3e.chunk.js} +1 -1
  20. package/dist/scripts/{21-05615559be.chunk.js → 21-3a0591790a.chunk.js} +1 -1
  21. package/dist/scripts/{22-70b4c18dd2.chunk.js → 22-75ca7c2ae2.chunk.js} +1 -1
  22. package/dist/scripts/23-6cc6df1006.chunk.js +1 -0
  23. package/dist/scripts/{24-6fbd14025b.chunk.js → 24-857f2e7cba.chunk.js} +1 -1
  24. package/dist/scripts/{25-3d067b8b9a.chunk.js → 25-30d6eaa470.chunk.js} +1 -1
  25. package/dist/scripts/{26-468305820a.chunk.js → 26-7e0e9534cf.chunk.js} +1 -1
  26. package/dist/scripts/27-460f20f83b.chunk.js +1 -0
  27. package/dist/scripts/{28-f3f43a3001.chunk.js → 28-c4655d4bd8.chunk.js} +1 -1
  28. package/dist/scripts/{29-268278d2ac.chunk.js → 29-3629c8b906.chunk.js} +1 -1
  29. package/dist/scripts/{3-4694b66aa5.chunk.js → 3-34f154b85d.chunk.js} +1 -1
  30. package/dist/scripts/{30-694b0a0d4b.chunk.js → 30-9d7a8c6475.chunk.js} +1 -1
  31. package/dist/scripts/{31-4c542c18dc.chunk.js → 31-a80eb231ed.chunk.js} +1 -1
  32. package/dist/scripts/{32-a1543ffe27.chunk.js → 32-db0c763740.chunk.js} +1 -1
  33. package/dist/scripts/{33-9685703df6.chunk.js → 33-b9fef236ae.chunk.js} +1 -1
  34. package/dist/scripts/{34-eb9f6709b3.chunk.js → 34-d2a7193286.chunk.js} +1 -1
  35. package/dist/scripts/{35-1ff49137e7.chunk.js → 35-1b97d95b2a.chunk.js} +1 -1
  36. package/dist/scripts/{36-9e89154ca2.chunk.js → 36-179634ea36.chunk.js} +1 -1
  37. package/dist/scripts/{37-80589d542e.chunk.js → 37-e6d9fbefd1.chunk.js} +1 -1
  38. package/dist/scripts/{38-7e88534f67.chunk.js → 38-0c6051fb45.chunk.js} +1 -1
  39. package/dist/scripts/{39-99824f3b64.chunk.js → 39-5fffd05811.chunk.js} +1 -1
  40. package/dist/scripts/{4-ad1e4b43da.chunk.js → 4-2a04f5b2b3.chunk.js} +1 -1
  41. package/dist/scripts/{40-dbfd665c74.chunk.js → 40-5d3d9611b5.chunk.js} +1 -1
  42. package/dist/scripts/{41-25fbac3d17.chunk.js → 41-f3b2533950.chunk.js} +1 -1
  43. package/dist/scripts/42-075fbbf19d.chunk.js +1 -0
  44. package/dist/scripts/{43-5ef29feb2c.chunk.js → 43-205ccfa9a4.chunk.js} +1 -1
  45. package/dist/scripts/{44-223f602431.chunk.js → 44-4be8465afa.chunk.js} +1 -1
  46. package/dist/scripts/{45-344492a36f.chunk.js → 45-541254a177.chunk.js} +1 -1
  47. package/dist/scripts/{46-9ca7afd6a4.chunk.js → 46-fe575b6c9f.chunk.js} +1 -1
  48. package/dist/scripts/{47-ac0c9c5ce1.chunk.js → 47-18d84f7b83.chunk.js} +1 -1
  49. package/dist/scripts/{48-6bf590b9a0.chunk.js → 48-40adeb652e.chunk.js} +1 -1
  50. package/dist/scripts/{49-8e3e782ffb.chunk.js → 49-ac59f2a6fd.chunk.js} +1 -1
  51. package/dist/scripts/{5-b236603e85.chunk.js → 5-ce9948090c.chunk.js} +1 -1
  52. package/dist/scripts/{50-30ba08212e.chunk.js → 50-8cc4935ea5.chunk.js} +1 -1
  53. package/dist/scripts/{51-828972defb.chunk.js → 51-cd80402e6e.chunk.js} +1 -1
  54. package/dist/scripts/{52-b2acf3e742.chunk.js → 52-7e11748c73.chunk.js} +1 -1
  55. package/dist/scripts/{53-5d6ea94871.chunk.js → 53-e807e56657.chunk.js} +1 -1
  56. package/dist/scripts/{54-2d8bd6fde0.chunk.js → 54-265c2852ce.chunk.js} +1 -1
  57. package/dist/scripts/{55-4a8d360746.chunk.js → 55-68bef0b859.chunk.js} +1 -1
  58. package/dist/scripts/{56-ad12ebab5f.chunk.js → 56-f52cc13b44.chunk.js} +1 -1
  59. package/dist/scripts/{57-53b89c2ef0.chunk.js → 57-77549e4856.chunk.js} +1 -1
  60. package/dist/scripts/{58-b246abe78c.chunk.js → 58-3f44c0ba1a.chunk.js} +1 -1
  61. package/dist/scripts/{59-19290686e0.chunk.js → 59-bf231da287.chunk.js} +1 -1
  62. package/dist/scripts/{6-6fb543aa78.chunk.js → 6-97a29c3fdd.chunk.js} +1 -1
  63. package/dist/scripts/{60-0c075e7b5c.chunk.js → 60-c6a9325b5e.chunk.js} +1 -1
  64. package/dist/scripts/{61-2725bbfab2.chunk.js → 61-5fe4279f6d.chunk.js} +1 -1
  65. package/dist/scripts/{62-472d10a18e.chunk.js → 62-ff1c8453b6.chunk.js} +1 -1
  66. package/dist/scripts/{63-7d00e50441.chunk.js → 63-47a43e2399.chunk.js} +1 -1
  67. package/dist/scripts/{64-1b42f78644.chunk.js → 64-398f9ac217.chunk.js} +1 -1
  68. package/dist/scripts/{65-14af88c745.chunk.js → 65-d75308a09e.chunk.js} +1 -1
  69. package/dist/scripts/{66-bc274df13a.chunk.js → 66-ec32c5588a.chunk.js} +1 -1
  70. package/dist/scripts/{67-d1edef09d6.chunk.js → 67-6805e53bfb.chunk.js} +1 -1
  71. package/dist/scripts/{68-52468201b9.chunk.js → 68-046ada4945.chunk.js} +1 -1
  72. package/dist/scripts/{69-b681e9a99c.chunk.js → 69-235a8e6754.chunk.js} +1 -1
  73. package/dist/scripts/{7-2807a666bc.chunk.js → 7-55f3aed0f4.chunk.js} +1 -1
  74. package/dist/scripts/{70-d4018838a9.chunk.js → 70-150be3f4a2.chunk.js} +1 -1
  75. package/dist/scripts/{71-29cce07c7f.chunk.js → 71-c63b7a2a30.chunk.js} +1 -1
  76. package/dist/scripts/{72-6f83214b8d.chunk.js → 72-53bdb8c37f.chunk.js} +1 -1
  77. package/dist/scripts/{8-8f44e8bfc4.chunk.js → 8-94205353a6.chunk.js} +1 -1
  78. package/dist/scripts/{9-b8f9ea66c4.chunk.js → 9-0776e647a0.chunk.js} +1 -1
  79. package/dist/scripts/bundle-704119eb6d.min.js +8 -0
  80. package/dist/scripts/bundles.json +2 -2
  81. package/dist/scripts/polyfills-44c21c47b6.min.js +1 -0
  82. package/package.json +4 -4
  83. package/dist/css/1.chunk.css.map +0 -1
  84. package/dist/css/10.chunk.css.map +0 -1
  85. package/dist/css/11.chunk.css +0 -137
  86. package/dist/css/11.chunk.css.map +0 -1
  87. package/dist/css/12.chunk.css.map +0 -1
  88. package/dist/css/13.chunk.css.map +0 -1
  89. package/dist/css/14.chunk.css.map +0 -1
  90. package/dist/css/16.chunk.css.map +0 -1
  91. package/dist/css/17.chunk.css.map +0 -1
  92. package/dist/css/18.chunk.css +0 -20
  93. package/dist/css/18.chunk.css.map +0 -1
  94. package/dist/css/2.chunk.css +0 -145
  95. package/dist/css/2.chunk.css.map +0 -1
  96. package/dist/css/21.chunk.css.map +0 -1
  97. package/dist/css/22.chunk.css.map +0 -1
  98. package/dist/css/23.chunk.css.map +0 -1
  99. package/dist/css/25.chunk.css.map +0 -1
  100. package/dist/css/26.chunk.css.map +0 -1
  101. package/dist/css/28.chunk.css.map +0 -1
  102. package/dist/css/29.chunk.css.map +0 -1
  103. package/dist/css/3.chunk.css.map +0 -1
  104. package/dist/css/30.chunk.css.map +0 -1
  105. package/dist/css/31.chunk.css.map +0 -1
  106. package/dist/css/32.chunk.css.map +0 -1
  107. package/dist/css/33.chunk.css.map +0 -1
  108. package/dist/css/34.chunk.css +0 -21
  109. package/dist/css/34.chunk.css.map +0 -1
  110. package/dist/css/35.chunk.css +0 -20
  111. package/dist/css/35.chunk.css.map +0 -1
  112. package/dist/css/36.chunk.css +0 -14
  113. package/dist/css/36.chunk.css.map +0 -1
  114. package/dist/css/37.chunk.css.map +0 -1
  115. package/dist/css/38.chunk.css.map +0 -1
  116. package/dist/css/40.chunk.css.map +0 -1
  117. package/dist/css/41.chunk.css.map +0 -1
  118. package/dist/css/42.chunk.css.map +0 -1
  119. package/dist/css/43.chunk.css.map +0 -1
  120. package/dist/css/44.chunk.css.map +0 -1
  121. package/dist/css/45.chunk.css.map +0 -1
  122. package/dist/css/46.chunk.css.map +0 -1
  123. package/dist/css/47.chunk.css.map +0 -1
  124. package/dist/css/48.chunk.css.map +0 -1
  125. package/dist/css/49.chunk.css +0 -35
  126. package/dist/css/49.chunk.css.map +0 -1
  127. package/dist/css/50.chunk.css.map +0 -1
  128. package/dist/css/51.chunk.css.map +0 -1
  129. package/dist/css/52.chunk.css +0 -66
  130. package/dist/css/52.chunk.css.map +0 -1
  131. package/dist/css/55.chunk.css.map +0 -1
  132. package/dist/css/56.chunk.css.map +0 -1
  133. package/dist/css/58.chunk.css.map +0 -1
  134. package/dist/css/59.chunk.css.map +0 -1
  135. package/dist/css/6.chunk.css.map +0 -1
  136. package/dist/css/60.chunk.css +0 -18
  137. package/dist/css/60.chunk.css.map +0 -1
  138. package/dist/css/62.chunk.css.map +0 -1
  139. package/dist/css/63.chunk.css +0 -170
  140. package/dist/css/63.chunk.css.map +0 -1
  141. package/dist/css/67.chunk.css +0 -78
  142. package/dist/css/67.chunk.css.map +0 -1
  143. package/dist/css/68.chunk.css +0 -17
  144. package/dist/css/68.chunk.css.map +0 -1
  145. package/dist/css/69.chunk.css +0 -17
  146. package/dist/css/69.chunk.css.map +0 -1
  147. package/dist/css/7.chunk.css.map +0 -1
  148. package/dist/css/70.chunk.css +0 -23
  149. package/dist/css/70.chunk.css.map +0 -1
  150. package/dist/css/71.chunk.css +0 -40
  151. package/dist/css/71.chunk.css.map +0 -1
  152. package/dist/css/72.chunk.css +0 -16
  153. package/dist/css/72.chunk.css.map +0 -1
  154. package/dist/css/73.chunk.css +0 -37
  155. package/dist/css/73.chunk.css.map +0 -1
  156. package/dist/css/74.chunk.css +0 -29
  157. package/dist/css/74.chunk.css.map +0 -1
  158. package/dist/css/75.chunk.css +0 -6
  159. package/dist/css/75.chunk.css.map +0 -1
  160. package/dist/css/76.chunk.css +0 -6
  161. package/dist/css/76.chunk.css.map +0 -1
  162. package/dist/css/8.chunk.css.map +0 -1
  163. package/dist/css/library-editor-app.css.map +0 -1
  164. package/dist/libs/shared/src/enums/PlayerMediaType.d.ts +0 -5
  165. package/dist/libs/shared/src/interfaces/models/interactive.d.ts +0 -9
  166. package/dist/scripts/0.chunk.js +0 -1039
  167. package/dist/scripts/0.chunk.js.map +0 -1
  168. package/dist/scripts/1.chunk.js +0 -442
  169. package/dist/scripts/1.chunk.js.map +0 -1
  170. package/dist/scripts/10.chunk.js +0 -820
  171. package/dist/scripts/10.chunk.js.map +0 -1
  172. package/dist/scripts/11.chunk.js +0 -4091
  173. package/dist/scripts/11.chunk.js.map +0 -1
  174. package/dist/scripts/12.chunk.js +0 -555
  175. package/dist/scripts/12.chunk.js.map +0 -1
  176. package/dist/scripts/13-89b3a0aebb.chunk.js +0 -1
  177. package/dist/scripts/13.chunk.js +0 -380
  178. package/dist/scripts/13.chunk.js.map +0 -1
  179. package/dist/scripts/14.chunk.js +0 -2386
  180. package/dist/scripts/14.chunk.js.map +0 -1
  181. package/dist/scripts/15.chunk.js +0 -314
  182. package/dist/scripts/15.chunk.js.map +0 -1
  183. package/dist/scripts/16.chunk.js +0 -1290
  184. package/dist/scripts/16.chunk.js.map +0 -1
  185. package/dist/scripts/17.chunk.js +0 -381
  186. package/dist/scripts/17.chunk.js.map +0 -1
  187. package/dist/scripts/18.chunk.js +0 -393
  188. package/dist/scripts/18.chunk.js.map +0 -1
  189. package/dist/scripts/19.chunk.js +0 -364
  190. package/dist/scripts/19.chunk.js.map +0 -1
  191. package/dist/scripts/2.chunk.js +0 -523
  192. package/dist/scripts/2.chunk.js.map +0 -1
  193. package/dist/scripts/20.chunk.js +0 -317
  194. package/dist/scripts/20.chunk.js.map +0 -1
  195. package/dist/scripts/21.chunk.js +0 -531
  196. package/dist/scripts/21.chunk.js.map +0 -1
  197. package/dist/scripts/22.chunk.js +0 -354
  198. package/dist/scripts/22.chunk.js.map +0 -1
  199. package/dist/scripts/23-3166dfeef5.chunk.js +0 -1
  200. package/dist/scripts/23.chunk.js +0 -604
  201. package/dist/scripts/23.chunk.js.map +0 -1
  202. package/dist/scripts/24.chunk.js +0 -318
  203. package/dist/scripts/24.chunk.js.map +0 -1
  204. package/dist/scripts/25.chunk.js +0 -365
  205. package/dist/scripts/25.chunk.js.map +0 -1
  206. package/dist/scripts/26.chunk.js +0 -442
  207. package/dist/scripts/26.chunk.js.map +0 -1
  208. package/dist/scripts/27-d03a99658e.chunk.js +0 -1
  209. package/dist/scripts/27.chunk.js +0 -3630
  210. package/dist/scripts/27.chunk.js.map +0 -1
  211. package/dist/scripts/28.chunk.js +0 -3172
  212. package/dist/scripts/28.chunk.js.map +0 -1
  213. package/dist/scripts/29.chunk.js +0 -3090
  214. package/dist/scripts/29.chunk.js.map +0 -1
  215. package/dist/scripts/3.chunk.js +0 -845
  216. package/dist/scripts/3.chunk.js.map +0 -1
  217. package/dist/scripts/30.chunk.js +0 -1851
  218. package/dist/scripts/30.chunk.js.map +0 -1
  219. package/dist/scripts/31.chunk.js +0 -958
  220. package/dist/scripts/31.chunk.js.map +0 -1
  221. package/dist/scripts/32.chunk.js +0 -1239
  222. package/dist/scripts/32.chunk.js.map +0 -1
  223. package/dist/scripts/33.chunk.js +0 -971
  224. package/dist/scripts/33.chunk.js.map +0 -1
  225. package/dist/scripts/34.chunk.js +0 -990
  226. package/dist/scripts/34.chunk.js.map +0 -1
  227. package/dist/scripts/35.chunk.js +0 -518
  228. package/dist/scripts/35.chunk.js.map +0 -1
  229. package/dist/scripts/36.chunk.js +0 -335
  230. package/dist/scripts/36.chunk.js.map +0 -1
  231. package/dist/scripts/37.chunk.js +0 -236
  232. package/dist/scripts/37.chunk.js.map +0 -1
  233. package/dist/scripts/38.chunk.js +0 -315
  234. package/dist/scripts/38.chunk.js.map +0 -1
  235. package/dist/scripts/39.chunk.js +0 -107
  236. package/dist/scripts/39.chunk.js.map +0 -1
  237. package/dist/scripts/4.chunk.js +0 -335
  238. package/dist/scripts/4.chunk.js.map +0 -1
  239. package/dist/scripts/40.chunk.js +0 -2493
  240. package/dist/scripts/40.chunk.js.map +0 -1
  241. package/dist/scripts/41.chunk.js +0 -1782
  242. package/dist/scripts/41.chunk.js.map +0 -1
  243. package/dist/scripts/42-9f757567db.chunk.js +0 -1
  244. package/dist/scripts/42.chunk.js +0 -2327
  245. package/dist/scripts/42.chunk.js.map +0 -1
  246. package/dist/scripts/43.chunk.js +0 -1206
  247. package/dist/scripts/43.chunk.js.map +0 -1
  248. package/dist/scripts/44.chunk.js +0 -2245
  249. package/dist/scripts/44.chunk.js.map +0 -1
  250. package/dist/scripts/45.chunk.js +0 -1065
  251. package/dist/scripts/45.chunk.js.map +0 -1
  252. package/dist/scripts/46.chunk.js +0 -655
  253. package/dist/scripts/46.chunk.js.map +0 -1
  254. package/dist/scripts/47.chunk.js +0 -736
  255. package/dist/scripts/47.chunk.js.map +0 -1
  256. package/dist/scripts/48.chunk.js +0 -994
  257. package/dist/scripts/48.chunk.js.map +0 -1
  258. package/dist/scripts/49.chunk.js +0 -761
  259. package/dist/scripts/49.chunk.js.map +0 -1
  260. package/dist/scripts/5.chunk.js +0 -15
  261. package/dist/scripts/5.chunk.js.map +0 -1
  262. package/dist/scripts/50.chunk.js +0 -530
  263. package/dist/scripts/50.chunk.js.map +0 -1
  264. package/dist/scripts/51.chunk.js +0 -932
  265. package/dist/scripts/51.chunk.js.map +0 -1
  266. package/dist/scripts/52.chunk.js +0 -408
  267. package/dist/scripts/52.chunk.js.map +0 -1
  268. package/dist/scripts/53.chunk.js +0 -756
  269. package/dist/scripts/53.chunk.js.map +0 -1
  270. package/dist/scripts/54.chunk.js +0 -681
  271. package/dist/scripts/54.chunk.js.map +0 -1
  272. package/dist/scripts/55.chunk.js +0 -645
  273. package/dist/scripts/55.chunk.js.map +0 -1
  274. package/dist/scripts/56.chunk.js +0 -346
  275. package/dist/scripts/56.chunk.js.map +0 -1
  276. package/dist/scripts/57.chunk.js +0 -422
  277. package/dist/scripts/57.chunk.js.map +0 -1
  278. package/dist/scripts/58.chunk.js +0 -437
  279. package/dist/scripts/58.chunk.js.map +0 -1
  280. package/dist/scripts/59.chunk.js +0 -342
  281. package/dist/scripts/59.chunk.js.map +0 -1
  282. package/dist/scripts/6.chunk.js +0 -484
  283. package/dist/scripts/6.chunk.js.map +0 -1
  284. package/dist/scripts/60.chunk.js +0 -254
  285. package/dist/scripts/60.chunk.js.map +0 -1
  286. package/dist/scripts/61.chunk.js +0 -408
  287. package/dist/scripts/61.chunk.js.map +0 -1
  288. package/dist/scripts/62.chunk.js +0 -142
  289. package/dist/scripts/62.chunk.js.map +0 -1
  290. package/dist/scripts/63.chunk.js +0 -147
  291. package/dist/scripts/63.chunk.js.map +0 -1
  292. package/dist/scripts/64.chunk.js +0 -439
  293. package/dist/scripts/64.chunk.js.map +0 -1
  294. package/dist/scripts/65.chunk.js +0 -582
  295. package/dist/scripts/65.chunk.js.map +0 -1
  296. package/dist/scripts/66.chunk.js +0 -442
  297. package/dist/scripts/66.chunk.js.map +0 -1
  298. package/dist/scripts/67.chunk.js +0 -295
  299. package/dist/scripts/67.chunk.js.map +0 -1
  300. package/dist/scripts/68.chunk.js +0 -165
  301. package/dist/scripts/68.chunk.js.map +0 -1
  302. package/dist/scripts/69.chunk.js +0 -248
  303. package/dist/scripts/69.chunk.js.map +0 -1
  304. package/dist/scripts/7.chunk.js +0 -309
  305. package/dist/scripts/7.chunk.js.map +0 -1
  306. package/dist/scripts/70.chunk.js +0 -207
  307. package/dist/scripts/70.chunk.js.map +0 -1
  308. package/dist/scripts/71.chunk.js +0 -237
  309. package/dist/scripts/71.chunk.js.map +0 -1
  310. package/dist/scripts/72.chunk.js +0 -331
  311. package/dist/scripts/72.chunk.js.map +0 -1
  312. package/dist/scripts/73.chunk.js +0 -404
  313. package/dist/scripts/73.chunk.js.map +0 -1
  314. package/dist/scripts/74.chunk.js +0 -301
  315. package/dist/scripts/74.chunk.js.map +0 -1
  316. package/dist/scripts/75.chunk.js +0 -231
  317. package/dist/scripts/75.chunk.js.map +0 -1
  318. package/dist/scripts/76.chunk.js +0 -157
  319. package/dist/scripts/76.chunk.js.map +0 -1
  320. package/dist/scripts/77.chunk.js +0 -307
  321. package/dist/scripts/77.chunk.js.map +0 -1
  322. package/dist/scripts/78.chunk.js +0 -249
  323. package/dist/scripts/78.chunk.js.map +0 -1
  324. package/dist/scripts/79.chunk.js +0 -282
  325. package/dist/scripts/79.chunk.js.map +0 -1
  326. package/dist/scripts/8.chunk.js +0 -307
  327. package/dist/scripts/8.chunk.js.map +0 -1
  328. package/dist/scripts/80.chunk.js +0 -308
  329. package/dist/scripts/80.chunk.js.map +0 -1
  330. package/dist/scripts/81.chunk.js +0 -366
  331. package/dist/scripts/81.chunk.js.map +0 -1
  332. package/dist/scripts/82.chunk.js +0 -314
  333. package/dist/scripts/82.chunk.js.map +0 -1
  334. package/dist/scripts/83.chunk.js +0 -328
  335. package/dist/scripts/83.chunk.js.map +0 -1
  336. package/dist/scripts/84.chunk.js +0 -313
  337. package/dist/scripts/84.chunk.js.map +0 -1
  338. package/dist/scripts/85.chunk.js +0 -291
  339. package/dist/scripts/85.chunk.js.map +0 -1
  340. package/dist/scripts/86.chunk.js +0 -119
  341. package/dist/scripts/86.chunk.js.map +0 -1
  342. package/dist/scripts/87.chunk.js +0 -219
  343. package/dist/scripts/87.chunk.js.map +0 -1
  344. package/dist/scripts/88.chunk.js +0 -194
  345. package/dist/scripts/88.chunk.js.map +0 -1
  346. package/dist/scripts/89.chunk.js +0 -522
  347. package/dist/scripts/89.chunk.js.map +0 -1
  348. package/dist/scripts/9.chunk.js +0 -222
  349. package/dist/scripts/9.chunk.js.map +0 -1
  350. package/dist/scripts/90.chunk.js +0 -337
  351. package/dist/scripts/90.chunk.js.map +0 -1
  352. package/dist/scripts/91.chunk.js +0 -131
  353. package/dist/scripts/91.chunk.js.map +0 -1
  354. package/dist/scripts/92.chunk.js +0 -266
  355. package/dist/scripts/92.chunk.js.map +0 -1
  356. package/dist/scripts/bundle-f28b86bf5b.min.js +0 -8
  357. package/dist/scripts/bundle.js +0 -67206
  358. package/dist/scripts/bundle.js.map +0 -1
  359. package/dist/scripts/polyfills-1d2233ebcc.min.js +0 -1
  360. package/dist/scripts/polyfills.js +0 -14866
  361. package/dist/scripts/polyfills.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/library-editor/components/folder-select/FolderSelect.hbs","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/library-editor/components/folder-select/FolderSelectComponent.ts","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/upload/components/index.ts","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/upload/components/upload-actions/UploadActions.hbs","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/upload/components/upload-actions/UploadActionsComponent.ts","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/upload/components/upload-folder-select/UploadFolderSelect.hbs","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/upload/components/upload-folder-select/UploadFolderSelectComponent.ts","webpack://@clickview/library-editor/./src/apps/upload/components/upload-folder-select/upload-folder-select.scss?d6ec","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/upload/components/upload-progress/UploadProgress.hbs","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/upload/components/upload-progress/UploadProgressComponent.ts","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/upload/components/upload-video-options/UploadVideoOptions.hbs","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/upload/components/upload-video-options/UploadVideoOptionsComponent.ts","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/upload/components/upload-video/TextProgress.hbs","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/upload/components/upload-video/UploadTitle.hbs","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/upload/components/upload-video/UploadVideo.hbs","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/upload/components/upload-video/UploadVideoComponent.ts","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/upload/components/upload-video/UploadVideoComponentCollection.ts","webpack://@clickview/library-editor/./src/apps/upload/components/upload-video/upload-title.scss?ec49","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/upload/views/upload-videos/UploadVideos.hbs","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/upload/views/upload-videos/UploadVideosView.ts","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/shared/components/dropdown/DropdownComponentCollection.ts","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/shared/components/tree-dropdown/TreeDropdown.hbs","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/shared/components/tree-dropdown/TreeDropdownComponent.ts","webpack://@clickview/library-editor/./src/shared/components/tree-dropdown/tree-dropdown.scss?bcb5"],"names":[],"mappings":"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","file":"scripts/40.chunk.js","sourcesContent":["var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n return \"<div class=\\\"dropdown-menu-region\\\"></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 { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\n\r\nimport { Folder } from 'shared/models/Folder';\r\nimport { Library } from 'shared/models/Library';\r\nimport { FolderCollection } from 'shared/collections/FolderCollection';\r\nimport { FolderTreeHelpers } from 'shared/utils/FolderTreeHelpers';\r\nimport { MasterObjectTypes } from 'libs/shared/enums/MasterObjectTypes';\r\nimport { SelectComponent } from 'shared/components/select/SelectComponent';\r\nimport { CollectionHelpers } from 'shared/utils';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nimport FolderSelectTemplate from './FolderSelect.hbs';\r\n\r\ninterface FolderSelectComponentOptions extends Core.ComponentOptions {\r\n collection: FolderCollection;\r\n library?: Library;\r\n channelName: string;\r\n currentFolderId?: string;\r\n placeholderText?: string;\r\n currentSelectedMessage?: string;\r\n inputName?: string;\r\n disabled?: boolean;\r\n disableLibraries?: boolean;\r\n disabledFolderIds?: string[];\r\n\r\n /**\r\n * Determines if the + Create new folder\r\n * item will show as the last drop down item\r\n */\r\n canCreateFolder: boolean;\r\n}\r\n\r\nexport class FolderSelectComponent extends Core.Component {\r\n public collection: FolderCollection;\r\n public options: FolderSelectComponentOptions;\r\n\r\n constructor(options: FolderSelectComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.prepareData();\r\n this.bindListeners();\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.folderSelect';\r\n }\r\n\r\n private prepareData(): void {\r\n /**\r\n * Include library in collection if it has been passed in as an option.\r\n */\r\n const collection = this.options.library ? this.options.library.collection : this.collection;\r\n\r\n /**\r\n * Flatten will clone the collection, which means this view will not respond\r\n * if the LibraryDataService updates the folder collection.\r\n */\r\n this.collection = FolderTreeHelpers.flatten(collection as FolderCollection);\r\n CollectionHelpers.setSelected(this.options.currentFolderId, this.collection);\r\n\r\n if (!this.options.canCreateFolder)\r\n return;\r\n\r\n this.collection.add({\r\n name: LanguageService.getPhrase(this.lang, 'createNew'),\r\n eventName: 'create:folder'\r\n });\r\n }\r\n\r\n private bindListeners(): void {\r\n this.listenTo(this.channelName, 'create:folder', this.onClickCreateFolder);\r\n this.listenTo(this.channelName, 'select:option:selected', (model: Folder) => {\r\n const channel = Radio.channel(this.options.channelName);\r\n channel.trigger('folder:selected', model);\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 public get folderTreeKey(): string {\r\n return `folderselect:${this.cid}`;\r\n }\r\n\r\n public get name(): string {\r\n return 'FolderSelectView';\r\n }\r\n\r\n public get className(): string {\r\n return 'position-relative';\r\n }\r\n\r\n public get template(): any {\r\n return FolderSelectTemplate;\r\n }\r\n\r\n public regions(): ObjectHash {\r\n return {\r\n dropdown: {\r\n el: '.dropdown-menu-region',\r\n replaceElement: true\r\n }\r\n };\r\n }\r\n\r\n public onClickCreateFolder(): void {\r\n const channel = Radio.channel(this.options.channelName);\r\n channel.trigger('create:folder:clicked');\r\n }\r\n\r\n private generatePrefix(): string {\r\n const depth = this.model.get('depth');\r\n\r\n if (!_.isNumber(depth) || this.model.get('hidePrefix'))\r\n return '';\r\n\r\n let prefix = '';\r\n\r\n for (let j = 0; j < depth; j++)\r\n prefix += '&nbsp;&nbsp;';\r\n\r\n\r\n if (depth)\r\n prefix += '- ';\r\n\r\n return prefix;\r\n }\r\n\r\n private getIsOptionDisabledFn(): (model: Folder) => boolean {\r\n const disableLibraries = this.options.disableLibraries;\r\n const disabledFolderIds = this.options.disabledFolderIds;\r\n\r\n /**\r\n * This is intentionally a function and not an arrow function\r\n * so that the context can be set.\r\n */\r\n return function(model: Folder): boolean {\r\n const data = model || this.model;\r\n\r\n if (disableLibraries && data.get('type') === MasterObjectTypes.CustomLibrary)\r\n return true;\r\n\r\n if (disabledFolderIds && _.contains(disabledFolderIds, data.get('id').toString()))\r\n return true;\r\n\r\n return false;\r\n };\r\n }\r\n\r\n public onRender(): void {\r\n this.showChildView('dropdown', new SelectComponent({\r\n collection: this.collection,\r\n channelName: this.channelName,\r\n childOptions: {\r\n titleProperty: 'name',\r\n eventName: 'select:option:click',\r\n prefixHandler: this.generatePrefix,\r\n currentSelectedMessage: this.options.currentSelectedMessage || LanguageService.getPhrase(this.lang, 'current'),\r\n isDisabled: this.getIsOptionDisabledFn(),\r\n truncateOptionNames: true\r\n },\r\n placeholderText: this.options.placeholderText || LanguageService.getPhrase(this.lang, 'placeholder'),\r\n noOptionsText: LanguageService.getPhrase(this.lang, 'noFolders'),\r\n inputName: this.options.inputName,\r\n disabled: this.collection.length === 0 || this.options.disabled,\r\n analyticsHelper: AnalyticsHelper\r\n }));\r\n }\r\n}","export * from './processing-progress/ProcessProgressComponentCollection';\r\nexport * from './progress-info/ProgressInfoComponent';\r\nexport * from './upload-actions/UploadActionsComponent';\r\nexport * from './upload-folder-select/UploadFolderSelectComponent';\r\nexport * from './upload-progress/UploadProgressComponent';\r\nexport * from './upload-video/UploadVideoComponent';\r\nexport * from './upload-video/UploadVideoComponentCollection';","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 \"<div class=\\\"finish-button-region\\\"></div>\\r\\n<button class=\\\"btn btn-secondary float-right add-more-videos\\\">\"\n + container.escapeExpression((helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),\"addMore\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</button>\";\n},\"useData\":true});","import { Radio } from 'backbone';\r\nimport { ObjectHash } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { ViewModelService } from 'libs/common/backbone/services/ViewModelService';\r\nimport { UploadType } from 'libs/shared/apps/upload/services/UploadService';\r\nimport { FileSelectBehavior } from 'libs/shared/legacy/behaviors/file-select/FileSelectBehavior';\r\n\r\nimport { SpinnerSize, SpinnerType } from 'shared/utils';\r\nimport { SpinnerButtonComponent, SpinnerButtonEvents } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nimport UploadActionsTemplate from './UploadActions.hbs';\r\n\r\ninterface UploadActionsComponentOptions extends Core.ComponentOptions {\r\n uploadChannelName: string;\r\n}\r\n\r\nexport class UploadActionsComponent extends Core.Component {\r\n public options: UploadActionsComponentOptions;\r\n\r\n constructor(options: UploadActionsComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.model = ViewModelService.get(`upload:progress:${UploadType.Video}`);\r\n\r\n this.listenTo(this.model, 'change:done', this.render);\r\n\r\n this.listenTo(this.channelName, 'continue', this.onClickContinue);\r\n\r\n this.listenTo(this.options.uploadChannelName, 'start:spinner', this.startSpinner);\r\n }\r\n\r\n public get name(): string {\r\n return 'UploadActionsComponent';\r\n }\r\n\r\n public get lang(): string {\r\n return 'upload.uploadActions';\r\n }\r\n\r\n public get template(): any {\r\n return UploadActionsTemplate;\r\n }\r\n\r\n public get className(): string {\r\n return 'clearfix my-3';\r\n }\r\n\r\n public get channelName(): string {\r\n return `${this.name}${this.cid}`;\r\n }\r\n\r\n public regions(): ObjectHash {\r\n return {\r\n finishButton: {\r\n el: '.finish-button-region',\r\n replaceElement: true\r\n }\r\n };\r\n }\r\n\r\n public get behaviors(): any[] {\r\n return [\r\n {\r\n behaviorClass: FileSelectBehavior,\r\n buttonSelector: '.add-more-videos',\r\n channelName: this.options.uploadChannelName,\r\n acceptMultiple: true,\r\n mimeType: 'video/*'\r\n }\r\n ];\r\n }\r\n\r\n private startSpinner(): void {\r\n const spinnerChannel = Radio.channel(this.channelName);\r\n spinnerChannel.trigger(SpinnerButtonEvents.ShowSpinner);\r\n }\r\n\r\n private onClickContinue(): void {\r\n if (!this.model.get('done')) return;\r\n\r\n const channel = Radio.channel(this.options.uploadChannelName);\r\n channel.trigger('continue');\r\n }\r\n\r\n public onRender(): void {\r\n this.showChildView('finishButton', new SpinnerButtonComponent({\r\n channelName: this.channelName,\r\n disabled: !this.model.get('done'),\r\n saveEvent: 'continue',\r\n extraButtonClass: 'btn-primary float-right ml-3',\r\n buttonText: LanguageService.getPhrase(this.lang, 'finish'),\r\n spinnerOptions: {\r\n size: SpinnerSize.Small,\r\n type: SpinnerType.Light,\r\n extraClasses: 'mx-auto'\r\n },\r\n tooltip: {\r\n title: this.model.get('done') ? '' : LanguageService.getPhrase(this.lang, 'stillUploading')\r\n }\r\n }));\r\n }\r\n}","var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return \"<span class=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.requiredStar : stack1), depth0))\n + \"\\\">*</span>\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n return \" <div class=\\\"library-select-region form-group col-6\\\"></div>\\r\\n\";\n},\"5\":function(container,depth0,helpers,partials,data) {\n return \"col-6\";\n},\"7\":function(container,depth0,helpers,partials,data) {\n return \"col-12\";\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 \"<h5>\"\n + container.escapeExpression((helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(alias2,\"uploadDestination\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + ((stack1 = helpers[\"if\"].call(alias2,((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.requiredFields : stack1)) != null ? stack1.uploadDestination : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"</h5>\\r\\n <div class=\\\"container-fluid px-0\\\">\\r\\n <div class=\\\"row\\\">\\r\\n\"\n + ((stack1 = helpers[\"if\"].call(alias2,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.hasMultipleLibraries : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \" <div class=\\\"folder-select-region form-group \"\n + ((stack1 = helpers[\"if\"].call(alias2,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.hasMultipleLibraries : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(5, data, 0),\"inverse\":container.program(7, data, 0),\"data\":data})) != null ? stack1 : \"\")\n + \"\\\"></div>\\r\\n </div>\\r\\n </div>\\r\\n</div>\";\n},\"useData\":true});","import { ObjectHash } from 'backbone';\r\nimport { Radio } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nimport { LibraryCollection } from 'shared/collections/LibraryCollection';\r\nimport { Library } from 'shared/models/Library';\r\nimport { Folder } from 'shared/models/Folder';\r\nimport { Video } from 'shared/models/Video';\r\nimport { TreeDropdownComponent } from 'shared/components/tree-dropdown/TreeDropdownComponent';\r\nimport { FolderTreeHelpers } from 'shared/utils';\r\n\r\nimport { FolderSelectComponent } from 'apps/library-editor/components/folder-select/FolderSelectComponent';\r\n\r\nimport styles from './upload-folder-select.scss';\r\nimport UploadFolderSelectTemplate from './UploadFolderSelect.hbs';\r\n\r\ninterface UploadFolderSelectComponentOptions extends Core.ComponentOptions {\r\n collection: LibraryCollection;\r\n selectId: string;\r\n model: Video;\r\n channelName: string;\r\n requiredFields?: ObjectHash;\r\n preselectedFolderId?: string;\r\n}\r\n\r\nexport class UploadFolderSelectComponent extends Core.Component {\r\n public collection: LibraryCollection;\r\n public librariesWithoutFolders: LibraryCollection;\r\n public options: UploadFolderSelectComponentOptions;\r\n\r\n constructor(options: UploadFolderSelectComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.librariesWithoutFolders = new LibraryCollection();\r\n this.collection.each(l => this.librariesWithoutFolders.add(l.toFlatJSON()));\r\n\r\n this.listenTo(this.libraryChannelName, 'folder:selected', this.onLibrarySelected);\r\n\r\n this.listenTo(this.channelName, 'folder:selected new:folder:selected', this.onFolderSelected);\r\n this.listenTo(this.channelName, 'create:folder:clicked', this.onCreateFolderClicked);\r\n\r\n if (!this.hasMultipleLibraries() && this.librariesWithoutFolders.first())\r\n this.model.set('libraryId', this.librariesWithoutFolders.first().get('id'));\r\n\r\n const selectedLibrary = this.collection.get(this.model.get('libraryId'));\r\n if (selectedLibrary) {\r\n const selection = FolderTreeHelpers.getSelected(this.folderTreeKey, selectedLibrary.children);\r\n if (this.options.preselectedFolderId && !selection)\r\n this.onFolderSelected(this.options.preselectedFolderId);\r\n }\r\n }\r\n\r\n public get name(): string {\r\n return 'UploadFolderSelectComponent';\r\n }\r\n\r\n public get template(): any {\r\n return UploadFolderSelectTemplate;\r\n }\r\n\r\n public get lang(): string {\r\n return 'upload.uploadFolderSelect';\r\n }\r\n\r\n public get folderTreeKey(): string {\r\n return `folder:tree:${this.model.cid}`;\r\n }\r\n\r\n public regions(): ObjectHash {\r\n return {\r\n librarySelect: '.library-select-region',\r\n folderSelect: '.folder-select-region'\r\n };\r\n }\r\n\r\n private hasMultipleLibraries(): boolean {\r\n return this.librariesWithoutFolders.length > 1;\r\n }\r\n\r\n private get libraryChannelName(): string {\r\n return `${this.channelName}:${this.options.selectId}:libraries`;\r\n }\r\n\r\n public get channelName(): string {\r\n return `${this.name}${this.cid}${this.options.selectId}`;\r\n }\r\n\r\n private onLibrarySelected(library: Library): void {\r\n this.model.set('libraryId', library.get('id'));\r\n this.model.unset('folderId');\r\n this.render();\r\n }\r\n\r\n private onFolderSelected(folder: Folder | string): void {\r\n let folderId = folder;\r\n if (folder instanceof Folder)\r\n folderId = folder.get('id');\r\n\r\n this.model.set('folderId', folderId);\r\n\r\n const folders = this.collection.get(this.model.get('libraryId')).children;\r\n FolderTreeHelpers.setSelected(this.folderTreeKey, folderId, folders);\r\n\r\n this.model.validate();\r\n }\r\n\r\n private onCreateFolderClicked(): void {\r\n const channel = Radio.channel(this.options.channelName);\r\n channel.trigger('show:new:folder', this.model.get('libraryId'), this.channelName);\r\n }\r\n\r\n private renderLibrarySelect(): void {\r\n if (!this.hasMultipleLibraries())\r\n return;\r\n\r\n const librarySelect = new FolderSelectComponent({\r\n collection: this.librariesWithoutFolders,\r\n channelName: this.libraryChannelName,\r\n placeholderText: LanguageService.getPhrase(this.lang, 'selectLibraryPlaceholder'),\r\n currentFolderId: this.model.get('libraryId'),\r\n currentSelectedMessage: LanguageService.getPhrase(this.lang, 'currentLibrary'),\r\n inputName: 'libraryId',\r\n canCreateFolder: false\r\n });\r\n this.showChildView('librarySelect', librarySelect);\r\n }\r\n\r\n private renderFolderSelect(): void {\r\n const libraryId = this.model.get('libraryId');\r\n if (!libraryId)\r\n return;\r\n\r\n const library = this.collection.get(libraryId);\r\n\r\n this.showChildView('folderSelect', new TreeDropdownComponent({\r\n collection: library.children,\r\n channelName: this.channelName,\r\n folderTreeKey: this.folderTreeKey,\r\n canCreateNew: true,\r\n name: 'folderId'\r\n }));\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n styles,\r\n hasMultipleLibraries: this.hasMultipleLibraries(),\r\n requiredFields: this.options.requiredFields\r\n };\r\n }\r\n\r\n public onRender(): void {\r\n this.renderLibrarySelect();\r\n this.renderFolderSelect();\r\n }\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"requiredStar\":\"cv--requiredStar--3m_pH\"};","var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var helper, alias1=container.propertyIsEnumerable, alias2=depth0 != null ? depth0 : (container.nullContext || {}), alias3=container.hooks.helperMissing, alias4=\"function\", alias5=container.escapeExpression;\n\n return \"<div class=\\\"progress-bar bg-info\\\" style=\\\"width: \"\n + alias5(((helper = (helper = helpers.progress || (depth0 != null ? depth0.progress : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{\"name\":\"progress\",\"hash\":{},\"data\":data}) : helper)))\n + \"%\\\" aria-valuenow=\\\"\"\n + alias5(((helper = (helper = helpers.progress || (depth0 != null ? depth0.progress : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{\"name\":\"progress\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" aria-valuemin=\\\"0\\\" aria-valuemax=\\\"100\\\"></div>\";\n},\"useData\":true});","import { ObjectHash } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport UploadProgressTemplate from './UploadProgress.hbs';\r\n\r\nexport class UploadProgressComponent extends Core.Component {\r\n public initialize(): void {\r\n this.listenTo(this.model, 'change:progress', this.update);\r\n }\r\n\r\n public get name(): string {\r\n return 'UploadProgressComponent';\r\n }\r\n\r\n public get template(): any {\r\n return UploadProgressTemplate;\r\n }\r\n\r\n public get className(): string {\r\n return 'progress my-3';\r\n }\r\n\r\n public get elements(): ObjectHash {\r\n return {\r\n progressBar: '.progress-bar',\r\n };\r\n }\r\n\r\n private update(): void {\r\n const percentage = this.model.get('progress');\r\n const progressBar = this.getUI('progressBar');\r\n\r\n if (progressBar && progressBar.get(0))\r\n $(progressBar.get(0)).css('width', `${percentage}%`);\r\n }\r\n}","var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n return \" on\";\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 || {}), alias3=container.hooks.helperMissing, alias4=container.escapeExpression;\n\n return \"<h5>\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"heading\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</h5>\\r\\n<div class=\\\"container-fluid\\\">\\r\\n <div class=\\\"row\\\">\\r\\n <div class=\\\"form-group col-6 p-0\\\">\\r\\n <div class=\\\"d-block\\\">\\r\\n <label>\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"autoCaptioningHeading\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</label>\\r\\n <div class=\\\"custom-toggle toggle-option float-right\"\n + ((stack1 = helpers[\"if\"].call(alias2,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.isSelected : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\"><span class=\\\"handle\\\"></span></div>\\r\\n </div>\\r\\n <p class='mb-0 mr-5'>\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"autoCaptioningInfo\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</p>\\r\\n </div>\\r\\n </div>\\r\\n</div>\\r\\n \\r\\n\";\n},\"useData\":true});","import { ObjectHash } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport UploadVideoOptionsTemplate from './UploadVideoOptions.hbs';\r\n\r\ninterface UploadVideoOptionsComponentOptions extends Core.ComponentOptions {}\r\n\r\nexport class UploadVideoOptionsComponent extends Core.Component {\r\n public options: UploadVideoOptionsComponentOptions;\r\n\r\n constructor(options: UploadVideoOptionsComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'UploadVideoOptionsComponent';\r\n }\r\n\r\n public get template(): string {\r\n return UploadVideoOptionsTemplate;\r\n }\r\n\r\n public get lang(): string {\r\n return 'upload.uploadVideoOptions';\r\n }\r\n\r\n public get tagName(): string {\r\n return 'form';\r\n }\r\n\r\n public get className(): string {\r\n return 'border-top pt-3';\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n 'click .toggle-option': 'onToggleAutoCaptioning'\r\n };\r\n }\r\n\r\n public onToggleAutoCaptioning(e: JQueryEventObject): void {\r\n e.stopPropagation();\r\n\r\n this.model.set('autoCaption', !this.model.get('autoCaption'));\r\n\r\n this.render();\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n isSelected: this.model.get('autoCaption')\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, alias1=container.propertyIsEnumerable;\n\n return container.escapeExpression((helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),\"uploading\",{\"name\":\"lang\",\"hash\":{\"percentage\":((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.percentage : stack1)},\"data\":data}));\n},\"useData\":true});","var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.name : stack1), depth0));\n},\"useData\":true});","var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n var alias1=container.propertyIsEnumerable;\n\n return container.escapeExpression((helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),\"hideMetadata\",{\"name\":\"lang\",\"hash\":{},\"data\":data}));\n},\"3\":function(container,depth0,helpers,partials,data) {\n var alias1=container.propertyIsEnumerable;\n\n return container.escapeExpression((helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),\"addMetadata\",{\"name\":\"lang\",\"hash\":{},\"data\":data}));\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper, alias1=container.propertyIsEnumerable, alias2=container.escapeExpression, alias3=depth0 != null ? depth0 : (container.nullContext || {}), alias4=container.hooks.helperMissing;\n\n return \"<div class=\\\"upload-title-region\\\"></div>\\r\\n<div class=\\\"container-fluid border-bottom\\\">\\r\\n <div class=\\\"row\\\">\\r\\n <div class=\\\"col-4 p-3\\\">\\r\\n <div class=\\\"thumbnail-region\\\"></div>\\r\\n <div class=\\\"upload-progress-region\\\"></div>\\r\\n <div class=\\\"my-3\\\">\\r\\n <h5 class=\\\"\"\n + alias2(container.lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.title : stack1), depth0))\n + \"\\\">\"\n + alias2(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : alias4),(typeof helper === \"function\" ? helper.call(alias3,{\"name\":\"name\",\"hash\":{},\"data\":data}) : helper)))\n + \"</h5>\\r\\n <div class=\\\"text-progress-region\\\"></div>\\r\\n <button class=\\\"btn btn-secondary cancel-upload\\\">\"\n + alias2((helpers.lang||(depth0 && depth0.lang)||alias4).call(alias3,\"cancel\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</button>\\r\\n </div>\\r\\n\\r\\n </div>\\r\\n <div class=\\\"col-8 py-3 pr-3\\\">\\r\\n <div class=\\\"video-details-region\\\"></div>\\r\\n <div class=\\\"folder-select-region\\\"></div>\\r\\n <div class=\\\"additional-info-region\\\"></div>\\r\\n <div class=\\\"production-info-region\\\"></div>\\r\\n <div class=\\\"video-options-region\\\"></div>\\r\\n </div>\\r\\n </div>\\r\\n</div>\\r\\n<div class=\\\"p-2 text-center\\\">\\r\\n <button class=\\\"add-advanced-metadata btn btn-link\\\">\"\n + ((stack1 = helpers[\"if\"].call(alias3,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.showAdvanced : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(3, data, 0),\"data\":data})) != null ? stack1 : \"\")\n + \"</a>\\r\\n</div>\";\n},\"useData\":true});","import * as _ from 'underscore';\r\nimport { ObjectHash, Validation } from 'backbone';\r\nimport { Radio } from 'backbone';\r\nimport * as moment from 'moment';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { ViewModelService } from 'libs/common/backbone/services/ViewModelService';\r\nimport { ThumbnailComponent } from 'libs/shared/legacy/components/thumbnail/ThumbnailComponent';\r\nimport { ImageSize } from 'libs/shared/enums/Images';\r\n\r\nimport { Video } from 'shared/models/Video';\r\nimport { Series } from 'shared/models/Series';\r\nimport { Season } from 'shared/models/Season';\r\nimport { Distributor } from 'shared/models/Distributor';\r\nimport { ProductionCompany } from 'shared/models/ProductionCompany';\r\nimport { Producer } from 'shared/models/Producer';\r\nimport { Director } from 'shared/models/Director';\r\nimport { EditBasicInfoComponent } from 'shared/components/edit-video/edit-basic-info/EditBasicInfoComponent';\r\nimport { EditAdditionalInfoComponent } from 'shared/components/edit-video/edit-additional-info/EditAdditionalInfoComponent';\r\nimport { EditProductionInfoComponent } from 'shared/components/edit-video/edit-production-info/EditProductionInfoComponent';\r\nimport { DialogHelper, CollectionHelpers } from 'shared/utils';\r\nimport { RatingCollection } from 'shared/collections/RatingCollection';\r\nimport { LibraryCollection } from 'shared/collections/LibraryCollection';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nimport { UploadVideoValidation } from 'apps/library-editor/utils/UploadVideoValidation';\r\nimport { UploadProgressComponent, UploadFolderSelectComponent } from 'apps/upload/components';\r\n\r\nimport UploadVideoTemplate from './UploadVideo.hbs';\r\nimport UploadTitleTemplate from './UploadTitle.hbs';\r\nimport TextProgressTemplate from './TextProgress.hbs';\r\nimport styles from './upload-title.scss';\r\nimport { UploadVideoOptionsComponent } from '../upload-video-options/UploadVideoOptionsComponent';\r\n\r\n/**\r\n * This view exists only so we don't have to re-render the entire\r\n * UploadVideoComponent when the title is changed.\r\n */\r\nclass UploadTitleComponent extends Core.Component {\r\n public initialize(): void {\r\n this.listenTo(this.model, 'change:name', this.render);\r\n }\r\n\r\n public get name(): string {\r\n return 'UploadTitleComponent';\r\n }\r\n\r\n public get template(): any {\r\n return UploadTitleTemplate;\r\n }\r\n\r\n public get tagName(): string {\r\n return 'h3';\r\n }\r\n\r\n public get className(): string {\r\n return `mb-0 border-bottom p-3 ${styles.title}`;\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n name: this.model.get('name') || this.model.get('fileName')\r\n };\r\n }\r\n}\r\n\r\nclass TextProgressComponent extends Core.Component {\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 'TextProgressComponent';\r\n }\r\n\r\n public get template(): any {\r\n return TextProgressTemplate;\r\n }\r\n\r\n public get lang(): string {\r\n return 'upload.uploadVideo';\r\n }\r\n\r\n public get className(): string {\r\n return ' text-muted';\r\n }\r\n\r\n public get tagName(): string {\r\n return 'p';\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n percentage: Math.round(this.model.get('progress') || 0)\r\n };\r\n }\r\n}\r\n\r\nexport interface UploadVideoComponentOptions extends Core.ComponentOptions {\r\n ratings: RatingCollection;\r\n libraries: LibraryCollection;\r\n hostedLibraries: LibraryCollection;\r\n uploadChannelName: string;\r\n openAdvancedMetadata: boolean;\r\n allowAutoCaptioning: boolean;\r\n folderId?: string;\r\n libraryId?: string;\r\n}\r\n\r\nexport class UploadVideoComponent extends Core.Component {\r\n public options: UploadVideoComponentOptions;\r\n public viewModel: Video;\r\n\r\n constructor(options: UploadVideoComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.viewModel = ViewModelService.get<Video>(`upload:${this.model.get('id')}`, {\r\n name: this.model.get('name'),\r\n fileName: this.model.get('name'),\r\n showAdvanced: this.options.openAdvancedMetadata,\r\n rating: this.options.ratings.findWhere({ value: 0 }),\r\n folderId: this.options.folderId,\r\n libraryId: this.options.libraryId,\r\n timeInitialized: moment(),\r\n autoCaption: false\r\n }, {\r\n ctor: Video\r\n });\r\n\r\n this.viewModel.addValidation(UploadVideoValidation);\r\n\r\n // Tap into changes occuring within child components\r\n this.listenTo(this.channelName, 'select:rating', _.partial(this.onAssociationSelected, _, 'rating'));\r\n this.listenTo(this.channelName, 'select:channel', _.partial(this.onAssociationSelected, _, 'channel'));\r\n this.listenTo(this.channelName, 'add:producers', this.onSelectProducer);\r\n this.listenTo(this.channelName, 'add:distributors', this.onSelectDistributor);\r\n this.listenTo(this.channelName, 'add:productionCompanies', this.onSelectProductionCompany);\r\n this.listenTo(this.channelName, 'add:directors', this.onSelectDirector);\r\n this.listenTo(this.channelName, 'select:series', this.onSelectSeries);\r\n this.listenTo(this.channelName, 'add:season', this.onSelectSeason);\r\n\r\n this.listenTo(this.options.uploadChannelName, `invalid:${this.model.get('id')}`, this.scrollTo);\r\n }\r\n\r\n public get name(): string {\r\n return 'UploadVideoComponent';\r\n }\r\n\r\n public get template(): any {\r\n return UploadVideoTemplate;\r\n }\r\n\r\n public get className(): string {\r\n return 'bg-white mb-3';\r\n }\r\n\r\n public get lang(): string {\r\n return 'upload.uploadVideo';\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n 'click .add-advanced-metadata': 'onClickAddAdvancedMetadata',\r\n 'click .cancel-upload': 'onClickCancelUpload'\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 public regions(): ObjectHash {\r\n return {\r\n progress: { el: '.upload-progress-region', replaceElement: true },\r\n thumbnail: { el: '.thumbnail-region', replaceElement: true },\r\n uploadTitle: { el: '.upload-title-region', replaceElement: true },\r\n folderSelect: { el: '.folder-select-region', replaceElement: true },\r\n textProgress: { el: '.text-progress-region', replaceElement: true },\r\n videoDetails: { el: '.video-details-region', replaceElement: true },\r\n productionInfo: { el: '.production-info-region', replaceElement: true },\r\n advancedDetails: { el: '.additional-info-region', replaceElement: true },\r\n uploadOptions: { el: '.video-options-region', replaceElement: true }\r\n };\r\n }\r\n\r\n private onClickAddAdvancedMetadata(): void {\r\n this.viewModel.set('showAdvanced', !this.viewModel.get('showAdvanced'));\r\n this.render();\r\n }\r\n\r\n private onClickCancelUpload(): void {\r\n const dialogOptions = {\r\n title: LanguageService.getPhrase(this.lang, 'cancelHeading'),\r\n text: LanguageService.getPhrase(this.lang, 'cancelBody', {\r\n videoTitle: this.model.get('name')\r\n }),\r\n buttons: [{\r\n text: LanguageService.getPhrase(this.lang, 'yes'),\r\n className: 'btn btn-primary',\r\n success: true,\r\n }, {\r\n text: LanguageService.getPhrase(this.lang, 'no'),\r\n className: 'btn btn-link',\r\n close: true,\r\n }],\r\n channelName: this.channelName\r\n };\r\n\r\n const dialog = new DialogHelper(dialogOptions);\r\n const promise = dialog.render();\r\n\r\n promise.done(() => {\r\n const channel = Radio.channel(this.options.uploadChannelName);\r\n channel.trigger('cancel:upload', this.model.get('id'));\r\n });\r\n }\r\n\r\n private onAssociationSelected(model: ObjectHash, modelType: string): void {\r\n const field = this.viewModel.get(modelType);\r\n\r\n if (field instanceof Core.Collection) {\r\n const existingModels = field.filter(existing => !existing.id || existing.name === model.name);\r\n _.each(existingModels, existing => field.remove(existing));\r\n\r\n this.viewModel.get(modelType).add(model);\r\n } else {\r\n this.viewModel.set(modelType, model);\r\n }\r\n }\r\n\r\n private onSelectSeries(seriesObject: ObjectHash): void {\r\n const channel = Radio.channel(this.options.uploadChannelName);\r\n\r\n // Handle the assoc against an existing series\r\n if (seriesObject.id) {\r\n channel.trigger('get:series', seriesObject.id, (series: Series) => {\r\n this.onAssociationSelected(series.toJSON(), 'series');\r\n this.renderAdvancedVideoDetails();\r\n });\r\n return;\r\n }\r\n\r\n if (!seriesObject.name)\r\n return;\r\n\r\n channel.trigger('create:series', seriesObject.name, (newSeries: Series) => {\r\n this.onAssociationSelected(newSeries.toJSON(), 'series');\r\n this.renderAdvancedVideoDetails();\r\n });\r\n }\r\n\r\n private onSelectSeason(season: ObjectHash): void {\r\n if (_.isNull(season)) {\r\n this.viewModel.get('season').clear({ silent: true });\r\n CollectionHelpers.deselectAll(this.viewModel.get('series.seasons'));\r\n this.onAssociationSelected(null, 'season');\r\n this.renderAdvancedVideoDetails();\r\n return;\r\n }\r\n\r\n // If user select an option from the season dropdown\r\n if (season.id) {\r\n CollectionHelpers.setSelected(season.id, this.viewModel.get('series.seasons'));\r\n this.onAssociationSelected(season, 'season');\r\n this.renderAdvancedVideoDetails();\r\n return;\r\n }\r\n\r\n if (!season.number)\r\n return;\r\n\r\n // Creating a new season\r\n const seriesId = this.viewModel.get('series.id');\r\n const channel = Radio.channel(this.options.uploadChannelName);\r\n channel.trigger('create:season', season, seriesId, (newSeason: Season) => {\r\n this.viewModel.get('series.seasons').add(newSeason.toJSON());\r\n CollectionHelpers.setSelected(newSeason.id, this.viewModel.get('series.seasons'));\r\n\r\n this.onAssociationSelected(newSeason.toJSON(), 'season');\r\n this.renderAdvancedVideoDetails();\r\n });\r\n }\r\n\r\n private onSelectDistributor(distributorObject: ObjectHash): void {\r\n if (distributorObject.id) {\r\n this.onAssociationSelected(distributorObject, 'distributors');\r\n return;\r\n }\r\n\r\n if (!distributorObject.name) return;\r\n\r\n const channel = Radio.channel(this.options.uploadChannelName);\r\n channel.trigger('create:company', distributorObject.name, (newDistributor: Distributor) => {\r\n this.onAssociationSelected(newDistributor.toJSON(), 'distributors');\r\n });\r\n }\r\n\r\n private onSelectProductionCompany(productionCompanyObject: ObjectHash): void {\r\n if (productionCompanyObject.id) {\r\n this.onAssociationSelected(productionCompanyObject, 'productionCompanies');\r\n return;\r\n }\r\n\r\n if (!productionCompanyObject.name) return;\r\n\r\n const channel = Radio.channel(this.options.uploadChannelName);\r\n channel.trigger('create:company', productionCompanyObject.name, (newProductionCompany: ProductionCompany) => {\r\n this.onAssociationSelected(newProductionCompany.toJSON(), 'productionCompanies');\r\n });\r\n }\r\n\r\n private onSelectDirector(director: ObjectHash): void {\r\n if (director.id) {\r\n this.onAssociationSelected(director, 'directors');\r\n return;\r\n }\r\n\r\n if (!director.name) return;\r\n\r\n const channel = Radio.channel(this.options.uploadChannelName);\r\n channel.trigger('create:person', director.name, (newDirector: Director) => {\r\n this.onAssociationSelected(newDirector.toJSON(), 'directors');\r\n });\r\n }\r\n\r\n private onSelectProducer(producer: ObjectHash): void {\r\n if (producer.id) {\r\n this.onAssociationSelected(producer, 'producers');\r\n return;\r\n }\r\n\r\n if (!producer.name) return;\r\n\r\n const channel = Radio.channel(this.options.uploadChannelName);\r\n channel.trigger('create:person', producer.name, (newProducer: Producer) => {\r\n this.onAssociationSelected(newProducer.toJSON(), 'producers');\r\n });\r\n }\r\n\r\n private getRequiredFields(): ObjectHash {\r\n return {\r\n uploadDestination: true\r\n };\r\n }\r\n\r\n private renderTitle(): void {\r\n const titleView = new UploadTitleComponent({ model: this.viewModel });\r\n this.showChildView('uploadTitle', titleView);\r\n }\r\n\r\n private renderThumbnail(): void {\r\n const thumbnailComponent = new ThumbnailComponent({\r\n model: this.viewModel,\r\n thumbnailOptions: { size: ImageSize.Medium }\r\n });\r\n this.showChildView('thumbnail', thumbnailComponent);\r\n }\r\n\r\n private renderProgress(): void {\r\n const progressComponent = new UploadProgressComponent({\r\n model: this.model\r\n });\r\n\r\n this.showChildView('progress', progressComponent);\r\n\r\n const textProgressComponent = new TextProgressComponent({\r\n model: this.model\r\n });\r\n\r\n this.showChildView('textProgress', textProgressComponent);\r\n }\r\n\r\n private renderBasicVideoDetails(): void {\r\n const basicVideoInfo = new EditBasicInfoComponent({\r\n model: this.viewModel,\r\n channelName: this.channelName,\r\n ratings: this.options.ratings,\r\n requiredFields: this.getRequiredFields(),\r\n editable: true\r\n });\r\n this.showChildView('videoDetails', basicVideoInfo);\r\n }\r\n\r\n private renderFolderSelect(): void {\r\n const folderSelect = new UploadFolderSelectComponent({\r\n collection: this.options.libraries,\r\n selectId: this.model.get('id'),\r\n model: this.viewModel,\r\n channelName: this.options.uploadChannelName,\r\n requiredFields: this.getRequiredFields(),\r\n preselectedFolderId: this.options.folderId\r\n });\r\n this.showChildView('folderSelect', folderSelect);\r\n }\r\n\r\n private renderAdvancedVideoDetails(): void {\r\n if (!this.viewModel.get('showAdvanced'))\r\n return;\r\n\r\n const advancedDetails = new EditAdditionalInfoComponent({\r\n channelName: this.channelName,\r\n model: this.viewModel,\r\n libraries: this.options.libraries,\r\n hostedLibraries: this.options.hostedLibraries,\r\n editable: true\r\n });\r\n\r\n const productionInfo = new EditProductionInfoComponent({\r\n channelName: this.channelName,\r\n model: this.viewModel,\r\n editable: true\r\n });\r\n\r\n this.showChildView('advancedDetails', advancedDetails);\r\n this.showChildView('productionInfo', productionInfo);\r\n\r\n if (this.options.allowAutoCaptioning) {\r\n this.showChildView('uploadOptions', new UploadVideoOptionsComponent({\r\n model: this.viewModel\r\n }));\r\n }\r\n }\r\n\r\n private scrollTo(): void {\r\n $('html,body').animate({ scrollTop: this.$el.offset().top }, 250);\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n styles,\r\n ...this.viewModel.toJSON()\r\n };\r\n }\r\n\r\n public onRender(): void {\r\n this.renderTitle();\r\n this.renderThumbnail();\r\n this.renderProgress();\r\n this.renderBasicVideoDetails();\r\n this.renderFolderSelect();\r\n this.renderAdvancedVideoDetails();\r\n\r\n Validation.bind(this, { model: this.viewModel });\r\n }\r\n\r\n public onDestroy(): void {\r\n Validation.unbind(this);\r\n }\r\n}","import { Core } from 'libs/common/core';\r\nimport { UploadVideoComponent, UploadVideoComponentOptions } from 'apps/upload/components/upload-video/UploadVideoComponent';\r\nimport { RatingCollection } from 'shared/collections/RatingCollection';\r\nimport { LibraryCollection } from 'shared/collections/LibraryCollection';\r\n\r\nexport interface UploadVideoComponentCollectionOptions extends Core.ComponentCollectionOptions{\r\n ratings: RatingCollection;\r\n libraries: LibraryCollection;\r\n hostedLibraries: LibraryCollection;\r\n uploadChannelName: string;\r\n allowAutoCaptioning: boolean;\r\n folderId?: string;\r\n libraryId?: string;\r\n}\r\n\r\nexport class UploadVideoComponentCollection extends Core.ComponentCollection {\r\n public options: UploadVideoComponentCollectionOptions;\r\n\r\n constructor(options: UploadVideoComponentCollectionOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'UploadVideoComponentCollection';\r\n }\r\n\r\n public get childView(): typeof UploadVideoComponent {\r\n return UploadVideoComponent;\r\n }\r\n\r\n public get childViewOptions(): UploadVideoComponentOptions {\r\n return {\r\n ratings: this.options.ratings,\r\n libraries: this.options.libraries,\r\n hostedLibraries: this.options.hostedLibraries,\r\n uploadChannelName: this.options.uploadChannelName,\r\n folderId: this.options.folderId,\r\n libraryId: this.options.libraryId,\r\n allowAutoCaptioning: this.options.allowAutoCaptioning,\r\n\r\n /**\r\n * Load into open advanced metadata if it's only 1 video\r\n */\r\n openAdvancedMetadata: this.collection.length <= 1\r\n };\r\n }\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"title\":\"cv--title--2yTdm\"};","var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n return \"<div class=\\\"top-actions-region\\\"></div>\\r\\n<div class=\\\"videos-region\\\"></div>\\r\\n<div class=\\\"bottom-actions-region\\\"></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 { ViewModelService } from 'libs/common/backbone/services/ViewModelService';\r\nimport { InstanceManager } from 'libs/common/backbone/services/InstanceManager';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { AlertType } from 'libs/common/backbone/services/BaseAlertService';\r\nimport { CommonChannels } from 'libs/common/backbone/constants/CommonChannels';\r\nimport { SettingName } from 'libs/shared/enums/SettingName';\r\n\r\nimport UploadVideosTemplate from './UploadVideos.hbs';\r\nimport { UploadActionsComponent } from 'apps/upload/components/upload-actions/UploadActionsComponent';\r\nimport { UploadVideoComponentCollection, UploadVideoComponentCollectionOptions } from 'apps/upload/components/upload-video/UploadVideoComponentCollection';\r\nimport { Actions, DataServices, Services, DataChannels, AppChannels, DataPrefixes } from 'shared/constants';\r\nimport { RatingCollection } from 'shared/collections/RatingCollection';\r\nimport { LibraryCollection } from 'shared/collections/LibraryCollection';\r\nimport { NavLockService } from 'shared/services/NavigationLockService';\r\nimport { ConfigDataServiceHelper } from 'shared/services/ConfigDataService';\r\nimport { AlertService } from 'shared/services/AlertService';\r\nimport { Video } from 'shared/models/Video';\r\nimport { Folder } from 'shared/models/Folder';\r\nimport { Series } from 'shared/models/Series';\r\nimport { Season } from 'shared/models/Season';\r\nimport { Config } from 'shared/models/Config';\r\nimport { UserDataServiceHelper } from 'shared/services/UserDataService';\r\nimport { User } from 'shared/models/User';\r\nimport { VideoUploadDataService } from 'apps/upload/services/VideoUploadDataService';\r\nimport { VideoUploadService } from 'apps/upload/services';\r\nimport { SeriesDataService } from 'apps/library-editor/services/SeriesDataService';\r\nimport { RatingsDataService } from 'apps/library-editor/services/RatingsDataService';\r\nimport { VideoDataService } from 'apps/library-editor/services/VideoDataService';\r\nimport { LibraryDataService, LibraryDataServiceHelper } from 'apps/library-editor/services/LibraryDataService';\r\nimport { CompanyDataService } from 'apps/library-editor/services/CompanyDataService';\r\nimport { PersonDataService } from 'apps/library-editor/services/PersonDataService';\r\nimport { FolderTreeHelpers } from 'shared/utils';\r\nimport { InteractionType } from 'libs/shared/enums/UploadInteractionType';\r\nimport { AnalyticsOptions, WorkflowPhase, OperationDescriptor } from 'libs/analytics/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\nimport { UploadEventNames } from 'libs/shared/apps/upload/constants/UploadConstants';\r\nimport { PendingItemsHelper } from 'libs/shared/apps/upload/utils/PendingItemsHelper';\r\nimport { PendingItemsService } from 'apps/upload/services';\r\nimport { SettingsDataService } from 'shared/services/SettingsDataService';\r\nimport { Setting } from 'shared/models/Setting';\r\n\r\ninterface UploadVideosViewOptions extends Core.ViewOptions {\r\n folderId?: string;\r\n analyticsOptions?: AnalyticsOptions;\r\n}\r\n\r\nexport class UploadVideosView extends Core.View {\r\n protected options: UploadVideosViewOptions;\r\n\r\n private videoDataService: VideoDataService;\r\n private libraryDataService: LibraryDataService;\r\n private videoUploadService: VideoUploadService;\r\n private videoUploadDataService: VideoUploadDataService;\r\n private seriesDataService: SeriesDataService;\r\n private ratingsDataService: RatingsDataService;\r\n private companyDataService: CompanyDataService;\r\n private personDataService: PersonDataService;\r\n private settingsDataService: SettingsDataService;\r\n private alertService: AlertService;\r\n private navLockService: NavLockService;\r\n\r\n private setFolderChannel: string;\r\n\r\n private ratings: RatingCollection;\r\n private libraries: LibraryCollection;\r\n private hostedLibraries: LibraryCollection;\r\n private currentUser: User;\r\n private config: Config;\r\n private autoCaptioning: Setting;\r\n\r\n constructor(options?: UploadVideosViewOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.initServices();\r\n this.initDataListeners();\r\n this.initComponentListeners();\r\n this.initCollectionListeners();\r\n this.initShellListeners();\r\n }\r\n\r\n public get name(): string {\r\n return 'UploadVideosView';\r\n }\r\n\r\n public get title(): string {\r\n return LanguageService.getPhrase(this.lang, 'title');\r\n }\r\n\r\n public get lang(): string {\r\n return 'upload.uploadVideos';\r\n }\r\n\r\n public get template(): any {\r\n return UploadVideosTemplate;\r\n }\r\n\r\n public regions(): ObjectHash {\r\n return {\r\n topActions: {\r\n el: '.top-actions-region',\r\n replaceElement: true\r\n },\r\n bottomActions: {\r\n el: '.bottom-actions-region',\r\n replaceElement: true\r\n },\r\n videos: {\r\n el: '.videos-region',\r\n replaceElement: true\r\n }\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 initServices(): void {\r\n this.videoDataService = InstanceManager.getInstance(DataServices.Video, this);\r\n this.libraryDataService = InstanceManager.getInstance(DataServices.Library, this);\r\n this.videoUploadService = InstanceManager.getInstance(Services.VideoUpload, this);\r\n this.videoUploadDataService = InstanceManager.getInstance(DataServices.VideoUpload, this);\r\n this.seriesDataService = InstanceManager.getInstance(DataServices.Series, this);\r\n this.ratingsDataService = InstanceManager.getInstance(DataServices.Ratings, this);\r\n this.companyDataService = InstanceManager.getInstance(DataServices.Company, this);\r\n this.personDataService = InstanceManager.getInstance(DataServices.Person, this);\r\n this.alertService = InstanceManager.getInstance(Services.Alerts, this);\r\n this.navLockService = InstanceManager.getInstance(Services.NavLock, this);\r\n this.settingsDataService = InstanceManager.getInstance(DataServices.Settings, this);\r\n }\r\n\r\n private initDataListeners(): void {\r\n this.listenTo(DataChannels.RATINGS, `${DataPrefixes.RATINGS}:sync`, this.render);\r\n this.listenTo(DataChannels.LIBRARY, `hosted:libraries:sync`, this.render);\r\n this.listenTo(DataChannels.LIBRARY, 'folder:created', this.onFolderCreated);\r\n }\r\n\r\n private initComponentListeners(): void {\r\n this.listenTo(this.channelName, 'continue', this.onClickContinue);\r\n this.listenTo(this.channelName, 'cancel:upload', this.cancelUpload);\r\n\r\n this.listenTo(this.channelName, UploadEventNames.FILES_SELECTED, this.onFilesSelected);\r\n\r\n this.listenTo(this.channelName, 'show:new:folder', this.onClickNewFolder);\r\n this.listenTo(this.channelName, 'get:series', this.onSelectSeries);\r\n this.listenTo(this.channelName, 'create:series', this.onCreateSeries);\r\n this.listenTo(this.channelName, 'create:season', this.onCreateSeason);\r\n this.listenTo(this.channelName, 'create:company', this.onCreateCompany);\r\n this.listenTo(this.channelName, 'create:person', this.onCreatePerson);\r\n }\r\n\r\n private initCollectionListeners(): void {\r\n const collection = this.videoUploadService.getCollection();\r\n this.listenTo(collection, 'remove', this.onCollectionChange);\r\n }\r\n\r\n private initShellListeners(): void {\r\n this.listenTo(CommonChannels.SHELL, Core.EventNames.NAV_UNLOCKED_BY_USER, this.onNavigateAway);\r\n }\r\n\r\n private cancelUpload(id: string): void {\r\n // Logging must occur first to ensure we can access the upload model \r\n this.logCancelAction(id);\r\n\r\n this.videoUploadService.cancelUpload(id);\r\n }\r\n\r\n private onNavigateAway(): void {\r\n // Logging must occur first to ensure we can access the upload model \r\n this.logCancelAction();\r\n\r\n this.videoUploadService.cancelAllUploads();\r\n }\r\n\r\n private onCollectionChange(model: Core.Model, collection: Core.Collection): void {\r\n if (collection.length)\r\n return;\r\n\r\n this.navLockService.unlock();\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.UPLOAD,\r\n action: Actions.Upload.FILE_SELECTION,\r\n });\r\n }\r\n\r\n private onSelectSeries(id: string, callback: (series: Series) => void): void {\r\n this.seriesDataService.getSeries(id, callback);\r\n }\r\n\r\n private onCreateSeries(name: string, callback: (series: Series) => void): void {\r\n this.seriesDataService.createSeries(name, callback);\r\n }\r\n\r\n private onCreateSeason(season: ObjectHash, seriesId: string, callback: (season: Season) => void): void {\r\n this.seriesDataService.createSeason(season, seriesId, callback);\r\n }\r\n\r\n private onCreateCompany(name: string, callback: (company: any) => void): void {\r\n this.companyDataService.createCompany(name, callback);\r\n }\r\n\r\n private onCreatePerson(name: string, callback: (person: any) => void): void {\r\n this.personDataService.createPerson(name, callback);\r\n }\r\n\r\n private onClickContinue(): void {\r\n const channel = Radio.channel(this.channelName);\r\n const collection = this.videoUploadService.getCollection();\r\n\r\n let firstInvalidModelId: string;\r\n\r\n let isValid = true;\r\n\r\n collection.each((model => {\r\n const viewModel = ViewModelService.get<Video>(`upload:${model.get('id')}`, null, { ctor: Video });\r\n viewModel.validate();\r\n\r\n const viewModelIsValid = viewModel.isValid();\r\n\r\n if (viewModelIsValid === false && !firstInvalidModelId)\r\n firstInvalidModelId = model.id;\r\n\r\n isValid = isValid && viewModelIsValid;\r\n }));\r\n\r\n if (firstInvalidModelId) {\r\n channel.trigger(`invalid:${firstInvalidModelId}`);\r\n }\r\n\r\n if (!isValid)\r\n return;\r\n\r\n channel.trigger('start:spinner');\r\n\r\n const videos: Video[] = [];\r\n\r\n collection.each(model => {\r\n const file = model.get('file');\r\n const viewModel = ViewModelService.get<Video>(`upload:${model.get('id')}`, null, { ctor: Video });\r\n\r\n if (PendingItemsHelper.hasExpired(viewModel, this.config.get('uploadSessionExpiryTime'))) {\r\n this.alertService.createAlert({\r\n heading: LanguageService.getPhrase(this.lang, 'uploadErrorHeading'),\r\n message: LanguageService.getPhrase(this.lang, 'uploadErrorBody', {\r\n videoName: viewModel.get('name')\r\n }),\r\n type: AlertType.Fail\r\n });\r\n\r\n collection.remove(model);\r\n\r\n return;\r\n }\r\n\r\n viewModel.set('fileUrl', (file as any).cvUpload.fileUrl);\r\n viewModel.set('fileSize', (file as any).size);\r\n videos.push(viewModel);\r\n });\r\n\r\n this.videoUploadDataService.completeVideoUploads(\r\n this.currentUser.get('id'),\r\n this.currentUser.get('customerId'),\r\n videos,\r\n () => {\r\n this.navLockService.unlock();\r\n\r\n const pendingItemsService: PendingItemsService = InstanceManager.getInstance(Services.PendingItems);\r\n pendingItemsService.forceFetchPendingItems();\r\n InstanceManager.releaseInstance(Services.PendingItems);\r\n\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.UPLOAD,\r\n action: videos.length ? Actions.Upload.UPLOAD_COMPLETE : Actions.Upload.FILE_SELECTION\r\n });\r\n\r\n this.logFinishAction(videos);\r\n\r\n /**\r\n * We clear the video cache because the above api calls will have added\r\n * videos to folders and/or series.\r\n */\r\n this.videoDataService.clearVideoCache();\r\n }\r\n );\r\n }\r\n\r\n private onFilesSelected(files: File[], type?: InteractionType): void {\r\n this.videoUploadService.addFiles(files);\r\n\r\n this.logStartAction(files, type);\r\n }\r\n\r\n private onClickNewFolder(libraryId: string, setFolderChannel: string): void {\r\n this.setFolderChannel = setFolderChannel;\r\n\r\n this.navLockService.unlock();\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.UPLOAD,\r\n action: Actions.Shared.NEW_FOLDER,\r\n args: [libraryId]\r\n });\r\n this.lockNav();\r\n }\r\n\r\n private onFolderCreated(folder: Folder): void {\r\n if (!this.setFolderChannel)\r\n return;\r\n\r\n const channel = Radio.channel(this.setFolderChannel);\r\n channel.trigger('new:folder:selected', folder);\r\n\r\n this.render();\r\n }\r\n\r\n private logStartAction(files: File[], type: InteractionType): void {\r\n const options = AnalyticsHelper.mergeOptions(this.options.analyticsOptions, {\r\n workflowPhase: WorkflowPhase.Start,\r\n descriptor: AnalyticsHelper.mapInteractionType(type)\r\n });\r\n\r\n AnalyticsHelper.logUserAction(files, options);\r\n }\r\n\r\n private logCancelAction(id?: string): void {\r\n const currentUploads = this.videoUploadService.getCollection();\r\n\r\n if (!currentUploads.length)\r\n return;\r\n\r\n // It's only possible to cancel one upload or all of them from a single action\r\n const data = id ? currentUploads.get(id) : currentUploads;\r\n\r\n const options = AnalyticsHelper.mergeOptions(this.options.analyticsOptions, {\r\n workflowPhase: WorkflowPhase.Discard,\r\n descriptor: id ? OperationDescriptor.Single : OperationDescriptor.All\r\n });\r\n\r\n // Need to call toJSON as the event will be emitted on next tick, after the\r\n // the current uploads collection has been modified.\r\n AnalyticsHelper.logUserAction(data.toJSON(), options);\r\n }\r\n\r\n private logFinishAction(videos: Video[]): void {\r\n if (!videos.length)\r\n return;\r\n\r\n const data = _.map(videos, v => v.toJSON());\r\n\r\n const options = AnalyticsHelper.mergeOptions(this.options.analyticsOptions, {\r\n workflowPhase: WorkflowPhase.Complete,\r\n });\r\n\r\n AnalyticsHelper.logUserAction(data, options);\r\n }\r\n\r\n private fetchData(): void {\r\n this.ratings = this.ratingsDataService.getAllRatings();\r\n this.hostedLibraries = this.libraryDataService.getLibraries();\r\n this.autoCaptioning = this.settingsDataService.getSetting(this.currentUser.get('customerId'), SettingName.AutoCaptioning);\r\n }\r\n\r\n private renderUploadActions(): void {\r\n this.showChildView('topActions', new UploadActionsComponent({\r\n uploadChannelName: this.channelName\r\n }));\r\n this.showChildView('bottomActions', new UploadActionsComponent({\r\n uploadChannelName: this.channelName\r\n }));\r\n }\r\n\r\n private renderVideos(): void {\r\n const options: UploadVideoComponentCollectionOptions = {\r\n collection: this.videoUploadService.getCollection(),\r\n ratings: this.ratings,\r\n libraries: this.libraries,\r\n hostedLibraries: this.hostedLibraries,\r\n uploadChannelName: this.channelName,\r\n allowAutoCaptioning: this.autoCaptioning.get('value')\r\n };\r\n\r\n if (this.options.folderId) {\r\n const library = FolderTreeHelpers.getLibrary(this.options.folderId, this.libraries);\r\n\r\n if (library) {\r\n options.folderId = this.options.folderId;\r\n options.libraryId = library.get('id');\r\n }\r\n }\r\n\r\n const videosComponentCollection = new UploadVideoComponentCollection(options);\r\n\r\n this.showChildView('videos', videosComponentCollection);\r\n }\r\n\r\n private lockNav(): void {\r\n this.navLockService.lock({\r\n title: LanguageService.getPhrase(this.lang, 'navLockHeading'),\r\n text: LanguageService.getPhrase(this.lang, 'navLockBody')\r\n });\r\n }\r\n\r\n public get requiredResources(): Core.RequiredResourceHash {\r\n return {\r\n currentUser: UserDataServiceHelper.currentUser,\r\n libraries: LibraryDataServiceHelper.libraries,\r\n config: ConfigDataServiceHelper.config\r\n };\r\n }\r\n\r\n public onBeforeRender(): boolean {\r\n this.fetchData();\r\n return !!this.ratings && !!this.hostedLibraries && !!this.autoCaptioning;\r\n }\r\n\r\n public onRender(): void {\r\n this.lockNav();\r\n\r\n this.renderUploadActions();\r\n this.renderVideos();\r\n }\r\n}","import * as _ from 'underscore';\r\nimport { ObjectHash } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport { DropdownItemComponent } from 'shared/components/dropdown/DropdownItemComponent';\r\n\r\nexport interface DropdownDisplayOptions {\r\n alignment?: string;\r\n extraClasses?: string;\r\n}\r\n\r\nexport interface DropdownAnalyticsHelper {\r\n logUserAction(data: ObjectHash | ObjectHash[], analyticsOptions: any): void;\r\n}\r\n\r\nexport interface DropdownChildOptions {\r\n channelName?: string;\r\n titleProperty?: string;\r\n eventName?: string;\r\n extraClasses?: string;\r\n prefixHandler?: () => string;\r\n currentSelectedMessage?: string;\r\n isDisabled?: (model: Core.Model) => boolean;\r\n getTooltip?: (model: Core.Model) => ObjectHash;\r\n truncateOptionNames?: boolean;\r\n}\r\n\r\nexport interface DropdownComponentCollectionOptions extends Core.ComponentCollectionOptions {\r\n channelName: string;\r\n childOptions?: DropdownChildOptions;\r\n displayOptions?: DropdownDisplayOptions;\r\n analyticsHelper: DropdownAnalyticsHelper;\r\n}\r\n\r\nexport class DropdownComponentCollection extends Core.ComponentCollection {\r\n public options: DropdownComponentCollectionOptions;\r\n\r\n constructor(options?: DropdownComponentCollectionOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'DropdownCollectionComponent';\r\n }\r\n\r\n public get className(): string {\r\n return `dropdown-menu items-viewpart ${this.getExtraClasses(this.options.displayOptions)}`;\r\n }\r\n\r\n public get attributes(): ObjectHash {\r\n return {\r\n 'aria-labelledby': 'dropdownSelector'\r\n };\r\n }\r\n\r\n public initialize(): void {\r\n this.listenTo(this.options.channelName, 'center:dropdown', this.centerSelectedItem);\r\n }\r\n\r\n public get childView(): any {\r\n return DropdownItemComponent;\r\n }\r\n\r\n public get childViewOptions(): ObjectHash {\r\n const baseChildOptions: ObjectHash = {\r\n channelName: this.options.channelName,\r\n analyticsHelper: this.options.analyticsHelper\r\n };\r\n\r\n return _.extend(baseChildOptions, this.options.childOptions);\r\n }\r\n\r\n private getExtraClasses(displayOptions: DropdownDisplayOptions = {}): string {\r\n const { alignment = 'left', extraClasses } = displayOptions;\r\n\r\n let className = `dropdown-menu-${alignment}`;\r\n\r\n if (extraClasses)\r\n className = `${className} ${extraClasses}`;\r\n\r\n return className;\r\n }\r\n\r\n private centerSelectedItem(): void {\r\n const active = this.$el.find('.active');\r\n\r\n if (!active.length)\r\n return;\r\n\r\n const halfRatio = 0.5;\r\n const top = this.$el.scrollTop() + active.position().top;\r\n const distance = this.$el.height() * halfRatio + active.height() * halfRatio;\r\n this.$el.scrollTop(top - distance);\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.escapeExpression;\n\n return \" <button class=\\\"create-new btn font-weight-bold rounded-0 w-100 text-left \"\n + alias2(container.lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.customItem : stack1), depth0))\n + \"\\\">\"\n + alias2((helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),\"createNew\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</button>\\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable, alias2=container.lambda, alias3=container.escapeExpression;\n\n return \"<button\\r\\n class=\\\"\"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.selectBtn : stack1), depth0))\n + \" custom-select form-control\\\"\\r\\n data-toggle=\\\"dropdown\\\"\\r\\n aria-haspopup=\\\"true\\\"\\r\\n aria-expanded=\\\"false\\\"\\r\\n name=\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.name : stack1), depth0))\n + \"\\r\\n>\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.buttonText : stack1), depth0))\n + \"</button>\\r\\n<div class=\\\"dropdown-menu \"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.selector : stack1), depth0))\n + \"\\\">\\r\\n <div class=\\\"selector-region\\\"></div>\\r\\n\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.canCreateNew : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"</div>\\r\\n<div class=\\\"form-feedback\\\"></div>\";\n},\"useData\":true});","import { ObjectHash, Radio } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nimport { FolderCollection } from 'shared/collections/FolderCollection';\r\nimport { LeftNavComponent } from 'shared/components/left-nav/LeftNavComponent';\r\nimport { FolderTreeHelpers } from 'shared/utils';\r\n\r\nimport TreeDropdownTemplate from './TreeDropdown.hbs';\r\nimport styles from './tree-dropdown.scss';\r\n\r\ninterface TreeDropdownComponentOptions extends Core.ComponentOptions {\r\n folderTreeKey: string;\r\n canCreateNew?: boolean;\r\n disabledIds?: string[];\r\n name?: string;\r\n}\r\n\r\nexport class TreeDropdownComponent extends Core.Component {\r\n public options: TreeDropdownComponentOptions;\r\n public collection: FolderCollection;\r\n\r\n private buttonText: string;\r\n private disabledIds: ObjectHash;\r\n\r\n constructor(options: TreeDropdownComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.listenTo(this.options.channelName, 'folder:selected new:folder:selected', this.setButtonText);\r\n this.listenTo(this.options.channelName, 're:render:selector', this.renderSelector);\r\n\r\n this.disabledIds = this.options.disabledIds && this.options.disabledIds.reduce((obj, id) => ({\r\n ...obj,\r\n [id]: true\r\n }), {});\r\n }\r\n\r\n public get name(): string {\r\n return 'TreeDropdownComponent';\r\n }\r\n\r\n public get template(): string {\r\n return TreeDropdownTemplate;\r\n }\r\n\r\n public get className(): string {\r\n return 'position-relative';\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.treeDropdown';\r\n }\r\n\r\n public regions(): ObjectHash {\r\n return {\r\n selector: {\r\n el: '.selector-region',\r\n replaceElement: false\r\n }\r\n };\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n 'click .create-new': 'onClickCreateNew'\r\n };\r\n }\r\n\r\n public get defaults(): ObjectHash {\r\n return {\r\n disabledIds: []\r\n };\r\n }\r\n\r\n public get elements(): ObjectHash {\r\n return {\r\n button: '.custom-select'\r\n };\r\n }\r\n\r\n public onClickCreateNew(e: JQuery.Event): void {\r\n e.preventDefault();\r\n\r\n const channel = Radio.channel(this.options.channelName);\r\n channel.trigger('create:folder:clicked');\r\n }\r\n\r\n private setButtonText(model?: Core.Model, isDisabled?: boolean): void {\r\n if (!model || isDisabled) {\r\n const selection = FolderTreeHelpers.getSelected(this.options.folderTreeKey, this.collection);\r\n\r\n const text = selection ? selection.get('name') : LanguageService.getPhrase(this.lang, 'button');\r\n this.getUI('button').text(text);\r\n\r\n return;\r\n }\r\n\r\n const name = model.get('name');\r\n\r\n this.getUI('button').text(name);\r\n }\r\n\r\n private renderSelector(): void {\r\n // TODO: analytics\r\n this.showChildView('selector', new LeftNavComponent({\r\n styles,\r\n collection: this.collection,\r\n channelName: this.options.channelName,\r\n childrenProperty: 'children',\r\n folderTreeId: this.options.folderTreeKey,\r\n extraClass: styles.list,\r\n extraClasses: styles.list,\r\n isSelector: true,\r\n disabledIds: this.disabledIds || {}\r\n }));\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n styles,\r\n name: this.options.name || this.options.channelName,\r\n buttonText: this.buttonText,\r\n canCreateNew: this.options.canCreateNew\r\n };\r\n }\r\n\r\n public onRender(): void {\r\n this.setButtonText();\r\n this.renderSelector();\r\n }\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"selectBtn\":\"cv--selectBtn--2TTgs\",\"list\":\"cv--list--3wN7o\",\"selector\":\"cv--selector--3Xf1P\",\"customItem\":\"cv--customItem--199PI\"};"],"sourceRoot":""}