@clickview/library-editor 1.1.27-dev.1 → 1.1.27-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/en.json +1 -1
- package/dist/libs/analytics/src/interfaces/AnalyticsTypes.d.ts +1 -0
- package/dist/libs/common/src/backbone/utils/LocalStorageHelper.d.ts +1 -1
- package/dist/libs/shared/src/interfaces/models/ClassroomGroup.d.ts +1 -1
- package/dist/projects/library-editor/src/app.d.ts +1 -0
- package/dist/projects/library-editor/src/apps/library-editor/components/tags/TagsComponent.d.ts +1 -0
- package/dist/projects/library-editor/src/shared/components/typeahead-input/SearchTypeaheadComponent.d.ts +1 -0
- package/dist/scripts/{0-e25d47c666.chunk.js → 0-93a3cbfbb6.chunk.js} +1 -1
- package/dist/scripts/{1-620c685eee.chunk.js → 1-69d9709724.chunk.js} +1 -1
- package/dist/scripts/{10-3baf058564.chunk.js → 10-8b01d98b20.chunk.js} +1 -1
- package/dist/scripts/{11-9f5f0c25dc.chunk.js → 11-cbe69fa3f0.chunk.js} +1 -1
- package/dist/scripts/{12-b460ad405e.chunk.js → 12-9b10cdc17d.chunk.js} +1 -1
- package/dist/scripts/13-1e10e6e87f.chunk.js +1 -0
- package/dist/scripts/{14-670309ef33.chunk.js → 14-ab7a30ee22.chunk.js} +1 -1
- package/dist/scripts/{15-39010184ed.chunk.js → 15-74a4408ee9.chunk.js} +1 -1
- package/dist/scripts/{16-0971cabfc8.chunk.js → 16-42f9f38a5b.chunk.js} +1 -1
- package/dist/scripts/{17-f364868870.chunk.js → 17-b1675f5397.chunk.js} +1 -1
- package/dist/scripts/{2-cd7f1d10b5.chunk.js → 2-cfce7347b3.chunk.js} +1 -1
- package/dist/scripts/{20-42dc06da39.chunk.js → 20-9f938a6f3e.chunk.js} +1 -1
- package/dist/scripts/{21-05615559be.chunk.js → 21-3a0591790a.chunk.js} +1 -1
- package/dist/scripts/{22-70b4c18dd2.chunk.js → 22-75ca7c2ae2.chunk.js} +1 -1
- package/dist/scripts/23-6cc6df1006.chunk.js +1 -0
- package/dist/scripts/{24-6fbd14025b.chunk.js → 24-857f2e7cba.chunk.js} +1 -1
- package/dist/scripts/{25-3d067b8b9a.chunk.js → 25-30d6eaa470.chunk.js} +1 -1
- package/dist/scripts/{26-468305820a.chunk.js → 26-7e0e9534cf.chunk.js} +1 -1
- package/dist/scripts/27-460f20f83b.chunk.js +1 -0
- package/dist/scripts/{28-f3f43a3001.chunk.js → 28-c4655d4bd8.chunk.js} +1 -1
- package/dist/scripts/{29-268278d2ac.chunk.js → 29-3629c8b906.chunk.js} +1 -1
- package/dist/scripts/{3-4694b66aa5.chunk.js → 3-34f154b85d.chunk.js} +1 -1
- package/dist/scripts/{30-694b0a0d4b.chunk.js → 30-9d7a8c6475.chunk.js} +1 -1
- package/dist/scripts/{31-4c542c18dc.chunk.js → 31-a80eb231ed.chunk.js} +1 -1
- package/dist/scripts/{32-a1543ffe27.chunk.js → 32-db0c763740.chunk.js} +1 -1
- package/dist/scripts/{33-9685703df6.chunk.js → 33-b9fef236ae.chunk.js} +1 -1
- package/dist/scripts/{34-eb9f6709b3.chunk.js → 34-d2a7193286.chunk.js} +1 -1
- package/dist/scripts/{35-1ff49137e7.chunk.js → 35-1b97d95b2a.chunk.js} +1 -1
- package/dist/scripts/{36-9e89154ca2.chunk.js → 36-179634ea36.chunk.js} +1 -1
- package/dist/scripts/{37-80589d542e.chunk.js → 37-e6d9fbefd1.chunk.js} +1 -1
- package/dist/scripts/{38-7e88534f67.chunk.js → 38-0c6051fb45.chunk.js} +1 -1
- package/dist/scripts/{39-99824f3b64.chunk.js → 39-5fffd05811.chunk.js} +1 -1
- package/dist/scripts/{4-ad1e4b43da.chunk.js → 4-2a04f5b2b3.chunk.js} +1 -1
- package/dist/scripts/{40-dbfd665c74.chunk.js → 40-5d3d9611b5.chunk.js} +1 -1
- package/dist/scripts/{41-25fbac3d17.chunk.js → 41-f3b2533950.chunk.js} +1 -1
- package/dist/scripts/42-075fbbf19d.chunk.js +1 -0
- package/dist/scripts/{43-5ef29feb2c.chunk.js → 43-205ccfa9a4.chunk.js} +1 -1
- package/dist/scripts/{44-223f602431.chunk.js → 44-4be8465afa.chunk.js} +1 -1
- package/dist/scripts/{45-344492a36f.chunk.js → 45-541254a177.chunk.js} +1 -1
- package/dist/scripts/{46-9ca7afd6a4.chunk.js → 46-fe575b6c9f.chunk.js} +1 -1
- package/dist/scripts/{47-ac0c9c5ce1.chunk.js → 47-18d84f7b83.chunk.js} +1 -1
- package/dist/scripts/{48-6bf590b9a0.chunk.js → 48-40adeb652e.chunk.js} +1 -1
- package/dist/scripts/{49-8e3e782ffb.chunk.js → 49-ac59f2a6fd.chunk.js} +1 -1
- package/dist/scripts/{5-b236603e85.chunk.js → 5-ce9948090c.chunk.js} +1 -1
- package/dist/scripts/{50-30ba08212e.chunk.js → 50-8cc4935ea5.chunk.js} +1 -1
- package/dist/scripts/{51-828972defb.chunk.js → 51-cd80402e6e.chunk.js} +1 -1
- package/dist/scripts/{52-b2acf3e742.chunk.js → 52-7e11748c73.chunk.js} +1 -1
- package/dist/scripts/{53-5d6ea94871.chunk.js → 53-e807e56657.chunk.js} +1 -1
- package/dist/scripts/{54-2d8bd6fde0.chunk.js → 54-265c2852ce.chunk.js} +1 -1
- package/dist/scripts/{55-4a8d360746.chunk.js → 55-68bef0b859.chunk.js} +1 -1
- package/dist/scripts/{56-ad12ebab5f.chunk.js → 56-f52cc13b44.chunk.js} +1 -1
- package/dist/scripts/{57-53b89c2ef0.chunk.js → 57-77549e4856.chunk.js} +1 -1
- package/dist/scripts/{58-b246abe78c.chunk.js → 58-3f44c0ba1a.chunk.js} +1 -1
- package/dist/scripts/{59-19290686e0.chunk.js → 59-bf231da287.chunk.js} +1 -1
- package/dist/scripts/{6-6fb543aa78.chunk.js → 6-97a29c3fdd.chunk.js} +1 -1
- package/dist/scripts/{60-0c075e7b5c.chunk.js → 60-c6a9325b5e.chunk.js} +1 -1
- package/dist/scripts/{61-2725bbfab2.chunk.js → 61-5fe4279f6d.chunk.js} +1 -1
- package/dist/scripts/{62-472d10a18e.chunk.js → 62-ff1c8453b6.chunk.js} +1 -1
- package/dist/scripts/{63-7d00e50441.chunk.js → 63-47a43e2399.chunk.js} +1 -1
- package/dist/scripts/{64-1b42f78644.chunk.js → 64-398f9ac217.chunk.js} +1 -1
- package/dist/scripts/{65-14af88c745.chunk.js → 65-d75308a09e.chunk.js} +1 -1
- package/dist/scripts/{66-bc274df13a.chunk.js → 66-ec32c5588a.chunk.js} +1 -1
- package/dist/scripts/{67-d1edef09d6.chunk.js → 67-6805e53bfb.chunk.js} +1 -1
- package/dist/scripts/{68-52468201b9.chunk.js → 68-046ada4945.chunk.js} +1 -1
- package/dist/scripts/{69-b681e9a99c.chunk.js → 69-235a8e6754.chunk.js} +1 -1
- package/dist/scripts/{7-2807a666bc.chunk.js → 7-55f3aed0f4.chunk.js} +1 -1
- package/dist/scripts/{70-d4018838a9.chunk.js → 70-150be3f4a2.chunk.js} +1 -1
- package/dist/scripts/{71-29cce07c7f.chunk.js → 71-c63b7a2a30.chunk.js} +1 -1
- package/dist/scripts/{72-6f83214b8d.chunk.js → 72-53bdb8c37f.chunk.js} +1 -1
- package/dist/scripts/{8-8f44e8bfc4.chunk.js → 8-94205353a6.chunk.js} +1 -1
- package/dist/scripts/{9-b8f9ea66c4.chunk.js → 9-0776e647a0.chunk.js} +1 -1
- package/dist/scripts/bundle-704119eb6d.min.js +8 -0
- package/dist/scripts/bundles.json +2 -2
- package/dist/scripts/polyfills-44c21c47b6.min.js +1 -0
- package/package.json +4 -4
- package/dist/css/1.chunk.css.map +0 -1
- package/dist/css/10.chunk.css.map +0 -1
- package/dist/css/11.chunk.css +0 -137
- package/dist/css/11.chunk.css.map +0 -1
- package/dist/css/12.chunk.css.map +0 -1
- package/dist/css/13.chunk.css.map +0 -1
- package/dist/css/14.chunk.css.map +0 -1
- package/dist/css/16.chunk.css.map +0 -1
- package/dist/css/17.chunk.css.map +0 -1
- package/dist/css/18.chunk.css +0 -20
- package/dist/css/18.chunk.css.map +0 -1
- package/dist/css/2.chunk.css +0 -145
- package/dist/css/2.chunk.css.map +0 -1
- package/dist/css/21.chunk.css.map +0 -1
- package/dist/css/22.chunk.css.map +0 -1
- package/dist/css/23.chunk.css.map +0 -1
- package/dist/css/25.chunk.css.map +0 -1
- package/dist/css/26.chunk.css.map +0 -1
- package/dist/css/28.chunk.css.map +0 -1
- package/dist/css/29.chunk.css.map +0 -1
- package/dist/css/3.chunk.css.map +0 -1
- package/dist/css/30.chunk.css.map +0 -1
- package/dist/css/31.chunk.css.map +0 -1
- package/dist/css/32.chunk.css.map +0 -1
- package/dist/css/33.chunk.css.map +0 -1
- package/dist/css/34.chunk.css +0 -21
- package/dist/css/34.chunk.css.map +0 -1
- package/dist/css/35.chunk.css +0 -20
- package/dist/css/35.chunk.css.map +0 -1
- package/dist/css/36.chunk.css +0 -14
- package/dist/css/36.chunk.css.map +0 -1
- package/dist/css/37.chunk.css.map +0 -1
- package/dist/css/38.chunk.css.map +0 -1
- package/dist/css/40.chunk.css.map +0 -1
- package/dist/css/41.chunk.css.map +0 -1
- package/dist/css/42.chunk.css.map +0 -1
- package/dist/css/43.chunk.css.map +0 -1
- package/dist/css/44.chunk.css.map +0 -1
- package/dist/css/45.chunk.css.map +0 -1
- package/dist/css/46.chunk.css.map +0 -1
- package/dist/css/47.chunk.css.map +0 -1
- package/dist/css/48.chunk.css.map +0 -1
- package/dist/css/49.chunk.css +0 -35
- package/dist/css/49.chunk.css.map +0 -1
- package/dist/css/50.chunk.css.map +0 -1
- package/dist/css/51.chunk.css.map +0 -1
- package/dist/css/52.chunk.css +0 -66
- package/dist/css/52.chunk.css.map +0 -1
- package/dist/css/55.chunk.css.map +0 -1
- package/dist/css/56.chunk.css.map +0 -1
- package/dist/css/58.chunk.css.map +0 -1
- package/dist/css/59.chunk.css.map +0 -1
- package/dist/css/6.chunk.css.map +0 -1
- package/dist/css/60.chunk.css +0 -18
- package/dist/css/60.chunk.css.map +0 -1
- package/dist/css/62.chunk.css.map +0 -1
- package/dist/css/63.chunk.css +0 -170
- package/dist/css/63.chunk.css.map +0 -1
- package/dist/css/67.chunk.css +0 -78
- package/dist/css/67.chunk.css.map +0 -1
- package/dist/css/68.chunk.css +0 -17
- package/dist/css/68.chunk.css.map +0 -1
- package/dist/css/69.chunk.css +0 -17
- package/dist/css/69.chunk.css.map +0 -1
- package/dist/css/7.chunk.css.map +0 -1
- package/dist/css/70.chunk.css +0 -23
- package/dist/css/70.chunk.css.map +0 -1
- package/dist/css/71.chunk.css +0 -40
- package/dist/css/71.chunk.css.map +0 -1
- package/dist/css/72.chunk.css +0 -16
- package/dist/css/72.chunk.css.map +0 -1
- package/dist/css/73.chunk.css +0 -37
- package/dist/css/73.chunk.css.map +0 -1
- package/dist/css/74.chunk.css +0 -29
- package/dist/css/74.chunk.css.map +0 -1
- package/dist/css/75.chunk.css +0 -6
- package/dist/css/75.chunk.css.map +0 -1
- package/dist/css/76.chunk.css +0 -6
- package/dist/css/76.chunk.css.map +0 -1
- package/dist/css/8.chunk.css.map +0 -1
- package/dist/css/library-editor-app.css.map +0 -1
- package/dist/libs/shared/src/enums/PlayerMediaType.d.ts +0 -5
- package/dist/libs/shared/src/interfaces/models/interactive.d.ts +0 -9
- package/dist/scripts/0.chunk.js +0 -1039
- package/dist/scripts/0.chunk.js.map +0 -1
- package/dist/scripts/1.chunk.js +0 -442
- package/dist/scripts/1.chunk.js.map +0 -1
- package/dist/scripts/10.chunk.js +0 -820
- package/dist/scripts/10.chunk.js.map +0 -1
- package/dist/scripts/11.chunk.js +0 -4091
- package/dist/scripts/11.chunk.js.map +0 -1
- package/dist/scripts/12.chunk.js +0 -555
- package/dist/scripts/12.chunk.js.map +0 -1
- package/dist/scripts/13-89b3a0aebb.chunk.js +0 -1
- package/dist/scripts/13.chunk.js +0 -380
- package/dist/scripts/13.chunk.js.map +0 -1
- package/dist/scripts/14.chunk.js +0 -2386
- package/dist/scripts/14.chunk.js.map +0 -1
- package/dist/scripts/15.chunk.js +0 -314
- package/dist/scripts/15.chunk.js.map +0 -1
- package/dist/scripts/16.chunk.js +0 -1290
- package/dist/scripts/16.chunk.js.map +0 -1
- package/dist/scripts/17.chunk.js +0 -381
- package/dist/scripts/17.chunk.js.map +0 -1
- package/dist/scripts/18.chunk.js +0 -393
- package/dist/scripts/18.chunk.js.map +0 -1
- package/dist/scripts/19.chunk.js +0 -364
- package/dist/scripts/19.chunk.js.map +0 -1
- package/dist/scripts/2.chunk.js +0 -523
- package/dist/scripts/2.chunk.js.map +0 -1
- package/dist/scripts/20.chunk.js +0 -317
- package/dist/scripts/20.chunk.js.map +0 -1
- package/dist/scripts/21.chunk.js +0 -531
- package/dist/scripts/21.chunk.js.map +0 -1
- package/dist/scripts/22.chunk.js +0 -354
- package/dist/scripts/22.chunk.js.map +0 -1
- package/dist/scripts/23-3166dfeef5.chunk.js +0 -1
- package/dist/scripts/23.chunk.js +0 -604
- package/dist/scripts/23.chunk.js.map +0 -1
- package/dist/scripts/24.chunk.js +0 -318
- package/dist/scripts/24.chunk.js.map +0 -1
- package/dist/scripts/25.chunk.js +0 -365
- package/dist/scripts/25.chunk.js.map +0 -1
- package/dist/scripts/26.chunk.js +0 -442
- package/dist/scripts/26.chunk.js.map +0 -1
- package/dist/scripts/27-d03a99658e.chunk.js +0 -1
- package/dist/scripts/27.chunk.js +0 -3630
- package/dist/scripts/27.chunk.js.map +0 -1
- package/dist/scripts/28.chunk.js +0 -3172
- package/dist/scripts/28.chunk.js.map +0 -1
- package/dist/scripts/29.chunk.js +0 -3090
- package/dist/scripts/29.chunk.js.map +0 -1
- package/dist/scripts/3.chunk.js +0 -845
- package/dist/scripts/3.chunk.js.map +0 -1
- package/dist/scripts/30.chunk.js +0 -1851
- package/dist/scripts/30.chunk.js.map +0 -1
- package/dist/scripts/31.chunk.js +0 -958
- package/dist/scripts/31.chunk.js.map +0 -1
- package/dist/scripts/32.chunk.js +0 -1239
- package/dist/scripts/32.chunk.js.map +0 -1
- package/dist/scripts/33.chunk.js +0 -971
- package/dist/scripts/33.chunk.js.map +0 -1
- package/dist/scripts/34.chunk.js +0 -990
- package/dist/scripts/34.chunk.js.map +0 -1
- package/dist/scripts/35.chunk.js +0 -518
- package/dist/scripts/35.chunk.js.map +0 -1
- package/dist/scripts/36.chunk.js +0 -335
- package/dist/scripts/36.chunk.js.map +0 -1
- package/dist/scripts/37.chunk.js +0 -236
- package/dist/scripts/37.chunk.js.map +0 -1
- package/dist/scripts/38.chunk.js +0 -315
- package/dist/scripts/38.chunk.js.map +0 -1
- package/dist/scripts/39.chunk.js +0 -107
- package/dist/scripts/39.chunk.js.map +0 -1
- package/dist/scripts/4.chunk.js +0 -335
- package/dist/scripts/4.chunk.js.map +0 -1
- package/dist/scripts/40.chunk.js +0 -2493
- package/dist/scripts/40.chunk.js.map +0 -1
- package/dist/scripts/41.chunk.js +0 -1782
- package/dist/scripts/41.chunk.js.map +0 -1
- package/dist/scripts/42-9f757567db.chunk.js +0 -1
- package/dist/scripts/42.chunk.js +0 -2327
- package/dist/scripts/42.chunk.js.map +0 -1
- package/dist/scripts/43.chunk.js +0 -1206
- package/dist/scripts/43.chunk.js.map +0 -1
- package/dist/scripts/44.chunk.js +0 -2245
- package/dist/scripts/44.chunk.js.map +0 -1
- package/dist/scripts/45.chunk.js +0 -1065
- package/dist/scripts/45.chunk.js.map +0 -1
- package/dist/scripts/46.chunk.js +0 -655
- package/dist/scripts/46.chunk.js.map +0 -1
- package/dist/scripts/47.chunk.js +0 -736
- package/dist/scripts/47.chunk.js.map +0 -1
- package/dist/scripts/48.chunk.js +0 -994
- package/dist/scripts/48.chunk.js.map +0 -1
- package/dist/scripts/49.chunk.js +0 -761
- package/dist/scripts/49.chunk.js.map +0 -1
- package/dist/scripts/5.chunk.js +0 -15
- package/dist/scripts/5.chunk.js.map +0 -1
- package/dist/scripts/50.chunk.js +0 -530
- package/dist/scripts/50.chunk.js.map +0 -1
- package/dist/scripts/51.chunk.js +0 -932
- package/dist/scripts/51.chunk.js.map +0 -1
- package/dist/scripts/52.chunk.js +0 -408
- package/dist/scripts/52.chunk.js.map +0 -1
- package/dist/scripts/53.chunk.js +0 -756
- package/dist/scripts/53.chunk.js.map +0 -1
- package/dist/scripts/54.chunk.js +0 -681
- package/dist/scripts/54.chunk.js.map +0 -1
- package/dist/scripts/55.chunk.js +0 -645
- package/dist/scripts/55.chunk.js.map +0 -1
- package/dist/scripts/56.chunk.js +0 -346
- package/dist/scripts/56.chunk.js.map +0 -1
- package/dist/scripts/57.chunk.js +0 -422
- package/dist/scripts/57.chunk.js.map +0 -1
- package/dist/scripts/58.chunk.js +0 -437
- package/dist/scripts/58.chunk.js.map +0 -1
- package/dist/scripts/59.chunk.js +0 -342
- package/dist/scripts/59.chunk.js.map +0 -1
- package/dist/scripts/6.chunk.js +0 -484
- package/dist/scripts/6.chunk.js.map +0 -1
- package/dist/scripts/60.chunk.js +0 -254
- package/dist/scripts/60.chunk.js.map +0 -1
- package/dist/scripts/61.chunk.js +0 -408
- package/dist/scripts/61.chunk.js.map +0 -1
- package/dist/scripts/62.chunk.js +0 -142
- package/dist/scripts/62.chunk.js.map +0 -1
- package/dist/scripts/63.chunk.js +0 -147
- package/dist/scripts/63.chunk.js.map +0 -1
- package/dist/scripts/64.chunk.js +0 -439
- package/dist/scripts/64.chunk.js.map +0 -1
- package/dist/scripts/65.chunk.js +0 -582
- package/dist/scripts/65.chunk.js.map +0 -1
- package/dist/scripts/66.chunk.js +0 -442
- package/dist/scripts/66.chunk.js.map +0 -1
- package/dist/scripts/67.chunk.js +0 -295
- package/dist/scripts/67.chunk.js.map +0 -1
- package/dist/scripts/68.chunk.js +0 -165
- package/dist/scripts/68.chunk.js.map +0 -1
- package/dist/scripts/69.chunk.js +0 -248
- package/dist/scripts/69.chunk.js.map +0 -1
- package/dist/scripts/7.chunk.js +0 -309
- package/dist/scripts/7.chunk.js.map +0 -1
- package/dist/scripts/70.chunk.js +0 -207
- package/dist/scripts/70.chunk.js.map +0 -1
- package/dist/scripts/71.chunk.js +0 -237
- package/dist/scripts/71.chunk.js.map +0 -1
- package/dist/scripts/72.chunk.js +0 -331
- package/dist/scripts/72.chunk.js.map +0 -1
- package/dist/scripts/73.chunk.js +0 -404
- package/dist/scripts/73.chunk.js.map +0 -1
- package/dist/scripts/74.chunk.js +0 -301
- package/dist/scripts/74.chunk.js.map +0 -1
- package/dist/scripts/75.chunk.js +0 -231
- package/dist/scripts/75.chunk.js.map +0 -1
- package/dist/scripts/76.chunk.js +0 -157
- package/dist/scripts/76.chunk.js.map +0 -1
- package/dist/scripts/77.chunk.js +0 -307
- package/dist/scripts/77.chunk.js.map +0 -1
- package/dist/scripts/78.chunk.js +0 -249
- package/dist/scripts/78.chunk.js.map +0 -1
- package/dist/scripts/79.chunk.js +0 -282
- package/dist/scripts/79.chunk.js.map +0 -1
- package/dist/scripts/8.chunk.js +0 -307
- package/dist/scripts/8.chunk.js.map +0 -1
- package/dist/scripts/80.chunk.js +0 -308
- package/dist/scripts/80.chunk.js.map +0 -1
- package/dist/scripts/81.chunk.js +0 -366
- package/dist/scripts/81.chunk.js.map +0 -1
- package/dist/scripts/82.chunk.js +0 -314
- package/dist/scripts/82.chunk.js.map +0 -1
- package/dist/scripts/83.chunk.js +0 -328
- package/dist/scripts/83.chunk.js.map +0 -1
- package/dist/scripts/84.chunk.js +0 -313
- package/dist/scripts/84.chunk.js.map +0 -1
- package/dist/scripts/85.chunk.js +0 -291
- package/dist/scripts/85.chunk.js.map +0 -1
- package/dist/scripts/86.chunk.js +0 -119
- package/dist/scripts/86.chunk.js.map +0 -1
- package/dist/scripts/87.chunk.js +0 -219
- package/dist/scripts/87.chunk.js.map +0 -1
- package/dist/scripts/88.chunk.js +0 -194
- package/dist/scripts/88.chunk.js.map +0 -1
- package/dist/scripts/89.chunk.js +0 -522
- package/dist/scripts/89.chunk.js.map +0 -1
- package/dist/scripts/9.chunk.js +0 -222
- package/dist/scripts/9.chunk.js.map +0 -1
- package/dist/scripts/90.chunk.js +0 -337
- package/dist/scripts/90.chunk.js.map +0 -1
- package/dist/scripts/91.chunk.js +0 -131
- package/dist/scripts/91.chunk.js.map +0 -1
- package/dist/scripts/92.chunk.js +0 -266
- package/dist/scripts/92.chunk.js.map +0 -1
- package/dist/scripts/bundle-f28b86bf5b.min.js +0 -8
- package/dist/scripts/bundle.js +0 -67206
- package/dist/scripts/bundle.js.map +0 -1
- package/dist/scripts/polyfills-1d2233ebcc.min.js +0 -1
- package/dist/scripts/polyfills.js +0 -14866
- package/dist/scripts/polyfills.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["file://C:/ClickView/front-end/clickview/packages/libs/shared/src/legacy/components/pagination/Pagination.hbs","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/legacy/components/pagination/PaginationComponent.ts","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/library-editor/behaviors/shared/DragOptions.ts","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/library-editor/behaviors/shared/DraggableItem.hbs","file://C:/ClickView/front-end/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?8d2b","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/library-editor/behaviors/shared/index.ts","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/search/components/filters/Filters.hbs","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/search/components/filters/FiltersComponent.ts","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-button-list/FilterButtonItem.hbs","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-button-list/FilterButtonItemComponent.ts","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-button-list/FilterButtonListComponent.ts","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-button-list/index.ts","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-list/FilterItem.hbs","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-list/FilterItemComponent.ts","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-list/FilterList.hbs","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-list/FilterListComponent.ts","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/FilterOptions.hbs","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/FilterOptionsComponent.ts","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/bool-filter-options/BoolFilterOptions.hbs","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/bool-filter-options/BoolFilterOptionsComponent.ts","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/duration-filter-options/DurationFilterOptionItem.hbs","file://C:/ClickView/front-end/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?8cf0","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/filter-option-list/FilterOptionItem.hbs","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/filter-option-list/FilterOptionItemComponent.ts","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/filter-option-list/FilterOptionsList.hbs","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/filter-option-list/FilterOptionsListComponent.ts","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/index.ts","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/range-filter-options/RangeFilterOptionItem.hbs","file://C:/ClickView/front-end/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?8ba3","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/tag-filter-options/TagFilterOptions.hbs","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/tag-filter-options/TagFilterOptionsComponent.ts","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/search/components/filters/filter-options/tag-filter-options/TagFilterOptionsList.hbs","file://C:/ClickView/front-end/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?6136","webpack://@clickview/library-editor/./src/apps/search/components/filters/filters.scss?051e","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/search/components/filters/index.ts","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/search/components/filters/more-filters-button/MoreFiltersButton.hbs","file://C:/ClickView/front-end/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?9bf6","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/search/constants/SearchRadioChannels.ts","file://C:/ClickView/front-end/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, 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 const 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 });\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 { 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 { 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 { 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 { 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 { 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":""}
|