@clickview/library-editor 1.1.26 → 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/.eslintrc.json +3 -0
- 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 +5 -5
- package/dist/css/23.chunk.css.map +1 -1
- package/dist/css/25.chunk.css +2 -2
- 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 +4 -4
- package/dist/css/library-editor-app.css.map +1 -1
- package/dist/en.json +1 -1
- package/dist/libs/analytics/src/clients/CollectionApiClient.d.ts +1 -3
- package/dist/libs/analytics/src/enrichers/BaseAnalyticsEnricher.d.ts +1 -1
- package/dist/libs/analytics/src/enrichers/UserDataEnricher.d.ts +1 -1
- package/dist/libs/analytics/src/interfaces/AnalyticsTypes.d.ts +9 -3
- package/dist/libs/analytics/src/utils/TypeHelper.d.ts +1 -1
- package/dist/libs/analytics/src/utils/VideoDataFormatHelper.d.ts +5 -5
- package/dist/libs/common/src/backbone/constants/CommonServices.d.ts +0 -1
- package/dist/libs/common/src/backbone/core/BaseAppRouter.d.ts +6 -2
- package/dist/libs/common/src/backbone/core/BaseApplication.d.ts +1 -1
- package/dist/libs/common/src/backbone/core/BaseBehavior.d.ts +1 -1
- package/dist/libs/common/src/backbone/core/BaseCollection.d.ts +1 -1
- package/dist/libs/common/src/backbone/core/BaseCollectionView.d.ts +1 -1
- package/dist/libs/common/src/backbone/core/BaseLayoutView.d.ts +1 -1
- package/dist/libs/common/src/backbone/core/BaseModel.d.ts +1 -1
- package/dist/libs/common/src/backbone/core/BaseNestedModel.d.ts +1 -1
- package/dist/libs/common/src/backbone/core/BaseService.d.ts +1 -1
- package/dist/libs/common/src/backbone/core/BaseView.d.ts +2 -2
- package/dist/libs/common/src/backbone/core/LayoutService.d.ts +1 -1
- package/dist/libs/common/src/backbone/core/ListenToRadio.d.ts +1 -1
- package/dist/libs/common/src/backbone/core/Shell.d.ts +1 -1
- package/dist/libs/common/src/backbone/core/index.d.ts +1 -1
- package/dist/libs/common/src/backbone/interfaces/BaseCollectionIdentifier.d.ts +2 -1
- package/dist/libs/common/src/backbone/interfaces/DataProvider.d.ts +1 -1
- package/dist/libs/common/src/backbone/interfaces/StickitBinding.d.ts +1 -1
- package/dist/libs/common/src/backbone/services/LanguageService.d.ts +1 -1
- package/dist/libs/common/src/backbone/services/data-providers/AjaxDataProvider.d.ts +1 -1
- package/dist/libs/common/src/backbone/services/data-providers/SignalRDataProvider.d.ts +2 -2
- package/dist/libs/common/src/backbone/utils/FunctionHelper.d.ts +3 -3
- package/dist/libs/common/src/react/utils/FetchHelper.d.ts +1 -1
- package/dist/libs/shared/src/apps/notifications/views/popover/NotificationsPopoverView.d.ts +2 -2
- 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/utils/InstantSearchHelper.d.ts +5 -5
- package/dist/libs/shared/src/apps/search/utils/TypeaheadHelper.d.ts +24 -24
- package/dist/libs/shared/src/apps/search/views/search-bar/SearchBarView.d.ts +8 -5
- package/dist/libs/shared/src/apps/upload/errors/file-type/FileTypeError.d.ts +1 -1
- package/dist/libs/shared/src/constants/BootstrapKeys.d.ts +2 -0
- package/dist/libs/shared/src/enums/MediaQueries.d.ts +3 -1
- package/dist/libs/shared/src/enums/ObjectStatus.d.ts +5 -0
- package/dist/libs/shared/src/enums/PlayerMediaType.d.ts +5 -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/enums/UserGroup.d.ts +5 -0
- package/dist/libs/shared/src/enums/WidgetContents.d.ts +2 -1
- package/dist/libs/shared/src/images/svg/ImportedSvgs.d.ts +3 -1
- package/dist/libs/shared/src/images/svg/actions/index.d.ts +3 -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 +4 -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/Config.d.ts +2 -0
- package/dist/libs/shared/src/interfaces/models/Curriculum.d.ts +4 -0
- package/dist/libs/shared/src/interfaces/models/Glance.d.ts +2 -0
- package/dist/libs/shared/src/interfaces/models/InteractiveMetadata.d.ts +14 -0
- package/dist/libs/shared/src/interfaces/models/Link.d.ts +1 -0
- package/dist/libs/shared/src/interfaces/models/PlayerViewKey.d.ts +3 -0
- package/dist/libs/shared/src/interfaces/models/Resource.d.ts +11 -3
- package/dist/libs/shared/src/interfaces/models/Thumbnail.d.ts +3 -0
- package/dist/libs/shared/src/interfaces/models/User.d.ts +10 -1
- 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 +9 -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 +3 -0
- package/dist/libs/shared/src/interfaces/requests/UpdateVideoRequest.d.ts +5 -1
- package/dist/libs/shared/src/interfaces/requests/index.d.ts +5 -0
- package/dist/libs/shared/src/interfaces/services/BaseUserDataService.d.ts +2 -0
- package/dist/libs/shared/src/interfaces/services/index.d.ts +1 -0
- package/dist/libs/shared/src/legacy/components/thumbnail/ThumbnailComponent.d.ts +1 -1
- package/dist/libs/shared/src/utils/ImageHelper.d.ts +5 -4
- package/dist/libs/shared/src/utils/MaskHelper.d.ts +1 -1
- package/dist/libs/shared/src/utils/SvgHelper.d.ts +0 -1
- package/dist/libs/shared/src/utils/VideoDetailsHelper.d.ts +0 -9
- package/dist/projects/library-editor/src/app.d.ts +20 -5
- package/dist/projects/library-editor/src/apps/content-updates/utils/ContentUpdatesHelper.d.ts +1 -1
- package/dist/projects/library-editor/src/apps/library-editor/LibraryEditorApplication.d.ts +3 -3
- package/dist/projects/library-editor/src/apps/library-editor/components/file-uploads/FileUploadsComponentCollection.d.ts +1 -1
- package/dist/projects/library-editor/src/apps/library-editor/components/language-select/LanguageSelectTypeaheadHelper.d.ts +1 -2
- package/dist/projects/library-editor/src/apps/library-editor/components/video-resources/VideoResourcesComponent.d.ts +3 -1
- package/dist/projects/library-editor/src/apps/library-editor/components/video-subtitles/VideoSubtitlesComponent.d.ts +4 -1
- package/dist/projects/library-editor/src/apps/library-editor/enums/index.d.ts +0 -1
- package/dist/projects/library-editor/src/apps/library-editor/errors/index.d.ts +0 -2
- package/dist/projects/library-editor/src/apps/library-editor/services/VideoDataService.d.ts +2 -2
- package/dist/projects/library-editor/src/apps/library-editor/utils/EditVideoHelpers.d.ts +2 -2
- package/dist/projects/library-editor/src/apps/library-editor/utils/VideoDetailsHelper.d.ts +1 -1
- package/dist/projects/library-editor/src/apps/library-editor/views/edit-resources/EditResourcesView.d.ts +3 -3
- package/dist/projects/library-editor/src/apps/migration-wizard/MigrationWizardApplication.d.ts +1 -1
- package/dist/projects/library-editor/src/apps/migration-wizard/components/status-bar/StatusBarComponent.d.ts +2 -2
- 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 +2 -2
- package/dist/projects/library-editor/src/shared/behaviors/index.d.ts +0 -3
- package/dist/projects/library-editor/src/shared/behaviors/popup/PopupBehavior.d.ts +3 -3
- package/dist/projects/library-editor/src/shared/components/date-picker/DatePickerComponent.d.ts +2 -2
- package/dist/projects/library-editor/src/shared/components/dropdown/DropdownButtonComponent.d.ts +4 -4
- package/dist/projects/library-editor/src/shared/components/edit-video/edit-additional-info/EditAdditionalInfoComponent.d.ts +1 -1
- package/dist/projects/library-editor/src/shared/components/edit-video/select-rating/SelectRatingItemComponent.d.ts +1 -1
- package/dist/projects/library-editor/src/shared/components/image-cropper/ImageCropperComponent.d.ts +1 -1
- package/dist/projects/library-editor/src/shared/components/select/SelectComponent.d.ts +1 -1
- package/dist/projects/library-editor/src/shared/components/spinner-button/SpinnerButtonComponent.d.ts +1 -1
- package/dist/projects/library-editor/src/shared/components/tabs/TabsComponent.d.ts +1 -1
- package/dist/projects/library-editor/src/shared/components/typeahead-input/SearchTypeaheadComponent.d.ts +4 -4
- package/dist/projects/library-editor/src/shared/components/video-item/utils/VideoItemComponents.d.ts +1 -1
- package/dist/projects/library-editor/src/shared/enums/index.d.ts +0 -2
- package/dist/projects/library-editor/src/shared/errors/index.d.ts +0 -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/projects/library-editor/src/shared/layouts/manage-layout/ManageLayoutView.d.ts +2 -0
- package/dist/projects/library-editor/src/shared/utils/PermissionsHelper.d.ts +1 -1
- package/dist/projects/library-editor/src/shared/utils/RatingHelper.d.ts +1 -2
- package/dist/projects/library-editor/src/shared/utils/VideoHelper.d.ts +1 -1
- package/dist/projects/library-editor/src/shared/utils/search/RawSearchHelper.d.ts +1 -1
- package/dist/projects/library-editor/src/shared/utils/search/raw-search-components/add-new/AddNewSuggestion.d.ts +1 -1
- package/dist/projects/library-editor/src/shared/views/download-video/DownloadVideoView.d.ts +0 -1
- package/dist/projects/library-editor/src/startup/RegisterAnalytics.d.ts +1 -1
- package/dist/projects/library-editor/src/startup/RegisterApplicationVariables.d.ts +1 -1
- package/dist/projects/library-editor/src/startup/RegisterApplications.d.ts +1 -1
- package/dist/projects/library-editor/src/startup/RegisterCaches.d.ts +1 -1
- package/dist/projects/library-editor/src/startup/RegisterDataProviders.d.ts +1 -1
- package/dist/projects/library-editor/src/startup/RegisterDataServices.d.ts +1 -1
- package/dist/projects/library-editor/src/startup/RegisterErrorHandlers.d.ts +1 -1
- package/dist/projects/library-editor/src/startup/RegisterHandlebarsHelpers.d.ts +1 -1
- package/dist/projects/library-editor/src/startup/RegisterLayouts.d.ts +1 -1
- package/dist/projects/library-editor/src/startup/RegisterServices.d.ts +1 -1
- package/dist/projects/library-editor/src/startup/RegisterViewDataExtensions.d.ts +1 -1
- package/dist/projects/library-editor/typings/libs/LazyLoad.d.ts +1 -1
- package/dist/scripts/{0-1c2bb7e28a.chunk.js → 0-e25d47c666.chunk.js} +1 -1
- package/dist/scripts/0.chunk.js +1 -1
- package/dist/scripts/0.chunk.js.map +1 -1
- package/dist/scripts/1-620c685eee.chunk.js +1 -0
- package/dist/scripts/1.chunk.js.map +1 -1
- package/dist/scripts/{10-31317a2d02.chunk.js → 10-3baf058564.chunk.js} +1 -1
- package/dist/scripts/10.chunk.js.map +1 -1
- package/dist/scripts/{11-039959db6c.chunk.js → 11-9f5f0c25dc.chunk.js} +1 -1
- package/dist/scripts/11.chunk.js.map +1 -1
- package/dist/scripts/{12-07999b80e0.chunk.js → 12-b460ad405e.chunk.js} +1 -1
- package/dist/scripts/12.chunk.js.map +1 -1
- package/dist/scripts/13-89b3a0aebb.chunk.js +1 -0
- package/dist/scripts/13.chunk.js.map +1 -1
- package/dist/scripts/14-670309ef33.chunk.js +1 -0
- package/dist/scripts/14.chunk.js.map +1 -1
- package/dist/scripts/15-39010184ed.chunk.js +1 -0
- package/dist/scripts/15.chunk.js.map +1 -1
- package/dist/scripts/{16-427a8933c8.chunk.js → 16-0971cabfc8.chunk.js} +1 -1
- package/dist/scripts/16.chunk.js.map +1 -1
- package/dist/scripts/{17-140fec014b.chunk.js → 17-f364868870.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.map +1 -1
- package/dist/scripts/{2-0c5fba8b60.chunk.js → 2-cd7f1d10b5.chunk.js} +1 -1
- package/dist/scripts/2.chunk.js.map +1 -1
- package/dist/scripts/{20-df9f6f7661.chunk.js → 20-42dc06da39.chunk.js} +1 -1
- package/dist/scripts/20.chunk.js.map +1 -1
- package/dist/scripts/{21-0b84d33cef.chunk.js → 21-05615559be.chunk.js} +1 -1
- package/dist/scripts/21.chunk.js.map +1 -1
- package/dist/scripts/{22-3b2207c8f6.chunk.js → 22-70b4c18dd2.chunk.js} +1 -1
- package/dist/scripts/22.chunk.js.map +1 -1
- package/dist/scripts/23-3166dfeef5.chunk.js +1 -0
- package/dist/scripts/23.chunk.js +1 -1
- package/dist/scripts/23.chunk.js.map +1 -1
- package/dist/scripts/{24-7aa9b43511.chunk.js → 24-6fbd14025b.chunk.js} +1 -1
- package/dist/scripts/24.chunk.js.map +1 -1
- package/dist/scripts/25-3d067b8b9a.chunk.js +1 -0
- package/dist/scripts/25.chunk.js.map +1 -1
- package/dist/scripts/{26-d166e3c313.chunk.js → 26-468305820a.chunk.js} +1 -1
- package/dist/scripts/26.chunk.js.map +1 -1
- package/dist/scripts/27-d03a99658e.chunk.js +1 -0
- package/dist/scripts/27.chunk.js +1 -1
- package/dist/scripts/27.chunk.js.map +1 -1
- package/dist/scripts/{28-738b88c816.chunk.js → 28-f3f43a3001.chunk.js} +1 -1
- package/dist/scripts/28.chunk.js +2 -2
- package/dist/scripts/28.chunk.js.map +1 -1
- package/dist/scripts/29-268278d2ac.chunk.js +1 -0
- package/dist/scripts/29.chunk.js.map +1 -1
- package/dist/scripts/{3-42e8af9f39.chunk.js → 3-4694b66aa5.chunk.js} +1 -1
- package/dist/scripts/3.chunk.js +4 -4
- package/dist/scripts/3.chunk.js.map +1 -1
- package/dist/scripts/{30-109f8ddd5c.chunk.js → 30-694b0a0d4b.chunk.js} +1 -1
- package/dist/scripts/30.chunk.js +2 -2
- package/dist/scripts/30.chunk.js.map +1 -1
- package/dist/scripts/{31-639090fee3.chunk.js → 31-4c542c18dc.chunk.js} +1 -1
- package/dist/scripts/31.chunk.js.map +1 -1
- package/dist/scripts/32-a1543ffe27.chunk.js +1 -0
- package/dist/scripts/32.chunk.js +4 -0
- package/dist/scripts/32.chunk.js.map +1 -1
- package/dist/scripts/33-9685703df6.chunk.js +1 -0
- package/dist/scripts/33.chunk.js +46 -33
- package/dist/scripts/33.chunk.js.map +1 -1
- package/dist/scripts/34-eb9f6709b3.chunk.js +1 -0
- package/dist/scripts/34.chunk.js.map +1 -1
- package/dist/scripts/35-1ff49137e7.chunk.js +1 -0
- package/dist/scripts/35.chunk.js.map +1 -1
- package/dist/scripts/36-9e89154ca2.chunk.js +1 -0
- package/dist/scripts/36.chunk.js.map +1 -1
- package/dist/scripts/{37-3f3a603b60.chunk.js → 37-80589d542e.chunk.js} +1 -1
- package/dist/scripts/37.chunk.js.map +1 -1
- package/dist/scripts/38-7e88534f67.chunk.js +1 -0
- package/dist/scripts/38.chunk.js.map +1 -1
- package/dist/scripts/{39-71c4bb46b2.chunk.js → 39-99824f3b64.chunk.js} +1 -1
- package/dist/scripts/39.chunk.js.map +1 -1
- package/dist/scripts/4-ad1e4b43da.chunk.js +1 -0
- package/dist/scripts/4.chunk.js.map +1 -1
- package/dist/scripts/{40-f1d72b1049.chunk.js → 40-dbfd665c74.chunk.js} +1 -1
- package/dist/scripts/40.chunk.js.map +1 -1
- package/dist/scripts/41-25fbac3d17.chunk.js +1 -0
- package/dist/scripts/41.chunk.js.map +1 -1
- package/dist/scripts/{42-3480033857.chunk.js → 42-9f757567db.chunk.js} +1 -1
- package/dist/scripts/42.chunk.js +13 -13
- package/dist/scripts/42.chunk.js.map +1 -1
- package/dist/scripts/{43-2fe5b1c9cc.chunk.js → 43-5ef29feb2c.chunk.js} +1 -1
- package/dist/scripts/43.chunk.js.map +1 -1
- package/dist/scripts/44-223f602431.chunk.js +1 -0
- package/dist/scripts/44.chunk.js.map +1 -1
- package/dist/scripts/45-344492a36f.chunk.js +1 -0
- package/dist/scripts/45.chunk.js.map +1 -1
- package/dist/scripts/46-9ca7afd6a4.chunk.js +1 -0
- package/dist/scripts/46.chunk.js +2 -2
- package/dist/scripts/46.chunk.js.map +1 -1
- package/dist/scripts/{47-1e3d829757.chunk.js → 47-ac0c9c5ce1.chunk.js} +1 -1
- package/dist/scripts/47.chunk.js.map +1 -1
- package/dist/scripts/{48-877e9e02b8.chunk.js → 48-6bf590b9a0.chunk.js} +1 -1
- package/dist/scripts/48.chunk.js.map +1 -1
- package/dist/scripts/{49-0f9a6a1782.chunk.js → 49-8e3e782ffb.chunk.js} +1 -1
- package/dist/scripts/49.chunk.js.map +1 -1
- package/dist/scripts/5-b236603e85.chunk.js +1 -0
- package/dist/scripts/5.chunk.js +1 -1
- package/dist/scripts/5.chunk.js.map +1 -1
- package/dist/scripts/{50-0741587a02.chunk.js → 50-30ba08212e.chunk.js} +1 -1
- package/dist/scripts/50.chunk.js.map +1 -1
- package/dist/scripts/{51-a5f1309ada.chunk.js → 51-828972defb.chunk.js} +1 -1
- package/dist/scripts/51.chunk.js.map +1 -1
- package/dist/scripts/{52-bc48f1f9e8.chunk.js → 52-b2acf3e742.chunk.js} +1 -1
- package/dist/scripts/52.chunk.js.map +1 -1
- package/dist/scripts/{53-36007500cf.chunk.js → 53-5d6ea94871.chunk.js} +1 -1
- package/dist/scripts/53.chunk.js.map +1 -1
- package/dist/scripts/{54-7cdbdcebf9.chunk.js → 54-2d8bd6fde0.chunk.js} +1 -1
- package/dist/scripts/54.chunk.js.map +1 -1
- package/dist/scripts/{55-078bb9b0ea.chunk.js → 55-4a8d360746.chunk.js} +1 -1
- package/dist/scripts/55.chunk.js.map +1 -1
- package/dist/scripts/{56-36d54fa08f.chunk.js → 56-ad12ebab5f.chunk.js} +1 -1
- package/dist/scripts/56.chunk.js.map +1 -1
- package/dist/scripts/{57-0e126120b9.chunk.js → 57-53b89c2ef0.chunk.js} +1 -1
- package/dist/scripts/57.chunk.js.map +1 -1
- package/dist/scripts/{58-17706ccb46.chunk.js → 58-b246abe78c.chunk.js} +1 -1
- package/dist/scripts/58.chunk.js.map +1 -1
- package/dist/scripts/{59-0a7bdc86b0.chunk.js → 59-19290686e0.chunk.js} +1 -1
- package/dist/scripts/59.chunk.js.map +1 -1
- package/dist/scripts/{6-51a379e066.chunk.js → 6-6fb543aa78.chunk.js} +1 -1
- package/dist/scripts/6.chunk.js.map +1 -1
- package/dist/scripts/{60-0d8896555f.chunk.js → 60-0c075e7b5c.chunk.js} +1 -1
- package/dist/scripts/60.chunk.js.map +1 -1
- package/dist/scripts/{61-57fa6b5248.chunk.js → 61-2725bbfab2.chunk.js} +1 -1
- package/dist/scripts/61.chunk.js +4 -4
- package/dist/scripts/61.chunk.js.map +1 -1
- package/dist/scripts/{62-67458b7fb4.chunk.js → 62-472d10a18e.chunk.js} +1 -1
- package/dist/scripts/62.chunk.js.map +1 -1
- package/dist/scripts/{63-420b10f5f2.chunk.js → 63-7d00e50441.chunk.js} +1 -1
- package/dist/scripts/63.chunk.js.map +1 -1
- package/dist/scripts/{64-e6598113a7.chunk.js → 64-1b42f78644.chunk.js} +1 -1
- package/dist/scripts/64.chunk.js.map +1 -1
- package/dist/scripts/{65-93567fe088.chunk.js → 65-14af88c745.chunk.js} +1 -1
- package/dist/scripts/65.chunk.js.map +1 -1
- package/dist/scripts/{66-c84a3a3c3f.chunk.js → 66-bc274df13a.chunk.js} +1 -1
- package/dist/scripts/66.chunk.js.map +1 -1
- package/dist/scripts/67-d1edef09d6.chunk.js +1 -0
- package/dist/scripts/67.chunk.js.map +1 -1
- package/dist/scripts/{68-38a6d7fb50.chunk.js → 68-52468201b9.chunk.js} +1 -1
- package/dist/scripts/68.chunk.js.map +1 -1
- package/dist/scripts/{69-3d2063cd0f.chunk.js → 69-b681e9a99c.chunk.js} +1 -1
- package/dist/scripts/69.chunk.js.map +1 -1
- package/dist/scripts/{7-d41d3bf60c.chunk.js → 7-2807a666bc.chunk.js} +1 -1
- package/dist/scripts/7.chunk.js.map +1 -1
- package/dist/scripts/{70-27e9e5792a.chunk.js → 70-d4018838a9.chunk.js} +1 -1
- package/dist/scripts/70.chunk.js.map +1 -1
- package/dist/scripts/{71-c5923e2d2d.chunk.js → 71-29cce07c7f.chunk.js} +1 -1
- package/dist/scripts/71.chunk.js.map +1 -1
- package/dist/scripts/{72-0a6c88f9fe.chunk.js → 72-6f83214b8d.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-7278f3247c.chunk.js → 8-8f44e8bfc4.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-b8f9ea66c4.chunk.js +1 -0
- 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-f28b86bf5b.min.js +8 -0
- package/dist/scripts/bundle.js +593 -487
- package/dist/scripts/bundle.js.map +1 -1
- package/dist/scripts/bundles.json +2 -2
- package/dist/scripts/polyfills-1d2233ebcc.min.js +1 -0
- package/dist/scripts/polyfills.js +350 -350
- package/dist/scripts/polyfills.js.map +1 -1
- package/package.json +4 -3
- package/typings/libs/CVEvents.d.ts +1 -1
- package/typings/libs/LazyLoad.ts +2 -1
- package/typings/libs/Trackers.d.ts +1 -1
- package/dist/libs/common/src/backbone/services/ScrollService.d.ts +0 -19
- package/dist/projects/library-editor/src/apps/library-editor/components/file-select/FileSelectComponent.d.ts +0 -30
- package/dist/projects/library-editor/src/apps/library-editor/components/file-uploads/FileUploadComponent.d.ts +0 -15
- package/dist/projects/library-editor/src/apps/library-editor/components/video-resources/ResourceItemComponent.d.ts +0 -22
- package/dist/projects/library-editor/src/apps/library-editor/components/video-subtitles/SubtitleItemComponent.d.ts +0 -18
- package/dist/projects/library-editor/src/apps/library-editor/enums/ObjectOwnerType.d.ts +0 -4
- package/dist/projects/library-editor/src/apps/library-editor/errors/too-many-resources/TooManyResourcesError.d.ts +0 -8
- package/dist/projects/library-editor/src/apps/library-editor/errors/too-many-subtitles/TooManySubtitlesError.d.ts +0 -8
- package/dist/projects/library-editor/src/shared/behaviors/file-drop/FileDropBehavior.d.ts +0 -19
- package/dist/projects/library-editor/src/shared/behaviors/file-drop/FileDropHelper.d.ts +0 -4
- package/dist/projects/library-editor/src/shared/behaviors/file-drop/FileDropMaskBehavior.d.ts +0 -19
- package/dist/projects/library-editor/src/shared/behaviors/file-select/FileSelectBehavior.d.ts +0 -16
- package/dist/projects/library-editor/src/shared/enums/MasterObjectTypes.d.ts +0 -8
- package/dist/projects/library-editor/src/shared/enums/UploadInteractionType.d.ts +0 -4
- package/dist/projects/library-editor/src/shared/errors/too-many-files/TooManyFilesError.d.ts +0 -7
- package/dist/scripts/0-1dbc79e4e7.chunk.js +0 -1
- package/dist/scripts/0-8b75adf540.chunk.js +0 -1
- package/dist/scripts/0-93276429bf.chunk.js +0 -1
- package/dist/scripts/1-22a3bd404f.chunk.js +0 -1
- package/dist/scripts/1-480e5932a6.chunk.js +0 -1
- package/dist/scripts/1-6051b28de6.chunk.js +0 -1
- package/dist/scripts/1-b85c11fc30.chunk.js +0 -1
- package/dist/scripts/10-3ff370d548.chunk.js +0 -1
- package/dist/scripts/10-923c4b075a.chunk.js +0 -1
- package/dist/scripts/10-e2fea45a6c.chunk.js +0 -1
- package/dist/scripts/11-3dec7d2c7e.chunk.js +0 -11
- package/dist/scripts/11-74bc3f2d9f.chunk.js +0 -11
- package/dist/scripts/12-24bd360be0.chunk.js +0 -1
- package/dist/scripts/12-6ecdd79b85.chunk.js +0 -1
- package/dist/scripts/12-e522e64a94.chunk.js +0 -1
- package/dist/scripts/13-081c0e5887.chunk.js +0 -1
- package/dist/scripts/13-282f8add17.chunk.js +0 -1
- package/dist/scripts/13-54fe4fe53b.chunk.js +0 -1
- package/dist/scripts/13-958a8fd026.chunk.js +0 -1
- package/dist/scripts/14-16f84b2721.chunk.js +0 -1
- package/dist/scripts/14-45cd4dc6ef.chunk.js +0 -1
- package/dist/scripts/14-5e443cb402.chunk.js +0 -1
- package/dist/scripts/14-68c85d6674.chunk.js +0 -1
- package/dist/scripts/15-12fa4c3471.chunk.js +0 -1
- package/dist/scripts/15-1f779dd0d3.chunk.js +0 -1
- package/dist/scripts/15-5544e6bde6.chunk.js +0 -1
- package/dist/scripts/15-8c96c3288e.chunk.js +0 -1
- package/dist/scripts/16-670c43d26f.chunk.js +0 -1
- package/dist/scripts/16-742a776f88.chunk.js +0 -1
- package/dist/scripts/16-7bcffb06e7.chunk.js +0 -1
- package/dist/scripts/17-7093f50dff.chunk.js +0 -1
- package/dist/scripts/17-b5e44e8b17.chunk.js +0 -1
- package/dist/scripts/17-f6b0159da3.chunk.js +0 -1
- package/dist/scripts/2-5fd33f5359.chunk.js +0 -1
- package/dist/scripts/2-7cc9176e8a.chunk.js +0 -1
- package/dist/scripts/20-4d88ede0e0.chunk.js +0 -1
- package/dist/scripts/20-732a7a549d.chunk.js +0 -1
- package/dist/scripts/20-a84733c89f.chunk.js +0 -1
- package/dist/scripts/21-9b28a13702.chunk.js +0 -1
- package/dist/scripts/21-c9983ca8ad.chunk.js +0 -1
- package/dist/scripts/21-ee85b6d208.chunk.js +0 -1
- package/dist/scripts/22-082c94a39c.chunk.js +0 -1
- package/dist/scripts/22-151cf38018.chunk.js +0 -1
- package/dist/scripts/22-6e6ed9f607.chunk.js +0 -1
- package/dist/scripts/23-1af21bf234.chunk.js +0 -1
- package/dist/scripts/23-2b00ff99bf.chunk.js +0 -1
- package/dist/scripts/23-94f9fe4222.chunk.js +0 -1
- package/dist/scripts/23-ab8f73ee87.chunk.js +0 -1
- package/dist/scripts/24-74ab289589.chunk.js +0 -1
- package/dist/scripts/24-c94049500e.chunk.js +0 -1
- package/dist/scripts/24-d1ffdd4755.chunk.js +0 -1
- package/dist/scripts/25-34c0406f50.chunk.js +0 -1
- package/dist/scripts/25-5a38ce3533.chunk.js +0 -1
- package/dist/scripts/25-76d9011eea.chunk.js +0 -1
- package/dist/scripts/25-866cfc0ef5.chunk.js +0 -1
- package/dist/scripts/26-d19e3f755c.chunk.js +0 -1
- package/dist/scripts/26-e53ba8e00f.chunk.js +0 -1
- package/dist/scripts/26-ea028a6276.chunk.js +0 -1
- package/dist/scripts/27-2109d41afa.chunk.js +0 -1
- package/dist/scripts/27-3aa629dd67.chunk.js +0 -1
- package/dist/scripts/27-c1241fcd84.chunk.js +0 -1
- package/dist/scripts/27-ee88c84482.chunk.js +0 -1
- package/dist/scripts/28-5c540e74cc.chunk.js +0 -1
- package/dist/scripts/28-76b9766891.chunk.js +0 -1
- package/dist/scripts/28-e490147f6b.chunk.js +0 -1
- package/dist/scripts/29-2da59b1589.chunk.js +0 -1
- package/dist/scripts/29-3faa153e38.chunk.js +0 -1
- package/dist/scripts/29-69389908f8.chunk.js +0 -1
- package/dist/scripts/29-bb7e39304b.chunk.js +0 -1
- package/dist/scripts/3-6e67dd4b74.chunk.js +0 -1
- package/dist/scripts/3-81b501ac1e.chunk.js +0 -1
- package/dist/scripts/3-c69e4454ce.chunk.js +0 -1
- package/dist/scripts/30-9d32d88d76.chunk.js +0 -1
- package/dist/scripts/30-a1df3e37da.chunk.js +0 -1
- package/dist/scripts/30-fa390c35f6.chunk.js +0 -1
- package/dist/scripts/31-ce31250e42.chunk.js +0 -1
- package/dist/scripts/31-f15802825c.chunk.js +0 -1
- package/dist/scripts/31-fc63c4629d.chunk.js +0 -1
- package/dist/scripts/32-1ad8193581.chunk.js +0 -1
- package/dist/scripts/32-3de9c7454b.chunk.js +0 -1
- package/dist/scripts/32-4173874dbe.chunk.js +0 -1
- package/dist/scripts/32-9bca57f408.chunk.js +0 -1
- package/dist/scripts/33-20ac0ab4a1.chunk.js +0 -1
- package/dist/scripts/33-350334db4c.chunk.js +0 -1
- package/dist/scripts/33-675467f07d.chunk.js +0 -1
- package/dist/scripts/33-7efae85b8b.chunk.js +0 -1
- package/dist/scripts/34-0a7f3b55fe.chunk.js +0 -1
- package/dist/scripts/34-3adf309726.chunk.js +0 -1
- package/dist/scripts/34-c4f0495750.chunk.js +0 -1
- package/dist/scripts/34-f6eea83a09.chunk.js +0 -1
- package/dist/scripts/35-17b30890a5.chunk.js +0 -1
- package/dist/scripts/35-4254e160f0.chunk.js +0 -1
- package/dist/scripts/35-7f90628b77.chunk.js +0 -1
- package/dist/scripts/35-9c3899dfbd.chunk.js +0 -1
- package/dist/scripts/36-1fde696d6a.chunk.js +0 -1
- package/dist/scripts/36-2ec95df618.chunk.js +0 -1
- package/dist/scripts/36-b5ad543fba.chunk.js +0 -1
- package/dist/scripts/36-cdbe95bd06.chunk.js +0 -1
- package/dist/scripts/37-6fa4b8fc60.chunk.js +0 -1
- package/dist/scripts/37-97b84a8be5.chunk.js +0 -1
- package/dist/scripts/37-c649a307d4.chunk.js +0 -1
- package/dist/scripts/38-0cf8029bec.chunk.js +0 -1
- package/dist/scripts/38-1c98f19489.chunk.js +0 -1
- package/dist/scripts/38-6fc346f964.chunk.js +0 -1
- package/dist/scripts/38-7ffe535b0d.chunk.js +0 -1
- package/dist/scripts/39-13d6669c3f.chunk.js +0 -1
- package/dist/scripts/39-748eb61732.chunk.js +0 -1
- package/dist/scripts/39-e5983a5d53.chunk.js +0 -1
- package/dist/scripts/4-435484d217.chunk.js +0 -1
- package/dist/scripts/4-5c50e71b83.chunk.js +0 -1
- package/dist/scripts/4-7274621693.chunk.js +0 -1
- package/dist/scripts/4-85ba8523ad.chunk.js +0 -1
- package/dist/scripts/40-2691dfbd5a.chunk.js +0 -1
- package/dist/scripts/40-2ecbd41570.chunk.js +0 -1
- package/dist/scripts/40-a691a401ff.chunk.js +0 -1
- package/dist/scripts/41-0368ba16dc.chunk.js +0 -1
- package/dist/scripts/41-1df587ee3a.chunk.js +0 -1
- package/dist/scripts/41-85fcb15184.chunk.js +0 -1
- package/dist/scripts/41-bb9aef24f7.chunk.js +0 -1
- package/dist/scripts/42-389acb6e55.chunk.js +0 -1
- package/dist/scripts/42-3ef41f40f5.chunk.js +0 -1
- package/dist/scripts/42-61a626d7f4.chunk.js +0 -1
- package/dist/scripts/43-49f13dab14.chunk.js +0 -1
- package/dist/scripts/43-72d1bc0ae2.chunk.js +0 -1
- package/dist/scripts/43-a5b882d502.chunk.js +0 -1
- package/dist/scripts/44-0703eb0ad8.chunk.js +0 -1
- package/dist/scripts/44-756fd6622b.chunk.js +0 -1
- package/dist/scripts/44-de22428999.chunk.js +0 -1
- package/dist/scripts/44-ee6a740a16.chunk.js +0 -1
- package/dist/scripts/45-610d098194.chunk.js +0 -1
- package/dist/scripts/45-806dd5b78c.chunk.js +0 -1
- package/dist/scripts/45-da34a8b6b2.chunk.js +0 -1
- package/dist/scripts/45-e4a92a40fd.chunk.js +0 -1
- package/dist/scripts/46-4aa05464fe.chunk.js +0 -1
- package/dist/scripts/46-cadf3f46ee.chunk.js +0 -1
- package/dist/scripts/46-cccef3e874.chunk.js +0 -1
- package/dist/scripts/46-ebf8eee4ac.chunk.js +0 -1
- package/dist/scripts/47-22a83e5974.chunk.js +0 -1
- package/dist/scripts/47-56d22af6ba.chunk.js +0 -1
- package/dist/scripts/47-c61fa52c53.chunk.js +0 -1
- package/dist/scripts/48-e05ab3ecac.chunk.js +0 -1
- package/dist/scripts/48-e577124476.chunk.js +0 -1
- package/dist/scripts/48-fc96b968fc.chunk.js +0 -1
- package/dist/scripts/49-13c5f8e87d.chunk.js +0 -1
- package/dist/scripts/49-4a6c119f58.chunk.js +0 -1
- package/dist/scripts/49-f9151c7e06.chunk.js +0 -1
- package/dist/scripts/5-06b97501c3.chunk.js +0 -1
- package/dist/scripts/5-1ba89c4774.chunk.js +0 -1
- package/dist/scripts/5-515b264fbc.chunk.js +0 -1
- package/dist/scripts/5-d6a7d71167.chunk.js +0 -1
- package/dist/scripts/50-0d5aed7730.chunk.js +0 -1
- package/dist/scripts/50-3924907655.chunk.js +0 -1
- package/dist/scripts/50-4de0b758d5.chunk.js +0 -1
- package/dist/scripts/51-cd37c8efa2.chunk.js +0 -1
- package/dist/scripts/51-dca2a9cc86.chunk.js +0 -1
- package/dist/scripts/51-ea33746146.chunk.js +0 -1
- package/dist/scripts/52-50230b48c8.chunk.js +0 -1
- package/dist/scripts/52-8b53a5c0b1.chunk.js +0 -1
- package/dist/scripts/52-a3c8ed29ca.chunk.js +0 -1
- package/dist/scripts/53-0e253f9f3e.chunk.js +0 -1
- package/dist/scripts/53-54b0df474f.chunk.js +0 -1
- package/dist/scripts/53-d8f0dea552.chunk.js +0 -1
- package/dist/scripts/54-d1bc70c7b5.chunk.js +0 -1
- package/dist/scripts/54-dd4d101665.chunk.js +0 -1
- package/dist/scripts/54-ead54d0b34.chunk.js +0 -1
- package/dist/scripts/55-3c60601030.chunk.js +0 -1
- package/dist/scripts/55-a5fa20b497.chunk.js +0 -1
- package/dist/scripts/55-e29d6a6ba9.chunk.js +0 -1
- package/dist/scripts/56-370078d597.chunk.js +0 -1
- package/dist/scripts/56-7a6c662f14.chunk.js +0 -1
- package/dist/scripts/56-df0a32000b.chunk.js +0 -1
- package/dist/scripts/57-6e622c6480.chunk.js +0 -1
- package/dist/scripts/57-a4f4d6fe41.chunk.js +0 -1
- package/dist/scripts/57-c1faec8b32.chunk.js +0 -1
- package/dist/scripts/58-5729cbaa5c.chunk.js +0 -1
- package/dist/scripts/58-a0fe201826.chunk.js +0 -1
- package/dist/scripts/58-e996405f2b.chunk.js +0 -1
- package/dist/scripts/59-333f38ee3b.chunk.js +0 -1
- package/dist/scripts/59-381a49ed7f.chunk.js +0 -1
- package/dist/scripts/59-4f2fcb6412.chunk.js +0 -1
- package/dist/scripts/6-1045293de4.chunk.js +0 -1
- package/dist/scripts/6-40c8ba5007.chunk.js +0 -1
- package/dist/scripts/6-b3d36065dc.chunk.js +0 -1
- package/dist/scripts/60-b17c6609cd.chunk.js +0 -1
- package/dist/scripts/60-b4a91c86fa.chunk.js +0 -1
- package/dist/scripts/60-c57f161f18.chunk.js +0 -1
- package/dist/scripts/61-5d6e59d408.chunk.js +0 -1
- package/dist/scripts/61-7d81d27c31.chunk.js +0 -1
- package/dist/scripts/61-a342a0d501.chunk.js +0 -1
- package/dist/scripts/62-758f5e505b.chunk.js +0 -1
- package/dist/scripts/62-b572d8b80d.chunk.js +0 -1
- package/dist/scripts/62-f5fd35fdc0.chunk.js +0 -1
- package/dist/scripts/63-568008965e.chunk.js +0 -1
- package/dist/scripts/63-6700b4d00a.chunk.js +0 -1
- package/dist/scripts/63-c88b9860e9.chunk.js +0 -1
- package/dist/scripts/64-9c88ee6161.chunk.js +0 -1
- package/dist/scripts/64-e177d4c971.chunk.js +0 -1
- package/dist/scripts/64-fa2facacbb.chunk.js +0 -1
- package/dist/scripts/65-a7e499ceee.chunk.js +0 -1
- package/dist/scripts/65-e4568d1f06.chunk.js +0 -1
- package/dist/scripts/65-f750573f69.chunk.js +0 -1
- package/dist/scripts/66-f00f29ccae.chunk.js +0 -1
- package/dist/scripts/66-f325ff3187.chunk.js +0 -1
- package/dist/scripts/66-f6d213b33c.chunk.js +0 -1
- package/dist/scripts/67-1ebaab7a2d.chunk.js +0 -1
- package/dist/scripts/67-3c9628d296.chunk.js +0 -1
- package/dist/scripts/67-97c694c3d5.chunk.js +0 -1
- package/dist/scripts/67-c5af18680c.chunk.js +0 -1
- package/dist/scripts/68-488cd1552f.chunk.js +0 -1
- package/dist/scripts/68-7b1d5e8e75.chunk.js +0 -1
- package/dist/scripts/68-eb8700aeb1.chunk.js +0 -1
- package/dist/scripts/69-870856c6fb.chunk.js +0 -1
- package/dist/scripts/69-b0ea71d7c5.chunk.js +0 -1
- package/dist/scripts/69-be2be90b7c.chunk.js +0 -1
- package/dist/scripts/7-3151397d74.chunk.js +0 -1
- package/dist/scripts/7-aac8c84ccb.chunk.js +0 -1
- package/dist/scripts/7-dfddb8ffa8.chunk.js +0 -1
- package/dist/scripts/70-39dc936989.chunk.js +0 -1
- package/dist/scripts/70-6ef72cd9b6.chunk.js +0 -1
- package/dist/scripts/70-e6ebb44667.chunk.js +0 -1
- package/dist/scripts/71-4e4a47d601.chunk.js +0 -1
- package/dist/scripts/71-8e3682a7d7.chunk.js +0 -1
- package/dist/scripts/71-a80858069c.chunk.js +0 -1
- package/dist/scripts/72-245f28bf97.chunk.js +0 -1
- package/dist/scripts/72-550438db4e.chunk.js +0 -1
- package/dist/scripts/72-65364adff1.chunk.js +0 -1
- package/dist/scripts/8-c4955c2009.chunk.js +0 -1
- package/dist/scripts/8-d46f48d03c.chunk.js +0 -1
- package/dist/scripts/8-e5d19252c8.chunk.js +0 -1
- package/dist/scripts/9-4589726554.chunk.js +0 -1
- package/dist/scripts/9-576592d419.chunk.js +0 -1
- package/dist/scripts/9-66021549bd.chunk.js +0 -1
- package/dist/scripts/9-df99ba6ce1.chunk.js +0 -1
- package/dist/scripts/bundle-1b984e2fd9.min.js +0 -8
- package/dist/scripts/bundle-203920eb14.min.js +0 -8
- package/dist/scripts/bundle-7d13ba933b.min.js +0 -8
- package/dist/scripts/bundle-d5b23160b1.min.js +0 -8
- package/dist/scripts/polyfills-5a81b67408.min.js +0 -1
- package/dist/scripts/polyfills-9b0be1bd72.min.js +0 -1
- package/dist/scripts/polyfills-cd3d0a9f6d.min.js +0 -1
- package/dist/scripts/polyfills-d891a77823.min.js +0 -1
- /package/dist/libs/shared/src/interfaces/models/{Interactive.d.ts → interactive.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/behaviors/draggable-video/DraggableVideoBehavior.ts","webpack://@clickview/library-editor/./src/apps/library-editor/behaviors/draggable-video/draggable-video.scss?83c4","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/behaviors/index.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/components/library-folders/LibraryFolderItem.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/components/library-folders/LibraryFolderListComponent.ts","webpack://@clickview/library-editor/./src/apps/library-editor/components/library-folders/library-folder-item.scss?6e25","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/views/library/Library.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/views/library/LibraryView.ts","webpack://@clickview/library-editor/./src/apps/library-editor/views/library/library.scss?025d"],"names":[],"mappings":"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","file":"scripts/47.chunk.js","sourcesContent":["import * as _ from 'underscore';\r\nimport { ObjectHash } from 'backbone';\r\nimport { Radio } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { DevError } from 'libs/common/backbone/errors/DevError';\r\nimport { SvgHelper, cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\n\r\nimport { Video } from 'shared/models/Video';\r\nimport { ServiceChannels } from 'shared/constants';\r\nimport { VideoCollectionIdentifier } from 'shared/interfaces/VideoCollectionIdentifier';\r\nimport { BulkCheckboxHelper } from 'shared/utils';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nimport { DraggableItemComponent, DragOptions, styles } from 'apps/library-editor/behaviors/shared';\r\nimport { CheckboxTypes } from 'apps/library-editor/constants';\r\n\r\nimport videoStyles from './draggable-video.scss';\r\n\r\ninterface DraggableVideoOptions {\r\n model: Video;\r\n collectionIdentifier: VideoCollectionIdentifier;\r\n selector?: string;\r\n}\r\n\r\nexport class DraggableVideoBehavior extends Core.Behavior {\r\n public options: DraggableVideoOptions;\r\n\r\n public initialize(): void {\r\n if (!this.options.model)\r\n Core.ErrorHelper.throw(new DevError('DraggableVideoBehavior must be passed a Video model'));\r\n\r\n this.listenTo(ServiceChannels.VIDEO_DRAG_DROP, `drag:style:${this.options.model.id}`, this.styleDragStart);\r\n\r\n this.listenTo(ServiceChannels.VIDEO_DRAG_DROP, 'drag:stop', this.styleDragStop);\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.behaviors';\r\n }\r\n\r\n private helper(): any {\r\n const models = this.getVideoModels();\r\n\r\n const draggableItemComponent = new DraggableItemComponent({\r\n text: models.length > 1\r\n ? LanguageService.getPhrase(this.lang, 'videos', { videoCount: models.length })\r\n : models[0].get('name'),\r\n svg: SvgHelper.getSvg(cvSvgLibrary.Play)\r\n });\r\n return draggableItemComponent.render().el;\r\n }\r\n\r\n private getSelector(): JQuery<HTMLElement> {\r\n return this.view.getUI(this.options.selector);\r\n }\r\n\r\n private styleDragStart(): void {\r\n const $el = this.getSelector();\r\n $el.addClass(videoStyles.draggingVideo);\r\n }\r\n\r\n private styleDragStop(): void {\r\n const $el = this.getSelector();\r\n $el.removeClass(videoStyles.draggingVideo);\r\n }\r\n\r\n private start(): void {\r\n const models = this.getVideoModels();\r\n\r\n /**\r\n * This relies on an instance of VideoDragDropService existing\r\n * This instanced should be retreived from the instance manager\r\n * by the application.\r\n */\r\n const channel = Radio.channel(ServiceChannels.VIDEO_DRAG_DROP);\r\n\r\n channel.trigger('drag:start', models, this.options.collectionIdentifier);\r\n _.each(models, m => channel.trigger(`drag:style:${m.id}`));\r\n }\r\n\r\n private stop(): void {\r\n Radio.channel(ServiceChannels.VIDEO_DRAG_DROP)\r\n .trigger('drag:stop');\r\n }\r\n\r\n private getVideoModels(): Core.Model[] {\r\n let models = BulkCheckboxHelper.GetSelectedModels({\r\n key: this.options.collectionIdentifier.toString(),\r\n type: CheckboxTypes.VIDEO_LIST,\r\n collection: this.view.model.collection\r\n });\r\n\r\n if (!_.any(models, m => m.id === this.view.model.id))\r\n models = [this.view.model];\r\n\r\n if (models.length)\r\n return models;\r\n\r\n return [this.view.model];\r\n }\r\n\r\n private getClassMappings(): ObjectHash {\r\n return {\r\n 'ui-draggable': styles.draggable,\r\n 'ui-draggable-disabled': styles.disabled,\r\n 'ui-draggable-handle': styles.handle,\r\n 'ui-draggable-dragging': styles.dragging\r\n };\r\n }\r\n\r\n public onRender(): void {\r\n const $el = this.getSelector();\r\n\r\n const options: JQueryUI.DraggableOptions = {\r\n helper: _.bind(this.helper, this),\r\n start: _.bind(this.start, this),\r\n stop: _.bind(this.stop, this)\r\n };\r\n (options as any).classes = this.getClassMappings();\r\n $el.draggable(_.extend({}, DragOptions, options));\r\n }\r\n\r\n public onBeforeDestroy(): void {\r\n /**\r\n * Because JQuery.UI's draggable is a piece of shit\r\n * it sometimes errors out on 'destroy' if the element has otherwise\r\n * been disposed of before this fire. So we need to first check if\r\n * there is still an instance of $.fn.draggable before we call destroy on it\r\n */\r\n const $el = this.getSelector();\r\n if ($el.draggable('instance'))\r\n $el.draggable('destroy');\r\n }\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"draggingVideo\":\"cv--draggingVideo--3cCHx\"};","export * from './draggable-folder/DraggableFolderBehavior';\r\nexport * from './draggable-video/DraggableVideoBehavior';\r\nexport * from './droppable/DroppableBehavior';","var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper, alias1=container.propertyIsEnumerable, alias2=container.lambda, alias3=container.escapeExpression;\n\n return \"<a\\r\\n class=\\\"d-block cursor-pointer no-decoration \"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.folder : stack1), depth0))\n + \"\\\"\\r\\n style=\\\"background-image: url('\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.imageUrl : stack1), depth0))\n + \"')\\\"\\r\\n>\\r\\n <h3 class=\\\"position-absolute text-white text-center m-0\\\">\"\n + alias3(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{\"name\":\"name\",\"hash\":{},\"data\":data}) : helper)))\n + \"</h3>\\r\\n</a>\\r\\n<div class=\\\"actions-region\\\"></div>\";\n},\"useData\":true});","import { Core } from 'libs/common/core';\r\nimport { ObjectHash } from 'backbone';\r\n\r\nimport LibraryFolderItemTemplate from './LibraryFolderItem.hbs';\r\nimport styles from './library-folder-item.scss';\r\nimport { ImageHelper } from 'shared/utils';\r\nimport { Folder } from 'shared/models/Folder';\r\nimport { Actions, ServiceChannels, AppChannels } from 'shared/constants';\r\nimport { ImageType } from 'shared/enums';\r\nimport { DroppableBehavior, DraggableFolderBehavior } from 'apps/library-editor/behaviors';\r\nimport { VideoCollectionActionsComponent } from 'apps/library-editor/components/video-collection-actions/VideoCollectionActionsComponent';\r\nimport { LocationContext } from 'libs/analytics/interfaces';\r\n\r\ninterface LibraryFolderItemComponentOptions extends Core.ComponentOptions<Folder> {\r\n imageCdnUrl: string;\r\n}\r\n\r\nclass LibraryFolderItemComponent extends Core.Component<Folder> {\r\n public options: LibraryFolderItemComponentOptions;\r\n\r\n constructor(options: LibraryFolderItemComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.listenTo(this.model, 'change:name', this.render);\r\n }\r\n\r\n public get name(): string {\r\n return 'LibraryFolderItemComponent';\r\n }\r\n\r\n public get template(): string {\r\n return LibraryFolderItemTemplate;\r\n }\r\n\r\n public get className(): string {\r\n return 'col-3 p-2';\r\n }\r\n\r\n public get appLinks(): Core.AppLinkHash {\r\n return {\r\n a: {\r\n application: AppChannels.LIBRARY_EDITOR,\r\n action: Actions.LibraryEditor.FOLDER,\r\n args: [this.model.get('id')]\r\n }\r\n };\r\n }\r\n\r\n public regions(): ObjectHash {\r\n return {\r\n actions: {\r\n el: '.actions-region',\r\n replaceElement: true\r\n }\r\n };\r\n }\r\n\r\n public get behaviors(): any[] {\r\n return [{\r\n behaviorClass: DroppableBehavior,\r\n channelNames: [\r\n ServiceChannels.VIDEO_DRAG_DROP,\r\n ServiceChannels.FOLDER_DRAG_DROP\r\n ],\r\n analyticsOptions: {\r\n location: LocationContext.LibraryTiles\r\n }\r\n }, {\r\n behaviorClass: DraggableFolderBehavior\r\n }];\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n const imageUrl = ImageHelper.createFolderThumbnailUrl(this.model.thumbnail, {\r\n fallbackBaseUrl: this.options.imageCdnUrl,\r\n fallbackCategoryName: this.model.get('name'),\r\n type: ImageType.Thumbnails\r\n });\r\n\r\n return {\r\n styles,\r\n imageUrl\r\n };\r\n }\r\n\r\n public onRender(): void {\r\n this.showChildView('actions', new VideoCollectionActionsComponent({\r\n model: this.model,\r\n extraClasses: `${styles.actions} rounded-circle`,\r\n buttonClass: 'text-light',\r\n analyticsOptions: {\r\n location: LocationContext.LibraryTiles\r\n },\r\n overrideClasses: true\r\n }));\r\n }\r\n}\r\n\r\ninterface LibraryFolderListComponentOptions extends Core.ComponentCollectionOptions {\r\n childOptions: LibraryFolderItemComponentOptions;\r\n}\r\n\r\nexport class LibraryFolderListComponent extends Core.ComponentCollection {\r\n public options: LibraryFolderListComponentOptions;\r\n\r\n constructor(options: LibraryFolderListComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'LibraryFolderListComponent';\r\n }\r\n\r\n public get className(): string {\r\n return 'row';\r\n }\r\n\r\n public get childView(): typeof LibraryFolderItemComponent {\r\n return LibraryFolderItemComponent;\r\n }\r\n\r\n public get childViewOptions(): ObjectHash {\r\n return this.options.childOptions;\r\n }\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"folder\":\"cv--folder--1MHyt\",\"actions\":\"cv--actions--3-hwy\"};","var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var helper, alias1=container.propertyIsEnumerable;\n\n return \"<h1 class=\\\"h3\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{\"name\":\"name\",\"hash\":{},\"data\":data}) : helper)))\n + \"</h1>\\r\\n<div class=\\\"folders-region\\\"></div>\\r\\n<div class=\\\"actions-region\\\"></div>\";\n},\"useData\":true});","import * as _ from 'underscore';\r\nimport { ObjectHash } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { InstanceManager } from 'libs/common/backbone/services/InstanceManager';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { LocationContext } from 'libs/analytics/interfaces';\r\nimport { SvgHelper, cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\nimport { EmptyStateBehavior } from 'libs/shared/legacy/behaviors/empty-state/EmptyStateBehavior';\r\nimport { SortType } from 'libs/shared/legacy/enums/SortType';\r\n\r\nimport { Library } from 'shared/models/Library';\r\nimport { Config } from 'shared/models/Config';\r\nimport { ConfigDataServiceHelper } from 'shared/services/ConfigDataService';\r\nimport { DataServices, EmptyStateComponents, DataChannels } from 'shared/constants';\r\nimport { LibraryCollection } from 'shared/collections/LibraryCollection';\r\nimport { FolderCollection } from 'shared/collections/FolderCollection';\r\nimport { EmptyState, PartialLoading } from 'shared/enums';\r\nimport { LibraryFoldersIdentifier } from 'shared/interfaces';\r\n\r\nimport { LibraryFolderListComponent } from 'apps/library-editor/components/library-folders/LibraryFolderListComponent';\r\nimport { LibraryActionsComponent } from 'apps/library-editor/components/library-actions/LibraryActionsComponent';\r\nimport { LibraryDataService } from 'apps/library-editor/services/LibraryDataService';\r\n\r\nimport LibraryTemplate from './Library.hbs';\r\nimport styles from './library.scss';\r\n\r\ninterface LibraryViewOptions extends Core.ViewOptions<Library> {\r\n libraryId: string;\r\n}\r\n\r\nexport class LibraryView extends Core.View<Library> {\r\n public options: LibraryViewOptions;\r\n private libraryDataService: LibraryDataService;\r\n private config: Config;\r\n\r\n private folders: FolderCollection;\r\n private scrollBound: boolean;\r\n private currentIdentifier: LibraryFoldersIdentifier;\r\n\r\n public constructor(options: LibraryViewOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.libraryDataService = InstanceManager.getInstance(DataServices.Library, this);\r\n\r\n this.listenTo(DataChannels.LIBRARY, 'clear:library:folder:cache', () => {\r\n this.folders = null;\r\n this.render();\r\n });\r\n }\r\n\r\n public get name(): string {\r\n return 'LibraryView';\r\n }\r\n\r\n public get title(): string {\r\n return !!this.model && this.model.get('name');\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.library';\r\n }\r\n\r\n public get template(): string {\r\n return LibraryTemplate;\r\n }\r\n\r\n public get className(): string {\r\n return `bg-white px-3 pt-3 pb-2 position-relative ${styles.library}`;\r\n }\r\n\r\n public get behaviors(): any[] {\r\n return [\r\n {\r\n behaviorClass: EmptyStateBehavior,\r\n region: 'folders',\r\n type: EmptyState.Library,\r\n shouldRender: () => this.model && !this.model.children.length,\r\n componentOptions: {\r\n libraryId: this.options.libraryId,\r\n moreSvg: SvgHelper.getSvg(cvSvgLibrary.More),\r\n heading: LanguageService.getPhrase(this.lang, 'emptyStateHeading'),\r\n description: LanguageService.getPhrase(this.lang, 'emptyStateInfo', {\r\n moreSvg: `<span class=\"d-inline-block svg-container align-top\">\r\n ${SvgHelper.getSvg(cvSvgLibrary.More)}</span>`\r\n })\r\n },\r\n emptyStateComponents: EmptyStateComponents\r\n }\r\n ];\r\n }\r\n\r\n public regions(): ObjectHash {\r\n return {\r\n folders: {\r\n el: '.folders-region',\r\n replaceElement: true,\r\n partialLoading: PartialLoading.LibraryFolders\r\n },\r\n actions: {\r\n el: '.actions-region',\r\n replaceElement: true\r\n }\r\n };\r\n }\r\n\r\n private renderFolders(): void {\r\n this.showChildView('folders', new LibraryFolderListComponent({\r\n collection: this.folders,\r\n childOptions: {\r\n imageCdnUrl: this.config.get('imageCdnUrl')\r\n }\r\n }));\r\n }\r\n\r\n private renderActions(): void {\r\n this.showChildView('actions', new LibraryActionsComponent({\r\n model: this.model,\r\n extraClasses: `${styles.actions} rounded-circle mr-2 mt-2`,\r\n analyticsOptions: {\r\n location: LocationContext.Banner\r\n }\r\n }));\r\n }\r\n\r\n public get requiredResources(): Core.RequiredResourceHash {\r\n return {\r\n config: ConfigDataServiceHelper.config\r\n };\r\n }\r\n\r\n private bindScrollListener(): void {\r\n if (this.scrollBound) return;\r\n this.scrollBound = true;\r\n\r\n const $window = $(window);\r\n const onScroll = _.debounce(() => {\r\n const isBottom = $window.scrollTop() + $window.height() > this.$el.offset().top + this.$el.height();\r\n\r\n if (!isBottom) return;\r\n\r\n if (!this.currentIdentifier) return;\r\n\r\n const cursors = this.libraryDataService.getLibraryFoldersCursors(this.currentIdentifier);\r\n\r\n if (!cursors || !cursors.next) return;\r\n\r\n this.libraryDataService.getLibraryFolders(this.getNewCollectionIdentifier(cursors.next), data => {\r\n this.folders.add(data.toJSON());\r\n });\r\n }, 333);\r\n\r\n $window.scroll(onScroll);\r\n\r\n /**\r\n * Call onScroll the first time we render, after the view is rendered so we have our height set\r\n */\r\n window.setTimeout(onScroll, 100);\r\n }\r\n\r\n private getNewCollectionIdentifier(cursor?: string): LibraryFoldersIdentifier {\r\n return this.currentIdentifier = new LibraryFoldersIdentifier(this.model.categoryTree.get('id'), SortType.AtoZ, cursor);\r\n }\r\n\r\n public onBeforeRender(): boolean {\r\n if (!this.model) {\r\n this.libraryDataService.getLibraries((data: LibraryCollection) => {\r\n this.model = data.get(this.options.libraryId);\r\n\r\n this.listenTo(this.model, 'change:name', this.render);\r\n\r\n this.render();\r\n });\r\n return;\r\n }\r\n\r\n if (!this.folders) {\r\n this.libraryDataService.getLibraryFolders(this.getNewCollectionIdentifier(), data => {\r\n this.folders = data;\r\n\r\n this.render();\r\n });\r\n }\r\n\r\n return !!this.model && !!this.folders;\r\n }\r\n\r\n public onRender(): void {\r\n this.renderFolders();\r\n this.renderActions();\r\n this.bindScrollListener();\r\n }\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"actions\":\"cv--actions--3vCmp\"};"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/library-editor/behaviors/draggable-video/DraggableVideoBehavior.ts","webpack://@clickview/library-editor/./src/apps/library-editor/behaviors/draggable-video/draggable-video.scss?4238","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/library-editor/behaviors/index.ts","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/library-editor/components/library-folders/LibraryFolderItem.hbs","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/library-editor/components/library-folders/LibraryFolderListComponent.ts","webpack://@clickview/library-editor/./src/apps/library-editor/components/library-folders/library-folder-item.scss?3f0a","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/library-editor/views/library/Library.hbs","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/library-editor/views/library/LibraryView.ts","webpack://@clickview/library-editor/./src/apps/library-editor/views/library/library.scss?470f"],"names":[],"mappings":"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","file":"scripts/47.chunk.js","sourcesContent":["import * as _ from 'underscore';\r\nimport { ObjectHash } from 'backbone';\r\nimport { Radio } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { DevError } from 'libs/common/backbone/errors/DevError';\r\nimport { SvgHelper, cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\n\r\nimport { Video } from 'shared/models/Video';\r\nimport { ServiceChannels } from 'shared/constants';\r\nimport { VideoCollectionIdentifier } from 'shared/interfaces/VideoCollectionIdentifier';\r\nimport { BulkCheckboxHelper } from 'shared/utils';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nimport { DraggableItemComponent, DragOptions, styles } from 'apps/library-editor/behaviors/shared';\r\nimport { CheckboxTypes } from 'apps/library-editor/constants';\r\n\r\nimport videoStyles from './draggable-video.scss';\r\n\r\ninterface DraggableVideoOptions {\r\n model: Video;\r\n collectionIdentifier: VideoCollectionIdentifier;\r\n selector?: string;\r\n}\r\n\r\nexport class DraggableVideoBehavior extends Core.Behavior {\r\n public options: DraggableVideoOptions;\r\n\r\n public initialize(): void {\r\n if (!this.options.model)\r\n Core.ErrorHelper.throw(new DevError('DraggableVideoBehavior must be passed a Video model'));\r\n\r\n this.listenTo(ServiceChannels.VIDEO_DRAG_DROP, `drag:style:${this.options.model.id}`, this.styleDragStart);\r\n\r\n this.listenTo(ServiceChannels.VIDEO_DRAG_DROP, 'drag:stop', this.styleDragStop);\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.behaviors';\r\n }\r\n\r\n private helper(): any {\r\n const models = this.getVideoModels();\r\n\r\n const draggableItemComponent = new DraggableItemComponent({\r\n text: models.length > 1\r\n ? LanguageService.getPhrase(this.lang, 'videos', { videoCount: models.length })\r\n : models[0].get('name'),\r\n svg: SvgHelper.getSvg(cvSvgLibrary.Play)\r\n });\r\n return draggableItemComponent.render().el;\r\n }\r\n\r\n private getSelector(): JQuery<HTMLElement> {\r\n return this.view.getUI(this.options.selector);\r\n }\r\n\r\n private styleDragStart(): void {\r\n const $el = this.getSelector();\r\n $el.addClass(videoStyles.draggingVideo);\r\n }\r\n\r\n private styleDragStop(): void {\r\n const $el = this.getSelector();\r\n $el.removeClass(videoStyles.draggingVideo);\r\n }\r\n\r\n private start(): void {\r\n const models = this.getVideoModels();\r\n\r\n /**\r\n * This relies on an instance of VideoDragDropService existing\r\n * This instanced should be retreived from the instance manager\r\n * by the application.\r\n */\r\n const channel = Radio.channel(ServiceChannels.VIDEO_DRAG_DROP);\r\n\r\n channel.trigger('drag:start', models, this.options.collectionIdentifier);\r\n _.each(models, m => channel.trigger(`drag:style:${m.id}`));\r\n }\r\n\r\n private stop(): void {\r\n Radio.channel(ServiceChannels.VIDEO_DRAG_DROP)\r\n .trigger('drag:stop');\r\n }\r\n\r\n private getVideoModels(): Core.Model[] {\r\n let models = BulkCheckboxHelper.GetSelectedModels({\r\n key: this.options.collectionIdentifier.toString(),\r\n type: CheckboxTypes.VIDEO_LIST,\r\n collection: this.view.model.collection\r\n });\r\n\r\n if (!_.any(models, m => m.id === this.view.model.id))\r\n models = [this.view.model];\r\n\r\n if (models.length)\r\n return models;\r\n\r\n return [this.view.model];\r\n }\r\n\r\n private getClassMappings(): ObjectHash {\r\n return {\r\n 'ui-draggable': styles.draggable,\r\n 'ui-draggable-disabled': styles.disabled,\r\n 'ui-draggable-handle': styles.handle,\r\n 'ui-draggable-dragging': styles.dragging\r\n };\r\n }\r\n\r\n public onRender(): void {\r\n const $el = this.getSelector();\r\n\r\n const options: JQueryUI.DraggableOptions = {\r\n helper: _.bind(this.helper, this),\r\n start: _.bind(this.start, this),\r\n stop: _.bind(this.stop, this)\r\n };\r\n (options as any).classes = this.getClassMappings();\r\n $el.draggable(_.extend({}, DragOptions, options));\r\n }\r\n\r\n public onBeforeDestroy(): void {\r\n /**\r\n * Because JQuery.UI's draggable is a piece of shit\r\n * it sometimes errors out on 'destroy' if the element has otherwise\r\n * been disposed of before this fire. So we need to first check if\r\n * there is still an instance of $.fn.draggable before we call destroy on it\r\n */\r\n const $el = this.getSelector();\r\n if ($el.draggable('instance'))\r\n $el.draggable('destroy');\r\n }\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"draggingVideo\":\"cv--draggingVideo--3cCHx\"};","export * from './draggable-folder/DraggableFolderBehavior';\r\nexport * from './draggable-video/DraggableVideoBehavior';\r\nexport * from './droppable/DroppableBehavior';","var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper, alias1=container.propertyIsEnumerable, alias2=container.lambda, alias3=container.escapeExpression;\n\n return \"<a\\r\\n class=\\\"d-block cursor-pointer no-decoration \"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.folder : stack1), depth0))\n + \"\\\"\\r\\n style=\\\"background-image: url('\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.imageUrl : stack1), depth0))\n + \"')\\\"\\r\\n>\\r\\n <h3 class=\\\"position-absolute text-white text-center m-0\\\">\"\n + alias3(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{\"name\":\"name\",\"hash\":{},\"data\":data}) : helper)))\n + \"</h3>\\r\\n</a>\\r\\n<div class=\\\"actions-region\\\"></div>\";\n},\"useData\":true});","import { Core } from 'libs/common/core';\r\nimport { ObjectHash } from 'backbone';\r\n\r\nimport LibraryFolderItemTemplate from './LibraryFolderItem.hbs';\r\nimport styles from './library-folder-item.scss';\r\nimport { ImageHelper } from 'shared/utils';\r\nimport { Folder } from 'shared/models/Folder';\r\nimport { Actions, ServiceChannels, AppChannels } from 'shared/constants';\r\nimport { ImageType } from 'shared/enums';\r\nimport { DroppableBehavior, DraggableFolderBehavior } from 'apps/library-editor/behaviors';\r\nimport { VideoCollectionActionsComponent } from 'apps/library-editor/components/video-collection-actions/VideoCollectionActionsComponent';\r\nimport { LocationContext } from 'libs/analytics/interfaces';\r\n\r\ninterface LibraryFolderItemComponentOptions extends Core.ComponentOptions<Folder> {\r\n imageCdnUrl: string;\r\n}\r\n\r\nclass LibraryFolderItemComponent extends Core.Component<Folder> {\r\n public options: LibraryFolderItemComponentOptions;\r\n\r\n constructor(options: LibraryFolderItemComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.listenTo(this.model, 'change:name', this.render);\r\n }\r\n\r\n public get name(): string {\r\n return 'LibraryFolderItemComponent';\r\n }\r\n\r\n public get template(): string {\r\n return LibraryFolderItemTemplate;\r\n }\r\n\r\n public get className(): string {\r\n return 'col-3 p-2';\r\n }\r\n\r\n public get appLinks(): Core.AppLinkHash {\r\n return {\r\n a: {\r\n application: AppChannels.LIBRARY_EDITOR,\r\n action: Actions.LibraryEditor.FOLDER,\r\n args: [this.model.get('id')]\r\n }\r\n };\r\n }\r\n\r\n public regions(): ObjectHash {\r\n return {\r\n actions: {\r\n el: '.actions-region',\r\n replaceElement: true\r\n }\r\n };\r\n }\r\n\r\n public get behaviors(): any[] {\r\n return [{\r\n behaviorClass: DroppableBehavior,\r\n channelNames: [\r\n ServiceChannels.VIDEO_DRAG_DROP,\r\n ServiceChannels.FOLDER_DRAG_DROP\r\n ],\r\n analyticsOptions: {\r\n location: LocationContext.LibraryTiles\r\n }\r\n }, {\r\n behaviorClass: DraggableFolderBehavior\r\n }];\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n const imageUrl = ImageHelper.createFolderThumbnailUrl(this.model.thumbnail, {\r\n fallbackBaseUrl: this.options.imageCdnUrl,\r\n fallbackCategoryName: this.model.get('name'),\r\n type: ImageType.Thumbnails\r\n });\r\n\r\n return {\r\n styles,\r\n imageUrl\r\n };\r\n }\r\n\r\n public onRender(): void {\r\n this.showChildView('actions', new VideoCollectionActionsComponent({\r\n model: this.model,\r\n extraClasses: `${styles.actions} rounded-circle`,\r\n buttonClass: 'text-light',\r\n analyticsOptions: {\r\n location: LocationContext.LibraryTiles\r\n },\r\n overrideClasses: true\r\n }));\r\n }\r\n}\r\n\r\ninterface LibraryFolderListComponentOptions extends Core.ComponentCollectionOptions {\r\n childOptions: LibraryFolderItemComponentOptions;\r\n}\r\n\r\nexport class LibraryFolderListComponent extends Core.ComponentCollection {\r\n public options: LibraryFolderListComponentOptions;\r\n\r\n constructor(options: LibraryFolderListComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'LibraryFolderListComponent';\r\n }\r\n\r\n public get className(): string {\r\n return 'row';\r\n }\r\n\r\n public get childView(): typeof LibraryFolderItemComponent {\r\n return LibraryFolderItemComponent;\r\n }\r\n\r\n public get childViewOptions(): ObjectHash {\r\n return this.options.childOptions;\r\n }\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"folder\":\"cv--folder--1MHyt\",\"actions\":\"cv--actions--3-hwy\"};","var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var helper, alias1=container.propertyIsEnumerable;\n\n return \"<h1 class=\\\"h3\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{\"name\":\"name\",\"hash\":{},\"data\":data}) : helper)))\n + \"</h1>\\r\\n<div class=\\\"folders-region\\\"></div>\\r\\n<div class=\\\"actions-region\\\"></div>\";\n},\"useData\":true});","import * as _ from 'underscore';\r\nimport { ObjectHash } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { InstanceManager } from 'libs/common/backbone/services/InstanceManager';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { LocationContext } from 'libs/analytics/interfaces';\r\nimport { SvgHelper, cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\nimport { EmptyStateBehavior } from 'libs/shared/legacy/behaviors/empty-state/EmptyStateBehavior';\r\nimport { SortType } from 'libs/shared/legacy/enums/SortType';\r\n\r\nimport { Library } from 'shared/models/Library';\r\nimport { Config } from 'shared/models/Config';\r\nimport { ConfigDataServiceHelper } from 'shared/services/ConfigDataService';\r\nimport { DataServices, EmptyStateComponents, DataChannels } from 'shared/constants';\r\nimport { LibraryCollection } from 'shared/collections/LibraryCollection';\r\nimport { FolderCollection } from 'shared/collections/FolderCollection';\r\nimport { EmptyState, PartialLoading } from 'shared/enums';\r\nimport { LibraryFoldersIdentifier } from 'shared/interfaces';\r\n\r\nimport { LibraryFolderListComponent } from 'apps/library-editor/components/library-folders/LibraryFolderListComponent';\r\nimport { LibraryActionsComponent } from 'apps/library-editor/components/library-actions/LibraryActionsComponent';\r\nimport { LibraryDataService } from 'apps/library-editor/services/LibraryDataService';\r\n\r\nimport LibraryTemplate from './Library.hbs';\r\nimport styles from './library.scss';\r\n\r\ninterface LibraryViewOptions extends Core.ViewOptions<Library> {\r\n libraryId: string;\r\n}\r\n\r\nexport class LibraryView extends Core.View<Library> {\r\n public options: LibraryViewOptions;\r\n private libraryDataService: LibraryDataService;\r\n private config: Config;\r\n\r\n private folders: FolderCollection;\r\n private scrollBound: boolean;\r\n private currentIdentifier: LibraryFoldersIdentifier;\r\n\r\n public constructor(options: LibraryViewOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.libraryDataService = InstanceManager.getInstance(DataServices.Library, this);\r\n\r\n this.listenTo(DataChannels.LIBRARY, 'clear:library:folder:cache', () => {\r\n this.folders = null;\r\n this.render();\r\n });\r\n }\r\n\r\n public get name(): string {\r\n return 'LibraryView';\r\n }\r\n\r\n public get title(): string {\r\n return !!this.model && this.model.get('name');\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.library';\r\n }\r\n\r\n public get template(): string {\r\n return LibraryTemplate;\r\n }\r\n\r\n public get className(): string {\r\n return `bg-white px-3 pt-3 pb-2 position-relative ${styles.library}`;\r\n }\r\n\r\n public get behaviors(): any[] {\r\n return [\r\n {\r\n behaviorClass: EmptyStateBehavior,\r\n region: 'folders',\r\n type: EmptyState.Library,\r\n shouldRender: () => this.model && !this.model.children.length,\r\n componentOptions: {\r\n libraryId: this.options.libraryId,\r\n moreSvg: SvgHelper.getSvg(cvSvgLibrary.More),\r\n heading: LanguageService.getPhrase(this.lang, 'emptyStateHeading'),\r\n description: LanguageService.getPhrase(this.lang, 'emptyStateInfo', {\r\n moreSvg: `<span class=\"d-inline-block svg-container align-top\">\r\n ${SvgHelper.getSvg(cvSvgLibrary.More)}</span>`\r\n })\r\n },\r\n emptyStateComponents: EmptyStateComponents\r\n }\r\n ];\r\n }\r\n\r\n public regions(): ObjectHash {\r\n return {\r\n folders: {\r\n el: '.folders-region',\r\n replaceElement: true,\r\n partialLoading: PartialLoading.LibraryFolders\r\n },\r\n actions: {\r\n el: '.actions-region',\r\n replaceElement: true\r\n }\r\n };\r\n }\r\n\r\n private renderFolders(): void {\r\n this.showChildView('folders', new LibraryFolderListComponent({\r\n collection: this.folders,\r\n childOptions: {\r\n imageCdnUrl: this.config.get('imageCdnUrl')\r\n }\r\n }));\r\n }\r\n\r\n private renderActions(): void {\r\n this.showChildView('actions', new LibraryActionsComponent({\r\n model: this.model,\r\n extraClasses: `${styles.actions} rounded-circle mr-2 mt-2`,\r\n analyticsOptions: {\r\n location: LocationContext.Banner\r\n }\r\n }));\r\n }\r\n\r\n public get requiredResources(): Core.RequiredResourceHash {\r\n return {\r\n config: ConfigDataServiceHelper.config\r\n };\r\n }\r\n\r\n private bindScrollListener(): void {\r\n if (this.scrollBound) return;\r\n this.scrollBound = true;\r\n\r\n const $window = $(window);\r\n const onScroll = _.debounce(() => {\r\n const isBottom = $window.scrollTop() + $window.height() > this.$el.offset().top + this.$el.height();\r\n\r\n if (!isBottom) return;\r\n\r\n if (!this.currentIdentifier) return;\r\n\r\n const cursors = this.libraryDataService.getLibraryFoldersCursors(this.currentIdentifier);\r\n\r\n if (!cursors || !cursors.next) return;\r\n\r\n this.libraryDataService.getLibraryFolders(this.getNewCollectionIdentifier(cursors.next), data => {\r\n this.folders.add(data.toJSON());\r\n });\r\n }, 333);\r\n\r\n $window.scroll(onScroll);\r\n\r\n /**\r\n * Call onScroll the first time we render, after the view is rendered so we have our height set\r\n */\r\n window.setTimeout(onScroll, 100);\r\n }\r\n\r\n private getNewCollectionIdentifier(cursor?: string): LibraryFoldersIdentifier {\r\n return this.currentIdentifier = new LibraryFoldersIdentifier(this.model.categoryTree.get('id'), SortType.AtoZ, cursor);\r\n }\r\n\r\n public onBeforeRender(): boolean {\r\n if (!this.model) {\r\n this.libraryDataService.getLibraries((data: LibraryCollection) => {\r\n this.model = data.get(this.options.libraryId);\r\n\r\n this.listenTo(this.model, 'change:name', this.render);\r\n\r\n this.render();\r\n });\r\n return;\r\n }\r\n\r\n if (!this.folders) {\r\n this.libraryDataService.getLibraryFolders(this.getNewCollectionIdentifier(), data => {\r\n this.folders = data;\r\n\r\n this.render();\r\n });\r\n }\r\n\r\n return !!this.model && !!this.folders;\r\n }\r\n\r\n public onRender(): void {\r\n this.renderFolders();\r\n this.renderActions();\r\n this.bindScrollListener();\r\n }\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"actions\":\"cv--actions--3vCmp\"};"],"sourceRoot":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(window.webpackJsonp_clickview_library_editor=window.webpackJsonp_clickview_library_editor||[]).push([[48],{
|
|
1
|
+
(window.webpackJsonp_clickview_library_editor=window.webpackJsonp_clickview_library_editor||[]).push([[48],{1051:function(e,t,n){"use strict";n.d(t,"a",(function(){return h}));var r=n(2),i=n(243);function o(e){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function c(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function l(e,t){return(l=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function s(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=f(e);if(t){var i=f(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return u(this,n)}}function u(e,t){return!t||"object"!==o(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function f(e){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var h=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&l(e,t)}(u,e);var t,n,r,o=s(u);function u(){return a(this,u),o.apply(this,arguments)}return t=u,(n=[{key:"defaults",value:function(){return e={},t=i.c.Disabled,n=!0,t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e;var e,t,n}}])&&c(t.prototype,n),r&&c(t,r),u}(r.a.Model)},1315:function(e,t,n){var r=n(10);e.exports=(r.default||r).template({1:function(e,t,n,r,i){var o;e.propertyIsEnumerable;return(null!=(o=e.lambda(null!=(o=null!=t?t.options:t)?o.spinnerEl:o,t))?o:"")+"\r\n"},3:function(e,t,n,r,i){e.propertyIsEnumerable;var o,a=e.lambda,c=e.escapeExpression;return'<div class="pb-3 text-center">\r\n <img src="'+c(a(null!=(o=null!=t?t.options:t)?o.imageUrl:o,t))+'" class="'+c(a(null!=(o=null!=(o=null!=t?t.options:t)?o.styles:o)?o.image:o,t))+'" />\r\n</div>\r\n<p class="m-0">'+(null!=(o=(n.lang||t&&t.lang||e.hooks.helperMissing).call(null!=t?t:e.nullContext||{},"info",{name:"lang",hash:{email:null!=(o=null!=t?t.options:t)?o.email:o,name:null!=t?t.name:t},data:i}))?o:"")+"</p>\r\n"},compiler:[8,">= 4.3.0"],main:function(e,t,n,r,i){var o;e.propertyIsEnumerable;return null!=(o=n.unless.call(null!=t?t:e.nullContext||{},null!=(o=null!=t?t.options:t)?o.dataFetched:o,{name:"unless",hash:{},fn:e.program(1,i,0),inverse:e.program(3,i,0),data:i}))?o:""},useData:!0})},1316:function(e,t,n){e.exports={image:"J9jn_"}},1449:function(e,t,n){"use strict";n.r(t),n.d(t,"GeneratePdfView",(function(){return E}));var r=n(6),i=n(2),o=n(5),a=n(3),c=n(4),l=n(42),s=n(35),u=n(282),f=n(243),h=n(1051),p=n(134),y=n(0),d=n(12),b=n(192),g=n(1315),m=n.n(g),v=n(1316),w=n.n(v);function P(e){return(P="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function O(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function k(e,t){return(k=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function S(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=D(e);if(t){var i=D(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return _(this,n)}}function _(e,t){return!t||"object"!==P(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function D(e){return(D=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var E=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&k(e,t)}(P,e);var t,n,g,v=S(P);function P(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,P),v.call(this,e)}return t=P,(n=[{key:"initialize",value:function(){this.collectionIdentifier=this.options.collectionIdentifier,this.libraryDataService=o.a.getInstance(y.g.Library,this),this.videoDataService=o.a.getInstance(y.g.Video,this),this.exportDataService=o.a.getInstance(y.g.Export,this),this.bindListeners()}},{key:"bindListeners",value:function(){var e=this;this.listenTo(this.channelName,"generate:pdf",this.onClickGeneratePdf),this.listenTo(y.e.LIBRARY,"".concat(y.f.FOLDER,":").concat(this.collectionIdentifier.id,":sync"),this.render),this.listenTo(y.e.VIDEO,"".concat(this.collectionIdentifier.toString(),":sync"),this.render),this.listenTo(y.e.EXPORT,"".concat(y.f.GENERATE_COLLECTION_PDF,":").concat(this.collectionIdentifier.id,":sync"),(function(){return e.triggerMethod("hide")}))}},{key:"onClickGeneratePdf",value:function(){this.hasDataFetched()&&(r.Radio.channel(this.channelName).trigger(f.b.ShowSpinner),this.exportDataService.generateCollectionPdf(this.library.id,this.collectionIdentifier.id,this.currentUser,this.collectionIdentifier.sort),this.logAction(this.collectionIdentifier.id,this.collectionIdentifier.sort))}},{key:"fetchData",value:function(){var e=this;this.videos=this.videoDataService.getCollectionVideos(this.collectionIdentifier),this.model=this.libraryDataService.getFolder(this.collectionIdentifier.id),this.library||this.libraryDataService.getLibraries((function(t){e.library=d.f.getLibrary(e.collectionIdentifier.id,t),e.render()}))}},{key:"logAction",value:function(e,t){var n={location:c.k.Popup,actionType:c.q.Create,entity:c.e.PDF,workflowPhase:c.r.Complete},r={id:e,sort:s.a[t]};l.a.logUserAction(r,n)}},{key:"hasDataFetched",value:function(){return!!this.model&&!!this.videos&&!!this.library}},{key:"onBeforeRender",value:function(){var e=this;return this.fetchData(),!!this.hasDataFetched()&&(this.videos&&!this.videos.length?(window.setTimeout((function(){e.triggerMethod("hide"),i.a.ErrorHelper.throw(new b.a(a.a.getPhrase(e.lang,"errorHeading")))}),y.s.POPUP_FADE_TIMEOUT),!1):(this.hasDataFetched()&&this.spinnerModel.set(f.c.Disabled,!1),!0))}},{key:"viewOptions",value:function(){return{dataFetched:this.hasDataFetched(),spinnerEl:d.q.getSpinner({size:d.r.Large,extraClasses:"mx-auto"}),email:this.currentUser.get("email"),imageUrl:y.l.Shared.GeneratePdf,styles:w.a}}},{key:"name",get:function(){return"GeneratePdfView"}},{key:"title",get:function(){return a.a.getPhrase(this.lang,"title")}},{key:"lang",get:function(){return"libraryEditor.generatePdf"}},{key:"template",get:function(){return m.a}},{key:"channelName",get:function(){return d.k.generateUniqueChannelName(this)}},{key:"behaviors",get:function(){return[{behaviorClass:u.e,title:a.a.getPhrase(this.lang,"heading"),spinnerButtonOptions:{model:this.spinnerModel=new h.a,saveEvent:"generate:pdf",channelName:this.channelName,buttonText:a.a.getPhrase(this.lang,"generate"),extraButtonClass:"btn-primary",spinnerOptions:{size:d.r.Small,type:d.s.Light,extraClasses:"mx-auto"}}}]}},{key:"requiredResources",get:function(){return{currentUser:p.b.currentUser}}}])&&O(t.prototype,n),g&&O(t,g),P}(i.a.View)}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/components/suggest-edit/SuggestEdit.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/components/suggest-edit/SuggestEditComponent.ts","webpack://@clickview/library-editor/./src/apps/library-editor/components/suggest-edit/suggest-edit.scss?b993","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/views/suggest-an-edit/SuggestAnEdit.hbs","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/library-editor/views/suggest-an-edit/SuggestAnEditView.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/notifications/utils/Constants.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/notifications/utils/NotificationsHelper.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/apps/notifications/utils/index.ts","file://C:/ClickView Projects/@clickview/packages/projects/library-editor/src/shared/components/dropdown/DropdownComponentCollection.ts","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/models/Metadata.ts"],"names":[],"mappings":"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","file":"scripts/48.chunk.js","sourcesContent":["var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable, alias2=container.escapeExpression, alias3=container.lambda;\n\n return \"<p class=\\\"font-weight-bold mb-0\\\">\"\n + alias2((helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),\"currentType\",{\"name\":\"lang\",\"hash\":{\"metadataType\":((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.metadataType : stack1)},\"data\":data}))\n + \"</p>\\r\\n<p class=\\\"mb-3 \"\n + alias2(alias3(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.metadataValue : stack1), depth0))\n + \"\\\">\"\n + ((stack1 = alias3(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.metadataValue : stack1), depth0)) != null ? stack1 : \"\")\n + \"</p>\\r\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return \" <textarea\\r\\n id=\\\"suggest-edit\\\"\\r\\n placeholder=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.suggestionPlaceholder : stack1), depth0))\n + \"\\\"\\r\\n class=\\\"form-control\\\"\\r\\n name=\\\"suggestion\\\"\\r\\n ></textarea>\\r\\n <div class=\\\"form-feedback\\\"></div>\\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable, alias2=depth0 != null ? depth0 : (container.nullContext || {}), alias3=container.hooks.helperMissing, alias4=container.escapeExpression;\n\n return ((stack1 = helpers.unless.call(alias2,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.isOtherType : stack1),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\r\\n<div class=\\\"dropdown-divider\\\"></div>\\r\\n\\r\\n<div class=\\\"form-group\\\">\\r\\n <label for=\\\"suggest-edit\\\" class=\\\"font-weight-bold\\\">\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"suggestionSubheading\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</label>\\r\\n <div class=\\\"rating-select-region\\\"></div>\\r\\n <div class=\\\"rating-form-feedback invalid-feedback\\\"></div>\\r\\n\"\n + ((stack1 = helpers.unless.call(alias2,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.useRatingSelect : stack1),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"</div>\\r\\n\\r\\n<div class=\\\"form-group\\\">\\r\\n <label for=\\\"reason-for-edit\\\" class=\\\"font-weight-bold\\\">\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"reasoningSubheading\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</label>\\r\\n <textarea\\r\\n id=\\\"reason-for-edit\\\"\\r\\n placeholder=\\\"\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"reasoningPlaceholder\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"\\\"\\r\\n class=\\\"form-control\\\"\\r\\n name=\\\"reason\\\"\\r\\n ></textarea>\\r\\n <div class=\\\"form-feedback\\\"></div>\\r\\n</div>\";\n},\"useData\":true});","import { ObjectHash, Validation } from 'backbone';\r\nimport * as moment from 'moment';\r\n\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { TimeType } from 'shared/enums';\r\nimport { SelectRatingComponent } from 'shared/components/edit-video/select-rating/SelectRatingComponent';\r\nimport { RatingCollection } from 'shared/collections/RatingCollection';\r\nimport { Rating } from 'shared/models/Rating';\r\n\r\nimport { MetadataType } from 'apps/library-editor/constants';\r\nimport { VideoDetailsHelper } from 'apps/library-editor/utils';\r\n\r\nimport SuggestEditTemplate from './SuggestEdit.hbs';\r\nimport styles from './suggest-edit.scss';\r\n\r\ninterface SuggestEditComponentOptions extends Core.ComponentOptions {\r\n metadataType: MetadataType;\r\n metadataValue?: any;\r\n ratings: RatingCollection;\r\n currentRating: Rating;\r\n ratingValidationMessage?: string;\r\n}\r\n\r\nexport class SuggestEditComponent extends Core.Component {\r\n public options: SuggestEditComponentOptions;\r\n\r\n public constructor(options: SuggestEditComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'SuggestEditComponent';\r\n }\r\n\r\n public get template(): string {\r\n return SuggestEditTemplate;\r\n }\r\n\r\n public get tagName(): string {\r\n return 'form';\r\n }\r\n\r\n public get className(): string {\r\n return 'mt-3';\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.suggestEdit';\r\n }\r\n\r\n public regions(): ObjectHash {\r\n return {\r\n ratingSelect: {\r\n el: '.rating-select-region',\r\n replaceElement: true\r\n }\r\n };\r\n }\r\n\r\n public get bindings(): ObjectHash {\r\n return {\r\n '[name=suggestion]': {\r\n observe: 'suggestion',\r\n setOptions: { validate: true }\r\n },\r\n '[name=reason]': {\r\n observe: 'reason',\r\n setOptions: { validate: true }\r\n }\r\n };\r\n }\r\n\r\n public get elements(): ObjectHash {\r\n return {\r\n ratingValidation: '.rating-form-feedback'\r\n };\r\n }\r\n\r\n private getMetadataValue(): string {\r\n if (this.options.metadataType === MetadataType.BroadcastDate) {\r\n if (!this.options.metadataValue)\r\n return LanguageService.getPhrase(this.lang, 'noMetadataValue');\r\n\r\n return moment(this.options.metadataValue).format(TimeType.FULL_YEAR);\r\n }\r\n\r\n if (this.options.metadataValue instanceof Core.Collection) {\r\n if (!this.options.metadataValue.length)\r\n return LanguageService.getPhrase(this.lang, 'noMetadataValue');\r\n\r\n return this.options.metadataValue.map((value: Core.Model) => value.get('name')).join(', ');\r\n }\r\n\r\n return this.options.metadataValue || LanguageService.getPhrase(this.lang, 'noMetadataValue');\r\n }\r\n\r\n private getSuggestionPlaceholder(): string {\r\n return this.options.metadataType === MetadataType.Other\r\n ? LanguageService.getPhrase(this.lang, 'otherSuggestionPlaceholder')\r\n : LanguageService.getPhrase(this.lang, 'suggestionPlaceholder', {\r\n metadataType: VideoDetailsHelper.translateMetadataName(this.options.metadataType).toLowerCase()\r\n });\r\n }\r\n\r\n private renderRatingSelect(): void {\r\n if (this.options.ratingValidationMessage) {\r\n this.getUI('ratingValidation').text(this.options.ratingValidationMessage).attr('style', 'display: block;');\r\n } else {\r\n this.getUI('ratingValidation').hide();\r\n }\r\n\r\n if (this.options.metadataType !== MetadataType.Rating)\r\n return;\r\n\r\n this.showChildView('ratingSelect', new SelectRatingComponent({\r\n model: this.options.currentRating,\r\n collection: this.options.ratings,\r\n parentChannelName: this.options.channelName,\r\n hideHeaderText: true,\r\n hideRemove: true\r\n }));\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n styles,\r\n metadataValue: this.getMetadataValue(),\r\n useRatingSelect: this.options.metadataType === MetadataType.Rating,\r\n isOtherType: this.options.metadataType === MetadataType.Other,\r\n metadataType: VideoDetailsHelper.translateMetadataName(this.options.metadataType).toLowerCase(),\r\n suggestionPlaceholder: this.getSuggestionPlaceholder()\r\n };\r\n }\r\n\r\n public onRender(): void {\r\n this.renderRatingSelect();\r\n\r\n this.stickit();\r\n Validation.bind(this);\r\n }\r\n\r\n public onDestroy(): void {\r\n this.unstickit();\r\n Validation.unbind(this);\r\n }\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"metadataValue\":\"cv--metadataValue--3nkrW\"};","var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":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>\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"guidelines\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</p>\\r\\n<p class=\\\"font-weight-bold mb-1\\\">\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"dropdownHeading\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</p>\\r\\n<div class=\\\"metadata-dropdown-region position-relative\\\"></div>\\r\\n<div class=\\\"suggest-edit-region\\\"></div>\\r\\n\";\n},\"3\":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},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.dataFetched : stack1),{\"name\":\"if\",\"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 { LanguageService } from 'libs/common/backbone/services/LanguageService';\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 { NotificationDataService } from 'libs/shared/apps/notifications/services/NotificationDataService';\r\nimport { SuggestionDescriptor, LocationContext, UserAction, EntityType } from 'libs/analytics/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\n\r\nimport { RadioChannelHelper, VideoHelper, CollectionHelpers, SpinnerHelper, SpinnerSize } from 'shared/utils';\r\nimport { Video } from 'shared/models/Video';\r\nimport { Metadata } from 'shared/models/Metadata';\r\nimport { User } from 'shared/models/User';\r\nimport { Rating } from 'shared/models/Rating';\r\nimport { Config } from 'shared/models/Config';\r\nimport { DisabledSpinnerModel } from 'shared/models/DisabledSpinnerModel';\r\nimport { UserDataServiceHelper } from 'shared/services/UserDataService';\r\nimport { ConfigDataServiceHelper } from 'shared/services/ConfigDataService';\r\nimport { DataServices, DataChannels, DataPrefixes } from 'shared/constants';\r\nimport { MetadataCollection } from 'shared/collections/MetadataCollection';\r\nimport { RatingCollection } from 'shared/collections/RatingCollection';\r\nimport { SelectComponent } from 'shared/components/select/SelectComponent';\r\nimport { SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\nimport { PopupBehavior } from 'shared/behaviors';\r\nimport { MasterObjectTypes } from 'libs/shared/enums/MasterObjectTypes';\r\n\r\nimport { VideoDataService } from 'apps/library-editor/services/VideoDataService';\r\nimport { RatingsDataService } from 'apps/library-editor/services/RatingsDataService';\r\nimport { SuggestEditComponent } from 'apps/library-editor/components/suggest-edit/SuggestEditComponent';\r\nimport { MetadataTypes, MetadataType } from 'apps/library-editor/constants';\r\nimport { SuggestEditValidation, SuggestEditRatingValidation, VideoDetailsHelper } from 'apps/library-editor/utils';\r\nimport { NotificationsHelper } from 'apps/notifications/utils';\r\n\r\nimport SuggestAnEditTemplate from './SuggestAnEdit.hbs';\r\n\r\ninterface SuggestAnEditViewOptions extends Core.ViewOptions {\r\n videoId: string;\r\n metadata?: string;\r\n}\r\n\r\nexport class SuggestAnEditView extends Core.View {\r\n public options: SuggestAnEditViewOptions;\r\n\r\n public model: Video;\r\n private selectedMetadata: Metadata;\r\n private spinnerModel: DisabledSpinnerModel;\r\n\r\n private ratingCollection: RatingCollection;\r\n private metadataCollection: MetadataCollection;\r\n\r\n private videoDataService: VideoDataService;\r\n private ratingsDataService: RatingsDataService;\r\n private notificationDataService: NotificationDataService;\r\n\r\n private currentUser: User;\r\n private config: Config;\r\n\r\n public constructor(options: SuggestAnEditViewOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.getViewModel();\r\n\r\n this.videoDataService = InstanceManager.getInstance(DataServices.Video, this);\r\n this.ratingsDataService = InstanceManager.getInstance(DataServices.Ratings, this);\r\n this.notificationDataService = InstanceManager.getInstance(DataServices.Notifications, this);\r\n\r\n this.selectedMetadata = new Metadata();\r\n this.metadataCollection = this.getMetadataCollection();\r\n\r\n this.bindListeners();\r\n }\r\n\r\n public get name(): string {\r\n return 'SuggestAnEditView';\r\n }\r\n\r\n public get template(): string {\r\n return SuggestAnEditTemplate;\r\n }\r\n\r\n public get tagName(): string {\r\n return 'form';\r\n }\r\n\r\n public get className(): string {\r\n return 'form-group';\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.suggestAnEdit';\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 channelName(): string {\r\n return RadioChannelHelper.generateUniqueChannelName(this);\r\n }\r\n\r\n public get viewModelName(): string {\r\n return `${this.name}:${this.options.videoId}`;\r\n }\r\n\r\n public regions(): ObjectHash {\r\n return {\r\n dropdown: {\r\n el: '.metadata-dropdown-region',\r\n replaceElement: false\r\n },\r\n suggestEdit: {\r\n el: '.suggest-edit-region',\r\n replaceElement: 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: 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, 'submit'),\r\n onClick: () => this.onSubmit()\r\n }\r\n }\r\n ];\r\n }\r\n\r\n public get requiredResources(): Core.RequiredResourceHash {\r\n return {\r\n config: ConfigDataServiceHelper.config,\r\n currentUser: UserDataServiceHelper.currentUser\r\n };\r\n }\r\n\r\n private bindListeners(): void {\r\n this.listenTo(this.channelName, 'select:option:selected', this.onMetadataSelect);\r\n this.listenTo(this.channelName, 'select:rating', this.onSelectRating);\r\n this.listenTo(DataChannels.VIDEO, `${DataPrefixes.VIDEOS}:${this.options.videoId}:sync`, this.render);\r\n this.listenTo(DataChannels.NOTIFICATIONS, `${DataPrefixes.SUGGEST_EDIT}:error`, this.onError);\r\n }\r\n\r\n private onSubmit(): void {\r\n const isValid = this.validateForm();\r\n if (!isValid)\r\n return;\r\n\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.ShowSpinner, true);\r\n\r\n const suggestion = this.selectedMetadata.get('metadataType') === MetadataType.Rating\r\n ? this.viewModel.get('ratingSuggestion')\r\n : this.viewModel.get('suggestion');\r\n\r\n const groupId = this.config.get('suggestEditMetadataGroupId');\r\n\r\n const data = NotificationsHelper.createSuggestEditNotification({\r\n groupId,\r\n countryCode: this.currentUser.get('countryCode'),\r\n video: this.model.toJSON(),\r\n user: this.currentUser.toJSON(),\r\n property: this.selectedMetadata.get('metadataType').toLowerCase(),\r\n suggestion,\r\n reason: this.viewModel.get('reason'),\r\n currentValue: this.selectedMetadata.get('metadataValue')\r\n });\r\n\r\n this.notificationDataService.suggestEdit(data, () => {\r\n this.triggerMethod('hide');\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.ShowSpinner, false);\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.Disabled, true);\r\n });\r\n\r\n this.logAction();\r\n\r\n this.viewModel.clear();\r\n }\r\n\r\n private onError(): void {\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.ShowSpinner, false);\r\n }\r\n\r\n private onMetadataSelect(metadata: Metadata): void {\r\n this.selectMetadata(metadata);\r\n this.renderSuggestEdit();\r\n }\r\n\r\n private onSelectRating(rating: Rating): void {\r\n /**\r\n * A field separate to `suggestion` is used for ratings so that the inputs for\r\n * the other suggestions can be persisted across changes to the metadata selection\r\n * without interference from selecting a rating.\r\n */\r\n this.viewModel.set('ratingSuggestion', rating.get('name'));\r\n this.renderSuggestEdit();\r\n }\r\n\r\n private selectMetadata(metadata: Metadata): void {\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.Disabled, false);\r\n\r\n CollectionHelpers.setSelected(metadata.get('id'), this.metadataCollection);\r\n\r\n this.selectedMetadata.set({\r\n metadataType: metadata.get('name'),\r\n metadataValue: metadata.get('name') !== MetadataType.Other\r\n ? this.model.get(metadata.get('property'))\r\n : null\r\n });\r\n\r\n if (metadata.get('name') !== MetadataType.Rating)\r\n this.viewModel.set('ratingSuggestion', '');\r\n }\r\n\r\n private getMetadataCollection(): MetadataCollection {\r\n return new MetadataCollection(Object.keys(MetadataTypes).map((key: string) => MetadataTypes[key]));\r\n }\r\n\r\n private getMetadataByType(type: string): Metadata {\r\n return this.metadataCollection.findWhere({ name: type });\r\n }\r\n\r\n private getViewModel(): void {\r\n this.viewModel = ViewModelService.get(this.viewModelName);\r\n this.viewModel.addValidation(SuggestEditValidation);\r\n }\r\n\r\n /**\r\n * The view model is manually validated as opposed to using `.isValid()`\r\n * due to the `ratingSuggestion` field not fulfilling the \"required\"\r\n * check for the regular `suggestion` field.\r\n */\r\n private validateForm(): boolean {\r\n this.renderSuggestEdit();\r\n\r\n this.viewModel.validate();\r\n\r\n const { reason, suggestion } = this.viewModel.toJSON();\r\n\r\n if (this.getRatingValidationMessage()) return false;\r\n if (this.selectedMetadata.get('metadataType') !== MetadataType.Rating && !suggestion) return false;\r\n\r\n return !!reason;\r\n }\r\n\r\n private getRatingValidationMessage(): string {\r\n if (this.selectedMetadata.get('metadataType') !== MetadataType.Rating)\r\n return '';\r\n\r\n const currentRating = this.selectedMetadata.get('metadataValue');\r\n const userSelectedRating = this.viewModel.get('ratingSuggestion');\r\n\r\n if (!userSelectedRating)\r\n return SuggestEditRatingValidation.empty();\r\n\r\n if (currentRating === userSelectedRating)\r\n return SuggestEditRatingValidation.original();\r\n\r\n return '';\r\n }\r\n\r\n // Checks for a pre-selected metadata option passed with the applink parameter.\r\n private checkPreselection(): void {\r\n if (this.selectedMetadata.get('metadataType') || !this.options.metadata || !this.dataFetched())\r\n return;\r\n\r\n const preselection: Metadata = this.getMetadataByType(this.options.metadata);\r\n this.selectMetadata(preselection);\r\n }\r\n\r\n private logAction(): void {\r\n let sourceTypes = VideoHelper.getSourceTypes(this.model);\r\n sourceTypes = _.filter(sourceTypes, s => s !== MasterObjectTypes.CustomLibrary);\r\n const videoSourceTypes = _.sortBy(_.unique(sourceTypes), a => a).join(',');\r\n\r\n const data = {\r\n videoSourceTypes,\r\n videoId: this.model.get('id'),\r\n metadataProperty: this.selectedMetadata.get('metadataType'),\r\n metadataPropertyValue: this.selectedMetadata.get('metadataValue'),\r\n suggestion: this.viewModel.get('suggestion'),\r\n reason: this.viewModel.get('reason')\r\n };\r\n\r\n AnalyticsHelper.logUserAction(data, {\r\n descriptor: SuggestionDescriptor.Edit,\r\n location: LocationContext.Popup,\r\n actionType: UserAction.Suggest,\r\n entity: EntityType.Video\r\n });\r\n }\r\n\r\n private dataFetched(): boolean {\r\n return !!this.model && !!this.ratingCollection;\r\n }\r\n\r\n private renderMetadataDropdown(): void {\r\n this.showChildView('dropdown', new SelectComponent({\r\n collection: VideoDetailsHelper.translateMetadataCollectionNames(this.metadataCollection),\r\n channelName: this.channelName,\r\n childOptions: {\r\n titleProperty: 'name',\r\n eventName: 'select:option:click'\r\n },\r\n placeholderText: this.selectedMetadata.get('metadataType') || LanguageService.getPhrase(this.lang, 'dropdownPlaceholder'),\r\n analyticsHelper: AnalyticsHelper\r\n }));\r\n }\r\n\r\n private renderSuggestEdit(): void {\r\n if (!this.selectedMetadata.get('metadataType'))\r\n return;\r\n\r\n this.showChildView('suggestEdit', new SuggestEditComponent({\r\n model: this.viewModel,\r\n channelName: this.channelName,\r\n ratings: this.ratingCollection,\r\n currentRating: this.viewModel.get('ratingSuggestion')\r\n ? new Rating(this.ratingCollection.findWhere({ name: this.viewModel.get('ratingSuggestion') }))\r\n : null,\r\n metadataType: this.selectedMetadata.get('metadataType'),\r\n metadataValue: this.selectedMetadata.get('metadataValue'),\r\n ratingValidationMessage: this.getRatingValidationMessage()\r\n }));\r\n }\r\n\r\n public onBeforeRender(): void {\r\n if (!this.dataFetched()) {\r\n this.model = this.videoDataService.getVideo(this.options.videoId);\r\n this.ratingCollection = this.ratingsDataService.getAllRatings();\r\n }\r\n\r\n this.checkPreselection();\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.dataFetched()) return;\r\n\r\n this.renderMetadataDropdown();\r\n this.renderSuggestEdit();\r\n }\r\n}","export enum NotificationChannels {\r\n Email = 0\r\n}","import { ObjectHash } from 'backbone';\r\nimport { NotificationsHelper as SharedNotificationsHelper } from 'libs/shared/apps/notifications/utils/NotificationsHelper';\r\nimport { NotificationType } from 'libs/shared/apps/notifications/enums/NotificationType';\r\nimport { NotificationChannels } from 'apps/notifications/utils/Constants';\r\n\r\nexport const NotificationsHelper = {\r\n ...SharedNotificationsHelper,\r\n createSuggestEditNotification: (data: ObjectHash): ObjectHash => {\r\n return {\r\n _type: NotificationType.SuggestEdit,\r\n groupId: data.groupId,\r\n receiverId: 0, // This is not used, although it is a required field.\r\n countryCode: data.countryCode,\r\n channels: [NotificationChannels.Email],\r\n data: {\r\n video: data.video,\r\n user: data.user,\r\n property: data.property,\r\n suggestion: data.suggestion,\r\n reason: data.reason,\r\n currentValue: data.currentValue\r\n }\r\n };\r\n }\r\n};\r\n","export * from './Constants';\r\nexport * from './NotificationsHelper';\r\n","import * as _ from 'underscore';\r\nimport { ObjectHash } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport { DropdownItemComponent } from 'shared/components/dropdown/DropdownItemComponent';\r\n\r\nexport interface DropdownDisplayOptions {\r\n alignment?: string;\r\n extraClasses?: string;\r\n}\r\n\r\nexport interface DropdownAnalyticsHelper {\r\n logUserAction(data: ObjectHash | ObjectHash[], analyticsOptions: any): void;\r\n}\r\n\r\nexport interface DropdownChildOptions {\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) => boolean;\r\n getTooltip?: (model: Core.Model) => ObjectHash;\r\n truncateOptionNames?: boolean;\r\n}\r\n\r\nexport interface DropdownComponentCollectionOptions extends Core.ComponentCollectionOptions {\r\n channelName: string;\r\n childOptions?: DropdownChildOptions;\r\n displayOptions?: DropdownDisplayOptions;\r\n analyticsHelper: DropdownAnalyticsHelper;\r\n}\r\n\r\nexport class DropdownComponentCollection extends Core.ComponentCollection {\r\n public options: DropdownComponentCollectionOptions;\r\n\r\n constructor(options?: DropdownComponentCollectionOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'DropdownCollectionComponent';\r\n }\r\n\r\n public get className(): string {\r\n return `dropdown-menu items-viewpart ${this.getExtraClasses(this.options.displayOptions)}`;\r\n }\r\n\r\n public get attributes(): ObjectHash {\r\n return {\r\n 'aria-labelledby': 'dropdownSelector'\r\n };\r\n }\r\n\r\n public initialize(): void {\r\n this.listenTo(this.options.channelName, 'center:dropdown', this.centerSelectedItem);\r\n }\r\n\r\n public get childView(): any {\r\n return DropdownItemComponent;\r\n }\r\n\r\n public get childViewOptions(): ObjectHash {\r\n const baseChildOptions: ObjectHash = {\r\n channelName: this.options.channelName,\r\n analyticsHelper: this.options.analyticsHelper\r\n };\r\n\r\n return _.extend(baseChildOptions, this.options.childOptions);\r\n }\r\n\r\n private getExtraClasses(displayOptions: DropdownDisplayOptions = {}): string {\r\n const { alignment = 'left', extraClasses } = displayOptions;\r\n\r\n let className = `dropdown-menu-${alignment}`;\r\n\r\n if (extraClasses)\r\n className = `${className} ${extraClasses}`;\r\n\r\n return className;\r\n }\r\n\r\n private centerSelectedItem(): void {\r\n const active = this.$el.find('.active');\r\n\r\n if (!active.length)\r\n return;\r\n\r\n const halfRatio = 0.5;\r\n const top = this.$el.scrollTop() + active.position().top;\r\n const distance = this.$el.height() * halfRatio + active.height() * halfRatio;\r\n this.$el.scrollTop(top - distance);\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}","import { Core } from 'libs/common/core';\r\n\r\nexport class Metadata extends Core.Model {}"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/library-editor/components/suggest-edit/SuggestEdit.hbs","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/library-editor/components/suggest-edit/SuggestEditComponent.ts","webpack://@clickview/library-editor/./src/apps/library-editor/components/suggest-edit/suggest-edit.scss?0eb9","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/library-editor/views/suggest-an-edit/SuggestAnEdit.hbs","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/library-editor/views/suggest-an-edit/SuggestAnEditView.ts","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/notifications/utils/Constants.ts","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/notifications/utils/NotificationsHelper.ts","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/apps/notifications/utils/index.ts","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/shared/components/dropdown/DropdownComponentCollection.ts","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/shared/models/DisabledSpinnerModel.ts","file://C:/ClickView/front-end/clickview/packages/projects/library-editor/src/shared/models/Metadata.ts"],"names":[],"mappings":"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","file":"scripts/48.chunk.js","sourcesContent":["var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable, alias2=container.escapeExpression, alias3=container.lambda;\n\n return \"<p class=\\\"font-weight-bold mb-0\\\">\"\n + alias2((helpers.lang||(depth0 && depth0.lang)||container.hooks.helperMissing).call(depth0 != null ? depth0 : (container.nullContext || {}),\"currentType\",{\"name\":\"lang\",\"hash\":{\"metadataType\":((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.metadataType : stack1)},\"data\":data}))\n + \"</p>\\r\\n<p class=\\\"mb-3 \"\n + alias2(alias3(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.metadataValue : stack1), depth0))\n + \"\\\">\"\n + ((stack1 = alias3(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.metadataValue : stack1), depth0)) != null ? stack1 : \"\")\n + \"</p>\\r\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return \" <textarea\\r\\n id=\\\"suggest-edit\\\"\\r\\n placeholder=\\\"\"\n + container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.suggestionPlaceholder : stack1), depth0))\n + \"\\\"\\r\\n class=\\\"form-control\\\"\\r\\n name=\\\"suggestion\\\"\\r\\n ></textarea>\\r\\n <div class=\\\"form-feedback\\\"></div>\\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable, alias2=depth0 != null ? depth0 : (container.nullContext || {}), alias3=container.hooks.helperMissing, alias4=container.escapeExpression;\n\n return ((stack1 = helpers.unless.call(alias2,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.isOtherType : stack1),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\r\\n<div class=\\\"dropdown-divider\\\"></div>\\r\\n\\r\\n<div class=\\\"form-group\\\">\\r\\n <label for=\\\"suggest-edit\\\" class=\\\"font-weight-bold\\\">\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"suggestionSubheading\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</label>\\r\\n <div class=\\\"rating-select-region\\\"></div>\\r\\n <div class=\\\"rating-form-feedback invalid-feedback\\\"></div>\\r\\n\"\n + ((stack1 = helpers.unless.call(alias2,((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.useRatingSelect : stack1),{\"name\":\"unless\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"</div>\\r\\n\\r\\n<div class=\\\"form-group\\\">\\r\\n <label for=\\\"reason-for-edit\\\" class=\\\"font-weight-bold\\\">\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"reasoningSubheading\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</label>\\r\\n <textarea\\r\\n id=\\\"reason-for-edit\\\"\\r\\n placeholder=\\\"\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"reasoningPlaceholder\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"\\\"\\r\\n class=\\\"form-control\\\"\\r\\n name=\\\"reason\\\"\\r\\n ></textarea>\\r\\n <div class=\\\"form-feedback\\\"></div>\\r\\n</div>\";\n},\"useData\":true});","import { ObjectHash, Validation } from 'backbone';\r\nimport * as moment from 'moment';\r\n\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { TimeType } from 'shared/enums';\r\nimport { SelectRatingComponent } from 'shared/components/edit-video/select-rating/SelectRatingComponent';\r\nimport { RatingCollection } from 'shared/collections/RatingCollection';\r\nimport { Rating } from 'shared/models/Rating';\r\n\r\nimport { MetadataType } from 'apps/library-editor/constants';\r\nimport { VideoDetailsHelper } from 'apps/library-editor/utils';\r\n\r\nimport SuggestEditTemplate from './SuggestEdit.hbs';\r\nimport styles from './suggest-edit.scss';\r\n\r\ninterface SuggestEditComponentOptions extends Core.ComponentOptions {\r\n metadataType: MetadataType;\r\n metadataValue?: any;\r\n ratings: RatingCollection;\r\n currentRating: Rating;\r\n ratingValidationMessage?: string;\r\n}\r\n\r\nexport class SuggestEditComponent extends Core.Component {\r\n public options: SuggestEditComponentOptions;\r\n\r\n public constructor(options: SuggestEditComponentOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'SuggestEditComponent';\r\n }\r\n\r\n public get template(): string {\r\n return SuggestEditTemplate;\r\n }\r\n\r\n public get tagName(): string {\r\n return 'form';\r\n }\r\n\r\n public get className(): string {\r\n return 'mt-3';\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.suggestEdit';\r\n }\r\n\r\n public regions(): ObjectHash {\r\n return {\r\n ratingSelect: {\r\n el: '.rating-select-region',\r\n replaceElement: true\r\n }\r\n };\r\n }\r\n\r\n public get bindings(): ObjectHash {\r\n return {\r\n '[name=suggestion]': {\r\n observe: 'suggestion',\r\n setOptions: { validate: true }\r\n },\r\n '[name=reason]': {\r\n observe: 'reason',\r\n setOptions: { validate: true }\r\n }\r\n };\r\n }\r\n\r\n public get elements(): ObjectHash {\r\n return {\r\n ratingValidation: '.rating-form-feedback'\r\n };\r\n }\r\n\r\n private getMetadataValue(): string {\r\n if (this.options.metadataType === MetadataType.BroadcastDate) {\r\n if (!this.options.metadataValue)\r\n return LanguageService.getPhrase(this.lang, 'noMetadataValue');\r\n\r\n return moment(this.options.metadataValue).format(TimeType.FULL_YEAR);\r\n }\r\n\r\n if (this.options.metadataValue instanceof Core.Collection) {\r\n if (!this.options.metadataValue.length)\r\n return LanguageService.getPhrase(this.lang, 'noMetadataValue');\r\n\r\n return this.options.metadataValue.map((value: Core.Model) => value.get('name')).join(', ');\r\n }\r\n\r\n return this.options.metadataValue || LanguageService.getPhrase(this.lang, 'noMetadataValue');\r\n }\r\n\r\n private getSuggestionPlaceholder(): string {\r\n return this.options.metadataType === MetadataType.Other\r\n ? LanguageService.getPhrase(this.lang, 'otherSuggestionPlaceholder')\r\n : LanguageService.getPhrase(this.lang, 'suggestionPlaceholder', {\r\n metadataType: VideoDetailsHelper.translateMetadataName(this.options.metadataType).toLowerCase()\r\n });\r\n }\r\n\r\n private renderRatingSelect(): void {\r\n if (this.options.ratingValidationMessage) {\r\n this.getUI('ratingValidation').text(this.options.ratingValidationMessage).attr('style', 'display: block;');\r\n } else {\r\n this.getUI('ratingValidation').hide();\r\n }\r\n\r\n if (this.options.metadataType !== MetadataType.Rating)\r\n return;\r\n\r\n this.showChildView('ratingSelect', new SelectRatingComponent({\r\n model: this.options.currentRating,\r\n collection: this.options.ratings,\r\n parentChannelName: this.options.channelName,\r\n hideHeaderText: true,\r\n hideRemove: true\r\n }));\r\n }\r\n\r\n public viewOptions(): ObjectHash {\r\n return {\r\n styles,\r\n metadataValue: this.getMetadataValue(),\r\n useRatingSelect: this.options.metadataType === MetadataType.Rating,\r\n isOtherType: this.options.metadataType === MetadataType.Other,\r\n metadataType: VideoDetailsHelper.translateMetadataName(this.options.metadataType).toLowerCase(),\r\n suggestionPlaceholder: this.getSuggestionPlaceholder()\r\n };\r\n }\r\n\r\n public onRender(): void {\r\n this.renderRatingSelect();\r\n\r\n this.stickit();\r\n Validation.bind(this);\r\n }\r\n\r\n public onDestroy(): void {\r\n this.unstickit();\r\n Validation.unbind(this);\r\n }\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"metadataValue\":\"cv--metadataValue--3nkrW\"};","var Handlebars = require('handlebars');\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"1\":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>\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"guidelines\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</p>\\r\\n<p class=\\\"font-weight-bold mb-1\\\">\"\n + alias4((helpers.lang||(depth0 && depth0.lang)||alias3).call(alias2,\"dropdownHeading\",{\"name\":\"lang\",\"hash\":{},\"data\":data}))\n + \"</p>\\r\\n<div class=\\\"metadata-dropdown-region position-relative\\\"></div>\\r\\n<div class=\\\"suggest-edit-region\\\"></div>\\r\\n\";\n},\"3\":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},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable;\n\n return ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : (container.nullContext || {}),((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.dataFetched : stack1),{\"name\":\"if\",\"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 { LanguageService } from 'libs/common/backbone/services/LanguageService';\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 { NotificationDataService } from 'libs/shared/apps/notifications/services/NotificationDataService';\r\nimport { SuggestionDescriptor, LocationContext, UserAction, EntityType } from 'libs/analytics/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\n\r\nimport { RadioChannelHelper, VideoHelper, CollectionHelpers, SpinnerHelper, SpinnerSize } from 'shared/utils';\r\nimport { Video } from 'shared/models/Video';\r\nimport { Metadata } from 'shared/models/Metadata';\r\nimport { User } from 'shared/models/User';\r\nimport { Rating } from 'shared/models/Rating';\r\nimport { Config } from 'shared/models/Config';\r\nimport { DisabledSpinnerModel } from 'shared/models/DisabledSpinnerModel';\r\nimport { UserDataServiceHelper } from 'shared/services/UserDataService';\r\nimport { ConfigDataServiceHelper } from 'shared/services/ConfigDataService';\r\nimport { DataServices, DataChannels, DataPrefixes } from 'shared/constants';\r\nimport { MetadataCollection } from 'shared/collections/MetadataCollection';\r\nimport { RatingCollection } from 'shared/collections/RatingCollection';\r\nimport { SelectComponent } from 'shared/components/select/SelectComponent';\r\nimport { SpinnerButtonModelAttributes } from 'shared/components/spinner-button/SpinnerButtonComponent';\r\nimport { PopupBehavior } from 'shared/behaviors';\r\nimport { MasterObjectTypes } from 'libs/shared/enums/MasterObjectTypes';\r\n\r\nimport { VideoDataService } from 'apps/library-editor/services/VideoDataService';\r\nimport { RatingsDataService } from 'apps/library-editor/services/RatingsDataService';\r\nimport { SuggestEditComponent } from 'apps/library-editor/components/suggest-edit/SuggestEditComponent';\r\nimport { MetadataTypes, MetadataType } from 'apps/library-editor/constants';\r\nimport { SuggestEditValidation, SuggestEditRatingValidation, VideoDetailsHelper } from 'apps/library-editor/utils';\r\nimport { NotificationsHelper } from 'apps/notifications/utils';\r\n\r\nimport SuggestAnEditTemplate from './SuggestAnEdit.hbs';\r\n\r\ninterface SuggestAnEditViewOptions extends Core.ViewOptions {\r\n videoId: string;\r\n metadata?: string;\r\n}\r\n\r\nexport class SuggestAnEditView extends Core.View {\r\n public options: SuggestAnEditViewOptions;\r\n\r\n public model: Video;\r\n private selectedMetadata: Metadata;\r\n private spinnerModel: DisabledSpinnerModel;\r\n\r\n private ratingCollection: RatingCollection;\r\n private metadataCollection: MetadataCollection;\r\n\r\n private videoDataService: VideoDataService;\r\n private ratingsDataService: RatingsDataService;\r\n private notificationDataService: NotificationDataService;\r\n\r\n private currentUser: User;\r\n private config: Config;\r\n\r\n public constructor(options: SuggestAnEditViewOptions) {\r\n super(options);\r\n }\r\n\r\n public initialize(): void {\r\n this.getViewModel();\r\n\r\n this.videoDataService = InstanceManager.getInstance(DataServices.Video, this);\r\n this.ratingsDataService = InstanceManager.getInstance(DataServices.Ratings, this);\r\n this.notificationDataService = InstanceManager.getInstance(DataServices.Notifications, this);\r\n\r\n this.selectedMetadata = new Metadata();\r\n this.metadataCollection = this.getMetadataCollection();\r\n\r\n this.bindListeners();\r\n }\r\n\r\n public get name(): string {\r\n return 'SuggestAnEditView';\r\n }\r\n\r\n public get template(): string {\r\n return SuggestAnEditTemplate;\r\n }\r\n\r\n public get tagName(): string {\r\n return 'form';\r\n }\r\n\r\n public get className(): string {\r\n return 'form-group';\r\n }\r\n\r\n public get lang(): string {\r\n return 'libraryEditor.suggestAnEdit';\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 channelName(): string {\r\n return RadioChannelHelper.generateUniqueChannelName(this);\r\n }\r\n\r\n public get viewModelName(): string {\r\n return `${this.name}:${this.options.videoId}`;\r\n }\r\n\r\n public regions(): ObjectHash {\r\n return {\r\n dropdown: {\r\n el: '.metadata-dropdown-region',\r\n replaceElement: false\r\n },\r\n suggestEdit: {\r\n el: '.suggest-edit-region',\r\n replaceElement: 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: 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, 'submit'),\r\n onClick: () => this.onSubmit()\r\n }\r\n }\r\n ];\r\n }\r\n\r\n public get requiredResources(): Core.RequiredResourceHash {\r\n return {\r\n config: ConfigDataServiceHelper.config,\r\n currentUser: UserDataServiceHelper.currentUser\r\n };\r\n }\r\n\r\n private bindListeners(): void {\r\n this.listenTo(this.channelName, 'select:option:selected', this.onMetadataSelect);\r\n this.listenTo(this.channelName, 'select:rating', this.onSelectRating);\r\n this.listenTo(DataChannels.VIDEO, `${DataPrefixes.VIDEOS}:${this.options.videoId}:sync`, this.render);\r\n this.listenTo(DataChannels.NOTIFICATIONS, `${DataPrefixes.SUGGEST_EDIT}:error`, this.onError);\r\n }\r\n\r\n private onSubmit(): void {\r\n const isValid = this.validateForm();\r\n if (!isValid)\r\n return;\r\n\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.ShowSpinner, true);\r\n\r\n const suggestion = this.selectedMetadata.get('metadataType') === MetadataType.Rating\r\n ? this.viewModel.get('ratingSuggestion')\r\n : this.viewModel.get('suggestion');\r\n\r\n const groupId = this.config.get('suggestEditMetadataGroupId');\r\n\r\n const data = NotificationsHelper.createSuggestEditNotification({\r\n groupId,\r\n countryCode: this.currentUser.get('countryCode'),\r\n video: this.model.toJSON(),\r\n user: this.currentUser.toJSON(),\r\n property: this.selectedMetadata.get('metadataType').toLowerCase(),\r\n suggestion,\r\n reason: this.viewModel.get('reason'),\r\n currentValue: this.selectedMetadata.get('metadataValue')\r\n });\r\n\r\n this.notificationDataService.suggestEdit(data, () => {\r\n this.triggerMethod('hide');\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.ShowSpinner, false);\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.Disabled, true);\r\n });\r\n\r\n this.logAction();\r\n\r\n this.viewModel.clear();\r\n }\r\n\r\n private onError(): void {\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.ShowSpinner, false);\r\n }\r\n\r\n private onMetadataSelect(metadata: Metadata): void {\r\n this.selectMetadata(metadata);\r\n this.renderSuggestEdit();\r\n }\r\n\r\n private onSelectRating(rating: Rating): void {\r\n /**\r\n * A field separate to `suggestion` is used for ratings so that the inputs for\r\n * the other suggestions can be persisted across changes to the metadata selection\r\n * without interference from selecting a rating.\r\n */\r\n this.viewModel.set('ratingSuggestion', rating.get('name'));\r\n this.renderSuggestEdit();\r\n }\r\n\r\n private selectMetadata(metadata: Metadata): void {\r\n this.spinnerModel.set(SpinnerButtonModelAttributes.Disabled, false);\r\n\r\n CollectionHelpers.setSelected(metadata.get('id'), this.metadataCollection);\r\n\r\n this.selectedMetadata.set({\r\n metadataType: metadata.get('name'),\r\n metadataValue: metadata.get('name') !== MetadataType.Other\r\n ? this.model.get(metadata.get('property'))\r\n : null\r\n });\r\n\r\n if (metadata.get('name') !== MetadataType.Rating)\r\n this.viewModel.set('ratingSuggestion', '');\r\n }\r\n\r\n private getMetadataCollection(): MetadataCollection {\r\n return new MetadataCollection(Object.keys(MetadataTypes).map((key: string) => MetadataTypes[key]));\r\n }\r\n\r\n private getMetadataByType(type: string): Metadata {\r\n return this.metadataCollection.findWhere({ name: type });\r\n }\r\n\r\n private getViewModel(): void {\r\n this.viewModel = ViewModelService.get(this.viewModelName);\r\n this.viewModel.addValidation(SuggestEditValidation);\r\n }\r\n\r\n /**\r\n * The view model is manually validated as opposed to using `.isValid()`\r\n * due to the `ratingSuggestion` field not fulfilling the \"required\"\r\n * check for the regular `suggestion` field.\r\n */\r\n private validateForm(): boolean {\r\n this.renderSuggestEdit();\r\n\r\n this.viewModel.validate();\r\n\r\n const { reason, suggestion } = this.viewModel.toJSON();\r\n\r\n if (this.getRatingValidationMessage()) return false;\r\n if (this.selectedMetadata.get('metadataType') !== MetadataType.Rating && !suggestion) return false;\r\n\r\n return !!reason;\r\n }\r\n\r\n private getRatingValidationMessage(): string {\r\n if (this.selectedMetadata.get('metadataType') !== MetadataType.Rating)\r\n return '';\r\n\r\n const currentRating = this.selectedMetadata.get('metadataValue');\r\n const userSelectedRating = this.viewModel.get('ratingSuggestion');\r\n\r\n if (!userSelectedRating)\r\n return SuggestEditRatingValidation.empty();\r\n\r\n if (currentRating === userSelectedRating)\r\n return SuggestEditRatingValidation.original();\r\n\r\n return '';\r\n }\r\n\r\n // Checks for a pre-selected metadata option passed with the applink parameter.\r\n private checkPreselection(): void {\r\n if (this.selectedMetadata.get('metadataType') || !this.options.metadata || !this.dataFetched())\r\n return;\r\n\r\n const preselection: Metadata = this.getMetadataByType(this.options.metadata);\r\n this.selectMetadata(preselection);\r\n }\r\n\r\n private logAction(): void {\r\n let sourceTypes = VideoHelper.getSourceTypes(this.model);\r\n sourceTypes = _.filter(sourceTypes, s => s !== MasterObjectTypes.CustomLibrary);\r\n const videoSourceTypes = _.sortBy(_.unique(sourceTypes), a => a).join(',');\r\n\r\n const data = {\r\n videoSourceTypes,\r\n videoId: this.model.get('id'),\r\n metadataProperty: this.selectedMetadata.get('metadataType'),\r\n metadataPropertyValue: this.selectedMetadata.get('metadataValue'),\r\n suggestion: this.viewModel.get('suggestion'),\r\n reason: this.viewModel.get('reason')\r\n };\r\n\r\n AnalyticsHelper.logUserAction(data, {\r\n descriptor: SuggestionDescriptor.Edit,\r\n location: LocationContext.Popup,\r\n actionType: UserAction.Suggest,\r\n entity: EntityType.Video\r\n });\r\n }\r\n\r\n private dataFetched(): boolean {\r\n return !!this.model && !!this.ratingCollection;\r\n }\r\n\r\n private renderMetadataDropdown(): void {\r\n this.showChildView('dropdown', new SelectComponent({\r\n collection: VideoDetailsHelper.translateMetadataCollectionNames(this.metadataCollection),\r\n channelName: this.channelName,\r\n childOptions: {\r\n titleProperty: 'name',\r\n eventName: 'select:option:click'\r\n },\r\n placeholderText: this.selectedMetadata.get('metadataType') || LanguageService.getPhrase(this.lang, 'dropdownPlaceholder'),\r\n analyticsHelper: AnalyticsHelper\r\n }));\r\n }\r\n\r\n private renderSuggestEdit(): void {\r\n if (!this.selectedMetadata.get('metadataType'))\r\n return;\r\n\r\n this.showChildView('suggestEdit', new SuggestEditComponent({\r\n model: this.viewModel,\r\n channelName: this.channelName,\r\n ratings: this.ratingCollection,\r\n currentRating: this.viewModel.get('ratingSuggestion')\r\n ? new Rating(this.ratingCollection.findWhere({ name: this.viewModel.get('ratingSuggestion') }))\r\n : null,\r\n metadataType: this.selectedMetadata.get('metadataType'),\r\n metadataValue: this.selectedMetadata.get('metadataValue'),\r\n ratingValidationMessage: this.getRatingValidationMessage()\r\n }));\r\n }\r\n\r\n public onBeforeRender(): void {\r\n if (!this.dataFetched()) {\r\n this.model = this.videoDataService.getVideo(this.options.videoId);\r\n this.ratingCollection = this.ratingsDataService.getAllRatings();\r\n }\r\n\r\n this.checkPreselection();\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.dataFetched()) return;\r\n\r\n this.renderMetadataDropdown();\r\n this.renderSuggestEdit();\r\n }\r\n}","export enum NotificationChannels {\r\n Email = 0\r\n}","import { ObjectHash } from 'backbone';\r\nimport { NotificationsHelper as SharedNotificationsHelper } from 'libs/shared/apps/notifications/utils/NotificationsHelper';\r\nimport { NotificationType } from 'libs/shared/apps/notifications/enums/NotificationType';\r\nimport { NotificationChannels } from 'apps/notifications/utils/Constants';\r\n\r\nexport const NotificationsHelper = {\r\n ...SharedNotificationsHelper,\r\n createSuggestEditNotification: (data: ObjectHash): ObjectHash => {\r\n return {\r\n _type: NotificationType.SuggestEdit,\r\n groupId: data.groupId,\r\n receiverId: 0, // This is not used, although it is a required field.\r\n countryCode: data.countryCode,\r\n channels: [NotificationChannels.Email],\r\n data: {\r\n video: data.video,\r\n user: data.user,\r\n property: data.property,\r\n suggestion: data.suggestion,\r\n reason: data.reason,\r\n currentValue: data.currentValue\r\n }\r\n };\r\n }\r\n};\r\n","export * from './Constants';\r\nexport * from './NotificationsHelper';\r\n","import * as _ from 'underscore';\r\nimport { ObjectHash } from 'backbone';\r\n\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport { DropdownItemComponent } from 'shared/components/dropdown/DropdownItemComponent';\r\n\r\nexport interface DropdownDisplayOptions {\r\n alignment?: string;\r\n extraClasses?: string;\r\n}\r\n\r\nexport interface DropdownAnalyticsHelper {\r\n logUserAction(data: ObjectHash | ObjectHash[], analyticsOptions: any): void;\r\n}\r\n\r\nexport interface DropdownChildOptions {\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) => boolean;\r\n getTooltip?: (model: Core.Model) => ObjectHash;\r\n truncateOptionNames?: boolean;\r\n}\r\n\r\nexport interface DropdownComponentCollectionOptions extends Core.ComponentCollectionOptions {\r\n channelName: string;\r\n childOptions?: DropdownChildOptions;\r\n displayOptions?: DropdownDisplayOptions;\r\n analyticsHelper: DropdownAnalyticsHelper;\r\n}\r\n\r\nexport class DropdownComponentCollection extends Core.ComponentCollection {\r\n public options: DropdownComponentCollectionOptions;\r\n\r\n constructor(options?: DropdownComponentCollectionOptions) {\r\n super(options);\r\n }\r\n\r\n public get name(): string {\r\n return 'DropdownCollectionComponent';\r\n }\r\n\r\n public get className(): string {\r\n return `dropdown-menu items-viewpart ${this.getExtraClasses(this.options.displayOptions)}`;\r\n }\r\n\r\n public get attributes(): ObjectHash {\r\n return {\r\n 'aria-labelledby': 'dropdownSelector'\r\n };\r\n }\r\n\r\n public initialize(): void {\r\n this.listenTo(this.options.channelName, 'center:dropdown', this.centerSelectedItem);\r\n }\r\n\r\n public get childView(): any {\r\n return DropdownItemComponent;\r\n }\r\n\r\n public get childViewOptions(): ObjectHash {\r\n const baseChildOptions: ObjectHash = {\r\n channelName: this.options.channelName,\r\n analyticsHelper: this.options.analyticsHelper\r\n };\r\n\r\n return _.extend(baseChildOptions, this.options.childOptions);\r\n }\r\n\r\n private getExtraClasses(displayOptions: DropdownDisplayOptions = {}): string {\r\n const { alignment = 'left', extraClasses } = displayOptions;\r\n\r\n let className = `dropdown-menu-${alignment}`;\r\n\r\n if (extraClasses)\r\n className = `${className} ${extraClasses}`;\r\n\r\n return className;\r\n }\r\n\r\n private centerSelectedItem(): void {\r\n const active = this.$el.find('.active');\r\n\r\n if (!active.length)\r\n return;\r\n\r\n const halfRatio = 0.5;\r\n const top = this.$el.scrollTop() + active.position().top;\r\n const distance = this.$el.height() * halfRatio + active.height() * halfRatio;\r\n this.$el.scrollTop(top - distance);\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}","import { Core } from 'libs/common/core';\r\n\r\nexport class Metadata extends Core.Model {}"],"sourceRoot":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(window.webpackJsonp_clickview_library_editor=window.webpackJsonp_clickview_library_editor||[]).push([[49],{
|
|
1
|
+
(window.webpackJsonp_clickview_library_editor=window.webpackJsonp_clickview_library_editor||[]).push([[49],{1084:function(t,n,e){"use strict";e.d(n,"a",(function(){return g}));var o=e(1),i=e(2),r=e(4),a=e(42),s=e(1085),c=e.n(s);function u(t){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function l(t,n){for(var e=0;e<n.length;e++){var o=n[e];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function p(t,n){return(p=Object.setPrototypeOf||function(t,n){return t.__proto__=n,t})(t,n)}function f(t){var n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var e,o=y(t);if(n){var i=y(this).constructor;e=Reflect.construct(o,arguments,i)}else e=o.apply(this,arguments);return h(this,e)}}function h(t,n){return!n||"object"!==u(n)&&"function"!=typeof n?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):n}function y(t){return(y=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var g=function(t){!function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(n&&n.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),n&&p(t,n)}(u,t);var n,e,i,s=f(u);function u(t){return function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,u),s.call(this,t)}return n=u,(e=[{key:"events",value:function(){return{"click .previous-applink":"onClickPrevious","click .next-applink":"onClickNext"}}},{key:"buildCursor",value:function(t){return{application:this.options.appLink.application,action:this.options.appLink.action,args:this.options.appLink.args,params:o.extend({},this.options.appLink.params,(n={},e=this.options.cursorParamName,i=t,e in n?Object.defineProperty(n,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[e]=i,n))};var n,e,i}},{key:"onClickPrevious",value:function(){this.logAction("previous")}},{key:"onClickNext",value:function(){this.logAction("next")}},{key:"logAction",value:function(t){var n=a.a.mergeOptions(this.options.analyticsOptions,{location:r.k.Pagination,entity:r.e.Pagination,actionType:r.q.Navigate}),e={id:this.options.collectionId,page:t};a.a.logUserAction(e,n)}},{key:"viewOptions",value:function(){return{cursors:this.options.cursors}}},{key:"onBeforeRender",value:function(){return!!this.options.cursors}},{key:"defaults",get:function(){return{cursors:{},cursorParamName:"cursor"}}},{key:"name",get:function(){return"PaginationComponent"}},{key:"template",get:function(){return c.a}},{key:"lang",get:function(){return"shared._pagination"}},{key:"appLinks",get:function(){var t={};if(!this.options.cursors)return{};if(this.options.cursors.previous){var n=this.options.cursors.previous,e=this.buildCursor(this.options.cursors.previous);+n<=1&&!0!==this.options.allowFirstPageCursor&&delete e.params.cursor,t[".previous-applink"]=e}return this.options.cursors.next&&(t[".next-applink"]=this.buildCursor(this.options.cursors.next)),t}}])&&l(n.prototype,e),i&&l(n,i),u}(i.a.Component)},1085:function(t,n,e){var o=e(10);t.exports=(o.default||o).template({1:function(t,n,e,o,i){return"disabled"},compiler:[8,">= 4.3.0"],main:function(t,n,e,o,i){t.propertyIsEnumerable;var r,a=null!=n?n:t.nullContext||{},s=t.hooks.helperMissing,c=t.escapeExpression;return'<div class="p-3">\r\n <a class="btn previous-applink btn-secondary '+(null!=(r=e.unless.call(a,null!=(r=null!=(r=null!=n?n.options:n)?r.cursors:r)?r.previous:r,{name:"unless",hash:{},fn:t.program(1,i,0),inverse:t.noop,data:i}))?r:"")+'">'+c((e.lang||n&&n.lang||s).call(a,"previous",{name:"lang",hash:{},data:i}))+'</a>\r\n <a class="btn next-applink btn-secondary '+(null!=(r=e.unless.call(a,null!=(r=null!=(r=null!=n?n.options:n)?r.cursors:r)?r.next:r,{name:"unless",hash:{},fn:t.program(1,i,0),inverse:t.noop,data:i}))?r:"")+'">'+c((e.lang||n&&n.lang||s).call(a,"next",{name:"lang",hash:{},data:i}))+"</a>\r\n</div>"},useData:!0})},1362:function(t,n,e){var o=e(10);t.exports=(o.default||o).template({compiler:[8,">= 4.3.0"],main:function(t,n,e,o,i){t.propertyIsEnumerable;return'<div class="container-fluid bg-white p-3">\r\n <h1 class="h3 header border-bottom pb-2 m-0">'+t.escapeExpression((e.lang||n&&n.lang||t.hooks.helperMissing).call(null!=n?n:t.nullContext||{},"notifications",{name:"lang",hash:{},data:i}))+'</h1>\r\n <div class="list-region"></div>\r\n <div class="pagination-region"></div>\r\n</div>'},useData:!0})},1465:function(t,n,e){"use strict";e.r(n),e.d(n,"NotificationsView",(function(){return x}));var o=e(2),i=e(3),r=e(5),a=e(25),s=e(53),c=e(22),u=e(43),l=e(188),p=e(1084),f=e(221),h=e(1362),y=e.n(h),g=e(417),v=e.n(g),b=e(418),d=e.n(b);function m(t){return(m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function k(t,n){for(var e=0;e<n.length;e++){var o=n[e];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function w(t,n){return(w=Object.setPrototypeOf||function(t,n){return t.__proto__=n,t})(t,n)}function O(t){var n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var e,o=C(t);if(n){var i=C(this).constructor;e=Reflect.construct(o,arguments,i)}else e=o.apply(this,arguments);return P(this,e)}}function P(t,n){return!n||"object"!==m(n)&&"function"!=typeof n?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):n}function C(t){return(C=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var x=function(t){!function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(n&&n.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),n&&w(t,n)}(g,t);var n,e,o,h=O(g);function g(t){return function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,g),h.call(this,t)}return n=g,(e=[{key:"regions",value:function(){return{notifications:{replaceElement:!0,el:".list-region",partialLoading:{component:a.a.ComponentCollection,options:{collectionLength:5,childOptions:{template:v.a,className:"px-1 py-2",viewOptions:{styles:d.a}}}}},pagination:{replaceElement:!0,el:".pagination-region"}}}},{key:"initialize",value:function(){this.notificationService=r.a.getInstance(c.b.Notification,this),this.appVariables=r.a.getInstance(u.a.NOTIFICATIONS,this)}},{key:"onData",value:function(t){this.collection=t,this.render()}},{key:"getCollectionIdentifier",value:function(){return this.collectionIdentifier?this.collectionIdentifier:this.collectionIdentifier=new l.a(Object.assign({collectionPrefix:s.a.NOTIFICATIONS},this.options.params))}},{key:"renderNotificationList",value:function(){var t=new f.b({collection:this.collection,childType:f.a.Default});this.showChildView("notifications",t)}},{key:"renderPagination",value:function(){if(this.collection.length){var t=this.notificationService.getNotificationsCursors(this.getCollectionIdentifier()),n=new p.a({cursors:t,appLink:Object.assign(Object.assign({},this.appVariables.appLinks.notifications),{args:[],params:this.getCollectionIdentifier().toParams()})});this.showChildView("pagination",n)}}},{key:"onBeforeRender",value:function(){var t=this;return this.collection||this.notificationService.getNotifications(this.options.params,this.getCollectionIdentifier(),(function(n){return t.onData(n)})),!!this.collection}},{key:"onRender",value:function(){this.renderNotificationList(),this.renderPagination()}},{key:"name",get:function(){return"NotificationsView"}},{key:"title",get:function(){return i.a.getPhrase(this.lang,"title")}},{key:"lang",get:function(){return"notifications.notifications"}},{key:"className",get:function(){return"notifications-container"}},{key:"template",get:function(){return y.a}}])&&k(n.prototype,e),o&&k(n,o),g}(o.a.View)}}]);
|