@clickview/library-editor 1.1.23-rc.1 → 1.1.23-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/css/1.chunk.css.map +1 -1
- package/dist/css/10.chunk.css.map +1 -1
- package/dist/css/11.chunk.css.map +1 -1
- package/dist/css/12.chunk.css.map +1 -1
- package/dist/css/13.chunk.css.map +1 -1
- package/dist/css/14.chunk.css.map +1 -1
- package/dist/css/16.chunk.css.map +1 -1
- package/dist/css/17.chunk.css.map +1 -1
- package/dist/css/18.chunk.css.map +1 -1
- package/dist/css/2.chunk.css.map +1 -1
- package/dist/css/21.chunk.css.map +1 -1
- package/dist/css/22.chunk.css.map +1 -1
- package/dist/css/23.chunk.css.map +1 -1
- package/dist/css/25.chunk.css.map +1 -1
- package/dist/css/26.chunk.css.map +1 -1
- package/dist/css/28.chunk.css.map +1 -1
- package/dist/css/29.chunk.css.map +1 -1
- package/dist/css/3.chunk.css.map +1 -1
- package/dist/css/30.chunk.css.map +1 -1
- package/dist/css/31.chunk.css.map +1 -1
- package/dist/css/32.chunk.css.map +1 -1
- package/dist/css/33.chunk.css.map +1 -1
- package/dist/css/34.chunk.css.map +1 -1
- package/dist/css/35.chunk.css.map +1 -1
- package/dist/css/36.chunk.css.map +1 -1
- package/dist/css/37.chunk.css.map +1 -1
- package/dist/css/38.chunk.css.map +1 -1
- package/dist/css/40.chunk.css.map +1 -1
- package/dist/css/41.chunk.css.map +1 -1
- package/dist/css/42.chunk.css.map +1 -1
- package/dist/css/43.chunk.css.map +1 -1
- package/dist/css/44.chunk.css.map +1 -1
- package/dist/css/45.chunk.css.map +1 -1
- package/dist/css/46.chunk.css.map +1 -1
- package/dist/css/47.chunk.css.map +1 -1
- package/dist/css/48.chunk.css.map +1 -1
- package/dist/css/49.chunk.css.map +1 -1
- package/dist/css/50.chunk.css.map +1 -1
- package/dist/css/51.chunk.css.map +1 -1
- package/dist/css/52.chunk.css.map +1 -1
- package/dist/css/55.chunk.css.map +1 -1
- package/dist/css/56.chunk.css.map +1 -1
- package/dist/css/58.chunk.css.map +1 -1
- package/dist/css/59.chunk.css.map +1 -1
- package/dist/css/6.chunk.css.map +1 -1
- package/dist/css/60.chunk.css.map +1 -1
- package/dist/css/62.chunk.css.map +1 -1
- package/dist/css/63.chunk.css.map +1 -1
- package/dist/css/67.chunk.css.map +1 -1
- package/dist/css/68.chunk.css.map +1 -1
- package/dist/css/69.chunk.css.map +1 -1
- package/dist/css/7.chunk.css.map +1 -1
- package/dist/css/70.chunk.css.map +1 -1
- package/dist/css/71.chunk.css.map +1 -1
- package/dist/css/72.chunk.css.map +1 -1
- package/dist/css/73.chunk.css.map +1 -1
- package/dist/css/74.chunk.css.map +1 -1
- package/dist/css/75.chunk.css.map +1 -1
- package/dist/css/76.chunk.css.map +1 -1
- package/dist/css/8.chunk.css.map +1 -1
- package/dist/css/library-editor-app.css.map +1 -1
- package/dist/libs/common/src/backbone/services/data-providers/SignalRDataProvider.d.ts +3 -3
- package/dist/libs/common/src/backbone/utils/UrlHelper.d.ts +0 -1
- package/dist/libs/shared/src/apps/notifications/utils/NotificationsHelper.d.ts +1 -1
- package/dist/projects/library-editor/src/apps/notifications/utils/NotificationsHelper.d.ts +1 -1
- package/dist/scripts/{0-2765595d0a.chunk.js → 0-09e1e33a5c.chunk.js} +1 -1
- package/dist/scripts/0-f604eee110.chunk.js +1 -0
- package/dist/scripts/0.chunk.js +1 -1
- package/dist/scripts/0.chunk.js.map +1 -1
- package/dist/scripts/{1-b6dedae131.chunk.js → 1-056bd8c79b.chunk.js} +1 -1
- package/dist/scripts/{1-35f87e4cdc.chunk.js → 1-a66bb44471.chunk.js} +1 -1
- package/dist/scripts/1.chunk.js.map +1 -1
- package/dist/scripts/10-028c6001e1.chunk.js +1 -0
- package/dist/scripts/{10-227e797872.chunk.js → 10-6c79d8c6f9.chunk.js} +1 -1
- package/dist/scripts/10.chunk.js.map +1 -1
- package/dist/scripts/{11-9dbae07504.chunk.js → 11-6eef9e160e.chunk.js} +1 -1
- package/dist/scripts/11-cecf8d22f0.chunk.js +11 -0
- package/dist/scripts/11.chunk.js.map +1 -1
- package/dist/scripts/12-d3f51f4e06.chunk.js +1 -0
- package/dist/scripts/{12-06cf65b136.chunk.js → 12-dbffa50a92.chunk.js} +1 -1
- package/dist/scripts/12.chunk.js.map +1 -1
- package/dist/scripts/{13-01ee41eb1e.chunk.js → 13-37e5cfab3e.chunk.js} +1 -1
- package/dist/scripts/13-4029d31569.chunk.js +1 -0
- package/dist/scripts/13.chunk.js.map +1 -1
- package/dist/scripts/14-4c94f97e4e.chunk.js +1 -0
- package/dist/scripts/{14-cf307e51d9.chunk.js → 14-b524fbd295.chunk.js} +1 -1
- package/dist/scripts/14.chunk.js.map +1 -1
- package/dist/scripts/{15-bedb9ff6d0.chunk.js → 15-1ff1252d1a.chunk.js} +1 -1
- package/dist/scripts/{15-eed00bc875.chunk.js → 15-ec9aa4878b.chunk.js} +1 -1
- package/dist/scripts/15.chunk.js.map +1 -1
- package/dist/scripts/16-5bc8299e14.chunk.js +1 -0
- package/dist/scripts/{16-339a29fa2f.chunk.js → 16-b27142fe98.chunk.js} +1 -1
- package/dist/scripts/16.chunk.js.map +1 -1
- package/dist/scripts/17-9fe035f9e2.chunk.js +1 -0
- package/dist/scripts/{17-66da06be62.chunk.js → 17-c3bbe50816.chunk.js} +1 -1
- package/dist/scripts/17.chunk.js +1 -1
- package/dist/scripts/17.chunk.js.map +1 -1
- package/dist/scripts/18.chunk.js.map +1 -1
- package/dist/scripts/19.chunk.js +1 -1
- package/dist/scripts/19.chunk.js.map +1 -1
- package/dist/scripts/{2-5079f4b088.chunk.js → 2-2cc3988222.chunk.js} +1 -1
- package/dist/scripts/2-e6d104415e.chunk.js +1 -0
- package/dist/scripts/2.chunk.js.map +1 -1
- package/dist/scripts/20-60e4eee833.chunk.js +1 -0
- package/dist/scripts/{20-6019ccb462.chunk.js → 20-6d9086f5db.chunk.js} +1 -1
- package/dist/scripts/20.chunk.js.map +1 -1
- package/dist/scripts/{21-77f6ddec3d.chunk.js → 21-2f10553302.chunk.js} +1 -1
- package/dist/scripts/21-a7fffe8852.chunk.js +1 -0
- package/dist/scripts/21.chunk.js.map +1 -1
- package/dist/scripts/{22-9ef39722d1.chunk.js → 22-59ae44b448.chunk.js} +1 -1
- package/dist/scripts/22-f670791432.chunk.js +1 -0
- package/dist/scripts/22.chunk.js.map +1 -1
- package/dist/scripts/{23-c8071cb869.chunk.js → 23-11e008ee63.chunk.js} +1 -1
- package/dist/scripts/23-4d26d6300a.chunk.js +1 -0
- package/dist/scripts/23.chunk.js +3 -3
- package/dist/scripts/23.chunk.js.map +1 -1
- package/dist/scripts/{24-b655377e1f.chunk.js → 24-7f21e384d2.chunk.js} +1 -1
- package/dist/scripts/24-813ef82099.chunk.js +1 -0
- package/dist/scripts/24.chunk.js.map +1 -1
- package/dist/scripts/25-023d08a591.chunk.js +1 -0
- package/dist/scripts/{25-acda0ed17e.chunk.js → 25-f0f7fa16a4.chunk.js} +1 -1
- package/dist/scripts/25.chunk.js.map +1 -1
- package/dist/scripts/26-a9fcf0d596.chunk.js +1 -0
- package/dist/scripts/{26-39f6c3ca17.chunk.js → 26-e65533bd94.chunk.js} +1 -1
- package/dist/scripts/26.chunk.js.map +1 -1
- package/dist/scripts/27-84f7bbade6.chunk.js +1 -0
- package/dist/scripts/{27-1313c7d392.chunk.js → 27-9dc0f5a4df.chunk.js} +1 -1
- package/dist/scripts/27.chunk.js +3 -3
- package/dist/scripts/27.chunk.js.map +1 -1
- package/dist/scripts/{28-b583483a6e.chunk.js → 28-26e5c371c7.chunk.js} +1 -1
- package/dist/scripts/28-cdf603f4cf.chunk.js +1 -0
- package/dist/scripts/28.chunk.js +6 -6
- package/dist/scripts/28.chunk.js.map +1 -1
- package/dist/scripts/{29-44119e600a.chunk.js → 29-61415c2af0.chunk.js} +1 -1
- package/dist/scripts/29-8278d23f9b.chunk.js +1 -0
- package/dist/scripts/29.chunk.js.map +1 -1
- package/dist/scripts/{3-bea2c1c371.chunk.js → 3-1fa81c9d9b.chunk.js} +1 -1
- package/dist/scripts/{3-079c0b4d3b.chunk.js → 3-5eff8c9df5.chunk.js} +1 -1
- package/dist/scripts/3.chunk.js +13 -25
- package/dist/scripts/3.chunk.js.map +1 -1
- package/dist/scripts/{30-a6a7291b5e.chunk.js → 30-6075c28972.chunk.js} +1 -1
- package/dist/scripts/30-7ab880728c.chunk.js +1 -0
- package/dist/scripts/30.chunk.js +6 -6
- package/dist/scripts/30.chunk.js.map +1 -1
- package/dist/scripts/31-aa4cd0f45e.chunk.js +1 -0
- package/dist/scripts/31-e35ae4e153.chunk.js +1 -0
- package/dist/scripts/31.chunk.js.map +1 -1
- package/dist/scripts/32-7717941f1d.chunk.js +1 -0
- package/dist/scripts/{32-0b05da2f4c.chunk.js → 32-d5a50a7592.chunk.js} +1 -1
- package/dist/scripts/32.chunk.js.map +1 -1
- package/dist/scripts/{33-04b1fbcdeb.chunk.js → 33-5ae90ed7d7.chunk.js} +1 -1
- package/dist/scripts/33-6da33143ea.chunk.js +1 -0
- package/dist/scripts/33.chunk.js.map +1 -1
- package/dist/scripts/{34-56f92b9a87.chunk.js → 34-27e40f4d4b.chunk.js} +1 -1
- package/dist/scripts/{34-4f2c861480.chunk.js → 34-50402c1835.chunk.js} +1 -1
- package/dist/scripts/34.chunk.js.map +1 -1
- package/dist/scripts/{35-cdd788a4b5.chunk.js → 35-3260300446.chunk.js} +1 -1
- package/dist/scripts/{35-08ead0d078.chunk.js → 35-ec8c190357.chunk.js} +1 -1
- package/dist/scripts/35.chunk.js.map +1 -1
- package/dist/scripts/{36-4db22bf8bb.chunk.js → 36-4d467bc42e.chunk.js} +1 -1
- package/dist/scripts/{36-7d33d11b58.chunk.js → 36-bec0c74d05.chunk.js} +1 -1
- package/dist/scripts/36.chunk.js.map +1 -1
- package/dist/scripts/{37-4de2537ff4.chunk.js → 37-37e8965783.chunk.js} +1 -1
- package/dist/scripts/37-3916177181.chunk.js +1 -0
- package/dist/scripts/37.chunk.js.map +1 -1
- package/dist/scripts/{38-57af633fa1.chunk.js → 38-3dc24b8867.chunk.js} +1 -1
- package/dist/scripts/38-89f7c22ea8.chunk.js +1 -0
- package/dist/scripts/38.chunk.js.map +1 -1
- package/dist/scripts/{39-5451786b7d.chunk.js → 39-350ff66a2b.chunk.js} +1 -1
- package/dist/scripts/39-9456631219.chunk.js +1 -0
- package/dist/scripts/39.chunk.js.map +1 -1
- package/dist/scripts/4-a7f6d378e0.chunk.js +1 -0
- package/dist/scripts/{4-0a8a5ac2f0.chunk.js → 4-b3f3c7c71c.chunk.js} +1 -1
- package/dist/scripts/4.chunk.js.map +1 -1
- package/dist/scripts/{40-31940ddf04.chunk.js → 40-3443f99cb2.chunk.js} +1 -1
- package/dist/scripts/40-f65196723f.chunk.js +1 -0
- package/dist/scripts/40.chunk.js.map +1 -1
- package/dist/scripts/{41-2c6722e410.chunk.js → 41-70b16d99d0.chunk.js} +1 -1
- package/dist/scripts/{41-0366a0332e.chunk.js → 41-b5dfd35e9e.chunk.js} +1 -1
- package/dist/scripts/41.chunk.js.map +1 -1
- package/dist/scripts/{42-9b7795d20a.chunk.js → 42-103fecb7b6.chunk.js} +1 -1
- package/dist/scripts/42-e17f214d6c.chunk.js +1 -0
- package/dist/scripts/42.chunk.js.map +1 -1
- package/dist/scripts/{43-006ce08a8f.chunk.js → 43-57b07579f7.chunk.js} +1 -1
- package/dist/scripts/{43-591954817b.chunk.js → 43-6826fbc7d4.chunk.js} +1 -1
- package/dist/scripts/43.chunk.js.map +1 -1
- package/dist/scripts/{44-b4c134efe8.chunk.js → 44-210d64dffe.chunk.js} +1 -1
- package/dist/scripts/{44-fc3a1d45c5.chunk.js → 44-593e820fa2.chunk.js} +1 -1
- package/dist/scripts/44.chunk.js.map +1 -1
- package/dist/scripts/{45-32ce8dd910.chunk.js → 45-632b07e926.chunk.js} +1 -1
- package/dist/scripts/{45-3e85e78a77.chunk.js → 45-8231a03833.chunk.js} +1 -1
- package/dist/scripts/45.chunk.js.map +1 -1
- package/dist/scripts/46-682ca88fd9.chunk.js +1 -0
- package/dist/scripts/{46-1256828b60.chunk.js → 46-82cce63cbf.chunk.js} +1 -1
- package/dist/scripts/46.chunk.js +6 -6
- package/dist/scripts/46.chunk.js.map +1 -1
- package/dist/scripts/{47-61b53964c2.chunk.js → 47-595b4aae87.chunk.js} +1 -1
- package/dist/scripts/47-aec7cf95e8.chunk.js +1 -0
- package/dist/scripts/47.chunk.js +1 -2
- package/dist/scripts/47.chunk.js.map +1 -1
- package/dist/scripts/48-7b09165697.chunk.js +1 -0
- package/dist/scripts/{48-3f804b22a4.chunk.js → 48-fcf6378889.chunk.js} +1 -1
- package/dist/scripts/48.chunk.js.map +1 -1
- package/dist/scripts/49-0e6ceb191f.chunk.js +1 -0
- package/dist/scripts/{49-79b28e90c9.chunk.js → 49-d8a4899eb1.chunk.js} +1 -1
- package/dist/scripts/49.chunk.js.map +1 -1
- package/dist/scripts/{5-093c9ee130.chunk.js → 5-06bc197b1e.chunk.js} +1 -1
- package/dist/scripts/{5-f5ad097d2b.chunk.js → 5-e2e64bc05f.chunk.js} +1 -1
- package/dist/scripts/5.chunk.js +3 -3
- package/dist/scripts/5.chunk.js.map +1 -1
- package/dist/scripts/{50-198f89794c.chunk.js → 50-11b1a49916.chunk.js} +1 -1
- package/dist/scripts/50-fa6f6fd1dc.chunk.js +1 -0
- package/dist/scripts/50.chunk.js.map +1 -1
- package/dist/scripts/51-1c9fca4604.chunk.js +1 -0
- package/dist/scripts/{51-177fe97a9b.chunk.js → 51-72a75e0265.chunk.js} +1 -1
- package/dist/scripts/51.chunk.js.map +1 -1
- package/dist/scripts/{52-d8cf26c75f.chunk.js → 52-195f73bcd6.chunk.js} +1 -1
- package/dist/scripts/52-ebce0c9f12.chunk.js +1 -0
- package/dist/scripts/52.chunk.js.map +1 -1
- package/dist/scripts/{53-595b1efa1a.chunk.js → 53-bb4f37ee25.chunk.js} +1 -1
- package/dist/scripts/53-c6807d4e0b.chunk.js +1 -0
- package/dist/scripts/53.chunk.js.map +1 -1
- package/dist/scripts/{54-646c8458e0.chunk.js → 54-7a201d8285.chunk.js} +1 -1
- package/dist/scripts/54-e6195aa62a.chunk.js +1 -0
- package/dist/scripts/54.chunk.js.map +1 -1
- package/dist/scripts/{55-5e3b70736e.chunk.js → 55-be3d7b8805.chunk.js} +1 -1
- package/dist/scripts/55-f9f9a251af.chunk.js +1 -0
- package/dist/scripts/55.chunk.js.map +1 -1
- package/dist/scripts/56-20f27f96db.chunk.js +1 -0
- package/dist/scripts/{56-3c520aec72.chunk.js → 56-6aeece1bf1.chunk.js} +1 -1
- package/dist/scripts/56.chunk.js.map +1 -1
- package/dist/scripts/{57-6f84e1bb9d.chunk.js → 57-59ee15161b.chunk.js} +1 -1
- package/dist/scripts/57-b25862dbf0.chunk.js +1 -0
- package/dist/scripts/57.chunk.js.map +1 -1
- package/dist/scripts/{58-1c37240b43.chunk.js → 58-8ff58b194a.chunk.js} +1 -1
- package/dist/scripts/58-edf06f18f9.chunk.js +1 -0
- package/dist/scripts/58.chunk.js.map +1 -1
- package/dist/scripts/59-241a666e49.chunk.js +1 -0
- package/dist/scripts/{59-05cbb57b32.chunk.js → 59-3d33954fcb.chunk.js} +1 -1
- package/dist/scripts/59.chunk.js.map +1 -1
- package/dist/scripts/{6-a5f6258253.chunk.js → 6-a469872b10.chunk.js} +1 -1
- package/dist/scripts/6-c631df7bda.chunk.js +1 -0
- package/dist/scripts/6.chunk.js.map +1 -1
- package/dist/scripts/60-ac631fa385.chunk.js +1 -0
- package/dist/scripts/{60-ac4f11764a.chunk.js → 60-f092baa91c.chunk.js} +1 -1
- package/dist/scripts/60.chunk.js.map +1 -1
- package/dist/scripts/61-360e50b6cb.chunk.js +1 -0
- package/dist/scripts/{61-62ec9b3628.chunk.js → 61-bd9ef62ccd.chunk.js} +1 -1
- package/dist/scripts/61.chunk.js +12 -12
- package/dist/scripts/61.chunk.js.map +1 -1
- package/dist/scripts/62-22ee1d2a94.chunk.js +1 -0
- package/dist/scripts/{62-4d0e82f903.chunk.js → 62-f15b3bf74c.chunk.js} +1 -1
- package/dist/scripts/62.chunk.js.map +1 -1
- package/dist/scripts/63-25413d744e.chunk.js +1 -0
- package/dist/scripts/{63-47af37825d.chunk.js → 63-92757f75e7.chunk.js} +1 -1
- package/dist/scripts/63.chunk.js.map +1 -1
- package/dist/scripts/64-1b027092be.chunk.js +1 -0
- package/dist/scripts/{64-12150ef48b.chunk.js → 64-c5a1c55521.chunk.js} +1 -1
- package/dist/scripts/64.chunk.js.map +1 -1
- package/dist/scripts/{65-7780441e5e.chunk.js → 65-6bb10ae23b.chunk.js} +1 -1
- package/dist/scripts/{65-a4fdf8777b.chunk.js → 65-c8a9aae545.chunk.js} +1 -1
- package/dist/scripts/65.chunk.js.map +1 -1
- package/dist/scripts/66-20aec598ca.chunk.js +1 -0
- package/dist/scripts/{66-029947cf5c.chunk.js → 66-f047027f7d.chunk.js} +1 -1
- package/dist/scripts/66.chunk.js.map +1 -1
- package/dist/scripts/{67-47f208342a.chunk.js → 67-2e1a011200.chunk.js} +1 -1
- package/dist/scripts/67-d8d1cb35a4.chunk.js +1 -0
- package/dist/scripts/67.chunk.js.map +1 -1
- package/dist/scripts/68-869ea333d9.chunk.js +1 -0
- package/dist/scripts/{68-5656cc45fe.chunk.js → 68-d5c0ab3fc1.chunk.js} +1 -1
- package/dist/scripts/68.chunk.js.map +1 -1
- package/dist/scripts/69-c4ff3e5568.chunk.js +1 -0
- package/dist/scripts/{69-4d32ddddbc.chunk.js → 69-fc8325afc9.chunk.js} +1 -1
- package/dist/scripts/69.chunk.js.map +1 -1
- package/dist/scripts/7-1d94e0bb0c.chunk.js +1 -0
- package/dist/scripts/{7-2696f5afc4.chunk.js → 7-58dd909fa3.chunk.js} +1 -1
- package/dist/scripts/7.chunk.js.map +1 -1
- package/dist/scripts/70-171dcf9fe1.chunk.js +1 -0
- package/dist/scripts/{70-0f070c1596.chunk.js → 70-ceda95013e.chunk.js} +1 -1
- package/dist/scripts/70.chunk.js.map +1 -1
- package/dist/scripts/71-33e7082ca2.chunk.js +1 -0
- package/dist/scripts/{71-215cac8b69.chunk.js → 71-6e8fc95beb.chunk.js} +1 -1
- package/dist/scripts/71.chunk.js.map +1 -1
- package/dist/scripts/72-2eef8b13b0.chunk.js +1 -0
- package/dist/scripts/{72-6eb3ef092e.chunk.js → 72-53fe3338bf.chunk.js} +1 -1
- package/dist/scripts/72.chunk.js.map +1 -1
- package/dist/scripts/73.chunk.js.map +1 -1
- package/dist/scripts/74.chunk.js.map +1 -1
- package/dist/scripts/75.chunk.js.map +1 -1
- package/dist/scripts/76.chunk.js.map +1 -1
- package/dist/scripts/77.chunk.js.map +1 -1
- package/dist/scripts/78.chunk.js.map +1 -1
- package/dist/scripts/79.chunk.js.map +1 -1
- package/dist/scripts/8-34ae87490f.chunk.js +1 -0
- package/dist/scripts/{8-1e0751e30b.chunk.js → 8-6974afed28.chunk.js} +1 -1
- package/dist/scripts/8.chunk.js.map +1 -1
- package/dist/scripts/80.chunk.js.map +1 -1
- package/dist/scripts/81.chunk.js.map +1 -1
- package/dist/scripts/82.chunk.js.map +1 -1
- package/dist/scripts/83.chunk.js.map +1 -1
- package/dist/scripts/84.chunk.js.map +1 -1
- package/dist/scripts/85.chunk.js.map +1 -1
- package/dist/scripts/86.chunk.js.map +1 -1
- package/dist/scripts/87.chunk.js.map +1 -1
- package/dist/scripts/88.chunk.js.map +1 -1
- package/dist/scripts/89.chunk.js.map +1 -1
- package/dist/scripts/{9-cd0bcefa7f.chunk.js → 9-0d7004dd33.chunk.js} +1 -1
- package/dist/scripts/{9-bb567e1c99.chunk.js → 9-9279038caa.chunk.js} +1 -1
- package/dist/scripts/9.chunk.js.map +1 -1
- package/dist/scripts/90.chunk.js.map +1 -1
- package/dist/scripts/91.chunk.js.map +1 -1
- package/dist/scripts/92.chunk.js.map +1 -1
- package/dist/scripts/bundle-06dc1f4908.min.js +8 -0
- package/dist/scripts/bundle-f4a423ce34.min.js +1 -0
- package/dist/scripts/bundle.js +1364 -1492
- package/dist/scripts/bundle.js.map +1 -1
- package/dist/scripts/bundles.json +2 -2
- package/dist/scripts/polyfills-21eaf1215c.min.js +1 -0
- package/dist/scripts/polyfills-efb4d7caa3.min.js +1 -0
- package/dist/scripts/polyfills.js +1050 -1050
- package/dist/scripts/polyfills.js.map +1 -1
- package/package.json +4 -4
- package/dist/scripts/0-f82360fd03.chunk.js +0 -1
- package/dist/scripts/10-8307f8e248.chunk.js +0 -1
- package/dist/scripts/12-43e54b0a2d.chunk.js +0 -1
- package/dist/scripts/13-3d84e237b9.chunk.js +0 -1
- package/dist/scripts/14-988bab314d.chunk.js +0 -1
- package/dist/scripts/16-3a99050a93.chunk.js +0 -1
- package/dist/scripts/17-bff211f26a.chunk.js +0 -1
- package/dist/scripts/20-d4470b4a53.chunk.js +0 -1
- package/dist/scripts/21-7bd1977005.chunk.js +0 -1
- package/dist/scripts/22-d88b8e9c20.chunk.js +0 -1
- package/dist/scripts/23-e8a0f60c53.chunk.js +0 -1
- package/dist/scripts/24-f62e7ff166.chunk.js +0 -1
- package/dist/scripts/25-f814e3921c.chunk.js +0 -1
- package/dist/scripts/26-9dd482e1e6.chunk.js +0 -1
- package/dist/scripts/27-5ecd204dab.chunk.js +0 -1
- package/dist/scripts/28-e9b8962af8.chunk.js +0 -1
- package/dist/scripts/29-e3391b4e4b.chunk.js +0 -1
- package/dist/scripts/30-aef6a19cde.chunk.js +0 -1
- package/dist/scripts/31-4f1ea6d067.chunk.js +0 -1
- package/dist/scripts/31-70fe14b490.chunk.js +0 -1
- package/dist/scripts/32-96ac2f9c32.chunk.js +0 -1
- package/dist/scripts/33-061a87935f.chunk.js +0 -1
- package/dist/scripts/37-fbd149e569.chunk.js +0 -1
- package/dist/scripts/38-7733a3d81e.chunk.js +0 -1
- package/dist/scripts/39-cc627dfe2b.chunk.js +0 -1
- package/dist/scripts/4-84fa8e49e2.chunk.js +0 -1
- package/dist/scripts/40-78639874b5.chunk.js +0 -1
- package/dist/scripts/42-c87c36d7d4.chunk.js +0 -1
- package/dist/scripts/46-e096df45ef.chunk.js +0 -1
- package/dist/scripts/47-9e514e7536.chunk.js +0 -1
- package/dist/scripts/48-9af8b50e4f.chunk.js +0 -1
- package/dist/scripts/49-883d9131af.chunk.js +0 -1
- package/dist/scripts/50-ce04770db1.chunk.js +0 -1
- package/dist/scripts/51-61bb2b80fe.chunk.js +0 -1
- package/dist/scripts/52-e7fd215888.chunk.js +0 -1
- package/dist/scripts/53-e78a58c963.chunk.js +0 -1
- package/dist/scripts/54-7976c21511.chunk.js +0 -1
- package/dist/scripts/55-dac67eae0b.chunk.js +0 -1
- package/dist/scripts/56-9a02efb9a1.chunk.js +0 -1
- package/dist/scripts/57-bf72265d49.chunk.js +0 -1
- package/dist/scripts/58-34ef45f4b6.chunk.js +0 -1
- package/dist/scripts/59-f3d473090d.chunk.js +0 -1
- package/dist/scripts/6-e49b6b4c08.chunk.js +0 -1
- package/dist/scripts/60-dd50d4179f.chunk.js +0 -1
- package/dist/scripts/61-e759f86871.chunk.js +0 -1
- package/dist/scripts/62-bfd5450b13.chunk.js +0 -1
- package/dist/scripts/63-8521e39a2e.chunk.js +0 -1
- package/dist/scripts/64-c42635a917.chunk.js +0 -1
- package/dist/scripts/66-7f2750cd97.chunk.js +0 -1
- package/dist/scripts/67-564ff2bd16.chunk.js +0 -1
- package/dist/scripts/68-df9024fadc.chunk.js +0 -1
- package/dist/scripts/69-a4b3442e68.chunk.js +0 -1
- package/dist/scripts/7-b39ab430b9.chunk.js +0 -1
- package/dist/scripts/70-2a427b3dd0.chunk.js +0 -1
- package/dist/scripts/71-c43ee23686.chunk.js +0 -1
- package/dist/scripts/72-f5a8cfc8b7.chunk.js +0 -1
- package/dist/scripts/8-f4f18356f7.chunk.js +0 -1
- package/dist/scripts/bundle-e7f4d4e659.min.js +0 -8
- package/dist/scripts/bundle-f73bcaa857.min.js +0 -8
- package/dist/scripts/polyfills-9517d7e647.min.js +0 -1
- package/dist/scripts/polyfills-e442ebbfb0.min.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/components/tag-list/TagComponentCollection.ts","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/components/tag-list/TagItem.hbs","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/components/tag-list/TagItemComponent.ts","webpack://@clickview/library-editor/./src/apps/library-editor/components/tag-list/tag-item.scss?781c"],"names":[],"mappings":"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","file":"scripts/8.chunk.js","sourcesContent":["import { ObjectHash } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\nimport { DevError } from 'libs/common/backbone/errors/DevError';\r\n\r\nimport { Tag } from 'shared/models/Tag';\r\n\r\nimport { TagItemComponent } from 'apps/library-editor/components/tag-list/TagItemComponent';\r\nimport { TagOrientation, TagBehavior } from 'apps/library-editor/enums';\r\n\r\nexport interface TagComponentCollectionOptions extends Core.ComponentCollectionOptions<Tag> {\r\n behavior?: TagBehavior;\r\n orientation?: TagOrientation;\r\n clickEvent?: string;\r\n removeEvent?: string;\r\n}\r\n\r\nexport class TagComponentCollection extends Core.ComponentCollection<Tag> {\r\n protected options: TagComponentCollectionOptions;\r\n\r\n public constructor(options: TagComponentCollectionOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n if (this.options.behavior === TagBehavior.Edit && !this.options.removeEvent)\r\n Core.ErrorHelper.throw(new DevError('removeEvent is required to edit tags.'));\r\n }\r\n\r\n public get name(): string {\r\n return 'TagComponentCollection';\r\n }\r\n\r\n public get defaults(): ObjectHash {\r\n return {\r\n orientation: TagOrientation.Flex\r\n };\r\n }\r\n\r\n public get className(): string {\r\n const orientation = `${ this.options.orientation === TagOrientation.Vertical ? ' d-flex align-items-start flex-column' : ''}`;\r\n return `tags${orientation}`;\r\n }\r\n\r\n public get childViewOptions(): ObjectHash {\r\n return {\r\n channelName: this.options.channelName,\r\n behavior: this.options.behavior,\r\n orientation: this.options.orientation,\r\n removeEvent: this.options.removeEvent,\r\n clickEvent: this.options.clickEvent\r\n };\r\n }\r\n\r\n public get childView(): typeof TagItemComponent {\r\n return TagItemComponent;\r\n }\r\n}\r\n","var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n return \"<span class=\\\"close cursor-pointer\\\" aria-hidden=\\\"true\\\">×</span>\\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 || {});\n\n return container.escapeExpression(((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 + \"\\r\\n\"\n + ((stack1 = helpers[\"if\"].call(alias2,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.removable : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"useData\":true});","import { ObjectHash } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\nimport { Radio } from 'backbone';\r\n\r\nimport { Actions, AppChannels } from 'shared/constants';\r\nimport { Tag } from 'shared/models/Tag';\r\n\r\nimport { TagOrientation, TagBehavior } from 'apps/library-editor/enums';\r\n\r\nimport TagItem from './TagItem.hbs';\r\nimport styles from './tag-item.scss';\r\n\r\nexport interface TagItemComponentOptions extends Core.ComponentOptions<Tag> {\r\n behavior?: TagBehavior;\r\n orientation?: TagOrientation;\r\n clickEvent?: string;\r\n removeEvent?: string;\r\n}\r\n\r\nexport class TagItemComponent extends Core.Component<Tag> {\r\n protected options: TagItemComponentOptions;\r\n\r\n public constructor(options: TagItemComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'TagItemComponent';\r\n }\r\n\r\n public get tagName(): string {\r\n return this.options.behavior === TagBehavior.Link ? 'a' : 'span';\r\n }\r\n\r\n public get className(): string {\r\n const orientation = `${ this.options.orientation === TagOrientation.Vertical ? '' : ' d-inline-flex'}`;\r\n const saving = `${ this.isSaving() ? ' saving' : ''}`;\r\n const disabled = `${ this.options.behavior === TagBehavior.Disabled ? ` ${styles.disabled}` : ''}`;\r\n const cursorPointer = `${ this.options.behavior === TagBehavior.Filter ? ' cursor-pointer' : ''}`;\r\n return `badge-pill tag py-1 px-2 my-1 mr-1${cursorPointer}${orientation}${saving}${disabled}`;\r\n }\r\n\r\n public get template(): any {\r\n return TagItem;\r\n }\r\n\r\n public get elements(): ObjectHash {\r\n return {\r\n close: '.close'\r\n };\r\n }\r\n\r\n public get appLinks(): Core.AppLinkHash {\r\n if (this.options.behavior !== TagBehavior.Link)\r\n return {};\r\n\r\n return {\r\n '[this]': {\r\n application: AppChannels.SEARCH,\r\n action: Actions.Search.HOME,\r\n params: { tag: this.model.get('name') }\r\n }\r\n };\r\n }\r\n\r\n public get defaults(): ObjectHash {\r\n return {\r\n behavior: TagBehavior.Link,\r\n orientation: TagOrientation.Flex\r\n };\r\n }\r\n\r\n public events(): ObjectHash {\r\n if (this.options.removeEvent)\r\n return { 'click @ui.close': 'onRemoveTag' };\r\n\r\n return { click: 'onClickTag' };\r\n }\r\n\r\n public initialize(): void {\r\n if (this.options.behavior === TagBehavior.Edit)\r\n this.listenTo(this.model, 'change', this.render);\r\n }\r\n\r\n private isSaving(): boolean {\r\n if (this.options.behavior === TagBehavior.Filter) return;\r\n\r\n const { id, name, remove } = this.model.pick('id', 'name', 'remove');\r\n\r\n if (remove)\r\n return true;\r\n\r\n if (id && name)\r\n return false;\r\n\r\n return true;\r\n }\r\n\r\n private onRemoveTag(e: JQuery.Event): boolean {\r\n e.stopPropagation();\r\n\r\n if (this.isSaving()) return;\r\n\r\n this.model.set('remove', true);\r\n\r\n Radio.channel(this.options.channelName).trigger(this.options.removeEvent, this.model);\r\n\r\n return false;\r\n }\r\n\r\n private onClickTag(e: JQuery.Event): void {\r\n if (this.options.behavior !== TagBehavior.Filter || this.options.removeEvent) return;\r\n\r\n Radio.channel(this.options.channelName).trigger(this.options.clickEvent, this.model);\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n removable: this.options.removeEvent\r\n };\r\n }\r\n\r\n public onRender(): void {\r\n this.resetClassName();\r\n }\r\n}\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"disabled\":\"cv--disabled--3Vziu\"};"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/components/tag-list/TagComponentCollection.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/components/tag-list/TagItem.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/components/tag-list/TagItemComponent.ts","webpack://@clickview/library-editor/./src/apps/library-editor/components/tag-list/tag-item.scss?250b"],"names":[],"mappings":"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","file":"scripts/8.chunk.js","sourcesContent":["import { ObjectHash } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\nimport { DevError } from 'libs/common/backbone/errors/DevError';\r\n\r\nimport { Tag } from 'shared/models/Tag';\r\n\r\nimport { TagItemComponent } from 'apps/library-editor/components/tag-list/TagItemComponent';\r\nimport { TagOrientation, TagBehavior } from 'apps/library-editor/enums';\r\n\r\nexport interface TagComponentCollectionOptions extends Core.ComponentCollectionOptions<Tag> {\r\n behavior?: TagBehavior;\r\n orientation?: TagOrientation;\r\n clickEvent?: string;\r\n removeEvent?: string;\r\n}\r\n\r\nexport class TagComponentCollection extends Core.ComponentCollection<Tag> {\r\n protected options: TagComponentCollectionOptions;\r\n\r\n public constructor(options: TagComponentCollectionOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n if (this.options.behavior === TagBehavior.Edit && !this.options.removeEvent)\r\n Core.ErrorHelper.throw(new DevError('removeEvent is required to edit tags.'));\r\n }\r\n\r\n public get name(): string {\r\n return 'TagComponentCollection';\r\n }\r\n\r\n public get defaults(): ObjectHash {\r\n return {\r\n orientation: TagOrientation.Flex\r\n };\r\n }\r\n\r\n public get className(): string {\r\n const orientation = `${ this.options.orientation === TagOrientation.Vertical ? ' d-flex align-items-start flex-column' : ''}`;\r\n return `tags${orientation}`;\r\n }\r\n\r\n public get childViewOptions(): ObjectHash {\r\n return {\r\n channelName: this.options.channelName,\r\n behavior: this.options.behavior,\r\n orientation: this.options.orientation,\r\n removeEvent: this.options.removeEvent,\r\n clickEvent: this.options.clickEvent\r\n };\r\n }\r\n\r\n public get childView(): typeof TagItemComponent {\r\n return TagItemComponent;\r\n }\r\n}\r\n","var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n return \"<span class=\\\"close cursor-pointer\\\" aria-hidden=\\\"true\\\">×</span>\\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 || {});\n\n return container.escapeExpression(((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 + \"\\r\\n\"\n + ((stack1 = helpers[\"if\"].call(alias2,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.removable : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\");\n},\"useData\":true});","import { ObjectHash } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\nimport { Radio } from 'backbone';\r\n\r\nimport { Actions, AppChannels } from 'shared/constants';\r\nimport { Tag } from 'shared/models/Tag';\r\n\r\nimport { TagOrientation, TagBehavior } from 'apps/library-editor/enums';\r\n\r\nimport TagItem from './TagItem.hbs';\r\nimport styles from './tag-item.scss';\r\n\r\nexport interface TagItemComponentOptions extends Core.ComponentOptions<Tag> {\r\n behavior?: TagBehavior;\r\n orientation?: TagOrientation;\r\n clickEvent?: string;\r\n removeEvent?: string;\r\n}\r\n\r\nexport class TagItemComponent extends Core.Component<Tag> {\r\n protected options: TagItemComponentOptions;\r\n\r\n public constructor(options: TagItemComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'TagItemComponent';\r\n }\r\n\r\n public get tagName(): string {\r\n return this.options.behavior === TagBehavior.Link ? 'a' : 'span';\r\n }\r\n\r\n public get className(): string {\r\n const orientation = `${ this.options.orientation === TagOrientation.Vertical ? '' : ' d-inline-flex'}`;\r\n const saving = `${ this.isSaving() ? ' saving' : ''}`;\r\n const disabled = `${ this.options.behavior === TagBehavior.Disabled ? ` ${styles.disabled}` : ''}`;\r\n const cursorPointer = `${ this.options.behavior === TagBehavior.Filter ? ' cursor-pointer' : ''}`;\r\n return `badge-pill tag py-1 px-2 my-1 mr-1${cursorPointer}${orientation}${saving}${disabled}`;\r\n }\r\n\r\n public get template(): any {\r\n return TagItem;\r\n }\r\n\r\n public get elements(): ObjectHash {\r\n return {\r\n close: '.close'\r\n };\r\n }\r\n\r\n public get appLinks(): Core.AppLinkHash {\r\n if (this.options.behavior !== TagBehavior.Link)\r\n return {};\r\n\r\n return {\r\n '[this]': {\r\n application: AppChannels.SEARCH,\r\n action: Actions.Search.HOME,\r\n params: { tag: this.model.get('name') }\r\n }\r\n };\r\n }\r\n\r\n public get defaults(): ObjectHash {\r\n return {\r\n behavior: TagBehavior.Link,\r\n orientation: TagOrientation.Flex\r\n };\r\n }\r\n\r\n public events(): ObjectHash {\r\n if (this.options.removeEvent)\r\n return { 'click @ui.close': 'onRemoveTag' };\r\n\r\n return { click: 'onClickTag' };\r\n }\r\n\r\n public initialize(): void {\r\n if (this.options.behavior === TagBehavior.Edit)\r\n this.listenTo(this.model, 'change', this.render);\r\n }\r\n\r\n private isSaving(): boolean {\r\n if (this.options.behavior === TagBehavior.Filter) return;\r\n\r\n const { id, name, remove } = this.model.pick('id', 'name', 'remove');\r\n\r\n if (remove)\r\n return true;\r\n\r\n if (id && name)\r\n return false;\r\n\r\n return true;\r\n }\r\n\r\n private onRemoveTag(e: JQuery.Event): boolean {\r\n e.stopPropagation();\r\n\r\n if (this.isSaving()) return;\r\n\r\n this.model.set('remove', true);\r\n\r\n Radio.channel(this.options.channelName).trigger(this.options.removeEvent, this.model);\r\n\r\n return false;\r\n }\r\n\r\n private onClickTag(e: JQuery.Event): void {\r\n if (this.options.behavior !== TagBehavior.Filter || this.options.removeEvent) return;\r\n\r\n Radio.channel(this.options.channelName).trigger(this.options.clickEvent, this.model);\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n removable: this.options.removeEvent\r\n };\r\n }\r\n\r\n public onRender(): void {\r\n this.resetClassName();\r\n }\r\n}\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"disabled\":\"cv--disabled--3Vziu\"};"],"sourceRoot":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/views/edit-link/EditLink.hbs","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/views/edit-link/EditLinkView.ts","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/shared/models/DisabledSpinnerModel.ts"],"names":[],"mappings":"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","file":"scripts/80.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;\n\n return ((stack1 = container.lambda(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.spinnerEl : stack1), depth0)) != null ? stack1 : \"\")\n + \"\\r\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n return \"<form>\\r\\n <div class=\\\"form-group\\\">\\r\\n <label for=\\\"url\\\" class=\\\"control-label\\\">URL</label>\\r\\n <input name=\\\"url\\\" id=\\\"url\\\" type=\\\"text\\\" class=\\\"form-control\\\" placeholder=\\\"URL\\\" autocomplete=\\\"off\\\" autofocus/>\\r\\n <div class=\\\"form-feedback\\\"></div>\\r\\n </div>\\r\\n <div class=\\\"form-group\\\">\\r\\n <label for=\\\"name\\\" class=\\\"control-label\\\">Name</label>\\r\\n <input name=\\\"name\\\" id=\\\"name\\\" type=\\\"text\\\" class=\\\"form-control\\\" placeholder=\\\"Name\\\" autocomplete=\\\"off\\\" autofocus/>\\r\\n <div class=\\\"form-feedback\\\"></div>\\r\\n </div>\\r\\n</form>\\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = helpers.unless.call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.dataFetched : stack1),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(3, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"useData\":true});","import { ObjectHash, Radio, Validation } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\nimport { InstanceManager } from 'libs/common/backbone/services/InstanceManager';\r\nimport { ViewModelService } from 'libs/common/backbone/services/ViewModelService';\r\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\n\r\nimport { PopupBehavior } from 'shared/behaviors';\r\nimport { SpinnerButtonEvents, SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\nimport { SpinnerHelper, SpinnerSize, RadioChannelHelper } from 'shared/utils';\r\nimport { DataChannels, DataServices, AppChannels, Actions } from 'shared/constants';\r\nimport { Link } from 'shared/models/Link';\r\nimport { DisabledSpinnerModel } from 'shared/models/DisabledSpinnerModel';\r\n\r\nimport { LinkDataService } from 'apps/library-editor/services/LinkDataService';\r\nimport { ResourceLinkValidation } from 'apps/library-editor/utils';\r\n\r\nimport EditLinkTemplate from './EditLink.hbs';\r\n\r\ninterface EditLinkViewOptions extends Core.ViewOptions {\r\n linkId: string;\r\n videoId: string;\r\n analyticsOptions?: AnalyticsOptions;\r\n}\r\n\r\nexport class EditLinkView extends Core.View {\r\n public options: EditLinkViewOptions;\r\n private linkDataService: LinkDataService;\r\n private spinnerModel: DisabledSpinnerModel;\r\n\r\n constructor(options: EditLinkViewOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.listenTo(DataChannels.LINK, `link:${this.options.linkId}:sync`, this.render);\r\n\r\n this.linkDataService = InstanceManager.getInstance(DataServices.Link, this);\r\n }\r\n\r\n public get name(): string {\r\n return 'EditLinkView';\r\n }\r\n\r\n public get title(): string {\r\n return 'Edit link';\r\n }\r\n\r\n public get template(): string {\r\n return EditLinkTemplate;\r\n }\r\n\r\n public get channelName(): string {\r\n return RadioChannelHelper.generateUniqueChannelName(this);\r\n }\r\n\r\n public get bindings(): ObjectHash {\r\n return {\r\n '[name=url]': {\r\n observe: 'url',\r\n setOptions: { validate: true }\r\n },\r\n '[name=name]': {\r\n observe: 'name',\r\n setOptions: { validate: true }\r\n }\r\n };\r\n }\r\n\r\n public get behaviors(): any[] {\r\n return [\r\n {\r\n behaviorClass: PopupBehavior,\r\n title: 'Edit link',\r\n spinnerButtonOptions: {\r\n channelName: this.channelName,\r\n model: this.spinnerModel = new DisabledSpinnerModel(),\r\n buttonText: 'Save',\r\n onClick: (e: JQuery.Event) => this.onSubmit(e)\r\n }\r\n }\r\n ];\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n submit: 'onSubmit'\r\n };\r\n }\r\n\r\n private onSubmit(event: JQuery.Event): void {\r\n event && event.preventDefault();\r\n\r\n this.viewModel.validate();\r\n\r\n if (this.viewModel.isValid() === false) return;\r\n\r\n Radio.channel(this.channelName).trigger(SpinnerButtonEvents.ShowSpinner);\r\n\r\n this.linkDataService.updateLink(this.options.videoId, this.viewModel, () => {\r\n this.logAction();\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.LIBRARY_EDITOR,\r\n action: Actions.LibraryEditor.EDIT_VIDEO_RESOURCES,\r\n args: [this.options.videoId]\r\n });\r\n });\r\n }\r\n\r\n private logAction(): void {\r\n const data = {\r\n id: this.options.linkId,\r\n parentId: +this.options.videoId,\r\n name: this.viewModel.get('name')\r\n };\r\n\r\n AnalyticsHelper.logUserAction(data, this.options.analyticsOptions);\r\n }\r\n\r\n private dataFetched(): boolean {\r\n return !!this.model && !!this.viewModel;\r\n }\r\n\r\n public onBeforeRender(): void {\r\n this.model = this.linkDataService.getLink(this.options.linkId, (link: Link) => {\r\n this.viewModel = ViewModelService.get<Link>(\r\n `link:${this.options.linkId}`, link.toJSON(), { ctor: Link }\r\n );\r\n this.viewModel.addValidation(ResourceLinkValidation);\r\n });\r\n\r\n if (this.dataFetched())\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.Disabled, false);\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n dataFetched: this.dataFetched(),\r\n spinnerEl: SpinnerHelper.getSpinner({ size: SpinnerSize.Large, extraClasses: 'mx-auto' })\r\n };\r\n }\r\n\r\n public onRender(): void {\r\n if (!this.viewModel) return;\r\n\r\n this.stickit(this.viewModel);\r\n Validation.bind(this, { model: this.viewModel });\r\n }\r\n\r\n public onClose(): void {\r\n this.unstickit();\r\n }\r\n}","import { ObjectHash } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\nimport { SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\n\r\nexport class DisabledSpinnerModel extends Core.Model {\r\n public defaults(): ObjectHash {\r\n return {\r\n [SpinnerButtonModelAttributes.Disabled]: true\r\n };\r\n }\r\n}"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/views/edit-link/EditLink.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/views/edit-link/EditLinkView.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/shared/models/DisabledSpinnerModel.ts"],"names":[],"mappings":"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","file":"scripts/80.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;\n\n return ((stack1 = container.lambda(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.spinnerEl : stack1), depth0)) != null ? stack1 : \"\")\n + \"\\r\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n return \"<form>\\r\\n <div class=\\\"form-group\\\">\\r\\n <label for=\\\"url\\\" class=\\\"control-label\\\">URL</label>\\r\\n <input name=\\\"url\\\" id=\\\"url\\\" type=\\\"text\\\" class=\\\"form-control\\\" placeholder=\\\"URL\\\" autocomplete=\\\"off\\\" autofocus/>\\r\\n <div class=\\\"form-feedback\\\"></div>\\r\\n </div>\\r\\n <div class=\\\"form-group\\\">\\r\\n <label for=\\\"name\\\" class=\\\"control-label\\\">Name</label>\\r\\n <input name=\\\"name\\\" id=\\\"name\\\" type=\\\"text\\\" class=\\\"form-control\\\" placeholder=\\\"Name\\\" autocomplete=\\\"off\\\" autofocus/>\\r\\n <div class=\\\"form-feedback\\\"></div>\\r\\n </div>\\r\\n</form>\\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = helpers.unless.call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.dataFetched : stack1),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(3, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"useData\":true});","import { ObjectHash, Radio, Validation } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\nimport { InstanceManager } from 'libs/common/backbone/services/InstanceManager';\r\nimport { ViewModelService } from 'libs/common/backbone/services/ViewModelService';\r\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\n\r\nimport { PopupBehavior } from 'shared/behaviors';\r\nimport { SpinnerButtonEvents, SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\nimport { SpinnerHelper, SpinnerSize, RadioChannelHelper } from 'shared/utils';\r\nimport { DataChannels, DataServices, AppChannels, Actions } from 'shared/constants';\r\nimport { Link } from 'shared/models/Link';\r\nimport { DisabledSpinnerModel } from 'shared/models/DisabledSpinnerModel';\r\n\r\nimport { LinkDataService } from 'apps/library-editor/services/LinkDataService';\r\nimport { ResourceLinkValidation } from 'apps/library-editor/utils';\r\n\r\nimport EditLinkTemplate from './EditLink.hbs';\r\n\r\ninterface EditLinkViewOptions extends Core.ViewOptions {\r\n linkId: string;\r\n videoId: string;\r\n analyticsOptions?: AnalyticsOptions;\r\n}\r\n\r\nexport class EditLinkView extends Core.View {\r\n public options: EditLinkViewOptions;\r\n private linkDataService: LinkDataService;\r\n private spinnerModel: DisabledSpinnerModel;\r\n\r\n constructor(options: EditLinkViewOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.listenTo(DataChannels.LINK, `link:${this.options.linkId}:sync`, this.render);\r\n\r\n this.linkDataService = InstanceManager.getInstance(DataServices.Link, this);\r\n }\r\n\r\n public get name(): string {\r\n return 'EditLinkView';\r\n }\r\n\r\n public get title(): string {\r\n return 'Edit link';\r\n }\r\n\r\n public get template(): string {\r\n return EditLinkTemplate;\r\n }\r\n\r\n public get channelName(): string {\r\n return RadioChannelHelper.generateUniqueChannelName(this);\r\n }\r\n\r\n public get bindings(): ObjectHash {\r\n return {\r\n '[name=url]': {\r\n observe: 'url',\r\n setOptions: { validate: true }\r\n },\r\n '[name=name]': {\r\n observe: 'name',\r\n setOptions: { validate: true }\r\n }\r\n };\r\n }\r\n\r\n public get behaviors(): any[] {\r\n return [\r\n {\r\n behaviorClass: PopupBehavior,\r\n title: 'Edit link',\r\n spinnerButtonOptions: {\r\n channelName: this.channelName,\r\n model: this.spinnerModel = new DisabledSpinnerModel(),\r\n buttonText: 'Save',\r\n onClick: (e: JQuery.Event) => this.onSubmit(e)\r\n }\r\n }\r\n ];\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n submit: 'onSubmit'\r\n };\r\n }\r\n\r\n private onSubmit(event: JQuery.Event): void {\r\n event && event.preventDefault();\r\n\r\n this.viewModel.validate();\r\n\r\n if (this.viewModel.isValid() === false) return;\r\n\r\n Radio.channel(this.channelName).trigger(SpinnerButtonEvents.ShowSpinner);\r\n\r\n this.linkDataService.updateLink(this.options.videoId, this.viewModel, () => {\r\n this.logAction();\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.LIBRARY_EDITOR,\r\n action: Actions.LibraryEditor.EDIT_VIDEO_RESOURCES,\r\n args: [this.options.videoId]\r\n });\r\n });\r\n }\r\n\r\n private logAction(): void {\r\n const data = {\r\n id: this.options.linkId,\r\n parentId: +this.options.videoId,\r\n name: this.viewModel.get('name')\r\n };\r\n\r\n AnalyticsHelper.logUserAction(data, this.options.analyticsOptions);\r\n }\r\n\r\n private dataFetched(): boolean {\r\n return !!this.model && !!this.viewModel;\r\n }\r\n\r\n public onBeforeRender(): void {\r\n this.model = this.linkDataService.getLink(this.options.linkId, (link: Link) => {\r\n this.viewModel = ViewModelService.get<Link>(\r\n `link:${this.options.linkId}`, link.toJSON(), { ctor: Link }\r\n );\r\n this.viewModel.addValidation(ResourceLinkValidation);\r\n });\r\n\r\n if (this.dataFetched())\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.Disabled, false);\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n dataFetched: this.dataFetched(),\r\n spinnerEl: SpinnerHelper.getSpinner({ size: SpinnerSize.Large, extraClasses: 'mx-auto' })\r\n };\r\n }\r\n\r\n public onRender(): void {\r\n if (!this.viewModel) return;\r\n\r\n this.stickit(this.viewModel);\r\n Validation.bind(this, { model: this.viewModel });\r\n }\r\n\r\n public onClose(): void {\r\n this.unstickit();\r\n }\r\n}","import { ObjectHash } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\nimport { SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\n\r\nexport class DisabledSpinnerModel extends Core.Model {\r\n public defaults(): ObjectHash {\r\n return {\r\n [SpinnerButtonModelAttributes.Disabled]: true\r\n };\r\n }\r\n}"],"sourceRoot":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/views/edit-resource/EditResource.hbs","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/views/edit-resource/EditResourceView.ts","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/shared/models/DisabledSpinnerModel.ts"],"names":[],"mappings":"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","file":"scripts/81.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;\n\n return ((stack1 = container.lambda(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.spinnerEl : stack1), depth0)) != null ? stack1 : \"\")\n + \"\\r\\n\";\n},\"3\":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 \"<form>\\r\\n <div class=\\\"form-group\\\">\\r\\n <label for=\\\"name\\\" class=\\\"control-label\\\">\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"fileName\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</label>\\r\\n <input name=\\\"name\\\" id=\\\"name\\\" type=\\\"text\\\" class=\\\"form-control\\\" placeholder=\\\"\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"fileName\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"\\\" autocomplete=\\\"off\\\" autofocus/>\\r\\n <div class=\\\"form-feedback\\\"></div>\\r\\n </div>\\r\\n</form>\\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = helpers.unless.call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.dataFetched : stack1),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(3, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"useData\":true});","import * as _ from 'underscore';\r\nimport { ObjectHash, Validation } from 'backbone';\r\nimport { Radio } from 'backbone';\r\n\r\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\nimport { Core } from 'libs/common/core';\r\nimport { InstanceManager } from 'libs/common/backbone/services/InstanceManager';\r\nimport { ViewModelService } from 'libs/common/backbone/services/ViewModelService';\r\n\r\nimport { PopupBehavior } from 'shared/behaviors';\r\nimport { SpinnerButtonEvents, SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\nimport { Actions, DataServices, DataChannels, AppChannels } from 'shared/constants';\r\nimport { SpinnerHelper, SpinnerSize, RadioChannelHelper } from 'shared/utils';\r\nimport { DisabledSpinnerModel } from 'shared/models/DisabledSpinnerModel';\r\nimport { Resource } from 'shared/models/Resource';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nimport { ResourceValidation } from 'apps/library-editor/utils';\r\nimport { ResourceDataService } from 'apps/library-editor/services/ResourceDataService';\r\n\r\nimport EditResourceTemplate from './EditResource.hbs';\r\n\r\ninterface EditResourceViewOptions extends Core.ViewOptions {\r\n videoId: string;\r\n resourceId: string;\r\n analyticsOptions?: AnalyticsOptions;\r\n}\r\n\r\nexport class EditResourceView extends Core.View {\r\n public options: EditResourceViewOptions;\r\n private resourceDataService: ResourceDataService;\r\n private spinnerModel: DisabledSpinnerModel;\r\n\r\n constructor(options: EditResourceViewOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.listenTo(DataChannels.RESOURCE, `resource:${this.options.resourceId}:sync`, this.render);\r\n\r\n this.resourceDataService = InstanceManager.getInstance(DataServices.Resource, this);\r\n }\r\n\r\n public get name(): string {\r\n return 'EditResourceView';\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.editResource';\r\n }\r\n\r\n public get title(): string {\r\n return LanguageService.getPhrase(this.lang, 'title');\r\n }\r\n\r\n public get template(): any {\r\n return EditResourceTemplate;\r\n }\r\n\r\n public get channelName(): string {\r\n return RadioChannelHelper.generateUniqueChannelName(this);\r\n }\r\n\r\n public get behaviors(): any[] {\r\n return [\r\n {\r\n behaviorClass: PopupBehavior,\r\n title: LanguageService.getPhrase(this.lang, 'edit'),\r\n spinnerButtonOptions: {\r\n channelName: this.channelName,\r\n model: this.spinnerModel = new DisabledSpinnerModel(),\r\n buttonText: LanguageService.getPhrase(this.lang, 'save'),\r\n onClick: (e: JQuery.Event) => this.onSubmit(e)\r\n }\r\n }\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 };\r\n }\r\n\r\n public get elements(): ObjectHash {\r\n return {\r\n name: '#name',\r\n feedback: '.form-feedback'\r\n };\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n 'submit': 'onSubmit',\r\n 'shown.bs.modal': 'onModalShown'\r\n };\r\n }\r\n\r\n private onSubmit(event: JQuery.Event): void {\r\n event && event.preventDefault();\r\n\r\n this.viewModel.validate();\r\n\r\n if (this.viewModel.isValid() === false) return;\r\n\r\n Radio.channel(this.channelName).trigger(SpinnerButtonEvents.ShowSpinner);\r\n\r\n this.resourceDataService.updateResource(this.options.videoId, this.viewModel, () => {\r\n this.logAction();\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.LIBRARY_EDITOR,\r\n action: Actions.LibraryEditor.EDIT_VIDEO_RESOURCES,\r\n args: [this.options.videoId]\r\n });\r\n });\r\n }\r\n\r\n private logAction(): void {\r\n const data = {\r\n id: this.options.resourceId,\r\n parentId: +this.options.videoId,\r\n name: this.viewModel.get('name')\r\n };\r\n\r\n AnalyticsHelper.logUserAction(data, this.options.analyticsOptions);\r\n }\r\n\r\n private selectAllWithoutExtension(): void {\r\n if (!this.model)\r\n return;\r\n\r\n const nameSansExtension: string = this.model.get('name').split('.').slice(0, -1).join('.');\r\n const $name = this.getUI('name');\r\n\r\n /**\r\n * Browser compatible way of selecting part of an input\r\n * http://programanddesign.com/js/jquery-select-text-range/\r\n */\r\n $name.each((index: number, element: HTMLInputElement) => {\r\n if (_.isFunction(element.setSelectionRange)) {\r\n $name.focus();\r\n element.setSelectionRange(0, nameSansExtension.length);\r\n } else if (_.isFunction((element as any).createTextRange)) {\r\n const range = (element as any).createTextRange();\r\n range.collapse(true);\r\n range.moveEnd('character', nameSansExtension.length);\r\n range.moveStart('character', 0);\r\n range.select();\r\n }\r\n });\r\n }\r\n\r\n private onModalShown(): void {\r\n this.selectAllWithoutExtension();\r\n }\r\n\r\n private dataFetched(): boolean {\r\n return !!this.model && !!this.viewModel;\r\n }\r\n\r\n public onBeforeRender(): void {\r\n this.model = this.resourceDataService.getResource(this.options.resourceId, (resource: Resource) => {\r\n this.viewModel = ViewModelService.get<Resource>(\r\n `resource:${this.options.resourceId}`, resource.toJSON(), { ctor: Resource }\r\n );\r\n this.viewModel.addValidation(ResourceValidation);\r\n });\r\n\r\n if (this.dataFetched())\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.Disabled, false);\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n dataFetched: this.dataFetched(),\r\n spinnerEl: SpinnerHelper.getSpinner({ size: SpinnerSize.Large, extraClasses: 'mx-auto' })\r\n };\r\n }\r\n\r\n public onRender(): void {\r\n if (!this.viewModel) return;\r\n\r\n this.stickit(this.viewModel);\r\n Validation.bind(this, { model: this.viewModel });\r\n\r\n /**\r\n * This needs to be called both in onRender\r\n * and in onModalShown. This is because the second time\r\n * the modal is rendered the resource is not fetched so onRender\r\n * fires before the the popup has slid down.\r\n */\r\n this.selectAllWithoutExtension();\r\n }\r\n\r\n public onClose(): void {\r\n this.unstickit();\r\n Validation.unbind(this);\r\n }\r\n}","import { ObjectHash } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\nimport { SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\n\r\nexport class DisabledSpinnerModel extends Core.Model {\r\n public defaults(): ObjectHash {\r\n return {\r\n [SpinnerButtonModelAttributes.Disabled]: true\r\n };\r\n }\r\n}"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/views/edit-resource/EditResource.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/views/edit-resource/EditResourceView.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/shared/models/DisabledSpinnerModel.ts"],"names":[],"mappings":"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","file":"scripts/81.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;\n\n return ((stack1 = container.lambda(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.spinnerEl : stack1), depth0)) != null ? stack1 : \"\")\n + \"\\r\\n\";\n},\"3\":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 \"<form>\\r\\n <div class=\\\"form-group\\\">\\r\\n <label for=\\\"name\\\" class=\\\"control-label\\\">\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"fileName\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</label>\\r\\n <input name=\\\"name\\\" id=\\\"name\\\" type=\\\"text\\\" class=\\\"form-control\\\" placeholder=\\\"\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"fileName\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"\\\" autocomplete=\\\"off\\\" autofocus/>\\r\\n <div class=\\\"form-feedback\\\"></div>\\r\\n </div>\\r\\n</form>\\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = helpers.unless.call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.dataFetched : stack1),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(3, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"useData\":true});","import * as _ from 'underscore';\r\nimport { ObjectHash, Validation } from 'backbone';\r\nimport { Radio } from 'backbone';\r\n\r\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\nimport { Core } from 'libs/common/core';\r\nimport { InstanceManager } from 'libs/common/backbone/services/InstanceManager';\r\nimport { ViewModelService } from 'libs/common/backbone/services/ViewModelService';\r\n\r\nimport { PopupBehavior } from 'shared/behaviors';\r\nimport { SpinnerButtonEvents, SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\nimport { Actions, DataServices, DataChannels, AppChannels } from 'shared/constants';\r\nimport { SpinnerHelper, SpinnerSize, RadioChannelHelper } from 'shared/utils';\r\nimport { DisabledSpinnerModel } from 'shared/models/DisabledSpinnerModel';\r\nimport { Resource } from 'shared/models/Resource';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nimport { ResourceValidation } from 'apps/library-editor/utils';\r\nimport { ResourceDataService } from 'apps/library-editor/services/ResourceDataService';\r\n\r\nimport EditResourceTemplate from './EditResource.hbs';\r\n\r\ninterface EditResourceViewOptions extends Core.ViewOptions {\r\n videoId: string;\r\n resourceId: string;\r\n analyticsOptions?: AnalyticsOptions;\r\n}\r\n\r\nexport class EditResourceView extends Core.View {\r\n public options: EditResourceViewOptions;\r\n private resourceDataService: ResourceDataService;\r\n private spinnerModel: DisabledSpinnerModel;\r\n\r\n constructor(options: EditResourceViewOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.listenTo(DataChannels.RESOURCE, `resource:${this.options.resourceId}:sync`, this.render);\r\n\r\n this.resourceDataService = InstanceManager.getInstance(DataServices.Resource, this);\r\n }\r\n\r\n public get name(): string {\r\n return 'EditResourceView';\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.editResource';\r\n }\r\n\r\n public get title(): string {\r\n return LanguageService.getPhrase(this.lang, 'title');\r\n }\r\n\r\n public get template(): any {\r\n return EditResourceTemplate;\r\n }\r\n\r\n public get channelName(): string {\r\n return RadioChannelHelper.generateUniqueChannelName(this);\r\n }\r\n\r\n public get behaviors(): any[] {\r\n return [\r\n {\r\n behaviorClass: PopupBehavior,\r\n title: LanguageService.getPhrase(this.lang, 'edit'),\r\n spinnerButtonOptions: {\r\n channelName: this.channelName,\r\n model: this.spinnerModel = new DisabledSpinnerModel(),\r\n buttonText: LanguageService.getPhrase(this.lang, 'save'),\r\n onClick: (e: JQuery.Event) => this.onSubmit(e)\r\n }\r\n }\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 };\r\n }\r\n\r\n public get elements(): ObjectHash {\r\n return {\r\n name: '#name',\r\n feedback: '.form-feedback'\r\n };\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n 'submit': 'onSubmit',\r\n 'shown.bs.modal': 'onModalShown'\r\n };\r\n }\r\n\r\n private onSubmit(event: JQuery.Event): void {\r\n event && event.preventDefault();\r\n\r\n this.viewModel.validate();\r\n\r\n if (this.viewModel.isValid() === false) return;\r\n\r\n Radio.channel(this.channelName).trigger(SpinnerButtonEvents.ShowSpinner);\r\n\r\n this.resourceDataService.updateResource(this.options.videoId, this.viewModel, () => {\r\n this.logAction();\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.LIBRARY_EDITOR,\r\n action: Actions.LibraryEditor.EDIT_VIDEO_RESOURCES,\r\n args: [this.options.videoId]\r\n });\r\n });\r\n }\r\n\r\n private logAction(): void {\r\n const data = {\r\n id: this.options.resourceId,\r\n parentId: +this.options.videoId,\r\n name: this.viewModel.get('name')\r\n };\r\n\r\n AnalyticsHelper.logUserAction(data, this.options.analyticsOptions);\r\n }\r\n\r\n private selectAllWithoutExtension(): void {\r\n if (!this.model)\r\n return;\r\n\r\n const nameSansExtension: string = this.model.get('name').split('.').slice(0, -1).join('.');\r\n const $name = this.getUI('name');\r\n\r\n /**\r\n * Browser compatible way of selecting part of an input\r\n * http://programanddesign.com/js/jquery-select-text-range/\r\n */\r\n $name.each((index: number, element: HTMLInputElement) => {\r\n if (_.isFunction(element.setSelectionRange)) {\r\n $name.focus();\r\n element.setSelectionRange(0, nameSansExtension.length);\r\n } else if (_.isFunction((element as any).createTextRange)) {\r\n const range = (element as any).createTextRange();\r\n range.collapse(true);\r\n range.moveEnd('character', nameSansExtension.length);\r\n range.moveStart('character', 0);\r\n range.select();\r\n }\r\n });\r\n }\r\n\r\n private onModalShown(): void {\r\n this.selectAllWithoutExtension();\r\n }\r\n\r\n private dataFetched(): boolean {\r\n return !!this.model && !!this.viewModel;\r\n }\r\n\r\n public onBeforeRender(): void {\r\n this.model = this.resourceDataService.getResource(this.options.resourceId, (resource: Resource) => {\r\n this.viewModel = ViewModelService.get<Resource>(\r\n `resource:${this.options.resourceId}`, resource.toJSON(), { ctor: Resource }\r\n );\r\n this.viewModel.addValidation(ResourceValidation);\r\n });\r\n\r\n if (this.dataFetched())\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.Disabled, false);\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n dataFetched: this.dataFetched(),\r\n spinnerEl: SpinnerHelper.getSpinner({ size: SpinnerSize.Large, extraClasses: 'mx-auto' })\r\n };\r\n }\r\n\r\n public onRender(): void {\r\n if (!this.viewModel) return;\r\n\r\n this.stickit(this.viewModel);\r\n Validation.bind(this, { model: this.viewModel });\r\n\r\n /**\r\n * This needs to be called both in onRender\r\n * and in onModalShown. This is because the second time\r\n * the modal is rendered the resource is not fetched so onRender\r\n * fires before the the popup has slid down.\r\n */\r\n this.selectAllWithoutExtension();\r\n }\r\n\r\n public onClose(): void {\r\n this.unstickit();\r\n Validation.unbind(this);\r\n }\r\n}","import { ObjectHash } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\nimport { SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\n\r\nexport class DisabledSpinnerModel extends Core.Model {\r\n public defaults(): ObjectHash {\r\n return {\r\n [SpinnerButtonModelAttributes.Disabled]: true\r\n };\r\n }\r\n}"],"sourceRoot":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/views/new-library/NewLibrary.hbs","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/views/new-library/NewLibraryView.ts","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/shared/models/DisabledSpinnerModel.ts"],"names":[],"mappings":"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","file":"scripts/82.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;\n\n return ((stack1 = container.lambda(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.spinnerEl : stack1), depth0)) != null ? stack1 : \"\")\n + \"\\r\\n\";\n},\"3\":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 \"<form>\\r\\n <div class=\\\"form-group\\\">\\r\\n <label for=\\\"name\\\" class=\\\"control-label\\\">\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"libraryName\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</label>\\r\\n <input name=\\\"name\\\" id=\\\"name\\\" type=\\\"text\\\" class=\\\"form-control\\\" placeholder=\\\"\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"secondaryLibrary\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"\\\" autocomplete=\\\"off\\\" autofocus/>\\r\\n <div class=\\\"form-feedback\\\"></div>\\r\\n </div>\\r\\n</form>\\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = helpers.unless.call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.dataFetched : stack1),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(3, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"useData\":true});","import { ObjectHash } from 'backbone';\r\nimport { Radio } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { InstanceManager } from 'libs/common/backbone/services/InstanceManager';\r\nimport { ViewModelService } from 'libs/common/backbone/services/ViewModelService';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nimport { BackboneValidationBehavior, StickitBehavior, PopupBehavior } from 'shared/behaviors';\r\nimport { SettingsDataService } from 'shared/services/SettingsDataService';\r\nimport { UserDataServiceHelper } from 'shared/services/UserDataService';\r\nimport { DataServices, Actions, DataPrefixes, DataChannels, AppChannels } from 'shared/constants';\r\nimport { SpinnerButtonEvents, SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\nimport { SettingName } from 'shared/enums';\r\nimport { FolderCollection } from 'shared/collections/FolderCollection';\r\nimport { Library } from 'shared/models/Library';\r\nimport { Setting } from 'shared/models/Setting';\r\nimport { User } from 'shared/models/User';\r\nimport { DisabledSpinnerModel } from 'shared/models/DisabledSpinnerModel';\r\nimport { RadioChannelHelper, SpinnerHelper, SpinnerSize } from 'shared/utils';\r\n\r\nimport { LibraryValidation } from 'apps/library-editor/utils';\r\nimport { LibraryDataService, LibraryDataServiceHelper } from 'apps/library-editor/services/LibraryDataService';\r\nimport { MaxCustomLibrariesError } from 'apps/library-editor/errors';\r\n\r\nimport NewLibraryTemplate from './NewLibrary.hbs';\r\n\r\nexport class NewLibraryView extends Core.View<Library> {\r\n private libraryDataService: LibraryDataService;\r\n private settingsDataService: SettingsDataService;\r\n\r\n private currentUser: User;\r\n private maxCustomLibraries: Setting;\r\n private libraries: FolderCollection;\r\n private spinnerModel: DisabledSpinnerModel;\r\n\r\n public initialize(): void {\r\n this.model = ViewModelService.get('new:library', null, {\r\n ctor: Library\r\n });\r\n\r\n this.bindListeners();\r\n\r\n this.settingsDataService = InstanceManager.getInstance(DataServices.Settings, this);\r\n this.libraryDataService = InstanceManager.getInstance(DataServices.Library, this);\r\n }\r\n\r\n private bindListeners(): void {\r\n this.listenTo(DataChannels.SEARCH, `${DataPrefixes.SETTINGS}:sync`, this.render);\r\n }\r\n\r\n public get name(): string {\r\n return 'NewLibraryView';\r\n }\r\n\r\n public get title(): string {\r\n return LanguageService.getPhrase(this.lang, 'title');\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.newLibrary';\r\n }\r\n\r\n public get template(): any {\r\n return NewLibraryTemplate;\r\n }\r\n\r\n public get channelName(): string {\r\n return RadioChannelHelper.generateUniqueChannelName(this);\r\n }\r\n\r\n public get behaviors(): any[] {\r\n return [{\r\n behaviorClass: BackboneValidationBehavior,\r\n modelValidation: LibraryValidation\r\n }, {\r\n behaviorClass: StickitBehavior\r\n }, {\r\n behaviorClass: PopupBehavior,\r\n title: LanguageService.getPhrase(this.lang, 'heading'),\r\n spinnerButtonOptions: {\r\n model: this.spinnerModel = new DisabledSpinnerModel(),\r\n channelName: this.channelName,\r\n buttonText: LanguageService.getPhrase(this.lang, 'save'),\r\n onClick: (e: JQuery.Event) => this.onSubmit(e)\r\n }\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 };\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n submit: 'onSubmit'\r\n };\r\n }\r\n\r\n private onSubmit(event: JQuery.Event): void {\r\n event && event.preventDefault();\r\n\r\n this.model.validate();\r\n\r\n if (!this.model.isValid()) return;\r\n\r\n Radio.channel(this.channelName).trigger(SpinnerButtonEvents.ShowSpinner);\r\n\r\n this.createLibrary();\r\n }\r\n\r\n private createLibrary(): void {\r\n this.libraryDataService.createLibrary(this.currentUser.get('customerId'), this.model, (data: Library) => {\r\n ViewModelService.clear('new:library');\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.LIBRARY_EDITOR,\r\n action: Actions.LibraryEditor.LIBRARY,\r\n args: [data.id]\r\n });\r\n });\r\n }\r\n\r\n public get requiredResources(): Core.RequiredResourceHash {\r\n return {\r\n currentUser: UserDataServiceHelper.currentUser,\r\n libraries: LibraryDataServiceHelper.libraries\r\n };\r\n }\r\n\r\n public onBeforeRender(): void {\r\n this.maxCustomLibraries = this.settingsDataService.getSetting(this.currentUser.get('customerId'), SettingName.MaxCustomLibraries);\r\n\r\n if (this.libraries.length >= this.maxCustomLibraries.get('value')) {\r\n Core.ErrorHelper.throw(new MaxCustomLibrariesError(this.libraries.length, this.maxCustomLibraries.get('value')));\r\n return;\r\n }\r\n\r\n if (this.maxCustomLibraries)\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.Disabled, false);\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n dataFetched: !!this.maxCustomLibraries,\r\n spinnerEl: SpinnerHelper.getSpinner({ size: SpinnerSize.Large, extraClasses: 'mx-auto' })\r\n };\r\n }\r\n}","import { ObjectHash } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\nimport { SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\n\r\nexport class DisabledSpinnerModel extends Core.Model {\r\n public defaults(): ObjectHash {\r\n return {\r\n [SpinnerButtonModelAttributes.Disabled]: true\r\n };\r\n }\r\n}"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/views/new-library/NewLibrary.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/views/new-library/NewLibraryView.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/shared/models/DisabledSpinnerModel.ts"],"names":[],"mappings":"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","file":"scripts/82.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;\n\n return ((stack1 = container.lambda(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.spinnerEl : stack1), depth0)) != null ? stack1 : \"\")\n + \"\\r\\n\";\n},\"3\":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 \"<form>\\r\\n <div class=\\\"form-group\\\">\\r\\n <label for=\\\"name\\\" class=\\\"control-label\\\">\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"libraryName\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</label>\\r\\n <input name=\\\"name\\\" id=\\\"name\\\" type=\\\"text\\\" class=\\\"form-control\\\" placeholder=\\\"\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"secondaryLibrary\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"\\\" autocomplete=\\\"off\\\" autofocus/>\\r\\n <div class=\\\"form-feedback\\\"></div>\\r\\n </div>\\r\\n</form>\\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = helpers.unless.call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.dataFetched : stack1),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(3, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"useData\":true});","import { ObjectHash } from 'backbone';\r\nimport { Radio } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { InstanceManager } from 'libs/common/backbone/services/InstanceManager';\r\nimport { ViewModelService } from 'libs/common/backbone/services/ViewModelService';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nimport { BackboneValidationBehavior, StickitBehavior, PopupBehavior } from 'shared/behaviors';\r\nimport { SettingsDataService } from 'shared/services/SettingsDataService';\r\nimport { UserDataServiceHelper } from 'shared/services/UserDataService';\r\nimport { DataServices, Actions, DataPrefixes, DataChannels, AppChannels } from 'shared/constants';\r\nimport { SpinnerButtonEvents, SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\nimport { SettingName } from 'shared/enums';\r\nimport { FolderCollection } from 'shared/collections/FolderCollection';\r\nimport { Library } from 'shared/models/Library';\r\nimport { Setting } from 'shared/models/Setting';\r\nimport { User } from 'shared/models/User';\r\nimport { DisabledSpinnerModel } from 'shared/models/DisabledSpinnerModel';\r\nimport { RadioChannelHelper, SpinnerHelper, SpinnerSize } from 'shared/utils';\r\n\r\nimport { LibraryValidation } from 'apps/library-editor/utils';\r\nimport { LibraryDataService, LibraryDataServiceHelper } from 'apps/library-editor/services/LibraryDataService';\r\nimport { MaxCustomLibrariesError } from 'apps/library-editor/errors';\r\n\r\nimport NewLibraryTemplate from './NewLibrary.hbs';\r\n\r\nexport class NewLibraryView extends Core.View<Library> {\r\n private libraryDataService: LibraryDataService;\r\n private settingsDataService: SettingsDataService;\r\n\r\n private currentUser: User;\r\n private maxCustomLibraries: Setting;\r\n private libraries: FolderCollection;\r\n private spinnerModel: DisabledSpinnerModel;\r\n\r\n public initialize(): void {\r\n this.model = ViewModelService.get('new:library', null, {\r\n ctor: Library\r\n });\r\n\r\n this.bindListeners();\r\n\r\n this.settingsDataService = InstanceManager.getInstance(DataServices.Settings, this);\r\n this.libraryDataService = InstanceManager.getInstance(DataServices.Library, this);\r\n }\r\n\r\n private bindListeners(): void {\r\n this.listenTo(DataChannels.SEARCH, `${DataPrefixes.SETTINGS}:sync`, this.render);\r\n }\r\n\r\n public get name(): string {\r\n return 'NewLibraryView';\r\n }\r\n\r\n public get title(): string {\r\n return LanguageService.getPhrase(this.lang, 'title');\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.newLibrary';\r\n }\r\n\r\n public get template(): any {\r\n return NewLibraryTemplate;\r\n }\r\n\r\n public get channelName(): string {\r\n return RadioChannelHelper.generateUniqueChannelName(this);\r\n }\r\n\r\n public get behaviors(): any[] {\r\n return [{\r\n behaviorClass: BackboneValidationBehavior,\r\n modelValidation: LibraryValidation\r\n }, {\r\n behaviorClass: StickitBehavior\r\n }, {\r\n behaviorClass: PopupBehavior,\r\n title: LanguageService.getPhrase(this.lang, 'heading'),\r\n spinnerButtonOptions: {\r\n model: this.spinnerModel = new DisabledSpinnerModel(),\r\n channelName: this.channelName,\r\n buttonText: LanguageService.getPhrase(this.lang, 'save'),\r\n onClick: (e: JQuery.Event) => this.onSubmit(e)\r\n }\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 };\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n submit: 'onSubmit'\r\n };\r\n }\r\n\r\n private onSubmit(event: JQuery.Event): void {\r\n event && event.preventDefault();\r\n\r\n this.model.validate();\r\n\r\n if (!this.model.isValid()) return;\r\n\r\n Radio.channel(this.channelName).trigger(SpinnerButtonEvents.ShowSpinner);\r\n\r\n this.createLibrary();\r\n }\r\n\r\n private createLibrary(): void {\r\n this.libraryDataService.createLibrary(this.currentUser.get('customerId'), this.model, (data: Library) => {\r\n ViewModelService.clear('new:library');\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.LIBRARY_EDITOR,\r\n action: Actions.LibraryEditor.LIBRARY,\r\n args: [data.id]\r\n });\r\n });\r\n }\r\n\r\n public get requiredResources(): Core.RequiredResourceHash {\r\n return {\r\n currentUser: UserDataServiceHelper.currentUser,\r\n libraries: LibraryDataServiceHelper.libraries\r\n };\r\n }\r\n\r\n public onBeforeRender(): void {\r\n this.maxCustomLibraries = this.settingsDataService.getSetting(this.currentUser.get('customerId'), SettingName.MaxCustomLibraries);\r\n\r\n if (this.libraries.length >= this.maxCustomLibraries.get('value')) {\r\n Core.ErrorHelper.throw(new MaxCustomLibrariesError(this.libraries.length, this.maxCustomLibraries.get('value')));\r\n return;\r\n }\r\n\r\n if (this.maxCustomLibraries)\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.Disabled, false);\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n dataFetched: !!this.maxCustomLibraries,\r\n spinnerEl: SpinnerHelper.getSpinner({ size: SpinnerSize.Large, extraClasses: 'mx-auto' })\r\n };\r\n }\r\n}","import { ObjectHash } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\nimport { SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\n\r\nexport class DisabledSpinnerModel extends Core.Model {\r\n public defaults(): ObjectHash {\r\n return {\r\n [SpinnerButtonModelAttributes.Disabled]: true\r\n };\r\n }\r\n}"],"sourceRoot":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/migration-wizard/views/remigrate-video/RemigrateVideo.hbs","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/migration-wizard/views/remigrate-video/RemigrateVideoView.ts","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/shared/models/DisabledSpinnerModel.ts"],"names":[],"mappings":"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","file":"scripts/83.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;\n\n return ((stack1 = container.lambda(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.spinnerEl : stack1), depth0)) != null ? stack1 : \"\")\n + \"\\r\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.videoDeleted : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(4, data, 0),\"inverse\":container.program(6, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"4\":function(container,depth0,helpers,partials,data) {\n var alias1=container.propertyIsEnumerable;\n\n return container.escapeExpression((helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),\"deleted\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"\\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 alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"exists\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \" <a class=\\\"view-video info-link\\\">\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"clickHere\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</a>\\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = helpers.unless.call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.dataFetched : stack1),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(3, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"useData\":true});","import { ObjectHash } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\nimport { InstanceManager } from 'libs/common/backbone/services/InstanceManager';\r\n\r\nimport RemigrateVideoTemplate from './RemigrateVideo.hbs';\r\n\r\nimport { PopupBehavior, PopupSpinnerButtonOptions } from 'shared/behaviors';\r\nimport { SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\nimport { DisabledSpinnerModel } from 'shared/models/DisabledSpinnerModel';\r\nimport { Video } from 'shared/models/Video';\r\nimport { DataServices, DataChannels, DataPrefixes, AppChannels, Actions } from 'shared/constants';\r\nimport { SpinnerHelper, SpinnerSize, RadioChannelHelper } from 'shared/utils';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nimport { VideoDataService } from 'apps/library-editor/services/VideoDataService';\r\nimport { MigrationVideoDataService } from 'apps/migration-wizard/services/MigrationVideoDataService';\r\nimport { FinalisationTask } from 'apps/migration-wizard/models';\r\nimport { MasterObjectTypes } from 'shared/enums';\r\n\r\ninterface RemigrateVideoViewOptions extends Core.ViewOptions<Video> {\r\n videoId: string;\r\n masterId?: string;\r\n folderChord: string;\r\n}\r\n\r\nexport class RemigrateVideoView extends Core.View {\r\n public options: RemigrateVideoViewOptions;\r\n private videoDataService: VideoDataService;\r\n private migrationVideoDataService: MigrationVideoDataService;\r\n private spinnerModel: DisabledSpinnerModel;\r\n\r\n constructor(options: RemigrateVideoViewOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.spinnerModel = new DisabledSpinnerModel();\r\n\r\n this.videoDataService = InstanceManager.getInstance(DataServices.Video, this);\r\n this.migrationVideoDataService = InstanceManager.getInstance(DataServices.MigrationVideo, this);\r\n\r\n if (!this.options.masterId)\r\n return;\r\n\r\n this.listenTo(DataChannels.VIDEO, `${DataPrefixes.VIDEOS}:${this.options.masterId}:error`, this.onError);\r\n }\r\n\r\n public get name(): string {\r\n return 'RemigrateVideoView';\r\n }\r\n\r\n public get title(): string {\r\n return LanguageService.getPhrase(this.lang, 'title');\r\n }\r\n\r\n public get lang(): string {\r\n return 'migrationWizard.remigrateVideo';\r\n }\r\n\r\n public get template(): string {\r\n return RemigrateVideoTemplate;\r\n }\r\n\r\n public get channelName(): string {\r\n return RadioChannelHelper.generateUniqueChannelName(this);\r\n }\r\n\r\n public get behaviors(): any[] {\r\n return [\r\n {\r\n behaviorClass: PopupBehavior,\r\n title: LanguageService.getPhrase(this.lang, 'heading'),\r\n spinnerButtonOptions: this.getSpinnerButtonOptions\r\n }\r\n ];\r\n }\r\n\r\n public get appLinks(): Core.AppLinkHash {\r\n return {\r\n '.view-video': {\r\n application: AppChannels.LIBRARY_EDITOR,\r\n action: Actions.LibraryEditor.VIDEO_DETAILS,\r\n args: [this.options.masterId]\r\n }\r\n };\r\n }\r\n\r\n private getSpinnerButtonOptions(): PopupSpinnerButtonOptions {\r\n if (this.model)\r\n return;\r\n\r\n return {\r\n model: this.spinnerModel,\r\n channelName: this.channelName,\r\n buttonText: () => this.getButtonText(),\r\n onClick: () => this.migrateVideo()\r\n };\r\n }\r\n\r\n private getButtonText(): string {\r\n return this.model\r\n ? LanguageService.getPhrase(this.lang, 'viewVideo')\r\n : LanguageService.getPhrase(this.lang, 'addToLibrary');\r\n }\r\n\r\n private onVideoSync(data: Video): void {\r\n /**\r\n * If the video is an exchange or hosted library video and was removed from the custom library\r\n * the fetch will still return the video but the video won't be associated to a custom library\r\n * So we need our popup to behave as if the video could not be fetched\r\n */\r\n if (!data.libraries || !data.libraries.any(l => l.get('type') === MasterObjectTypes.CustomLibrary)) {\r\n this.onError();\r\n return;\r\n }\r\n\r\n this.model = data;\r\n\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.Disabled, false);\r\n\r\n this.render();\r\n }\r\n\r\n private onError(): void {\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.Disabled, false);\r\n\r\n this.render();\r\n }\r\n\r\n private migrateVideo(): void {\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.ShowSpinner, true);\r\n\r\n const groups = new Core.Collection([{\r\n folderChord: this.options.folderChord,\r\n videoIds: [this.options.videoId]\r\n }]);\r\n\r\n this.migrationVideoDataService.finaliseCustomerVideos(\r\n groups, false, (finalisationTask: FinalisationTask) => {\r\n this.migrationVideoDataService.clearVideoCache();\r\n this.videoDataService.clearVideoCache();\r\n\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.MIGRATION_WIZARD,\r\n action: Actions.MigrationWizard.PROGRESS,\r\n args: [finalisationTask.id],\r\n });\r\n }\r\n );\r\n }\r\n\r\n private dataFetched(): boolean {\r\n return !this.spinnerModel.get(SpinnerButtonModelAttributes.Disabled);\r\n }\r\n\r\n public onBeforeRender(): void {\r\n if (this.model || !this.options.masterId) {\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.Disabled, false);\r\n return;\r\n }\r\n\r\n if (this.dataFetched())\r\n return;\r\n\r\n this.videoDataService.clearCacheAndGetVideo(this.options.masterId, (data: Video) => this.onVideoSync(data), false);\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n dataFetched: this.dataFetched(),\r\n videoDeleted: !this.model,\r\n spinnerEl: SpinnerHelper.getSpinner({ size: SpinnerSize.Large, extraClasses: 'mx-auto' })\r\n };\r\n }\r\n}","import { ObjectHash } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\nimport { SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\n\r\nexport class DisabledSpinnerModel extends Core.Model {\r\n public defaults(): ObjectHash {\r\n return {\r\n [SpinnerButtonModelAttributes.Disabled]: true\r\n };\r\n }\r\n}"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/migration-wizard/views/remigrate-video/RemigrateVideo.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/migration-wizard/views/remigrate-video/RemigrateVideoView.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/shared/models/DisabledSpinnerModel.ts"],"names":[],"mappings":"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","file":"scripts/83.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;\n\n return ((stack1 = container.lambda(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.spinnerEl : stack1), depth0)) != null ? stack1 : \"\")\n + \"\\r\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.videoDeleted : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(4, data, 0),\"inverse\":container.program(6, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"4\":function(container,depth0,helpers,partials,data) {\n var alias1=container.propertyIsEnumerable;\n\n return container.escapeExpression((helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),\"deleted\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"\\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 alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"exists\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \" <a class=\\\"view-video info-link\\\">\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"clickHere\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</a>\\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = helpers.unless.call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.dataFetched : stack1),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(3, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"useData\":true});","import { ObjectHash } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\nimport { InstanceManager } from 'libs/common/backbone/services/InstanceManager';\r\n\r\nimport RemigrateVideoTemplate from './RemigrateVideo.hbs';\r\n\r\nimport { PopupBehavior, PopupSpinnerButtonOptions } from 'shared/behaviors';\r\nimport { SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\nimport { DisabledSpinnerModel } from 'shared/models/DisabledSpinnerModel';\r\nimport { Video } from 'shared/models/Video';\r\nimport { DataServices, DataChannels, DataPrefixes, AppChannels, Actions } from 'shared/constants';\r\nimport { SpinnerHelper, SpinnerSize, RadioChannelHelper } from 'shared/utils';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nimport { VideoDataService } from 'apps/library-editor/services/VideoDataService';\r\nimport { MigrationVideoDataService } from 'apps/migration-wizard/services/MigrationVideoDataService';\r\nimport { FinalisationTask } from 'apps/migration-wizard/models';\r\nimport { MasterObjectTypes } from 'shared/enums';\r\n\r\ninterface RemigrateVideoViewOptions extends Core.ViewOptions<Video> {\r\n videoId: string;\r\n masterId?: string;\r\n folderChord: string;\r\n}\r\n\r\nexport class RemigrateVideoView extends Core.View {\r\n public options: RemigrateVideoViewOptions;\r\n private videoDataService: VideoDataService;\r\n private migrationVideoDataService: MigrationVideoDataService;\r\n private spinnerModel: DisabledSpinnerModel;\r\n\r\n constructor(options: RemigrateVideoViewOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.spinnerModel = new DisabledSpinnerModel();\r\n\r\n this.videoDataService = InstanceManager.getInstance(DataServices.Video, this);\r\n this.migrationVideoDataService = InstanceManager.getInstance(DataServices.MigrationVideo, this);\r\n\r\n if (!this.options.masterId)\r\n return;\r\n\r\n this.listenTo(DataChannels.VIDEO, `${DataPrefixes.VIDEOS}:${this.options.masterId}:error`, this.onError);\r\n }\r\n\r\n public get name(): string {\r\n return 'RemigrateVideoView';\r\n }\r\n\r\n public get title(): string {\r\n return LanguageService.getPhrase(this.lang, 'title');\r\n }\r\n\r\n public get lang(): string {\r\n return 'migrationWizard.remigrateVideo';\r\n }\r\n\r\n public get template(): string {\r\n return RemigrateVideoTemplate;\r\n }\r\n\r\n public get channelName(): string {\r\n return RadioChannelHelper.generateUniqueChannelName(this);\r\n }\r\n\r\n public get behaviors(): any[] {\r\n return [\r\n {\r\n behaviorClass: PopupBehavior,\r\n title: LanguageService.getPhrase(this.lang, 'heading'),\r\n spinnerButtonOptions: this.getSpinnerButtonOptions\r\n }\r\n ];\r\n }\r\n\r\n public get appLinks(): Core.AppLinkHash {\r\n return {\r\n '.view-video': {\r\n application: AppChannels.LIBRARY_EDITOR,\r\n action: Actions.LibraryEditor.VIDEO_DETAILS,\r\n args: [this.options.masterId]\r\n }\r\n };\r\n }\r\n\r\n private getSpinnerButtonOptions(): PopupSpinnerButtonOptions {\r\n if (this.model)\r\n return;\r\n\r\n return {\r\n model: this.spinnerModel,\r\n channelName: this.channelName,\r\n buttonText: () => this.getButtonText(),\r\n onClick: () => this.migrateVideo()\r\n };\r\n }\r\n\r\n private getButtonText(): string {\r\n return this.model\r\n ? LanguageService.getPhrase(this.lang, 'viewVideo')\r\n : LanguageService.getPhrase(this.lang, 'addToLibrary');\r\n }\r\n\r\n private onVideoSync(data: Video): void {\r\n /**\r\n * If the video is an exchange or hosted library video and was removed from the custom library\r\n * the fetch will still return the video but the video won't be associated to a custom library\r\n * So we need our popup to behave as if the video could not be fetched\r\n */\r\n if (!data.libraries || !data.libraries.any(l => l.get('type') === MasterObjectTypes.CustomLibrary)) {\r\n this.onError();\r\n return;\r\n }\r\n\r\n this.model = data;\r\n\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.Disabled, false);\r\n\r\n this.render();\r\n }\r\n\r\n private onError(): void {\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.Disabled, false);\r\n\r\n this.render();\r\n }\r\n\r\n private migrateVideo(): void {\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.ShowSpinner, true);\r\n\r\n const groups = new Core.Collection([{\r\n folderChord: this.options.folderChord,\r\n videoIds: [this.options.videoId]\r\n }]);\r\n\r\n this.migrationVideoDataService.finaliseCustomerVideos(\r\n groups, false, (finalisationTask: FinalisationTask) => {\r\n this.migrationVideoDataService.clearVideoCache();\r\n this.videoDataService.clearVideoCache();\r\n\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.MIGRATION_WIZARD,\r\n action: Actions.MigrationWizard.PROGRESS,\r\n args: [finalisationTask.id],\r\n });\r\n }\r\n );\r\n }\r\n\r\n private dataFetched(): boolean {\r\n return !this.spinnerModel.get(SpinnerButtonModelAttributes.Disabled);\r\n }\r\n\r\n public onBeforeRender(): void {\r\n if (this.model || !this.options.masterId) {\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.Disabled, false);\r\n return;\r\n }\r\n\r\n if (this.dataFetched())\r\n return;\r\n\r\n this.videoDataService.clearCacheAndGetVideo(this.options.masterId, (data: Video) => this.onVideoSync(data), false);\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n dataFetched: this.dataFetched(),\r\n videoDeleted: !this.model,\r\n spinnerEl: SpinnerHelper.getSpinner({ size: SpinnerSize.Large, extraClasses: 'mx-auto' })\r\n };\r\n }\r\n}","import { ObjectHash } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\nimport { SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\n\r\nexport class DisabledSpinnerModel extends Core.Model {\r\n public defaults(): ObjectHash {\r\n return {\r\n [SpinnerButtonModelAttributes.Disabled]: true\r\n };\r\n }\r\n}"],"sourceRoot":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/staff-requests/views/approve-staff-request/ApproveStaffRequest.hbs","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/staff-requests/views/approve-staff-request/ApproveStaffRequestView.ts","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/shared/models/DisabledSpinnerModel.ts"],"names":[],"mappings":"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","file":"scripts/84.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;\n\n return ((stack1 = container.lambda(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.spinnerEl : stack1), depth0)) != null ? stack1 : \"\")\n + \"\\r\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return \"<p>\"\n + ((stack1 = (helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),\"approveDescription\",{\"name\":\"lang\",\"hash\":{\"videoName\":((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.videoName : stack1),\"folderName\":((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.folderName : stack1),\"libraryName\":((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.libraryName : stack1)},\"data\":data})) != null ? stack1 : \"\")\n + \"</p>\\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = helpers.unless.call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.dataFetched : stack1),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(3, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"useData\":true});","import { ObjectHash, Radio } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { InstanceManager } from 'libs/common/backbone/services/InstanceManager';\r\nimport { LocationContext, UserAction, EntityType, WorkflowPhase } from 'libs/analytics/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\n\r\nimport { PopupBehavior } from 'shared/behaviors';\r\nimport { SpinnerButtonEvents, SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\nimport { DataServices, Actions, DataPrefixes, DataChannels, AppChannels } from 'shared/constants';\r\nimport { Library } from 'shared/models/Library';\r\nimport { Folder } from 'shared/models/Folder';\r\nimport { DisabledSpinnerModel } from 'shared/models/DisabledSpinnerModel';\r\nimport { LibraryCollection } from 'shared/collections/LibraryCollection';\r\nimport { FolderTreeHelpers, RadioChannelHelper, TextHelper, SpinnerHelper, SpinnerSize } from 'shared/utils';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nimport { StaffRequest } from 'apps/staff-requests/models';\r\nimport { LibraryDataService } from 'apps/library-editor/services/LibraryDataService';\r\nimport { StaffRequestDataService } from 'apps/staff-requests/services/StaffRequestDataService';\r\n\r\nimport ApproveStaffRequestTemplate from './ApproveStaffRequest.hbs';\r\n\r\ninterface ApproveStaffRequestViewOptions extends Core.ViewOptions<StaffRequest> {\r\n requestId: string;\r\n libraryId: string;\r\n folderId: string;\r\n}\r\n\r\nexport class ApproveStaffRequestView extends Core.View<StaffRequest> {\r\n public options: ApproveStaffRequestViewOptions;\r\n private staffRequestDataService: StaffRequestDataService;\r\n private libraryDataService: LibraryDataService;\r\n private library: Library;\r\n private folder: Folder;\r\n private spinnerModel: DisabledSpinnerModel;\r\n\r\n constructor(options: ApproveStaffRequestViewOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.staffRequestDataService = InstanceManager.getInstance(DataServices.StaffRequests, this);\r\n this.libraryDataService = InstanceManager.getInstance(DataServices.Library, this);\r\n this.bindListeners();\r\n }\r\n\r\n public get name(): string {\r\n return 'ApproveStaffRequestView';\r\n }\r\n\r\n public get title(): string {\r\n return LanguageService.getPhrase(this.lang, 'title');\r\n }\r\n\r\n public get lang(): string {\r\n return 'staffRequests.approveStaffRequest';\r\n }\r\n\r\n public get template(): string {\r\n return ApproveStaffRequestTemplate;\r\n }\r\n\r\n public get tagName(): string {\r\n return 'form';\r\n }\r\n\r\n public get channelName(): string {\r\n return RadioChannelHelper.generateUniqueChannelName(this);\r\n }\r\n\r\n public get behaviors(): any[] {\r\n return [\r\n {\r\n behaviorClass: PopupBehavior,\r\n title: LanguageService.getPhrase(this.lang, 'approveCheck'),\r\n size: 'modal-md',\r\n spinnerButtonOptions: {\r\n model: this.spinnerModel = new DisabledSpinnerModel(),\r\n channelName: this.channelName,\r\n buttonText: LanguageService.getPhrase(this.lang, 'approve'),\r\n onClick: (e: JQuery.Event) => this.onSubmit(e)\r\n }\r\n }\r\n ];\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n submit: 'onSubmit'\r\n };\r\n }\r\n\r\n private bindListeners(): void {\r\n const fetchStaffRequestEventName = `${DataPrefixes.STAFF_REQUEST_BY_ID}:${this.options.requestId}`;\r\n this.listenTo(DataChannels.STAFF_REQUEST, `${fetchStaffRequestEventName}:sync`, this.render);\r\n this.listenTo(DataChannels.STAFF_REQUEST, `${fetchStaffRequestEventName}:error`, this.redirectToHome);\r\n\r\n const updateStaffRequestEventName = `${DataPrefixes.STAFF_REQUESTS}:${this.options.requestId}:update`;\r\n this.listenTo(DataChannels.STAFF_REQUEST, `${updateStaffRequestEventName}:sync`, this.redirectToHome);\r\n this.listenTo(DataChannels.STAFF_REQUEST, `${updateStaffRequestEventName}:error`, this.redirectToHome);\r\n\r\n this.listenTo(DataChannels.LIBRARY, `folder:${this.options.folderId}:sync`, this.render);\r\n }\r\n\r\n private fetchData(): void {\r\n this.model = this.staffRequestDataService.getStaffRequest(this.options.requestId);\r\n\r\n if (!this.library)\r\n this.libraryDataService.getLibraries((data: LibraryCollection) => {\r\n this.library = FolderTreeHelpers.getLibrary(this.options.libraryId, data);\r\n this.render();\r\n });\r\n\r\n this.folder = this.libraryDataService.getFolder(this.options.folderId);\r\n }\r\n\r\n private onSubmit(e: JQuery.Event): void {\r\n e && e.preventDefault();\r\n\r\n Radio.channel(this.channelName).trigger(SpinnerButtonEvents.ShowSpinner);\r\n\r\n this.staffRequestDataService.approveStaffRequest(\r\n this.options.requestId,\r\n this.options.libraryId,\r\n this.options.folderId\r\n );\r\n\r\n this.logAction();\r\n }\r\n\r\n private logAction(): void {\r\n const analyticsOptions = {\r\n location: LocationContext.Popup,\r\n actionType: UserAction.Approve,\r\n entity: EntityType.StaffRequest,\r\n workflowPhase: WorkflowPhase.Complete\r\n };\r\n\r\n const data: ObjectHash = {\r\n id: this.options.requestId,\r\n videoId: this.model.get('video') && this.model.get('video').id,\r\n requestingUserId: this.model.get('user') && this.model.get('user').id,\r\n sourceLibraryId: this.model.get('sourceLibrary') && this.model.get('sourceLibrary').id,\r\n sourceFolderId: this.model.get('sourceFolder') && this.model.get('sourceFolder').id,\r\n destinationLibraryId: this.options.libraryId,\r\n destinationFolderId: this.options.folderId\r\n };\r\n\r\n AnalyticsHelper.logUserAction(data, analyticsOptions);\r\n }\r\n\r\n private redirectToHome(): void {\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.STAFF_REQUESTS,\r\n action: Actions.StaffRequests.HOME\r\n });\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n dataFetched: !!this.model && !!this.library && !!this.folder,\r\n library: this.library && this.library.get('name'),\r\n folder: this.folder && this.folder.get('name'),\r\n spinnerEl: SpinnerHelper.getSpinner({ size: SpinnerSize.Large, extraClasses: 'mx-auto' }),\r\n libraryName: this.library && TextHelper.escapeExpression(this.library.get('name')),\r\n folderName: this.folder && TextHelper.escapeExpression(this.folder.get('name')),\r\n videoName: this.model && this.model.get('video') && TextHelper.escapeExpression(this.model.get('video').get('name'))\r\n };\r\n }\r\n\r\n public onBeforeRender(): void {\r\n this.fetchData();\r\n\r\n if (this.model && this.library && this.folder)\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.Disabled, false);\r\n }\r\n}","import { ObjectHash } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\nimport { SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\n\r\nexport class DisabledSpinnerModel extends Core.Model {\r\n public defaults(): ObjectHash {\r\n return {\r\n [SpinnerButtonModelAttributes.Disabled]: true\r\n };\r\n }\r\n}"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/staff-requests/views/approve-staff-request/ApproveStaffRequest.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/staff-requests/views/approve-staff-request/ApproveStaffRequestView.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/shared/models/DisabledSpinnerModel.ts"],"names":[],"mappings":"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","file":"scripts/84.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;\n\n return ((stack1 = container.lambda(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.spinnerEl : stack1), depth0)) != null ? stack1 : \"\")\n + \"\\r\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return \"<p>\"\n + ((stack1 = (helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),\"approveDescription\",{\"name\":\"lang\",\"hash\":{\"videoName\":((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.videoName : stack1),\"folderName\":((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.folderName : stack1),\"libraryName\":((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.libraryName : stack1)},\"data\":data})) != null ? stack1 : \"\")\n + \"</p>\\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = helpers.unless.call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.dataFetched : stack1),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(3, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"useData\":true});","import { ObjectHash, Radio } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { InstanceManager } from 'libs/common/backbone/services/InstanceManager';\r\nimport { LocationContext, UserAction, EntityType, WorkflowPhase } from 'libs/analytics/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\n\r\nimport { PopupBehavior } from 'shared/behaviors';\r\nimport { SpinnerButtonEvents, SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\nimport { DataServices, Actions, DataPrefixes, DataChannels, AppChannels } from 'shared/constants';\r\nimport { Library } from 'shared/models/Library';\r\nimport { Folder } from 'shared/models/Folder';\r\nimport { DisabledSpinnerModel } from 'shared/models/DisabledSpinnerModel';\r\nimport { LibraryCollection } from 'shared/collections/LibraryCollection';\r\nimport { FolderTreeHelpers, RadioChannelHelper, TextHelper, SpinnerHelper, SpinnerSize } from 'shared/utils';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nimport { StaffRequest } from 'apps/staff-requests/models';\r\nimport { LibraryDataService } from 'apps/library-editor/services/LibraryDataService';\r\nimport { StaffRequestDataService } from 'apps/staff-requests/services/StaffRequestDataService';\r\n\r\nimport ApproveStaffRequestTemplate from './ApproveStaffRequest.hbs';\r\n\r\ninterface ApproveStaffRequestViewOptions extends Core.ViewOptions<StaffRequest> {\r\n requestId: string;\r\n libraryId: string;\r\n folderId: string;\r\n}\r\n\r\nexport class ApproveStaffRequestView extends Core.View<StaffRequest> {\r\n public options: ApproveStaffRequestViewOptions;\r\n private staffRequestDataService: StaffRequestDataService;\r\n private libraryDataService: LibraryDataService;\r\n private library: Library;\r\n private folder: Folder;\r\n private spinnerModel: DisabledSpinnerModel;\r\n\r\n constructor(options: ApproveStaffRequestViewOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.staffRequestDataService = InstanceManager.getInstance(DataServices.StaffRequests, this);\r\n this.libraryDataService = InstanceManager.getInstance(DataServices.Library, this);\r\n this.bindListeners();\r\n }\r\n\r\n public get name(): string {\r\n return 'ApproveStaffRequestView';\r\n }\r\n\r\n public get title(): string {\r\n return LanguageService.getPhrase(this.lang, 'title');\r\n }\r\n\r\n public get lang(): string {\r\n return 'staffRequests.approveStaffRequest';\r\n }\r\n\r\n public get template(): string {\r\n return ApproveStaffRequestTemplate;\r\n }\r\n\r\n public get tagName(): string {\r\n return 'form';\r\n }\r\n\r\n public get channelName(): string {\r\n return RadioChannelHelper.generateUniqueChannelName(this);\r\n }\r\n\r\n public get behaviors(): any[] {\r\n return [\r\n {\r\n behaviorClass: PopupBehavior,\r\n title: LanguageService.getPhrase(this.lang, 'approveCheck'),\r\n size: 'modal-md',\r\n spinnerButtonOptions: {\r\n model: this.spinnerModel = new DisabledSpinnerModel(),\r\n channelName: this.channelName,\r\n buttonText: LanguageService.getPhrase(this.lang, 'approve'),\r\n onClick: (e: JQuery.Event) => this.onSubmit(e)\r\n }\r\n }\r\n ];\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n submit: 'onSubmit'\r\n };\r\n }\r\n\r\n private bindListeners(): void {\r\n const fetchStaffRequestEventName = `${DataPrefixes.STAFF_REQUEST_BY_ID}:${this.options.requestId}`;\r\n this.listenTo(DataChannels.STAFF_REQUEST, `${fetchStaffRequestEventName}:sync`, this.render);\r\n this.listenTo(DataChannels.STAFF_REQUEST, `${fetchStaffRequestEventName}:error`, this.redirectToHome);\r\n\r\n const updateStaffRequestEventName = `${DataPrefixes.STAFF_REQUESTS}:${this.options.requestId}:update`;\r\n this.listenTo(DataChannels.STAFF_REQUEST, `${updateStaffRequestEventName}:sync`, this.redirectToHome);\r\n this.listenTo(DataChannels.STAFF_REQUEST, `${updateStaffRequestEventName}:error`, this.redirectToHome);\r\n\r\n this.listenTo(DataChannels.LIBRARY, `folder:${this.options.folderId}:sync`, this.render);\r\n }\r\n\r\n private fetchData(): void {\r\n this.model = this.staffRequestDataService.getStaffRequest(this.options.requestId);\r\n\r\n if (!this.library)\r\n this.libraryDataService.getLibraries((data: LibraryCollection) => {\r\n this.library = FolderTreeHelpers.getLibrary(this.options.libraryId, data);\r\n this.render();\r\n });\r\n\r\n this.folder = this.libraryDataService.getFolder(this.options.folderId);\r\n }\r\n\r\n private onSubmit(e: JQuery.Event): void {\r\n e && e.preventDefault();\r\n\r\n Radio.channel(this.channelName).trigger(SpinnerButtonEvents.ShowSpinner);\r\n\r\n this.staffRequestDataService.approveStaffRequest(\r\n this.options.requestId,\r\n this.options.libraryId,\r\n this.options.folderId\r\n );\r\n\r\n this.logAction();\r\n }\r\n\r\n private logAction(): void {\r\n const analyticsOptions = {\r\n location: LocationContext.Popup,\r\n actionType: UserAction.Approve,\r\n entity: EntityType.StaffRequest,\r\n workflowPhase: WorkflowPhase.Complete\r\n };\r\n\r\n const data: ObjectHash = {\r\n id: this.options.requestId,\r\n videoId: this.model.get('video') && this.model.get('video').id,\r\n requestingUserId: this.model.get('user') && this.model.get('user').id,\r\n sourceLibraryId: this.model.get('sourceLibrary') && this.model.get('sourceLibrary').id,\r\n sourceFolderId: this.model.get('sourceFolder') && this.model.get('sourceFolder').id,\r\n destinationLibraryId: this.options.libraryId,\r\n destinationFolderId: this.options.folderId\r\n };\r\n\r\n AnalyticsHelper.logUserAction(data, analyticsOptions);\r\n }\r\n\r\n private redirectToHome(): void {\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.STAFF_REQUESTS,\r\n action: Actions.StaffRequests.HOME\r\n });\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n dataFetched: !!this.model && !!this.library && !!this.folder,\r\n library: this.library && this.library.get('name'),\r\n folder: this.folder && this.folder.get('name'),\r\n spinnerEl: SpinnerHelper.getSpinner({ size: SpinnerSize.Large, extraClasses: 'mx-auto' }),\r\n libraryName: this.library && TextHelper.escapeExpression(this.library.get('name')),\r\n folderName: this.folder && TextHelper.escapeExpression(this.folder.get('name')),\r\n videoName: this.model && this.model.get('video') && TextHelper.escapeExpression(this.model.get('video').get('name'))\r\n };\r\n }\r\n\r\n public onBeforeRender(): void {\r\n this.fetchData();\r\n\r\n if (this.model && this.library && this.folder)\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.Disabled, false);\r\n }\r\n}","import { ObjectHash } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\nimport { SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\n\r\nexport class DisabledSpinnerModel extends Core.Model {\r\n public defaults(): ObjectHash {\r\n return {\r\n [SpinnerButtonModelAttributes.Disabled]: true\r\n };\r\n }\r\n}"],"sourceRoot":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/shared/models/DisabledSpinnerModel.ts","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/shared/views/download-to-local-cache/DownloadToLocalCache.hbs","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/shared/views/download-to-local-cache/DownloadToLocalCacheView.ts"],"names":[],"mappings":"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","file":"scripts/85.chunk.js","sourcesContent":["import { ObjectHash } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\nimport { SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\n\r\nexport class DisabledSpinnerModel extends Core.Model {\r\n public defaults(): ObjectHash {\r\n return {\r\n [SpinnerButtonModelAttributes.Disabled]: true\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 ((stack1 = container.lambda(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.spinnerEl : stack1), depth0)) != null ? stack1 : \"\")\n + \"\\r\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = helpers.unless.call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.alreadyDownloaded : stack1),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(4, data, 0),\"inverse\":container.program(6, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"4\":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 \"<p><strong>\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"description\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</strong></p>\\r\\n<svg height=\\\"100\\\" viewBox=\\\"0 0 427 100\\\" width=\\\"427\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\r\\n <g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\">\\r\\n <g fill-rule=\\\"nonzero\\\">\\r\\n <path d=\\\"m94.5 55.5c-.5522847 0-1-.4477153-1-1s.4477153-1 1-1h2c.5522847 0 1 .4477153 1 1s-.4477153 1-1 1zm14 0c-.552285 0-1-.4477153-1-1s.447715-1 1-1h2c.552285 0 1 .4477153 1 1s-.447715 1-1 1zm14 0c-.552285 0-1-.4477153-1-1s.447715-1 1-1h2c.552285 0 1 .4477153 1 1s-.447715 1-1 1zm14 0c-.552285 0-1-.4477153-1-1s.447715-1 1-1h2c.552285 0 1 .4477153 1 1s-.447715 1-1 1zm14 0c-.552285 0-1-.4477153-1-1s.447715-1 1-1h2c.552285 0 1 .4477153 1 1s-.447715 1-1 1zm112 0c-.552285 0-1-.4477153-1-1s.447715-1 1-1h2c.552285 0 1 .4477153 1 1s-.447715 1-1 1zm14 0c-.552285 0-1-.4477153-1-1s.447715-1 1-1h2c.552285 0 1 .4477153 1 1s-.447715 1-1 1zm14 0c-.552285 0-1-.4477153-1-1s.447715-1 1-1h2c.552285 0 1 .4477153 1 1s-.447715 1-1 1zm14 0c-.552285 0-1-.4477153-1-1s.447715-1 1-1h2c.552285 0 1 .4477153 1 1s-.447715 1-1 1zm14 0c-.552285 0-1-.4477153-1-1s.447715-1 1-1h2c.552285 0 1 .4477153 1 1s-.447715 1-1 1z\\\" fill=\\\"#f8981d\\\"/><path d=\\\"m75.3660384 82.489591c-.0757675.0069357-.1518122.010409-.2278965.010409h-54.6179583c-11.70030947 0-19.2714702-8.1915084-19.97109491-19.1076542-.62065424-9.6839806 4.42338321-18.3273466 12.94458521-20.6053076-.4297787-11.9466685 6.5982062-21.1867066 17.1901489-24.2852299 10.2989712-3.0128186 20.88668.7410547 26.0606491 10.0502544 12.8217558-3.457481 26.1104718 8.263297 24.2211271 21.1832845 16.58825 6.4833251 12.6943926 31.07962-5.5995606 32.7542438zm-.3464266-4.989591c13.592216-1.3432135 15.9498811-20.1088375 2.3914689-23.6692862-1.3614422-.3575157-2.1594623-1.7680385-1.7646963-3.11915 3.0734097-10.5189376-8.8471782-21.078668-19.2165057-16.7806108-1.2612369.5227791-2.7086325-.0629726-3.2513006-1.3157806-3.6287978-8.3774717-12.3662807-11.8667544-21.0909115-9.3144869-8.9863414 2.6288273-14.6536056 10.6534543-13.4524943 21.2329216.1549662 1.3649525-.8204237 2.5992336-2.1842308 2.7639765-7.0138244.8472442-11.43239953 7.6566537-10.91209037 15.7749642.54005245 8.4263623 6.08667627 14.4274522 14.98133247 14.4274522z\\\" fill=\\\"#e2e2e2\\\"/><path d=\\\"m411.5 76h12.5c1.656854 0 3 1.3431458 3 3s-1.343146 3-3 3h-90c-1.656854 0-3-1.3431458-3-3s1.343146-3 3-3h11.5c-4.142136 0-7.5-3.3578644-7.5-7.5v-40c0-4.1421356 3.357864-7.5 7.5-7.5h66c4.142136 0 7.5 3.3578644 7.5 7.5v40c0 4.1421356-3.357864 7.5-7.5 7.5zm-17.5 0h-31c0 1.1045695.895431 2 2 2h27c1.10457 0 2-.8954305 2-2zm-48.5-50c-1.380712 0-2.5 1.1192881-2.5 2.5v40c0 1.3807119 1.119288 2.5 2.5 2.5h66c1.380712 0 2.5-1.1192881 2.5-2.5v-40c0-1.3807119-1.119288-2.5-2.5-2.5z\\\" fill=\\\"#e2e2e2\\\"/><path d=\\\"m194.688889 46.6708215v4.0154896c-21.037954-1.3356058-31.688889-5.9896514-31.688889-14.6862716 0-1.1045913.891623-2.0000395 1.991496-2.0000395s1.991496.8954482 1.991496 2.0000395c0 5.6687396 9.152444 9.4529958 27.70589 10.6707816zm25.906865.1564809c20.376102-1.018022 30.421254-4.8884966 30.421254-10.8272629 0-1.1045913.891623-2.0000395 1.991496-2.0000395s1.991496.8954482 1.991496 2.0000395c0 8.4131404-9.967884 13.0429588-29.664711 14.5450572zm-25.906865 22.7606388v4.0154864c-21.037953-1.3356021-31.688889-5.9896477-31.688889-14.6862684 0-1.1045913.891623-2.0000395 1.991496-2.0000395s1.991496.8954482 1.991496 2.0000395c0 5.6687397 9.152444 9.4529958 27.70589 10.6707815zm25.879593.1578414c20.394411-1.0159301 30.448526-4.8872081 30.448526-10.8286234 0-1.1045913.891623-2.0000395 1.991496-2.0000395s1.991496.8954482 1.991496 2.0000395c0 9.9178906-13.85241 14.5780829-41.165781 15.0546252zm-55.568482-53.0262704s0 9.9603659 40 9.9603659c11.131238 0 10-6.640244 10-23.24085371 26.666667-3.32012195 40 13.28048781 40 13.28048781s-10 13.2804878-50 13.2804878-40-13.2804878-40-13.2804878z\\\" fill=\\\"#f8f8f8\\\"/></g><path d=\\\"m199.011905 38.4086355v36.4615785c0 1.1045695.89543 2 2 2 .384934 0 .76169-.1110843 1.085049-.3199204l25.091884-16.205146c.927883-.5992563 1.194287-1.8372468.59503-2.7651291-.115325-.1785696-.258382-.3376117-.423784-.4711387l-25.091884-20.2564325c-.859459-.6938329-2.118651-.5595663-2.812483.2998927-.287178.3557307-.443812.7991133-.443812 1.2562955z\\\" fill=\\\"#f8981d\\\"/><path d=\\\"m163 16.7249015.011729-.216286.025974-.2387743c1.009035-9.27583682 21.668177-16.2698412 45.79563-16.2698412s44.786596 6.99400437 45.79563 16.2698412l.025974.2387743.01173.216286v65.814781c0 9.5919064-21.048324 16.9642858-45.833334 16.9642858s-45.833333-7.3723794-45.833333-16.9642858zm4 .1084611v65.7063199c0 6.2420953 19.192018 12.9642858 41.833333 12.9642858s41.833334-6.7221905 41.833334-12.9642858v-65.7063199l-.014245-.1309494c-.68278-6.276646-19.663443-12.7024132-41.819089-12.7024132s-41.136309 6.4257672-41.819088 12.7024132z\\\" fill=\\\"#e2e2e2\\\" fill-rule=\\\"nonzero\\\"/>\\r\\n </g>\\r\\n</svg>\\r\\n<p>\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"nextStep\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</p>\\r\\n\";\n},\"6\":function(container,depth0,helpers,partials,data) {\n var alias1=container.propertyIsEnumerable;\n\n return \"<p class=\\\"m-0\\\">\"\n + container.escapeExpression((helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),\"alreadyAdded\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</p>\\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = helpers.unless.call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.dataFetched : stack1),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(3, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"useData\":true});","import * as _ from 'underscore';\r\nimport { ObjectHash } from 'backbone';\r\n\r\nimport { InstanceManager } from 'libs/common/backbone/services/InstanceManager';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport { PopupBehavior, PopupSpinnerButtonOptions } from 'shared/behaviors';\r\nimport { SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\nimport { LocalCacheDataService } from 'shared/services/LocalCacheDataService';\r\nimport { UserDataServiceHelper } from 'shared/services/UserDataService';\r\nimport { DataServices, DataPrefixes, DataChannels } from 'shared/constants';\r\nimport { DisabledSpinnerModel } from 'shared/models/DisabledSpinnerModel';\r\nimport { User } from 'shared/models/User';\r\nimport { LocalCacheDevice } from 'shared/models/LocalCacheDevice';\r\nimport { SpinnerHelper, SpinnerSize, LocalCacheHelper, RadioChannelHelper } from 'shared/utils';\r\nimport { LocalCacheDeviceNotFoundError } from 'shared/errors';\r\nimport { LocalCacheDownloadCollection } from 'shared/collections/LocalCacheDownloadCollection';\r\n\r\nimport DownloadToLocalCacheTemplate from './DownloadToLocalCache.hbs';\r\n\r\ninterface DownloadToLocalCacheViewOptions extends Core.ViewOptions<LocalCacheDevice> {\r\n videoId: string;\r\n}\r\n\r\nexport class DownloadToLocalCacheView extends Core.View<LocalCacheDevice> {\r\n public options: DownloadToLocalCacheViewOptions;\r\n private localCacheDataService: LocalCacheDataService;\r\n private currentUser: User;\r\n private localCacheDownloads: LocalCacheDownloadCollection;\r\n private spinnerModel: DisabledSpinnerModel;\r\n\r\n constructor(options: DownloadToLocalCacheViewOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.localCacheDataService = InstanceManager.getInstance(DataServices.LocalCache, this);\r\n\r\n this.bindListeners();\r\n }\r\n\r\n public get name(): string {\r\n return 'DownloadToLocalCacheView';\r\n }\r\n\r\n public get title(): string {\r\n return LanguageService.getPhrase(this.lang, 'title');\r\n }\r\n\r\n public get lang(): string {\r\n return 'shared.downloadToLocalCache';\r\n }\r\n\r\n public get template(): string {\r\n return DownloadToLocalCacheTemplate;\r\n }\r\n\r\n public get channelName(): string {\r\n return RadioChannelHelper.generateUniqueChannelName(this);\r\n }\r\n\r\n public get behaviors(): any[] {\r\n this.spinnerModel = new DisabledSpinnerModel();\r\n\r\n return [{\r\n behaviorClass: PopupBehavior,\r\n title: LanguageService.getPhrase(this.lang, 'popupHeading'),\r\n spinnerButtonOptions: this.getSpinnerButtonOptions\r\n }];\r\n }\r\n\r\n private bindListeners(): void {\r\n this.listenTo(DataChannels.USER, `${DataPrefixes.CURRENT_USER}:sync`, this.render);\r\n\r\n this.listenTo(DataChannels.LOCAL_CACHE, `${DataPrefixes.LOCAL_CACHE_DEVICES}:sync`, this.render);\r\n this.listenTo(DataChannels.LOCAL_CACHE,\r\n `${DataPrefixes.LOCAL_CACHE_DOWNLOADS}:${this.options.videoId}:sync`, this.render);\r\n this.listenTo(DataChannels.LOCAL_CACHE, `${DataPrefixes.ADD_VIDEO_TO_LOCAL_CACHE}:sync`, () => this.triggerMethod('hide'));\r\n this.listenTo(DataChannels.LOCAL_CACHE, `${DataPrefixes.ADD_VIDEO_TO_LOCAL_CACHE}:error`, () => this.triggerMethod('hide'));\r\n }\r\n\r\n private getSpinnerButtonOptions(): PopupSpinnerButtonOptions {\r\n if (this.localCacheDownloads && this.localCacheDownloads.length) return;\r\n\r\n return {\r\n model: this.spinnerModel,\r\n channelName: this.channelName,\r\n buttonText: LanguageService.getPhrase(this.lang, 'buttonText'),\r\n onClick: () => this.onClickAddToLocalCache(),\r\n };\r\n }\r\n\r\n private onClickAddToLocalCache(): void {\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.ShowSpinner, true);\r\n\r\n this.localCacheDataService.downloadVideoToLocalCache(this.model.get('deviceId'), this.options.videoId);\r\n }\r\n\r\n public get requiredResources(): Core.RequiredResourceHash {\r\n return {\r\n currentUser: UserDataServiceHelper.currentUser\r\n };\r\n }\r\n\r\n public onBeforeRender(): boolean {\r\n const devices = this.localCacheDataService.getDevices(this.currentUser.get('customerId'));\r\n\r\n this.localCacheDownloads = this.localCacheDataService.getDownloadsForVideos([this.options.videoId]);\r\n\r\n if (!devices || !this.localCacheDownloads) return true;\r\n\r\n this.model = LocalCacheHelper.getNewestDeviceUserCanManage(devices, this.currentUser.get('customerId'));\r\n\r\n if (!this.model) {\r\n setTimeout(() => Core.ErrorHelper.throw(new LocalCacheDeviceNotFoundError()), 0);\r\n return false;\r\n }\r\n\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.Disabled, false);\r\n\r\n return true;\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n dataFetched: !!this.model && !!this.localCacheDownloads,\r\n spinnerEl: SpinnerHelper.getSpinner({ size: SpinnerSize.Large, extraClasses: 'mx-auto' }),\r\n alreadyDownloaded: this.localCacheDownloads && this.localCacheDownloads.length\r\n };\r\n }\r\n}"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/shared/models/DisabledSpinnerModel.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/shared/views/download-to-local-cache/DownloadToLocalCache.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/shared/views/download-to-local-cache/DownloadToLocalCacheView.ts"],"names":[],"mappings":"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","file":"scripts/85.chunk.js","sourcesContent":["import { ObjectHash } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\nimport { SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\n\r\nexport class DisabledSpinnerModel extends Core.Model {\r\n public defaults(): ObjectHash {\r\n return {\r\n [SpinnerButtonModelAttributes.Disabled]: true\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 ((stack1 = container.lambda(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.spinnerEl : stack1), depth0)) != null ? stack1 : \"\")\n + \"\\r\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = helpers.unless.call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.alreadyDownloaded : stack1),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(4, data, 0),\"inverse\":container.program(6, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"4\":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 \"<p><strong>\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"description\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</strong></p>\\r\\n<svg height=\\\"100\\\" viewBox=\\\"0 0 427 100\\\" width=\\\"427\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\r\\n <g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\">\\r\\n <g fill-rule=\\\"nonzero\\\">\\r\\n <path d=\\\"m94.5 55.5c-.5522847 0-1-.4477153-1-1s.4477153-1 1-1h2c.5522847 0 1 .4477153 1 1s-.4477153 1-1 1zm14 0c-.552285 0-1-.4477153-1-1s.447715-1 1-1h2c.552285 0 1 .4477153 1 1s-.447715 1-1 1zm14 0c-.552285 0-1-.4477153-1-1s.447715-1 1-1h2c.552285 0 1 .4477153 1 1s-.447715 1-1 1zm14 0c-.552285 0-1-.4477153-1-1s.447715-1 1-1h2c.552285 0 1 .4477153 1 1s-.447715 1-1 1zm14 0c-.552285 0-1-.4477153-1-1s.447715-1 1-1h2c.552285 0 1 .4477153 1 1s-.447715 1-1 1zm112 0c-.552285 0-1-.4477153-1-1s.447715-1 1-1h2c.552285 0 1 .4477153 1 1s-.447715 1-1 1zm14 0c-.552285 0-1-.4477153-1-1s.447715-1 1-1h2c.552285 0 1 .4477153 1 1s-.447715 1-1 1zm14 0c-.552285 0-1-.4477153-1-1s.447715-1 1-1h2c.552285 0 1 .4477153 1 1s-.447715 1-1 1zm14 0c-.552285 0-1-.4477153-1-1s.447715-1 1-1h2c.552285 0 1 .4477153 1 1s-.447715 1-1 1zm14 0c-.552285 0-1-.4477153-1-1s.447715-1 1-1h2c.552285 0 1 .4477153 1 1s-.447715 1-1 1z\\\" fill=\\\"#f8981d\\\"/><path d=\\\"m75.3660384 82.489591c-.0757675.0069357-.1518122.010409-.2278965.010409h-54.6179583c-11.70030947 0-19.2714702-8.1915084-19.97109491-19.1076542-.62065424-9.6839806 4.42338321-18.3273466 12.94458521-20.6053076-.4297787-11.9466685 6.5982062-21.1867066 17.1901489-24.2852299 10.2989712-3.0128186 20.88668.7410547 26.0606491 10.0502544 12.8217558-3.457481 26.1104718 8.263297 24.2211271 21.1832845 16.58825 6.4833251 12.6943926 31.07962-5.5995606 32.7542438zm-.3464266-4.989591c13.592216-1.3432135 15.9498811-20.1088375 2.3914689-23.6692862-1.3614422-.3575157-2.1594623-1.7680385-1.7646963-3.11915 3.0734097-10.5189376-8.8471782-21.078668-19.2165057-16.7806108-1.2612369.5227791-2.7086325-.0629726-3.2513006-1.3157806-3.6287978-8.3774717-12.3662807-11.8667544-21.0909115-9.3144869-8.9863414 2.6288273-14.6536056 10.6534543-13.4524943 21.2329216.1549662 1.3649525-.8204237 2.5992336-2.1842308 2.7639765-7.0138244.8472442-11.43239953 7.6566537-10.91209037 15.7749642.54005245 8.4263623 6.08667627 14.4274522 14.98133247 14.4274522z\\\" fill=\\\"#e2e2e2\\\"/><path d=\\\"m411.5 76h12.5c1.656854 0 3 1.3431458 3 3s-1.343146 3-3 3h-90c-1.656854 0-3-1.3431458-3-3s1.343146-3 3-3h11.5c-4.142136 0-7.5-3.3578644-7.5-7.5v-40c0-4.1421356 3.357864-7.5 7.5-7.5h66c4.142136 0 7.5 3.3578644 7.5 7.5v40c0 4.1421356-3.357864 7.5-7.5 7.5zm-17.5 0h-31c0 1.1045695.895431 2 2 2h27c1.10457 0 2-.8954305 2-2zm-48.5-50c-1.380712 0-2.5 1.1192881-2.5 2.5v40c0 1.3807119 1.119288 2.5 2.5 2.5h66c1.380712 0 2.5-1.1192881 2.5-2.5v-40c0-1.3807119-1.119288-2.5-2.5-2.5z\\\" fill=\\\"#e2e2e2\\\"/><path d=\\\"m194.688889 46.6708215v4.0154896c-21.037954-1.3356058-31.688889-5.9896514-31.688889-14.6862716 0-1.1045913.891623-2.0000395 1.991496-2.0000395s1.991496.8954482 1.991496 2.0000395c0 5.6687396 9.152444 9.4529958 27.70589 10.6707816zm25.906865.1564809c20.376102-1.018022 30.421254-4.8884966 30.421254-10.8272629 0-1.1045913.891623-2.0000395 1.991496-2.0000395s1.991496.8954482 1.991496 2.0000395c0 8.4131404-9.967884 13.0429588-29.664711 14.5450572zm-25.906865 22.7606388v4.0154864c-21.037953-1.3356021-31.688889-5.9896477-31.688889-14.6862684 0-1.1045913.891623-2.0000395 1.991496-2.0000395s1.991496.8954482 1.991496 2.0000395c0 5.6687397 9.152444 9.4529958 27.70589 10.6707815zm25.879593.1578414c20.394411-1.0159301 30.448526-4.8872081 30.448526-10.8286234 0-1.1045913.891623-2.0000395 1.991496-2.0000395s1.991496.8954482 1.991496 2.0000395c0 9.9178906-13.85241 14.5780829-41.165781 15.0546252zm-55.568482-53.0262704s0 9.9603659 40 9.9603659c11.131238 0 10-6.640244 10-23.24085371 26.666667-3.32012195 40 13.28048781 40 13.28048781s-10 13.2804878-50 13.2804878-40-13.2804878-40-13.2804878z\\\" fill=\\\"#f8f8f8\\\"/></g><path d=\\\"m199.011905 38.4086355v36.4615785c0 1.1045695.89543 2 2 2 .384934 0 .76169-.1110843 1.085049-.3199204l25.091884-16.205146c.927883-.5992563 1.194287-1.8372468.59503-2.7651291-.115325-.1785696-.258382-.3376117-.423784-.4711387l-25.091884-20.2564325c-.859459-.6938329-2.118651-.5595663-2.812483.2998927-.287178.3557307-.443812.7991133-.443812 1.2562955z\\\" fill=\\\"#f8981d\\\"/><path d=\\\"m163 16.7249015.011729-.216286.025974-.2387743c1.009035-9.27583682 21.668177-16.2698412 45.79563-16.2698412s44.786596 6.99400437 45.79563 16.2698412l.025974.2387743.01173.216286v65.814781c0 9.5919064-21.048324 16.9642858-45.833334 16.9642858s-45.833333-7.3723794-45.833333-16.9642858zm4 .1084611v65.7063199c0 6.2420953 19.192018 12.9642858 41.833333 12.9642858s41.833334-6.7221905 41.833334-12.9642858v-65.7063199l-.014245-.1309494c-.68278-6.276646-19.663443-12.7024132-41.819089-12.7024132s-41.136309 6.4257672-41.819088 12.7024132z\\\" fill=\\\"#e2e2e2\\\" fill-rule=\\\"nonzero\\\"/>\\r\\n </g>\\r\\n</svg>\\r\\n<p>\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"nextStep\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</p>\\r\\n\";\n},\"6\":function(container,depth0,helpers,partials,data) {\n var alias1=container.propertyIsEnumerable;\n\n return \"<p class=\\\"m-0\\\">\"\n + container.escapeExpression((helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),\"alreadyAdded\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</p>\\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = helpers.unless.call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.dataFetched : stack1),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(3, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"useData\":true});","import * as _ from 'underscore';\r\nimport { ObjectHash } from 'backbone';\r\n\r\nimport { InstanceManager } from 'libs/common/backbone/services/InstanceManager';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport { PopupBehavior, PopupSpinnerButtonOptions } from 'shared/behaviors';\r\nimport { SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\nimport { LocalCacheDataService } from 'shared/services/LocalCacheDataService';\r\nimport { UserDataServiceHelper } from 'shared/services/UserDataService';\r\nimport { DataServices, DataPrefixes, DataChannels } from 'shared/constants';\r\nimport { DisabledSpinnerModel } from 'shared/models/DisabledSpinnerModel';\r\nimport { User } from 'shared/models/User';\r\nimport { LocalCacheDevice } from 'shared/models/LocalCacheDevice';\r\nimport { SpinnerHelper, SpinnerSize, LocalCacheHelper, RadioChannelHelper } from 'shared/utils';\r\nimport { LocalCacheDeviceNotFoundError } from 'shared/errors';\r\nimport { LocalCacheDownloadCollection } from 'shared/collections/LocalCacheDownloadCollection';\r\n\r\nimport DownloadToLocalCacheTemplate from './DownloadToLocalCache.hbs';\r\n\r\ninterface DownloadToLocalCacheViewOptions extends Core.ViewOptions<LocalCacheDevice> {\r\n videoId: string;\r\n}\r\n\r\nexport class DownloadToLocalCacheView extends Core.View<LocalCacheDevice> {\r\n public options: DownloadToLocalCacheViewOptions;\r\n private localCacheDataService: LocalCacheDataService;\r\n private currentUser: User;\r\n private localCacheDownloads: LocalCacheDownloadCollection;\r\n private spinnerModel: DisabledSpinnerModel;\r\n\r\n constructor(options: DownloadToLocalCacheViewOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.localCacheDataService = InstanceManager.getInstance(DataServices.LocalCache, this);\r\n\r\n this.bindListeners();\r\n }\r\n\r\n public get name(): string {\r\n return 'DownloadToLocalCacheView';\r\n }\r\n\r\n public get title(): string {\r\n return LanguageService.getPhrase(this.lang, 'title');\r\n }\r\n\r\n public get lang(): string {\r\n return 'shared.downloadToLocalCache';\r\n }\r\n\r\n public get template(): string {\r\n return DownloadToLocalCacheTemplate;\r\n }\r\n\r\n public get channelName(): string {\r\n return RadioChannelHelper.generateUniqueChannelName(this);\r\n }\r\n\r\n public get behaviors(): any[] {\r\n this.spinnerModel = new DisabledSpinnerModel();\r\n\r\n return [{\r\n behaviorClass: PopupBehavior,\r\n title: LanguageService.getPhrase(this.lang, 'popupHeading'),\r\n spinnerButtonOptions: this.getSpinnerButtonOptions\r\n }];\r\n }\r\n\r\n private bindListeners(): void {\r\n this.listenTo(DataChannels.USER, `${DataPrefixes.CURRENT_USER}:sync`, this.render);\r\n\r\n this.listenTo(DataChannels.LOCAL_CACHE, `${DataPrefixes.LOCAL_CACHE_DEVICES}:sync`, this.render);\r\n this.listenTo(DataChannels.LOCAL_CACHE,\r\n `${DataPrefixes.LOCAL_CACHE_DOWNLOADS}:${this.options.videoId}:sync`, this.render);\r\n this.listenTo(DataChannels.LOCAL_CACHE, `${DataPrefixes.ADD_VIDEO_TO_LOCAL_CACHE}:sync`, () => this.triggerMethod('hide'));\r\n this.listenTo(DataChannels.LOCAL_CACHE, `${DataPrefixes.ADD_VIDEO_TO_LOCAL_CACHE}:error`, () => this.triggerMethod('hide'));\r\n }\r\n\r\n private getSpinnerButtonOptions(): PopupSpinnerButtonOptions {\r\n if (this.localCacheDownloads && this.localCacheDownloads.length) return;\r\n\r\n return {\r\n model: this.spinnerModel,\r\n channelName: this.channelName,\r\n buttonText: LanguageService.getPhrase(this.lang, 'buttonText'),\r\n onClick: () => this.onClickAddToLocalCache(),\r\n };\r\n }\r\n\r\n private onClickAddToLocalCache(): void {\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.ShowSpinner, true);\r\n\r\n this.localCacheDataService.downloadVideoToLocalCache(this.model.get('deviceId'), this.options.videoId);\r\n }\r\n\r\n public get requiredResources(): Core.RequiredResourceHash {\r\n return {\r\n currentUser: UserDataServiceHelper.currentUser\r\n };\r\n }\r\n\r\n public onBeforeRender(): boolean {\r\n const devices = this.localCacheDataService.getDevices(this.currentUser.get('customerId'));\r\n\r\n this.localCacheDownloads = this.localCacheDataService.getDownloadsForVideos([this.options.videoId]);\r\n\r\n if (!devices || !this.localCacheDownloads) return true;\r\n\r\n this.model = LocalCacheHelper.getNewestDeviceUserCanManage(devices, this.currentUser.get('customerId'));\r\n\r\n if (!this.model) {\r\n setTimeout(() => Core.ErrorHelper.throw(new LocalCacheDeviceNotFoundError()), 0);\r\n return false;\r\n }\r\n\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.Disabled, false);\r\n\r\n return true;\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n dataFetched: !!this.model && !!this.localCacheDownloads,\r\n spinnerEl: SpinnerHelper.getSpinner({ size: SpinnerSize.Large, extraClasses: 'mx-auto' }),\r\n alreadyDownloaded: this.localCacheDownloads && this.localCacheDownloads.length\r\n };\r\n }\r\n}"],"sourceRoot":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["file://C:/ClickView Projects
|
|
1
|
+
{"version":3,"sources":["file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/default/views/dev-error/DevError.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/default/views/dev-error/DevErrorView.ts"],"names":[],"mappings":";;;;;;;;;AAAA,iBAAiB,mBAAO,CAAC,8BAAY;AACrC,iEAAiE;AACjE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gBAAgB,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXjB;AACA;AAEA;AAEO,IAAM,YAAb;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA,iCAGmB;AACf,UAAM,OAAO,GAAG,8CAAK,CAAC,OAAN,CAAc,YAAd,CAAhB;AACA,WAAK,KAAL,GAAa,OAAO,CAAC,OAAR,CAAgB,eAAhB,CAAb;AACD;AANH;AAAA;AAAA,kCAwBoB;AAChB,aAAO;AACL,eAAO,EAAE,KAAK,KAAL,CAAW,OADf;AAEL,aAAK,EAAE,KAAK,KAAL,CAAW,KAFb;AAGL,YAAI,EAAE,KAAK,KAAL,CAAW;AAHZ,OAAP;AAKD;AA9BH;AAAA;AAAA,wBAQiB;AACb,aAAO,WAAP;AACD;AAVH;AAAA;AAAA,wBAYkB;AACd,aAAO,KAAP;AACD;AAdH;AAAA;AAAA,wBAgBqB;AACjB,aAAO,oDAAP;AACD;AAlBH;AAAA;AAAA,wBAoBsB;AAClB,aAAO,MAAP;AACD;AAtBH;;AAAA;AAAA,EAAkC,8DAAI,CAAC,IAAvC,E","file":"scripts/86.chunk.js","sourcesContent":["var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable, alias2=container.lambda, alias3=container.escapeExpression;\n\n return \"<h1>\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.name : stack1), depth0))\n + \"</h1>\\r\\n<div class=\\\"alert alert-danger\\\" role=\\\"alert\\\">\\r\\n <h2>\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.message : stack1), depth0))\n + \"</h2>\\r\\n</div>\\r\\n<div class=\\\"alert alert-warning\\\" role=\\\"alert\\\">\\r\\n <h3>Call stack</h3>\\r\\n <code>\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.stack : stack1), depth0))\n + \"</code>\\r\\n</div>\";\n},\"useData\":true});","import { ObjectHash, Radio } from 'backbone';\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport ErrorTemplate from './DevError.hbs';\r\n\r\nexport class DevErrorView extends Core.View {\r\n private error: Error;\r\n\r\n public initialize(): void {\r\n const channel = Radio.channel('error:view');\r\n this.error = channel.request('current:error');\r\n }\r\n\r\n public get name(): string {\r\n return 'ErrorView';\r\n }\r\n\r\n public get title(): boolean {\r\n return false;\r\n }\r\n\r\n public get template(): any {\r\n return ErrorTemplate;\r\n }\r\n\r\n public get className(): string {\r\n return 'mt-5';\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n message: this.error.message,\r\n stack: this.error.stack,\r\n name: this.error.name\r\n };\r\n }\r\n}\r\n"],"sourceRoot":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/views/delete-folder/DeleteFolder.hbs","file://C:/ClickView Projects/clickview/packages/projects/library-editor/src/apps/library-editor/views/delete-folder/DeleteFolderView.ts"],"names":[],"mappings":"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","file":"scripts/87.chunk.js","sourcesContent":["var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = (helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),\"check\",{\"name\":\"lang\",\"hash\":{\"name\":(depth0 != null ? depth0.name : depth0)},\"data\":data})) != null ? stack1 : \"\");\n},\"useData\":true});","import { Radio } from 'backbone';\r\nimport { ObjectHash } from 'backbone';\r\n\r\nimport { InstanceManager } from 'libs/common/backbone/services/InstanceManager';\r\nimport { Core } from 'libs/common/core';\r\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\n\r\nimport { DataServices, Actions, DataChannels, AppChannels, MiscConstants } from 'shared/constants';\r\nimport { PopupBehavior } from 'shared/behaviors';\r\nimport { Folder } from 'shared/models/Folder';\r\nimport { FolderCollection } from 'shared/collections/FolderCollection';\r\nimport { VideoCollection } from 'shared/collections/VideoCollection';\r\nimport { RadioChannelHelper, SortHelper, FolderTreeHelpers } from 'shared/utils';\r\nimport { SpinnerButtonEvents } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\nimport { VideoCollectionIdentifier } from 'shared/interfaces';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nimport { FolderNotEmptyError } from 'apps/library-editor/errors';\r\nimport { LibraryDataService } from 'apps/library-editor/services/LibraryDataService';\r\nimport { VideoDataService } from 'apps/library-editor/services/VideoDataService';\r\n\r\nimport DeleteFolderTemplate from './DeleteFolder.hbs';\r\n\r\ninterface DeleteFolderViewOptions extends Core.ViewOptions<Folder> {\r\n folderId: string;\r\n analyticsOptions?: AnalyticsOptions;\r\n}\r\n\r\nexport class DeleteFolderView extends Core.View<Folder> {\r\n public options: DeleteFolderViewOptions;\r\n private libraryDataService: LibraryDataService;\r\n private videoDataService: VideoDataService;\r\n\r\n private collectionIdentifier: VideoCollectionIdentifier;\r\n private videos: VideoCollection;\r\n\r\n constructor(options: DeleteFolderViewOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.listenTo(DataChannels.LIBRARY, 'libraries:sync', this.render);\r\n\r\n this.collectionIdentifier = new VideoCollectionIdentifier(this.options.folderId, SortHelper.GetCurrentSortType());\r\n\r\n this.listenTo(DataChannels.VIDEO, `${this.collectionIdentifier}:sync`, this.render);\r\n\r\n this.libraryDataService = InstanceManager.getInstance(DataServices.Library, this);\r\n this.videoDataService = InstanceManager.getInstance(DataServices.Video, this);\r\n }\r\n\r\n public get name(): string {\r\n return 'DeleteFolderView';\r\n }\r\n\r\n public get title(): string {\r\n return !!this.model && LanguageService.getPhrase(this.lang, 'title', { folderName: this.model.get('name') });\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.deleteFolder';\r\n }\r\n\r\n public get template(): any {\r\n return DeleteFolderTemplate;\r\n }\r\n\r\n public get channelName(): string {\r\n return RadioChannelHelper.generateUniqueChannelName(this);\r\n }\r\n\r\n public get behaviors(): any[] {\r\n return [\r\n {\r\n behaviorClass: PopupBehavior,\r\n title: LanguageService.getPhrase(this.lang, 'removeFolder'),\r\n spinnerButtonOptions: {\r\n channelName: this.channelName,\r\n buttonText: LanguageService.getPhrase(this.lang, 'remove'),\r\n extraButtonClass: 'btn-danger',\r\n onClick: (e: JQuery.Event) => this.onClickDelete(e)\r\n }\r\n }\r\n ];\r\n }\r\n\r\n public getParentId(): string | null {\r\n if (FolderTreeHelpers.isSubFolder(this.model)\r\n && this.model\r\n && this.model.collection\r\n && this.model.collection.parent\r\n && this.model.collection.parent instanceof Core.Model)\r\n return (this.model.collection.parent as Core.Model).get('id');\r\n\r\n const library = FolderTreeHelpers.getLibrary(this.model.get('id'), this.model.collection as FolderCollection);\r\n\r\n return library && library.id || null;\r\n }\r\n\r\n private onClickDelete(event: JQuery.Event): void {\r\n event && event.preventDefault();\r\n\r\n Radio.channel(this.channelName).trigger(SpinnerButtonEvents.ShowSpinner);\r\n\r\n /* We need to do this before we call the data service otherwise the model won't have a collection */\r\n const parentId = this.getParentId();\r\n\r\n const action = FolderTreeHelpers.isSubFolder(this.model)\r\n ? Actions.LibraryEditor.FOLDER\r\n : Actions.LibraryEditor.LIBRARY;\r\n\r\n this.libraryDataService.deleteFolder(this.options.folderId, () => {\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.LIBRARY_EDITOR,\r\n action: action,\r\n args: [parentId]\r\n }, { replace: true });\r\n });\r\n\r\n this.logAction();\r\n }\r\n\r\n private logAction(): void {\r\n const data: ObjectHash = {\r\n id: this.options.folderId,\r\n name: this.model.get('name'),\r\n };\r\n\r\n AnalyticsHelper.logUserAction(data, this.options.analyticsOptions);\r\n }\r\n\r\n private canDelete(): boolean {\r\n if (this.model.children && this.model.children.length)\r\n return false;\r\n\r\n if (this.videos && this.videos.length)\r\n return false;\r\n\r\n return true;\r\n }\r\n\r\n public onBeforeRender(): boolean {\r\n /**\r\n * We need to fetch the folder again to get a video count, but we also need to fetch the folder\r\n * from the library tree in order to be able to pull out the library id. This is why both are fetched.\r\n */\r\n this.libraryDataService.getFolderFromLibraries(this.options.folderId, (folder: Folder) => {\r\n this.model = folder;\r\n });\r\n\r\n this.videos = this.videoDataService.getCollectionVideos(this.collectionIdentifier);\r\n\r\n if (!this.model || !this.videos)\r\n return false;\r\n\r\n if (!this.canDelete()) {\r\n window.setTimeout(() => {\r\n this.triggerMethod('hide');\r\n Core.ErrorHelper.throw(new FolderNotEmptyError());\r\n }, MiscConstants.POPUP_FADE_TIMEOUT);\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/views/delete-folder/DeleteFolder.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/views/delete-folder/DeleteFolderView.ts"],"names":[],"mappings":"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","file":"scripts/87.chunk.js","sourcesContent":["var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = (helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),\"check\",{\"name\":\"lang\",\"hash\":{\"name\":(depth0 != null ? depth0.name : depth0)},\"data\":data})) != null ? stack1 : \"\");\n},\"useData\":true});","import { Radio } from 'backbone';\r\nimport { ObjectHash } from 'backbone';\r\n\r\nimport { InstanceManager } from 'libs/common/backbone/services/InstanceManager';\r\nimport { Core } from 'libs/common/core';\r\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\n\r\nimport { DataServices, Actions, DataChannels, AppChannels, MiscConstants } from 'shared/constants';\r\nimport { PopupBehavior } from 'shared/behaviors';\r\nimport { Folder } from 'shared/models/Folder';\r\nimport { FolderCollection } from 'shared/collections/FolderCollection';\r\nimport { VideoCollection } from 'shared/collections/VideoCollection';\r\nimport { RadioChannelHelper, SortHelper, FolderTreeHelpers } from 'shared/utils';\r\nimport { SpinnerButtonEvents } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\nimport { VideoCollectionIdentifier } from 'shared/interfaces';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nimport { FolderNotEmptyError } from 'apps/library-editor/errors';\r\nimport { LibraryDataService } from 'apps/library-editor/services/LibraryDataService';\r\nimport { VideoDataService } from 'apps/library-editor/services/VideoDataService';\r\n\r\nimport DeleteFolderTemplate from './DeleteFolder.hbs';\r\n\r\ninterface DeleteFolderViewOptions extends Core.ViewOptions<Folder> {\r\n folderId: string;\r\n analyticsOptions?: AnalyticsOptions;\r\n}\r\n\r\nexport class DeleteFolderView extends Core.View<Folder> {\r\n public options: DeleteFolderViewOptions;\r\n private libraryDataService: LibraryDataService;\r\n private videoDataService: VideoDataService;\r\n\r\n private collectionIdentifier: VideoCollectionIdentifier;\r\n private videos: VideoCollection;\r\n\r\n constructor(options: DeleteFolderViewOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.listenTo(DataChannels.LIBRARY, 'libraries:sync', this.render);\r\n\r\n this.collectionIdentifier = new VideoCollectionIdentifier(this.options.folderId, SortHelper.GetCurrentSortType());\r\n\r\n this.listenTo(DataChannels.VIDEO, `${this.collectionIdentifier}:sync`, this.render);\r\n\r\n this.libraryDataService = InstanceManager.getInstance(DataServices.Library, this);\r\n this.videoDataService = InstanceManager.getInstance(DataServices.Video, this);\r\n }\r\n\r\n public get name(): string {\r\n return 'DeleteFolderView';\r\n }\r\n\r\n public get title(): string {\r\n return !!this.model && LanguageService.getPhrase(this.lang, 'title', { folderName: this.model.get('name') });\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.deleteFolder';\r\n }\r\n\r\n public get template(): any {\r\n return DeleteFolderTemplate;\r\n }\r\n\r\n public get channelName(): string {\r\n return RadioChannelHelper.generateUniqueChannelName(this);\r\n }\r\n\r\n public get behaviors(): any[] {\r\n return [\r\n {\r\n behaviorClass: PopupBehavior,\r\n title: LanguageService.getPhrase(this.lang, 'removeFolder'),\r\n spinnerButtonOptions: {\r\n channelName: this.channelName,\r\n buttonText: LanguageService.getPhrase(this.lang, 'remove'),\r\n extraButtonClass: 'btn-danger',\r\n onClick: (e: JQuery.Event) => this.onClickDelete(e)\r\n }\r\n }\r\n ];\r\n }\r\n\r\n public getParentId(): string | null {\r\n if (FolderTreeHelpers.isSubFolder(this.model)\r\n && this.model\r\n && this.model.collection\r\n && this.model.collection.parent\r\n && this.model.collection.parent instanceof Core.Model)\r\n return (this.model.collection.parent as Core.Model).get('id');\r\n\r\n const library = FolderTreeHelpers.getLibrary(this.model.get('id'), this.model.collection as FolderCollection);\r\n\r\n return library && library.id || null;\r\n }\r\n\r\n private onClickDelete(event: JQuery.Event): void {\r\n event && event.preventDefault();\r\n\r\n Radio.channel(this.channelName).trigger(SpinnerButtonEvents.ShowSpinner);\r\n\r\n /* We need to do this before we call the data service otherwise the model won't have a collection */\r\n const parentId = this.getParentId();\r\n\r\n const action = FolderTreeHelpers.isSubFolder(this.model)\r\n ? Actions.LibraryEditor.FOLDER\r\n : Actions.LibraryEditor.LIBRARY;\r\n\r\n this.libraryDataService.deleteFolder(this.options.folderId, () => {\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.LIBRARY_EDITOR,\r\n action: action,\r\n args: [parentId]\r\n }, { replace: true });\r\n });\r\n\r\n this.logAction();\r\n }\r\n\r\n private logAction(): void {\r\n const data: ObjectHash = {\r\n id: this.options.folderId,\r\n name: this.model.get('name'),\r\n };\r\n\r\n AnalyticsHelper.logUserAction(data, this.options.analyticsOptions);\r\n }\r\n\r\n private canDelete(): boolean {\r\n if (this.model.children && this.model.children.length)\r\n return false;\r\n\r\n if (this.videos && this.videos.length)\r\n return false;\r\n\r\n return true;\r\n }\r\n\r\n public onBeforeRender(): boolean {\r\n /**\r\n * We need to fetch the folder again to get a video count, but we also need to fetch the folder\r\n * from the library tree in order to be able to pull out the library id. This is why both are fetched.\r\n */\r\n this.libraryDataService.getFolderFromLibraries(this.options.folderId, (folder: Folder) => {\r\n this.model = folder;\r\n });\r\n\r\n this.videos = this.videoDataService.getCollectionVideos(this.collectionIdentifier);\r\n\r\n if (!this.model || !this.videos)\r\n return false;\r\n\r\n if (!this.canDelete()) {\r\n window.setTimeout(() => {\r\n this.triggerMethod('hide');\r\n Core.ErrorHelper.throw(new FolderNotEmptyError());\r\n }, MiscConstants.POPUP_FADE_TIMEOUT);\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}"],"sourceRoot":""}
|