@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/analytics/src/utils/ObjectFormatHelper.ts","file://C:/ClickView/front-end/clickview/packages/libs/analytics/src/utils/VideoAnalyticsTracker.ts","file://C:/ClickView/front-end/clickview/packages/libs/common/src/backbone/constants/Webplayer.ts","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/shared/components/web-player/WebPlayer.handlebars","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/shared/components/web-player/WebPlayerComponent.ts","webpack://@clickview/library-editor/./src/shared/components/web-player/webplayer.scss?6643"],"names":[],"mappings":"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","file":"scripts/3.chunk.js","sourcesContent":["import * as Backbone from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\n\r\ntype BackboneDataStructure = Core.Model | Core.Collection | Backbone.Model | Backbone.Collection;\r\n\r\n// Convert backbone models/collection to regular arrays/objects.\r\nexport const ObjectFormatHelper = {\r\n toJSON<T>(object: BackboneDataStructure | T): T {\r\n return (\r\n object instanceof Core.Model ||\r\n object instanceof Core.Collection ||\r\n object instanceof Backbone.Model ||\r\n object instanceof Backbone.Collection\r\n ) ? object.toJSON() : object;\r\n }\r\n};","import * as _ from 'underscore';\r\nimport { ObjectHash } from 'backbone';\r\nimport { CVEventsApi } from 'CVEvents';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { DevError } from 'libs/common/backbone/errors/DevError';\r\nimport { WebplayerEvents } from 'libs/common/backbone/constants/Webplayer';\r\n\r\nimport { ObjectFormatHelper } from 'libs/analytics/utils/ObjectFormatHelper';\r\nimport { Video, AnalyticsOptions, UserAction, PlaybackDescriptor, ActionDescriptor } from 'libs/analytics/interfaces';\r\nimport { Analytics } from 'libs/analytics/Analytics';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\n\r\nimport { PlaybackStatus, VideoWatchAnalyticsEvent } from './VideoDataFormatHelper';\r\n\r\n// Record progress watch progress every minute\r\nconst DEFAULT_LOG_INTERVAL = 60; // Seconds\r\n\r\n// Legacy watch event was recorded after viewing for 8 seconds\r\nconst LEGACY_WATCH_ELAPSE = 8;\r\n\r\nconst SHOULD_LOG_VERBOSE = false; // See logVerbose function below.\r\n\r\ninterface StreamRawAnalyticsEvent {\r\n id: string;\r\n}\r\n\r\nexport interface VideoAnalyticsTrackerOptions extends Core.ServiceOptions {\r\n eventsApi: CVEventsApi;\r\n video: Video;\r\n captureInterval?: number;\r\n analyticsOptions?: AnalyticsOptions;\r\n}\r\n\r\nexport class VideoAnalyticsTracker extends Core.Service {\r\n protected options: VideoAnalyticsTrackerOptions;\r\n private eventsApi: CVEventsApi;\r\n private model: Video;\r\n private captureInterval: number = DEFAULT_LOG_INTERVAL;\r\n private playbackStatus: PlaybackStatus;\r\n\r\n constructor(options: VideoAnalyticsTrackerOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'VideoAnalyticsTracker';\r\n }\r\n\r\n public initialize(): void {\r\n this.eventsApi = this.options.eventsApi;\r\n\r\n if (!this.options.video)\r\n Core.ErrorHelper.throw(new DevError('Video logging requires video to be passed in.'));\r\n\r\n this.model = this.options.video;\r\n\r\n this.playbackStatus = this.getNewPlaybackStatus();\r\n\r\n if (this.options.captureInterval)\r\n this.captureInterval = this.options.captureInterval;\r\n\r\n this.bindListeners();\r\n this.getChapters();\r\n }\r\n\r\n private bindListeners(): void {\r\n this.eventsApi.on(WebplayerEvents.RECEIVE.TIME_UPDATE, _.bind(this.onPlayerTimeUpdate, this));\r\n this.eventsApi.on(WebplayerEvents.RECEIVE.VIDEO_END, _.bind(this.onEnd, this));\r\n this.eventsApi.on(WebplayerEvents.RECEIVE.FULLSCREEN_CHANGE, _.bind(this.onFullScreen, this));\r\n this.eventsApi.on(WebplayerEvents.RECEIVE.CHAPTER_CHANGE, _.bind(this.onChapterChange, this));\r\n }\r\n\r\n private unbindListeners(): void {\r\n this.eventsApi.off(WebplayerEvents.RECEIVE.TIME_UPDATE);\r\n this.eventsApi.off(WebplayerEvents.RECEIVE.VIDEO_END);\r\n this.eventsApi.off(WebplayerEvents.RECEIVE.FULLSCREEN_CHANGE);\r\n this.eventsApi.off(WebplayerEvents.RECEIVE.CHAPTER_CHANGE);\r\n }\r\n\r\n private getChapters(): void {\r\n this.queryWebplayer(WebplayerEvents.QUERIES.GET_CHAPTERS, (e: JQuery.Event, chapters: ObjectHash[]) => {\r\n this.setInitialChapter(chapters);\r\n this.setVideoDuration(chapters);\r\n });\r\n }\r\n\r\n private queryWebplayer(queryEvent: string, callback: (...args: any) => any): void {\r\n const uniqueTrackerId = _.uniqueId(this.name);\r\n const queryCallbackEvent = `${WebplayerEvents.RECEIVE.QUERY_CALLBACK}-${uniqueTrackerId}`;\r\n\r\n this.eventsApi.one(queryCallbackEvent, callback);\r\n this.eventsApi.trigger(WebplayerEvents.TRIGGER.QUERY, queryEvent, uniqueTrackerId);\r\n }\r\n\r\n private onEnd(): void {\r\n this.setCurrentPosition(this.playbackStatus.totalDuration);\r\n this.logVerbose(PlaybackDescriptor.Finish);\r\n this.resetPlaybackStatus();\r\n }\r\n\r\n private onFullScreen(e: JQuery.Event, isFullScreen: boolean): void {\r\n const descriptor = isFullScreen ? PlaybackDescriptor.FullScreenEnter : PlaybackDescriptor.FullScreenExit;\r\n this.logVerbose(descriptor);\r\n }\r\n\r\n\r\n private onPlayerTimeUpdate(e: JQuery.Event, rawTime: number): void {\r\n this.queryWebplayer(WebplayerEvents.QUERIES.IS_PAUSED, (ev: JQuery.Event, isPaused: boolean) => {\r\n this.updateTime(rawTime, isPaused);\r\n });\r\n }\r\n\r\n private onChapterChange(e: JQuery.Event, nextChapter: ObjectHash): void {\r\n if (!_.isObject(nextChapter)) return;\r\n this.setCurrentChapter(nextChapter.number);\r\n }\r\n\r\n private updateTime(rawTime: number, isPaused: boolean): void {\r\n const time = Math.floor(rawTime);\r\n\r\n /**\r\n * Ignore the first time update at 0 and duplicate events with the same rawTime point. \r\n * This is necessary to avoid subtle bugs where the webplayer is reset at the end of playback.\r\n */\r\n if (!time || time === this.getCurrentPositon()) return;\r\n\r\n /**\r\n * Always set the position first, so we can restore state when the user continues\r\n * playback of the same video from a different location. \r\n */\r\n this.setCurrentPosition(time);\r\n\r\n /**\r\n * Only update watch time and log if we are actually playing a video\r\n */\r\n if (isPaused)\r\n return;\r\n\r\n // Log the start event\r\n if (!this.playbackHasStarted()) {\r\n this.logVerbose(PlaybackDescriptor.Start);\r\n this.setPlaybackStarted();\r\n }\r\n\r\n this.incrementWatchTime();\r\n\r\n // Log at each interval period\r\n if (this.getWatchTime() % this.captureInterval === 0)\r\n this.logVerbose(PlaybackDescriptor.Playback);\r\n\r\n if (this.getWatchTime() === LEGACY_WATCH_ELAPSE)\r\n this.logStream();\r\n }\r\n\r\n private setInitialChapter(chapters: ObjectHash[]): void {\r\n const currentChapter = _.find(chapters, (c: ObjectHash) => c.current === true);\r\n\r\n if (!_.isObject(currentChapter)) return;\r\n\r\n this.setCurrentChapter(currentChapter.number);\r\n }\r\n\r\n private setVideoDuration(chapters: ObjectHash[]): void {\r\n let totalDuration = _.reduce(chapters, (d: number, c: ObjectHash) => d + c.duration, 0);\r\n\r\n if (_.isNaN(totalDuration) || !_.isNumber(totalDuration))\r\n return;\r\n\r\n // Always round down to the current second\r\n this.playbackStatus.totalDuration = Math.floor(totalDuration);\r\n }\r\n\r\n // Store the current playback position\r\n private setCurrentPosition(time: number): void {\r\n this.playbackStatus.position = time;\r\n }\r\n\r\n private getCurrentPositon(): number {\r\n return this.playbackStatus.position;\r\n }\r\n\r\n private setCurrentChapter(chapter: number): void {\r\n this.playbackStatus.chapter = chapter;\r\n }\r\n\r\n private setPlaybackStarted(): void {\r\n this.playbackStatus.hasStarted = true;\r\n }\r\n\r\n private playbackHasStarted(): boolean {\r\n return this.playbackStatus.hasStarted;\r\n }\r\n\r\n private getWatchTime(): number {\r\n return this.playbackStatus.totalWatched;\r\n }\r\n\r\n private incrementWatchTime(): void {\r\n this.playbackStatus.totalWatched += 1;\r\n }\r\n\r\n private getNewPlaybackStatus(options: ObjectHash = {}): PlaybackStatus {\r\n const { duration, watched } = options;\r\n\r\n return {\r\n position: 0,\r\n chapter: 0,\r\n hasStarted: false,\r\n totalWatched: watched ? watched : 0,\r\n totalDuration: duration ? duration : 0\r\n };\r\n }\r\n\r\n private resetPlaybackStatus(): void {\r\n const preservedState = {\r\n duration: this.playbackStatus.totalDuration,\r\n watched: this.playbackStatus.totalWatched\r\n };\r\n\r\n this.playbackStatus = this.getNewPlaybackStatus(preservedState);\r\n }\r\n\r\n private unbindUnload(): void {\r\n $(window).off('unload');\r\n }\r\n\r\n private bindUnload(): void {\r\n $(window).on('unload', _.bind(this.logUnload, this));\r\n }\r\n\r\n private logUnload(): void {\r\n if (!this.playbackHasStarted())\r\n return;\r\n\r\n this.logVerbose(PlaybackDescriptor.Terminate);\r\n }\r\n\r\n private logStream(): void {\r\n const action = AnalyticsHelper.buildActionContext(this.options.analyticsOptions);\r\n\r\n // TODO: Remove when migration to StreamRaw is finalised.\r\n Analytics.log(UserAction.Stream, this.getPlaybackData(), action);\r\n\r\n // This won't actually log as it's blocked in CollectionApiClientHelper.shouldLog\r\n Analytics.log(UserAction.StreamRaw, this.getStreamRawData(), action);\r\n }\r\n\r\n /**\r\n * logVerbose is used for more granular logging than logStream, however as of June 2020\r\n * we are only logging the simpler stream event which is the same as videoWatched in Online.\r\n */\r\n private logVerbose(descriptor: ActionDescriptor): void {\r\n if (!SHOULD_LOG_VERBOSE)\r\n return;\r\n\r\n const analyticsOptions = AnalyticsHelper.mergeOptions(this.options.analyticsOptions, { descriptor });\r\n const action = AnalyticsHelper.buildActionContext(analyticsOptions);\r\n\r\n Analytics.log(UserAction.StreamRaw, this.getStreamRawData(), action);\r\n }\r\n\r\n // TODO: Remove when migration to StreamRaw is finalised.\r\n private getPlaybackData(): VideoWatchAnalyticsEvent {\r\n return {\r\n model: ObjectFormatHelper.toJSON<Video>(this.model),\r\n /**\r\n * Clone the playback status to ensure that the object is not mutated prior to being logged by\r\n * the AnalyticsService. Remove view-specific properties.\r\n */\r\n playbackStatus: _.omit(this.playbackStatus, 'hasStarted')\r\n };\r\n }\r\n\r\n private getStreamRawData(): StreamRawAnalyticsEvent {\r\n const model = ObjectFormatHelper.toJSON<Video>(this.model);\r\n\r\n return {\r\n id: model.id.toString()\r\n };\r\n }\r\n\r\n public onDestroy(): void {\r\n this.unbindListeners();\r\n this.unbindUnload();\r\n this.logUnload();\r\n }\r\n}\r\n","/**\r\n * Events are mapped against those in Webplayer.\r\n * @see http://gitlab.cvinternal.net/WebPlayer/WebPlayer/blob/master/ClickView.Html5.WebPlayer.Web/Scripts/CVPlayerEventsApi.js\r\n */\r\nconst WebplayerEvents = {\r\n /**\r\n * Events emitted from webplayer via CVEventsAPI\r\n */\r\n RECEIVE: {\r\n PLAY: 'cv-player-play',\r\n PAUSE: 'cv-player-pause',\r\n VIDEO_END: 'cv-player-ended',\r\n VOLUME_CHANGE: 'cv-player-volumechange',\r\n CHAPTER_CHANGE: 'cv-player-chapterchange',\r\n TIME_UPDATE: 'cv-player-timeupdate',\r\n FULLSCREEN_CHANGE: 'cv-player-fullscreenchange',\r\n CLIP_POINTS_UPDATE: 'cv-player-cliptoolupdate',\r\n QUALITY_CHANGE: 'cv-player-qualitychange',\r\n QUERY_CALLBACK: 'cv-player-querycallback',\r\n SUBTITLES_ENABLED: 'cv-player-hassubtitles',\r\n SUBTITLES: 'cv-player-subtitles',\r\n PONG: 'cv-player-pong',\r\n\r\n // User-initiated events from webplayer UI\r\n FULLSCREEN_CLICK: '_cvwp:fsc',\r\n DEVICES_BTN_CLICK: '_cvwp:devices:click',\r\n },\r\n\r\n /**\r\n * Events to trigger on CVEventsAPI to manage/update webplayer\r\n */\r\n TRIGGER: {\r\n PLAY: 'cv-player-play',\r\n PAUSE: 'cv-player-pause',\r\n SET_VOLUME: 'cv-player-setvolume',\r\n NEXT_CHAPTER: 'cv-player-nextchapter',\r\n PREV_CHAPTER: 'cv-player-previouschapter',\r\n CHANGE_CHAPTER: 'cv-player-changechapter',\r\n TOGGLE_CLIPPING: 'cv-player-cliptooltoggle',\r\n SET_CLIP_POINTS: 'cv-player-cliptoolset',\r\n CLIP: 'cv-player-setclip',\r\n CLEAR_CLIP: 'cv-player-clearclip',\r\n SEEK_TO: 'cv-player-seekto',\r\n CONTROLS: 'cv-player-showcontrols',\r\n SUBTITLES: 'cv-player-subtitles',\r\n SET_QUALITY: 'cv-player-setquality',\r\n QUERY: 'cv-player-query',\r\n ADD_LISTENER: 'cv-player-addlistener',\r\n REMOVE_LISTENER: 'cv-player-removelistener',\r\n PING: 'cv-player-ping',\r\n\r\n // Update Webplayer UI\r\n TOGGLE_DEVICES_BTN: '_cv:toggledevicesbtn',\r\n SHOW_DEVICES_BTN: '_cv:showdevicesbtn',\r\n SHOW_FS_BTN: '_cv:showfsbtn'\r\n },\r\n\r\n /**\r\n * The webplayer can be queried directly for the following data.\r\n * Listen on QUERY_CALLBACK for result and trigger on QUERY.\r\n */\r\n QUERIES: {\r\n GET_AVAILABLE_QUALITIES: 'getAvailableQualities',\r\n GET_CURRENT_QUALITY: 'currentQuality',\r\n IS_PAUSED: 'paused',\r\n GET_CURRENT_TIME: 'currentTime',\r\n GET_CHAPTERS: 'getChapters',\r\n HAS_METADATA_CHAPTERS: 'hasMetadataChapters',\r\n }\r\n};\r\n\r\nexport { WebplayerEvents };","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 \"<iframe class=\\\"\"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.webPlayer : stack1), depth0))\n + \" embed-responsive-item\\\" id=\\\"\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.id : stack1), depth0))\n + \"\\\" allowfullscreen webkitallowfullscreen mozallowfullscreen allow=\\\"autoplay; fullscreen\\\" frameborder=\\\"0\\\" width=\\\"\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.width : stack1), depth0))\n + \"\\\" height=\\\"\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.height : stack1), depth0))\n + \"\\\" src=\\\"\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.url : stack1), depth0))\n + \"\\\"></iframe>\\r\\n<div class=\\\"\"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.svgContainer : stack1), depth0))\n + \"\\\">\"\n + ((stack1 = alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.playSvg : stack1), depth0)) != null ? stack1 : \"\")\n + \"</div>\";\n},\"useData\":true});","import * as _ from 'underscore';\r\nimport { ObjectHash, Radio } from 'backbone';\r\nimport { signUrl } from '@clickview/url-signer';\r\n\r\nimport { WebplayerEvents } from 'libs/common/backbone/constants/Webplayer';\r\nimport { Core } from 'libs/common/core';\r\nimport { ViewModelService } from 'libs/common/backbone/services/ViewModelService';\r\nimport { DevError } from 'libs/common/backbone/errors/DevError';\r\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\r\nimport { SvgHelper, cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\n\r\nimport { CVEventsApi } from 'CVEvents';\r\n\r\nimport { Video } from 'shared/models/Video';\r\nimport { Webplayer } from 'shared/constants';\r\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\r\nimport { VideoAnalyticsTracker } from 'libs/analytics/utils/VideoAnalyticsTracker';\r\n\r\nimport WebPlayerTemplate from './WebPlayer.handlebars';\r\nimport styles from './webplayer.scss';\r\n\r\nexport interface WebPlayerComponentOptions extends Core.ComponentOptions<Video> {\r\n isPreview?: boolean;\r\n autoplay?: boolean;\r\n parentChannelName?: string;\r\n webPlayerUrl: string;\r\n showDevicesButton?: boolean;\r\n captureAnalytics?: boolean;\r\n analyticsOptions?: AnalyticsOptions;\r\n}\r\n\r\nexport class WebPlayerComponent extends Core.Component<Video> {\r\n protected options: WebPlayerComponentOptions;\r\n\r\n public viewModel: Core.Model;\r\n private eventsApi: CVEventsApi;\r\n private enableIeFs: boolean;\r\n private isPreview: boolean;\r\n private iframeReady: boolean;\r\n private tracker: VideoAnalyticsTracker;\r\n\r\n constructor(options?: WebPlayerComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public get elements(): ObjectHash {\r\n return {\r\n iframe: 'iframe'\r\n };\r\n }\r\n\r\n public get name(): string {\r\n return 'WebPlayerView';\r\n }\r\n\r\n public get template(): any {\r\n return WebPlayerTemplate;\r\n }\r\n\r\n public get className(): string {\r\n return `${styles.webPlayerContainer} embed-responsive embed-responsive-16by9`;\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 defaults(): ObjectHash {\r\n return {\r\n captureAnalytics: true,\r\n showDevicesButton: false\r\n };\r\n }\r\n\r\n private get viewModelDefaults(): ObjectHash {\r\n return {\r\n width: 640,\r\n height: 360,\r\n autoplay: !!this.options.autoplay,\r\n parameters: {\r\n s: false, // Hide the splash\r\n bc: false, // Hide chapters and resources\r\n bf: false // Hide fullscreen button\r\n },\r\n webPlayerHost: this.options.webPlayerUrl\r\n };\r\n }\r\n\r\n public initialize(): void {\r\n this.enableIeFs = this.isTop();\r\n\r\n this.getViewModel();\r\n }\r\n\r\n public seekTo(time: number): void {\r\n if (this.eventsApi)\r\n this.eventsApi.trigger(WebplayerEvents.TRIGGER.SEEK_TO, time);\r\n }\r\n\r\n public seekToChapter(chapterIndex: number): void {\r\n if (this.eventsApi)\r\n this.eventsApi.trigger('cv-player-changechapter', chapterIndex);\r\n }\r\n\r\n private getViewModel(): void {\r\n let id = this.model.get('id');\r\n\r\n if (!id)\r\n id = this.model.get('trackingCode');\r\n\r\n this.viewModel = ViewModelService.get(`${Webplayer.NAME}-${id}`);\r\n\r\n if (!this.viewModel.get('initialized'))\r\n this.initViewModel();\r\n\r\n this.setUrl();\r\n }\r\n\r\n private initViewModel(): void {\r\n let videoModel = this.model.pick('id');\r\n\r\n if (!videoModel.id)\r\n videoModel = this.model.pick('trackingCode');\r\n\r\n if (!videoModel.id && !videoModel.trackingCode) {\r\n Core.ErrorHelper.throw(new DevError(`Must provide either a master id or a tracking code to ${this.name}`));\r\n }\r\n\r\n const attrs = _.extend({},\r\n this.viewModelDefaults,\r\n videoModel,\r\n this.viewModel.toJSON(),\r\n {\r\n initialized: true\r\n }\r\n );\r\n\r\n this.viewModel.set(attrs);\r\n }\r\n\r\n private initWebPlayerEvents(): void {\r\n if (!this.enableIeFs) return;\r\n\r\n const $iframe = this.getUI('iframe');\r\n if (!$iframe || $iframe.length === 0)\r\n return;\r\n\r\n $iframe.on('load', this.bindWebPlayerEvents.bind(this));\r\n }\r\n\r\n private bindWebPlayerEvents(): void {\r\n if (this.iframeReady)\r\n return;\r\n\r\n const iframe = this.getUI('iframe').get(0) as HTMLIFrameElement;\r\n\r\n this.eventsApi = new CVEventsApi(iframe.contentWindow);\r\n\r\n // Ping to see if we are ready\r\n this.eventsApi.on(WebplayerEvents.RECEIVE.PONG, this.onPong.bind(this));\r\n this.eventsApi.trigger(WebplayerEvents.TRIGGER.PING);\r\n\r\n // Bind events\r\n this.eventsApi.on(WebplayerEvents.RECEIVE.FULLSCREEN_CLICK, this.onFullscreenChange.bind(this));\r\n this.eventsApi.trigger(WebplayerEvents.TRIGGER.SHOW_FS_BTN);\r\n\r\n this.eventsApi.on(WebplayerEvents.RECEIVE.TIME_UPDATE, this.onTimeUpdate.bind(this));\r\n this.eventsApi.on(WebplayerEvents.RECEIVE.PLAY, this.onPlay.bind(this));\r\n this.eventsApi.on(WebplayerEvents.RECEIVE.PAUSE, this.onPause.bind(this));\r\n this.eventsApi.on(WebplayerEvents.RECEIVE.VIDEO_END, this.onEnded.bind(this));\r\n\r\n // TODO: Push to device is not yet supported in LE. Also needs to check the user is an Admin.\r\n // Update default in future. \r\n if (this.options.showDevicesButton) {\r\n this.eventsApi.on(WebplayerEvents.RECEIVE.DEVICES_BTN_CLICK, this.showDeviceToggle.bind(this));\r\n this.eventsApi.trigger(WebplayerEvents.TRIGGER.SHOW_DEVICES_BTN);\r\n }\r\n\r\n if (this.options.captureAnalytics)\r\n this.tracker = new VideoAnalyticsTracker({\r\n video: this.model.toJSON(),\r\n eventsApi: this.eventsApi,\r\n analyticsOptions: this.options.analyticsOptions\r\n });\r\n }\r\n\r\n private unbindWebPlayerEvents(): void {\r\n if (!this.eventsApi) return;\r\n\r\n this.eventsApi.off(WebplayerEvents.RECEIVE.FULLSCREEN_CLICK);\r\n this.eventsApi.off(WebplayerEvents.RECEIVE.TIME_UPDATE);\r\n this.eventsApi.off(WebplayerEvents.RECEIVE.PLAY);\r\n this.eventsApi.off(WebplayerEvents.RECEIVE.PAUSE);\r\n this.eventsApi.off(WebplayerEvents.RECEIVE.VIDEO_END);\r\n this.eventsApi.off(WebplayerEvents.RECEIVE.PONG);\r\n this.eventsApi.off(WebplayerEvents.RECEIVE.DEVICES_BTN_CLICK);\r\n }\r\n\r\n private setUrl(): void {\r\n const webPlayerHost = `${this.viewModel.get('webPlayerHost')}embed`;\r\n\r\n const reservedParams = [ 'p', 'vid' ];\r\n const webPlayerParams = _.omit(this.viewModel.get('parameters'), reservedParams) || {};\r\n\r\n webPlayerParams.a = !!this.viewModel.get('autoplay');\r\n\r\n const id = this.viewModel.get('id');\r\n\r\n if (id)\r\n webPlayerParams.vid = id;\r\n\r\n const trackingCode = this.viewModel.get('trackingCode');\r\n\r\n if (trackingCode)\r\n webPlayerParams.p = trackingCode;\r\n\r\n if (this.viewModel.get('currenttime')) {\r\n webPlayerParams.t = this.viewModel.get('currenttime');\r\n webPlayerParams.a = !this.viewModel.get('paused');\r\n }\r\n\r\n const url = UrlHelper.urlBuilder(webPlayerHost, webPlayerParams);\r\n const signedUrl = signUrl(url, { timestamp: true });\r\n\r\n this.viewModel.set({ url: signedUrl });\r\n }\r\n\r\n private isTop(): boolean {\r\n return window.top === window;\r\n }\r\n\r\n private onTimeUpdate(e: JQuery.Event, time: Date): void {\r\n this.viewModel.set('ready', true);\r\n this.viewModel.set('currenttime', time);\r\n }\r\n\r\n private onPlay(): void {\r\n this.viewModel.set('ready', true);\r\n this.viewModel.set('paused', false);\r\n }\r\n\r\n private onPause(): void {\r\n this.viewModel.set('ready', true);\r\n this.viewModel.set('paused', true);\r\n }\r\n\r\n private onEnded(): void {\r\n this.viewModel.trigger('ended');\r\n }\r\n\r\n private onPong(): void {\r\n this.iframeReady = true;\r\n this.viewModel.set('ready', true);\r\n\r\n const channel = Radio.channel(this.channelName);\r\n channel.trigger('loaded');\r\n\r\n // Notify any parent components once the webpalyer is ready\r\n if (this.options.parentChannelName)\r\n Radio.channel(this.options.parentChannelName).trigger('webplayer:loaded');\r\n }\r\n\r\n private onFullscreenChange(e: JQuery.Event, isFs: boolean, hasFsApi: boolean): void {\r\n if (isFs) {\r\n this.requestFs(hasFsApi);\r\n return;\r\n }\r\n\r\n this.cancelFs(hasFsApi);\r\n }\r\n\r\n private requestFs(hasFsApi: boolean): void {\r\n // If the request wasn't sent using the fullscreen API, add the fs class\r\n if (!hasFsApi)\r\n $('html').addClass('player-fullscreen');\r\n }\r\n\r\n private cancelFs(hasFsApi: boolean): void {\r\n // If the request wasn't sent using the fullscreen API, add the fs class\r\n if (!hasFsApi)\r\n $('html').removeClass('player-fullscreen');\r\n }\r\n\r\n private showDeviceToggle(shouldShow: boolean): void {\r\n this.viewModel.trigger('showDevices', !!shouldShow);\r\n }\r\n\r\n public query(queryName: string, callback: (...args: any[]) => void): void {\r\n if (!this.iframeReady) {\r\n this.listenToOnce(this.channelName, 'loaded', () => this.query(queryName, callback));\r\n return;\r\n }\r\n\r\n const uniqueId = _.uniqueId(`cveventsapi`);\r\n\r\n this.eventsApi.one(`${WebplayerEvents.RECEIVE.QUERY_CALLBACK}-${uniqueId}`, (event: any, data: any) => {\r\n callback(data);\r\n });\r\n\r\n this.eventsApi.trigger(WebplayerEvents.TRIGGER.QUERY, queryName, uniqueId);\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return _.extend({},\r\n {\r\n styles,\r\n playSvg: SvgHelper.getSvg(cvSvgLibrary.Play),\r\n },\r\n this.viewModel.toJSON()\r\n );\r\n }\r\n\r\n public onRender(): void {\r\n this.initWebPlayerEvents();\r\n }\r\n\r\n public onBeforeDestroy(): void {\r\n this.unbindWebPlayerEvents();\r\n\r\n // Clean up our analytics tracker\r\n if (this.tracker)\r\n this.tracker.destroy();\r\n }\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"webPlayerContainer\":\"cv--webPlayerContainer--2S4VF\",\"webPlayer\":\"cv--webPlayer--3569L\",\"svgContainer\":\"cv--svgContainer--1WsxD\"};"],"sourceRoot":""}
|