@clickview/library-editor 1.1.27-dev.0 → 1.1.27-dev.1
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 -0
- package/dist/css/10.chunk.css.map +1 -0
- package/dist/css/11.chunk.css +137 -0
- package/dist/css/11.chunk.css.map +1 -0
- package/dist/css/12.chunk.css.map +1 -0
- package/dist/css/13.chunk.css.map +1 -0
- package/dist/css/14.chunk.css.map +1 -0
- package/dist/css/16.chunk.css.map +1 -0
- package/dist/css/17.chunk.css.map +1 -0
- package/dist/css/18.chunk.css +20 -0
- package/dist/css/18.chunk.css.map +1 -0
- package/dist/css/2.chunk.css +145 -0
- package/dist/css/2.chunk.css.map +1 -0
- package/dist/css/21.chunk.css.map +1 -0
- package/dist/css/22.chunk.css.map +1 -0
- package/dist/css/23.chunk.css +5 -3
- package/dist/css/23.chunk.css.map +1 -0
- package/dist/css/25.chunk.css +3 -1
- package/dist/css/25.chunk.css.map +1 -0
- package/dist/css/26.chunk.css.map +1 -0
- package/dist/css/28.chunk.css.map +1 -0
- package/dist/css/29.chunk.css.map +1 -0
- package/dist/css/3.chunk.css.map +1 -0
- package/dist/css/30.chunk.css.map +1 -0
- package/dist/css/31.chunk.css.map +1 -0
- package/dist/css/32.chunk.css.map +1 -0
- package/dist/css/33.chunk.css.map +1 -0
- package/dist/css/34.chunk.css +21 -0
- package/dist/css/34.chunk.css.map +1 -0
- package/dist/css/35.chunk.css +20 -0
- package/dist/css/35.chunk.css.map +1 -0
- package/dist/css/36.chunk.css +14 -0
- package/dist/css/36.chunk.css.map +1 -0
- package/dist/css/37.chunk.css.map +1 -0
- package/dist/css/38.chunk.css.map +1 -0
- package/dist/css/40.chunk.css.map +1 -0
- package/dist/css/41.chunk.css.map +1 -0
- package/dist/css/42.chunk.css.map +1 -0
- package/dist/css/43.chunk.css.map +1 -0
- package/dist/css/44.chunk.css.map +1 -0
- package/dist/css/45.chunk.css.map +1 -0
- package/dist/css/46.chunk.css.map +1 -0
- package/dist/css/47.chunk.css.map +1 -0
- package/dist/css/48.chunk.css.map +1 -0
- package/dist/css/49.chunk.css +35 -0
- package/dist/css/49.chunk.css.map +1 -0
- package/dist/css/50.chunk.css.map +1 -0
- package/dist/css/51.chunk.css.map +1 -0
- package/dist/css/52.chunk.css +66 -0
- package/dist/css/52.chunk.css.map +1 -0
- package/dist/css/55.chunk.css.map +1 -0
- package/dist/css/56.chunk.css.map +1 -0
- package/dist/css/58.chunk.css.map +1 -0
- package/dist/css/59.chunk.css.map +1 -0
- package/dist/css/6.chunk.css.map +1 -0
- package/dist/css/60.chunk.css +18 -0
- package/dist/css/60.chunk.css.map +1 -0
- package/dist/css/62.chunk.css.map +1 -0
- package/dist/css/63.chunk.css +170 -0
- package/dist/css/63.chunk.css.map +1 -0
- package/dist/css/67.chunk.css +78 -0
- package/dist/css/67.chunk.css.map +1 -0
- package/dist/css/68.chunk.css +17 -0
- package/dist/css/68.chunk.css.map +1 -0
- package/dist/css/69.chunk.css +17 -0
- package/dist/css/69.chunk.css.map +1 -0
- package/dist/css/7.chunk.css.map +1 -0
- package/dist/css/70.chunk.css +23 -0
- package/dist/css/70.chunk.css.map +1 -0
- package/dist/css/71.chunk.css +40 -0
- package/dist/css/71.chunk.css.map +1 -0
- package/dist/css/72.chunk.css +16 -0
- package/dist/css/72.chunk.css.map +1 -0
- package/dist/css/73.chunk.css +37 -0
- package/dist/css/73.chunk.css.map +1 -0
- package/dist/css/74.chunk.css +29 -0
- package/dist/css/74.chunk.css.map +1 -0
- package/dist/css/75.chunk.css +6 -0
- package/dist/css/75.chunk.css.map +1 -0
- package/dist/css/76.chunk.css +6 -0
- package/dist/css/76.chunk.css.map +1 -0
- package/dist/css/8.chunk.css.map +1 -0
- package/dist/css/library-editor-app.css +2 -2
- package/dist/css/library-editor-app.css.map +1 -0
- package/dist/en.json +1 -1
- package/dist/libs/analytics/src/interfaces/AnalyticsTypes.d.ts +1 -0
- package/dist/libs/common/src/backbone/core/BaseAppRouter.d.ts +5 -1
- package/dist/libs/common/src/backbone/core/index.d.ts +1 -1
- package/dist/libs/shared/src/apps/search/components/instant-search/series/SeriesSearchResultComponent.d.ts +5 -0
- package/dist/libs/shared/src/apps/search/enums/SearchQueryType.d.ts +1 -1
- package/dist/libs/shared/src/apps/search/views/search-bar/SearchBarView.d.ts +3 -0
- package/dist/libs/shared/src/constants/BootstrapKeys.d.ts +1 -0
- package/dist/libs/shared/src/enums/MediaQueries.d.ts +3 -1
- package/dist/libs/shared/src/enums/PlayerMediaType.d.ts +1 -0
- package/dist/libs/shared/src/enums/ResourceFileType.d.ts +9 -0
- package/dist/libs/shared/src/enums/SettingName.d.ts +0 -1
- package/dist/libs/shared/src/interfaces/app-variables/BaseSearchAppVariables.d.ts +1 -0
- package/dist/libs/shared/src/interfaces/collections/ClassificationCollection.d.ts +4 -0
- package/dist/libs/shared/src/interfaces/collections/ClassroomCollection.d.ts +4 -0
- package/dist/libs/shared/src/interfaces/collections/ClassroomGroupCollection.d.ts +4 -0
- package/dist/libs/shared/src/interfaces/collections/InteractiveCollection.d.ts +2 -2
- package/dist/libs/shared/src/interfaces/collections/index.d.ts +3 -0
- package/dist/libs/shared/src/interfaces/models/Classroom.d.ts +4 -0
- package/dist/libs/shared/src/interfaces/models/ClassroomGroup.d.ts +18 -0
- package/dist/libs/shared/src/interfaces/models/Clip.d.ts +4 -3
- package/dist/libs/shared/src/interfaces/models/Curriculum.d.ts +4 -0
- package/dist/libs/shared/src/interfaces/models/InteractiveMetadata.d.ts +14 -0
- package/dist/libs/shared/src/interfaces/models/Resource.d.ts +2 -2
- package/dist/libs/shared/src/interfaces/models/User.d.ts +4 -2
- package/dist/libs/shared/src/interfaces/models/Video.d.ts +6 -2
- package/dist/libs/shared/src/interfaces/models/VideoHistory.d.ts +4 -1
- package/dist/libs/shared/src/interfaces/models/Widget.d.ts +1 -1
- package/dist/libs/shared/src/interfaces/models/YearGroup.d.ts +5 -0
- package/dist/libs/shared/src/interfaces/models/index.d.ts +5 -1
- package/dist/libs/shared/src/interfaces/models/interactive/ActionableItem.d.ts +6 -0
- package/dist/libs/shared/src/interfaces/models/interactive/Interaction.d.ts +16 -0
- package/dist/libs/shared/src/interfaces/models/interactive/InteractionType.d.ts +7 -0
- package/dist/libs/shared/src/interfaces/models/interactive/InteractionTypeId.d.ts +8 -0
- package/dist/libs/shared/src/interfaces/models/interactive/Interactive.d.ts +7 -0
- package/dist/libs/shared/src/interfaces/models/interactive/Timepoint.d.ts +9 -0
- package/dist/libs/shared/src/interfaces/models/interactive/index.d.ts +6 -0
- package/dist/libs/shared/src/interfaces/models/primitives/BaseObject.d.ts +1 -0
- package/dist/libs/shared/src/interfaces/models/primitives/VirtualObject.d.ts +5 -0
- package/dist/libs/shared/src/interfaces/models/primitives/index.d.ts +1 -0
- package/dist/libs/shared/src/interfaces/requests/CreateOrUpdateClipRequest.d.ts +6 -0
- package/dist/libs/shared/src/interfaces/requests/CreateViewKeyRequest.d.ts +0 -2
- package/dist/libs/shared/src/interfaces/requests/index.d.ts +1 -0
- package/dist/libs/shared/src/utils/VideoDetailsHelper.d.ts +0 -9
- package/dist/projects/library-editor/src/apps/migration-wizard/MigrationWizardApplication.d.ts +1 -1
- package/dist/projects/library-editor/src/apps/migration-wizard/filters/MigrationFilters.d.ts +2 -2
- package/dist/projects/library-editor/src/apps/search/models/SearchAppVariables.d.ts +1 -0
- package/dist/projects/library-editor/src/apps/upload/UploadApplication.d.ts +1 -1
- package/dist/projects/library-editor/src/shared/filters/BetaAccessFilter.d.ts +1 -1
- package/dist/projects/library-editor/src/shared/filters/CustomerSettingsFilter.d.ts +1 -1
- package/dist/projects/library-editor/src/shared/filters/RoleFilter.d.ts +1 -1
- package/dist/projects/library-editor/src/shared/filters/VerifiedEmailFilter.d.ts +1 -1
- package/dist/scripts/{0-7d941d48a1.chunk.js → 0-e25d47c666.chunk.js} +1 -1
- package/dist/scripts/0.chunk.js +1039 -0
- package/dist/scripts/0.chunk.js.map +1 -0
- package/dist/scripts/{1-d174976195.chunk.js → 1-620c685eee.chunk.js} +1 -1
- package/dist/scripts/1.chunk.js +442 -0
- package/dist/scripts/1.chunk.js.map +1 -0
- package/dist/scripts/{10-9389c5decb.chunk.js → 10-3baf058564.chunk.js} +1 -1
- package/dist/scripts/10.chunk.js +820 -0
- package/dist/scripts/10.chunk.js.map +1 -0
- package/dist/scripts/{11-85acf490ea.chunk.js → 11-9f5f0c25dc.chunk.js} +1 -1
- package/dist/scripts/11.chunk.js +4091 -0
- package/dist/scripts/11.chunk.js.map +1 -0
- package/dist/scripts/{12-0db13732f7.chunk.js → 12-b460ad405e.chunk.js} +1 -1
- package/dist/scripts/12.chunk.js +555 -0
- package/dist/scripts/12.chunk.js.map +1 -0
- package/dist/scripts/{13-994f87e579.chunk.js → 13-89b3a0aebb.chunk.js} +1 -1
- package/dist/scripts/13.chunk.js +380 -0
- package/dist/scripts/13.chunk.js.map +1 -0
- package/dist/scripts/{14-2902bc9522.chunk.js → 14-670309ef33.chunk.js} +1 -1
- package/dist/scripts/14.chunk.js +2386 -0
- package/dist/scripts/14.chunk.js.map +1 -0
- package/dist/scripts/{15-c6ed60d5c9.chunk.js → 15-39010184ed.chunk.js} +1 -1
- package/dist/scripts/15.chunk.js +314 -0
- package/dist/scripts/15.chunk.js.map +1 -0
- package/dist/scripts/{16-745edb531a.chunk.js → 16-0971cabfc8.chunk.js} +1 -1
- package/dist/scripts/16.chunk.js +1290 -0
- package/dist/scripts/16.chunk.js.map +1 -0
- package/dist/scripts/{17-84499189f1.chunk.js → 17-f364868870.chunk.js} +1 -1
- package/dist/scripts/17.chunk.js +381 -0
- package/dist/scripts/17.chunk.js.map +1 -0
- package/dist/scripts/18.chunk.js +393 -0
- package/dist/scripts/18.chunk.js.map +1 -0
- package/dist/scripts/19.chunk.js +364 -0
- package/dist/scripts/19.chunk.js.map +1 -0
- package/dist/scripts/{2-236aa94486.chunk.js → 2-cd7f1d10b5.chunk.js} +1 -1
- package/dist/scripts/2.chunk.js +523 -0
- package/dist/scripts/2.chunk.js.map +1 -0
- package/dist/scripts/{20-96717eb19f.chunk.js → 20-42dc06da39.chunk.js} +1 -1
- package/dist/scripts/20.chunk.js +317 -0
- package/dist/scripts/20.chunk.js.map +1 -0
- package/dist/scripts/{21-65f36b6673.chunk.js → 21-05615559be.chunk.js} +1 -1
- package/dist/scripts/21.chunk.js +531 -0
- package/dist/scripts/21.chunk.js.map +1 -0
- package/dist/scripts/{22-5e4db41745.chunk.js → 22-70b4c18dd2.chunk.js} +1 -1
- package/dist/scripts/22.chunk.js +354 -0
- package/dist/scripts/22.chunk.js.map +1 -0
- package/dist/scripts/23-3166dfeef5.chunk.js +1 -0
- package/dist/scripts/23.chunk.js +604 -0
- package/dist/scripts/23.chunk.js.map +1 -0
- package/dist/scripts/{24-6ac1386d9a.chunk.js → 24-6fbd14025b.chunk.js} +1 -1
- package/dist/scripts/24.chunk.js +318 -0
- package/dist/scripts/24.chunk.js.map +1 -0
- package/dist/scripts/25-3d067b8b9a.chunk.js +1 -0
- package/dist/scripts/25.chunk.js +365 -0
- package/dist/scripts/25.chunk.js.map +1 -0
- package/dist/scripts/{26-58a421e3cb.chunk.js → 26-468305820a.chunk.js} +1 -1
- package/dist/scripts/26.chunk.js +442 -0
- package/dist/scripts/26.chunk.js.map +1 -0
- package/dist/scripts/{27-a507f85408.chunk.js → 27-d03a99658e.chunk.js} +1 -1
- package/dist/scripts/27.chunk.js +3630 -0
- package/dist/scripts/27.chunk.js.map +1 -0
- package/dist/scripts/{28-add4a2a74d.chunk.js → 28-f3f43a3001.chunk.js} +1 -1
- package/dist/scripts/28.chunk.js +3172 -0
- package/dist/scripts/28.chunk.js.map +1 -0
- package/dist/scripts/{29-adf22ec3a1.chunk.js → 29-268278d2ac.chunk.js} +1 -1
- package/dist/scripts/29.chunk.js +3090 -0
- package/dist/scripts/29.chunk.js.map +1 -0
- package/dist/scripts/{3-3c39acc333.chunk.js → 3-4694b66aa5.chunk.js} +1 -1
- package/dist/scripts/3.chunk.js +845 -0
- package/dist/scripts/3.chunk.js.map +1 -0
- package/dist/scripts/{30-6e869b77b2.chunk.js → 30-694b0a0d4b.chunk.js} +1 -1
- package/dist/scripts/30.chunk.js +1851 -0
- package/dist/scripts/30.chunk.js.map +1 -0
- package/dist/scripts/{31-f3a0832478.chunk.js → 31-4c542c18dc.chunk.js} +1 -1
- package/dist/scripts/31.chunk.js +958 -0
- package/dist/scripts/31.chunk.js.map +1 -0
- package/dist/scripts/{32-cbcb5dba41.chunk.js → 32-a1543ffe27.chunk.js} +1 -1
- package/dist/scripts/32.chunk.js +1239 -0
- package/dist/scripts/32.chunk.js.map +1 -0
- package/dist/scripts/{33-c9a197cce2.chunk.js → 33-9685703df6.chunk.js} +1 -1
- package/dist/scripts/33.chunk.js +971 -0
- package/dist/scripts/33.chunk.js.map +1 -0
- package/dist/scripts/{34-37fc1c9761.chunk.js → 34-eb9f6709b3.chunk.js} +1 -1
- package/dist/scripts/34.chunk.js +990 -0
- package/dist/scripts/34.chunk.js.map +1 -0
- package/dist/scripts/{35-21329b155d.chunk.js → 35-1ff49137e7.chunk.js} +1 -1
- package/dist/scripts/35.chunk.js +518 -0
- package/dist/scripts/35.chunk.js.map +1 -0
- package/dist/scripts/{36-0d3fa3d249.chunk.js → 36-9e89154ca2.chunk.js} +1 -1
- package/dist/scripts/36.chunk.js +335 -0
- package/dist/scripts/36.chunk.js.map +1 -0
- package/dist/scripts/{37-681f25d8de.chunk.js → 37-80589d542e.chunk.js} +1 -1
- package/dist/scripts/37.chunk.js +236 -0
- package/dist/scripts/37.chunk.js.map +1 -0
- package/dist/scripts/{38-5364f1bd67.chunk.js → 38-7e88534f67.chunk.js} +1 -1
- package/dist/scripts/38.chunk.js +315 -0
- package/dist/scripts/38.chunk.js.map +1 -0
- package/dist/scripts/{39-996d4ddc74.chunk.js → 39-99824f3b64.chunk.js} +1 -1
- package/dist/scripts/39.chunk.js +107 -0
- package/dist/scripts/39.chunk.js.map +1 -0
- package/dist/scripts/{4-93e14cac14.chunk.js → 4-ad1e4b43da.chunk.js} +1 -1
- package/dist/scripts/4.chunk.js +335 -0
- package/dist/scripts/4.chunk.js.map +1 -0
- package/dist/scripts/{40-7ecb39dfb5.chunk.js → 40-dbfd665c74.chunk.js} +1 -1
- package/dist/scripts/40.chunk.js +2493 -0
- package/dist/scripts/40.chunk.js.map +1 -0
- package/dist/scripts/{41-8b5abd983b.chunk.js → 41-25fbac3d17.chunk.js} +1 -1
- package/dist/scripts/41.chunk.js +1782 -0
- package/dist/scripts/41.chunk.js.map +1 -0
- package/dist/scripts/{42-b0867d7db0.chunk.js → 42-9f757567db.chunk.js} +1 -1
- package/dist/scripts/42.chunk.js +2327 -0
- package/dist/scripts/42.chunk.js.map +1 -0
- package/dist/scripts/{43-32a9ad2254.chunk.js → 43-5ef29feb2c.chunk.js} +1 -1
- package/dist/scripts/43.chunk.js +1206 -0
- package/dist/scripts/43.chunk.js.map +1 -0
- package/dist/scripts/{44-bf0ebe3cf7.chunk.js → 44-223f602431.chunk.js} +1 -1
- package/dist/scripts/44.chunk.js +2245 -0
- package/dist/scripts/44.chunk.js.map +1 -0
- package/dist/scripts/{45-2ba05e3821.chunk.js → 45-344492a36f.chunk.js} +1 -1
- package/dist/scripts/45.chunk.js +1065 -0
- package/dist/scripts/45.chunk.js.map +1 -0
- package/dist/scripts/{46-3bdc667e2e.chunk.js → 46-9ca7afd6a4.chunk.js} +1 -1
- package/dist/scripts/46.chunk.js +655 -0
- package/dist/scripts/46.chunk.js.map +1 -0
- package/dist/scripts/{47-9955928b6f.chunk.js → 47-ac0c9c5ce1.chunk.js} +1 -1
- package/dist/scripts/47.chunk.js +736 -0
- package/dist/scripts/47.chunk.js.map +1 -0
- package/dist/scripts/{48-3922b945f4.chunk.js → 48-6bf590b9a0.chunk.js} +1 -1
- package/dist/scripts/48.chunk.js +994 -0
- package/dist/scripts/48.chunk.js.map +1 -0
- package/dist/scripts/{49-23a1f6f7e7.chunk.js → 49-8e3e782ffb.chunk.js} +1 -1
- package/dist/scripts/49.chunk.js +761 -0
- package/dist/scripts/49.chunk.js.map +1 -0
- package/dist/scripts/{5-4bea739cc3.chunk.js → 5-b236603e85.chunk.js} +1 -1
- package/dist/scripts/5.chunk.js +15 -0
- package/dist/scripts/5.chunk.js.map +1 -0
- package/dist/scripts/{50-5c842985ec.chunk.js → 50-30ba08212e.chunk.js} +1 -1
- package/dist/scripts/50.chunk.js +530 -0
- package/dist/scripts/50.chunk.js.map +1 -0
- package/dist/scripts/{51-76bb20846a.chunk.js → 51-828972defb.chunk.js} +1 -1
- package/dist/scripts/51.chunk.js +932 -0
- package/dist/scripts/51.chunk.js.map +1 -0
- package/dist/scripts/{52-837abee352.chunk.js → 52-b2acf3e742.chunk.js} +1 -1
- package/dist/scripts/52.chunk.js +408 -0
- package/dist/scripts/52.chunk.js.map +1 -0
- package/dist/scripts/{53-52c9fac5eb.chunk.js → 53-5d6ea94871.chunk.js} +1 -1
- package/dist/scripts/53.chunk.js +756 -0
- package/dist/scripts/53.chunk.js.map +1 -0
- package/dist/scripts/{54-557f6ffe65.chunk.js → 54-2d8bd6fde0.chunk.js} +1 -1
- package/dist/scripts/54.chunk.js +681 -0
- package/dist/scripts/54.chunk.js.map +1 -0
- package/dist/scripts/{55-8dea861900.chunk.js → 55-4a8d360746.chunk.js} +1 -1
- package/dist/scripts/55.chunk.js +645 -0
- package/dist/scripts/55.chunk.js.map +1 -0
- package/dist/scripts/{56-491db19e9d.chunk.js → 56-ad12ebab5f.chunk.js} +1 -1
- package/dist/scripts/56.chunk.js +346 -0
- package/dist/scripts/56.chunk.js.map +1 -0
- package/dist/scripts/{57-87323c96be.chunk.js → 57-53b89c2ef0.chunk.js} +1 -1
- package/dist/scripts/57.chunk.js +422 -0
- package/dist/scripts/57.chunk.js.map +1 -0
- package/dist/scripts/{58-3408474ea9.chunk.js → 58-b246abe78c.chunk.js} +1 -1
- package/dist/scripts/58.chunk.js +437 -0
- package/dist/scripts/58.chunk.js.map +1 -0
- package/dist/scripts/{59-ad89e8b776.chunk.js → 59-19290686e0.chunk.js} +1 -1
- package/dist/scripts/59.chunk.js +342 -0
- package/dist/scripts/59.chunk.js.map +1 -0
- package/dist/scripts/{6-cf6bf13de2.chunk.js → 6-6fb543aa78.chunk.js} +1 -1
- package/dist/scripts/6.chunk.js +484 -0
- package/dist/scripts/6.chunk.js.map +1 -0
- package/dist/scripts/{60-3324435680.chunk.js → 60-0c075e7b5c.chunk.js} +1 -1
- package/dist/scripts/60.chunk.js +254 -0
- package/dist/scripts/60.chunk.js.map +1 -0
- package/dist/scripts/{61-57f4830468.chunk.js → 61-2725bbfab2.chunk.js} +1 -1
- package/dist/scripts/61.chunk.js +408 -0
- package/dist/scripts/61.chunk.js.map +1 -0
- package/dist/scripts/{62-27f0a916e8.chunk.js → 62-472d10a18e.chunk.js} +1 -1
- package/dist/scripts/62.chunk.js +142 -0
- package/dist/scripts/62.chunk.js.map +1 -0
- package/dist/scripts/{63-c328125cb6.chunk.js → 63-7d00e50441.chunk.js} +1 -1
- package/dist/scripts/63.chunk.js +147 -0
- package/dist/scripts/63.chunk.js.map +1 -0
- package/dist/scripts/{64-32b869d473.chunk.js → 64-1b42f78644.chunk.js} +1 -1
- package/dist/scripts/64.chunk.js +439 -0
- package/dist/scripts/64.chunk.js.map +1 -0
- package/dist/scripts/{65-2f7971dc4f.chunk.js → 65-14af88c745.chunk.js} +1 -1
- package/dist/scripts/65.chunk.js +582 -0
- package/dist/scripts/65.chunk.js.map +1 -0
- package/dist/scripts/{66-34c241cba2.chunk.js → 66-bc274df13a.chunk.js} +1 -1
- package/dist/scripts/66.chunk.js +442 -0
- package/dist/scripts/66.chunk.js.map +1 -0
- package/dist/scripts/{67-b5429e74ed.chunk.js → 67-d1edef09d6.chunk.js} +1 -1
- package/dist/scripts/67.chunk.js +295 -0
- package/dist/scripts/67.chunk.js.map +1 -0
- package/dist/scripts/{68-c8848a4a9d.chunk.js → 68-52468201b9.chunk.js} +1 -1
- package/dist/scripts/68.chunk.js +165 -0
- package/dist/scripts/68.chunk.js.map +1 -0
- package/dist/scripts/{69-3840d20a46.chunk.js → 69-b681e9a99c.chunk.js} +1 -1
- package/dist/scripts/69.chunk.js +248 -0
- package/dist/scripts/69.chunk.js.map +1 -0
- package/dist/scripts/{7-d1e99b91aa.chunk.js → 7-2807a666bc.chunk.js} +1 -1
- package/dist/scripts/7.chunk.js +309 -0
- package/dist/scripts/7.chunk.js.map +1 -0
- package/dist/scripts/{70-812a99c9c1.chunk.js → 70-d4018838a9.chunk.js} +1 -1
- package/dist/scripts/70.chunk.js +207 -0
- package/dist/scripts/70.chunk.js.map +1 -0
- package/dist/scripts/{71-5523ee0121.chunk.js → 71-29cce07c7f.chunk.js} +1 -1
- package/dist/scripts/71.chunk.js +237 -0
- package/dist/scripts/71.chunk.js.map +1 -0
- package/dist/scripts/{72-fd2b5e6473.chunk.js → 72-6f83214b8d.chunk.js} +1 -1
- package/dist/scripts/72.chunk.js +331 -0
- package/dist/scripts/72.chunk.js.map +1 -0
- package/dist/scripts/73.chunk.js +404 -0
- package/dist/scripts/73.chunk.js.map +1 -0
- package/dist/scripts/74.chunk.js +301 -0
- package/dist/scripts/74.chunk.js.map +1 -0
- package/dist/scripts/75.chunk.js +231 -0
- package/dist/scripts/75.chunk.js.map +1 -0
- package/dist/scripts/76.chunk.js +157 -0
- package/dist/scripts/76.chunk.js.map +1 -0
- package/dist/scripts/77.chunk.js +307 -0
- package/dist/scripts/77.chunk.js.map +1 -0
- package/dist/scripts/78.chunk.js +249 -0
- package/dist/scripts/78.chunk.js.map +1 -0
- package/dist/scripts/79.chunk.js +282 -0
- package/dist/scripts/79.chunk.js.map +1 -0
- package/dist/scripts/{8-1c22ae2c22.chunk.js → 8-8f44e8bfc4.chunk.js} +1 -1
- package/dist/scripts/8.chunk.js +307 -0
- package/dist/scripts/8.chunk.js.map +1 -0
- package/dist/scripts/80.chunk.js +308 -0
- package/dist/scripts/80.chunk.js.map +1 -0
- package/dist/scripts/81.chunk.js +366 -0
- package/dist/scripts/81.chunk.js.map +1 -0
- package/dist/scripts/82.chunk.js +314 -0
- package/dist/scripts/82.chunk.js.map +1 -0
- package/dist/scripts/83.chunk.js +328 -0
- package/dist/scripts/83.chunk.js.map +1 -0
- package/dist/scripts/84.chunk.js +313 -0
- package/dist/scripts/84.chunk.js.map +1 -0
- package/dist/scripts/85.chunk.js +291 -0
- package/dist/scripts/85.chunk.js.map +1 -0
- package/dist/scripts/86.chunk.js +119 -0
- package/dist/scripts/86.chunk.js.map +1 -0
- package/dist/scripts/87.chunk.js +219 -0
- package/dist/scripts/87.chunk.js.map +1 -0
- package/dist/scripts/88.chunk.js +194 -0
- package/dist/scripts/88.chunk.js.map +1 -0
- package/dist/scripts/89.chunk.js +522 -0
- package/dist/scripts/89.chunk.js.map +1 -0
- package/dist/scripts/{9-fab9edf019.chunk.js → 9-b8f9ea66c4.chunk.js} +1 -1
- package/dist/scripts/9.chunk.js +222 -0
- package/dist/scripts/9.chunk.js.map +1 -0
- package/dist/scripts/90.chunk.js +337 -0
- package/dist/scripts/90.chunk.js.map +1 -0
- package/dist/scripts/91.chunk.js +131 -0
- package/dist/scripts/91.chunk.js.map +1 -0
- package/dist/scripts/92.chunk.js +266 -0
- package/dist/scripts/92.chunk.js.map +1 -0
- package/dist/scripts/bundle-f28b86bf5b.min.js +8 -0
- package/dist/scripts/bundle.js +67206 -0
- package/dist/scripts/bundle.js.map +1 -0
- package/dist/scripts/bundles.json +2 -2
- package/dist/scripts/{polyfills-1554419c02.min.js → polyfills-1d2233ebcc.min.js} +1 -1
- package/dist/scripts/polyfills.js +14866 -0
- package/dist/scripts/polyfills.js.map +1 -0
- package/package.json +4 -4
- package/dist/scripts/23-d0172ec9d2.chunk.js +0 -1
- package/dist/scripts/25-36d490b1c6.chunk.js +0 -1
- package/dist/scripts/bundle-c2eae7224c.min.js +0 -8
- /package/dist/libs/shared/src/interfaces/models/{Interactive.d.ts → interactive.d.ts} +0 -0
|
@@ -0,0 +1,380 @@
|
|
|
1
|
+
(window["webpackJsonp_clickview_library_editor"] = window["webpackJsonp_clickview_library_editor"] || []).push([[13],{
|
|
2
|
+
|
|
3
|
+
/***/ "./src/shared/components/select/Select.hbs":
|
|
4
|
+
/*!*************************************************!*\
|
|
5
|
+
!*** ./src/shared/components/select/Select.hbs ***!
|
|
6
|
+
\*************************************************/
|
|
7
|
+
/*! no static exports found */
|
|
8
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
9
|
+
|
|
10
|
+
var Handlebars = __webpack_require__(/*! handlebars */ "handlebars");
|
|
11
|
+
module.exports = (Handlebars['default'] || Handlebars).template({"1":function(container,depth0,helpers,partials,data) {
|
|
12
|
+
var stack1, alias1=container.propertyIsEnumerable;
|
|
13
|
+
|
|
14
|
+
return container.escapeExpression(container.lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.disabled : stack1), depth0));
|
|
15
|
+
},"3":function(container,depth0,helpers,partials,data) {
|
|
16
|
+
return " disabled";
|
|
17
|
+
},"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
|
|
18
|
+
var stack1, alias1=container.propertyIsEnumerable, alias2=container.lambda, alias3=container.escapeExpression, alias4=depth0 != null ? depth0 : (container.nullContext || {});
|
|
19
|
+
|
|
20
|
+
return "<button \r\n class=\"dropdown-toggle form-control btn-block text-left position-relative "
|
|
21
|
+
+ alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.selectButton : stack1), depth0))
|
|
22
|
+
+ " "
|
|
23
|
+
+ ((stack1 = helpers["if"].call(alias4,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.disabled : stack1),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
|
|
24
|
+
+ "\" \r\n type=\"button\" \r\n id=\"dropdownMenuButton\" \r\n data-toggle=\"dropdown\" \r\n aria-haspopup=\"true\" \r\n aria-expanded=\"false\"\r\n "
|
|
25
|
+
+ ((stack1 = helpers["if"].call(alias4,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.disabled : stack1),{"name":"if","hash":{},"fn":container.program(3, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
|
|
26
|
+
+ " \r\n name=\""
|
|
27
|
+
+ alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.inputName : stack1), depth0))
|
|
28
|
+
+ "\"\r\n >\r\n "
|
|
29
|
+
+ alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.placeholderText : stack1), depth0))
|
|
30
|
+
+ "\r\n</button>\r\n<div class=\"dropdown-region\"></div>\r\n<div class=\"form-feedback\"></div>";
|
|
31
|
+
},"useData":true});
|
|
32
|
+
|
|
33
|
+
/***/ }),
|
|
34
|
+
|
|
35
|
+
/***/ "./src/shared/components/select/SelectComponent.ts":
|
|
36
|
+
/*!*********************************************************!*\
|
|
37
|
+
!*** ./src/shared/components/select/SelectComponent.ts ***!
|
|
38
|
+
\*********************************************************/
|
|
39
|
+
/*! exports provided: SelectComponent */
|
|
40
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
41
|
+
|
|
42
|
+
"use strict";
|
|
43
|
+
__webpack_require__.r(__webpack_exports__);
|
|
44
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SelectComponent", function() { return SelectComponent; });
|
|
45
|
+
/* harmony import */ var underscore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! underscore */ "underscore");
|
|
46
|
+
/* harmony import */ var underscore__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(underscore__WEBPACK_IMPORTED_MODULE_0__);
|
|
47
|
+
/* harmony import */ var backbone__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! backbone */ "backbone");
|
|
48
|
+
/* harmony import */ var backbone__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(backbone__WEBPACK_IMPORTED_MODULE_1__);
|
|
49
|
+
/* harmony import */ var _libs_common_src_backbone__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../libs/common/src/backbone */ "../../libs/common/src/backbone/index.ts");
|
|
50
|
+
/* harmony import */ var _dropdown_DropdownComponentCollection__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../dropdown/DropdownComponentCollection */ "./src/shared/components/dropdown/DropdownComponentCollection.ts");
|
|
51
|
+
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils */ "./src/shared/utils/index.ts");
|
|
52
|
+
/* harmony import */ var _Select_hbs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Select.hbs */ "./src/shared/components/select/Select.hbs");
|
|
53
|
+
/* harmony import */ var _Select_hbs__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_Select_hbs__WEBPACK_IMPORTED_MODULE_5__);
|
|
54
|
+
/* harmony import */ var _select_scss__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./select.scss */ "./src/shared/components/select/select.scss");
|
|
55
|
+
/* harmony import */ var _select_scss__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_select_scss__WEBPACK_IMPORTED_MODULE_6__);
|
|
56
|
+
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
57
|
+
|
|
58
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
59
|
+
|
|
60
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
61
|
+
|
|
62
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
|
63
|
+
|
|
64
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
65
|
+
|
|
66
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
67
|
+
|
|
68
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
69
|
+
|
|
70
|
+
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
|
|
71
|
+
|
|
72
|
+
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
73
|
+
|
|
74
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
|
|
75
|
+
|
|
76
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
var ENTER_KEYCODE = 13;
|
|
86
|
+
var UP_ARROW_KEYCODE = 38;
|
|
87
|
+
var DOWN_ARROW_KEYCODE = 40;
|
|
88
|
+
var TYPING_TIMEOUT = 500;
|
|
89
|
+
var SelectComponent = /*#__PURE__*/function (_Core$Component) {
|
|
90
|
+
_inherits(SelectComponent, _Core$Component);
|
|
91
|
+
|
|
92
|
+
var _super = _createSuper(SelectComponent);
|
|
93
|
+
|
|
94
|
+
function SelectComponent(options) {
|
|
95
|
+
var _this;
|
|
96
|
+
|
|
97
|
+
_classCallCheck(this, SelectComponent);
|
|
98
|
+
|
|
99
|
+
_this = _super.call(this, options); // Component state
|
|
100
|
+
|
|
101
|
+
_this.selectSearch = '';
|
|
102
|
+
_this.sameCharIndex = 1;
|
|
103
|
+
_this.optionStep = 1;
|
|
104
|
+
return _this;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
_createClass(SelectComponent, [{
|
|
108
|
+
key: "initialize",
|
|
109
|
+
value: function initialize() {
|
|
110
|
+
this.setModel();
|
|
111
|
+
this.bindListeners();
|
|
112
|
+
}
|
|
113
|
+
}, {
|
|
114
|
+
key: "regions",
|
|
115
|
+
value: function regions() {
|
|
116
|
+
return {
|
|
117
|
+
dropdown: {
|
|
118
|
+
el: '.dropdown-region',
|
|
119
|
+
replaceElement: true
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
}, {
|
|
124
|
+
key: "events",
|
|
125
|
+
value: function events() {
|
|
126
|
+
return {
|
|
127
|
+
'keydown': 'onKeydown',
|
|
128
|
+
'shown.bs.dropdown': 'onShowDropdown'
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
}, {
|
|
132
|
+
key: "bindListeners",
|
|
133
|
+
value: function bindListeners() {
|
|
134
|
+
this.listenTo(this.options.channelName, this.options.childOptions.eventName, this.onSelect);
|
|
135
|
+
}
|
|
136
|
+
}, {
|
|
137
|
+
key: "onShowDropdown",
|
|
138
|
+
value: function onShowDropdown() {
|
|
139
|
+
var radio = backbone__WEBPACK_IMPORTED_MODULE_1__["Radio"].channel(this.options.channelName);
|
|
140
|
+
radio.trigger('center:dropdown');
|
|
141
|
+
}
|
|
142
|
+
}, {
|
|
143
|
+
key: "onKeydown",
|
|
144
|
+
value: function onKeydown(event) {
|
|
145
|
+
if (event.keyCode === UP_ARROW_KEYCODE || event.keyCode === DOWN_ARROW_KEYCODE) {
|
|
146
|
+
this.onArrowKeyDown(event);
|
|
147
|
+
} else if (event.keyCode === ENTER_KEYCODE) {
|
|
148
|
+
this.render();
|
|
149
|
+
} else {
|
|
150
|
+
this.onType(event);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
var radio = backbone__WEBPACK_IMPORTED_MODULE_1__["Radio"].channel(this.options.channelName);
|
|
154
|
+
radio.trigger('center:dropdown');
|
|
155
|
+
}
|
|
156
|
+
}, {
|
|
157
|
+
key: "onArrowKeyDown",
|
|
158
|
+
value: function onArrowKeyDown(event) {
|
|
159
|
+
if (_utils__WEBPACK_IMPORTED_MODULE_4__["CollectionHelpers"].getSelected(this.collection)) {
|
|
160
|
+
this.optionStep = 1;
|
|
161
|
+
} else {
|
|
162
|
+
this.optionStep = 0;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
var selectedModel = this.getNextModel(event.keyCode);
|
|
166
|
+
|
|
167
|
+
if (!selectedModel) {
|
|
168
|
+
_utils__WEBPACK_IMPORTED_MODULE_4__["CollectionHelpers"].deselectAll(this.collection);
|
|
169
|
+
selectedModel = this.getNextModel(event.keyCode);
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
while (this.isDisabled(selectedModel)) {
|
|
173
|
+
this.optionStep++;
|
|
174
|
+
selectedModel = this.getNextModel(event.keyCode);
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
this.onSelect(selectedModel);
|
|
178
|
+
}
|
|
179
|
+
}, {
|
|
180
|
+
key: "onType",
|
|
181
|
+
value: function onType(event) {
|
|
182
|
+
// Returns if keys such as "Tab" or "Backspace" are pressed
|
|
183
|
+
if (event.key.toString().length !== 1) return;
|
|
184
|
+
var modelMatch = this.getModelMatch(event);
|
|
185
|
+
if (modelMatch) this.onSelect(modelMatch);
|
|
186
|
+
this.runTimer();
|
|
187
|
+
}
|
|
188
|
+
}, {
|
|
189
|
+
key: "onSelect",
|
|
190
|
+
value: function onSelect(model) {
|
|
191
|
+
if (this.isDisabled(model)) return;
|
|
192
|
+
_utils__WEBPACK_IMPORTED_MODULE_4__["CollectionHelpers"].setSelected(model.get('id'), this.collection);
|
|
193
|
+
this.setModel();
|
|
194
|
+
this.getUI('dropdownToggle').text(this.getButtonText());
|
|
195
|
+
var radio = backbone__WEBPACK_IMPORTED_MODULE_1__["Radio"].channel(this.options.channelName);
|
|
196
|
+
radio.trigger('select:option:selected', model);
|
|
197
|
+
}
|
|
198
|
+
}, {
|
|
199
|
+
key: "setModel",
|
|
200
|
+
value: function setModel() {
|
|
201
|
+
this.model = _utils__WEBPACK_IMPORTED_MODULE_4__["CollectionHelpers"].getSelected(this.collection);
|
|
202
|
+
}
|
|
203
|
+
}, {
|
|
204
|
+
key: "getNextModel",
|
|
205
|
+
value: function getNextModel(key) {
|
|
206
|
+
var currentModel = _utils__WEBPACK_IMPORTED_MODULE_4__["CollectionHelpers"].getSelected(this.collection) || this.collection.first();
|
|
207
|
+
var index = this.collection.indexOf(currentModel);
|
|
208
|
+
var nextModel;
|
|
209
|
+
|
|
210
|
+
if (key === UP_ARROW_KEYCODE) {
|
|
211
|
+
nextModel = this.collection.at(index - this.optionStep);
|
|
212
|
+
} else {
|
|
213
|
+
nextModel = this.collection.at(index + this.optionStep);
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* This handles cases where users downstroke into 1 or more
|
|
217
|
+
* disabled folders that stretch until the end of the collection.
|
|
218
|
+
* This will wrap their selection back to the top.
|
|
219
|
+
*/
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
if (!nextModel) {
|
|
223
|
+
_utils__WEBPACK_IMPORTED_MODULE_4__["CollectionHelpers"].deselectAll(this.collection);
|
|
224
|
+
nextModel = this.collection.first();
|
|
225
|
+
this.optionStep = 0;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
return nextModel;
|
|
229
|
+
}
|
|
230
|
+
}, {
|
|
231
|
+
key: "getModelMatch",
|
|
232
|
+
value: function getModelMatch(event) {
|
|
233
|
+
var _this2 = this;
|
|
234
|
+
|
|
235
|
+
var modelSearchResult;
|
|
236
|
+
|
|
237
|
+
if (this.selectSearch.length === 1 && this.selectSearch === event.key) {
|
|
238
|
+
modelSearchResult = this.handleSameCharIndex(event.key);
|
|
239
|
+
} else {
|
|
240
|
+
this.selectSearch += event.key;
|
|
241
|
+
this.sameCharIndex = 1;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
if (!modelSearchResult) {
|
|
245
|
+
modelSearchResult = underscore__WEBPACK_IMPORTED_MODULE_0__["find"](this.collection.models, function (model) {
|
|
246
|
+
return model.get(_this2.options.displayProperty).toLowerCase().slice(0, _this2.selectSearch.length).includes(_this2.selectSearch.toLowerCase());
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
return modelSearchResult;
|
|
251
|
+
}
|
|
252
|
+
}, {
|
|
253
|
+
key: "handleSameCharIndex",
|
|
254
|
+
value: function handleSameCharIndex(keyCode) {
|
|
255
|
+
var _this3 = this;
|
|
256
|
+
|
|
257
|
+
var models = underscore__WEBPACK_IMPORTED_MODULE_0__["filter"](this.collection.models, function (model) {
|
|
258
|
+
return model.get(_this3.options.displayProperty).toLowerCase().slice(0, 1) === keyCode;
|
|
259
|
+
});
|
|
260
|
+
|
|
261
|
+
if (models.length > 1) {
|
|
262
|
+
/**
|
|
263
|
+
* When a user types the first char of their search, then they
|
|
264
|
+
* type that char again, rather than append that char to the search
|
|
265
|
+
* string (e.g. "aa"), we instead search for the next option in the
|
|
266
|
+
* dropdown that starts with "a", then increment sameCharIndex for cases
|
|
267
|
+
* where the user continues pressing "a" for example.
|
|
268
|
+
*/
|
|
269
|
+
var modelSearchResult = models[this.sameCharIndex];
|
|
270
|
+
|
|
271
|
+
if (!modelSearchResult) {
|
|
272
|
+
modelSearchResult = underscore__WEBPACK_IMPORTED_MODULE_0__["first"](models);
|
|
273
|
+
this.sameCharIndex = 0;
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
this.sameCharIndex++;
|
|
277
|
+
return modelSearchResult;
|
|
278
|
+
} else {
|
|
279
|
+
return underscore__WEBPACK_IMPORTED_MODULE_0__["first"](models);
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
}, {
|
|
283
|
+
key: "runTimer",
|
|
284
|
+
value: function runTimer() {
|
|
285
|
+
var _this4 = this;
|
|
286
|
+
|
|
287
|
+
if (this.scopedTimerIndex) clearTimeout(this.scopedTimerIndex);
|
|
288
|
+
this.scopedTimerIndex = window.setTimeout(function () {
|
|
289
|
+
_this4.selectSearch = '';
|
|
290
|
+
}, TYPING_TIMEOUT);
|
|
291
|
+
}
|
|
292
|
+
}, {
|
|
293
|
+
key: "isDisabled",
|
|
294
|
+
value: function isDisabled(model) {
|
|
295
|
+
var _this$options$childOp;
|
|
296
|
+
|
|
297
|
+
if (model.get('divider')) return true;
|
|
298
|
+
if (!underscore__WEBPACK_IMPORTED_MODULE_0__["isFunction"](this.options.childOptions.isDisabled)) return false;
|
|
299
|
+
|
|
300
|
+
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
301
|
+
args[_key - 1] = arguments[_key];
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
return (_this$options$childOp = this.options.childOptions.isDisabled).call.apply(_this$options$childOp, [this, model].concat(args));
|
|
305
|
+
}
|
|
306
|
+
}, {
|
|
307
|
+
key: "getButtonText",
|
|
308
|
+
value: function getButtonText() {
|
|
309
|
+
if (this.options.disabled) return this.options.noOptionsText;
|
|
310
|
+
var selection = _utils__WEBPACK_IMPORTED_MODULE_4__["CollectionHelpers"].getSelected(this.collection);
|
|
311
|
+
return selection && selection.get(this.options.displayProperty) || this.options.placeholderText;
|
|
312
|
+
}
|
|
313
|
+
}, {
|
|
314
|
+
key: "viewOptions",
|
|
315
|
+
value: function viewOptions() {
|
|
316
|
+
return {
|
|
317
|
+
styles: _select_scss__WEBPACK_IMPORTED_MODULE_6___default.a,
|
|
318
|
+
inputName: this.options.inputName,
|
|
319
|
+
disabled: this.options.disabled,
|
|
320
|
+
placeholderText: this.getButtonText()
|
|
321
|
+
};
|
|
322
|
+
}
|
|
323
|
+
}, {
|
|
324
|
+
key: "onRender",
|
|
325
|
+
value: function onRender() {
|
|
326
|
+
this.showChildView('dropdown', new _dropdown_DropdownComponentCollection__WEBPACK_IMPORTED_MODULE_3__["DropdownComponentCollection"]({
|
|
327
|
+
collection: this.collection,
|
|
328
|
+
channelName: this.options.channelName,
|
|
329
|
+
childOptions: underscore__WEBPACK_IMPORTED_MODULE_0__["extend"](this.options.childOptions),
|
|
330
|
+
displayOptions: {
|
|
331
|
+
extraClasses: "w-100 ".concat(_select_scss__WEBPACK_IMPORTED_MODULE_6___default.a.dropdownMenu)
|
|
332
|
+
},
|
|
333
|
+
analyticsHelper: this.options.analyticsHelper
|
|
334
|
+
}));
|
|
335
|
+
}
|
|
336
|
+
}, {
|
|
337
|
+
key: "name",
|
|
338
|
+
get: function get() {
|
|
339
|
+
return 'SelectComponent';
|
|
340
|
+
}
|
|
341
|
+
}, {
|
|
342
|
+
key: "template",
|
|
343
|
+
get: function get() {
|
|
344
|
+
return _Select_hbs__WEBPACK_IMPORTED_MODULE_5___default.a;
|
|
345
|
+
}
|
|
346
|
+
}, {
|
|
347
|
+
key: "defaults",
|
|
348
|
+
get: function get() {
|
|
349
|
+
return {
|
|
350
|
+
displayProperty: 'name'
|
|
351
|
+
};
|
|
352
|
+
}
|
|
353
|
+
}, {
|
|
354
|
+
key: "elements",
|
|
355
|
+
get: function get() {
|
|
356
|
+
return {
|
|
357
|
+
dropdownToggle: '.dropdown-toggle'
|
|
358
|
+
};
|
|
359
|
+
}
|
|
360
|
+
}]);
|
|
361
|
+
|
|
362
|
+
return SelectComponent;
|
|
363
|
+
}(_libs_common_src_backbone__WEBPACK_IMPORTED_MODULE_2__["Core"].Component);
|
|
364
|
+
|
|
365
|
+
/***/ }),
|
|
366
|
+
|
|
367
|
+
/***/ "./src/shared/components/select/select.scss":
|
|
368
|
+
/*!**************************************************!*\
|
|
369
|
+
!*** ./src/shared/components/select/select.scss ***!
|
|
370
|
+
\**************************************************/
|
|
371
|
+
/*! no static exports found */
|
|
372
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
373
|
+
|
|
374
|
+
// extracted by mini-css-extract-plugin
|
|
375
|
+
module.exports = {"dropdownMenu":"cv--dropdownMenu--2RaQu","selectButton":"cv--selectButton--2xGqi","disabled":"cv--disabled--15kWr"};
|
|
376
|
+
|
|
377
|
+
/***/ })
|
|
378
|
+
|
|
379
|
+
}]);
|
|
380
|
+
//# sourceMappingURL=13.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/shared/components/select/Select.hbs","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/shared/components/select/SelectComponent.ts","webpack://@clickview/library-editor/./src/shared/components/select/select.scss?929b"],"names":[],"mappings":"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","file":"scripts/13.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 container.escapeExpression(container.lambda(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.disabled : stack1), depth0));\n},\"3\":function(container,depth0,helpers,partials,data) {\n return \" disabled\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable, alias2=container.lambda, alias3=container.escapeExpression, alias4=depth0 != null ? depth0 : (container.nullContext || {});\n\n return \"<button \\r\\n class=\\\"dropdown-toggle form-control btn-block text-left position-relative \"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.selectButton : stack1), depth0))\n + \" \"\n + ((stack1 = helpers[\"if\"].call(alias4,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.disabled : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\" \\r\\n type=\\\"button\\\" \\r\\n id=\\\"dropdownMenuButton\\\" \\r\\n data-toggle=\\\"dropdown\\\" \\r\\n aria-haspopup=\\\"true\\\" \\r\\n aria-expanded=\\\"false\\\"\\r\\n \"\n + ((stack1 = helpers[\"if\"].call(alias4,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.disabled : stack1),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \" \\r\\n name=\\\"\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.inputName : stack1), depth0))\n + \"\\\"\\r\\n >\\r\\n \"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.placeholderText : stack1), depth0))\n + \"\\r\\n</button>\\r\\n<div class=\\\"dropdown-region\\\"></div>\\r\\n<div class=\\\"form-feedback\\\"></div>\";\n},\"useData\":true});","import * as _ from 'underscore';\r\nimport { ObjectHash, Radio } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport { DropdownComponentCollection, DropdownAnalyticsHelper } from 'shared/components/dropdown/DropdownComponentCollection';\r\nimport { CollectionHelpers } from 'shared/utils';\r\n\r\nimport SelectTemplate from './Select.hbs';\r\nimport styles from './select.scss';\r\n\r\nexport interface SelectChildOptions {\r\n channelName?: string;\r\n titleProperty?: string;\r\n eventName: string;\r\n extraClasses?: string;\r\n prefixHandler?: () => string;\r\n currentSelectedMessage?: string;\r\n isDisabled?: (model: Core.Model, ...args: any) => boolean;\r\n truncateOptionNames?: boolean;\r\n}\r\n\r\nexport interface SelectComponentOptions extends Core.ComponentCollectionOptions {\r\n channelName: string;\r\n childOptions: SelectChildOptions;\r\n placeholderText: string;\r\n noOptionsText?: string;\r\n inputName?: string;\r\n disabled?: boolean;\r\n displayProperty?: string;\r\n analyticsHelper: DropdownAnalyticsHelper;\r\n}\r\n\r\nconst ENTER_KEYCODE = 13;\r\nconst UP_ARROW_KEYCODE = 38;\r\nconst DOWN_ARROW_KEYCODE = 40;\r\nconst TYPING_TIMEOUT = 500;\r\n\r\nexport class SelectComponent extends Core.Component {\r\n public collection: Core.Collection;\r\n public options: SelectComponentOptions;\r\n\r\n // Component state\r\n private selectSearch: string = '';\r\n private sameCharIndex: number = 1;\r\n private scopedTimerIndex: number;\r\n private optionStep: number = 1;\r\n\r\n public constructor(options: SelectComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.setModel();\r\n\r\n this.bindListeners();\r\n }\r\n\r\n public get name(): string {\r\n return 'SelectComponent';\r\n }\r\n\r\n public get template(): any {\r\n return SelectTemplate;\r\n }\r\n\r\n public regions(): ObjectHash {\r\n return {\r\n dropdown: {\r\n el: '.dropdown-region',\r\n replaceElement: true\r\n }\r\n };\r\n }\r\n\r\n public events(): ObjectHash {\r\n return {\r\n 'keydown': 'onKeydown',\r\n 'shown.bs.dropdown': 'onShowDropdown'\r\n };\r\n }\r\n\r\n public get defaults(): ObjectHash {\r\n return {\r\n displayProperty: 'name'\r\n };\r\n }\r\n\r\n public get elements(): ObjectHash {\r\n return {\r\n dropdownToggle: '.dropdown-toggle'\r\n };\r\n }\r\n\r\n private bindListeners(): void {\r\n this.listenTo(this.options.channelName, this.options.childOptions.eventName, this.onSelect);\r\n }\r\n\r\n private onShowDropdown(): void {\r\n const radio = Radio.channel(this.options.channelName);\r\n radio.trigger('center:dropdown');\r\n }\r\n\r\n private onKeydown(event: JQueryEventObject): void {\r\n if (event.keyCode === UP_ARROW_KEYCODE || event.keyCode === DOWN_ARROW_KEYCODE) {\r\n this.onArrowKeyDown(event);\r\n } else if (event.keyCode === ENTER_KEYCODE) {\r\n this.render();\r\n } else {\r\n this.onType(event);\r\n }\r\n\r\n const radio = Radio.channel(this.options.channelName);\r\n radio.trigger('center:dropdown');\r\n }\r\n\r\n private onArrowKeyDown(event: JQueryEventObject): void {\r\n if (CollectionHelpers.getSelected(this.collection)) {\r\n this.optionStep = 1;\r\n } else {\r\n this.optionStep = 0;\r\n }\r\n\r\n let selectedModel: Core.Model = this.getNextModel(event.keyCode);\r\n\r\n if (!selectedModel) {\r\n CollectionHelpers.deselectAll(this.collection);\r\n selectedModel = this.getNextModel(event.keyCode);\r\n }\r\n\r\n while (this.isDisabled(selectedModel)) {\r\n this.optionStep++;\r\n selectedModel = this.getNextModel(event.keyCode);\r\n }\r\n\r\n this.onSelect(selectedModel);\r\n }\r\n\r\n private onType(event: JQueryEventObject): void {\r\n // Returns if keys such as \"Tab\" or \"Backspace\" are pressed\r\n if (event.key.toString().length !== 1) return;\r\n\r\n const modelMatch: Core.Model = this.getModelMatch(event);\r\n if (modelMatch)\r\n this.onSelect(modelMatch);\r\n\r\n this.runTimer();\r\n }\r\n\r\n public onSelect(model: Core.Model): void {\r\n if (this.isDisabled(model))\r\n return;\r\n\r\n CollectionHelpers.setSelected(model.get('id'), this.collection);\r\n this.setModel();\r\n this.getUI('dropdownToggle').text(this.getButtonText());\r\n\r\n const radio = Radio.channel(this.options.channelName);\r\n radio.trigger('select:option:selected', model);\r\n }\r\n\r\n public setModel(): void {\r\n this.model = CollectionHelpers.getSelected(this.collection);\r\n }\r\n\r\n private getNextModel(key: number): Core.Model {\r\n const currentModel: Core.Model = CollectionHelpers.getSelected(this.collection) || this.collection.first();\r\n const index: number = this.collection.indexOf(currentModel);\r\n\r\n let nextModel: Core.Model;\r\n if (key === UP_ARROW_KEYCODE) {\r\n nextModel = this.collection.at(index - this.optionStep);\r\n } else {\r\n nextModel = this.collection.at(index + this.optionStep);\r\n }\r\n\r\n /**\r\n * This handles cases where users downstroke into 1 or more\r\n * disabled folders that stretch until the end of the collection.\r\n * This will wrap their selection back to the top.\r\n */\r\n if (!nextModel) {\r\n CollectionHelpers.deselectAll(this.collection);\r\n nextModel = this.collection.first();\r\n this.optionStep = 0;\r\n }\r\n\r\n return nextModel;\r\n }\r\n\r\n private getModelMatch(event: JQueryEventObject): Core.Model {\r\n let modelSearchResult: Core.Model;\r\n if (this.selectSearch.length === 1 && this.selectSearch === event.key) {\r\n modelSearchResult = this.handleSameCharIndex(event.key);\r\n } else {\r\n this.selectSearch += event.key;\r\n this.sameCharIndex = 1;\r\n }\r\n\r\n if (!modelSearchResult) {\r\n modelSearchResult = _.find(this.collection.models, (model: Core.Model) =>\r\n model.get(this.options.displayProperty)\r\n .toLowerCase().slice(0, this.selectSearch.length).includes(this.selectSearch.toLowerCase()));\r\n }\r\n\r\n return modelSearchResult;\r\n }\r\n\r\n private handleSameCharIndex(keyCode: string): Core.Model {\r\n const models: Core.Model[] = _.filter(\r\n this.collection.models, (model: Core.Model) => {\r\n return model.get(this.options.displayProperty).toLowerCase().slice(0, 1) === keyCode;\r\n }\r\n );\r\n if (models.length > 1) {\r\n /**\r\n * When a user types the first char of their search, then they\r\n * type that char again, rather than append that char to the search\r\n * string (e.g. \"aa\"), we instead search for the next option in the\r\n * dropdown that starts with \"a\", then increment sameCharIndex for cases\r\n * where the user continues pressing \"a\" for example.\r\n */\r\n let modelSearchResult = models[this.sameCharIndex];\r\n if (!modelSearchResult) {\r\n modelSearchResult = _.first(models);\r\n this.sameCharIndex = 0;\r\n }\r\n this.sameCharIndex++;\r\n return modelSearchResult;\r\n } else {\r\n return _.first(models);\r\n }\r\n }\r\n\r\n private runTimer(): void {\r\n if (this.scopedTimerIndex)\r\n clearTimeout(this.scopedTimerIndex);\r\n\r\n this.scopedTimerIndex = window.setTimeout(() => {\r\n this.selectSearch = '';\r\n }, TYPING_TIMEOUT);\r\n }\r\n\r\n private isDisabled(model: Core.Model, ...args: any): boolean {\r\n if (model.get('divider'))\r\n return true;\r\n\r\n if (!_.isFunction(this.options.childOptions.isDisabled))\r\n return false;\r\n\r\n return this.options.childOptions.isDisabled.call(this, model, ...args);\r\n }\r\n\r\n private getButtonText(): string {\r\n if (this.options.disabled)\r\n return this.options.noOptionsText;\r\n\r\n const selection = CollectionHelpers.getSelected(this.collection);\r\n return (selection && selection.get(this.options.displayProperty)) || this.options.placeholderText;\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n styles,\r\n inputName: this.options.inputName,\r\n disabled: this.options.disabled,\r\n placeholderText: this.getButtonText()\r\n };\r\n }\r\n\r\n public onRender(): void {\r\n this.showChildView('dropdown', new DropdownComponentCollection({\r\n collection: this.collection,\r\n channelName: this.options.channelName,\r\n childOptions: _.extend(this.options.childOptions),\r\n displayOptions: {\r\n extraClasses: `w-100 ${styles.dropdownMenu}`\r\n },\r\n analyticsHelper: this.options.analyticsHelper\r\n }));\r\n }\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dropdownMenu\":\"cv--dropdownMenu--2RaQu\",\"selectButton\":\"cv--selectButton--2xGqi\",\"disabled\":\"cv--disabled--15kWr\"};"],"sourceRoot":""}
|