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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (383) hide show
  1. package/dist/css/1.chunk.css.map +1 -1
  2. package/dist/css/10.chunk.css.map +1 -1
  3. package/dist/css/11.chunk.css.map +1 -1
  4. package/dist/css/12.chunk.css.map +1 -1
  5. package/dist/css/13.chunk.css.map +1 -1
  6. package/dist/css/14.chunk.css.map +1 -1
  7. package/dist/css/16.chunk.css.map +1 -1
  8. package/dist/css/17.chunk.css.map +1 -1
  9. package/dist/css/18.chunk.css.map +1 -1
  10. package/dist/css/2.chunk.css.map +1 -1
  11. package/dist/css/21.chunk.css.map +1 -1
  12. package/dist/css/22.chunk.css.map +1 -1
  13. package/dist/css/23.chunk.css.map +1 -1
  14. package/dist/css/25.chunk.css.map +1 -1
  15. package/dist/css/26.chunk.css.map +1 -1
  16. package/dist/css/28.chunk.css.map +1 -1
  17. package/dist/css/29.chunk.css.map +1 -1
  18. package/dist/css/3.chunk.css.map +1 -1
  19. package/dist/css/30.chunk.css.map +1 -1
  20. package/dist/css/31.chunk.css.map +1 -1
  21. package/dist/css/32.chunk.css.map +1 -1
  22. package/dist/css/33.chunk.css.map +1 -1
  23. package/dist/css/34.chunk.css.map +1 -1
  24. package/dist/css/35.chunk.css.map +1 -1
  25. package/dist/css/36.chunk.css.map +1 -1
  26. package/dist/css/37.chunk.css.map +1 -1
  27. package/dist/css/38.chunk.css.map +1 -1
  28. package/dist/css/40.chunk.css.map +1 -1
  29. package/dist/css/41.chunk.css.map +1 -1
  30. package/dist/css/42.chunk.css.map +1 -1
  31. package/dist/css/43.chunk.css.map +1 -1
  32. package/dist/css/44.chunk.css.map +1 -1
  33. package/dist/css/45.chunk.css.map +1 -1
  34. package/dist/css/46.chunk.css.map +1 -1
  35. package/dist/css/47.chunk.css.map +1 -1
  36. package/dist/css/48.chunk.css.map +1 -1
  37. package/dist/css/49.chunk.css.map +1 -1
  38. package/dist/css/50.chunk.css.map +1 -1
  39. package/dist/css/51.chunk.css.map +1 -1
  40. package/dist/css/52.chunk.css.map +1 -1
  41. package/dist/css/55.chunk.css.map +1 -1
  42. package/dist/css/56.chunk.css.map +1 -1
  43. package/dist/css/58.chunk.css.map +1 -1
  44. package/dist/css/59.chunk.css.map +1 -1
  45. package/dist/css/6.chunk.css.map +1 -1
  46. package/dist/css/60.chunk.css.map +1 -1
  47. package/dist/css/62.chunk.css.map +1 -1
  48. package/dist/css/63.chunk.css.map +1 -1
  49. package/dist/css/67.chunk.css.map +1 -1
  50. package/dist/css/68.chunk.css.map +1 -1
  51. package/dist/css/69.chunk.css.map +1 -1
  52. package/dist/css/7.chunk.css.map +1 -1
  53. package/dist/css/70.chunk.css.map +1 -1
  54. package/dist/css/71.chunk.css.map +1 -1
  55. package/dist/css/72.chunk.css.map +1 -1
  56. package/dist/css/73.chunk.css.map +1 -1
  57. package/dist/css/74.chunk.css.map +1 -1
  58. package/dist/css/75.chunk.css.map +1 -1
  59. package/dist/css/76.chunk.css.map +1 -1
  60. package/dist/css/8.chunk.css.map +1 -1
  61. package/dist/css/library-editor-app.css.map +1 -1
  62. package/dist/libs/common/src/backbone/services/data-providers/SignalRDataProvider.d.ts +3 -3
  63. package/dist/libs/common/src/backbone/utils/UrlHelper.d.ts +0 -1
  64. package/dist/libs/shared/src/apps/notifications/utils/NotificationsHelper.d.ts +1 -1
  65. package/dist/projects/library-editor/src/apps/notifications/utils/NotificationsHelper.d.ts +1 -1
  66. package/dist/scripts/{0-2765595d0a.chunk.js → 0-09e1e33a5c.chunk.js} +1 -1
  67. package/dist/scripts/0-f604eee110.chunk.js +1 -0
  68. package/dist/scripts/0.chunk.js +1 -1
  69. package/dist/scripts/0.chunk.js.map +1 -1
  70. package/dist/scripts/{1-b6dedae131.chunk.js → 1-056bd8c79b.chunk.js} +1 -1
  71. package/dist/scripts/{1-35f87e4cdc.chunk.js → 1-a66bb44471.chunk.js} +1 -1
  72. package/dist/scripts/1.chunk.js.map +1 -1
  73. package/dist/scripts/10-028c6001e1.chunk.js +1 -0
  74. package/dist/scripts/{10-227e797872.chunk.js → 10-6c79d8c6f9.chunk.js} +1 -1
  75. package/dist/scripts/10.chunk.js.map +1 -1
  76. package/dist/scripts/{11-9dbae07504.chunk.js → 11-6eef9e160e.chunk.js} +1 -1
  77. package/dist/scripts/11-cecf8d22f0.chunk.js +11 -0
  78. package/dist/scripts/11.chunk.js.map +1 -1
  79. package/dist/scripts/12-d3f51f4e06.chunk.js +1 -0
  80. package/dist/scripts/{12-06cf65b136.chunk.js → 12-dbffa50a92.chunk.js} +1 -1
  81. package/dist/scripts/12.chunk.js.map +1 -1
  82. package/dist/scripts/{13-01ee41eb1e.chunk.js → 13-37e5cfab3e.chunk.js} +1 -1
  83. package/dist/scripts/13-4029d31569.chunk.js +1 -0
  84. package/dist/scripts/13.chunk.js.map +1 -1
  85. package/dist/scripts/14-4c94f97e4e.chunk.js +1 -0
  86. package/dist/scripts/{14-cf307e51d9.chunk.js → 14-b524fbd295.chunk.js} +1 -1
  87. package/dist/scripts/14.chunk.js.map +1 -1
  88. package/dist/scripts/{15-bedb9ff6d0.chunk.js → 15-1ff1252d1a.chunk.js} +1 -1
  89. package/dist/scripts/{15-eed00bc875.chunk.js → 15-ec9aa4878b.chunk.js} +1 -1
  90. package/dist/scripts/15.chunk.js.map +1 -1
  91. package/dist/scripts/16-5bc8299e14.chunk.js +1 -0
  92. package/dist/scripts/{16-339a29fa2f.chunk.js → 16-b27142fe98.chunk.js} +1 -1
  93. package/dist/scripts/16.chunk.js.map +1 -1
  94. package/dist/scripts/17-9fe035f9e2.chunk.js +1 -0
  95. package/dist/scripts/{17-66da06be62.chunk.js → 17-c3bbe50816.chunk.js} +1 -1
  96. package/dist/scripts/17.chunk.js +1 -1
  97. package/dist/scripts/17.chunk.js.map +1 -1
  98. package/dist/scripts/18.chunk.js.map +1 -1
  99. package/dist/scripts/19.chunk.js +1 -1
  100. package/dist/scripts/19.chunk.js.map +1 -1
  101. package/dist/scripts/{2-5079f4b088.chunk.js → 2-2cc3988222.chunk.js} +1 -1
  102. package/dist/scripts/2-e6d104415e.chunk.js +1 -0
  103. package/dist/scripts/2.chunk.js.map +1 -1
  104. package/dist/scripts/20-60e4eee833.chunk.js +1 -0
  105. package/dist/scripts/{20-6019ccb462.chunk.js → 20-6d9086f5db.chunk.js} +1 -1
  106. package/dist/scripts/20.chunk.js.map +1 -1
  107. package/dist/scripts/{21-77f6ddec3d.chunk.js → 21-2f10553302.chunk.js} +1 -1
  108. package/dist/scripts/21-a7fffe8852.chunk.js +1 -0
  109. package/dist/scripts/21.chunk.js.map +1 -1
  110. package/dist/scripts/{22-9ef39722d1.chunk.js → 22-59ae44b448.chunk.js} +1 -1
  111. package/dist/scripts/22-f670791432.chunk.js +1 -0
  112. package/dist/scripts/22.chunk.js.map +1 -1
  113. package/dist/scripts/{23-c8071cb869.chunk.js → 23-11e008ee63.chunk.js} +1 -1
  114. package/dist/scripts/23-4d26d6300a.chunk.js +1 -0
  115. package/dist/scripts/23.chunk.js +3 -3
  116. package/dist/scripts/23.chunk.js.map +1 -1
  117. package/dist/scripts/{24-b655377e1f.chunk.js → 24-7f21e384d2.chunk.js} +1 -1
  118. package/dist/scripts/24-813ef82099.chunk.js +1 -0
  119. package/dist/scripts/24.chunk.js.map +1 -1
  120. package/dist/scripts/25-023d08a591.chunk.js +1 -0
  121. package/dist/scripts/{25-acda0ed17e.chunk.js → 25-f0f7fa16a4.chunk.js} +1 -1
  122. package/dist/scripts/25.chunk.js.map +1 -1
  123. package/dist/scripts/26-a9fcf0d596.chunk.js +1 -0
  124. package/dist/scripts/{26-39f6c3ca17.chunk.js → 26-e65533bd94.chunk.js} +1 -1
  125. package/dist/scripts/26.chunk.js.map +1 -1
  126. package/dist/scripts/27-84f7bbade6.chunk.js +1 -0
  127. package/dist/scripts/{27-1313c7d392.chunk.js → 27-9dc0f5a4df.chunk.js} +1 -1
  128. package/dist/scripts/27.chunk.js +3 -3
  129. package/dist/scripts/27.chunk.js.map +1 -1
  130. package/dist/scripts/{28-b583483a6e.chunk.js → 28-26e5c371c7.chunk.js} +1 -1
  131. package/dist/scripts/28-cdf603f4cf.chunk.js +1 -0
  132. package/dist/scripts/28.chunk.js +6 -6
  133. package/dist/scripts/28.chunk.js.map +1 -1
  134. package/dist/scripts/{29-44119e600a.chunk.js → 29-61415c2af0.chunk.js} +1 -1
  135. package/dist/scripts/29-8278d23f9b.chunk.js +1 -0
  136. package/dist/scripts/29.chunk.js.map +1 -1
  137. package/dist/scripts/{3-bea2c1c371.chunk.js → 3-1fa81c9d9b.chunk.js} +1 -1
  138. package/dist/scripts/{3-079c0b4d3b.chunk.js → 3-5eff8c9df5.chunk.js} +1 -1
  139. package/dist/scripts/3.chunk.js +13 -25
  140. package/dist/scripts/3.chunk.js.map +1 -1
  141. package/dist/scripts/{30-a6a7291b5e.chunk.js → 30-6075c28972.chunk.js} +1 -1
  142. package/dist/scripts/30-7ab880728c.chunk.js +1 -0
  143. package/dist/scripts/30.chunk.js +6 -6
  144. package/dist/scripts/30.chunk.js.map +1 -1
  145. package/dist/scripts/31-aa4cd0f45e.chunk.js +1 -0
  146. package/dist/scripts/31-e35ae4e153.chunk.js +1 -0
  147. package/dist/scripts/31.chunk.js.map +1 -1
  148. package/dist/scripts/32-7717941f1d.chunk.js +1 -0
  149. package/dist/scripts/{32-0b05da2f4c.chunk.js → 32-d5a50a7592.chunk.js} +1 -1
  150. package/dist/scripts/32.chunk.js.map +1 -1
  151. package/dist/scripts/{33-04b1fbcdeb.chunk.js → 33-5ae90ed7d7.chunk.js} +1 -1
  152. package/dist/scripts/33-6da33143ea.chunk.js +1 -0
  153. package/dist/scripts/33.chunk.js.map +1 -1
  154. package/dist/scripts/{34-56f92b9a87.chunk.js → 34-27e40f4d4b.chunk.js} +1 -1
  155. package/dist/scripts/{34-4f2c861480.chunk.js → 34-50402c1835.chunk.js} +1 -1
  156. package/dist/scripts/34.chunk.js.map +1 -1
  157. package/dist/scripts/{35-cdd788a4b5.chunk.js → 35-3260300446.chunk.js} +1 -1
  158. package/dist/scripts/{35-08ead0d078.chunk.js → 35-ec8c190357.chunk.js} +1 -1
  159. package/dist/scripts/35.chunk.js.map +1 -1
  160. package/dist/scripts/{36-4db22bf8bb.chunk.js → 36-4d467bc42e.chunk.js} +1 -1
  161. package/dist/scripts/{36-7d33d11b58.chunk.js → 36-bec0c74d05.chunk.js} +1 -1
  162. package/dist/scripts/36.chunk.js.map +1 -1
  163. package/dist/scripts/{37-4de2537ff4.chunk.js → 37-37e8965783.chunk.js} +1 -1
  164. package/dist/scripts/37-3916177181.chunk.js +1 -0
  165. package/dist/scripts/37.chunk.js.map +1 -1
  166. package/dist/scripts/{38-57af633fa1.chunk.js → 38-3dc24b8867.chunk.js} +1 -1
  167. package/dist/scripts/38-89f7c22ea8.chunk.js +1 -0
  168. package/dist/scripts/38.chunk.js.map +1 -1
  169. package/dist/scripts/{39-5451786b7d.chunk.js → 39-350ff66a2b.chunk.js} +1 -1
  170. package/dist/scripts/39-9456631219.chunk.js +1 -0
  171. package/dist/scripts/39.chunk.js.map +1 -1
  172. package/dist/scripts/4-a7f6d378e0.chunk.js +1 -0
  173. package/dist/scripts/{4-0a8a5ac2f0.chunk.js → 4-b3f3c7c71c.chunk.js} +1 -1
  174. package/dist/scripts/4.chunk.js.map +1 -1
  175. package/dist/scripts/{40-31940ddf04.chunk.js → 40-3443f99cb2.chunk.js} +1 -1
  176. package/dist/scripts/40-f65196723f.chunk.js +1 -0
  177. package/dist/scripts/40.chunk.js.map +1 -1
  178. package/dist/scripts/{41-2c6722e410.chunk.js → 41-70b16d99d0.chunk.js} +1 -1
  179. package/dist/scripts/{41-0366a0332e.chunk.js → 41-b5dfd35e9e.chunk.js} +1 -1
  180. package/dist/scripts/41.chunk.js.map +1 -1
  181. package/dist/scripts/{42-9b7795d20a.chunk.js → 42-103fecb7b6.chunk.js} +1 -1
  182. package/dist/scripts/42-e17f214d6c.chunk.js +1 -0
  183. package/dist/scripts/42.chunk.js.map +1 -1
  184. package/dist/scripts/{43-006ce08a8f.chunk.js → 43-57b07579f7.chunk.js} +1 -1
  185. package/dist/scripts/{43-591954817b.chunk.js → 43-6826fbc7d4.chunk.js} +1 -1
  186. package/dist/scripts/43.chunk.js.map +1 -1
  187. package/dist/scripts/{44-b4c134efe8.chunk.js → 44-210d64dffe.chunk.js} +1 -1
  188. package/dist/scripts/{44-fc3a1d45c5.chunk.js → 44-593e820fa2.chunk.js} +1 -1
  189. package/dist/scripts/44.chunk.js.map +1 -1
  190. package/dist/scripts/{45-32ce8dd910.chunk.js → 45-632b07e926.chunk.js} +1 -1
  191. package/dist/scripts/{45-3e85e78a77.chunk.js → 45-8231a03833.chunk.js} +1 -1
  192. package/dist/scripts/45.chunk.js.map +1 -1
  193. package/dist/scripts/46-682ca88fd9.chunk.js +1 -0
  194. package/dist/scripts/{46-1256828b60.chunk.js → 46-82cce63cbf.chunk.js} +1 -1
  195. package/dist/scripts/46.chunk.js +6 -6
  196. package/dist/scripts/46.chunk.js.map +1 -1
  197. package/dist/scripts/{47-61b53964c2.chunk.js → 47-595b4aae87.chunk.js} +1 -1
  198. package/dist/scripts/47-aec7cf95e8.chunk.js +1 -0
  199. package/dist/scripts/47.chunk.js +1 -2
  200. package/dist/scripts/47.chunk.js.map +1 -1
  201. package/dist/scripts/48-7b09165697.chunk.js +1 -0
  202. package/dist/scripts/{48-3f804b22a4.chunk.js → 48-fcf6378889.chunk.js} +1 -1
  203. package/dist/scripts/48.chunk.js.map +1 -1
  204. package/dist/scripts/49-0e6ceb191f.chunk.js +1 -0
  205. package/dist/scripts/{49-79b28e90c9.chunk.js → 49-d8a4899eb1.chunk.js} +1 -1
  206. package/dist/scripts/49.chunk.js.map +1 -1
  207. package/dist/scripts/{5-093c9ee130.chunk.js → 5-06bc197b1e.chunk.js} +1 -1
  208. package/dist/scripts/{5-f5ad097d2b.chunk.js → 5-e2e64bc05f.chunk.js} +1 -1
  209. package/dist/scripts/5.chunk.js +3 -3
  210. package/dist/scripts/5.chunk.js.map +1 -1
  211. package/dist/scripts/{50-198f89794c.chunk.js → 50-11b1a49916.chunk.js} +1 -1
  212. package/dist/scripts/50-fa6f6fd1dc.chunk.js +1 -0
  213. package/dist/scripts/50.chunk.js.map +1 -1
  214. package/dist/scripts/51-1c9fca4604.chunk.js +1 -0
  215. package/dist/scripts/{51-177fe97a9b.chunk.js → 51-72a75e0265.chunk.js} +1 -1
  216. package/dist/scripts/51.chunk.js.map +1 -1
  217. package/dist/scripts/{52-d8cf26c75f.chunk.js → 52-195f73bcd6.chunk.js} +1 -1
  218. package/dist/scripts/52-ebce0c9f12.chunk.js +1 -0
  219. package/dist/scripts/52.chunk.js.map +1 -1
  220. package/dist/scripts/{53-595b1efa1a.chunk.js → 53-bb4f37ee25.chunk.js} +1 -1
  221. package/dist/scripts/53-c6807d4e0b.chunk.js +1 -0
  222. package/dist/scripts/53.chunk.js.map +1 -1
  223. package/dist/scripts/{54-646c8458e0.chunk.js → 54-7a201d8285.chunk.js} +1 -1
  224. package/dist/scripts/54-e6195aa62a.chunk.js +1 -0
  225. package/dist/scripts/54.chunk.js.map +1 -1
  226. package/dist/scripts/{55-5e3b70736e.chunk.js → 55-be3d7b8805.chunk.js} +1 -1
  227. package/dist/scripts/55-f9f9a251af.chunk.js +1 -0
  228. package/dist/scripts/55.chunk.js.map +1 -1
  229. package/dist/scripts/56-20f27f96db.chunk.js +1 -0
  230. package/dist/scripts/{56-3c520aec72.chunk.js → 56-6aeece1bf1.chunk.js} +1 -1
  231. package/dist/scripts/56.chunk.js.map +1 -1
  232. package/dist/scripts/{57-6f84e1bb9d.chunk.js → 57-59ee15161b.chunk.js} +1 -1
  233. package/dist/scripts/57-b25862dbf0.chunk.js +1 -0
  234. package/dist/scripts/57.chunk.js.map +1 -1
  235. package/dist/scripts/{58-1c37240b43.chunk.js → 58-8ff58b194a.chunk.js} +1 -1
  236. package/dist/scripts/58-edf06f18f9.chunk.js +1 -0
  237. package/dist/scripts/58.chunk.js.map +1 -1
  238. package/dist/scripts/59-241a666e49.chunk.js +1 -0
  239. package/dist/scripts/{59-05cbb57b32.chunk.js → 59-3d33954fcb.chunk.js} +1 -1
  240. package/dist/scripts/59.chunk.js.map +1 -1
  241. package/dist/scripts/{6-a5f6258253.chunk.js → 6-a469872b10.chunk.js} +1 -1
  242. package/dist/scripts/6-c631df7bda.chunk.js +1 -0
  243. package/dist/scripts/6.chunk.js.map +1 -1
  244. package/dist/scripts/60-ac631fa385.chunk.js +1 -0
  245. package/dist/scripts/{60-ac4f11764a.chunk.js → 60-f092baa91c.chunk.js} +1 -1
  246. package/dist/scripts/60.chunk.js.map +1 -1
  247. package/dist/scripts/61-360e50b6cb.chunk.js +1 -0
  248. package/dist/scripts/{61-62ec9b3628.chunk.js → 61-bd9ef62ccd.chunk.js} +1 -1
  249. package/dist/scripts/61.chunk.js +12 -12
  250. package/dist/scripts/61.chunk.js.map +1 -1
  251. package/dist/scripts/62-22ee1d2a94.chunk.js +1 -0
  252. package/dist/scripts/{62-4d0e82f903.chunk.js → 62-f15b3bf74c.chunk.js} +1 -1
  253. package/dist/scripts/62.chunk.js.map +1 -1
  254. package/dist/scripts/63-25413d744e.chunk.js +1 -0
  255. package/dist/scripts/{63-47af37825d.chunk.js → 63-92757f75e7.chunk.js} +1 -1
  256. package/dist/scripts/63.chunk.js.map +1 -1
  257. package/dist/scripts/64-1b027092be.chunk.js +1 -0
  258. package/dist/scripts/{64-12150ef48b.chunk.js → 64-c5a1c55521.chunk.js} +1 -1
  259. package/dist/scripts/64.chunk.js.map +1 -1
  260. package/dist/scripts/{65-7780441e5e.chunk.js → 65-6bb10ae23b.chunk.js} +1 -1
  261. package/dist/scripts/{65-a4fdf8777b.chunk.js → 65-c8a9aae545.chunk.js} +1 -1
  262. package/dist/scripts/65.chunk.js.map +1 -1
  263. package/dist/scripts/66-20aec598ca.chunk.js +1 -0
  264. package/dist/scripts/{66-029947cf5c.chunk.js → 66-f047027f7d.chunk.js} +1 -1
  265. package/dist/scripts/66.chunk.js.map +1 -1
  266. package/dist/scripts/{67-47f208342a.chunk.js → 67-2e1a011200.chunk.js} +1 -1
  267. package/dist/scripts/67-d8d1cb35a4.chunk.js +1 -0
  268. package/dist/scripts/67.chunk.js.map +1 -1
  269. package/dist/scripts/68-869ea333d9.chunk.js +1 -0
  270. package/dist/scripts/{68-5656cc45fe.chunk.js → 68-d5c0ab3fc1.chunk.js} +1 -1
  271. package/dist/scripts/68.chunk.js.map +1 -1
  272. package/dist/scripts/69-c4ff3e5568.chunk.js +1 -0
  273. package/dist/scripts/{69-4d32ddddbc.chunk.js → 69-fc8325afc9.chunk.js} +1 -1
  274. package/dist/scripts/69.chunk.js.map +1 -1
  275. package/dist/scripts/7-1d94e0bb0c.chunk.js +1 -0
  276. package/dist/scripts/{7-2696f5afc4.chunk.js → 7-58dd909fa3.chunk.js} +1 -1
  277. package/dist/scripts/7.chunk.js.map +1 -1
  278. package/dist/scripts/70-171dcf9fe1.chunk.js +1 -0
  279. package/dist/scripts/{70-0f070c1596.chunk.js → 70-ceda95013e.chunk.js} +1 -1
  280. package/dist/scripts/70.chunk.js.map +1 -1
  281. package/dist/scripts/71-33e7082ca2.chunk.js +1 -0
  282. package/dist/scripts/{71-215cac8b69.chunk.js → 71-6e8fc95beb.chunk.js} +1 -1
  283. package/dist/scripts/71.chunk.js.map +1 -1
  284. package/dist/scripts/72-2eef8b13b0.chunk.js +1 -0
  285. package/dist/scripts/{72-6eb3ef092e.chunk.js → 72-53fe3338bf.chunk.js} +1 -1
  286. package/dist/scripts/72.chunk.js.map +1 -1
  287. package/dist/scripts/73.chunk.js.map +1 -1
  288. package/dist/scripts/74.chunk.js.map +1 -1
  289. package/dist/scripts/75.chunk.js.map +1 -1
  290. package/dist/scripts/76.chunk.js.map +1 -1
  291. package/dist/scripts/77.chunk.js.map +1 -1
  292. package/dist/scripts/78.chunk.js.map +1 -1
  293. package/dist/scripts/79.chunk.js.map +1 -1
  294. package/dist/scripts/8-34ae87490f.chunk.js +1 -0
  295. package/dist/scripts/{8-1e0751e30b.chunk.js → 8-6974afed28.chunk.js} +1 -1
  296. package/dist/scripts/8.chunk.js.map +1 -1
  297. package/dist/scripts/80.chunk.js.map +1 -1
  298. package/dist/scripts/81.chunk.js.map +1 -1
  299. package/dist/scripts/82.chunk.js.map +1 -1
  300. package/dist/scripts/83.chunk.js.map +1 -1
  301. package/dist/scripts/84.chunk.js.map +1 -1
  302. package/dist/scripts/85.chunk.js.map +1 -1
  303. package/dist/scripts/86.chunk.js.map +1 -1
  304. package/dist/scripts/87.chunk.js.map +1 -1
  305. package/dist/scripts/88.chunk.js.map +1 -1
  306. package/dist/scripts/89.chunk.js.map +1 -1
  307. package/dist/scripts/{9-cd0bcefa7f.chunk.js → 9-0d7004dd33.chunk.js} +1 -1
  308. package/dist/scripts/{9-bb567e1c99.chunk.js → 9-9279038caa.chunk.js} +1 -1
  309. package/dist/scripts/9.chunk.js.map +1 -1
  310. package/dist/scripts/90.chunk.js.map +1 -1
  311. package/dist/scripts/91.chunk.js.map +1 -1
  312. package/dist/scripts/92.chunk.js.map +1 -1
  313. package/dist/scripts/bundle-06dc1f4908.min.js +8 -0
  314. package/dist/scripts/bundle-f4a423ce34.min.js +1 -0
  315. package/dist/scripts/bundle.js +1364 -1492
  316. package/dist/scripts/bundle.js.map +1 -1
  317. package/dist/scripts/bundles.json +2 -2
  318. package/dist/scripts/polyfills-21eaf1215c.min.js +1 -0
  319. package/dist/scripts/polyfills-efb4d7caa3.min.js +1 -0
  320. package/dist/scripts/polyfills.js +1050 -1050
  321. package/dist/scripts/polyfills.js.map +1 -1
  322. package/package.json +4 -4
  323. package/dist/scripts/0-f82360fd03.chunk.js +0 -1
  324. package/dist/scripts/10-8307f8e248.chunk.js +0 -1
  325. package/dist/scripts/12-43e54b0a2d.chunk.js +0 -1
  326. package/dist/scripts/13-3d84e237b9.chunk.js +0 -1
  327. package/dist/scripts/14-988bab314d.chunk.js +0 -1
  328. package/dist/scripts/16-3a99050a93.chunk.js +0 -1
  329. package/dist/scripts/17-bff211f26a.chunk.js +0 -1
  330. package/dist/scripts/20-d4470b4a53.chunk.js +0 -1
  331. package/dist/scripts/21-7bd1977005.chunk.js +0 -1
  332. package/dist/scripts/22-d88b8e9c20.chunk.js +0 -1
  333. package/dist/scripts/23-e8a0f60c53.chunk.js +0 -1
  334. package/dist/scripts/24-f62e7ff166.chunk.js +0 -1
  335. package/dist/scripts/25-f814e3921c.chunk.js +0 -1
  336. package/dist/scripts/26-9dd482e1e6.chunk.js +0 -1
  337. package/dist/scripts/27-5ecd204dab.chunk.js +0 -1
  338. package/dist/scripts/28-e9b8962af8.chunk.js +0 -1
  339. package/dist/scripts/29-e3391b4e4b.chunk.js +0 -1
  340. package/dist/scripts/30-aef6a19cde.chunk.js +0 -1
  341. package/dist/scripts/31-4f1ea6d067.chunk.js +0 -1
  342. package/dist/scripts/31-70fe14b490.chunk.js +0 -1
  343. package/dist/scripts/32-96ac2f9c32.chunk.js +0 -1
  344. package/dist/scripts/33-061a87935f.chunk.js +0 -1
  345. package/dist/scripts/37-fbd149e569.chunk.js +0 -1
  346. package/dist/scripts/38-7733a3d81e.chunk.js +0 -1
  347. package/dist/scripts/39-cc627dfe2b.chunk.js +0 -1
  348. package/dist/scripts/4-84fa8e49e2.chunk.js +0 -1
  349. package/dist/scripts/40-78639874b5.chunk.js +0 -1
  350. package/dist/scripts/42-c87c36d7d4.chunk.js +0 -1
  351. package/dist/scripts/46-e096df45ef.chunk.js +0 -1
  352. package/dist/scripts/47-9e514e7536.chunk.js +0 -1
  353. package/dist/scripts/48-9af8b50e4f.chunk.js +0 -1
  354. package/dist/scripts/49-883d9131af.chunk.js +0 -1
  355. package/dist/scripts/50-ce04770db1.chunk.js +0 -1
  356. package/dist/scripts/51-61bb2b80fe.chunk.js +0 -1
  357. package/dist/scripts/52-e7fd215888.chunk.js +0 -1
  358. package/dist/scripts/53-e78a58c963.chunk.js +0 -1
  359. package/dist/scripts/54-7976c21511.chunk.js +0 -1
  360. package/dist/scripts/55-dac67eae0b.chunk.js +0 -1
  361. package/dist/scripts/56-9a02efb9a1.chunk.js +0 -1
  362. package/dist/scripts/57-bf72265d49.chunk.js +0 -1
  363. package/dist/scripts/58-34ef45f4b6.chunk.js +0 -1
  364. package/dist/scripts/59-f3d473090d.chunk.js +0 -1
  365. package/dist/scripts/6-e49b6b4c08.chunk.js +0 -1
  366. package/dist/scripts/60-dd50d4179f.chunk.js +0 -1
  367. package/dist/scripts/61-e759f86871.chunk.js +0 -1
  368. package/dist/scripts/62-bfd5450b13.chunk.js +0 -1
  369. package/dist/scripts/63-8521e39a2e.chunk.js +0 -1
  370. package/dist/scripts/64-c42635a917.chunk.js +0 -1
  371. package/dist/scripts/66-7f2750cd97.chunk.js +0 -1
  372. package/dist/scripts/67-564ff2bd16.chunk.js +0 -1
  373. package/dist/scripts/68-df9024fadc.chunk.js +0 -1
  374. package/dist/scripts/69-a4b3442e68.chunk.js +0 -1
  375. package/dist/scripts/7-b39ab430b9.chunk.js +0 -1
  376. package/dist/scripts/70-2a427b3dd0.chunk.js +0 -1
  377. package/dist/scripts/71-c43ee23686.chunk.js +0 -1
  378. package/dist/scripts/72-f5a8cfc8b7.chunk.js +0 -1
  379. package/dist/scripts/8-f4f18356f7.chunk.js +0 -1
  380. package/dist/scripts/bundle-e7f4d4e659.min.js +0 -8
  381. package/dist/scripts/bundle-f73bcaa857.min.js +0 -8
  382. package/dist/scripts/polyfills-9517d7e647.min.js +0 -1
  383. package/dist/scripts/polyfills-e442ebbfb0.min.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["file://C:/ClickView Projects/clickview/packages/libs/shared/src/legacy/components/pagination/Pagination.hbs","file://C:/ClickView Projects/clickview/packages/libs/shared/src/legacy/components/pagination/PaginationComponent.ts","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/behaviors/shared/DragOptions.ts","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/behaviors/shared/DraggableItem.hbs","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/behaviors/shared/DraggableItemComponent.ts","webpack://@clickview/library-editor/./src/apps/library-editor/behaviors/shared/draggable-item.scss?3e46","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/behaviors/shared/index.ts","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/search/components/filters/Filters.hbs","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/search/components/filters/FiltersComponent.ts","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-button-list/FilterButtonItem.hbs","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-button-list/FilterButtonItemComponent.ts","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-button-list/FilterButtonListComponent.ts","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-button-list/index.ts","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-list/FilterItem.hbs","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-list/FilterItemComponent.ts","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-list/FilterList.hbs","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-list/FilterListComponent.ts","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/FilterOptions.hbs","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/FilterOptionsComponent.ts","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/bool-filter-options/BoolFilterOptions.hbs","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/bool-filter-options/BoolFilterOptionsComponent.ts","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/duration-filter-options/DurationFilterOptionItem.hbs","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/duration-filter-options/DurationFilterOptionListComponent.ts","webpack://@clickview/library-editor/./src/apps/search/components/filters/filter-options/duration-filter-options/duration-filter-options.scss?b119","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/filter-option-list/FilterOptionItem.hbs","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/filter-option-list/FilterOptionItemComponent.ts","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/filter-option-list/FilterOptionsList.hbs","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/filter-option-list/FilterOptionsListComponent.ts","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/index.ts","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/range-filter-options/RangeFilterOptionItem.hbs","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/range-filter-options/RangeFilterOptionListComponent.ts","webpack://@clickview/library-editor/./src/apps/search/components/filters/filter-options/range-filter-options/range-filter-item.scss?9dcc","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/tag-filter-options/TagFilterOptions.hbs","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/tag-filter-options/TagFilterOptionsComponent.ts","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/tag-filter-options/TagFilterOptionsList.hbs","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/tag-filter-options/TagFilterOptionsListComponent.ts","webpack://@clickview/library-editor/./src/apps/search/components/filters/filter-options/tag-filter-options/tag-filter-options.scss?bc48","webpack://@clickview/library-editor/./src/apps/search/components/filters/filters.scss?6554","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/search/components/filters/index.ts","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/search/components/filters/more-filters-button/MoreFiltersButton.hbs","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/search/components/filters/more-filters-button/MoreFiltersButtonComponent.ts","webpack://@clickview/library-editor/./src/apps/search/components/filters/more-filters-button/more-filters-button.scss?e5b7","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/search/constants/SearchRadioChannels.ts","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/search/constants/index.ts"],"names":[],"mappings":"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","file":"scripts/28.chunk.js","sourcesContent":["var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n return \"disabled\";\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 \"<div class=\\\"p-3\\\">\\r\\n <a class=\\\"btn previous-applink btn-secondary \"\n + ((stack1 = helpers.unless.call(alias2,((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.cursors : stack1)) != null ? stack1.previous : stack1),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\">\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"previous\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</a>\\r\\n <a class=\\\"btn next-applink btn-secondary \"\n + ((stack1 = helpers.unless.call(alias2,((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.cursors : stack1)) != null ? stack1.next : stack1),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\">\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"next\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</a>\\r\\n</div>\";\n},\"useData\":true});","import * as _ from 'underscore';\r\nimport { ObjectHash } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { Cursors } from 'libs/common/backbone/interfaces';\r\n\r\nimport { AnalyticsOptions, WorkflowPhase, UserAction, LocationContext, EntityType } from 'libs/analytics/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\n\r\nimport PaginationTemplate from './Pagination.hbs';\r\n\r\ninterface PaginationComponentOptions extends Core.ComponentOptions {\r\n cursors: Cursors;\r\n appLink: Core.AppLink;\r\n collectionId?: string;\r\n allowFirstPageCursor?: boolean;\r\n analyticsOptions?: AnalyticsOptions;\r\n cursorParamName?: string;\r\n}\r\n\r\nexport class PaginationComponent extends Core.Component {\r\n public options: PaginationComponentOptions;\r\n\r\n constructor(options: PaginationComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public get defaults(): ObjectHash {\r\n return {\r\n cursors: {},\r\n cursorParamName: 'cursor'\r\n };\r\n }\r\n\r\n public get name(): string {\r\n return 'PaginationComponent';\r\n }\r\n\r\n public get template(): any {\r\n return PaginationTemplate;\r\n }\r\n\r\n public get lang(): string {\r\n return 'shared._pagination';\r\n }\r\n\r\n public get appLinks(): Core.AppLinkHash {\r\n const appLinks: ObjectHash = {};\r\n\r\n if (!this.options.cursors)\r\n return {};\r\n\r\n if (this.options.cursors.previous) {\r\n let previous = this.options.cursors.previous;\r\n\r\n const cursor = this.buildCursor(this.options.cursors.previous);\r\n\r\n /**\r\n * ** For legacy pagination only **\r\n * Remove the cursor param if the previous page is the first page.\r\n * This ensures that we don't unnecessarily re-fetch the first page \r\n * which in most cases would have been retrieved without using a cursor. \r\n */\r\n if (+previous <= 1 && this.options.allowFirstPageCursor !== true)\r\n delete cursor.params.cursor;\r\n\r\n appLinks['.previous-applink'] = cursor;\r\n }\r\n\r\n if (this.options.cursors.next) {\r\n appLinks['.next-applink'] = this.buildCursor(this.options.cursors.next);\r\n }\r\n\r\n return appLinks;\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n 'click .previous-applink': 'onClickPrevious',\r\n 'click .next-applink': 'onClickNext'\r\n };\r\n }\r\n\r\n private buildCursor(cursorParam: string): ObjectHash {\r\n return {\r\n application: this.options.appLink.application,\r\n action: this.options.appLink.action,\r\n args: this.options.appLink.args,\r\n params: _.extend({}, this.options.appLink.params, { [this.options.cursorParamName]: cursorParam })\r\n };\r\n }\r\n\r\n private onClickPrevious(): void {\r\n this.logAction('previous');\r\n }\r\n\r\n private onClickNext(): void {\r\n this.logAction('next');\r\n }\r\n\r\n private logAction(page: string): void {\r\n const analyticsOptions = AnalyticsHelper.mergeOptions(this.options.analyticsOptions, {\r\n location: LocationContext.Pagination,\r\n entity: EntityType.Pagination,\r\n actionType: UserAction.Navigate,\r\n workflowPhase: WorkflowPhase.Complete\r\n });\r\n\r\n const data = {\r\n id: this.options.collectionId,\r\n page\r\n };\r\n\r\n AnalyticsHelper.logUserAction(data, analyticsOptions);\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n cursors: this.options.cursors\r\n };\r\n }\r\n\r\n public onBeforeRender(): boolean {\r\n return !!this.options.cursors;\r\n }\r\n}","const DragOptions: JQueryUI.DraggableOptions = {\r\n delay: 150,\r\n cursorAt: { left: -20, top: 10 },\r\n refreshPositions: true\r\n};\r\n\r\nexport { DragOptions };","var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable, alias2=container.lambda, alias3=container.escapeExpression;\n\n return \"<span class=\\\"\"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.svgContainer : stack1), depth0))\n + \" mr-2\\\">\"\n + ((stack1 = alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.svg : stack1), depth0)) != null ? stack1 : \"\")\n + \"</span>\\r\\n<span class=\\\"\"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.dragText : stack1), depth0))\n + \"\\\">\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.text : stack1), depth0))\n + \"</span>\";\n},\"useData\":true});","import { Core } from 'libs/common/core';\r\n\r\nimport styles from './draggable-item.scss';\r\nimport DraggableItemTemplate from './DraggableItem.hbs';\r\nimport { ObjectHash } from 'backbone';\r\n\r\ninterface DraggableItemComponentOptions extends Core.ComponentOptions {\r\n text: string;\r\n svg: string;\r\n}\r\n\r\nexport class DraggableItemComponent extends Core.Component {\r\n public options: DraggableItemComponentOptions;\r\n\r\n constructor(options: DraggableItemComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'DraggableItemComponent';\r\n }\r\n\r\n public get template(): any {\r\n return DraggableItemTemplate;\r\n }\r\n\r\n public get className(): string {\r\n return `${styles.dragItem} p-3`;\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n styles,\r\n ...this.options\r\n };\r\n }\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dragItem\":\"cv--dragItem--2TIZ7\",\"svgContainer\":\"cv--svgContainer--3JzEU\",\"dragText\":\"cv--dragText--1Kdwj\"};","import styles from './draggable-item.scss';\r\nimport DraggableItemTemplate from './DraggableItem.hbs';\r\n\r\nexport { styles, DraggableItemTemplate };\r\nexport * from './DraggableItemComponent';\r\nexport * from './DragOptions';","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 \"<div class=\\\"d-inline-block text-right\\\">\\r\\n <a class=\\\"clear-filters cursor-pointer hover-text-underline\\\">\"\n + container.escapeExpression((helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),\"reset\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</a>\\r\\n</div>\\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable, alias2=container.escapeExpression, alias3=depth0 != null ? depth0 : (container.nullContext || {});\n\n return \"<div class=\\\"d-inline-block border-right py-1 pr-3 \"\n + alias2(container.lambda(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.labelClass : stack1), depth0))\n + \"\\\"><strong>\"\n + alias2((helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(alias3,\"heading\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</strong></div>\\r\\n<div class=\\\"filter-list-region d-inline-block pl-2\\\"></div>\\r\\n<div class=\\\"more-filters-region d-inline-block mr-2\\\"></div>\\r\\n\"\n + ((stack1 = helpers[\"if\"].call(alias3,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.hasFiltersSelected : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"useData\":true});","import * as _ from 'underscore';\r\nimport { ObjectHash, Radio } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport { EventNames } from 'shared/constants';\r\nimport { PartialLoading } from 'shared/enums';\r\nimport { LocationContext, UserAction, EntityType, WorkflowPhase, FilterDescriptor } from 'libs/analytics/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\n\r\nimport { FilterButtonListComponent } from 'apps/search/components/filters';\r\nimport { MoreFiltersButtonComponent } from 'apps/search/components/filters/more-filters-button/MoreFiltersButtonComponent';\r\nimport { FilterCollection } from 'apps/search/collections';\r\nimport { Filter } from 'apps/search/models';\r\nimport { FilterHelper } from 'apps/search/utils';\r\n\r\nimport FiltersComponentTemplate from './Filters.hbs';\r\nimport styles from './filters.scss';\r\n\r\ninterface FiltersComponentOptions extends Core.ComponentOptions {\r\n /**\r\n * Redefining channelName as non nullable so that it must be provided.\r\n */\r\n channelName: string;\r\n}\r\n\r\nexport class FiltersComponent extends Core.Component {\r\n constructor(options: FiltersComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'FiltersComponent';\r\n }\r\n\r\n public get template(): string {\r\n return FiltersComponentTemplate;\r\n }\r\n\r\n public get lang(): string {\r\n return 'search.filters';\r\n }\r\n\r\n public regions(): ObjectHash {\r\n return {\r\n filterList: {\r\n el: '.filter-list-region',\r\n replaceRegion: true,\r\n partialLoading: PartialLoading.SearchFilter\r\n },\r\n moreFilters: {\r\n el: '.more-filters-region',\r\n replaceRegion: true\r\n }\r\n };\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n 'click .clear-filters': 'onClickClearFilters'\r\n };\r\n }\r\n\r\n private onClickClearFilters(): void {\r\n FilterHelper.clearFilters(this.collection);\r\n\r\n Radio.channel(this.options.channelName).trigger(EventNames.Filters.FILTER_CHANGED);\r\n\r\n this.logFilterResetAction();\r\n }\r\n\r\n private getVisibleFilters(): FilterCollection {\r\n return new FilterCollection(this.collection.filter((f: Filter) => (\r\n !f.get('showInMoreFilters') && FilterHelper.showFilter(f)\r\n )));\r\n }\r\n\r\n private getMoreFilters(): FilterCollection {\r\n return new FilterCollection(this.collection.filter((f: Filter) => (\r\n f.get('showInMoreFilters') && FilterHelper.showFilter(f)\r\n )));\r\n }\r\n\r\n private hasFiltersSelected(): boolean {\r\n return this.collection.some(f => FilterHelper.isSelected(f));\r\n }\r\n\r\n private logFilterResetAction(): void {\r\n const analyticsOptions = {\r\n location: LocationContext.SearchFilters,\r\n actionType: UserAction.Filter,\r\n descriptor: FilterDescriptor.Reset,\r\n entity: EntityType.Video,\r\n workflowPhase: WorkflowPhase.Complete\r\n };\r\n\r\n const data = {\r\n type: 'All',\r\n active: false\r\n };\r\n\r\n AnalyticsHelper.logUserAction(data, analyticsOptions);\r\n }\r\n\r\n private renderFilterList(): void {\r\n const component = new FilterButtonListComponent({\r\n collection: this.getVisibleFilters(),\r\n channelName: this.options.channelName\r\n });\r\n\r\n this.showChildView('filterList', component);\r\n }\r\n\r\n private renderMoreFilters(): void {\r\n const component = new MoreFiltersButtonComponent({\r\n collection: this.getMoreFilters(),\r\n channelName: this.options.channelName\r\n });\r\n\r\n this.showChildView('moreFilters', component);\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n labelClass: styles.label,\r\n hasFiltersSelected: this.collection && this.hasFiltersSelected(),\r\n clearFiltersClass: styles.clearFilters\r\n };\r\n }\r\n\r\n public onBeforeRender(): boolean {\r\n return !!this.collection;\r\n }\r\n\r\n public onRender(): void {\r\n this.renderFilterList();\r\n this.renderMoreFilters();\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, alias2=container.lambda, alias3=container.escapeExpression;\n\n return \"<button class=\\\"\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.buttonClass : stack1), depth0))\n + \" dropdown-btn cursor-pointer\\\" type=\\\"button\\\" data-toggle=\\\"dropdown\\\" aria-haspopup=\\\"true\\\" aria-expanded=\\\"false\\\">\\r\\n \"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.label : stack1), depth0))\n + \"\\r\\n</button>\\r\\n<div class=\\\"dropdown-menu \"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.dropdownMenu : stack1), depth0))\n + \" p-2 filter-region\\\"></div>\";\n},\"useData\":true});","import * as _ from 'underscore';\r\nimport { 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 { FilterTypes } from 'libs/shared/apps/search/enums/FilterTypes';\r\nimport { AnalyticsOptions, WorkflowPhase, UserAction, FilterDescriptor } from 'libs/analytics/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\n\r\nimport { EventNames } from 'shared/constants';\r\n\r\nimport { Filter } from 'apps/search/models';\r\nimport { FilterHelper } from 'apps/search/utils';\r\nimport { FilterListComponent } from 'apps/search/components/filters/filter-list/FilterListComponent';\r\nimport styles from 'apps/search/components/filters/filters.scss';\r\n\r\nimport FilterButtonItemTemplate from './FilterButtonItem.hbs';\r\n\r\ninterface FilterButtonItemComponentOptions extends Core.ComponentOptions<Filter> {\r\n analyticsOptions?: AnalyticsOptions;\r\n}\r\n\r\nexport class FilterButtonItemComponent extends Core.Component<Filter> {\r\n public options: FilterButtonItemComponentOptions;\r\n private initialFilter: Filter;\r\n\r\n constructor(options?: FilterButtonItemComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.getViewModel();\r\n this.setInitialFilter();\r\n this.bindListeners();\r\n }\r\n\r\n public get name(): string {\r\n return 'FilterButtonItemComponent';\r\n }\r\n\r\n public get template(): string {\r\n return FilterButtonItemTemplate;\r\n }\r\n\r\n public get className(): string {\r\n return `d-inline-block m-1`;\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 viewModelName(): string {\r\n return `${this.name}:${this.model.get('type')}`;\r\n }\r\n\r\n public get elements(): ObjectHash {\r\n return {\r\n dropdownToggle: '.dropdown-btn'\r\n };\r\n }\r\n\r\n public regions(): ObjectHash {\r\n return {\r\n filter: {\r\n el: '.filter-region',\r\n replaceElement: false\r\n }\r\n };\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n 'hide.bs.dropdown': 'onHideDropdown',\r\n 'show.bs.dropdown': 'onShowDropdown'\r\n };\r\n }\r\n\r\n private getViewModel(): void {\r\n this.viewModel = ViewModelService.get(this.viewModelName);\r\n }\r\n\r\n private bindListeners(): void {\r\n this.listenTo(this.channelName, EventNames.Filters.APPLY_FILTER, this.onClickApplyFilter);\r\n this.listenTo(this.channelName, 'reset:filters', this.logFilterResetAction);\r\n }\r\n\r\n private setInitialFilter(): void {\r\n this.initialFilter = new Filter(this.model.toJSON());\r\n }\r\n\r\n private onClickApplyFilter(): void {\r\n if (!this.viewModel.get('dropdownVisible'))\r\n return;\r\n\r\n this.viewModel.set({ applyClicked: true });\r\n\r\n this.toggleDropdown();\r\n }\r\n\r\n private onShowDropdown(): void {\r\n this.viewModel.set('dropdownVisible', true);\r\n }\r\n\r\n private onHideDropdown(): void {\r\n const applyClicked = this.viewModel.get('applyClicked');\r\n\r\n this.viewModel.unset('applyClicked');\r\n\r\n this.viewModel.set('dropdownVisible', false);\r\n\r\n this.applyFilter(!!applyClicked);\r\n }\r\n\r\n private toggleDropdown(): void {\r\n this.getUI('dropdownToggle').dropdown('toggle');\r\n }\r\n\r\n private applyFilter(applyClicked: boolean): void {\r\n if (!FilterHelper.hasFilterChanged(this.initialFilter, this.model)) return;\r\n if (this.model.get('type') === FilterTypes.Tags) return;\r\n\r\n this.setInitialFilter();\r\n\r\n Radio.channel(this.options.channelName).trigger(EventNames.Filters.FILTER_CHANGED);\r\n\r\n this.logFilterApplyAction(applyClicked);\r\n }\r\n\r\n private getLabel(): string {\r\n if (!FilterHelper.isSelected(this.model))\r\n return this.model.get('title');\r\n\r\n return FilterHelper.getFilterLabel(this.model);\r\n }\r\n\r\n private getButtonClass(): string {\r\n let className = `btn ${styles.filterButton}`;\r\n\r\n if (FilterHelper.isSelected(this.model))\r\n className += ' btn-info';\r\n else\r\n className += ' btn-light';\r\n\r\n return className;\r\n }\r\n\r\n private logFilterApplyAction(applyClicked: boolean): void {\r\n const analyticsOptions = AnalyticsHelper.mergeOptions(this.options.analyticsOptions, {\r\n actionType: UserAction.Filter,\r\n workflowPhase: WorkflowPhase.Complete\r\n });\r\n\r\n const data = {\r\n type: this.model.get('title'),\r\n value: FilterHelper.getFilterSelectedOptionsAnalyticsData(this.model),\r\n applyClicked\r\n };\r\n\r\n AnalyticsHelper.logUserAction(data, analyticsOptions);\r\n }\r\n\r\n private logFilterResetAction(): void {\r\n const analyticsOptions = AnalyticsHelper.mergeOptions(this.options.analyticsOptions, {\r\n actionType: UserAction.Filter,\r\n descriptor: FilterDescriptor.Reset,\r\n workflowPhase: WorkflowPhase.Complete\r\n });\r\n\r\n const data = {\r\n type: this.model.get('title')\r\n };\r\n\r\n AnalyticsHelper.logUserAction(data, analyticsOptions);\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n styles,\r\n label: this.getLabel(),\r\n buttonClass: this.getButtonClass()\r\n };\r\n }\r\n\r\n private renderFilter(): void {\r\n this.showChildView('filter', new FilterListComponent({\r\n collection: new Core.Collection([this.model]),\r\n channelName: this.channelName\r\n }));\r\n }\r\n\r\n public onRender(): void {\r\n this.renderFilter();\r\n\r\n if (this.viewModel.get('dropdownVisible'))\r\n this.toggleDropdown();\r\n }\r\n}","import { ObjectHash } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport { LocationContext, EntityType } from 'libs/analytics/interfaces';\r\n\r\nimport { FilterButtonItemComponent } from 'apps/search/components/filters';\r\n\r\ninterface FilterButtonListComponentOptions extends Core.ComponentOptions {\r\n /**\r\n * Redefining channelName as non nullable so that it must be provided.\r\n */\r\n channelName: string;\r\n}\r\n\r\nexport class FilterButtonListComponent extends Core.ComponentCollection {\r\n public options: FilterButtonListComponentOptions;\r\n\r\n constructor(options: FilterButtonListComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'FilterListComponent';\r\n }\r\n\r\n public get tagName(): string {\r\n return 'ul';\r\n }\r\n\r\n public get className(): string {\r\n return 'm-0 p-0';\r\n }\r\n\r\n public get childView(): typeof FilterButtonItemComponent {\r\n return FilterButtonItemComponent;\r\n }\r\n public get childViewOptions(): ObjectHash {\r\n return {\r\n channelName: this.options.channelName,\r\n analyticsOptions: {\r\n location: LocationContext.SearchFilters,\r\n entity: EntityType.Video\r\n }\r\n };\r\n }\r\n}","export * from './FilterButtonListComponent';\r\nexport * from './FilterButtonItemComponent';","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;\n\n return \"<h6 class=\\\"mb-0\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.title || (depth0 != null ? depth0.title : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{\"name\":\"title\",\"hash\":{},\"data\":data}) : helper)))\n + \"</h6>\\r\\n<div class=\\\"options-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 { Filter } from 'apps/search/models';\r\nimport { FilterOptionsComponent } from 'apps/search/components/filters';\r\n\r\nimport FilterItemTemplate from './FilterItem.hbs';\r\n\r\ninterface FilterItemComponentOptions extends Core.ComponentOptions<Filter> {\r\n channelName: string;\r\n}\r\n\r\nexport class FilterItemComponent extends Core.Component<Filter> {\r\n public options: FilterItemComponentOptions;\r\n\r\n constructor(options: FilterItemComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'FilterItemComponent';\r\n }\r\n\r\n public get template(): string {\r\n return FilterItemTemplate;\r\n }\r\n\r\n public get className(): string {\r\n return 'py-1';\r\n }\r\n\r\n public regions(): ObjectHash {\r\n return {\r\n options: {\r\n el: '.options-region',\r\n replaceElement: true\r\n }\r\n };\r\n }\r\n\r\n private renderOptions(): void {\r\n this.showChildView('options', new FilterOptionsComponent({\r\n collection: this.model.options,\r\n model: this.model,\r\n channelName: this.options.channelName\r\n }));\r\n }\r\n\r\n public onRender(): void {\r\n this.renderOptions();\r\n }\r\n}","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 \" <a class=\\\"clear-filters float-left text-muted hover-text-underline cursor-pointer\\\">\"\n + container.escapeExpression((helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),\"reset\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</a>\\r\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n var alias1=container.propertyIsEnumerable;\n\n return \" <a class=\\\"apply-filters d-block text-right info-link\\\">\"\n + container.escapeExpression((helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),\"apply\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</a>\\r\\n\";\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=\\\"filter-list-region\\\"></div>\\r\\n<div>\\r\\n\"\n + ((stack1 = helpers[\"if\"].call(alias2,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.showClearFilters : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + ((stack1 = helpers[\"if\"].call(alias2,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.showApplyFilters : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"</div>\";\n},\"useData\":true});","import * as _ from 'underscore';\r\nimport { ObjectHash, Radio } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { FilterTypes } from 'libs/shared/apps/search/enums/FilterTypes';\r\n\r\nimport { EventNames } from 'shared/constants';\r\n\r\nimport { FilterHelper } from 'apps/search/utils';\r\nimport { SearchRadioChannels } from 'apps/search/constants';\r\n\r\nimport { FilterItemComponent } from './FilterItemComponent';\r\nimport FilterListTemplate from './FilterList.hbs';\r\n\r\nexport class FilterListComponent extends Core.Component {\r\n public initialize(): void {\r\n this.bindListeners();\r\n }\r\n\r\n public get name(): string {\r\n return 'FilterListComponent';\r\n }\r\n\r\n public get template(): string {\r\n return FilterListTemplate;\r\n }\r\n\r\n public get lang(): string {\r\n return 'search.filterList';\r\n }\r\n\r\n public get className(): string {\r\n return 'px-1';\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 filterList: {\r\n el: '.filter-list-region',\r\n replaceElement: true\r\n }\r\n };\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n 'click' : 'onClick',\r\n 'click .apply-filters': 'onClickApplyFilters',\r\n 'click .clear-filters': 'onClickClearFilters',\r\n };\r\n }\r\n\r\n private bindListeners(): void {\r\n this.listenTo(this.channelName, EventNames.Filters.OPTION_SELECTED, this.render);\r\n }\r\n\r\n /**\r\n * Stop event propagation so that the dropdown doesn't close.\r\n */\r\n private onClick(e: JQueryEventObject): void {\r\n e.stopPropagation();\r\n }\r\n\r\n private onClickApplyFilters(e: JQueryEventObject): void {\r\n e.stopPropagation();\r\n\r\n this.applyFilters();\r\n\r\n this.render();\r\n }\r\n\r\n private onClickClearFilters(e: JQueryEventObject): void {\r\n e.stopPropagation();\r\n\r\n Radio.channel(this.options.channelName).trigger('reset:filters');\r\n\r\n FilterHelper.clearFilters(this.collection);\r\n\r\n if (this.isTagFilterType())\r\n Radio.channel(SearchRadioChannels.TagFilter).trigger('change:relevant:tags');\r\n\r\n this.render();\r\n }\r\n\r\n private applyFilters(): void {\r\n Radio.channel(this.options.channelName).trigger(EventNames.Filters.APPLY_FILTER);\r\n }\r\n\r\n private hasFiltersSelected(): boolean {\r\n return this.collection.some(f => FilterHelper.isSelected(f));\r\n }\r\n\r\n private isTagFilterType(): boolean {\r\n return !!this.collection.findWhere({ type: FilterTypes.Tags });\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n showApplyFilters: !this.isTagFilterType(),\r\n showClearFilters: this.hasFiltersSelected()\r\n };\r\n }\r\n\r\n public onRender(): void {\r\n this.showChildView('filterList', new FilterComponentCollection({\r\n collection: this.collection,\r\n channelName: this.channelName\r\n }));\r\n }\r\n}\r\n\r\ninterface FilterComponentCollectionOptions extends Core.ComponentCollectionOptions {\r\n channelName: string;\r\n}\r\n\r\nclass FilterComponentCollection extends Core.ComponentCollection {\r\n public options: FilterComponentCollectionOptions;\r\n\r\n constructor(options: FilterComponentCollectionOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'FilterComponentCollection';\r\n }\r\n\r\n public get tagName(): string {\r\n return 'ul';\r\n }\r\n\r\n public get className(): string {\r\n return 'm-0 p-0';\r\n }\r\n\r\n public get childView(): typeof FilterItemComponent {\r\n return FilterItemComponent;\r\n }\r\n\r\n public get childViewOptions(): ObjectHash {\r\n return {\r\n channelName: this.options.channelName\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 return \"<div class=\\\"option-list-region\\\"></div>\";\n},\"useData\":true});","import { ObjectHash, Radio } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\nimport { FilterTypes } from 'libs/shared/apps/search/enums/FilterTypes';\r\n\r\nimport FilterOptionsComponentTemplate from './FilterOptions.hbs';\r\nimport { FilterOptionsListComponent } from 'apps/search/components/filters';\r\nimport { Option, Filter } from 'apps/search/models';\r\nimport { FilterHelper, FilterBehaviorTypes } from 'apps/search/utils';\r\nimport { EventNames } from 'shared/constants';\r\nimport {\r\n BoolFilterOptionsComponent,\r\n RangeFilterOptionListComponent,\r\n DurationFilterOptionListComponent,\r\n TagFilterOptionsComponent\r\n} from 'apps/search/components/filters/filter-options';\r\n\r\ntype FilterOptionsChild = Core.ViewCtor<FilterOptionsListComponent>\r\n | Core.ViewCtor<BoolFilterOptionsComponent>\r\n | Core.ViewCtor<RangeFilterOptionListComponent>\r\n | Core.ViewCtor<DurationFilterOptionListComponent>\r\n | Core.ViewCtor<TagFilterOptionsComponent>;\r\n\r\ninterface FilterOptionsComponentOptions extends Core.ComponentOptions<Filter> {\r\n channelName: string;\r\n}\r\n\r\nexport class FilterOptionsComponent extends Core.Component<Filter> {\r\n public options: FilterOptionsComponentOptions;\r\n\r\n constructor(options: FilterOptionsComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.bindListeners();\r\n }\r\n\r\n public get name(): string {\r\n return 'FilterOptionsComponent';\r\n }\r\n\r\n public get template(): string {\r\n return FilterOptionsComponentTemplate;\r\n }\r\n\r\n public get className(): string {\r\n return 'py-1';\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 optionsList: '.option-list-region'\r\n };\r\n }\r\n\r\n private bindListeners(): void {\r\n this.listenTo(this.channelName, EventNames.Filters.OPTION_SELECTED, this.onChangeOption);\r\n }\r\n\r\n private onChangeOption(selectedOption?: Option, preventRender?: boolean): void {\r\n if (selectedOption && this.isInclusiveType())\r\n this.onChangeInclusiveOption(selectedOption);\r\n\r\n if (selectedOption && this.isExclusiveType())\r\n this.onChangeExclusiveOption(selectedOption);\r\n\r\n if (selectedOption && this.isRangeType())\r\n this.onChangeRangeOption(selectedOption);\r\n\r\n if (selectedOption && this.isTagType())\r\n this.onChangeTagOption(selectedOption);\r\n\r\n if (preventRender) return;\r\n\r\n Radio.channel(this.options.channelName).trigger(EventNames.Filters.OPTION_SELECTED);\r\n\r\n this.render();\r\n }\r\n\r\n private onChangeInclusiveOption(selectedOption: Option): void {\r\n selectedOption.set('active', !selectedOption.get('active'));\r\n }\r\n\r\n private onChangeExclusiveOption(selectedOption: Option): void {\r\n FilterHelper.clearOptions(this.model);\r\n selectedOption.set('active', true);\r\n }\r\n\r\n private onChangeRangeOption(selectedOption: Option): void {\r\n FilterHelper.clearOptions(this.model);\r\n\r\n this.collection.each(o => {\r\n if (o.get('value') <= selectedOption.get('value'))\r\n o.set('active', true);\r\n });\r\n }\r\n\r\n private onChangeTagOption(tagOption: Option): void {\r\n const tagModel = this.collection.findWhere({ name: tagOption.get('name') });\r\n tagModel.set('active', !tagModel.get('active'));\r\n }\r\n\r\n private isBooleanType(): boolean {\r\n return this.model.get('behavior') === FilterBehaviorTypes.Boolean;\r\n }\r\n\r\n private isInclusiveType(): boolean {\r\n return this.model.get('behavior') === FilterBehaviorTypes.Inclusive;\r\n }\r\n\r\n private isExclusiveType(): boolean {\r\n return this.model.get('behavior') === FilterBehaviorTypes.Exclusive;\r\n }\r\n\r\n private isRangeType(): boolean {\r\n return this.model.get('behavior') === FilterBehaviorTypes.Range;\r\n }\r\n\r\n private isTagType(): boolean {\r\n return this.model.get('behavior') === FilterBehaviorTypes.Tag;\r\n }\r\n\r\n public getChildComponent(): FilterOptionsChild {\r\n if (this.model.get('type') === FilterTypes.Duration)\r\n return DurationFilterOptionListComponent;\r\n\r\n if (this.isTagType())\r\n return TagFilterOptionsComponent;\r\n\r\n if (this.isRangeType())\r\n return RangeFilterOptionListComponent;\r\n\r\n if (this.isBooleanType())\r\n return BoolFilterOptionsComponent;\r\n\r\n return FilterOptionsListComponent;\r\n }\r\n\r\n private renderOptionsList(): void {\r\n this.showChildView('optionsList', new (this.getChildComponent())({\r\n collection: this.collection,\r\n model: this.model,\r\n channelName: this.channelName,\r\n isExclusiveType: this.isExclusiveType()\r\n }));\r\n }\r\n\r\n public onRender(): void {\r\n this.renderOptionsList();\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, helper, alias1=container.propertyIsEnumerable, alias2=depth0 != null ? depth0 : (container.nullContext || {});\n\n return \"<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<p>\"\n + container.escapeExpression(((helper = (helper = helpers.description || (depth0 != null ? depth0.description : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === \"function\" ? helper.call(alias2,{\"name\":\"description\",\"hash\":{},\"data\":data}) : helper)))\n + \"</p>\";\n},\"useData\":true});","import { ObjectHash, Radio } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport { EventNames } from 'shared/constants';\r\n\r\nimport BoolFilterOptionsTemplate from './BoolFilterOptions.hbs';\r\n\r\ninterface BoolFilterOptionsComponentOptions extends Core.ComponentOptions {\r\n channelName: string;\r\n}\r\n\r\nexport class BoolFilterOptionsComponent extends Core.Component {\r\n public options: BoolFilterOptionsComponentOptions;\r\n\r\n constructor(options: BoolFilterOptionsComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'BoolFilterOptionComponent';\r\n }\r\n\r\n public get template(): string {\r\n return BoolFilterOptionsTemplate;\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n 'click .toggle-option': 'onClickToggleOption'\r\n };\r\n }\r\n\r\n private onClickToggleOption(e: JQueryEventObject): void {\r\n e.stopPropagation();\r\n\r\n this.model.set('active', !this.model.get('active'));\r\n\r\n Radio.channel(this.options.channelName).trigger(EventNames.Filters.OPTION_SELECTED);\r\n\r\n this.render();\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n isSelected: this.model.get('active')\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, alias3=depth0 != null ? depth0 : (container.nullContext || {}), alias4=container.hooks.helperMissing, alias5=\"function\";\n\n return \"<button type=\\\"button\\\" class=\\\"d-block option-btn w-100 \"\n + alias2(container.lambda(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.buttonClass : stack1), depth0))\n + \"\\\">\\r\\n \"\n + alias2(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : alias4),(typeof helper === alias5 ? helper.call(alias3,{\"name\":\"name\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\r\\n</button>\\r\\n<div class=\\\"text-center\\\">\"\n + alias2(((helper = (helper = helpers.description || (depth0 != null ? depth0.description : depth0)) != null ? helper : alias4),(typeof helper === alias5 ? helper.call(alias3,{\"name\":\"description\",\"hash\":{},\"data\":data}) : helper)))\n + \"</div>\";\n},\"useData\":true});","import { ObjectHash, Radio } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport DurationFilterOptionItemTemplate from './DurationFilterOptionItem.hbs';\r\n\r\nimport styles from './duration-filter-options.scss';\r\nimport { EventNames } from 'shared/constants';\r\n\r\nexport class DurationFilterOptionListComponent extends Core.ComponentCollection {\r\n public options: Core.ComponentCollectionOptions;\r\n\r\n public get name(): string {\r\n return 'DurationFilterOptionComponentCollection';\r\n }\r\n\r\n public get childView(): typeof DurationFilterOptionItemComponent {\r\n return DurationFilterOptionItemComponent;\r\n }\r\n\r\n public get className(): string {\r\n return styles.options;\r\n }\r\n\r\n private getOptionItemClassName(): string {\r\n let className = styles.optionItem;\r\n\r\n if (this.collection.length === 4)\r\n className += ` ${styles.customOptionItem}`;\r\n\r\n return className;\r\n }\r\n\r\n public get childViewOptions(): DurationFilterOptionItemComponentOptions {\r\n return {\r\n channelName: this.options.channelName,\r\n optionItemClassName: this.getOptionItemClassName()\r\n };\r\n }\r\n}\r\n\r\ninterface DurationFilterOptionItemComponentOptions extends Core.ComponentOptions{\r\n optionItemClassName: string;\r\n channelName: string;\r\n}\r\n\r\nclass DurationFilterOptionItemComponent extends Core.Component {\r\n protected options: DurationFilterOptionItemComponentOptions;\r\n\r\n constructor(options: DurationFilterOptionItemComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'DurationFilterItemComponent';\r\n }\r\n\r\n public get template(): string {\r\n return DurationFilterOptionItemTemplate;\r\n }\r\n\r\n public get className(): string {\r\n return `d-inline-block p-1 ${this.options.optionItemClassName}`;\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n 'click .option-btn': 'onClickOption'\r\n };\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n buttonClass: this.getButtonClass()\r\n };\r\n }\r\n\r\n private onClickOption(e: JQueryEventObject): void {\r\n e.stopPropagation();\r\n\r\n const channel = Radio.channel(this.options.channelName);\r\n channel.trigger(EventNames.Filters.OPTION_SELECTED, this.model);\r\n }\r\n\r\n private isSelected(): boolean {\r\n return this.model.get('active');\r\n }\r\n\r\n private getButtonClass(): string {\r\n let className = `btn ${styles.optionButton} p-1`;\r\n\r\n if (this.isSelected())\r\n className += ' btn-info';\r\n else\r\n className += ' btn-light';\r\n\r\n return className;\r\n }\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"optionItem\":\"cv--optionItem--3jzt0\",\"customOptionItem\":\"cv--customOptionItem--78r7L\",\"selected\":\"cv--selected--aFhSG\"};","var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n return \" checked\";\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 \"<div class=\\\"custom-control custom-\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.inputType : stack1), depth0))\n + \"\\\">\\r\\n <input type=\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.inputType : stack1), depth0))\n + \" autocomplete=\\\"off\\\" class=\\\"custom-control-input\\\"\"\n + ((stack1 = helpers[\"if\"].call(alias4,(depth0 != null ? depth0.active : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \">\\r\\n <label class=\\\"custom-control-label align-middle cursor-pointer\\\">\"\n + alias3(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === \"function\" ? helper.call(alias4,{\"name\":\"name\",\"hash\":{},\"data\":data}) : helper)))\n + \"</label>\\r\\n</div>\";\n},\"useData\":true});","import { ObjectHash, Radio } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport FilterOptionItemComponentTemplate from './FilterOptionItem.hbs';\r\nimport { EventNames } from 'shared/constants';\r\n\r\nexport interface FilterOptionItemComponentOptions extends Core.ComponentOptions {\r\n isExclusiveType: boolean;\r\n customClassName?: string;\r\n}\r\n\r\nexport class FilterOptionItemComponent extends Core.Component {\r\n public options: FilterOptionItemComponentOptions;\r\n\r\n constructor(options?: FilterOptionItemComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.bindListeners();\r\n }\r\n\r\n public get name(): string {\r\n return 'FilterOptionItemComponent';\r\n }\r\n\r\n public get template(): string {\r\n return FilterOptionItemComponentTemplate;\r\n }\r\n\r\n public get className(): string {\r\n return 'filter-option-item py-1 cursor-pointer';\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n click: 'onClick'\r\n };\r\n }\r\n\r\n private bindListeners(): void {\r\n this.listenTo(this.model, 'change', this.render);\r\n }\r\n\r\n private onClick(e: JQuery.Event): void {\r\n e.stopPropagation();\r\n\r\n const channel = Radio.channel(this.options.channelName);\r\n channel.trigger(EventNames.Filters.OPTION_SELECTED, this.model);\r\n }\r\n\r\n private getInputType(): string {\r\n return this.options.isExclusiveType\r\n ? 'radio'\r\n : 'checkbox';\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n inputType: this.getInputType()\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 \"<div class=\\\"default-option py-1\\\">\\r\\n <div class=\\\"custom-control custom-\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.inputType : stack1), depth0))\n + \"\\\">\\r\\n <input type=\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.inputType : stack1), depth0))\n + \" autocomplete=\\\"off\\\" class=\\\"custom-control-input\\\"\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.defaultOptionSelected : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(2, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \">\\r\\n <label class=\\\"custom-control-label align-middle cursor-pointer\\\">\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.defaultOptionLabel : stack1), depth0))\n + \"</label>\\r\\n </div>\\r\\n</div>\\r\\n\";\n},\"2\":function(container,depth0,helpers,partials,data) {\n return \" checked\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.defaultOptionLabel : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"<div class=\\\"options-region\\\"></div>\";\n},\"useData\":true});","import * as _ from 'underscore';\r\nimport { Radio } from 'backbone';\r\nimport { ObjectHash } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport { EventNames } from 'shared/constants';\r\n\r\nimport FilterOptionsListTemplate from './FilterOptionsList.hbs';\r\n\r\nimport { FilterOptionItemComponentOptions, FilterOptionItemComponent } from 'apps/search/components/filters';\r\nimport { FilterHelper, FilterBehaviorTypes } from 'apps/search/utils';\r\n\r\ninterface FilterOptionsListComponentOptions extends Core.ComponentOptions {\r\n isExclusiveType: boolean;\r\n channelName: string;\r\n}\r\n\r\nexport class FilterOptionsListComponent extends Core.Component {\r\n public options: FilterOptionsListComponentOptions;\r\n\r\n constructor(options?: FilterOptionsListComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'FilterOptionsListComponent';\r\n }\r\n\r\n public get template(): string {\r\n return FilterOptionsListTemplate;\r\n }\r\n\r\n public regions(): ObjectHash {\r\n return {\r\n options: '.options-region'\r\n };\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n 'click .default-option': 'onClickDefaultOption'\r\n };\r\n }\r\n\r\n private onClickDefaultOption(e: JQueryEventObject): void {\r\n e.stopPropagation();\r\n\r\n this.model.get('behavior') === FilterBehaviorTypes.Inclusive\r\n ? FilterHelper.selectAllOptions(this.model)\r\n : FilterHelper.clearOptions(this.model);\r\n\r\n Radio.channel(this.options.channelName).trigger(EventNames.Filters.OPTION_SELECTED);\r\n\r\n this.render();\r\n }\r\n\r\n private defaultOptionSelected(): boolean {\r\n return this.model.get('behavior') === FilterBehaviorTypes.Inclusive\r\n ? FilterHelper.allOptionsSelected(this.model)\r\n : !FilterHelper.hasOptionSelected(this.model);\r\n }\r\n\r\n private getInputType(): string {\r\n return this.options.isExclusiveType\r\n ? 'radio'\r\n : 'checkbox';\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n inputType: this.getInputType(),\r\n defaultOptionSelected: this.defaultOptionSelected(),\r\n defaultOptionLabel: this.model.get('defaultOptionLabel')\r\n };\r\n }\r\n\r\n private renderOptions(): void {\r\n this.showChildView('options', new FilterOptionComponentCollection({\r\n collection: this.collection,\r\n childOptions: {\r\n channelName: this.options.channelName,\r\n isExclusiveType: this.options.isExclusiveType\r\n }\r\n }));\r\n }\r\n\r\n public onRender(): void {\r\n this.renderOptions();\r\n }\r\n}\r\n\r\ninterface FilterOptionComponentCollectionOptions extends Core.ComponentCollectionOptions {\r\n childOptions: FilterOptionItemComponentOptions;\r\n}\r\n\r\nclass FilterOptionComponentCollection extends Core.ComponentCollection {\r\n public options: FilterOptionComponentCollectionOptions;\r\n\r\n constructor(options?: FilterOptionComponentCollectionOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'FilterOptionComponentCollection';\r\n }\r\n\r\n public get childView(): any {\r\n return FilterOptionItemComponent;\r\n }\r\n\r\n public get childViewOptions(): FilterOptionItemComponentOptions {\r\n return this.options.childOptions;\r\n }\r\n}","export * from './FilterOptionsComponent';\r\nexport * from './filter-option-list/FilterOptionsListComponent';\r\nexport * from './filter-option-list/FilterOptionItemComponent';\r\nexport * from './bool-filter-options/BoolFilterOptionsComponent';\r\nexport * from './range-filter-options/RangeFilterOptionListComponent';\r\nexport * from './duration-filter-options/DurationFilterOptionListComponent';\r\nexport * from './tag-filter-options/TagFilterOptionsComponent';","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;\n\n return container.escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{\"name\":\"name\",\"hash\":{},\"data\":data}) : helper)));\n},\"useData\":true});","import { ObjectHash, Radio } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport RangeFilterOptionItemTemplate from './RangeFilterOptionItem.hbs';\r\nimport styles from './range-filter-item.scss';\r\nimport { EventNames } from 'shared/constants';\r\n\r\nexport class RangeFilterOptionListComponent extends Core.ComponentCollection {\r\n public options: Core.ComponentCollectionOptions;\r\n\r\n public get name(): string {\r\n return 'RatingFilterOptionComponentCollection';\r\n }\r\n\r\n public get className(): string {\r\n return `btn-group ${styles.options} py-2`;\r\n }\r\n\r\n public get attributes(): ObjectHash {\r\n return {\r\n role: 'group'\r\n };\r\n }\r\n\r\n public get childView(): typeof RatingFilterOptionItemComponent {\r\n return RatingFilterOptionItemComponent;\r\n }\r\n\r\n public get childViewOptions(): ObjectHash {\r\n return {\r\n channelName: this.options.channelName\r\n };\r\n }\r\n}\r\n\r\nclass RatingFilterOptionItemComponent extends Core.Component {\r\n public get name(): string {\r\n return 'RatingFilterOptionItemComponent';\r\n }\r\n\r\n public get template(): string {\r\n return RangeFilterOptionItemTemplate;\r\n }\r\n\r\n public get tagName(): string {\r\n return 'button';\r\n }\r\n\r\n public get className(): string {\r\n const baseClassName = `${styles.option} border btn btn-`;\r\n\r\n return this.isSelected()\r\n ? `${baseClassName}info`\r\n : `${baseClassName}light`;\r\n }\r\n\r\n public get attributes(): ObjectHash {\r\n return {\r\n type: 'button',\r\n title: this.model.get('fullName')\r\n };\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n click: 'onClick'\r\n };\r\n }\r\n\r\n private onClick(e: JQueryEventObject): void {\r\n e.stopPropagation();\r\n\r\n const channel = Radio.channel(this.options.channelName);\r\n channel.trigger(EventNames.Filters.OPTION_SELECTED, this.model);\r\n }\r\n\r\n private isSelected(): boolean {\r\n return this.model.get('active');\r\n }\r\n\r\n public onRender(): void {\r\n this.$el.tooltip();\r\n }\r\n\r\n public onBeforeDestroy(): void {\r\n this.$el.tooltip('dispose');\r\n }\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"options\":\"cv--options--6o30E\",\"option\":\"cv--option--3yReT\"};","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 \"<p class=\\\"mb-0\\\">\"\n + container.escapeExpression((helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),\"emptyState\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</p>\\r\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n return \"<div class=\\\"dropdown-divider\\\"></div>\\r\\n\";\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 ((stack1 = helpers[\"if\"].call(alias2,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.showEmptyState : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\r\\n<div class=\\\"selected-tags-region\\\"></div>\\r\\n\"\n + ((stack1 = helpers[\"if\"].call(alias2,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.useDivider : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"<div class=\\\"relevant-tags-region\\\"></div>\";\n},\"useData\":true});","import * as _ from 'underscore';\r\nimport { ObjectHash, Radio } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport { EventNames } from 'shared/constants';\r\n\r\nimport { Option } from 'apps/search/models';\r\nimport { OptionCollection } from 'apps/search/collections';\r\nimport { FilterHelper } from 'apps/search/utils';\r\nimport { TagBehavior } from 'apps/library-editor/enums';\r\nimport { SearchRadioChannels } from 'apps/search/constants';\r\n\r\nimport styles from './tag-filter-options.scss';\r\nimport TagFilterOptionsTemplate from './TagFilterOptions.hbs';\r\nimport { TagFilterOptionsListComponent } from './TagFilterOptionsListComponent';\r\n\r\nconst MAX_RELEVANT_TAGS = 5;\r\n\r\ninterface TagFilterOptionsComponentOptions extends Core.ComponentOptions {\r\n channelName: string;\r\n}\r\n\r\nexport class TagFilterOptionsComponent extends Core.Component {\r\n public options: TagFilterOptionsComponentOptions;\r\n\r\n private relevantTags: OptionCollection;\r\n\r\n constructor(options: TagFilterOptionsComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.bindListeners();\r\n\r\n this.setRelevantTags();\r\n }\r\n\r\n public get name(): string {\r\n return 'TagFilterOptionsComponent';\r\n }\r\n\r\n public get template(): string {\r\n return TagFilterOptionsTemplate;\r\n }\r\n\r\n public get lang(): string {\r\n return 'search.tagFilterOptions';\r\n }\r\n\r\n public get className(): string {\r\n return `${styles.container}`;\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 selectedTags: {\r\n el: '.selected-tags-region',\r\n replaceElement: true\r\n },\r\n relevantTags: {\r\n el: '.relevant-tags-region',\r\n replaceElement: true\r\n }\r\n };\r\n }\r\n\r\n private bindListeners(): void {\r\n this.listenTo(this.channelName, 'on:option:change', this.onChange);\r\n }\r\n\r\n private onChange(tag: Option): void {\r\n Radio.channel(this.options.channelName)\r\n .trigger(EventNames.Filters.OPTION_SELECTED, tag, true);\r\n\r\n Radio.channel(SearchRadioChannels.TagFilter)\r\n .trigger('change:relevant:tags');\r\n\r\n this.relevantTags = null; // Set partial loading\r\n\r\n this.render();\r\n }\r\n\r\n private setRelevantTags(): void {\r\n const selectedTagIds = FilterHelper.getSelectedOptions(this.collection).map((t: Option) => t.get('id'));\r\n\r\n // if no relevant tags have been fetched yet, render partial loading\r\n if (this.collection.length === selectedTagIds.length) {\r\n this.relevantTags = null;\r\n return;\r\n }\r\n\r\n this.relevantTags = new OptionCollection(\r\n this.collection\r\n .filter((tag: Option) => !_.contains(selectedTagIds, tag.get('id')))\r\n .slice(0, MAX_RELEVANT_TAGS)\r\n );\r\n }\r\n\r\n private hasSelectedTags(): boolean {\r\n const selectedTags: OptionCollection = FilterHelper.getSelectedOptions(this.collection);\r\n return selectedTags && !!selectedTags.length;\r\n }\r\n\r\n private hasRelevantTags(): boolean {\r\n return _.isNull(this.relevantTags) || (this.relevantTags && !!this.relevantTags.length);\r\n }\r\n\r\n private renderSelectedTags(): void {\r\n if (!this.hasSelectedTags()) return;\r\n\r\n const selectedTags: OptionCollection = FilterHelper.getSelectedOptions(this.collection);\r\n\r\n this.showChildView('selectedTags', new TagFilterOptionsListComponent({\r\n collection: selectedTags,\r\n channelName: this.channelName,\r\n behavior: TagBehavior.Filter,\r\n removeEvent: 'on:option:change'\r\n }));\r\n }\r\n\r\n private renderRelevantTags(): void {\r\n this.showChildView('relevantTags', new TagFilterOptionsListComponent({\r\n collection: this.relevantTags,\r\n channelName: this.channelName,\r\n behavior: TagBehavior.Filter,\r\n clickEvent: 'on:option:change'\r\n }));\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n showEmptyState: !this.hasSelectedTags() && !this.hasRelevantTags(),\r\n useDivider: this.hasSelectedTags() && this.hasRelevantTags()\r\n };\r\n }\r\n\r\n public onRender(): void {\r\n this.renderSelectedTags();\r\n this.renderRelevantTags();\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 return \"<div class=\\\"tags-region\\\"></div>\";\n},\"useData\":true});","import * as _ from 'underscore';\r\nimport { ObjectHash } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport { PartialLoading } from 'shared/enums';\r\n\r\nimport { TagComponentCollection } from 'apps/library-editor/components/tag-list/TagComponentCollection';\r\nimport { TagBehavior } from 'apps/library-editor/enums';\r\n\r\nimport TagFilterOptionsListTemplate from './TagFilterOptionsList.hbs';\r\n\r\ninterface TagFilterOptionsListComponentOptions extends Core.ComponentOptions {\r\n channelName: string;\r\n behavior: TagBehavior;\r\n removeEvent?: string;\r\n clickEvent?: string;\r\n}\r\n\r\nexport class TagFilterOptionsListComponent extends Core.Component {\r\n public options: TagFilterOptionsListComponentOptions;\r\n\r\n constructor(options: TagFilterOptionsListComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'TagFilterOptionsListComponent';\r\n }\r\n\r\n public get template(): string {\r\n return TagFilterOptionsListTemplate;\r\n }\r\n\r\n public regions(): ObjectHash {\r\n return {\r\n tags: {\r\n el: '.tags-region',\r\n replaceElement: true,\r\n partialLoading: PartialLoading.TagFilter\r\n }\r\n };\r\n }\r\n\r\n public onBeforeRender(): boolean {\r\n return !_.isNull(this.collection);\r\n }\r\n\r\n public onRender(): void {\r\n this.showChildView('tags', new TagComponentCollection({\r\n collection: this.collection,\r\n channelName: this.options.channelName,\r\n behavior: this.options.behavior,\r\n removeEvent: this.options.removeEvent,\r\n clickEvent: this.options.clickEvent,\r\n }));\r\n }\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"cv--container--1SMXf\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"label\":\"cv--label--3iMZr\",\"filterButton\":\"cv--filterButton--1xOts\",\"dropdownMenu\":\"cv--dropdownMenu--1Yzts\"};","export * from './FiltersComponent';\r\nexport * from './filter-button-list';\r\nexport * from './filter-options';","var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable, alias2=container.lambda, alias3=container.escapeExpression;\n\n return \"<button class=\\\"\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.buttonClass : stack1), depth0))\n + \" dropdown-btn\\\" type=\\\"button\\\" data-toggle=\\\"dropdown\\\" aria-haspopup=\\\"true\\\" aria-expanded=\\\"false\\\">\\r\\n \"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.label : stack1), depth0))\n + \"\\r\\n</button>\\r\\n<div class=\\\"dropdown-menu p-2 filters-region\\\"></div>\";\n},\"useData\":true});","\r\nimport { ObjectHash, Radio } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\nimport { ViewModelService } from 'libs/common/backbone/services/ViewModelService';\r\n\r\nimport { EventNames } from 'shared/constants';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { AnalyticsOptions, UserAction, WorkflowPhase, LocationContext, EntityType, FilterDescriptor } from 'libs/analytics/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\n\r\nimport { FilterListComponent } from 'apps/search/components/filters/filter-list/FilterListComponent';\r\nimport { FilterHelper } from 'apps/search/utils';\r\nimport { Filter } from 'apps/search/models';\r\nimport { FilterCollection } from 'apps/search/collections';\r\nimport baseStyles from 'apps/search/components/filters/filters.scss';\r\n\r\nimport MoreFiltersButtonTemplate from './MoreFiltersButton.hbs';\r\nimport styles from './more-filters-button.scss';\r\n\r\ninterface MoreFiltersButtonComponentOptions extends Core.ComponentOptions<Filter> {\r\n analyticsOptions?: AnalyticsOptions;\r\n}\r\n\r\nexport class MoreFiltersButtonComponent extends Core.Component {\r\n public options: MoreFiltersButtonComponentOptions;\r\n private initialFilters: FilterCollection;\r\n\r\n constructor(options?: MoreFiltersButtonComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.getViewModel();\r\n this.setInitialFilters();\r\n this.bindListeners();\r\n }\r\n\r\n public get name(): string {\r\n return 'MoreFiltersButtonComponent';\r\n }\r\n\r\n public get template(): string {\r\n return MoreFiltersButtonTemplate;\r\n }\r\n\r\n public get lang(): string {\r\n return 'search.moreFiltersButton';\r\n }\r\n\r\n public get className(): string {\r\n return `rounded cursor-pointer ${styles.moreFiltersButton}`;\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 viewModelName(): string {\r\n return this.name;\r\n }\r\n\r\n public get elements(): ObjectHash {\r\n return {\r\n dropdownToggle: '.dropdown-btn'\r\n };\r\n }\r\n\r\n public regions(): ObjectHash {\r\n return {\r\n filters: {\r\n el: '.filters-region',\r\n replaceElement: false\r\n }\r\n };\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n 'hide.bs.dropdown': 'onHideDropdown',\r\n 'show.bs.dropdown': 'onShowDropdown'\r\n };\r\n }\r\n\r\n private getViewModel(): void {\r\n this.viewModel = ViewModelService.get(this.viewModelName);\r\n }\r\n\r\n private bindListeners(): void {\r\n this.listenTo(this.channelName, EventNames.Filters.APPLY_FILTER, this.onClickApplyFilters);\r\n this.listenTo(this.channelName, 'reset:filters', this.logFilterResetAction);\r\n }\r\n\r\n private setInitialFilters(): void {\r\n this.initialFilters = new FilterCollection(this.collection.toJSON());\r\n }\r\n\r\n private onClickApplyFilters(): void {\r\n if (!this.viewModel.get('dropdownVisible'))\r\n return;\r\n\r\n this.viewModel.set({ applyClicked: true });\r\n\r\n this.toggleDropdown();\r\n }\r\n\r\n private onShowDropdown(): void {\r\n this.viewModel.set('dropdownVisible', true);\r\n }\r\n\r\n private onHideDropdown(): void {\r\n const applyClicked = this.viewModel.get('applyClicked');\r\n\r\n this.viewModel.unset('applyClicked');\r\n\r\n this.viewModel.set('dropdownVisible', false);\r\n\r\n this.applyFilters(!!applyClicked);\r\n }\r\n\r\n private toggleDropdown(): void {\r\n this.getUI('dropdownToggle').dropdown('toggle');\r\n }\r\n\r\n private applyFilters(applyClicked: boolean = true): void {\r\n if (!this.haveFiltersChanged()) return;\r\n\r\n this.logFilterApplyAction(applyClicked);\r\n\r\n this.setInitialFilters();\r\n\r\n Radio.channel(this.options.channelName).trigger(EventNames.Filters.FILTER_CHANGED);\r\n\r\n this.render();\r\n }\r\n\r\n private haveFiltersChanged(): boolean {\r\n return !this.collection.every((f: Filter, i) => !FilterHelper.hasFilterChanged(this.initialFilters.at(i), f));\r\n }\r\n\r\n private isSelected(): boolean {\r\n return this.collection.some(f => FilterHelper.isSelected(f));\r\n }\r\n\r\n private numSelectedFilters(): number {\r\n return this.collection.filter(f => FilterHelper.isSelected(f)).length;\r\n }\r\n\r\n private getLabel(): string {\r\n let label = LanguageService.getPhrase(this.lang, 'moreFilters');\r\n\r\n const numSelected = this.numSelectedFilters();\r\n\r\n if (numSelected)\r\n label += ` - ${numSelected}`;\r\n\r\n return label;\r\n }\r\n\r\n private getButtonClass(): string {\r\n let className = `btn ${baseStyles.filterButton}`;\r\n\r\n if (this.isSelected())\r\n className += ' btn-info';\r\n else\r\n className += ' btn-light';\r\n\r\n return className;\r\n }\r\n\r\n private logFilterApplyAction(applyClicked: boolean): void {\r\n this.collection.each((f: Filter, i) => {\r\n if (!FilterHelper.hasFilterChanged(this.initialFilters.at(i), f))\r\n return;\r\n\r\n this.logFilter(f, applyClicked);\r\n });\r\n }\r\n\r\n private logFilter(filter: Filter, applyClicked: boolean): void {\r\n const analyticsOptions = {\r\n location: LocationContext.SearchFilters,\r\n actionType: UserAction.Filter,\r\n entity: EntityType.Video,\r\n workflowPhase: WorkflowPhase.Complete\r\n };\r\n\r\n const data = {\r\n type: filter.get('title'),\r\n value: FilterHelper.getFilterSelectedOptionsAnalyticsData(filter),\r\n applyClicked\r\n };\r\n\r\n AnalyticsHelper.logUserAction(data, analyticsOptions);\r\n }\r\n\r\n private logFilterResetAction(): void {\r\n const analyticsOptions = {\r\n location: LocationContext.SearchFilters,\r\n actionType: UserAction.Filter,\r\n descriptor: FilterDescriptor.Reset,\r\n entity: EntityType.Video,\r\n workflowPhase: WorkflowPhase.Complete\r\n };\r\n\r\n const data = {\r\n type: 'More Filters'\r\n };\r\n\r\n AnalyticsHelper.logUserAction(data, analyticsOptions);\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n label: this.getLabel(),\r\n buttonClass: this.getButtonClass()\r\n };\r\n }\r\n\r\n private renderFilters(): void {\r\n this.showChildView('filters', new FilterListComponent({\r\n collection: this.collection,\r\n channelName: this.channelName\r\n }));\r\n }\r\n\r\n public onRender(): void {\r\n this.renderFilters();\r\n\r\n if (this.viewModel.get('dropdownVisible'))\r\n this.toggleDropdown();\r\n }\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"moreFiltersButton\":\"cv--moreFiltersButton--3sym3\"};","export const SearchRadioChannels = {\r\n TagFilter: 'tag:filter'\r\n};\r\n","export * from './SearchRadioChannels';"],"sourceRoot":""}
1
+ {"version":3,"sources":["file://C:/ClickView Projects/@clickview/packages/libs/shared/src/legacy/components/pagination/Pagination.hbs","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/legacy/components/pagination/PaginationComponent.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/behaviors/shared/DragOptions.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/behaviors/shared/DraggableItem.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/behaviors/shared/DraggableItemComponent.ts","webpack://@clickview/library-editor/./src/apps/library-editor/behaviors/shared/draggable-item.scss?43dc","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/behaviors/shared/index.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/search/components/filters/Filters.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/search/components/filters/FiltersComponent.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-button-list/FilterButtonItem.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-button-list/FilterButtonItemComponent.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-button-list/FilterButtonListComponent.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-button-list/index.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-list/FilterItem.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-list/FilterItemComponent.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-list/FilterList.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-list/FilterListComponent.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/FilterOptions.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/FilterOptionsComponent.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/bool-filter-options/BoolFilterOptions.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/bool-filter-options/BoolFilterOptionsComponent.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/duration-filter-options/DurationFilterOptionItem.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/duration-filter-options/DurationFilterOptionListComponent.ts","webpack://@clickview/library-editor/./src/apps/search/components/filters/filter-options/duration-filter-options/duration-filter-options.scss?085b","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/filter-option-list/FilterOptionItem.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/filter-option-list/FilterOptionItemComponent.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/filter-option-list/FilterOptionsList.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/filter-option-list/FilterOptionsListComponent.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/index.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/range-filter-options/RangeFilterOptionItem.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/range-filter-options/RangeFilterOptionListComponent.ts","webpack://@clickview/library-editor/./src/apps/search/components/filters/filter-options/range-filter-options/range-filter-item.scss?c6c7","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/tag-filter-options/TagFilterOptions.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/tag-filter-options/TagFilterOptionsComponent.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/tag-filter-options/TagFilterOptionsList.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/tag-filter-options/TagFilterOptionsListComponent.ts","webpack://@clickview/library-editor/./src/apps/search/components/filters/filter-options/tag-filter-options/tag-filter-options.scss?0db0","webpack://@clickview/library-editor/./src/apps/search/components/filters/filters.scss?9bb0","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/search/components/filters/index.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/search/components/filters/more-filters-button/MoreFiltersButton.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/search/components/filters/more-filters-button/MoreFiltersButtonComponent.ts","webpack://@clickview/library-editor/./src/apps/search/components/filters/more-filters-button/more-filters-button.scss?fb3d","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/search/constants/SearchRadioChannels.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/search/constants/index.ts"],"names":[],"mappings":"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","file":"scripts/28.chunk.js","sourcesContent":["var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n return \"disabled\";\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 \"<div class=\\\"p-3\\\">\\r\\n <a class=\\\"btn previous-applink btn-secondary \"\n + ((stack1 = helpers.unless.call(alias2,((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.cursors : stack1)) != null ? stack1.previous : stack1),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\">\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"previous\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</a>\\r\\n <a class=\\\"btn next-applink btn-secondary \"\n + ((stack1 = helpers.unless.call(alias2,((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.cursors : stack1)) != null ? stack1.next : stack1),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\">\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"next\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</a>\\r\\n</div>\";\n},\"useData\":true});","import * as _ from 'underscore';\r\nimport { ObjectHash } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { Cursors } from 'libs/common/backbone/interfaces';\r\n\r\nimport { AnalyticsOptions, WorkflowPhase, UserAction, LocationContext, EntityType } from 'libs/analytics/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\n\r\nimport PaginationTemplate from './Pagination.hbs';\r\n\r\ninterface PaginationComponentOptions extends Core.ComponentOptions {\r\n cursors: Cursors;\r\n appLink: Core.AppLink;\r\n collectionId?: string;\r\n allowFirstPageCursor?: boolean;\r\n analyticsOptions?: AnalyticsOptions;\r\n cursorParamName?: string;\r\n}\r\n\r\nexport class PaginationComponent extends Core.Component {\r\n public options: PaginationComponentOptions;\r\n\r\n constructor(options: PaginationComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public get defaults(): ObjectHash {\r\n return {\r\n cursors: {},\r\n cursorParamName: 'cursor'\r\n };\r\n }\r\n\r\n public get name(): string {\r\n return 'PaginationComponent';\r\n }\r\n\r\n public get template(): any {\r\n return PaginationTemplate;\r\n }\r\n\r\n public get lang(): string {\r\n return 'shared._pagination';\r\n }\r\n\r\n public get appLinks(): Core.AppLinkHash {\r\n const appLinks: ObjectHash = {};\r\n\r\n if (!this.options.cursors)\r\n return {};\r\n\r\n if (this.options.cursors.previous) {\r\n let previous = this.options.cursors.previous;\r\n\r\n const cursor = this.buildCursor(this.options.cursors.previous);\r\n\r\n /**\r\n * ** For legacy pagination only **\r\n * Remove the cursor param if the previous page is the first page.\r\n * This ensures that we don't unnecessarily re-fetch the first page \r\n * which in most cases would have been retrieved without using a cursor. \r\n */\r\n if (+previous <= 1 && this.options.allowFirstPageCursor !== true)\r\n delete cursor.params.cursor;\r\n\r\n appLinks['.previous-applink'] = cursor;\r\n }\r\n\r\n if (this.options.cursors.next) {\r\n appLinks['.next-applink'] = this.buildCursor(this.options.cursors.next);\r\n }\r\n\r\n return appLinks;\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n 'click .previous-applink': 'onClickPrevious',\r\n 'click .next-applink': 'onClickNext'\r\n };\r\n }\r\n\r\n private buildCursor(cursorParam: string): ObjectHash {\r\n return {\r\n application: this.options.appLink.application,\r\n action: this.options.appLink.action,\r\n args: this.options.appLink.args,\r\n params: _.extend({}, this.options.appLink.params, { [this.options.cursorParamName]: cursorParam })\r\n };\r\n }\r\n\r\n private onClickPrevious(): void {\r\n this.logAction('previous');\r\n }\r\n\r\n private onClickNext(): void {\r\n this.logAction('next');\r\n }\r\n\r\n private logAction(page: string): void {\r\n const analyticsOptions = AnalyticsHelper.mergeOptions(this.options.analyticsOptions, {\r\n location: LocationContext.Pagination,\r\n entity: EntityType.Pagination,\r\n actionType: UserAction.Navigate,\r\n workflowPhase: WorkflowPhase.Complete\r\n });\r\n\r\n const data = {\r\n id: this.options.collectionId,\r\n page\r\n };\r\n\r\n AnalyticsHelper.logUserAction(data, analyticsOptions);\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n cursors: this.options.cursors\r\n };\r\n }\r\n\r\n public onBeforeRender(): boolean {\r\n return !!this.options.cursors;\r\n }\r\n}","const DragOptions: JQueryUI.DraggableOptions = {\r\n delay: 150,\r\n cursorAt: { left: -20, top: 10 },\r\n refreshPositions: true\r\n};\r\n\r\nexport { DragOptions };","var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable, alias2=container.lambda, alias3=container.escapeExpression;\n\n return \"<span class=\\\"\"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.svgContainer : stack1), depth0))\n + \" mr-2\\\">\"\n + ((stack1 = alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.svg : stack1), depth0)) != null ? stack1 : \"\")\n + \"</span>\\r\\n<span class=\\\"\"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.dragText : stack1), depth0))\n + \"\\\">\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.text : stack1), depth0))\n + \"</span>\";\n},\"useData\":true});","import { Core } from 'libs/common/core';\r\n\r\nimport styles from './draggable-item.scss';\r\nimport DraggableItemTemplate from './DraggableItem.hbs';\r\nimport { ObjectHash } from 'backbone';\r\n\r\ninterface DraggableItemComponentOptions extends Core.ComponentOptions {\r\n text: string;\r\n svg: string;\r\n}\r\n\r\nexport class DraggableItemComponent extends Core.Component {\r\n public options: DraggableItemComponentOptions;\r\n\r\n constructor(options: DraggableItemComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'DraggableItemComponent';\r\n }\r\n\r\n public get template(): any {\r\n return DraggableItemTemplate;\r\n }\r\n\r\n public get className(): string {\r\n return `${styles.dragItem} p-3`;\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n styles,\r\n ...this.options\r\n };\r\n }\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dragItem\":\"cv--dragItem--2TIZ7\",\"svgContainer\":\"cv--svgContainer--3JzEU\",\"dragText\":\"cv--dragText--1Kdwj\"};","import styles from './draggable-item.scss';\r\nimport DraggableItemTemplate from './DraggableItem.hbs';\r\n\r\nexport { styles, DraggableItemTemplate };\r\nexport * from './DraggableItemComponent';\r\nexport * from './DragOptions';","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 \"<div class=\\\"d-inline-block text-right\\\">\\r\\n <a class=\\\"clear-filters cursor-pointer hover-text-underline\\\">\"\n + container.escapeExpression((helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),\"reset\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</a>\\r\\n</div>\\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable, alias2=container.escapeExpression, alias3=depth0 != null ? depth0 : (container.nullContext || {});\n\n return \"<div class=\\\"d-inline-block border-right py-1 pr-3 \"\n + alias2(container.lambda(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.labelClass : stack1), depth0))\n + \"\\\"><strong>\"\n + alias2((helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(alias3,\"heading\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</strong></div>\\r\\n<div class=\\\"filter-list-region d-inline-block pl-2\\\"></div>\\r\\n<div class=\\\"more-filters-region d-inline-block mr-2\\\"></div>\\r\\n\"\n + ((stack1 = helpers[\"if\"].call(alias3,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.hasFiltersSelected : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"useData\":true});","import * as _ from 'underscore';\r\nimport { ObjectHash, Radio } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport { EventNames } from 'shared/constants';\r\nimport { PartialLoading } from 'shared/enums';\r\nimport { LocationContext, UserAction, EntityType, WorkflowPhase, FilterDescriptor } from 'libs/analytics/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\n\r\nimport { FilterButtonListComponent } from 'apps/search/components/filters';\r\nimport { MoreFiltersButtonComponent } from 'apps/search/components/filters/more-filters-button/MoreFiltersButtonComponent';\r\nimport { FilterCollection } from 'apps/search/collections';\r\nimport { Filter } from 'apps/search/models';\r\nimport { FilterHelper } from 'apps/search/utils';\r\n\r\nimport FiltersComponentTemplate from './Filters.hbs';\r\nimport styles from './filters.scss';\r\n\r\ninterface FiltersComponentOptions extends Core.ComponentOptions {\r\n /**\r\n * Redefining channelName as non nullable so that it must be provided.\r\n */\r\n channelName: string;\r\n}\r\n\r\nexport class FiltersComponent extends Core.Component {\r\n constructor(options: FiltersComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'FiltersComponent';\r\n }\r\n\r\n public get template(): string {\r\n return FiltersComponentTemplate;\r\n }\r\n\r\n public get lang(): string {\r\n return 'search.filters';\r\n }\r\n\r\n public regions(): ObjectHash {\r\n return {\r\n filterList: {\r\n el: '.filter-list-region',\r\n replaceRegion: true,\r\n partialLoading: PartialLoading.SearchFilter\r\n },\r\n moreFilters: {\r\n el: '.more-filters-region',\r\n replaceRegion: true\r\n }\r\n };\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n 'click .clear-filters': 'onClickClearFilters'\r\n };\r\n }\r\n\r\n private onClickClearFilters(): void {\r\n FilterHelper.clearFilters(this.collection);\r\n\r\n Radio.channel(this.options.channelName).trigger(EventNames.Filters.FILTER_CHANGED);\r\n\r\n this.logFilterResetAction();\r\n }\r\n\r\n private getVisibleFilters(): FilterCollection {\r\n return new FilterCollection(this.collection.filter((f: Filter) => (\r\n !f.get('showInMoreFilters') && FilterHelper.showFilter(f)\r\n )));\r\n }\r\n\r\n private getMoreFilters(): FilterCollection {\r\n return new FilterCollection(this.collection.filter((f: Filter) => (\r\n f.get('showInMoreFilters') && FilterHelper.showFilter(f)\r\n )));\r\n }\r\n\r\n private hasFiltersSelected(): boolean {\r\n return this.collection.some(f => FilterHelper.isSelected(f));\r\n }\r\n\r\n private logFilterResetAction(): void {\r\n const analyticsOptions = {\r\n location: LocationContext.SearchFilters,\r\n actionType: UserAction.Filter,\r\n descriptor: FilterDescriptor.Reset,\r\n entity: EntityType.Video,\r\n workflowPhase: WorkflowPhase.Complete\r\n };\r\n\r\n const data = {\r\n type: 'All',\r\n active: false\r\n };\r\n\r\n AnalyticsHelper.logUserAction(data, analyticsOptions);\r\n }\r\n\r\n private renderFilterList(): void {\r\n const component = new FilterButtonListComponent({\r\n collection: this.getVisibleFilters(),\r\n channelName: this.options.channelName\r\n });\r\n\r\n this.showChildView('filterList', component);\r\n }\r\n\r\n private renderMoreFilters(): void {\r\n const component = new MoreFiltersButtonComponent({\r\n collection: this.getMoreFilters(),\r\n channelName: this.options.channelName\r\n });\r\n\r\n this.showChildView('moreFilters', component);\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n labelClass: styles.label,\r\n hasFiltersSelected: this.collection && this.hasFiltersSelected(),\r\n clearFiltersClass: styles.clearFilters\r\n };\r\n }\r\n\r\n public onBeforeRender(): boolean {\r\n return !!this.collection;\r\n }\r\n\r\n public onRender(): void {\r\n this.renderFilterList();\r\n this.renderMoreFilters();\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, alias2=container.lambda, alias3=container.escapeExpression;\n\n return \"<button class=\\\"\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.buttonClass : stack1), depth0))\n + \" dropdown-btn cursor-pointer\\\" type=\\\"button\\\" data-toggle=\\\"dropdown\\\" aria-haspopup=\\\"true\\\" aria-expanded=\\\"false\\\">\\r\\n \"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.label : stack1), depth0))\n + \"\\r\\n</button>\\r\\n<div class=\\\"dropdown-menu \"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.dropdownMenu : stack1), depth0))\n + \" p-2 filter-region\\\"></div>\";\n},\"useData\":true});","import * as _ from 'underscore';\r\nimport { 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 { FilterTypes } from 'libs/shared/apps/search/enums/FilterTypes';\r\nimport { AnalyticsOptions, WorkflowPhase, UserAction, FilterDescriptor } from 'libs/analytics/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\n\r\nimport { EventNames } from 'shared/constants';\r\n\r\nimport { Filter } from 'apps/search/models';\r\nimport { FilterHelper } from 'apps/search/utils';\r\nimport { FilterListComponent } from 'apps/search/components/filters/filter-list/FilterListComponent';\r\nimport styles from 'apps/search/components/filters/filters.scss';\r\n\r\nimport FilterButtonItemTemplate from './FilterButtonItem.hbs';\r\n\r\ninterface FilterButtonItemComponentOptions extends Core.ComponentOptions<Filter> {\r\n analyticsOptions?: AnalyticsOptions;\r\n}\r\n\r\nexport class FilterButtonItemComponent extends Core.Component<Filter> {\r\n public options: FilterButtonItemComponentOptions;\r\n private initialFilter: Filter;\r\n\r\n constructor(options?: FilterButtonItemComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.getViewModel();\r\n this.setInitialFilter();\r\n this.bindListeners();\r\n }\r\n\r\n public get name(): string {\r\n return 'FilterButtonItemComponent';\r\n }\r\n\r\n public get template(): string {\r\n return FilterButtonItemTemplate;\r\n }\r\n\r\n public get className(): string {\r\n return `d-inline-block m-1`;\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 viewModelName(): string {\r\n return `${this.name}:${this.model.get('type')}`;\r\n }\r\n\r\n public get elements(): ObjectHash {\r\n return {\r\n dropdownToggle: '.dropdown-btn'\r\n };\r\n }\r\n\r\n public regions(): ObjectHash {\r\n return {\r\n filter: {\r\n el: '.filter-region',\r\n replaceElement: false\r\n }\r\n };\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n 'hide.bs.dropdown': 'onHideDropdown',\r\n 'show.bs.dropdown': 'onShowDropdown'\r\n };\r\n }\r\n\r\n private getViewModel(): void {\r\n this.viewModel = ViewModelService.get(this.viewModelName);\r\n }\r\n\r\n private bindListeners(): void {\r\n this.listenTo(this.channelName, EventNames.Filters.APPLY_FILTER, this.onClickApplyFilter);\r\n this.listenTo(this.channelName, 'reset:filters', this.logFilterResetAction);\r\n }\r\n\r\n private setInitialFilter(): void {\r\n this.initialFilter = new Filter(this.model.toJSON());\r\n }\r\n\r\n private onClickApplyFilter(): void {\r\n if (!this.viewModel.get('dropdownVisible'))\r\n return;\r\n\r\n this.viewModel.set({ applyClicked: true });\r\n\r\n this.toggleDropdown();\r\n }\r\n\r\n private onShowDropdown(): void {\r\n this.viewModel.set('dropdownVisible', true);\r\n }\r\n\r\n private onHideDropdown(): void {\r\n const applyClicked = this.viewModel.get('applyClicked');\r\n\r\n this.viewModel.unset('applyClicked');\r\n\r\n this.viewModel.set('dropdownVisible', false);\r\n\r\n this.applyFilter(!!applyClicked);\r\n }\r\n\r\n private toggleDropdown(): void {\r\n this.getUI('dropdownToggle').dropdown('toggle');\r\n }\r\n\r\n private applyFilter(applyClicked: boolean): void {\r\n if (!FilterHelper.hasFilterChanged(this.initialFilter, this.model)) return;\r\n if (this.model.get('type') === FilterTypes.Tags) return;\r\n\r\n this.setInitialFilter();\r\n\r\n Radio.channel(this.options.channelName).trigger(EventNames.Filters.FILTER_CHANGED);\r\n\r\n this.logFilterApplyAction(applyClicked);\r\n }\r\n\r\n private getLabel(): string {\r\n if (!FilterHelper.isSelected(this.model))\r\n return this.model.get('title');\r\n\r\n return FilterHelper.getFilterLabel(this.model);\r\n }\r\n\r\n private getButtonClass(): string {\r\n let className = `btn ${styles.filterButton}`;\r\n\r\n if (FilterHelper.isSelected(this.model))\r\n className += ' btn-info';\r\n else\r\n className += ' btn-light';\r\n\r\n return className;\r\n }\r\n\r\n private logFilterApplyAction(applyClicked: boolean): void {\r\n const analyticsOptions = AnalyticsHelper.mergeOptions(this.options.analyticsOptions, {\r\n actionType: UserAction.Filter,\r\n workflowPhase: WorkflowPhase.Complete\r\n });\r\n\r\n const data = {\r\n type: this.model.get('title'),\r\n value: FilterHelper.getFilterSelectedOptionsAnalyticsData(this.model),\r\n applyClicked\r\n };\r\n\r\n AnalyticsHelper.logUserAction(data, analyticsOptions);\r\n }\r\n\r\n private logFilterResetAction(): void {\r\n const analyticsOptions = AnalyticsHelper.mergeOptions(this.options.analyticsOptions, {\r\n actionType: UserAction.Filter,\r\n descriptor: FilterDescriptor.Reset,\r\n workflowPhase: WorkflowPhase.Complete\r\n });\r\n\r\n const data = {\r\n type: this.model.get('title')\r\n };\r\n\r\n AnalyticsHelper.logUserAction(data, analyticsOptions);\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n styles,\r\n label: this.getLabel(),\r\n buttonClass: this.getButtonClass()\r\n };\r\n }\r\n\r\n private renderFilter(): void {\r\n this.showChildView('filter', new FilterListComponent({\r\n collection: new Core.Collection([this.model]),\r\n channelName: this.channelName\r\n }));\r\n }\r\n\r\n public onRender(): void {\r\n this.renderFilter();\r\n\r\n if (this.viewModel.get('dropdownVisible'))\r\n this.toggleDropdown();\r\n }\r\n}","import { ObjectHash } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport { LocationContext, EntityType } from 'libs/analytics/interfaces';\r\n\r\nimport { FilterButtonItemComponent } from 'apps/search/components/filters';\r\n\r\ninterface FilterButtonListComponentOptions extends Core.ComponentOptions {\r\n /**\r\n * Redefining channelName as non nullable so that it must be provided.\r\n */\r\n channelName: string;\r\n}\r\n\r\nexport class FilterButtonListComponent extends Core.ComponentCollection {\r\n public options: FilterButtonListComponentOptions;\r\n\r\n constructor(options: FilterButtonListComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'FilterListComponent';\r\n }\r\n\r\n public get tagName(): string {\r\n return 'ul';\r\n }\r\n\r\n public get className(): string {\r\n return 'm-0 p-0';\r\n }\r\n\r\n public get childView(): typeof FilterButtonItemComponent {\r\n return FilterButtonItemComponent;\r\n }\r\n public get childViewOptions(): ObjectHash {\r\n return {\r\n channelName: this.options.channelName,\r\n analyticsOptions: {\r\n location: LocationContext.SearchFilters,\r\n entity: EntityType.Video\r\n }\r\n };\r\n }\r\n}","export * from './FilterButtonListComponent';\r\nexport * from './FilterButtonItemComponent';","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;\n\n return \"<h6 class=\\\"mb-0\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.title || (depth0 != null ? depth0.title : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{\"name\":\"title\",\"hash\":{},\"data\":data}) : helper)))\n + \"</h6>\\r\\n<div class=\\\"options-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 { Filter } from 'apps/search/models';\r\nimport { FilterOptionsComponent } from 'apps/search/components/filters';\r\n\r\nimport FilterItemTemplate from './FilterItem.hbs';\r\n\r\ninterface FilterItemComponentOptions extends Core.ComponentOptions<Filter> {\r\n channelName: string;\r\n}\r\n\r\nexport class FilterItemComponent extends Core.Component<Filter> {\r\n public options: FilterItemComponentOptions;\r\n\r\n constructor(options: FilterItemComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'FilterItemComponent';\r\n }\r\n\r\n public get template(): string {\r\n return FilterItemTemplate;\r\n }\r\n\r\n public get className(): string {\r\n return 'py-1';\r\n }\r\n\r\n public regions(): ObjectHash {\r\n return {\r\n options: {\r\n el: '.options-region',\r\n replaceElement: true\r\n }\r\n };\r\n }\r\n\r\n private renderOptions(): void {\r\n this.showChildView('options', new FilterOptionsComponent({\r\n collection: this.model.options,\r\n model: this.model,\r\n channelName: this.options.channelName\r\n }));\r\n }\r\n\r\n public onRender(): void {\r\n this.renderOptions();\r\n }\r\n}","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 \" <a class=\\\"clear-filters float-left text-muted hover-text-underline cursor-pointer\\\">\"\n + container.escapeExpression((helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),\"reset\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</a>\\r\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n var alias1=container.propertyIsEnumerable;\n\n return \" <a class=\\\"apply-filters d-block text-right info-link\\\">\"\n + container.escapeExpression((helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),\"apply\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</a>\\r\\n\";\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=\\\"filter-list-region\\\"></div>\\r\\n<div>\\r\\n\"\n + ((stack1 = helpers[\"if\"].call(alias2,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.showClearFilters : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + ((stack1 = helpers[\"if\"].call(alias2,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.showApplyFilters : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"</div>\";\n},\"useData\":true});","import * as _ from 'underscore';\r\nimport { ObjectHash, Radio } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { FilterTypes } from 'libs/shared/apps/search/enums/FilterTypes';\r\n\r\nimport { EventNames } from 'shared/constants';\r\n\r\nimport { FilterHelper } from 'apps/search/utils';\r\nimport { SearchRadioChannels } from 'apps/search/constants';\r\n\r\nimport { FilterItemComponent } from './FilterItemComponent';\r\nimport FilterListTemplate from './FilterList.hbs';\r\n\r\nexport class FilterListComponent extends Core.Component {\r\n public initialize(): void {\r\n this.bindListeners();\r\n }\r\n\r\n public get name(): string {\r\n return 'FilterListComponent';\r\n }\r\n\r\n public get template(): string {\r\n return FilterListTemplate;\r\n }\r\n\r\n public get lang(): string {\r\n return 'search.filterList';\r\n }\r\n\r\n public get className(): string {\r\n return 'px-1';\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 filterList: {\r\n el: '.filter-list-region',\r\n replaceElement: true\r\n }\r\n };\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n 'click' : 'onClick',\r\n 'click .apply-filters': 'onClickApplyFilters',\r\n 'click .clear-filters': 'onClickClearFilters',\r\n };\r\n }\r\n\r\n private bindListeners(): void {\r\n this.listenTo(this.channelName, EventNames.Filters.OPTION_SELECTED, this.render);\r\n }\r\n\r\n /**\r\n * Stop event propagation so that the dropdown doesn't close.\r\n */\r\n private onClick(e: JQueryEventObject): void {\r\n e.stopPropagation();\r\n }\r\n\r\n private onClickApplyFilters(e: JQueryEventObject): void {\r\n e.stopPropagation();\r\n\r\n this.applyFilters();\r\n\r\n this.render();\r\n }\r\n\r\n private onClickClearFilters(e: JQueryEventObject): void {\r\n e.stopPropagation();\r\n\r\n Radio.channel(this.options.channelName).trigger('reset:filters');\r\n\r\n FilterHelper.clearFilters(this.collection);\r\n\r\n if (this.isTagFilterType())\r\n Radio.channel(SearchRadioChannels.TagFilter).trigger('change:relevant:tags');\r\n\r\n this.render();\r\n }\r\n\r\n private applyFilters(): void {\r\n Radio.channel(this.options.channelName).trigger(EventNames.Filters.APPLY_FILTER);\r\n }\r\n\r\n private hasFiltersSelected(): boolean {\r\n return this.collection.some(f => FilterHelper.isSelected(f));\r\n }\r\n\r\n private isTagFilterType(): boolean {\r\n return !!this.collection.findWhere({ type: FilterTypes.Tags });\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n showApplyFilters: !this.isTagFilterType(),\r\n showClearFilters: this.hasFiltersSelected()\r\n };\r\n }\r\n\r\n public onRender(): void {\r\n this.showChildView('filterList', new FilterComponentCollection({\r\n collection: this.collection,\r\n channelName: this.channelName\r\n }));\r\n }\r\n}\r\n\r\ninterface FilterComponentCollectionOptions extends Core.ComponentCollectionOptions {\r\n channelName: string;\r\n}\r\n\r\nclass FilterComponentCollection extends Core.ComponentCollection {\r\n public options: FilterComponentCollectionOptions;\r\n\r\n constructor(options: FilterComponentCollectionOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'FilterComponentCollection';\r\n }\r\n\r\n public get tagName(): string {\r\n return 'ul';\r\n }\r\n\r\n public get className(): string {\r\n return 'm-0 p-0';\r\n }\r\n\r\n public get childView(): typeof FilterItemComponent {\r\n return FilterItemComponent;\r\n }\r\n\r\n public get childViewOptions(): ObjectHash {\r\n return {\r\n channelName: this.options.channelName\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 return \"<div class=\\\"option-list-region\\\"></div>\";\n},\"useData\":true});","import { ObjectHash, Radio } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\nimport { FilterTypes } from 'libs/shared/apps/search/enums/FilterTypes';\r\n\r\nimport FilterOptionsComponentTemplate from './FilterOptions.hbs';\r\nimport { FilterOptionsListComponent } from 'apps/search/components/filters';\r\nimport { Option, Filter } from 'apps/search/models';\r\nimport { FilterHelper, FilterBehaviorTypes } from 'apps/search/utils';\r\nimport { EventNames } from 'shared/constants';\r\nimport {\r\n BoolFilterOptionsComponent,\r\n RangeFilterOptionListComponent,\r\n DurationFilterOptionListComponent,\r\n TagFilterOptionsComponent\r\n} from 'apps/search/components/filters/filter-options';\r\n\r\ntype FilterOptionsChild = Core.ViewCtor<FilterOptionsListComponent>\r\n | Core.ViewCtor<BoolFilterOptionsComponent>\r\n | Core.ViewCtor<RangeFilterOptionListComponent>\r\n | Core.ViewCtor<DurationFilterOptionListComponent>\r\n | Core.ViewCtor<TagFilterOptionsComponent>;\r\n\r\ninterface FilterOptionsComponentOptions extends Core.ComponentOptions<Filter> {\r\n channelName: string;\r\n}\r\n\r\nexport class FilterOptionsComponent extends Core.Component<Filter> {\r\n public options: FilterOptionsComponentOptions;\r\n\r\n constructor(options: FilterOptionsComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.bindListeners();\r\n }\r\n\r\n public get name(): string {\r\n return 'FilterOptionsComponent';\r\n }\r\n\r\n public get template(): string {\r\n return FilterOptionsComponentTemplate;\r\n }\r\n\r\n public get className(): string {\r\n return 'py-1';\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 optionsList: '.option-list-region'\r\n };\r\n }\r\n\r\n private bindListeners(): void {\r\n this.listenTo(this.channelName, EventNames.Filters.OPTION_SELECTED, this.onChangeOption);\r\n }\r\n\r\n private onChangeOption(selectedOption?: Option, preventRender?: boolean): void {\r\n if (selectedOption && this.isInclusiveType())\r\n this.onChangeInclusiveOption(selectedOption);\r\n\r\n if (selectedOption && this.isExclusiveType())\r\n this.onChangeExclusiveOption(selectedOption);\r\n\r\n if (selectedOption && this.isRangeType())\r\n this.onChangeRangeOption(selectedOption);\r\n\r\n if (selectedOption && this.isTagType())\r\n this.onChangeTagOption(selectedOption);\r\n\r\n if (preventRender) return;\r\n\r\n Radio.channel(this.options.channelName).trigger(EventNames.Filters.OPTION_SELECTED);\r\n\r\n this.render();\r\n }\r\n\r\n private onChangeInclusiveOption(selectedOption: Option): void {\r\n selectedOption.set('active', !selectedOption.get('active'));\r\n }\r\n\r\n private onChangeExclusiveOption(selectedOption: Option): void {\r\n FilterHelper.clearOptions(this.model);\r\n selectedOption.set('active', true);\r\n }\r\n\r\n private onChangeRangeOption(selectedOption: Option): void {\r\n FilterHelper.clearOptions(this.model);\r\n\r\n this.collection.each(o => {\r\n if (o.get('value') <= selectedOption.get('value'))\r\n o.set('active', true);\r\n });\r\n }\r\n\r\n private onChangeTagOption(tagOption: Option): void {\r\n const tagModel = this.collection.findWhere({ name: tagOption.get('name') });\r\n tagModel.set('active', !tagModel.get('active'));\r\n }\r\n\r\n private isBooleanType(): boolean {\r\n return this.model.get('behavior') === FilterBehaviorTypes.Boolean;\r\n }\r\n\r\n private isInclusiveType(): boolean {\r\n return this.model.get('behavior') === FilterBehaviorTypes.Inclusive;\r\n }\r\n\r\n private isExclusiveType(): boolean {\r\n return this.model.get('behavior') === FilterBehaviorTypes.Exclusive;\r\n }\r\n\r\n private isRangeType(): boolean {\r\n return this.model.get('behavior') === FilterBehaviorTypes.Range;\r\n }\r\n\r\n private isTagType(): boolean {\r\n return this.model.get('behavior') === FilterBehaviorTypes.Tag;\r\n }\r\n\r\n public getChildComponent(): FilterOptionsChild {\r\n if (this.model.get('type') === FilterTypes.Duration)\r\n return DurationFilterOptionListComponent;\r\n\r\n if (this.isTagType())\r\n return TagFilterOptionsComponent;\r\n\r\n if (this.isRangeType())\r\n return RangeFilterOptionListComponent;\r\n\r\n if (this.isBooleanType())\r\n return BoolFilterOptionsComponent;\r\n\r\n return FilterOptionsListComponent;\r\n }\r\n\r\n private renderOptionsList(): void {\r\n this.showChildView('optionsList', new (this.getChildComponent())({\r\n collection: this.collection,\r\n model: this.model,\r\n channelName: this.channelName,\r\n isExclusiveType: this.isExclusiveType()\r\n }));\r\n }\r\n\r\n public onRender(): void {\r\n this.renderOptionsList();\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, helper, alias1=container.propertyIsEnumerable, alias2=depth0 != null ? depth0 : (container.nullContext || {});\n\n return \"<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<p>\"\n + container.escapeExpression(((helper = (helper = helpers.description || (depth0 != null ? depth0.description : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === \"function\" ? helper.call(alias2,{\"name\":\"description\",\"hash\":{},\"data\":data}) : helper)))\n + \"</p>\";\n},\"useData\":true});","import { ObjectHash, Radio } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport { EventNames } from 'shared/constants';\r\n\r\nimport BoolFilterOptionsTemplate from './BoolFilterOptions.hbs';\r\n\r\ninterface BoolFilterOptionsComponentOptions extends Core.ComponentOptions {\r\n channelName: string;\r\n}\r\n\r\nexport class BoolFilterOptionsComponent extends Core.Component {\r\n public options: BoolFilterOptionsComponentOptions;\r\n\r\n constructor(options: BoolFilterOptionsComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'BoolFilterOptionComponent';\r\n }\r\n\r\n public get template(): string {\r\n return BoolFilterOptionsTemplate;\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n 'click .toggle-option': 'onClickToggleOption'\r\n };\r\n }\r\n\r\n private onClickToggleOption(e: JQueryEventObject): void {\r\n e.stopPropagation();\r\n\r\n this.model.set('active', !this.model.get('active'));\r\n\r\n Radio.channel(this.options.channelName).trigger(EventNames.Filters.OPTION_SELECTED);\r\n\r\n this.render();\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n isSelected: this.model.get('active')\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, alias3=depth0 != null ? depth0 : (container.nullContext || {}), alias4=container.hooks.helperMissing, alias5=\"function\";\n\n return \"<button type=\\\"button\\\" class=\\\"d-block option-btn w-100 \"\n + alias2(container.lambda(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.buttonClass : stack1), depth0))\n + \"\\\">\\r\\n \"\n + alias2(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : alias4),(typeof helper === alias5 ? helper.call(alias3,{\"name\":\"name\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\r\\n</button>\\r\\n<div class=\\\"text-center\\\">\"\n + alias2(((helper = (helper = helpers.description || (depth0 != null ? depth0.description : depth0)) != null ? helper : alias4),(typeof helper === alias5 ? helper.call(alias3,{\"name\":\"description\",\"hash\":{},\"data\":data}) : helper)))\n + \"</div>\";\n},\"useData\":true});","import { ObjectHash, Radio } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport DurationFilterOptionItemTemplate from './DurationFilterOptionItem.hbs';\r\n\r\nimport styles from './duration-filter-options.scss';\r\nimport { EventNames } from 'shared/constants';\r\n\r\nexport class DurationFilterOptionListComponent extends Core.ComponentCollection {\r\n public options: Core.ComponentCollectionOptions;\r\n\r\n public get name(): string {\r\n return 'DurationFilterOptionComponentCollection';\r\n }\r\n\r\n public get childView(): typeof DurationFilterOptionItemComponent {\r\n return DurationFilterOptionItemComponent;\r\n }\r\n\r\n public get className(): string {\r\n return styles.options;\r\n }\r\n\r\n private getOptionItemClassName(): string {\r\n let className = styles.optionItem;\r\n\r\n if (this.collection.length === 4)\r\n className += ` ${styles.customOptionItem}`;\r\n\r\n return className;\r\n }\r\n\r\n public get childViewOptions(): DurationFilterOptionItemComponentOptions {\r\n return {\r\n channelName: this.options.channelName,\r\n optionItemClassName: this.getOptionItemClassName()\r\n };\r\n }\r\n}\r\n\r\ninterface DurationFilterOptionItemComponentOptions extends Core.ComponentOptions{\r\n optionItemClassName: string;\r\n channelName: string;\r\n}\r\n\r\nclass DurationFilterOptionItemComponent extends Core.Component {\r\n protected options: DurationFilterOptionItemComponentOptions;\r\n\r\n constructor(options: DurationFilterOptionItemComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'DurationFilterItemComponent';\r\n }\r\n\r\n public get template(): string {\r\n return DurationFilterOptionItemTemplate;\r\n }\r\n\r\n public get className(): string {\r\n return `d-inline-block p-1 ${this.options.optionItemClassName}`;\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n 'click .option-btn': 'onClickOption'\r\n };\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n buttonClass: this.getButtonClass()\r\n };\r\n }\r\n\r\n private onClickOption(e: JQueryEventObject): void {\r\n e.stopPropagation();\r\n\r\n const channel = Radio.channel(this.options.channelName);\r\n channel.trigger(EventNames.Filters.OPTION_SELECTED, this.model);\r\n }\r\n\r\n private isSelected(): boolean {\r\n return this.model.get('active');\r\n }\r\n\r\n private getButtonClass(): string {\r\n let className = `btn ${styles.optionButton} p-1`;\r\n\r\n if (this.isSelected())\r\n className += ' btn-info';\r\n else\r\n className += ' btn-light';\r\n\r\n return className;\r\n }\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"optionItem\":\"cv--optionItem--3jzt0\",\"customOptionItem\":\"cv--customOptionItem--78r7L\",\"selected\":\"cv--selected--aFhSG\"};","var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n return \" checked\";\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 \"<div class=\\\"custom-control custom-\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.inputType : stack1), depth0))\n + \"\\\">\\r\\n <input type=\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.inputType : stack1), depth0))\n + \" autocomplete=\\\"off\\\" class=\\\"custom-control-input\\\"\"\n + ((stack1 = helpers[\"if\"].call(alias4,(depth0 != null ? depth0.active : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \">\\r\\n <label class=\\\"custom-control-label align-middle cursor-pointer\\\">\"\n + alias3(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === \"function\" ? helper.call(alias4,{\"name\":\"name\",\"hash\":{},\"data\":data}) : helper)))\n + \"</label>\\r\\n</div>\";\n},\"useData\":true});","import { ObjectHash, Radio } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport FilterOptionItemComponentTemplate from './FilterOptionItem.hbs';\r\nimport { EventNames } from 'shared/constants';\r\n\r\nexport interface FilterOptionItemComponentOptions extends Core.ComponentOptions {\r\n isExclusiveType: boolean;\r\n customClassName?: string;\r\n}\r\n\r\nexport class FilterOptionItemComponent extends Core.Component {\r\n public options: FilterOptionItemComponentOptions;\r\n\r\n constructor(options?: FilterOptionItemComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.bindListeners();\r\n }\r\n\r\n public get name(): string {\r\n return 'FilterOptionItemComponent';\r\n }\r\n\r\n public get template(): string {\r\n return FilterOptionItemComponentTemplate;\r\n }\r\n\r\n public get className(): string {\r\n return 'filter-option-item py-1 cursor-pointer';\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n click: 'onClick'\r\n };\r\n }\r\n\r\n private bindListeners(): void {\r\n this.listenTo(this.model, 'change', this.render);\r\n }\r\n\r\n private onClick(e: JQuery.Event): void {\r\n e.stopPropagation();\r\n\r\n const channel = Radio.channel(this.options.channelName);\r\n channel.trigger(EventNames.Filters.OPTION_SELECTED, this.model);\r\n }\r\n\r\n private getInputType(): string {\r\n return this.options.isExclusiveType\r\n ? 'radio'\r\n : 'checkbox';\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n inputType: this.getInputType()\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 \"<div class=\\\"default-option py-1\\\">\\r\\n <div class=\\\"custom-control custom-\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.inputType : stack1), depth0))\n + \"\\\">\\r\\n <input type=\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.inputType : stack1), depth0))\n + \" autocomplete=\\\"off\\\" class=\\\"custom-control-input\\\"\"\n + ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.defaultOptionSelected : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(2, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \">\\r\\n <label class=\\\"custom-control-label align-middle cursor-pointer\\\">\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.defaultOptionLabel : stack1), depth0))\n + \"</label>\\r\\n </div>\\r\\n</div>\\r\\n\";\n},\"2\":function(container,depth0,helpers,partials,data) {\n return \" checked\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.defaultOptionLabel : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"<div class=\\\"options-region\\\"></div>\";\n},\"useData\":true});","import * as _ from 'underscore';\r\nimport { Radio } from 'backbone';\r\nimport { ObjectHash } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport { EventNames } from 'shared/constants';\r\n\r\nimport FilterOptionsListTemplate from './FilterOptionsList.hbs';\r\n\r\nimport { FilterOptionItemComponentOptions, FilterOptionItemComponent } from 'apps/search/components/filters';\r\nimport { FilterHelper, FilterBehaviorTypes } from 'apps/search/utils';\r\n\r\ninterface FilterOptionsListComponentOptions extends Core.ComponentOptions {\r\n isExclusiveType: boolean;\r\n channelName: string;\r\n}\r\n\r\nexport class FilterOptionsListComponent extends Core.Component {\r\n public options: FilterOptionsListComponentOptions;\r\n\r\n constructor(options?: FilterOptionsListComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'FilterOptionsListComponent';\r\n }\r\n\r\n public get template(): string {\r\n return FilterOptionsListTemplate;\r\n }\r\n\r\n public regions(): ObjectHash {\r\n return {\r\n options: '.options-region'\r\n };\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n 'click .default-option': 'onClickDefaultOption'\r\n };\r\n }\r\n\r\n private onClickDefaultOption(e: JQueryEventObject): void {\r\n e.stopPropagation();\r\n\r\n this.model.get('behavior') === FilterBehaviorTypes.Inclusive\r\n ? FilterHelper.selectAllOptions(this.model)\r\n : FilterHelper.clearOptions(this.model);\r\n\r\n Radio.channel(this.options.channelName).trigger(EventNames.Filters.OPTION_SELECTED);\r\n\r\n this.render();\r\n }\r\n\r\n private defaultOptionSelected(): boolean {\r\n return this.model.get('behavior') === FilterBehaviorTypes.Inclusive\r\n ? FilterHelper.allOptionsSelected(this.model)\r\n : !FilterHelper.hasOptionSelected(this.model);\r\n }\r\n\r\n private getInputType(): string {\r\n return this.options.isExclusiveType\r\n ? 'radio'\r\n : 'checkbox';\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n inputType: this.getInputType(),\r\n defaultOptionSelected: this.defaultOptionSelected(),\r\n defaultOptionLabel: this.model.get('defaultOptionLabel')\r\n };\r\n }\r\n\r\n private renderOptions(): void {\r\n this.showChildView('options', new FilterOptionComponentCollection({\r\n collection: this.collection,\r\n childOptions: {\r\n channelName: this.options.channelName,\r\n isExclusiveType: this.options.isExclusiveType\r\n }\r\n }));\r\n }\r\n\r\n public onRender(): void {\r\n this.renderOptions();\r\n }\r\n}\r\n\r\ninterface FilterOptionComponentCollectionOptions extends Core.ComponentCollectionOptions {\r\n childOptions: FilterOptionItemComponentOptions;\r\n}\r\n\r\nclass FilterOptionComponentCollection extends Core.ComponentCollection {\r\n public options: FilterOptionComponentCollectionOptions;\r\n\r\n constructor(options?: FilterOptionComponentCollectionOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'FilterOptionComponentCollection';\r\n }\r\n\r\n public get childView(): any {\r\n return FilterOptionItemComponent;\r\n }\r\n\r\n public get childViewOptions(): FilterOptionItemComponentOptions {\r\n return this.options.childOptions;\r\n }\r\n}","export * from './FilterOptionsComponent';\r\nexport * from './filter-option-list/FilterOptionsListComponent';\r\nexport * from './filter-option-list/FilterOptionItemComponent';\r\nexport * from './bool-filter-options/BoolFilterOptionsComponent';\r\nexport * from './range-filter-options/RangeFilterOptionListComponent';\r\nexport * from './duration-filter-options/DurationFilterOptionListComponent';\r\nexport * from './tag-filter-options/TagFilterOptionsComponent';","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;\n\n return container.escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{\"name\":\"name\",\"hash\":{},\"data\":data}) : helper)));\n},\"useData\":true});","import { ObjectHash, Radio } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport RangeFilterOptionItemTemplate from './RangeFilterOptionItem.hbs';\r\nimport styles from './range-filter-item.scss';\r\nimport { EventNames } from 'shared/constants';\r\n\r\nexport class RangeFilterOptionListComponent extends Core.ComponentCollection {\r\n public options: Core.ComponentCollectionOptions;\r\n\r\n public get name(): string {\r\n return 'RatingFilterOptionComponentCollection';\r\n }\r\n\r\n public get className(): string {\r\n return `btn-group ${styles.options} py-2`;\r\n }\r\n\r\n public get attributes(): ObjectHash {\r\n return {\r\n role: 'group'\r\n };\r\n }\r\n\r\n public get childView(): typeof RatingFilterOptionItemComponent {\r\n return RatingFilterOptionItemComponent;\r\n }\r\n\r\n public get childViewOptions(): ObjectHash {\r\n return {\r\n channelName: this.options.channelName\r\n };\r\n }\r\n}\r\n\r\nclass RatingFilterOptionItemComponent extends Core.Component {\r\n public get name(): string {\r\n return 'RatingFilterOptionItemComponent';\r\n }\r\n\r\n public get template(): string {\r\n return RangeFilterOptionItemTemplate;\r\n }\r\n\r\n public get tagName(): string {\r\n return 'button';\r\n }\r\n\r\n public get className(): string {\r\n const baseClassName = `${styles.option} border btn btn-`;\r\n\r\n return this.isSelected()\r\n ? `${baseClassName}info`\r\n : `${baseClassName}light`;\r\n }\r\n\r\n public get attributes(): ObjectHash {\r\n return {\r\n type: 'button',\r\n title: this.model.get('fullName')\r\n };\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n click: 'onClick'\r\n };\r\n }\r\n\r\n private onClick(e: JQueryEventObject): void {\r\n e.stopPropagation();\r\n\r\n const channel = Radio.channel(this.options.channelName);\r\n channel.trigger(EventNames.Filters.OPTION_SELECTED, this.model);\r\n }\r\n\r\n private isSelected(): boolean {\r\n return this.model.get('active');\r\n }\r\n\r\n public onRender(): void {\r\n this.$el.tooltip();\r\n }\r\n\r\n public onBeforeDestroy(): void {\r\n this.$el.tooltip('dispose');\r\n }\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"options\":\"cv--options--6o30E\",\"option\":\"cv--option--3yReT\"};","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 \"<p class=\\\"mb-0\\\">\"\n + container.escapeExpression((helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),\"emptyState\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</p>\\r\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n return \"<div class=\\\"dropdown-divider\\\"></div>\\r\\n\";\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 ((stack1 = helpers[\"if\"].call(alias2,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.showEmptyState : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\r\\n<div class=\\\"selected-tags-region\\\"></div>\\r\\n\"\n + ((stack1 = helpers[\"if\"].call(alias2,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.useDivider : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"<div class=\\\"relevant-tags-region\\\"></div>\";\n},\"useData\":true});","import * as _ from 'underscore';\r\nimport { ObjectHash, Radio } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport { EventNames } from 'shared/constants';\r\n\r\nimport { Option } from 'apps/search/models';\r\nimport { OptionCollection } from 'apps/search/collections';\r\nimport { FilterHelper } from 'apps/search/utils';\r\nimport { TagBehavior } from 'apps/library-editor/enums';\r\nimport { SearchRadioChannels } from 'apps/search/constants';\r\n\r\nimport styles from './tag-filter-options.scss';\r\nimport TagFilterOptionsTemplate from './TagFilterOptions.hbs';\r\nimport { TagFilterOptionsListComponent } from './TagFilterOptionsListComponent';\r\n\r\nconst MAX_RELEVANT_TAGS = 5;\r\n\r\ninterface TagFilterOptionsComponentOptions extends Core.ComponentOptions {\r\n channelName: string;\r\n}\r\n\r\nexport class TagFilterOptionsComponent extends Core.Component {\r\n public options: TagFilterOptionsComponentOptions;\r\n\r\n private relevantTags: OptionCollection;\r\n\r\n constructor(options: TagFilterOptionsComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.bindListeners();\r\n\r\n this.setRelevantTags();\r\n }\r\n\r\n public get name(): string {\r\n return 'TagFilterOptionsComponent';\r\n }\r\n\r\n public get template(): string {\r\n return TagFilterOptionsTemplate;\r\n }\r\n\r\n public get lang(): string {\r\n return 'search.tagFilterOptions';\r\n }\r\n\r\n public get className(): string {\r\n return `${styles.container}`;\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 selectedTags: {\r\n el: '.selected-tags-region',\r\n replaceElement: true\r\n },\r\n relevantTags: {\r\n el: '.relevant-tags-region',\r\n replaceElement: true\r\n }\r\n };\r\n }\r\n\r\n private bindListeners(): void {\r\n this.listenTo(this.channelName, 'on:option:change', this.onChange);\r\n }\r\n\r\n private onChange(tag: Option): void {\r\n Radio.channel(this.options.channelName)\r\n .trigger(EventNames.Filters.OPTION_SELECTED, tag, true);\r\n\r\n Radio.channel(SearchRadioChannels.TagFilter)\r\n .trigger('change:relevant:tags');\r\n\r\n this.relevantTags = null; // Set partial loading\r\n\r\n this.render();\r\n }\r\n\r\n private setRelevantTags(): void {\r\n const selectedTagIds = FilterHelper.getSelectedOptions(this.collection).map((t: Option) => t.get('id'));\r\n\r\n // if no relevant tags have been fetched yet, render partial loading\r\n if (this.collection.length === selectedTagIds.length) {\r\n this.relevantTags = null;\r\n return;\r\n }\r\n\r\n this.relevantTags = new OptionCollection(\r\n this.collection\r\n .filter((tag: Option) => !_.contains(selectedTagIds, tag.get('id')))\r\n .slice(0, MAX_RELEVANT_TAGS)\r\n );\r\n }\r\n\r\n private hasSelectedTags(): boolean {\r\n const selectedTags: OptionCollection = FilterHelper.getSelectedOptions(this.collection);\r\n return selectedTags && !!selectedTags.length;\r\n }\r\n\r\n private hasRelevantTags(): boolean {\r\n return _.isNull(this.relevantTags) || (this.relevantTags && !!this.relevantTags.length);\r\n }\r\n\r\n private renderSelectedTags(): void {\r\n if (!this.hasSelectedTags()) return;\r\n\r\n const selectedTags: OptionCollection = FilterHelper.getSelectedOptions(this.collection);\r\n\r\n this.showChildView('selectedTags', new TagFilterOptionsListComponent({\r\n collection: selectedTags,\r\n channelName: this.channelName,\r\n behavior: TagBehavior.Filter,\r\n removeEvent: 'on:option:change'\r\n }));\r\n }\r\n\r\n private renderRelevantTags(): void {\r\n this.showChildView('relevantTags', new TagFilterOptionsListComponent({\r\n collection: this.relevantTags,\r\n channelName: this.channelName,\r\n behavior: TagBehavior.Filter,\r\n clickEvent: 'on:option:change'\r\n }));\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n showEmptyState: !this.hasSelectedTags() && !this.hasRelevantTags(),\r\n useDivider: this.hasSelectedTags() && this.hasRelevantTags()\r\n };\r\n }\r\n\r\n public onRender(): void {\r\n this.renderSelectedTags();\r\n this.renderRelevantTags();\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 return \"<div class=\\\"tags-region\\\"></div>\";\n},\"useData\":true});","import * as _ from 'underscore';\r\nimport { ObjectHash } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport { PartialLoading } from 'shared/enums';\r\n\r\nimport { TagComponentCollection } from 'apps/library-editor/components/tag-list/TagComponentCollection';\r\nimport { TagBehavior } from 'apps/library-editor/enums';\r\n\r\nimport TagFilterOptionsListTemplate from './TagFilterOptionsList.hbs';\r\n\r\ninterface TagFilterOptionsListComponentOptions extends Core.ComponentOptions {\r\n channelName: string;\r\n behavior: TagBehavior;\r\n removeEvent?: string;\r\n clickEvent?: string;\r\n}\r\n\r\nexport class TagFilterOptionsListComponent extends Core.Component {\r\n public options: TagFilterOptionsListComponentOptions;\r\n\r\n constructor(options: TagFilterOptionsListComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'TagFilterOptionsListComponent';\r\n }\r\n\r\n public get template(): string {\r\n return TagFilterOptionsListTemplate;\r\n }\r\n\r\n public regions(): ObjectHash {\r\n return {\r\n tags: {\r\n el: '.tags-region',\r\n replaceElement: true,\r\n partialLoading: PartialLoading.TagFilter\r\n }\r\n };\r\n }\r\n\r\n public onBeforeRender(): boolean {\r\n return !_.isNull(this.collection);\r\n }\r\n\r\n public onRender(): void {\r\n this.showChildView('tags', new TagComponentCollection({\r\n collection: this.collection,\r\n channelName: this.options.channelName,\r\n behavior: this.options.behavior,\r\n removeEvent: this.options.removeEvent,\r\n clickEvent: this.options.clickEvent,\r\n }));\r\n }\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"cv--container--1SMXf\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"label\":\"cv--label--3iMZr\",\"filterButton\":\"cv--filterButton--1xOts\",\"dropdownMenu\":\"cv--dropdownMenu--1Yzts\"};","export * from './FiltersComponent';\r\nexport * from './filter-button-list';\r\nexport * from './filter-options';","var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable, alias2=container.lambda, alias3=container.escapeExpression;\n\n return \"<button class=\\\"\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.buttonClass : stack1), depth0))\n + \" dropdown-btn\\\" type=\\\"button\\\" data-toggle=\\\"dropdown\\\" aria-haspopup=\\\"true\\\" aria-expanded=\\\"false\\\">\\r\\n \"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.label : stack1), depth0))\n + \"\\r\\n</button>\\r\\n<div class=\\\"dropdown-menu p-2 filters-region\\\"></div>\";\n},\"useData\":true});","\r\nimport { ObjectHash, Radio } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\nimport { ViewModelService } from 'libs/common/backbone/services/ViewModelService';\r\n\r\nimport { EventNames } from 'shared/constants';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { AnalyticsOptions, UserAction, WorkflowPhase, LocationContext, EntityType, FilterDescriptor } from 'libs/analytics/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\n\r\nimport { FilterListComponent } from 'apps/search/components/filters/filter-list/FilterListComponent';\r\nimport { FilterHelper } from 'apps/search/utils';\r\nimport { Filter } from 'apps/search/models';\r\nimport { FilterCollection } from 'apps/search/collections';\r\nimport baseStyles from 'apps/search/components/filters/filters.scss';\r\n\r\nimport MoreFiltersButtonTemplate from './MoreFiltersButton.hbs';\r\nimport styles from './more-filters-button.scss';\r\n\r\ninterface MoreFiltersButtonComponentOptions extends Core.ComponentOptions<Filter> {\r\n analyticsOptions?: AnalyticsOptions;\r\n}\r\n\r\nexport class MoreFiltersButtonComponent extends Core.Component {\r\n public options: MoreFiltersButtonComponentOptions;\r\n private initialFilters: FilterCollection;\r\n\r\n constructor(options?: MoreFiltersButtonComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.getViewModel();\r\n this.setInitialFilters();\r\n this.bindListeners();\r\n }\r\n\r\n public get name(): string {\r\n return 'MoreFiltersButtonComponent';\r\n }\r\n\r\n public get template(): string {\r\n return MoreFiltersButtonTemplate;\r\n }\r\n\r\n public get lang(): string {\r\n return 'search.moreFiltersButton';\r\n }\r\n\r\n public get className(): string {\r\n return `rounded cursor-pointer ${styles.moreFiltersButton}`;\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 viewModelName(): string {\r\n return this.name;\r\n }\r\n\r\n public get elements(): ObjectHash {\r\n return {\r\n dropdownToggle: '.dropdown-btn'\r\n };\r\n }\r\n\r\n public regions(): ObjectHash {\r\n return {\r\n filters: {\r\n el: '.filters-region',\r\n replaceElement: false\r\n }\r\n };\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n 'hide.bs.dropdown': 'onHideDropdown',\r\n 'show.bs.dropdown': 'onShowDropdown'\r\n };\r\n }\r\n\r\n private getViewModel(): void {\r\n this.viewModel = ViewModelService.get(this.viewModelName);\r\n }\r\n\r\n private bindListeners(): void {\r\n this.listenTo(this.channelName, EventNames.Filters.APPLY_FILTER, this.onClickApplyFilters);\r\n this.listenTo(this.channelName, 'reset:filters', this.logFilterResetAction);\r\n }\r\n\r\n private setInitialFilters(): void {\r\n this.initialFilters = new FilterCollection(this.collection.toJSON());\r\n }\r\n\r\n private onClickApplyFilters(): void {\r\n if (!this.viewModel.get('dropdownVisible'))\r\n return;\r\n\r\n this.viewModel.set({ applyClicked: true });\r\n\r\n this.toggleDropdown();\r\n }\r\n\r\n private onShowDropdown(): void {\r\n this.viewModel.set('dropdownVisible', true);\r\n }\r\n\r\n private onHideDropdown(): void {\r\n const applyClicked = this.viewModel.get('applyClicked');\r\n\r\n this.viewModel.unset('applyClicked');\r\n\r\n this.viewModel.set('dropdownVisible', false);\r\n\r\n this.applyFilters(!!applyClicked);\r\n }\r\n\r\n private toggleDropdown(): void {\r\n this.getUI('dropdownToggle').dropdown('toggle');\r\n }\r\n\r\n private applyFilters(applyClicked: boolean = true): void {\r\n if (!this.haveFiltersChanged()) return;\r\n\r\n this.logFilterApplyAction(applyClicked);\r\n\r\n this.setInitialFilters();\r\n\r\n Radio.channel(this.options.channelName).trigger(EventNames.Filters.FILTER_CHANGED);\r\n\r\n this.render();\r\n }\r\n\r\n private haveFiltersChanged(): boolean {\r\n return !this.collection.every((f: Filter, i) => !FilterHelper.hasFilterChanged(this.initialFilters.at(i), f));\r\n }\r\n\r\n private isSelected(): boolean {\r\n return this.collection.some(f => FilterHelper.isSelected(f));\r\n }\r\n\r\n private numSelectedFilters(): number {\r\n return this.collection.filter(f => FilterHelper.isSelected(f)).length;\r\n }\r\n\r\n private getLabel(): string {\r\n let label = LanguageService.getPhrase(this.lang, 'moreFilters');\r\n\r\n const numSelected = this.numSelectedFilters();\r\n\r\n if (numSelected)\r\n label += ` - ${numSelected}`;\r\n\r\n return label;\r\n }\r\n\r\n private getButtonClass(): string {\r\n let className = `btn ${baseStyles.filterButton}`;\r\n\r\n if (this.isSelected())\r\n className += ' btn-info';\r\n else\r\n className += ' btn-light';\r\n\r\n return className;\r\n }\r\n\r\n private logFilterApplyAction(applyClicked: boolean): void {\r\n this.collection.each((f: Filter, i) => {\r\n if (!FilterHelper.hasFilterChanged(this.initialFilters.at(i), f))\r\n return;\r\n\r\n this.logFilter(f, applyClicked);\r\n });\r\n }\r\n\r\n private logFilter(filter: Filter, applyClicked: boolean): void {\r\n const analyticsOptions = {\r\n location: LocationContext.SearchFilters,\r\n actionType: UserAction.Filter,\r\n entity: EntityType.Video,\r\n workflowPhase: WorkflowPhase.Complete\r\n };\r\n\r\n const data = {\r\n type: filter.get('title'),\r\n value: FilterHelper.getFilterSelectedOptionsAnalyticsData(filter),\r\n applyClicked\r\n };\r\n\r\n AnalyticsHelper.logUserAction(data, analyticsOptions);\r\n }\r\n\r\n private logFilterResetAction(): void {\r\n const analyticsOptions = {\r\n location: LocationContext.SearchFilters,\r\n actionType: UserAction.Filter,\r\n descriptor: FilterDescriptor.Reset,\r\n entity: EntityType.Video,\r\n workflowPhase: WorkflowPhase.Complete\r\n };\r\n\r\n const data = {\r\n type: 'More Filters'\r\n };\r\n\r\n AnalyticsHelper.logUserAction(data, analyticsOptions);\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n label: this.getLabel(),\r\n buttonClass: this.getButtonClass()\r\n };\r\n }\r\n\r\n private renderFilters(): void {\r\n this.showChildView('filters', new FilterListComponent({\r\n collection: this.collection,\r\n channelName: this.channelName\r\n }));\r\n }\r\n\r\n public onRender(): void {\r\n this.renderFilters();\r\n\r\n if (this.viewModel.get('dropdownVisible'))\r\n this.toggleDropdown();\r\n }\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"moreFiltersButton\":\"cv--moreFiltersButton--3sym3\"};","export const SearchRadioChannels = {\r\n TagFilter: 'tag:filter'\r\n};\r\n","export * from './SearchRadioChannels';"],"sourceRoot":""}