@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/projects/library-editor/src/apps/library-editor/components/chapter-form/ChapterForm.hbs","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/library-editor/components/chapter-form/ChapterFormComponent.ts","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/library-editor/components/chapter-list/ChapterComponentCollection.ts","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/library-editor/components/chapter-list/ChapterItem.hbs","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/library-editor/components/chapter-list/ChapterItemComponent.ts","webpack://@clickview/library-editor/./src/apps/library-editor/components/chapter-list/chapter-item.scss?9c71","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/library-editor/components/chapters/Chapters.hbs","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/library-editor/components/chapters/ChaptersComponent.ts"],"names":[],"mappings":"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","file":"scripts/34.chunk.js","sourcesContent":["var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable, alias2=container.lambda, alias3=container.escapeExpression, alias4=depth0 != null ? depth0 : (container.nullContext || {}), alias5=container.hooks.helperMissing;\n\n return \" <div class=\\\"col-6 form-group\\\">\\r\\n <label class=\\\"d-block\\\" for=\\\"\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.timeId : stack1), depth0))\n + \"\\\">\"\n + alias3((helpers.lang||(depth0 && depth0.lang)||alias5).call(alias4,\"startTimeLabel\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</label>\\r\\n <input\\r\\n class=\\\"form-control d-inline-block col-3 time-input hour-input\\\"\\r\\n type=\\\"number\\\"\\r\\n placeholder=\\\"\"\n + alias3((helpers.lang||(depth0 && depth0.lang)||alias5).call(alias4,\"hoursPlaceholder\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"\\\"\\r\\n name=\\\"hours\\\"\\r\\n autocomplete=\\\"off\\\"\\r\\n \"\n + ((stack1 = helpers[\"if\"].call(alias4,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.hrDisabled : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(2, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"> <b>:</b>\\r\\n <input\\r\\n class=\\\"form-control d-inline-block col-3 time-input minute-input\\\"\\r\\n type=\\\"number\\\"\\r\\n placeholder=\\\"\"\n + alias3((helpers.lang||(depth0 && depth0.lang)||alias5).call(alias4,\"minutesPlaceholder\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"\\\"\\r\\n name=\\\"minutes\\\"\\r\\n autocomplete=\\\"off\\\"\\r\\n \"\n + ((stack1 = helpers[\"if\"].call(alias4,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.minDisabled : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(2, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"> <b>:</b>\\r\\n <input\\r\\n class=\\\"form-control d-inline-block col-3 time-input second-input\\\"\\r\\n type=\\\"number\\\"\\r\\n placeholder=\\\"\"\n + alias3((helpers.lang||(depth0 && depth0.lang)||alias5).call(alias4,\"secondsPlaceholder\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"\\\"\\r\\n name=\\\"seconds\\\"\\r\\n id=\\\"\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.timeId : stack1), depth0))\n + \"\\\"\\r\\n autocomplete=\\\"off\\\"\\r\\n \"\n + ((stack1 = helpers[\"if\"].call(alias4,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.secDisabled : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(2, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \">\\r\\n <div class=\\\"form-feedback\\\"></div>\\r\\n </div>\\r\\n\";\n},\"2\":function(container,depth0,helpers,partials,data) {\n return \"disabled\";\n},\"4\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return \" <button type=\\\"submit\\\" class=\\\"btn btn-primary btn-sm ml-2\\\">\\r\\n <span class=\\\"d-inline-block align-middle svg-container\\\">\"\n + ((stack1 = container.lambda(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.plusSvg : stack1), depth0)) != null ? stack1 : \"\")\n + \"</span>\\r\\n <span class=\\\"align-middle\\\">\"\n + container.escapeExpression((helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),\"add\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</span>\\r\\n </button>\\r\\n\";\n},\"6\":function(container,depth0,helpers,partials,data) {\n var alias1=container.propertyIsEnumerable, alias2=depth0 != null ? depth0 : (container.nullContext || {}), alias3=container.hooks.helperMissing, alias4=container.escapeExpression;\n\n return \" <button type=\\\"submit\\\" class=\\\"btn btn-primary btn-sm ml-2\\\">\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"save\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</button>\\r\\n <button type=\\\"button\\\" class=\\\"btn btn-secondary btn-sm cancel ml-2\\\">\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"cancel\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</button>\\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable, alias2=container.lambda, alias3=container.escapeExpression, alias4=depth0 != null ? depth0 : (container.nullContext || {}), alias5=container.hooks.helperMissing;\n\n return \"<div class=\\\"row\\\">\\r\\n <div class=\\\"col-6 form-group\\\">\\r\\n <label for=\\\"\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.chapterId : stack1), depth0))\n + \"\\\">\"\n + alias3((helpers.lang||(depth0 && depth0.lang)||alias5).call(alias4,\"nameLabel\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</label>\\r\\n <input type=\\\"text\\\" class=\\\"form-control chapter-name\\\" name=\\\"name\\\" id=\\\"\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.chapterId : stack1), depth0))\n + \"\\\" placeholder=\\\"\"\n + alias3((helpers.lang||(depth0 && depth0.lang)||alias5).call(alias4,\"namePlaceholder\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"\\\" autofocus autocomplete=\\\"off\\\">\\r\\n <div class=\\\"form-feedback\\\"></div>\\r\\n </div>\\r\\n\"\n + ((stack1 = helpers[\"if\"].call(alias4,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.enabled : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"</div>\\r\\n\\r\\n<div class=\\\"row\\\">\\r\\n\"\n + ((stack1 = helpers[\"if\"].call(alias4,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.creating : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(4, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\r\\n\"\n + ((stack1 = helpers[\"if\"].call(alias4,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.editing : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(6, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"</div>\";\n},\"useData\":true});","import * as Backbone from 'backbone';\r\nimport { ObjectHash, Radio } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { ViewModelService } from 'libs/common/backbone/services/ViewModelService';\r\nimport { SvgHelper, cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\n\r\nimport { BackboneValidationBehavior, StickitBehavior } from 'shared/behaviors';\r\nimport { Chapter } from 'shared/models/Chapter';\r\nimport { TimeHelpers } from 'shared/utils';\r\n\r\nimport { ChapterHelpers } from 'apps/library-editor/utils/ChapterHelper';\r\nimport { LibraryEditorActions } from 'apps/library-editor/constants';\r\n\r\nimport ChapterFormTemplate from './ChapterForm.hbs';\r\n\r\nconst ENTER_KEYCODE = 13;\r\n\r\ninterface ChapterFormComponentOptions extends Core.ComponentOptions {\r\n editing?: boolean;\r\n creating?: boolean;\r\n channelName: string;\r\n duration: number;\r\n playerViewModelKey?: string;\r\n showActions?: boolean;\r\n}\r\n\r\nexport class ChapterFormComponent extends Core.Component {\r\n protected options: ChapterFormComponentOptions;\r\n private webPlayerTime: Date;\r\n\r\n constructor(options: ChapterFormComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n if (this.options.playerViewModelKey)\r\n this.listenToPlayerViewModel();\r\n\r\n this.initViewModel();\r\n\r\n if (this.options.editing)\r\n this.syncTime();\r\n }\r\n\r\n public get name(): string {\r\n return 'ChapterFormComponent';\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.chapterForm';\r\n }\r\n\r\n public get tagName(): string {\r\n return 'form';\r\n }\r\n\r\n public get viewModelName(): string {\r\n return `${this.name}:${this.cid}`;\r\n }\r\n\r\n public get template(): any {\r\n return ChapterFormTemplate;\r\n }\r\n\r\n public get className(): string {\r\n return this.options.creating ? 'py-3' : 'border-top p-2';\r\n }\r\n\r\n\r\n public get behaviors(): any[] {\r\n return [{\r\n behaviorClass: BackboneValidationBehavior,\r\n bindViewModel: true\r\n }, {\r\n behaviorClass: StickitBehavior,\r\n bindViewModel: true\r\n }];\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n 'submit': 'onSubmit',\r\n 'change .chapter-name': 'validateName',\r\n 'keyup .chapter-name': 'validateName',\r\n 'change .time-input': 'onTimeInputUpdate',\r\n 'click .time-input': 'onTimeInputUpdate',\r\n 'keyup .time-input': 'onTimeInputUpdate',\r\n 'click .cancel': 'destroyView',\r\n };\r\n }\r\n\r\n public get bindings(): ObjectHash {\r\n return {\r\n '[name=name]': {\r\n observe: 'name',\r\n setOptions: { validate: true }\r\n },\r\n '[name=hours]': {\r\n observe: 'hours',\r\n setOptions: { validate: true }\r\n },\r\n '[name=minutes]': {\r\n observe: 'minutes',\r\n setOptions: { validate: true }\r\n },\r\n '[name=seconds]': {\r\n observe: 'seconds',\r\n setOptions: { validate: true }\r\n },\r\n };\r\n }\r\n\r\n private initViewModel(): void {\r\n this.viewModel = ViewModelService.get<Chapter>(this.viewModelName, this.model.toJSON());\r\n }\r\n\r\n /**\r\n * Synchronise start time based on current player's playback position\r\n */\r\n private listenToPlayerViewModel(): void {\r\n const playerViewModel = ViewModelService.get(this.options.playerViewModelKey);\r\n this.listenTo(playerViewModel, 'change:currenttime', this.updateTime);\r\n }\r\n\r\n /**\r\n * Set the value of each time input, syncing with the webplayer current time\r\n */\r\n private updateTime(player: Core.Model): void {\r\n this.webPlayerTime = player.get('currenttime');\r\n this.syncTime();\r\n }\r\n\r\n private syncTime(): void {\r\n // The start time of the chapter, or the current webplayer time\r\n const time = this.viewModel.get('startTime') || this.webPlayerTime;\r\n\r\n this.viewModel.set({\r\n hours: TimeHelpers.getHoursComponent(time),\r\n minutes: TimeHelpers.getMinutesComponent(time),\r\n seconds: TimeHelpers.getSecondsComponent(time)\r\n });\r\n }\r\n\r\n /**\r\n * The time constructed from each time input in seconds\r\n * Returns -1 if any time component is negative, or all time components are undefined\r\n */\r\n private getNewTime(): number {\r\n if (!this.enabled()) return 0;\r\n return TimeHelpers.parseTime(this.viewModel.pick('hours', 'minutes', 'seconds'));\r\n }\r\n\r\n /**\r\n * Whether the time input's are enabled\r\n * Is true for all chapters except for the first existing chapter\r\n */\r\n private enabled(): boolean {\r\n return this.options.creating || this.model.collection.indexOf(this.model) !== 0;\r\n }\r\n\r\n /**\r\n * Returns the maximum values for hours, minutes and seconds\r\n * based on the duration of the video\r\n */\r\n private maxTimes(): ObjectHash {\r\n const duration = TimeHelpers.millisecondsToSeconds(this.options.duration);\r\n const maxHr = TimeHelpers.getHoursComponent(duration);\r\n const maxMin = maxHr > 0 ? 59 : TimeHelpers.getMinutesComponent(duration);\r\n const maxSec = maxMin > 0 ? 59 : TimeHelpers.getSecondsComponent(duration);\r\n return {\r\n maxHr, maxMin, maxSec\r\n };\r\n }\r\n\r\n /**\r\n * Called when any of the 3 time inputs are updated\r\n * If we are creating a chapter, the webplayer time is also updated\r\n */\r\n private onTimeInputUpdate(): void {\r\n const channel = Radio.channel(this.options.channelName);\r\n channel.trigger(LibraryEditorActions.UpdateChapterTime, this.getNewTime());\r\n\r\n this.validateStartTime();\r\n }\r\n\r\n private destroyView(): void {\r\n const channel = Radio.channel(this.options.channelName);\r\n channel.trigger(LibraryEditorActions.CancelChapterEdit);\r\n this.destroy();\r\n }\r\n\r\n /**\r\n * When a chapter is added or saved, validate the new values\r\n * and trigger appropriate event to update the chapter list\r\n */\r\n private onSubmit(e: JQuery.Event): boolean {\r\n e.preventDefault();\r\n\r\n if (!this.validate())\r\n return false;\r\n\r\n const newChapter: ObjectHash = {\r\n id: this.viewModel.get('id'),\r\n name: this.viewModel.get('name'),\r\n startTime: this.getNewTime(),\r\n };\r\n\r\n const channel = Radio.channel(this.options.channelName);\r\n\r\n // Update or create chapter depending on where the component is being rendered\r\n let chapterChangeEvent = LibraryEditorActions.CreateChapter;\r\n\r\n if (this.options.editing)\r\n chapterChangeEvent = LibraryEditorActions.UpdateChapter;\r\n\r\n channel.trigger(chapterChangeEvent, newChapter);\r\n\r\n this.stopListening(this.viewModel);\r\n ViewModelService.clear(this.viewModelName);\r\n }\r\n\r\n private validate(): boolean {\r\n this.viewModel.validate();\r\n const validStartTime = this.validateStartTime();\r\n const validateName = this.validateName();\r\n return this.viewModel.isValid() && validStartTime && validateName;\r\n }\r\n\r\n private validateStartTime(): boolean {\r\n const { valid, invalid } = Backbone.Validation.callbacks;\r\n const parentCollection = this.model.collection || this.options.collection;\r\n\r\n const newTime = this.getNewTime();\r\n\r\n const invalidTimeMessage = ChapterHelpers.isValidChapterTime(\r\n this.model, newTime, this.options.duration, parentCollection\r\n );\r\n\r\n let invalidTimeProps: any = [];\r\n const validTimeProps = [ 'seconds', 'minutes', 'hours' ];\r\n\r\n if (newTime < 0) {\r\n invalidTimeProps = validTimeProps;\r\n } else if (invalidTimeMessage) {\r\n invalidTimeProps.push('seconds');\r\n if (newTime > 59) invalidTimeProps.push('minutes');\r\n if (newTime > (59 * 60)) invalidTimeProps.push('hours');\r\n }\r\n\r\n validTimeProps.forEach((prop: string) => valid(this, prop, null));\r\n invalidTimeProps.forEach((prop: string) => invalid(this, prop, invalidTimeMessage, null));\r\n\r\n return !invalidTimeMessage;\r\n }\r\n\r\n private validateName(e?: JQueryEventObject): boolean {\r\n if (e && e.keyCode === ENTER_KEYCODE) return;\r\n\r\n const { valid, invalid } = Backbone.Validation.callbacks;\r\n const parentCollection = this.model.collection || this.options.collection;\r\n\r\n const invalidNameMessage = ChapterHelpers.isValidChapterName(this.model, this.viewModel.get('name'), parentCollection);\r\n\r\n if (!invalidNameMessage)\r\n valid(this, 'name', null);\r\n else\r\n invalid(this, 'name', invalidNameMessage, null);\r\n\r\n return !invalidNameMessage;\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n const { maxHr, maxMin, maxSec } = this.maxTimes();\r\n\r\n const secDisabled = maxSec === 0;\r\n const minDisabled = maxMin === 0;\r\n const hrDisabled = maxHr === 0;\r\n\r\n return {\r\n ...this.options,\r\n enabled: this.enabled(),\r\n timeId: `${this.cid}-time`,\r\n chapterId: `${this.cid}-chapter-name`,\r\n plusSvg: SvgHelper.getSvg(cvSvgLibrary.Plus),\r\n secDisabled, minDisabled, hrDisabled\r\n };\r\n }\r\n}\r\n","import { ObjectHash } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport { Chapter } from 'shared/models/Chapter';\r\nimport { ChapterItemComponent } from 'apps/library-editor/components/chapter-list/ChapterItemComponent';\r\nimport { LibraryEditorActions } from 'apps/library-editor/constants';\r\n\r\ninterface ChapterComponentCollectionOptions extends Core.ComponentCollectionOptions {\r\n duration: number;\r\n channelName: string;\r\n showActions?: boolean;\r\n editable?: boolean;\r\n}\r\n\r\nexport class ChapterComponentCollection extends Core.ComponentCollection {\r\n protected options: ChapterComponentCollectionOptions;\r\n\r\n constructor(options: ChapterComponentCollectionOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.bindEditorListeners();\r\n }\r\n\r\n public get name(): string {\r\n return 'ChapterComponentCollection';\r\n }\r\n\r\n public get className(): string {\r\n return 'chapters';\r\n }\r\n\r\n public get childView(): typeof ChapterItemComponent {\r\n return ChapterItemComponent;\r\n }\r\n\r\n private bindEditorListeners(): void {\r\n if (!this.options.editable)\r\n return;\r\n\r\n this.listenTo(this.options.channelName, LibraryEditorActions.ToggleEdit, this.toggleEditForm);\r\n }\r\n\r\n /**\r\n * When a child view triggers its edit view, hide all other edit views\r\n */\r\n public toggleEditForm(model: Chapter): void {\r\n this.collection.each(m => m !== model && m.set('showEditor', false));\r\n model.set('showEditor', !model.get('showEditor'));\r\n }\r\n\r\n public get childViewOptions(): ObjectHash {\r\n return {\r\n showActions: this.options.showActions,\r\n duration: this.options.duration,\r\n channelName: this.options.channelName,\r\n };\r\n }\r\n}\r\n","var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return container.escapeExpression(container.lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.loading : stack1), depth0));\n},\"3\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable, alias2=container.lambda, alias3=container.escapeExpression, alias4=depth0 != null ? depth0 : (container.nullContext || {});\n\n return \" <div class=\\\"col-2 text-right\\\">\\r\\n <a class=\\\"action edit-chapter my-2 svg-container \"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.svgContainer : stack1), depth0))\n + \" d-inline-block text-muted\\\"\\r\\n title=\\\"\"\n + alias3((helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(alias4,\"edit\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"\\\">\"\n + ((stack1 = alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.editSvg : stack1), depth0)) != null ? stack1 : \"\")\n + \"</a>\\r\\n\"\n + ((stack1 = helpers[\"if\"].call(alias4,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.allowDelete : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(4, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \" </div>\\r\\n\";\n},\"4\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable, alias2=container.lambda, alias3=container.escapeExpression;\n\n return \" <a class=\\\"action delete-chapter my-2 svg-container \"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.svgContainer : stack1), depth0))\n + \" d-inline-block text-muted\\\"\\r\\n title=\\\"\"\n + alias3((helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),\"delete\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"\\\">\"\n + ((stack1 = alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.deleteSvg : stack1), depth0)) != null ? stack1 : \"\")\n + \"</a>\\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper, alias1=container.propertyIsEnumerable, alias2=depth0 != null ? depth0 : (container.nullContext || {}), alias3=container.lambda, alias4=container.escapeExpression;\n\n return \"<div class=\\\"row mx-0 border-top chapter-item \"\n + ((stack1 = helpers[\"if\"].call(alias2,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.loading : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\">\\r\\n <div class=\\\"clickable-seek col-1\\\">\\r\\n <p class=\\\"m-0 py-2\\\">\"\n + alias4(alias3(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.index : stack1), depth0))\n + \"</p>\\r\\n </div>\\r\\n <div class=\\\"clickable-seek col-6\\\">\\r\\n <p class=\\\"m-0 py-2\\\">\"\n + alias4(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === \"function\" ? helper.call(alias2,{\"name\":\"name\",\"hash\":{},\"data\":data}) : helper)))\n + \"</p>\\r\\n </div>\\r\\n <div class=\\\"clickable-seek col-3 text-right\\\">\\r\\n <p class=\\\"m-0 py-2\\\">\"\n + alias4(alias3(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.time : stack1), depth0))\n + \"</p>\\r\\n </div>\\r\\n\"\n + ((stack1 = helpers[\"if\"].call(alias2,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.showActions : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"</div>\\r\\n<div class=\\\"edit-form-region\\\"></div>\\r\\n\";\n},\"useData\":true});","import { ObjectHash, Radio } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\nimport { SvgHelper, cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\nimport { TooltipBehavior } from 'libs/shared/legacy/behaviors/tooltip/TooltipBehavior';\r\n\r\nimport { TimeHelpers } from 'shared/utils';\r\n\r\nimport { ChapterFormComponent } from 'apps/library-editor/components/chapter-form/ChapterFormComponent';\r\nimport { LibraryEditorActions } from 'apps/library-editor/constants';\r\n\r\nimport ChapterItemTemplate from './ChapterItem.hbs';\r\nimport styles from './chapter-item.scss';\r\n\r\ninterface ChapterItemComponentOptions extends Core.ComponentOptions {\r\n showActions?: boolean;\r\n duration: number;\r\n channelName: string;\r\n}\r\n\r\nexport class ChapterItemComponent extends Core.Component {\r\n protected options: ChapterItemComponentOptions;\r\n\r\n constructor(options: ChapterItemComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.bindListeners();\r\n }\r\n\r\n public get name(): string {\r\n return 'ChapterItemComponent';\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.chapterItem';\r\n }\r\n\r\n public get instanceChannelName(): string {\r\n return `${this.name}${this.cid}`;\r\n }\r\n\r\n public get template(): any {\r\n return ChapterItemTemplate;\r\n }\r\n\r\n public get className(): string {\r\n return `chapter ${styles.chapterItem}`;\r\n }\r\n\r\n public get behaviors(): any[] {\r\n return [{\r\n behaviorClass: TooltipBehavior,\r\n selector: '.action'\r\n }];\r\n }\r\n\r\n public regions(): ObjectHash {\r\n return {\r\n editForm: {\r\n replaceElement: false,\r\n el: '.edit-form-region'\r\n }\r\n };\r\n }\r\n\r\n public get elements(): ObjectHash {\r\n return {\r\n chapterItem: '.chapter-item',\r\n editChapter: '.edit-chapter',\r\n deleteChapter: '.delete-chapter'\r\n };\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n 'click @ui.editChapter': 'onEditChapter',\r\n 'click @ui.deleteChapter': 'onDeleteChapter',\r\n 'click .clickable-seek': 'onClick',\r\n };\r\n }\r\n\r\n private bindListeners(): void {\r\n this.listenTo(this.instanceChannelName, LibraryEditorActions.CancelChapterEdit, this.onCancelEdit);\r\n this.listenTo(this.instanceChannelName, LibraryEditorActions.UpdateChapter, this.onUpdateChapter);\r\n this.listenTo(this.instanceChannelName, LibraryEditorActions.UpdateChapterTime, this.onUpdateChapterTime);\r\n\r\n this.listenTo(this.model, 'change:showEditor', this.onShowEditorChange);\r\n this.listenTo(this.model, 'change:loading', this.onLoadingChange);\r\n\r\n /**\r\n * Bind listener to the first chapter to ensure that it's actions are\r\n * updated to reflect the chapter collection's state.\r\n */\r\n const firstChapter = this.model.collection.first();\r\n if (this.model === firstChapter) {\r\n this.listenTo(this.model.collection, 'add remove sort', this.render);\r\n return;\r\n }\r\n\r\n // Re-render to ensure we display accurate indexes\r\n this.listenTo(this.model.collection, 'sort', this.render);\r\n }\r\n\r\n\r\n private onClick(): void {\r\n const channel = Radio.channel(this.options.channelName);\r\n\r\n if (this.model.get('isPhysicalChapter'))\r\n channel.trigger(LibraryEditorActions.SeekToChapter, this.model.get('index'));\r\n else\r\n channel.trigger(LibraryEditorActions.UpdateChapterTime, this.model.get('startTime'));\r\n }\r\n\r\n private onLoadingChange(): void {\r\n const tooltipState = this.model.get('loading') ? 'disable' : 'enable';\r\n this.getUI('editChapter').tooltip(tooltipState as any);\r\n this.getUI('deleteChapter').tooltip(tooltipState as any);\r\n\r\n this.model.set('showEditor', false, { silent: true });\r\n this.render();\r\n }\r\n\r\n private onShowEditorChange(): void {\r\n if (this.model.get('loading'))\r\n return;\r\n\r\n this.model.get('showEditor') ? this.showEditView() : this.hideEditView();\r\n }\r\n\r\n private showEditView(): void {\r\n this.renderEditForm();\r\n this.getUI('chapterItem').addClass(styles.darkBackground);\r\n }\r\n\r\n private hideEditView(): void {\r\n this.model.set('showEditor', false, { silent: true });\r\n this.getUI('chapterItem').removeClass(styles.darkBackground);\r\n this.detachChildView('editForm');\r\n }\r\n\r\n private onCancelEdit(): void {\r\n this.hideEditView();\r\n }\r\n\r\n private onDeleteChapter(): void {\r\n if (this.model.get('loading'))\r\n return;\r\n\r\n const channel = Radio.channel(this.options.channelName);\r\n channel.trigger(LibraryEditorActions.DeleteChapter, this.model);\r\n }\r\n\r\n // Proxy the update event and propogate up to the edit chapters parent\r\n private onUpdateChapter(chapter: ObjectHash): void {\r\n Radio.channel(this.options.channelName).trigger(LibraryEditorActions.UpdateChapter, chapter);\r\n this.render();\r\n }\r\n\r\n // Proxy the update event and propogate up to the edit chapters parent\r\n private onUpdateChapterTime(time: number): void {\r\n Radio.channel(this.options.channelName).trigger(LibraryEditorActions.UpdateChapterTime, time);\r\n }\r\n\r\n private onEditChapter(): void {\r\n const channel = Radio.channel(this.options.channelName);\r\n channel.trigger(LibraryEditorActions.ToggleEdit, this.model);\r\n }\r\n\r\n private canDelete(index: number): boolean {\r\n const collectionLength = this.model.collection.length;\r\n\r\n // If the only chapter in the collection is the first chapter, allow deletion.\r\n if (index === 1 && collectionLength === 1)\r\n return true;\r\n\r\n // Don't let the first chapter be deleted if there multiple chapters.\r\n if (index === 1 && collectionLength > 1)\r\n return false;\r\n\r\n // All other chapters in th collection can be deleted.\r\n return true;\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n const index = this.model.collection.indexOf(this.model) + 1;\r\n const time = TimeHelpers.trimToMinutes(TimeHelpers.secondsToHoursFormatted(this.model.get('startTime')));\r\n\r\n return {\r\n ...this.options,\r\n styles, time, index,\r\n loading: this.model.get('loading'),\r\n allowDelete: this.canDelete(index),\r\n editSvg: SvgHelper.getSvg(cvSvgLibrary.Edit),\r\n deleteSvg: SvgHelper.getSvg(cvSvgLibrary.Delete)\r\n };\r\n }\r\n\r\n private renderEditForm(): void {\r\n this.showChildView('editForm', new ChapterFormComponent({\r\n model: this.model,\r\n editing: true,\r\n channelName: this.instanceChannelName,\r\n duration: this.options.duration,\r\n }));\r\n }\r\n\r\n // This is super trash - but calling dispose does nothing. \r\n public onBeforeDetach(): void {\r\n $('.tooltip').remove();\r\n }\r\n}\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"darkBackground\":\"cv--darkBackground--2jtQl\",\"loading\":\"cv--loading--152ia\",\"svgContainer\":\"cv--svgContainer--xdD5o\",\"chapterItem\":\"cv--chapterItem--3G38c\"};","var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var alias1=container.propertyIsEnumerable, alias2=depth0 != null ? depth0 : (container.nullContext || {}), alias3=container.hooks.helperMissing, alias4=container.escapeExpression;\n\n return \"<h5>\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"chapters\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</h5>\\r\\n<div class=\\\"row mt-3 m-0 border-bottom\\\">\\r\\n <div class=\\\"col-1\\\">\\r\\n <label>#</label>\\r\\n </div>\\r\\n <div class=\\\"col-6\\\">\\r\\n <label>\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"nameLabel\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</label>\\r\\n </div>\\r\\n <div class=\\\"col-3 text-right\\\">\\r\\n <label>\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"startLabel\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</>\\r\\n </div>\\r\\n</div>\\r\\n<div class=\\\"chapter-list-region\\\"></div>\";\n},\"useData\":true});","import { Core } from 'libs/common/core';\r\nimport { ObjectHash } from 'backbone';\r\n\r\nimport { ChapterComponentCollection } from 'apps/library-editor/components/chapter-list/ChapterComponentCollection';\r\nimport ChaptersTemplate from './Chapters.hbs';\r\n\r\ninterface ChaptersComponentOptions extends Core.ComponentOptions {\r\n channelName?: string;\r\n duration?: number;\r\n showActions?: boolean;\r\n editable?: boolean;\r\n showHeader?: boolean;\r\n}\r\n\r\nexport class ChaptersComponent extends Core.Component {\r\n public options: ChaptersComponentOptions;\r\n\r\n constructor(options: ChaptersComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'ChaptersComponent';\r\n }\r\n\r\n public get template(): any {\r\n return ChaptersTemplate;\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.chapters';\r\n }\r\n\r\n public get className(): string {\r\n return `chapters ${!this.options.editable && 'py-3 border-top'}`;\r\n }\r\n\r\n public regions(): ObjectHash {\r\n return {\r\n chapterList: {\r\n replaceElement: true,\r\n el: '.chapter-list-region',\r\n },\r\n };\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n showHeader: this.options.showHeader\r\n };\r\n }\r\n\r\n public onRender(): void {\r\n this.showChildView('chapterList', new ChapterComponentCollection({\r\n collection: this.collection,\r\n duration: this.options.duration,\r\n channelName: this.options.channelName,\r\n showActions: this.options.showActions,\r\n editable: this.options.editable\r\n }));\r\n }\r\n}"],"sourceRoot":""}
|