{"version":3,"file":"875b8c2ec6c0b615f791f9b.js?3.6.10.39095fcb9.1720035904389","mappings":"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","sources":["webpack://mono-repo/./node_modules/@material/dom/events.js","webpack://mono-repo/./node_modules/@material/dom/ponyfill.js","webpack://mono-repo/./node_modules/@material/menu-surface/util.js","webpack://mono-repo/./node_modules/@material/ripple/util.js","webpack://mono-repo/./node_modules/@material/tab-indicator/fading-foundation.js","webpack://mono-repo/./node_modules/@material/tab-indicator/sliding-foundation.js","webpack://mono-repo/./node_modules/@material/tab-scroller/rtl-default-scroller.js","webpack://mono-repo/./node_modules/@material/tab-scroller/rtl-negative-scroller.js","webpack://mono-repo/./node_modules/@material/tab-scroller/rtl-reverse-scroller.js","webpack://mono-repo/./node_modules/@material/tab-scroller/rtl-scroller.js","webpack://mono-repo/./node_modules/@material/tab-scroller/util.js","webpack://mono-repo/./packages/core-app/src/actions.js","webpack://mono-repo/./build-targets/theme/packages/core-app/src/actions.js","webpack://mono-repo/./packages/core-app/src/menus.js","webpack://mono-repo/./build-targets/theme/packages/core-app/src/menus.js","webpack://mono-repo/./packages/core-app/src/views/menuView.js","webpack://mono-repo/./build-targets/theme/packages/core-app/src/views/menuView.js","webpack://mono-repo/./packages/core-app/src/models/app.js","webpack://mono-repo/./packages/core-app/src/models/brand.js","webpack://mono-repo/./packages/core-app/src/views/appFullScreenView.js","webpack://mono-repo/./build-targets/theme/packages/core-app/src/views/appFullScreenView.js","webpack://mono-repo/./packages/core-app/src/views/appProgressView.js","webpack://mono-repo/./build-targets/theme/packages/core-app/src/views/appProgressView.js","webpack://mono-repo/./packages/core-app/src/models/optionTile.js","webpack://mono-repo/./packages/core-app/src/collections/optionTiles.js","webpack://mono-repo/./packages/core/src/lib/netx-analytics.js","webpack://mono-repo/./packages/core-app/src/controller.js","webpack://mono-repo/./build-targets/theme/packages/core-app/src/controller.js","webpack://mono-repo/./packages/core-app/src/index.js","webpack://mono-repo/./build-targets/theme/packages/core-app/src/views/advancedMenuItemView.js","webpack://mono-repo/./build-targets/theme/packages/core-app/src/views/advancedMenuView.js","webpack://mono-repo/./build-targets/theme/packages/core-app/src/index.js","webpack://mono-repo/./packages/core-app/src/routes.js","webpack://mono-repo/./build-targets/theme/packages/core-app/src/routes.js","webpack://mono-repo/./packages/core-app/src/views/appModalCrumbView.js","webpack://mono-repo/./build-targets/theme/packages/core-app/src/views/appModalCrumbView.js","webpack://mono-repo/./packages/core-app/src/views/appModalCrumbsView.js","webpack://mono-repo/./build-targets/theme/packages/core-app/src/views/appModalCrumbsView.js","webpack://mono-repo/./packages/core-app/src/views/appModalView.js","webpack://mono-repo/./build-targets/theme/packages/core-app/src/views/appModalView.js","webpack://mono-repo/./packages/core-app/src/views/confirmView.js","webpack://mono-repo/./build-targets/theme/packages/core-app/src/views/confirmView.js","webpack://mono-repo/./packages/core-auth/src/actions.js","webpack://mono-repo/./packages/core-auth/src/menus.js","webpack://mono-repo/./packages/core-auth/src/views/authSamlServiceView.js","webpack://mono-repo/./packages/core-auth/src/views/authUserLoginView.js","webpack://mono-repo/./build-targets/theme/packages/core-auth/src/views/authUserLoginView.js","webpack://mono-repo/./packages/core-auth/src/routes.js","webpack://mono-repo/./packages/core-auth/src/controller.js","webpack://mono-repo/./build-targets/theme/packages/core-auth/src/controller.js","webpack://mono-repo/./packages/core-auth/src/index.js","webpack://mono-repo/./packages/core-cart/src/config.js","webpack://mono-repo/./build-targets/theme/packages/core-cart/src/config.js","webpack://mono-repo/./packages/core-category/src/collections/categoryTreeNodes.js","webpack://mono-repo/./build-targets/theme/packages/core-category/src/collections/categoryTreeNodes.js","webpack://mono-repo/./packages/core-category/src/config.js","webpack://mono-repo/./build-targets/theme/packages/core-category/src/config.js","webpack://mono-repo/./packages/core-notification/src/actions.js","webpack://mono-repo/./build-targets/theme/packages/core-notification/src/actions.js","webpack://mono-repo/./packages/core-notification/src/menus.js","webpack://mono-repo/./packages/core-notification/src/routes.js","webpack://mono-repo/./packages/core-notification/src/controller.js","webpack://mono-repo/./packages/core-notification/src/index.js","webpack://mono-repo/./build-targets/theme/packages/core/src/controller.js","webpack://mono-repo/./build-targets/theme/packages/core/src/functionality/materialCheckboxes.js","webpack://mono-repo/./build-targets/theme/packages/core/src/functionality/materialMenus.js","webpack://mono-repo/./build-targets/theme/packages/core/src/functionality/materialRipples.js","webpack://mono-repo/./build-targets/theme/packages/core/src/functionality/patches/mdc-textfield.js","webpack://mono-repo/./build-targets/theme/packages/core/src/functionality/materialTextFields.js","webpack://mono-repo/./build-targets/theme/packages/core/src/functionality/patches/mdc-list.js","webpack://mono-repo/./packages/core/src/lib/netx-plugins.js","webpack://mono-repo/./packages/core/src/lib/netx-view.js","webpack://mono-repo/./build-targets/theme/packages/core/src/lib/netx-view.js","webpack://mono-repo/./packages/core-app/src/collections/appViews.js","webpack://mono-repo/./packages/core-app/src/collections/customForm.js","webpack://mono-repo/./packages/core-app/src/collections/storageLocations.js","webpack://mono-repo/./packages/core-app/src/enablers.js","webpack://mono-repo/./packages/core-app/src/models/appView.js","webpack://mono-repo/./packages/core-app/src/models/customFormElement.js","webpack://mono-repo/./packages/core-app/src/models/pager.js","webpack://mono-repo/./packages/core-app/src/models/progress.js","webpack://mono-repo/./packages/core-app/src/models/sorter.js","webpack://mono-repo/./packages/core-app/src/models/storageLocation.js","webpack://mono-repo/./packages/core-app/src/properties/autocomplete.ts","webpack://mono-repo/./packages/core-app/src/properties/locations.js","webpack://mono-repo/./packages/core-app/src/singletons/appViews.ts","webpack://mono-repo/./packages/core-app/src/views/appBodyView.js","webpack://mono-repo/./build-targets/theme/packages/core-app/src/views/appBodyView.js","webpack://mono-repo/./packages/core-app/src/singletons/bodyViews.ts","webpack://mono-repo/./packages/core-app/src/singletons/fsViews.ts","webpack://mono-repo/./packages/core-app/src/singletons/modalViews.ts","webpack://mono-repo/./packages/core-app/src/views/alertView.js","webpack://mono-repo/./packages/core-asset-expiration/src/constants.ts","webpack://mono-repo/./packages/core-asset-expiration/src/enablers.ts","webpack://mono-repo/./packages/core-asset-expiration/src/utils/assetExpirationToDateString.ts","webpack://mono-repo/./packages/core-asset-expiration/src/utils/assetExpires.ts","webpack://mono-repo/./packages/core-asset-expiration/src/utils/userInputToExpirationTime.ts","webpack://mono-repo/./packages/core-asset-next/src/constants.ts","webpack://mono-repo/./packages/core-asset-next/src/defaults.ts","webpack://mono-repo/./packages/core-asset-next/src/enablers/assetNotCheckedOut.ts","webpack://mono-repo/./packages/core-asset-next/src/enablers/canCheckin.ts","webpack://mono-repo/./packages/core-asset-next/src/enablers/canCheckout.ts","webpack://mono-repo/./packages/core-asset-next/src/enablers/canCreateShareLinkFromAsset.ts","webpack://mono-repo/./packages/core-asset-next/src/enablers/canCreateEmbedLinkFromAsset.ts","webpack://mono-repo/./packages/core-asset-next/src/enablers/canCreatePdfFromAsset.ts","webpack://mono-repo/./packages/core-asset-next/src/enablers/canDeleteAsset.ts","webpack://mono-repo/./packages/core-asset-next/src/enablers/canDownloadAsset.ts","webpack://mono-repo/./packages/core-asset-next/src/enablers/canLockAsset.ts","webpack://mono-repo/./packages/core-asset-next/src/enablers/canOrganizeAsset.ts","webpack://mono-repo/./packages/core-asset-next/src/enablers/canPublishAsset.ts","webpack://mono-repo/./packages/core-asset-next/src/enablers/canReimportAsset.ts","webpack://mono-repo/./packages/core-asset-next/src/enablers/canResyncAsset.ts","webpack://mono-repo/./packages/core-asset-next/src/enablers/canUnlockAsset.ts","webpack://mono-repo/./packages/core-asset-next/src/enablers/checksumEnabled.ts","webpack://mono-repo/./packages/core-asset-next/src/schema/asset/assetSchema.ts","webpack://mono-repo/./packages/core-asset-next/src/schema/assetAutoListItem/assetAutoListItemSchema.ts","webpack://mono-repo/./packages/core-asset-next/src/schema/assetTask/assetTaskSchema.ts","webpack://mono-repo/./packages/core-asset-project/src/constants.ts","webpack://mono-repo/./packages/core-asset-project/src/enablers.ts","webpack://mono-repo/./packages/core-asset-set/src/schema/assetSetSchema.ts","webpack://mono-repo/./packages/core-asset-set/src/schema/downloadOptionSchema.ts","webpack://mono-repo/./packages/core-asset-set/src/schema/downloadWarnings.ts","webpack://mono-repo/./packages/core-asset-views/src/api/getViewObjectsForAsset.ts","webpack://mono-repo/./packages/core-asset-views/src/api/react-query/getViewObjectsForAsset.ts","webpack://mono-repo/./packages/core-asset-views/src/schema/assetViews/assetViewsSchema.ts","webpack://mono-repo/./packages/core-asset/src/collections/attributeDatum.js","webpack://mono-repo/./packages/core-asset/src/models/assetAttributeData.js","webpack://mono-repo/./packages/core-asset/src/collections/assetAttributeDatum.js","webpack://mono-repo/./packages/core-asset/src/collections/assetConstituents_.js","webpack://mono-repo/./packages/core-asset/src/models/assetConstituent_keyframe.js","webpack://mono-repo/./packages/core-asset/src/models/assetConstituent_layer.js","webpack://mono-repo/./packages/core-asset/src/models/assetConstituent_page.js","webpack://mono-repo/./packages/core-asset/src/collections/assetConstituents.js","webpack://mono-repo/./packages/core-asset/src/collections/assetConstituents_clips.js","webpack://mono-repo/./packages/core-asset/src/collections/assetConstituents_keyframes.js","webpack://mono-repo/./packages/core-asset/src/collections/assetConstituents_layers.js","webpack://mono-repo/./packages/core-asset/src/collections/assetConstituents_pages.js","webpack://mono-repo/./packages/core-asset/src/collections/assets.js","webpack://mono-repo/./packages/core-asset/src/collections/attributeProfiles.js","webpack://mono-repo/./packages/core-asset/src/models/pendingAsset.js","webpack://mono-repo/./packages/core-asset/src/collections/pendingAssets.js","webpack://mono-repo/./packages/core-asset/src/collections/singleton/pendingAssets.ts","webpack://mono-repo/./packages/core-asset/src/constants.ts","webpack://mono-repo/./packages/core-asset/src/models/assetConstituent.js","webpack://mono-repo/./packages/core-asset/src/models/assetConstituent_clip.js","webpack://mono-repo/./packages/core-asset/src/models/assetSet.js","webpack://mono-repo/./packages/core-asset/src/models/assetVersion.js","webpack://mono-repo/./packages/core-asset/src/models/attribute.js","webpack://mono-repo/./packages/core-asset/src/models/attributeData.js","webpack://mono-repo/./packages/core-asset/src/models/attributeProfileAttribute.js","webpack://mono-repo/./packages/core-asset/src/collections/attributeProfileAttributes.js","webpack://mono-repo/./packages/core-asset/src/models/attributeProfile.js","webpack://mono-repo/./packages/core-asset/src/models/attribute_date.js","webpack://mono-repo/./packages/core-asset/src/models/attribute_multiselect.js","webpack://mono-repo/./packages/core-asset/src/models/attribute_number.js","webpack://mono-repo/./packages/core-asset/src/models/attribute_select.js","webpack://mono-repo/./packages/core-asset/src/models/attribute_semantic.js","webpack://mono-repo/./packages/core-asset/src/models/attribute_tag.js","webpack://mono-repo/./packages/core-asset/src/models/attribute_tagVocab.js","webpack://mono-repo/./packages/core-asset/src/models/attribute_text.js","webpack://mono-repo/./packages/core-asset/src/models/attribute_textarea.js","webpack://mono-repo/./packages/core-asset/src/properties/assetAttributesMetadata.js","webpack://mono-repo/./packages/core-asset/src/properties/assetSets.js","webpack://mono-repo/./packages/core-asset/src/utils/assetHasAudio.ts","webpack://mono-repo/./packages/core-asset/src/utils/assetHasPdf.ts","webpack://mono-repo/./packages/core-asset/src/utils/assetHasVideo.ts","webpack://mono-repo/./packages/core-asset/src/utils/getAssetFileSizeLabel.ts","webpack://mono-repo/./packages/core-asset/src/utils/assetIsPresent.ts","webpack://mono-repo/./packages/core-asset/src/utils/createAssetObject.ts","webpack://mono-repo/./packages/core-asset/src/utils/isVideoFileTypeAsset.ts","webpack://mono-repo/./packages/core-asset/src/utils/getGeneralAssetFileType.ts","webpack://mono-repo/./packages/core-asset/src/utils/isDocumentFileTypeAsset.ts","webpack://mono-repo/./packages/core-asset/src/utils/isImageFileTypeAsset.ts","webpack://mono-repo/./packages/core-asset/src/utils/getMediaFileTypeAssetInfoLabel.ts","webpack://mono-repo/./packages/core-asset/src/utils/getAssetFileTypeInfoLabel.ts","webpack://mono-repo/./packages/core-asset/src/utils/getDocumentFileTypeAssetInfoLabel.ts","webpack://mono-repo/./packages/core-asset/src/utils/getImageFileTypeAssetInfoLabel.ts","webpack://mono-repo/./packages/core-asset/src/utils/isAssetCheckedOut.ts","webpack://mono-repo/./packages/core-asset/src/utils/isDefaultIcon.ts","webpack://mono-repo/./packages/core-asset/src/utils/routeToAsset.ts","webpack://mono-repo/./packages/core-asset/src/utils/isMediaFileTypeAsset.ts","webpack://mono-repo/./packages/core-attribute-history/src/constants.ts","webpack://mono-repo/./packages/core-attribute-history/src/enablers.ts","webpack://mono-repo/./packages/core-attribute-profile/src/constants.ts","webpack://mono-repo/./packages/core-attribute-profile/src/enablers.ts","webpack://mono-repo/./packages/core-attribute-profile/src/locales.ts","webpack://mono-repo/./packages/core-attribute-profile/src/actions/constants.ts","webpack://mono-repo/./packages/core-attribute-profile/src/actions/attribute-profiles-system-route.ts","webpack://mono-repo/./packages/core-attribute-smart-labels/src/enablers.ts","webpack://mono-repo/./packages/core-attribute-vocabulary/src/constants.ts","webpack://mono-repo/./packages/core-attribute-vocabulary/src/enablers/attributeVocabulariesEnabled.ts","webpack://mono-repo/./packages/core-attribute/src/locales.ts","webpack://mono-repo/./packages/core-attribute/src/singletons/attributeTemplates.ts","webpack://mono-repo/./packages/core-attribute/src/utils/getLabel.ts","webpack://mono-repo/./packages/core-attribute/src/utils/getTypeLabel.ts","webpack://mono-repo/./packages/core-attribute/src/utils/getTypeName.ts","webpack://mono-repo/./packages/core-auth-next/src/utils/getAuthorizationHeader.ts","webpack://mono-repo/./packages/core-auth-next/src/utils/canRequestPasswordReset.ts","webpack://mono-repo/./packages/core-auth-next/src/utils/canSelfRegister.ts","webpack://mono-repo/./packages/core-cart/src/collections/cartAssets.js","webpack://mono-repo/./packages/core-cart/src/collections/savedCarts.js","webpack://mono-repo/./packages/core-cart/src/models/savedCart.js","webpack://mono-repo/./packages/core-cart/src/properties/cartAssetArchive.js","webpack://mono-repo/./packages/core-cart/src/singletons/savedCarts.ts","webpack://mono-repo/./packages/core-category/src/models/categoryDetailsData.js","webpack://mono-repo/./packages/core-category/src/models/category.js","webpack://mono-repo/./packages/core-cms/src/services/settings/constants.ts","webpack://mono-repo/./packages/core-cms/src/services/settings/utils/hasUpdatedAttributesSystem.ts","webpack://mono-repo/./packages/core-constituents/src/constants.ts","webpack://mono-repo/./packages/core-constituents/src/enablers.ts","webpack://mono-repo/./packages/core-data-set/src/constants.ts","webpack://mono-repo/./packages/core-data-set/src/enablers.ts","webpack://mono-repo/./packages/core-download-request/src/actions/constants.ts","webpack://mono-repo/./packages/core-download-request/src/actions/download-request-approve-all.ts","webpack://mono-repo/./packages/core-download-request/src/actions/download-request-deny-all.ts","webpack://mono-repo/./packages/core-download-request/src/actions/download-request-view-assets.ts","webpack://mono-repo/./packages/core-download-request/src/actions/download-requests-manage-route.ts","webpack://mono-repo/./packages/core-download-request/src/enablers.ts","webpack://mono-repo/./packages/core-download-request/src/constants.ts","webpack://mono-repo/./packages/core-download-request/src/locales.ts","webpack://mono-repo/./packages/core-download-request/src/schema/downloadRequest/downloadRequestScheme.ts","webpack://mono-repo/./packages/core-download-request/src/schema/downloadRequest/downloadRequestFilter.ts","webpack://mono-repo/./packages/core-download-request/src/schema/downloadRequest/downloadRequestSort.ts","webpack://mono-repo/./packages/core-download-request/src/schema/downloadRequestApproval/downloadRequestApprovalSchema.ts","webpack://mono-repo/./packages/core-download-request/src/schema/downloadRequestDetails/downloadRequestDetailsSchema.ts","webpack://mono-repo/./packages/core-next/src/utils/api/getResponseResults.ts","webpack://mono-repo/./packages/core-next/src/utils/time/secondsToHms.ts","webpack://mono-repo/./packages/core-next/src/whenReady.ts","webpack://mono-repo/./packages/core-notification/src/models/notification.js","webpack://mono-repo/./packages/core-notification/src/collections/notifications.js","webpack://mono-repo/./packages/core-notification/src/singletons/notification.ts","webpack://mono-repo/./packages/core-permissions/src/collections/participants.js","webpack://mono-repo/./packages/core-permissions/src/constants.ts","webpack://mono-repo/./packages/core-permissions/src/models/participant.js","webpack://mono-repo/./packages/core-permissions/src/models/permission.js","webpack://mono-repo/./packages/core-permissions/src/models/permissionParticipant.js","webpack://mono-repo/./packages/core-permissions/src/collections/permissionsParticipants.js","webpack://mono-repo/./packages/core-permissions/src/collections/permissions.js","webpack://mono-repo/./packages/core-permissions/src/models/permissionResource.js","webpack://mono-repo/./packages/core-permissions/src/properties/actions.js","webpack://mono-repo/./packages/core-permissions/src/properties/assetPermissions.ts","webpack://mono-repo/./packages/core-permissions/src/properties/permissions.ts","webpack://mono-repo/./packages/core-permissions/src/schema/permissionMatrixSchema.ts","webpack://mono-repo/./packages/core-permissions/src/utils/allows.ts","webpack://mono-repo/./packages/core-search/src/collections/searchRules.js","webpack://mono-repo/./packages/core-search/src/models/searchRule_asset.js","webpack://mono-repo/./packages/core-search/src/models/searchFacetOption.js","webpack://mono-repo/./packages/core-search/src/collections/searchFacetOptions.js","webpack://mono-repo/./packages/core-search/src/models/searchFacet.js","webpack://mono-repo/./packages/core-search/src/collections/searchFacetsSelected.js","webpack://mono-repo/./packages/core-search/src/collections/searchFacets.js","webpack://mono-repo/./packages/core-search/src/collections/searchRules_assets.js","webpack://mono-repo/./packages/core-search/src/collections/savedSearches.js","webpack://mono-repo/./packages/core-search/src/collections/singleton/savedSearch.ts","webpack://mono-repo/./packages/core-search/src/config.js","webpack://mono-repo/./packages/core-search/src/models/savedSearch.js","webpack://mono-repo/./packages/core-search/src/models/searchRule.js","webpack://mono-repo/./packages/core-search/src/properties/search.js","webpack://mono-repo/./packages/core-share-media-service/src/constants.ts","webpack://mono-repo/./packages/core-share-media-service/src/enablers.ts","webpack://mono-repo/./packages/core-share/src/models/downloadOption.js","webpack://mono-repo/./packages/core-share/src/collections/downloadOptions.js","webpack://mono-repo/./packages/core-share/src/collections/sharedResources.js","webpack://mono-repo/./packages/core-share/src/models/shareable.js","webpack://mono-repo/./packages/core-share/src/models/sharedResource.js","webpack://mono-repo/./packages/core-share/src/properties/downloadOptions.js","webpack://mono-repo/./packages/core-upload/src/enablers.js","webpack://mono-repo/./packages/core-user-next/src/utils/currentUserMeetsUserLevel.ts","webpack://mono-repo/./packages/core-user-next/src/utils/getUserLevel.ts","webpack://mono-repo/./packages/core-user-next/src/utils/getCorrectedUserSelector.ts","webpack://mono-repo/./packages/core-user-next/src/utils/getUserId.ts","webpack://mono-repo/./packages/core-user-next/src/utils/isPublicUser.ts","webpack://mono-repo/./packages/core-user-next/src/utils/setPreference.ts","webpack://mono-repo/./packages/core-user/src/collections/groups.js","webpack://mono-repo/./packages/core-user/src/collections/singletons/userProfile.ts","webpack://mono-repo/./packages/core-user/src/collections/users.js","webpack://mono-repo/./packages/core-user/src/constants.ts","webpack://mono-repo/./packages/core-user/src/models/group.js","webpack://mono-repo/./packages/core-user/src/models/userProfile.js","webpack://mono-repo/./packages/core/src/functionality/childViews.js","webpack://mono-repo/./packages/core-app/src/views/formErrorListItemView.js","webpack://mono-repo/./packages/core-app/src/views/formErrorListView.js","webpack://mono-repo/./src/js/lib/formValidation-netx.js","webpack://mono-repo/./packages/core/src/functionality/form.js","webpack://mono-repo/./packages/core/src/legacyMenuManager.ts","webpack://mono-repo/./packages/core/src/lib/netx-autocomplete.js","webpack://mono-repo/./packages/core/src/lib/netx-enablers.js","webpack://mono-repo/./packages/core/src/lib/netx-menu.js","webpack://mono-repo/./packages/core/src/lib/netx-moment.ts","webpack://mono-repo/./packages/core-app/src/collections/appViewsQueue.js","webpack://mono-repo/./packages/core/src/lib/netx-multiView.js","webpack://mono-repo/./packages/core/src/utils/extendBackboneActions.ts","webpack://mono-repo/./packages/core/src/utils/randomChars.ts","webpack://mono-repo/./node_modules/moment/locale/de-at.js","webpack://mono-repo/./node_modules/moment/locale/de-ch.js","webpack://mono-repo/./node_modules/moment/locale/de.js","webpack://mono-repo/./node_modules/moment/locale/en-au.js","webpack://mono-repo/./node_modules/moment/locale/en-ca.js","webpack://mono-repo/./node_modules/moment/locale/en-gb.js","webpack://mono-repo/./node_modules/moment/locale/en-ie.js","webpack://mono-repo/./node_modules/moment/locale/en-il.js","webpack://mono-repo/./node_modules/moment/locale/en-in.js","webpack://mono-repo/./node_modules/moment/locale/en-nz.js","webpack://mono-repo/./node_modules/moment/locale/en-sg.js","webpack://mono-repo/./node_modules/moment/locale/es-do.js","webpack://mono-repo/./node_modules/moment/locale/es-mx.js","webpack://mono-repo/./node_modules/moment/locale/es-us.js","webpack://mono-repo/./node_modules/moment/locale/es.js","webpack://mono-repo/./node_modules/moment/locale/fr-ca.js","webpack://mono-repo/./node_modules/moment/locale/fr-ch.js","webpack://mono-repo/./node_modules/moment/locale/fr.js","webpack://mono-repo/./node_modules/moment/locale/gom-deva.js","webpack://mono-repo/./node_modules/moment/locale/ja.js","webpack://mono-repo/./node_modules/moment/locale/ ./node_modules/moment/locale/ sync ^\\.\\/.*$","webpack://mono-repo/./node_modules/react-dom/client.js","webpack://mono-repo/./build-targets/theme/packages/core-app/src/templates/advancedMenuItemView.html","webpack://mono-repo/./build-targets/theme/packages/core-app/src/templates/advancedMenuView.html","webpack://mono-repo/./build-targets/theme/packages/core-app/src/templates/alertView.html","webpack://mono-repo/./build-targets/theme/packages/core-app/src/templates/appBodyView.html","webpack://mono-repo/./build-targets/theme/packages/core-app/src/templates/appFullScreenView.html","webpack://mono-repo/./build-targets/theme/packages/core-app/src/templates/appModalCrumbView.html","webpack://mono-repo/./build-targets/theme/packages/core-app/src/templates/appModalCrumbsView.html","webpack://mono-repo/./build-targets/theme/packages/core-app/src/templates/appModalView.html","webpack://mono-repo/./build-targets/theme/packages/core-app/src/templates/appProgressView.html","webpack://mono-repo/./build-targets/theme/packages/core-app/src/templates/confirmView.html","webpack://mono-repo/./build-targets/theme/packages/core-app/src/templates/empty.html","webpack://mono-repo/./build-targets/theme/packages/core-app/src/templates/formErrorListItemView.html","webpack://mono-repo/./build-targets/theme/packages/core-app/src/templates/formErrorListView.html","webpack://mono-repo/./build-targets/theme/packages/core-app/src/templates/menuView-actionIconsInline.html","webpack://mono-repo/./build-targets/theme/packages/core-app/src/templates/menuView-assetDetailActions.html","webpack://mono-repo/./build-targets/theme/packages/core-app/src/templates/menuView-cartBarActions.html","webpack://mono-repo/./build-targets/theme/packages/core-app/src/templates/menuView-context.html","webpack://mono-repo/./build-targets/theme/packages/core-app/src/templates/menuView-headerActions.html","webpack://mono-repo/./build-targets/theme/packages/core-app/src/templates/menuView-listHeaderActions.html","webpack://mono-repo/./build-targets/theme/packages/core-app/src/templates/menuView-podActions.html","webpack://mono-repo/./build-targets/theme/packages/core-app/src/templates/menuView.html","webpack://mono-repo/./packages/core-app/src/templates/empty.html","webpack://mono-repo/./npm/javascript-detect-element-resize/detect-element-resize.js","webpack://mono-repo/./src/js/lib/base64.js","webpack://mono-repo/./src/js/lib/bootstrap-netx.js","webpack://mono-repo/./src/js/lib/imagesloaded.pkgd.js"],"sourcesContent":["/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n/**\n * Stores result from applyPassive to avoid redundant processing to detect\n * passive event listener support.\n */\nvar supportsPassive_;\n/**\n * Determine whether the current browser supports passive event listeners, and\n * if so, use them.\n */\nexport function applyPassive(globalObj, forceRefresh) {\n if (globalObj === void 0) { globalObj = window; }\n if (forceRefresh === void 0) { forceRefresh = false; }\n if (supportsPassive_ === undefined || forceRefresh) {\n var isSupported_1 = false;\n try {\n globalObj.document.addEventListener('test', function () { return undefined; }, {\n get passive() {\n isSupported_1 = true;\n return isSupported_1;\n },\n });\n }\n catch (e) {\n } // tslint:disable-line:no-empty cannot throw error due to tests. tslint also disables console.log.\n supportsPassive_ = isSupported_1;\n }\n return supportsPassive_ ? { passive: true } : false;\n}\n//# sourceMappingURL=events.js.map","/**\n * @license\n * Copyright 2018 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n/**\n * @fileoverview A \"ponyfill\" is a polyfill that doesn't modify the global prototype chain.\n * This makes ponyfills safer than traditional polyfills, especially for libraries like MDC.\n */\nexport function closest(element, selector) {\n if (element.closest) {\n return element.closest(selector);\n }\n var el = element;\n while (el) {\n if (matches(el, selector)) {\n return el;\n }\n el = el.parentElement;\n }\n return null;\n}\nexport function matches(element, selector) {\n var nativeMatches = element.matches\n || element.webkitMatchesSelector\n || element.msMatchesSelector;\n return nativeMatches.call(element, selector);\n}\n//# sourceMappingURL=ponyfill.js.map","/**\n * @license\n * Copyright 2018 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nvar cachedCssTransformPropertyName_;\n/**\n * Returns the name of the correct transform property to use on the current browser.\n */\nfunction getTransformPropertyName(globalObj, forceRefresh) {\n if (forceRefresh === void 0) { forceRefresh = false; }\n if (cachedCssTransformPropertyName_ === undefined || forceRefresh) {\n var el = globalObj.document.createElement('div');\n cachedCssTransformPropertyName_ = 'transform' in el.style ? 'transform' : 'webkitTransform';\n }\n return cachedCssTransformPropertyName_;\n}\nexport { getTransformPropertyName };\n//# sourceMappingURL=util.js.map","/**\n * Stores result from supportsCssVariables to avoid redundant processing to\n * detect CSS custom variable support.\n */\nvar supportsCssVariables_;\nfunction detectEdgePseudoVarBug(windowObj) {\n // Detect versions of Edge with buggy var() support\n // See: https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/11495448/\n var document = windowObj.document;\n var node = document.createElement('div');\n node.className = 'mdc-ripple-surface--test-edge-var-bug';\n // Append to head instead of body because this script might be invoked in the\n // head, in which case the body doesn't exist yet. The probe works either way.\n document.head.appendChild(node);\n // The bug exists if ::before style ends up propagating to the parent element.\n // Additionally, getComputedStyle returns null in iframes with display: \"none\" in Firefox,\n // but Firefox is known to support CSS custom properties correctly.\n // See: https://bugzilla.mozilla.org/show_bug.cgi?id=548397\n var computedStyle = windowObj.getComputedStyle(node);\n var hasPseudoVarBug = computedStyle !== null && computedStyle.borderTopStyle === 'solid';\n if (node.parentNode) {\n node.parentNode.removeChild(node);\n }\n return hasPseudoVarBug;\n}\nexport function supportsCssVariables(windowObj, forceRefresh) {\n if (forceRefresh === void 0) { forceRefresh = false; }\n var CSS = windowObj.CSS;\n var supportsCssVars = supportsCssVariables_;\n if (typeof supportsCssVariables_ === 'boolean' && !forceRefresh) {\n return supportsCssVariables_;\n }\n var supportsFunctionPresent = CSS && typeof CSS.supports === 'function';\n if (!supportsFunctionPresent) {\n return false;\n }\n var explicitlySupportsCssVars = CSS.supports('--css-vars', 'yes');\n // See: https://bugs.webkit.org/show_bug.cgi?id=154669\n // See: README section on Safari\n var weAreFeatureDetectingSafari10plus = (CSS.supports('(--css-vars: yes)') &&\n CSS.supports('color', '#00000000'));\n if (explicitlySupportsCssVars || weAreFeatureDetectingSafari10plus) {\n supportsCssVars = !detectEdgePseudoVarBug(windowObj);\n }\n else {\n supportsCssVars = false;\n }\n if (!forceRefresh) {\n supportsCssVariables_ = supportsCssVars;\n }\n return supportsCssVars;\n}\nexport function getNormalizedEventCoords(evt, pageOffset, clientRect) {\n if (!evt) {\n return { x: 0, y: 0 };\n }\n var x = pageOffset.x, y = pageOffset.y;\n var documentX = x + clientRect.left;\n var documentY = y + clientRect.top;\n var normalizedX;\n var normalizedY;\n // Determine touch point relative to the ripple container.\n if (evt.type === 'touchstart') {\n var touchEvent = evt;\n normalizedX = touchEvent.changedTouches[0].pageX - documentX;\n normalizedY = touchEvent.changedTouches[0].pageY - documentY;\n }\n else {\n var mouseEvent = evt;\n normalizedX = mouseEvent.pageX - documentX;\n normalizedY = mouseEvent.pageY - documentY;\n }\n return { x: normalizedX, y: normalizedY };\n}\n//# sourceMappingURL=util.js.map","/**\n * @license\n * Copyright 2018 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nimport * as tslib_1 from \"tslib\";\nimport { MDCTabIndicatorFoundation } from './foundation';\n/* istanbul ignore next: subclass is not a branch statement */\nvar MDCFadingTabIndicatorFoundation = /** @class */ (function (_super) {\n tslib_1.__extends(MDCFadingTabIndicatorFoundation, _super);\n function MDCFadingTabIndicatorFoundation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n MDCFadingTabIndicatorFoundation.prototype.activate = function () {\n this.adapter_.addClass(MDCTabIndicatorFoundation.cssClasses.ACTIVE);\n };\n MDCFadingTabIndicatorFoundation.prototype.deactivate = function () {\n this.adapter_.removeClass(MDCTabIndicatorFoundation.cssClasses.ACTIVE);\n };\n return MDCFadingTabIndicatorFoundation;\n}(MDCTabIndicatorFoundation));\nexport { MDCFadingTabIndicatorFoundation };\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\nexport default MDCFadingTabIndicatorFoundation;\n//# sourceMappingURL=fading-foundation.js.map","/**\n * @license\n * Copyright 2018 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nimport * as tslib_1 from \"tslib\";\nimport { MDCTabIndicatorFoundation } from './foundation';\n/* istanbul ignore next: subclass is not a branch statement */\nvar MDCSlidingTabIndicatorFoundation = /** @class */ (function (_super) {\n tslib_1.__extends(MDCSlidingTabIndicatorFoundation, _super);\n function MDCSlidingTabIndicatorFoundation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n MDCSlidingTabIndicatorFoundation.prototype.activate = function (previousIndicatorClientRect) {\n // Early exit if no indicator is present to handle cases where an indicator\n // may be activated without a prior indicator state\n if (!previousIndicatorClientRect) {\n this.adapter_.addClass(MDCTabIndicatorFoundation.cssClasses.ACTIVE);\n return;\n }\n // This animation uses the FLIP approach. You can read more about it at the link below:\n // https://aerotwist.com/blog/flip-your-animations/\n // Calculate the dimensions based on the dimensions of the previous indicator\n var currentClientRect = this.computeContentClientRect();\n var widthDelta = previousIndicatorClientRect.width / currentClientRect.width;\n var xPosition = previousIndicatorClientRect.left - currentClientRect.left;\n this.adapter_.addClass(MDCTabIndicatorFoundation.cssClasses.NO_TRANSITION);\n this.adapter_.setContentStyleProperty('transform', \"translateX(\" + xPosition + \"px) scaleX(\" + widthDelta + \")\");\n // Force repaint before updating classes and transform to ensure the transform properly takes effect\n this.computeContentClientRect();\n this.adapter_.removeClass(MDCTabIndicatorFoundation.cssClasses.NO_TRANSITION);\n this.adapter_.addClass(MDCTabIndicatorFoundation.cssClasses.ACTIVE);\n this.adapter_.setContentStyleProperty('transform', '');\n };\n MDCSlidingTabIndicatorFoundation.prototype.deactivate = function () {\n this.adapter_.removeClass(MDCTabIndicatorFoundation.cssClasses.ACTIVE);\n };\n return MDCSlidingTabIndicatorFoundation;\n}(MDCTabIndicatorFoundation));\nexport { MDCSlidingTabIndicatorFoundation };\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\nexport default MDCSlidingTabIndicatorFoundation;\n//# sourceMappingURL=sliding-foundation.js.map","/**\n * @license\n * Copyright 2018 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nimport * as tslib_1 from \"tslib\";\nimport { MDCTabScrollerRTL } from './rtl-scroller';\nvar MDCTabScrollerRTLDefault = /** @class */ (function (_super) {\n tslib_1.__extends(MDCTabScrollerRTLDefault, _super);\n function MDCTabScrollerRTLDefault() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n MDCTabScrollerRTLDefault.prototype.getScrollPositionRTL = function () {\n var currentScrollLeft = this.adapter_.getScrollAreaScrollLeft();\n var right = this.calculateScrollEdges_().right;\n // Scroll values on most browsers are ints instead of floats so we round\n return Math.round(right - currentScrollLeft);\n };\n MDCTabScrollerRTLDefault.prototype.scrollToRTL = function (scrollX) {\n var edges = this.calculateScrollEdges_();\n var currentScrollLeft = this.adapter_.getScrollAreaScrollLeft();\n var clampedScrollLeft = this.clampScrollValue_(edges.right - scrollX);\n return {\n finalScrollPosition: clampedScrollLeft,\n scrollDelta: clampedScrollLeft - currentScrollLeft,\n };\n };\n MDCTabScrollerRTLDefault.prototype.incrementScrollRTL = function (scrollX) {\n var currentScrollLeft = this.adapter_.getScrollAreaScrollLeft();\n var clampedScrollLeft = this.clampScrollValue_(currentScrollLeft - scrollX);\n return {\n finalScrollPosition: clampedScrollLeft,\n scrollDelta: clampedScrollLeft - currentScrollLeft,\n };\n };\n MDCTabScrollerRTLDefault.prototype.getAnimatingScrollPosition = function (scrollX) {\n return scrollX;\n };\n MDCTabScrollerRTLDefault.prototype.calculateScrollEdges_ = function () {\n var contentWidth = this.adapter_.getScrollContentOffsetWidth();\n var rootWidth = this.adapter_.getScrollAreaOffsetWidth();\n return {\n left: 0,\n right: contentWidth - rootWidth,\n };\n };\n MDCTabScrollerRTLDefault.prototype.clampScrollValue_ = function (scrollX) {\n var edges = this.calculateScrollEdges_();\n return Math.min(Math.max(edges.left, scrollX), edges.right);\n };\n return MDCTabScrollerRTLDefault;\n}(MDCTabScrollerRTL));\nexport { MDCTabScrollerRTLDefault };\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\nexport default MDCTabScrollerRTLDefault;\n//# sourceMappingURL=rtl-default-scroller.js.map","/**\n * @license\n * Copyright 2018 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nimport * as tslib_1 from \"tslib\";\nimport { MDCTabScrollerRTL } from './rtl-scroller';\nvar MDCTabScrollerRTLNegative = /** @class */ (function (_super) {\n tslib_1.__extends(MDCTabScrollerRTLNegative, _super);\n function MDCTabScrollerRTLNegative() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n MDCTabScrollerRTLNegative.prototype.getScrollPositionRTL = function (translateX) {\n var currentScrollLeft = this.adapter_.getScrollAreaScrollLeft();\n return Math.round(translateX - currentScrollLeft);\n };\n MDCTabScrollerRTLNegative.prototype.scrollToRTL = function (scrollX) {\n var currentScrollLeft = this.adapter_.getScrollAreaScrollLeft();\n var clampedScrollLeft = this.clampScrollValue_(-scrollX);\n return {\n finalScrollPosition: clampedScrollLeft,\n scrollDelta: clampedScrollLeft - currentScrollLeft,\n };\n };\n MDCTabScrollerRTLNegative.prototype.incrementScrollRTL = function (scrollX) {\n var currentScrollLeft = this.adapter_.getScrollAreaScrollLeft();\n var clampedScrollLeft = this.clampScrollValue_(currentScrollLeft - scrollX);\n return {\n finalScrollPosition: clampedScrollLeft,\n scrollDelta: clampedScrollLeft - currentScrollLeft,\n };\n };\n MDCTabScrollerRTLNegative.prototype.getAnimatingScrollPosition = function (scrollX, translateX) {\n return scrollX - translateX;\n };\n MDCTabScrollerRTLNegative.prototype.calculateScrollEdges_ = function () {\n var contentWidth = this.adapter_.getScrollContentOffsetWidth();\n var rootWidth = this.adapter_.getScrollAreaOffsetWidth();\n return {\n left: rootWidth - contentWidth,\n right: 0,\n };\n };\n MDCTabScrollerRTLNegative.prototype.clampScrollValue_ = function (scrollX) {\n var edges = this.calculateScrollEdges_();\n return Math.max(Math.min(edges.right, scrollX), edges.left);\n };\n return MDCTabScrollerRTLNegative;\n}(MDCTabScrollerRTL));\nexport { MDCTabScrollerRTLNegative };\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\nexport default MDCTabScrollerRTLNegative;\n//# sourceMappingURL=rtl-negative-scroller.js.map","/**\n * @license\n * Copyright 2018 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nimport * as tslib_1 from \"tslib\";\nimport { MDCTabScrollerRTL } from './rtl-scroller';\nvar MDCTabScrollerRTLReverse = /** @class */ (function (_super) {\n tslib_1.__extends(MDCTabScrollerRTLReverse, _super);\n function MDCTabScrollerRTLReverse() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n MDCTabScrollerRTLReverse.prototype.getScrollPositionRTL = function (translateX) {\n var currentScrollLeft = this.adapter_.getScrollAreaScrollLeft();\n // Scroll values on most browsers are ints instead of floats so we round\n return Math.round(currentScrollLeft - translateX);\n };\n MDCTabScrollerRTLReverse.prototype.scrollToRTL = function (scrollX) {\n var currentScrollLeft = this.adapter_.getScrollAreaScrollLeft();\n var clampedScrollLeft = this.clampScrollValue_(scrollX);\n return {\n finalScrollPosition: clampedScrollLeft,\n scrollDelta: currentScrollLeft - clampedScrollLeft,\n };\n };\n MDCTabScrollerRTLReverse.prototype.incrementScrollRTL = function (scrollX) {\n var currentScrollLeft = this.adapter_.getScrollAreaScrollLeft();\n var clampedScrollLeft = this.clampScrollValue_(currentScrollLeft + scrollX);\n return {\n finalScrollPosition: clampedScrollLeft,\n scrollDelta: currentScrollLeft - clampedScrollLeft,\n };\n };\n MDCTabScrollerRTLReverse.prototype.getAnimatingScrollPosition = function (scrollX, translateX) {\n return scrollX + translateX;\n };\n MDCTabScrollerRTLReverse.prototype.calculateScrollEdges_ = function () {\n var contentWidth = this.adapter_.getScrollContentOffsetWidth();\n var rootWidth = this.adapter_.getScrollAreaOffsetWidth();\n return {\n left: contentWidth - rootWidth,\n right: 0,\n };\n };\n MDCTabScrollerRTLReverse.prototype.clampScrollValue_ = function (scrollX) {\n var edges = this.calculateScrollEdges_();\n return Math.min(Math.max(edges.right, scrollX), edges.left);\n };\n return MDCTabScrollerRTLReverse;\n}(MDCTabScrollerRTL));\nexport { MDCTabScrollerRTLReverse };\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\nexport default MDCTabScrollerRTLReverse;\n//# sourceMappingURL=rtl-reverse-scroller.js.map","/**\n * @license\n * Copyright 2018 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nvar MDCTabScrollerRTL = /** @class */ (function () {\n function MDCTabScrollerRTL(adapter) {\n this.adapter_ = adapter;\n }\n return MDCTabScrollerRTL;\n}());\nexport { MDCTabScrollerRTL };\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\nexport default MDCTabScrollerRTL;\n//# sourceMappingURL=rtl-scroller.js.map","/**\n * @license\n * Copyright 2018 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nimport { cssClasses } from './constants';\n/**\n * Stores result from computeHorizontalScrollbarHeight to avoid redundant processing.\n */\nvar horizontalScrollbarHeight_;\n/**\n * Computes the height of browser-rendered horizontal scrollbars using a self-created test element.\n * May return 0 (e.g. on OS X browsers under default configuration).\n */\nexport function computeHorizontalScrollbarHeight(documentObj, shouldCacheResult) {\n if (shouldCacheResult === void 0) { shouldCacheResult = true; }\n if (shouldCacheResult && typeof horizontalScrollbarHeight_ !== 'undefined') {\n return horizontalScrollbarHeight_;\n }\n var el = documentObj.createElement('div');\n el.classList.add(cssClasses.SCROLL_TEST);\n documentObj.body.appendChild(el);\n var horizontalScrollbarHeight = el.offsetHeight - el.clientHeight;\n documentObj.body.removeChild(el);\n if (shouldCacheResult) {\n horizontalScrollbarHeight_ = horizontalScrollbarHeight;\n }\n return horizontalScrollbarHeight;\n}\n//# sourceMappingURL=util.js.map","/**\n * @module app/actions\n */\nimport {canContact} from './enablers';\nimport {helpUrl} from '@netx/core/lib/netx-enablers';\n\n/** @type {array} */\nexport default [\n\t/** @action */\n\t{\n\t\tevent: 'app:back',\n\t\tlabel: i18n.t('i18n.goBack'),\n\t},\n\t/** @action */\n\t{\n\t\tevent: 'app:contact',\n\t\tlabel: i18n.t('i18n.contact'),\n\t\tenableTest: canContact,\n\t},\n\t/** @action */\n\t{\n\t\tevent: 'app:help',\n\t\tlabel: i18n.t('i18n.help'),\n\t\tenableTest: helpUrl,\n\t},\n\t/** @action */\n\t{\n\t\tevent: 'app:reportProblem',\n\t\tlabel: i18n.t('i18n.reportProblem'),\n\t},\n\t/** @action */\n\t{\n\t\tevent: 'app:logout',\n\t\tlabel: i18n.t('i18n.logout'),\n\t},\n\t/** @action */\n\t{\n\t\tevent: 'app:showOptions',\n\t\tlabel: i18n.t('i18n.options'),\n\t\twrapper(view, e) {\n\t\t\treturn [view.model.get('menu')];\n\t\t},\n\t},\n];\n","import actions from 'netxcore@netx/core-app/actions';\n\nimport {\n\tdatamanagerAuthorized,\n\tdatamanagerEnabled,\n} from '@netx/core-data-set/enablers';\nimport {notMobile, reviewEnabled} from '@netx/core/lib/netx-enablers.js';\nimport {bulkCartLoaderEnabled} from '@netx/core-upload/enablers';\n\nimport {extendBackboneActions} from '@netx/core/utils/extendBackboneActions';\n\nimport {icon} from '@fortawesome/fontawesome-svg-core';\nimport {\n\tfaBell,\n\tfaCaretLeft,\n\tfaChartPie,\n\tfaClipboardList,\n\tfaCloud,\n\tfaCogs,\n\tfaExclamationTriangle,\n\tfaFolder,\n\tfaHammer,\n\tfaHome,\n\tfaInbox,\n\tfaInboxIn,\n\tfaPhone,\n\tfaPowerOff,\n\tfaQuestionCircle,\n\tfaSearch,\n\tfaSyncAlt,\n\tfaTable,\n\tfaUser,\n} from '@fortawesome/pro-solid-svg-icons';\n\nconst iconOpts = {classes: ['fa-fw']};\nconst icons = {\n\tfaBell: icon(faBell, iconOpts).html,\n\tfaCaretLeft: icon(faCaretLeft, iconOpts).html,\n\tfaChartPie: icon(faChartPie, iconOpts).html,\n\tfaClipboardList: icon(faClipboardList, iconOpts).html,\n\tfaCloud: icon(faCloud, iconOpts).html,\n\tfaCogs: icon(faCogs, iconOpts).html,\n\tfaExclamationTriangle: icon(faExclamationTriangle, iconOpts).html,\n\tfaFolder: icon(faFolder, iconOpts).html,\n\tfaHammer: icon(faHammer, iconOpts).html,\n\tfaHome: icon(faHome, iconOpts).html,\n\tfaInbox: icon(faInbox, iconOpts).html,\n\tfaInboxIn: icon(faInboxIn, iconOpts).html,\n\tfaPhone: icon(faPhone, iconOpts).html,\n\tfaPowerOff: icon(faPowerOff, iconOpts).html,\n\tfaQuestionCircle: icon(faQuestionCircle, iconOpts).html,\n\tfaSearch: icon(faSearch, iconOpts).html,\n\tfaSyncAlt: icon(faSyncAlt, iconOpts).html,\n\tfaTable: icon(faTable, iconOpts).html,\n\tfaUser: icon(faUser, iconOpts).html,\n};\n\n// Extend actions defined in core file\nlet newActions = extendBackboneActions(actions, [\n\t{\n\t\tevent: 'app:contact',\n\t\ticon: icons.faPhone,\n\t\tlabel: i18n.t('i18n.contact'),\n\t},\n\t{\n\t\tevent: 'app:help',\n\t\ticon: icons.faQuestionCircle,\n\t},\n\t{\n\t\tevent: 'app:logout',\n\t\ticon: icons.faPowerOff,\n\t\troute: 'logout',\n\t},\n\t{\n\t\tevent: 'app:reportProblem',\n\t\ticon: icons.faExclamationTriangle,\n\t},\n]);\n\n// New actions\nnewActions = newActions.concat([\n\t/** @action */\n\t{\n\t\tevent: 'nx:system:autotasks',\n\t\ticon: icons.faSyncAlt,\n\t\tlabel: i18n.t('i18n.autoTasks'),\n\t\troute: 'system/autotasks',\n\t},\n\t/** @action */\n\t{\n\t\tevent: 'nx:collections',\n\t\ticon: icons.faInbox,\n\t\tlabel: i18n.t('i18n.collections'),\n\t},\n\t/** @action */\n\t{\n\t\tevent: 'nx:folders',\n\t\tlabel: i18n.t('i18n.categories'),\n\t\ticon: icons.faFolder,\n\t},\n\t/** @action */\n\t{\n\t\tevent: 'nx:home',\n\t\ticon: icons.faHome,\n\t\tlabel: i18n.t('i18n.home'),\n\t},\n\t/** @action */\n\t{\n\t\tevent: 'nx:notifications',\n\t\tlabel: i18n.t('i18n.notifications'),\n\t\ticon: icons.faBell,\n\t},\n\t/** @action */\n\t{\n\t\tevent: 'nx:searches',\n\t\tlabel: i18n.t('i18n.searches'),\n\t\ticon: icons.faSearch,\n\t},\n\t/** @action */\n\t{\n\t\tevent: 'nx:system',\n\t\tlabel: i18n.t('i18n.system'),\n\t\ticon: icons.faCogs,\n\t\tenableTest: notMobile,\n\t},\n\t{\n\t\tevent: 'nx:tools',\n\t\tlabel: i18n.t('i18n.tools'),\n\t\ticons: icons.faHammer,\n\t},\n\t{\n\t\tevent: 'app:upload',\n\t\tlabel: i18n.t('i18n.uploadAssets'),\n\t\ticon: icons.faCloud,\n\t\tuserLevel: 3,\n\t},\n\t{\n\t\tevent: 'app:upload:assets',\n\t\tlabel: i18n.t('i18n.upload'),\n\t\ticon: icons.faCloud,\n\t\tuserLevel: 3,\n\t\troute: 'upload/status',\n\t},\n\t/** @action */\n\t{\n\t\tevent: 'app:upload:attributeData',\n\t\tlabel: i18n.t('i18n.importAttributeData'),\n\t\ticon: icons.faArchive,\n\t\tuserLevel: 4,\n\t},\n\t/** @action */\n\t{\n\t\tevent: 'app:upload:bulkCartLoader',\n\t\tlabel: i18n.t('i18n.bulkCartLoader'),\n\t\ticon: icons.faInboxIn,\n\t\tenableTest: bulkCartLoaderEnabled,\n\t\tuserLevel: 2,\n\t},\n\t// This is here because the dataSet controller comes too late\n\t{\n\t\tevent: 'dataSet:dataSets',\n\t\ticon: icons.faTable,\n\t\tlabel: i18n.t('i18n.dataSets'),\n\t\tenableTest: [datamanagerAuthorized, datamanagerEnabled],\n\t},\n\t/** @action */\n\t{\n\t\tevent: 'dataSet:dataSets:route',\n\t\ticon: icons.faTable,\n\t\tlabel: i18n.t('i18n.dataSets'),\n\t\tenableTest: [datamanagerAuthorized, datamanagerEnabled, notMobile],\n\t\troute: 'dataset/datasets',\n\t},\n\t/** @action */\n\t{\n\t\tevent: 'projects:route',\n\t\ticon: icons.faClipboardList,\n\t\tlabel: i18n.t('i18n.reviews'),\n\t\tenableTest: reviewEnabled,\n\t\troute: 'projects',\n\t\tuserLevel: 1,\n\t},\n\t/** @action */\n\t{\n\t\tevent: 'stat:route',\n\t\ticon: icons.faChartPie,\n\t\tlabel: i18n.t('i18n.statistics'),\n\t\tenableTest: notMobile,\n\t\troute: 'stat',\n\t\tuserLevel: 8,\n\t},\n]);\n\nexport default newActions;\n","/**\n * @module app/menus\n */\nimport Menu from '@netx/core/lib/netx-menu';\n\nexport default {};\n","import Menu from '@netx/core/lib/netx-menu';\nimport Menus from 'netxcore@netx/core-app/menus';\n\nimport {DOWNLOAD_REQUEST_EVENT} from '@netx/core-download-request/actions';\n\nObject.assign(Menus, {\n\tsidebar: new Menu({\n\t\tactions: [\n\t\t\t'nx:home',\n\t\t\t'nx:folders',\n\t\t\t'nx:searches',\n\t\t\t'nx:collections',\n\t\t\t'nx:notifications',\n\t\t],\n\t}),\n\ttools: new Menu({\n\t\tactions: [\n\t\t\tDOWNLOAD_REQUEST_EVENT.LIST_ROUTE,\n\t\t\t'asset:requests:route',\n\t\t\t'upload:attributeData',\n\t\t\t'dataSet:dataSets:route',\n\t\t\t'asset:expirations:route',\n\t\t\t'share:tokens:route',\n\t\t\t'projects:route',\n\t\t\t'upload:bulkCartLoader',\n\t\t\t'stat:route',\n\t\t],\n\t}),\n\tuser: new Menu({\n\t\tactions: [\n\t\t\t'user:profile:route',\n\t\t\t'user:settings:route',\n\t\t\t'user:attributeSets:route',\n\t\t\t'nx:notifications',\n\t\t\t'user:integrations:route',\n\t\t\t'app:help',\n\t\t\t'app:contact',\n\t\t\t['app:logout'],\n\t\t],\n\t}),\n});\n\nexport default Menus;\n","/**\n * View that dynamically creates a set of
  • elements from a Netx.Menu model\n * @class\n */\nimport Base from '@netx/core/lib/netx-view';\nimport Template from '../templates/menuView.html';\nimport {\n\tFindLegacyAction,\n\tRegisterLegacyAction,\n} from '@netx/core/legacyActionManager';\n\nclass MenuView extends Base {\n\t/** @type {boolean} */\n\tget isMenuView() {\n\t\treturn this.constructor.__isMenuView__;\n\t}\n\n\t/** @override */\n\tconstructor(opts = {}) {\n\t\t// don't add .loading classes to menus\n\t\topts.loadingMethods = [];\n\t\topts.template = opts.template || Template;\n\t\tsuper(opts);\n\n\t\t/**\n\t\t * The 'actions' array is set by the instantiator\n\t\t * @memberOf Netx.Views.MenuView\n\t\t * @alias actions\n\t\t * @type {array}\n\t\t */\n\t\tthis.actions = opts.actions || [];\n\n\t\tthis.context = opts.context === true;\n\t\tthis.menu = opts.menu;\n\n\t\t// Hey, listen\n\t\tthis\n\t\t\t// OPTIMIZATION TODO: only listen when routes exist in menu, not like this\n\t\t\t.listenTo(dispatcher, 'hash:changed', this.setActiveClasses)\n\t\t\t.listenTo(dispatcher, 'app:close:menus', () => {\n\t\t\t\tif (this.$dropdown && this.$dropdown.hasClass('open')) {\n\t\t\t\t\tthis.$dropdownToggle.click();\n\t\t\t\t}\n\t\t\t});\n\t}\n\n\t/** @override */\n\tcancel(e) {\n\t\tif (this.$dropdown && this.$dropdown.hasClass('open')) {\n\t\t\tthis.$dropdownToggle.click();\n\t\t}\n\t}\n\n\t/**\n\t * Instead of templates, this module renders its own html with javascript.\n\t * @override\n\t */\n\tdoTemplate() {\n\t\t// TODO MENU TEMPLATE\n\t\tif (this.template === Template) {\n\t\t\tlet html = '';\n\t\t\tlet section = 0;\n\t\t\t// a recursive function to walk the actions array:\n\t\t\tconst _toHtml = (item) => {\n\t\t\t\tif (_.isArray(item)) {\n\t\t\t\t\t// found a section\n\t\t\t\t\thtml += '
    \\n';\n\t\t\t\t\tsection++;\n\t\t\t\t\t_.each(item, _toHtml); // recursion!\n\t\t\t\t\thtml += '
    \\n';\n\t\t\t\t} else if (_.isObject(item)) {\n\t\t\t\t\t// found a submenu\n\t\t\t\t\t// I designed this to use generic objects for submenus, but Spence assumed Netx.Menu objects which makes sense too ... so now we support either.\n\t\t\t\t\tvar label, actions;\n\t\t\t\t\tif (_.isFunction(item.get)) {\n\t\t\t\t\t\t// submenu is a Netx.Menu object\n\t\t\t\t\t\tlabel = item.get('label');\n\t\t\t\t\t\tactions = item.get('actions');\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlabel = item.label;\n\t\t\t\t\t\tactions = item.actions;\n\t\t\t\t\t}\n\n\t\t\t\t\thtml += '
  • \\n';\n\t\t\t\t\thtml +=\n\t\t\t\t\t\t'' +\n\t\t\t\t\t\ti18n.t(label) +\n\t\t\t\t\t\t'\\n';\n\t\t\t\t\thtml += '\\n';\n\t\t\t\t} else {\n\t\t\t\t\t// found an action\n\t\t\t\t\t// TODO: check performance of Find, and/or implement Netx.Actions differently now that we have Menus.\n\t\t\t\t\tlet a = FindLegacyAction(item);\n\t\t\t\t\tif (!a) {\n\t\t\t\t\t\t//throw new Error(\"unknown action '\" + item + \"'\");\n\t\t\t\t\t\tconsole.warn(\"unknown action '\" + item + \"'; not rendering\");\n\t\t\t\t\t} else if (!a.fake) {\n\t\t\t\t\t\thtml +=\n\t\t\t\t\t\t\t'
  • ' +\n\t\t\t\t\t\t\ti18n.t(a.label) +\n\t\t\t\t\t\t\t'
  • ';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\n\t\t\t// walk the actions array, recursively:\n\t\t\t_.each(this.menu.get('actions'), _toHtml);\n\n\t\t\t// If our element is a div.dropdown, wrap with structure\n\t\t\tif (this.$el.filter('div.dropdown').length > 0) {\n\t\t\t\t// NOTE: data-toggle div is required by bootstrap.\n\t\t\t\thtml =\n\t\t\t\t\t'
    ';\n\t\t\t}\n\n\t\t\treturn html;\n\t\t}\n\t\t// Custom template\n\t\telse {\n\t\t\tlet depth = 0;\n\t\t\t// We need to strip the comment from the template (menu refactor when?!)\n\t\t\tlet $template = $(this.template({}).replace(/^\\n\\n/, ''));\n\t\t\t// First level\n\t\t\tlet $html = $template.clone(); // <----- this line == 99% of (long) render time for this view. Can we figure out how not to do this? -m-\n\t\t\t// Keep a copy of our current menu, untouched. So we can follow depth as needed.\n\t\t\tlet $currentMenu = $template.clone();\n\n\t\t\t// Empty everything inside but the header\n\t\t\t$html.children().not('header').remove();\n\t\t\t// Add some needed/helpful attributes\n\t\t\t$html\n\t\t\t\t.not('header')\n\t\t\t\t.attr('role', 'menu')\n\t\t\t\t.attr('data-nx-menu-depth', depth);\n\t\t\t/**\n\t\t\t * _findTarget\n\t\t\t * Find target based on attribute name\n\t\t\t * @function\n\t\t\t *\n\t\t\t * @param {object} $item jQuery object of element\n\t\t\t * @param {string} attr The attribute to search for\n\t\t\t *\n\t\t\t * @returns {object} jQuery element sought (or false if not found)\n\t\t\t */\n\t\t\tconst _findTarget = ($item, attr) => {\n\t\t\t\tlet $actionTarget = $item.attr(attr);\n\t\t\t\tif ($actionTarget) {\n\t\t\t\t\treturn $item;\n\t\t\t\t} else {\n\t\t\t\t\t$actionTarget = $item.find('[' + attr + ']');\n\t\t\t\t\tif ($actionTarget.length) {\n\t\t\t\t\t\treturn $actionTarget;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t};\n\t\t\t/**\n\t\t\t * _processItem\n\t\t\t * Process provided item with provided action\n\t\t\t * @function\n\t\t\t *\n\t\t\t * @param {object} $item jQuery object of element\n\t\t\t * @param {object} action Action object\n\t\t\t *\n\t\t\t * @returns {object} Processed jQuery element\n\t\t\t */\n\t\t\tconst _processItem = ($item, action) => {\n\t\t\t\tif (action.fake) return;\n\n\t\t\t\t// Our element to target\n\t\t\t\tlet $actionTarget = false;\n\n\t\t\t\t// Has data-action\n\t\t\t\t$actionTarget = _findTarget($item, 'data-action');\n\t\t\t\tif (action.event) {\n\t\t\t\t\tif ($actionTarget) {\n\t\t\t\t\t\t$actionTarget.attr('data-action', action.event);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Nothing found\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif ($actionTarget) {\n\t\t\t\t\t\t// Only remove if a real data action has not been provided\n\t\t\t\t\t\tif ($actionTarget.attr('data-action') === '{{action}}') {\n\t\t\t\t\t\t\t$actionTarget.removeAttr('data-action').removeClass('nx-action');\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Nothing found\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Has route\n\t\t\t\t$actionTarget = _findTarget($item, 'href');\n\t\t\t\tif (action.route && !_.isFunction(action.route)) {\n\t\t\t\t\tif ($actionTarget) {\n\t\t\t\t\t\tconst hash = action.route.slice(0, 1) === '#' ? '' : '#';\n\t\t\t\t\t\t$actionTarget.attr('href', hash + action.route);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Nothing found\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif ($actionTarget) {\n\t\t\t\t\t\t// Only remove if a real href has not been provided\n\t\t\t\t\t\tif ($actionTarget.attr('href') === '{{route}}') {\n\t\t\t\t\t\t\t$actionTarget.removeAttr('href');\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Nothing found\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Has data-target\n\t\t\t\t$actionTarget = _findTarget($item, 'data-target');\n\t\t\t\tif (action.target) {\n\t\t\t\t\tif ($actionTarget) {\n\t\t\t\t\t\t$actionTarget.attr('data-target', action.target);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Nothing found\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif ($actionTarget) {\n\t\t\t\t\t\t// Only remove if a real data target has not been provided\n\t\t\t\t\t\tif ($actionTarget.attr('data-target') === '{{target}}') {\n\t\t\t\t\t\t\t$actionTarget.removeAttr('data-target');\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Nothing found\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Has label\n\t\t\t\tif (action.label) {\n\t\t\t\t\t$item = $(\n\t\t\t\t\t\t$item[0].outerHTML.replace(/{{label}}/g, i18n.t(action.label)),\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\t// Remove label\n\t\t\t\telse {\n\t\t\t\t\t$item = $($item[0].outerHTML.replace(/{{label}}/g, ''));\n\t\t\t\t}\n\n\t\t\t\t// Has icon\n\t\t\t\tif (action.icon) {\n\t\t\t\t\tconst icon =\n\t\t\t\t\t\ttypeof action.icon === 'string'\n\t\t\t\t\t\t\t? ``\n\t\t\t\t\t\t\t: action.icon || '';\n\t\t\t\t\t$item = $($item[0].outerHTML.replace(/{{icon}}/g, icon));\n\t\t\t\t}\n\t\t\t\t// Remove icon\n\t\t\t\telse {\n\t\t\t\t\tlet customIcon = $item.find('i').attr('class');\n\t\t\t\t\tif (customIcon) {\n\t\t\t\t\t\tcustomIcon = customIcon.includes('{{icon}}');\n\t\t\t\t\t}\n\t\t\t\t\tif (customIcon) {\n\t\t\t\t\t\t$item.find('i').remove();\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$item[0].innerHTML = $item[0].innerHTML.replace(/{{icon}}/g, '');\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $item;\n\t\t\t};\n\t\t\t/**\n\t\t\t * _toCustomHtml\n\t\t\t * Create our custom HTML\n\t\t\t * @function\n\t\t\t *\n\t\t\t * @param {*} item An array (section), an object (submenu) or a menu item\n\t\t\t * @param {object} $_html The jQuery object to append to\n\t\t\t */\n\t\t\tconst _toCustomHtml = (item, $_html) => {\n\t\t\t\tlet $item;\n\t\t\t\t// Section\n\t\t\t\tif (_.isArray(item)) {\n\t\t\t\t\t// If we have a current menu already get the item from there - else get it from the main node\n\t\t\t\t\t$item = $currentMenu\n\t\t\t\t\t\t? $currentMenu.children().not('header').first().clone()\n\t\t\t\t\t\t: $template.children().not('header').first().clone();\n\t\t\t\t\t// We just take the tag type used for items in the template and append with class 'divider'\n\t\t\t\t\t$_html.append(\n\t\t\t\t\t\t$('
  • ', {\n\t\t\t\t\t\t\tclass: 'divider',\n\t\t\t\t\t\t}),\n\t\t\t\t\t);\n\t\t\t\t\tconst $section = $currentMenu.clone();\n\t\t\t\t\t// Empty everything inside except the header\n\t\t\t\t\t$section.children().not('header').remove();\n\t\t\t\t\t// Add some needed/helpful attributes\n\t\t\t\t\t$section\n\t\t\t\t\t\t.not('header')\n\t\t\t\t\t\t.attr('role', 'menu')\n\t\t\t\t\t\t.attr('data-nx-menu-depth', depth);\n\t\t\t\t\t//$_html.after( $section );\n\t\t\t\t\t$_html.append($section);\n\t\t\t\t\t// Loop over actions in array\n\t\t\t\t\t_.each(item, (_item) => {\n\t\t\t\t\t\t_toCustomHtml(_item, $section);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\t// Submenu\n\t\t\t\telse if (_.isObject(item)) {\n\t\t\t\t\tdepth++;\n\n\t\t\t\t\tlet label, icon, actions;\n\t\t\t\t\t// Submenu is a Netx.Menu object\n\t\t\t\t\tif (_.isFunction(item.get)) {\n\t\t\t\t\t\tlabel = item.get('label');\n\t\t\t\t\t\ticon = item.get('icon');\n\t\t\t\t\t\tactions = item.get('actions');\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlabel = item.label;\n\t\t\t\t\t\ticon = item.icon;\n\t\t\t\t\t\tactions = item.actions;\n\t\t\t\t\t}\n\t\t\t\t\t// If we have a current menu already get the item from there - else get it from the main node\n\t\t\t\t\t$item = $currentMenu\n\t\t\t\t\t\t? $currentMenu.children().not('header').first().clone()\n\t\t\t\t\t\t: $template.children().not('header').first().clone();\n\t\t\t\t\t// First lets get the submenu of the item - if it has one\n\t\t\t\t\tlet $subMenu = $item.find('.sub-menu');\n\t\t\t\t\t// Look for a submenu elsewhere\n\t\t\t\t\tif (!$subMenu.length) {\n\t\t\t\t\t\tif ($currentMenu) $subMenu = $currentMenu.find('.sub-menu').first();\n\t\t\t\t\t\tif (!$subMenu.length) {\n\t\t\t\t\t\t\t$subMenu = $template.find('.sub-menu').first();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t// If submenu was provided in template\n\t\t\t\t\tif ($subMenu.length) {\n\t\t\t\t\t\t// Submenu to append to\n\t\t\t\t\t\t$subMenu = $subMenu.clone();\n\t\t\t\t\t\t// Keep a copy of our current menu, untouched.\n\t\t\t\t\t\t$currentMenu = $subMenu.clone();\n\t\t\t\t\t\t// It is now safe to empty out submenu\n\t\t\t\t\t\t$subMenu.children().not('header').remove();\n\t\t\t\t\t\t// Make sure we do not have a submenu element in the item still\n\t\t\t\t\t\t$item.find('.sub-menu').remove();\n\t\t\t\t\t}\n\t\t\t\t\t// No submenu provided - we will reuse the parent node\n\t\t\t\t\telse {\n\t\t\t\t\t\t// Keep a copy of our current menu, untouched.\n\t\t\t\t\t\t$currentMenu = $template.clone();\n\t\t\t\t\t\t// Submenu to append to\n\t\t\t\t\t\t$subMenu = $template.clone().addClass('sub-menu');\n\t\t\t\t\t\t$subMenu.children().not('header').remove();\n\t\t\t\t\t}\n\t\t\t\t\t// Add pertinent dropdown classes\n\t\t\t\t\t$subMenu\n\t\t\t\t\t\t.addClass('dropdown-menu')\n\t\t\t\t\t\t.attr('role', 'menu')\n\t\t\t\t\t\t.attr('data-nx-menu-depth', depth);\n\t\t\t\t\t// Process submenu\n\t\t\t\t\t$subMenu = _processItem($subMenu, {label: label});\n\t\t\t\t\t// Process the item\n\t\t\t\t\t$item = _processItem($item, {label: label, icon: icon});\n\t\t\t\t\t// Add dropdown classes to item\n\t\t\t\t\t$item\n\t\t\t\t\t\t.addClass('dropdown')\n\t\t\t\t\t\t.addClass('parent')\n\t\t\t\t\t\t.addClass('dropdown-submenu');\n\n\t\t\t\t\t// Check for \n\t\t\t\t\tlet $a = $item.find('a');\n\t\t\t\t\tif ($a.length) {\n\t\t\t\t\t\t$a.addClass('dropdown-toggle')\n\t\t\t\t\t\t\t.attr('data-toggle', 'dropdown')\n\t\t\t\t\t\t\t.attr('title', label);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$item\n\t\t\t\t\t\t\t.addClass('dropdown-toggle')\n\t\t\t\t\t\t\t.attr('data-toggle', 'dropdown')\n\t\t\t\t\t\t\t.attr('title', label); //tooltips for dropdowns\n\t\t\t\t\t}\n\t\t\t\t\t// Loop over actions within item\n\t\t\t\t\t_.each(actions, (item) => {\n\t\t\t\t\t\t_toCustomHtml(item, $subMenu);\n\t\t\t\t\t});\n\t\t\t\t\t// This stops the quirky behavior of append\n\t\t\t\t\t// If you append an element straight up to another element that is not unique enough it will append to all elements that are \"similar\"\n\t\t\t\t\t$_html.append($item.html($item.html() + $subMenu[0].outerHTML));\n\t\t\t\t}\n\t\t\t\t// Menu item\n\t\t\t\telse {\n\t\t\t\t\t// Get action object\n\t\t\t\t\tlet action = FindLegacyAction(item);\n\t\t\t\t\t$item = $currentMenu\n\t\t\t\t\t\t? $currentMenu.children().not('header').first().clone()\n\t\t\t\t\t\t: $template.children().not('header').first().clone();\n\t\t\t\t\tif (!action) {\n\t\t\t\t\t\tconsole.warn('The action \"' + item + '\" has not been registered.');\n\t\t\t\t\t\t// add a minimal fake action, so we still trigger an event\n\t\t\t\t\t\taction = {event: item, fake: true};\n\t\t\t\t\t\tRegisterLegacyAction(action);\n\t\t\t\t\t}\n\t\t\t\t\t// Check for a current sub menu, otherwise get from main node\n\t\t\t\t\t// Make sure item does not have a submenu element in it\n\t\t\t\t\t$item.find('.sub-menu').remove();\n\t\t\t\t\t// Process item\n\t\t\t\t\t$item = _processItem($item, action);\n\t\t\t\t\t// Append item\n\t\t\t\t\t$_html.append($item);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\t// Header\n\t\t\tvar headerLabel = this.menu.get('label'),\n\t\t\t\t$header = $html.find('header').first();\n\n\t\t\tif ($header.length) {\n\t\t\t\tif (headerLabel) {\n\t\t\t\t\t$header.replaceWith(\n\t\t\t\t\t\t$($header[0].outerHTML.replace(/{{label}}/g, i18n.t(headerLabel))),\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\t$header.replaceWith(\n\t\t\t\t\t\t$($header[0].outerHTML.replace(/{{label}}/g, '')),\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Loop over main actions\n\t\t\t_.each(this.menu.get('actions'), (item) => {\n\t\t\t\tdepth = 1;\n\t\t\t\t// Reset to main node\n\t\t\t\t$currentMenu = $template.clone();\n\t\t\t\t_toCustomHtml(item, $html);\n\t\t\t});\n\n\t\t\t// Clean up\n\t\t\t$currentMenu = $template = null;\n\n\t\t\tif (this.context) {\n\t\t\t\treturn [\n\t\t\t\t\t'
    ',\n\t\t\t\t\t'
    ',\n\t\t\t\t\t$html[0].outerHTML,\n\t\t\t\t\t'
    ',\n\t\t\t\t].join('');\n\t\t\t} else {\n\t\t\t\treturn $html[0].outerHTML;\n\t\t\t}\n\t\t}\n\t}\n\n\t/** @override */\n\tpostRender() {\n\t\tsuper.postRender();\n\n\t\t// Cache\n\t\tthis.$dropdown = this.$('.dropdown:not(.dropdown-submenu)');\n\t\t// The dropdown could be this.el\n\t\tif (!this.$dropdown.length && this.$el.is('.dropdown')) {\n\t\t\tthis.$dropdown = this.$el;\n\t\t}\n\t\tthis.$dropdownToggle = this.$dropdown.find('.dropdown-toggle');\n\t\tthis.$subMenus = this.$('.dropdown.dropdown-submenu');\n\n\t\tthis.configureSubmenus();\n\t}\n\n\t/**\n\t * Enable/disable of our menu is handled by the parent view,\n\t * because the relevant el can be outside of our domain,\n\t * but we can & do check our own submenus.\n\t * @method\n\t */\n\tconfigureSubmenus() {\n\t\t// Check submenus:\n\t\t_.each(this.$subMenus, (el) => {\n\t\t\tconst $el = this.$(el);\n\t\t\t// TODO: see TODO in Netx.View.configureMenu() re: possible bug here.\n\t\t\t// Check if we have any enabled actions\n\t\t\tlet allActions = $el.find('.nx-action');\n\t\t\tlet disabledActions = $el.find('.nx-action[disabled]');\n\n\t\t\t// Maybe it is just href based and not data-action\n\t\t\tif (!allActions.length) {\n\t\t\t\tallActions = $el.find('[href]');\n\t\t\t\tdisabledActions = $el.find('[href][disabled]');\n\t\t\t}\n\n\t\t\t// Deal with the dropdown toggle as well\n\t\t\t$el\n\t\t\t\t.siblings('[data-toggle=\"dropdown\"]')\n\t\t\t\t.enableIf(disabledActions.length < allActions.length);\n\t\t});\n\n\t\tthis.setActiveClasses();\n\t}\n\n\t/**\n\t * @method\n\t * @param {string} hash Current hash\n\t * @param {string} lasthash Last hash\n\t */\n\tsetActiveClasses(hash, lasthash) {\n\t\tif (!hash) {\n\t\t\thash = Backbone.history.location.hash;\n\t\t}\n\t\t//manage the active state of menu items]\n\t\tthis.$('.active').removeClass('active');\n\n\t\t// look for parent routes, set active class on href or role=\"presentation\"\n\t\tlet $actionTarget, $tabPresentation;\n\t\tif (hash.lastIndexOf('/') > 0) {\n\t\t\twhile (hash.lastIndexOf('/') > 0) {\n\t\t\t\t$actionTarget = this.$('a[href=\"' + _.escape(hash) + '\"]');\n\t\t\t\tif ($actionTarget.length) {\n\t\t\t\t\t$tabPresentation = $actionTarget.closest('[role=\"presentation\"]');\n\t\t\t\t\t($tabPresentation.length ? $tabPresentation : $actionTarget).addClass(\n\t\t\t\t\t\t'active',\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\thash = hash.slice(0, hash.lastIndexOf('/'));\n\t\t\t}\n\t\t} else {\n\t\t\t$actionTarget = this.$('a[href=\"' + hash + '\"]');\n\t\t\t$actionTarget.closest('[role=\"presentation\"]').addClass('active');\n\t\t}\n\t}\n\n\t/**\n\t * Sometimes this view is instantiated on an existing element; when we 'remove' this view, we want to preserve\n\t * its outer element, so we can't call Backbone's remove() method. Instead, we use removeInner().\n\t * @todo: elevate to Netx.View?\n\t * @method\n\t */\n\tremoveInner() {\n\t\tthis.stopListening().undelegateEvents().$el.empty();\n\t}\n\n\t/** @type {boolean} */\n\tstatic get __isMenuView__() {\n\t\treturn true;\n\t}\n\n\t/** @type {string} */\n\tstatic get __name__() {\n\t\treturn 'MenuView';\n\t}\n}\n\nexport default MenuView;\n","/**\n * @class\n * @override\n */\nimport Base from 'netxcore@netx/core-app/views/menuView';\n\nimport MaterialMenus from '@netx/core/functionality/materialMenus';\n\nclass MenuView extends Base {\n\t/** @override */\n\tconstructor(opts = {}) {\n\t\tsuper(opts);\n\n\t\tthis.removeOnHide = opts.removeOnHide === true;\n\t}\n\n\t/** @override */\n\tdoTemplate() {\n\t\tlet html = super.doTemplate();\n\n\t\t// First, kill bootstrap toggle\n\t\thtml = html.replace(/data-toggle=\"dropdown\"/g, '');\n\t\thtml = html.replace(/class=\"divider\"/g, 'class=\"mdc-list-divider\"');\n\n\t\treturn html;\n\t}\n\n\t/** @method */\n\tonMenuClose() {\n\t\tif (this.removeOnHide) {\n\t\t\tthis.remove();\n\t\t}\n\t}\n\n\t/** @override */\n\tpostRender() {\n\t\tconst el = this.el;\n\t\t// A quick and dirty way to make our menus behave as material design\n\t\t// until we reqork menus and allow for proper theming\n\t\t// Store for `configureSubmenus`\n\t\tconst isHeaderTitleActions = (this.isHeaderTitleActions =\n\t\t\tel.classList.contains('header__title-actions'));\n\n\t\t// When in a drawer we need to unwrap and discard the 'mdc-list' element\n\t\t// as you can only have one in a drawer (they do not appear to currently support mdc-list groups in drawers)\n\t\tconst isInDrawer = el.classList.contains('drawer-menu');\n\t\tif (isInDrawer) {\n\t\t\tconst lists = el.querySelectorAll('.mdc-list');\n\t\t\tlists.forEach((list) => {\n\t\t\t\tconst parent = list.parentNode;\n\t\t\t\twhile (list.firstChild) parent.insertBefore(list.firstChild, list);\n\t\t\t\tparent.removeChild(list);\n\t\t\t});\n\t\t}\n\n\t\t// Context menu\n\t\tif (this.context) {\n\t\t\t// We need to just hack at the thing - we are making this so that mdc-menus\n\t\t\t// \"just work\" with our sontext menus\n\t\t\tconst toggleEl = el.querySelector('.dropdown-toggle');\n\t\t\ttoggleEl && toggleEl.parentNode.removeChild(toggleEl);\n\t\t\tconst wrapperEl = el.querySelector('.dropdown-menu');\n\t\t\tif (wrapperEl) {\n\t\t\t\tel.appendChild(wrapperEl.firstChild);\n\t\t\t\twrapperEl.parentNode.removeChild(wrapperEl);\n\t\t\t}\n\t\t}\n\n\t\t// Store for `configureSubmenus`\n\t\tconst dropdownParent = (this.dropdownParent =\n\t\t\tel.querySelector('.dropdown.parent'));\n\t\tthis.listActions = dropdownParent\n\t\t\t? [...dropdownParent.querySelectorAll('.nx-action')]\n\t\t\t: [];\n\t\tif (dropdownParent) {\n\t\t\tdropdownParent.classList.add('mdc-menu-surface--anchor');\n\t\t\tthis.checkDropdownParent(dropdownParent);\n\t\t}\n\n\t\tif (this.context || dropdownParent) {\n\t\t\tconst menuEl = (this.context ? el : dropdownParent).querySelector(\n\t\t\t\t'[role=\"menu\"]',\n\t\t\t);\n\t\t\tif (menuEl) {\n\t\t\t\t// We need to wrap our menu because mdc expects the .mdc-list to live within the menu and not be\n\t\t\t\t// the menu - this is a limiatation of our menu system atm\n\t\t\t\tconst mdcMenuWrapper = document.createElement('div');\n\t\t\t\tmdcMenuWrapper.classList.add(\n\t\t\t\t\t'mdc-menu',\n\t\t\t\t\t'mdc-menu-surface',\n\t\t\t\t\t'mdc-menu--hoist',\n\t\t\t\t);\n\n\t\t\t\tmenuEl.parentNode.insertBefore(mdcMenuWrapper, menuEl);\n\t\t\t\tmdcMenuWrapper.appendChild(menuEl);\n\n\t\t\t\tmenuEl.classList.add('mdc-list');\n\t\t\t\tmenuEl.querySelectorAll('li').forEach((li) => {\n\t\t\t\t\tli.classList.add('mdc-list-item');\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tconst dropdownEl = el.querySelector('.dropdown-menu');\n\t\tif (dropdownEl) {\n\t\t\t// Inject the cancel button if we ar enot in a drawer\n\t\t\tif (!dropdownEl.closest('.mdc-drawer__content')) {\n\t\t\t\tconst cancelLi = document.createElement('li');\n\t\t\t\tcancelLi.classList.add('nx-cancel', 'cancel', 'mdc-list-item');\n\t\t\t\tcancelLi.innerText = i18n.t('i18n.cancel');\n\t\t\t\tdropdownEl.appendChild(cancelLi);\n\t\t\t}\n\n\t\t\tconst menuEl = dropdownEl.querySelector('[role=\"menu\"]');\n\t\t\tif (menuEl) {\n\t\t\t\tmenuEl.classList.add('mdc-list');\n\t\t\t\tmenuEl.querySelectorAll('li').forEach((li) => {\n\t\t\t\t\tli.classList.add('mdc-list-item');\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (isHeaderTitleActions) {\n\t\t\tthis.$el\n\t\t\t\t.find('a.dropdown-toggle')\n\t\t\t\t.addClass('mdc-fab', 'mdc-ripple-surface')\n\t\t\t\t.attr('aria-label', 'Actions')\n\t\t\t\t.find('svg')\n\t\t\t\t.addClass('mdc-fab__icon');\n\t\t}\n\n\t\t// Store for `configureSubmenus`\n\t\tthis.listEl = this.el.querySelector('.mdc-list');\n\n\t\tsuper.postRender();\n\t}\n\n\t/**\n\t * @method\n\t */\n\tcheckDropdownParent(dropdownParent) {\n\t\tif (!dropdownParent || this.isHeaderTitleActions) return;\n\n\t\t// For when the menu was already defining each item as an mdc-icon-button\n\t\tdropdownParent.classList.remove('mdc-icon-button');\n\n\t\tconst hasEnabledActions = this.listActions.some(\n\t\t\t(listAction) => listAction.getAttribute('disabled') == null,\n\t\t);\n\t\tif (!hasEnabledActions) {\n\t\t\tdropdownParent.setAttribute('disabled', true);\n\t\t} else {\n\t\t\tdropdownParent.removeAttribute('disabled');\n\t\t\tconst dropdowntoggle = dropdownParent.querySelector('.dropdown-toggle');\n\t\t\tif (dropdowntoggle) {\n\t\t\t\tdropdowntoggle.classList.add('mdc-icon-button', 'mdc-ripple-surface');\n\t\t\t\tdropdowntoggle.classList.remove('mdc-button');\n\t\t\t\tdropdowntoggle.classList.remove('mdc-button--unelevated');\n\t\t\t}\n\t\t}\n\t}\n\n\t/** @override */\n\tconfigureSubmenus() {\n\t\tsuper.configureSubmenus();\n\n\t\t// One more dirty thing!\n\t\t// Do not show item seperator if there are not any enabled actions\n\t\t// to follow\n\t\tif (this.listEl) {\n\t\t\tthis.listEl.querySelectorAll('.mdc-list-divider').forEach((dividerEl) => {\n\t\t\t\tconst menuEl = dividerEl.nextSibling;\n\t\t\t\tif (!menuEl) return;\n\n\t\t\t\tconst hasEnabledAction = menuEl.querySelector(\n\t\t\t\t\t'.nx-action:not(.disabled)',\n\t\t\t\t);\n\n\t\t\t\tdividerEl.style.display = hasEnabledAction ? '' : 'none';\n\t\t\t\tmenuEl.style.display = hasEnabledAction ? '' : 'none';\n\t\t\t});\n\t\t}\n\t\tthis.checkDropdownParent(this.dropdownParent);\n\t}\n}\n\nMaterialMenus(MenuView);\n\nexport default MenuView;\n","/**\n * Application model for the Netx instance\n * @class\n */\nimport Base from '@netx/core/lib/netx-model';\nimport {getPreference} from '@netx/core-user-next/utils/getPreference';\nimport StorageLocationsCollection from '../collections/storageLocations';\nimport {randomChars} from '@netx/core/utils/randomChars';\nimport {userProfile} from '@netx/core-user/collections/singletons/userProfile';\n\nclass App extends Base {\n\t/**\n\t * @type {Netx.Rpc}\n\t * @private\n\t */\n\tget rpc() {\n\t\treturn true;\n\t}\n\n\t/** @type {boolean} */\n\tget xhrTrackProgress() {\n\t\treturn true;\n\t}\n\n\t/**\n\t * @property {object} defaults - The default attribute values\n\t * @property {string} defaults.description - The default app description\n\t * @property {string} defaults.clientLogs - The default app client logs\n\t * @property {string} defaults.ccSelf - The defualt copy self (as a boolean string?)\n\t * @property {string} defaults.serverUnresponsiveCount - DAM-3261 - unavailable server, after 3 alert user\n\t * @property {string} defaults.logo - Endpoint to retrieve logo image\n\t */\n\tget defaults() {\n\t\treturn {\n\t\t\t// for problem reports:\n\t\t\tdescription: '',\n\t\t\tclientLogs: '',\n\t\t\tccSelf: 'true',\n\t\t\tserverUnresponsiveCount: 0,\n\t\t\tlogo: '/theme/netx/logo?v=' + randomChars(5),\n\t\t};\n\t}\n\n\t/**\n\t * @property {object} methods - The methods available on this model\n\t * @property {function|array} methods.read - The read method (get)\n\t * @property {function|array} methods.complain - Sends complaint\n\t * @property {function|array} methods._contact - Sends contact\n\t */\n\tget methods() {\n\t\treturn {\n\t\t\tread: ['getProductVersion'],\n\t\t\t_contact: [\n\t\t\t\t'email',\n\t\t\t\t'contactArgs.to',\n\t\t\t\t'contactArgs.from',\n\t\t\t\t'contactArgs.subject',\n\t\t\t\t'contactArgs.message',\n\t\t\t\t'contactArgs.cc',\n\t\t\t\t'contactArgs.overrideBlock',\n\t\t\t],\n\t\t};\n\t}\n\n\t/**\n\t * @override\n\t * @param {object} attrs Model attributes\n\t * @param {object} opts Model options\n\t * @listens module:app#app:loaded\n\t */\n\tconstructor(attrs, opts) {\n\t\tsuper(attrs, opts);\n\n\t\t/**\n\t\t * Contact arguments\n\t\t * @memberOf Netx.Models.App\n\t\t * @alias contactArgs\n\t\t * @type {object}\n\t\t */\n\t\tthis.contactArgs = {\n\t\t\tfrom: '',\n\t\t\tto: [],\n\t\t\tcc: [],\n\t\t\tsubject: '',\n\t\t\tmessage: '',\n\t\t\toverrideBlock: false,\n\t\t};\n\n\t\t/**\n\t\t * Storage location\n\t\t * Fetched in user module\n\t\t * @memberOf Netx.Models.App\n\t\t * @alias storageLocations\n\t\t * @type {Netx.Collections.StorageLocations}\n\t\t * @see module:user#user:initialize\n\t\t */\n\t\tthis.storageLocations = new StorageLocationsCollection([]);\n\t\tthis.addSubCollection(this.storageLocations);\n\n\t\t// Hey, listen!\n\t\tthis.listenToOnce(dispatcher, 'app:loaded', () => {\n\t\t\tthis.loaded = true;\n\t\t});\n\t}\n\t/**\n\t * @method\n\t * @param {object} values Contact submission values\n\t * @return {jQuery.Deferred}\n\t */\n\tcontact(values) {\n\t\t// Check user prefs for email.mailto.rcpt_to property and convert to an array\n\t\tconst recipient = _.csvToArray(getPreference('email.mailto.rcpt_to'));\n\t\tconst userEmail = values.emailFrom || userProfile.get('email');\n\n\t\t// Check that \"recipient\" is an array of values and is not empty\n\t\tif (_.isArray(recipient) && !_.isEmpty(recipient)) {\n\t\t\t_.extend(this.contactArgs, {\n\t\t\t\tfrom: userEmail,\n\t\t\t\tsubject: values.subject,\n\t\t\t\tmessage: values.message,\n\t\t\t\tto: recipient,\n\t\t\t\tcc: values.ccSelf ? [userEmail] : [],\n\t\t\t});\n\t\t\treturn this._contact();\n\t\t} else {\n\t\t\t// Email setting not configured properly. Let developers know and return rejected promise.\n\t\t\tconsole.warn(\n\t\t\t\t'Unable to send email. Missing valid recipient(s), please configure your email settings',\n\t\t\t);\n\t\t\treturn new $.Deferred().reject();\n\t\t}\n\t}\n\t// /**\n\t// * When indicated that the app is ready, deal with the loading screen and anything else that is needed\n\t// * before the app can continue on with the UI\n\t// * @method\n\t// * @return {jQuery.Deferred}\n\t// */\n\t// ready() {\n\t// \tconst d = new $.Deferred();\n\t// \tconst done = () => {\n\t// \t\td.resolve(this);\n\t// \t};\n\n\t// \tNetx.Loading ? Netx.Loading.appLoaded(done) : done();\n\n\t// \treturn d.promise();\n\t// }\n\t// /**\n\t// * Controllers can call this and provide a callback and context (usually the controller's module namespace object)\n\t// * it will only ever fire once and will remove any previous listener for the same context if called multiple times\n\t// * @method\n\t// * @param {function} cb Callback to perform when app is ready\n\t// * @param {object} context Context to hook the listener to (will default to `window`)\n\t// * @listens module:app#app:loaded\n\t// */\n\t// whenReady(cb, context) {\n\t// \tif (this.loaded) {\n\t// \t\treturn cb();\n\t// \t}\n\t// \tdispatcher.off('app:loaded', context || window);\n\t// \tdispatcher.once('app:loaded', cb, context || window);\n\t// }\n\n\t/** @type {string} */\n\tstatic get __name__() {\n\t\treturn 'App';\n\t}\n}\n\nexport default App;\n","/**\n * @class\n */\nimport Base from '@netx/core/lib/netx-model';\n\nclass Brand extends Base {\n\t/**\n\t * @type {Netx.Rpc}\n\t * @private\n\t */\n\tget rpc() {\n\t\treturn true;\n\t}\n\n\t/** @type {array} */\n\tget xhrTrackProgress() {\n\t\treturn ['getLocations'];\n\t}\n\n\t/**\n\t * @type {object}\n\t */\n\tget xhrLoadingMessages() {\n\t\treturn {\n\t\t\tgetBranding: 'Loading brand',\n\t\t};\n\t}\n\n\t/**\n\t * @type {object}\n\t */\n\tget xhrLoadedMessages() {\n\t\treturn {\n\t\t\tgetBranding: 'Loaded brand',\n\t\t};\n\t}\n\n\t/** @property {object} brandGetArgs - Arguments for getting brand items */\n\tget brandGetArgs() {\n\t\treturn {\n\t\t\t/** @property {object} brandGetArgs.logo - Arguments for getting brand logo */\n\t\t\tlogo: {\n\t\t\t\t/** @property {object} brandGetArgs.logo.type - String to pass as type for brand logo */\n\t\t\t\ttype: 'LOGO',\n\t\t\t},\n\t\t};\n\t}\n\n\t/**\n\t * @property {object} defaults - The default attribute values\n\t */\n\tget defaults() {\n\t\treturn {\n\t\t\t/** @property {string} defaults.logo - Brand logo */\n\t\t\tlogo: '',\n\t\t};\n\t}\n\n\t/**\n\t * RPC methods:\n\t * @rpcs\n\t */\n\tget methods() {\n\t\treturn {\n\t\t\t/**\n\t\t\t * @method\n\t\t\t * @param {object} opts Request options\n\t\t\t */\n\t\t\tread(opts) {\n\t\t\t\tconst d = new $.Deferred();\n\n\t\t\t\tthis.getLogo(opts).then((response) => {\n\t\t\t\t\t// RPC is now turning nulls into empty arrays?\n\t\t\t\t\tif (!response || _.isArray(response)) {\n\t\t\t\t\t\treturn d.resolve();\n\t\t\t\t\t}\n\n\t\t\t\t\t// Make sure it is a real image\n\t\t\t\t\tconst img = new Image();\n\t\t\t\t\t$(img)\n\t\t\t\t\t\t.on('load', () => {\n\t\t\t\t\t\t\tlet logo;\n\t\t\t\t\t\t\tif (img.naturalWidth && img.naturalHeight) {\n\t\t\t\t\t\t\t\tlogo = '/' + response + '?t=' + _.uniqueId(_.now());\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\td.resolve({\n\t\t\t\t\t\t\t\tlogo: logo,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.on('error', () => {\n\t\t\t\t\t\t\td.resolve();\n\t\t\t\t\t\t});\n\t\t\t\t\timg.src = '/' + response;\n\t\t\t\t}, d.reject);\n\n\t\t\t\treturn d.promise();\n\t\t\t},\n\t\t\t/**\n\t\t\t * Get branding logo\n\t\t\t * See logo endpoints\n\t\t\t * @method\n\t\t\t * @deprecated\n\t\t\t * @param {object} opts Request options\n\t\t\t */\n\t\t\tgetLogo(opts) {\n\t\t\t\treturn ['getBranding', this.brandGetArgs.logo];\n\t\t\t},\n\t\t\t/**\n\t\t\t * Resets all branding logos\n\t\t\t * @method\n\t\t\t */\n\t\t\tresetBranding: ['resetBranding'],\n\t\t\t/**\n\t\t\t * Set branding logo\n\t\t\t * @method\n\t\t\t * @param {string} logoName Name of uploaded file\n\t\t\t * @param {number} logoMode Logo to update (2=dark, 4=light)\n\t\t\t * @param {object} opts Request options\n\t\t\t */\n\t\t\tsetLogo(logoName, logoMode, opts) {\n\t\t\t\treturn ['simpleBranding', logoName, logoMode];\n\t\t\t},\n\t\t};\n\t}\n\n\t/** @override */\n\tconstructor(attrs = {}, opts = {}) {\n\t\tattrs.id = _.uniqueId('brand-');\n\n\t\tsuper(attrs, opts);\n\n\t\t/** @property {object} brandSetArgs - Arguments for setting brand items */\n\t\tthis.brandSetArgs = {\n\t\t\t/** @property {number} brandSetArgs.logoMode - Mode for setting brand logo */\n\t\t\tlogoMode: 2,\n\t\t\t/** @property {string} brandSetArgs.logoName - Filename for setting brand logo */\n\t\t\tlogoName: '',\n\t\t\t...opts.brandSetArgs,\n\t\t};\n\t}\n\n\t/** @type {string} */\n\tstatic get __name__() {\n\t\treturn 'Brand';\n\t}\n}\n\nexport default Brand;\n","/**\n * Very similar to AppModalView but not a modal\n * Much of the code is the same minus a couple things - the main reason for not extending those methods\n * or the modalView itself, is that I want people to be able to customize them separately within the theme\n * It gets messy when you want your modal views to do something different than the fullscreen views\n * @class\n */\nimport Base from '@netx/core/lib/netx-multiView';\nimport {appRouter, getPrefixedLogger} from '@netx/core-next/instance';\nimport Template from '../templates/appFullScreenView.html';\nimport ModalView from './appModalView';\nimport ConfirmView from './confirmView';\n\nconst logger = getPrefixedLogger('views/appFullScreenView');\n\nclass AppFullScreenView extends Base {\n\t/** @override */\n\tconstructor(opts = {}) {\n\t\topts.additionalViewClasses = opts.additionalViewClasses || 'full-screen';\n\t\topts.childView = _.extend(\n\t\t\t{\n\t\t\t\ttarget: '[data-nx-control=\"full-screen-content\"]',\n\t\t\t\tviewClass(model) {\n\t\t\t\t\treturn model.get('viewClass');\n\t\t\t\t},\n\t\t\t},\n\t\t\topts.childView,\n\t\t);\n\t\topts.emptyOnHide = opts.emptyOnHide !== false;\n\t\topts.hideOnEmpty = opts.hideOnEmpty !== false;\n\t\topts.id = opts.id || 'full-screen-view';\n\t\topts.template = opts.template || Template;\n\t\topts.removeOnHide = false;\n\t\tsuper(opts);\n\n\t\t// Hey, listen!\n\t\tthis.listenTo(dispatcher, 'routed', this.hideIfWeShould).listenTo(\n\t\t\tthis,\n\t\t\t'addedNewChildView',\n\t\t\t(view) => {\n\t\t\t\tif (view.viewSpec.isMyOriginalCollection(this.viewCollection)) {\n\t\t\t\t\t// Check if the view was a result of routing\n\t\t\t\t\tif (\n\t\t\t\t\t\tview.isRouted !== false &&\n\t\t\t\t\t\tBackbone.history.isRouting() &&\n\t\t\t\t\t\t!(view instanceof ConfirmView)\n\t\t\t\t\t) {\n\t\t\t\t\t\tview.isRouted = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t);\n\t}\n\n\t/** @override */\n\tcancel(e) {\n\t\t// For now we are making the assumption that the closing of the fullscreen is dependant on its childViews\n\t\t// we need to get in the habit of using \":first\" in our event object for childviews and cancel/close button\n\t\t// Do nothing when cancel is fired/bubbbled on this view\n\t\tif (e && e.preventDefault) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t}\n\t\treturn false;\n\t}\n\n\t/** @override */\n\tpostRender() {\n\t\tsuper.postRender();\n\n\t\t// Cache\n\t\tthis.$content = this.$('[data-nx-control=\"full-screen-content\"]');\n\t}\n\n\t/** @override */\n\tbeforeHidden(cb) {\n\t\t// We do not call super\n\t\tif (this.emptyOnHide) {\n\t\t\tlet view;\n\t\t\tthis.viewCollection.each((viewSpec) => {\n\t\t\t\tview = viewSpec.get('view');\n\t\t\t\tview && _.isFunction(view.cancel) && view.cancel();\n\t\t\t});\n\t\t\t// Always use set to empty\n\t\t\tthis.viewCollection.set([]);\n\t\t}\n\n\t\t// Fade out fullscreen and pipe finish to callback\n\t\t// this.$el.fadeOut(\"slow\", _.bind( cb, this ) );\n\t\tthis.$el.hide();\n\t\tcb.apply(this);\n\t}\n\n\t/**\n\t * @override\n\t * @param {function} cb Callback\n\t */\n\tbeforeShown(cb) {\n\t\tthis.$el.show();\n\t\tcb.apply(this);\n\t}\n\n\t/** @method */\n\thideIfWeShould(newRoute, oldRoute) {\n\t\treturn ModalView.prototype.hideIfWeShould.call(this, newRoute, oldRoute);\n\t}\n\n\t/**\n\t * Show is about to start\n\t * At this point no animation or actual showing [should] have taken place\n\t * @override\n\t */\n\tonShowing() {\n\t\tsuper.onShowing();\n\t\tthis.hiddenByRoute = false;\n\t}\n\n\t/**\n\t * A view was instantiated (a brand new childView was born)\n\t * @override\n\t * @param {Netx.View} view Instance of Netx.View\n\t */\n\tviewInstantiated(view) {\n\t\tsuper.viewInstantiated(view);\n\n\t\t// All true (non-transient) child views will be fully removed on hide\n\t\tif (!view.viewSpec.isMyOriginalCollection(this.viewCollection)) return;\n\n\t\tview.removeOnHide = true;\n\t}\n\n\t/**\n\t * @override\n\t * @param {Netx.View} view Instance of Netx.View\n\t */\n\tviewRemoved(view) {\n\t\tif (!this.hiddenByRoute) {\n\t\t\t// If a new view came in in the mean time and it is routed - do nothing - we are at the route we should be\n\t\t\tconst activeView = this.getActiveView();\n\t\t\tif (activeView && activeView.cid !== view.cid && activeView.isRouted) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// HACK: preserve this value across callbacks:\n\t\t\t// (isRouting() reports false if a callback is fired via setTimeout(), such as in certain Bootstrap hiding animations.)\n\t\t\tconst isRouting = Backbone.history.isRouting();\n\t\t\t// If we opened this modal view due to a route...\n\t\t\tif (view.isRouted) {\n\t\t\t\tlogger.silly('removing routed view >', view.viewSpec.id);\n\t\t\t\tdelete view.isRouted;\n\t\t\t\t// Unless we're currently routing, route back to where we were before we opened the modal.\n\t\t\t\tif (!isRouting) {\n\t\t\t\t\tview.routeMatch != null\n\t\t\t\t\t\t? appRouter.exitRoute(view.routeMatch, {force: true})\n\t\t\t\t\t\t: appRouter.back();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tdelete this.hiddenByRoute;\n\n\t\tsuper.viewRemoved(view);\n\t}\n\n\t/**\n\t * @static\n\t * @type {string}\n\t */\n\tstatic get __name__() {\n\t\treturn 'AppFullScreenView';\n\t}\n}\n\nexport default AppFullScreenView;\n","import Base from 'netxcore@netx/core-app/views/appFullScreenView';\nimport '../css/appFullScreen.less';\n\nexport default class AppFullScreenView extends Base {\n\t/** @override */\n\tafterHidden(view) {\n\t\tsuper.afterHidden(view);\n\t\tthis.$el.removeClass('in');\n\t}\n\n\t/** @override */\n\tbeforeShown(view) {\n\t\tthis.$el.addClass('in');\n\t\tsuper.beforeShown(view);\n\t}\n}\n","/**\n * A view for progress\n * @class\n */\nimport Base from '@netx/core/lib/netx-view';\nimport Template from '../templates/appProgressView.html';\n\nclass AppProgressView extends Base {\n\t/** @override */\n\tconstructor(opts = {}) {\n\t\topts.eventStr = opts.eventStr || 'foo:bar';\n\t\topts.headerTitle = opts.headerTitle || i18n.t('i18n.working');\n\t\topts.id = opts.id || 'app-progress-view';\n\t\t/**\n\t\t * Never route to a progress view, and never accidentally un-route when we close one:\n\t\t * @type {boolean}\n\t\t */\n\t\topts.isRouted = false;\n\t\topts.loadingClassRemoveDelay = opts.loadingClassRemoveDelay || 300;\n\t\topts.minimumShowTime = opts.minimumShowTime || 300;\n\t\topts.modalOptions = {\n\t\t\tblocking: true,\n\t\t\t...opts.modalOptions,\n\t\t};\n\t\topts.removeOnHide = opts.removeOnHide !== false;\n\t\topts.template = opts.template || Template;\n\t\tsuper(opts);\n\n\t\tthis.lastEventStr = this.eventStr = opts.eventStr;\n\t\tthis.message = opts.message;\n\t\tthis.simulate = opts.simulate !== false;\n\n\t\t// Hey listen!\n\t\tthis.listenTo(\n\t\t\tdispatcher,\n\t\t\t`${this.eventStr}:success ${this.eventStr}:error`,\n\t\t\t_.debounce(this.complete, 500),\n\t\t);\n\n\t\tif (this.viewSpec) {\n\t\t\tthis.listenTo(\n\t\t\t\tthis.viewSpec,\n\t\t\t\t'change:viewOptions:eventStr',\n\t\t\t\t(viewSpec, eventStr, opts) => {\n\t\t\t\t\tthis.hideTimeout && clearTimeout(this.hideTimeout);\n\n\t\t\t\t\tthis.stopListening(\n\t\t\t\t\t\tdispatcher,\n\t\t\t\t\t\t`${this.lastEventStr}:success ${this.lastEventStr}:error`,\n\t\t\t\t\t);\n\t\t\t\t\tthis.lastEventStr = eventStr;\n\t\t\t\t\tthis.listenTo(\n\t\t\t\t\t\tdispatcher,\n\t\t\t\t\t\t`${eventStr}:success ${eventStr}:error`,\n\t\t\t\t\t\t_.debounce(this.complete, 500),\n\t\t\t\t\t);\n\n\t\t\t\t\tthis.render();\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\t}\n\n\t/** @override */\n\tpreRender() {\n\t\tsuper.preRender();\n\n\t\t// We want nothing (for now at least)\n\t\tthis.templateDataSource = {};\n\t\t// Additonal template vars\n\t\tObject.assign(this.templateVars, {\n\t\t\tmessage: this.message || '',\n\t\t});\n\t}\n\n\t/** @override */\n\tpostRender() {\n\t\tsuper.postRender();\n\n\t\t// Cache the pseudo progress elements\n\t\tthis.$pseudoProgress = this.$('.nx-control-pseudo-progress:first');\n\t\tthis.$pseudoProgressBar = this.$pseudoProgress.find(\n\t\t\t'.nx-control-progress-bar',\n\t\t);\n\n\t\t// Simulation\n\t\tthis.simulate && this.simulateProgress();\n\t}\n\n\t/** @method */\n\tcomplete() {\n\t\tthis.hideTimeout && clearTimeout(this.hideTimeout);\n\n\t\t// Simulation\n\t\tthis.simulate && this.endProgressSimulation();\n\n\t\t// // Give it a half a second\n\t\tif (this.hiding) {\n\t\t\t// Check if we are already hiding, since there is a delay - but let the view know there are no more simple hides\n\t\t\tdelete this._simpleHide;\n\t\t\treturn;\n\t\t}\n\n\t\tthis.hideTimeout = setTimeout(() => {\n\t\t\tthis.hide();\n\t\t}, 500);\n\t}\n\n\t/** @override */\n\tremove() {\n\t\tthis.hideTimeout && clearTimeout(this.hideTimeout);\n\t\tsuper.remove();\n\t}\n\n\t/**\n\t * @static\n\t * @type {string}\n\t */\n\tstatic get __name__() {\n\t\treturn 'AppProgressView';\n\t}\n}\n\nexport default AppProgressView;\n","/**\n * @class\n * @override\n */\nimport Base from 'netxcore@netx/core-app/views/appProgressView';\n\nimport {MDCLinearProgress} from '@material/linear-progress';\n\nclass AppProgressView extends Base {\n\t/** @override */\n\tconstructor(opts = {}) {\n\t\tsuper(opts);\n\n\t\t// To avoid messing with core atm\n\t\tif (this.simulate) {\n\t\t\tthis._simulate = this.simulate;\n\t\t\tdelete this.simulate;\n\t\t}\n\t}\n\n\t/** @override */\n\tpostRender() {\n\t\tsuper.postRender();\n\n\t\tthis.progress = new MDCLinearProgress(\n\t\t\tthis.el.querySelector('.mdc-linear-progress'),\n\t\t);\n\t}\n\n\t/** @override */\n\tpreRender() {\n\t\tif (this.progress) {\n\t\t\tthis.progress.destroy();\n\t\t\tdelete this.progress;\n\t\t}\n\n\t\tsuper.preRender();\n\n\t\tObject.assign(this.templateVars, {\n\t\t\tindeterminate: this._simulate === true,\n\t\t});\n\t}\n\n\t/** @override */\n\tprogressUpdated(percentComplete) {\n\t\tif (!this.progress) return;\n\n\t\tthis.progress.foundation_.setProgress(percentComplete);\n\t}\n\n\t/** @override */\n\tremove() {\n\t\tthis.progress && this.progress.destroy();\n\t\tsuper.remove();\n\t}\n}\n\nexport default AppProgressView;\n","/**\n * @class\n * @extends Netx.Model\n */\nimport Base from '@netx/core/lib/netx-model';\n\nimport Menu from '@netx/core/lib/netx-menu';\nimport {currentUserMeetsUserLevel} from '@netx/core-user-next/utils/currentUserMeetsUserLevel';\nimport {FindLegacyAction} from '@netx/core/legacyActionManager';\n\nclass OptionTile extends Base {\n\t/**\n\t * @property {object} defaults - The default attribute values\n\t */\n\tget defaults() {\n\t\treturn {\n\t\t\taction: '',\n\t\t\tevent: '',\n\t\t\ticon: null,\n\t\t\tlabel: '',\n\t\t\tmenu: null,\n\t\t};\n\t}\n\n\t/** @override */\n\tconstructor(attr = {}, opts = {}) {\n\t\tsuper(attr, opts);\n\n\t\t// Action string\n\t\tif (_.isString(attr.action)) {\n\t\t\t// Innocent until proven guilty in a court of law\n\t\t\tlet valid = true;\n\t\t\t// Get action object\n\t\t\tlet action = FindLegacyAction(attr.action);\n\n\t\t\t// Unregistered action\n\t\t\tif (!action) {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t'Could not locate an action for \"' +\n\t\t\t\t\t\tattr.action +\n\t\t\t\t\t\t'\". Ensure it has been registered view Netx.Action.Register.',\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Run through enabler test(s)\n\t\t\tif (action.enableTest) {\n\t\t\t\t// We have multiple enabler tests\n\t\t\t\tif (_.isArray(action.enableTest)) {\n\t\t\t\t\t_.each(action.enableTest, (et) => {\n\t\t\t\t\t\t// If still valid\n\t\t\t\t\t\tif (valid && _.isFunction(et)) {\n\t\t\t\t\t\t\t// Hopefully you passed an object containing something that can be tested\n\t\t\t\t\t\t\t// TODO: update after DAM-6168 is fixed.\n\t\t\t\t\t\t\tvalid = et(opts);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\t// Just a single enabler test\n\t\t\t\telse if (_.isFunction(action.enableTest)) {\n\t\t\t\t\t//valid = action.enableTest( opts );\n\t\t\t\t\t//\n\t\t\t\t\t// DAM-6168: this generally won't work. EnableTests expect a view and an event as args.\n\t\t\t\t\t// Here's a hacking option for 8.5: see cart:relationships handler for the other end of the snake.\n\t\t\t\t\tif (opts.data && opts.data.view) {\n\t\t\t\t\t\tvalid = action.enableTest(opts.data.view);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvalid = action.enableTest(opts);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Check user level\n\t\t\tif (action.userLevel && !currentUserMeetsUserLevel(action.userLevel)) {\n\t\t\t\tvalid = false;\n\t\t\t}\n\n\t\t\t// All is good\n\t\t\tif (valid) {\n\t\t\t\tthis.attributes = _.extend({}, this.attributes, action);\n\t\t\t\t// Additional 'payload' data\n\t\t\t\t// Useful for enablerTests and permissions checks\n\t\t\t\tthis.attributes.data = opts.data;\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tif (!(attr.action instanceof Menu)) {\n\t\t\tconsole.warn('Unknown action: ' + attr.action);\n\t\t\treturn;\n\t\t}\n\n\t\t// Action menu\n\t\tthis.attributes = _.extend({}, this.attributes, {\n\t\t\t// We just point the action back at 'app:optionTiles' which will take this model's menu object and keep going\n\t\t\taction: 'app:showOptions',\n\t\t\tevent: 'app:showOptions',\n\t\t\tmenu: attr.action,\n\t\t\ticon: attr.action.get('icon'),\n\t\t\tlabel: attr.action.get('label'),\n\t\t});\n\t}\n\n\t/** @type {string} */\n\tstatic get __name__() {\n\t\treturn 'OptionTile';\n\t}\n}\n\nexport default OptionTile;\n","/**\n * @class\n */\nimport Base from '@netx/core/lib/netx-collection';\nimport Model from '../models/optionTile';\nimport Menu from '@netx/core/lib/netx-menu';\n\nclass OptionTiles extends Base {\n\t/** @override */\n\tconstructor(models, opts = {}) {\n\t\topts.model = opts.model || Model;\n\n\t\tconst menu = opts.menu;\n\t\t// Must be a valid menu\n\t\tif (menu == null || !(menu instanceof Menu)) {\n\t\t\tthrow new Error('A valid menu is required for Option Tiles');\n\t\t}\n\n\t\tconst actions = menu.get('actions');\n\t\tmodels = [];\n\t\t_.each(actions, (action) => {\n\t\t\tconst tileOption = new opts.model({action: action}, _.omit(opts, 'menu'));\n\t\t\t// If there is no event on our model there must have been issues or this use ris not allowed to run the action provided\n\t\t\t// In any case, do not add to the collection\n\t\t\tif (tileOption.get('event')) models.push(tileOption);\n\t\t});\n\n\t\tsuper(models, opts);\n\n\t\tif (menu && menu.get) {\n\t\t\tthis.label = menu.get('label') || i18n.t('i18n.options');\n\t\t}\n\t}\n\n\t/** @type {string} */\n\tstatic get __name__() {\n\t\treturn 'OptionTiles';\n\t}\n}\n\nexport default OptionTiles;\n","/**\n * @fires netx:analytics:start\n */\n\nimport {getPublicProperty} from '@netx/core-app-next/utils/getPublicProperty';\n\nexport default function () {\n\tconst promises = [];\n\n\t// TODO: we need a portal singleton that contains all these sorts of things\n\tvar analyticOpts = null; // Netx.custom.portal ? Netx.custom.portal.analytics : null;\n\t// Check for analytics configuration:\n\t_.each(['google'], function (provider) {\n\t\tlet trackingState, trackingCode;\n\t\tif (analyticOpts) {\n\t\t\tprovider = analyticOpts[provider] || {};\n\t\t\ttrackingState = provider.enabled;\n\t\t\ttrackingCode = provider.trackingId;\n\t\t} else {\n\t\t\ttrackingState = getPublicProperty(\n\t\t\t\t'analytics.' + provider + '.enabled',\n\t\t\t\ttrue,\n\t\t\t);\n\t\t\ttrackingCode = getPublicProperty('analytics.' + provider + '.trackingId');\n\t\t}\n\t\tif (trackingState && trackingCode) {\n\t\t\tvar d = new $.Deferred();\n\t\t\tpromises.push(d);\n\t\t\t// Load & start Analytics.\n\t\t\tdispatcher.trigger(\n\t\t\t\t'netx:analytics:start',\n\t\t\t\tprovider,\n\t\t\t\ttrackingCode,\n\t\t\t\tfunction () {\n\t\t\t\t\td.resolve();\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\t});\n\n\treturn Promise.all(promises);\n}\n","/**\n * Main application module required for proper functioning\n * Handles default functionality like authentication, alerts\n * view state and current data state\n *\n * @module app\n */\n\nimport React, {Suspense} from 'react';\nimport ReactDOM from 'react-dom/client';\n\nconst AppComponent = React.lazy(() =>\n\timport(\n\t\t/* webpackChunkName: \"App-Component\" */ '@netx/core-app-next/components/App'\n\t),\n);\n\nconst UnauthenticatedLandingComponent = React.lazy(() =>\n\timport(\n\t\t/* webpackChunkName: \"UnauthenticatedLanding-Component\" */ '@netx/core-auth-next/components/UnauthenticatedLanding'\n\t),\n);\n\n// import semver from 'core-libs/semver.browser';\nimport {localStore} from '@netx/core-next/instance/localStore';\nimport {session} from '@netx/core-auth/collections/singleton/session';\nimport {userPrefs} from '@netx/core-user/collections/singletons/userPreferences';\nimport {\n\tcurrentUserMeetsUserLevel,\n\tUserLevel,\n} from '@netx/core-user-next/utils/currentUserMeetsUserLevel';\nimport Modernizr from 'core-libs/modernizr/modernizr';\n\n// Bootstrap\n// We should cherry pick the things we use and abandon the rest - just make a list of the things core has natively from bootstrap and themes can fill in the rest\nimport 'core-libs/bootstrap';\n// Then our bootstrap overrides/enhancements\nimport 'core-libs/bootstrap-netx';\nimport {spawnNewWindow} from '@netx/core-next/utils/browser';\n\n// Models\nimport CoreModel from '@netx/core/lib/netx-model';\nimport AppModel from './models/app';\nimport BatchJobModel from './models/batchJob';\nimport BrandModel from './models/brand';\n\n// Views\nimport AlertView from './views/alertView';\n// import AppView from './views/appView';\nimport FullScreenView from './views/appFullScreenView';\nimport AppProgressView from './views/appProgressView';\n\n// Collections\nimport OptionTilesCollection from './collections/optionTiles';\n\nimport Analytics from '@netx/core/lib/netx-analytics';\n\n// App config `Netx.app.options`\nimport customConfig from './config';\nimport authConfig from '@netx/core-auth/config';\n\n// A small package that lets us know when an element (in our case a view's $el) has loaded all contained images\nimport 'core-libs/imagesloaded.pkgd.js';\n\nimport {batchJobs} from './collections/singleton/batchJobs';\nimport {legacyWebsocket} from './collections/singleton/websocket';\nimport {getPreference} from '@netx/core-user-next/utils/getPreference';\nimport {bodyView} from './singletons/bodyViews';\nimport {fsViews} from './singletons/fsViews';\nimport {modalView, modalViews} from './singletons/modalViews';\nimport {ready} from '@netx/core-next/whenReady';\nimport {\n\tgetPrefixedLogger,\n\tdispatcher,\n\tappRouter,\n} from '@netx/core-next/instance';\nimport {setGlobal} from '@netx/core-next/utils/setGlobal';\n\nconst logger = getPrefixedLogger('core:app');\n\n//=================================\n//\tINIT\n//=================================\n// All collection and model instances and event listeners\n// are created when the module is initialized.\n/**\n * app:init handler initializes the Netx.app namespace and various other handlers.\n * @event module:app#app:init\n * @param {object} options\n * @fires module:app#app:extend\n * @fires module:app#app:initialized\n */\ndispatcher.once('app:init', function (options) {\n\tlogger.silly('initializing...');\n\n\tconst NS = (Netx.app = Netx.app || new AppModel());\n\tNS.set({...customConfig, ...options});\n\n\t//=================================\n\t//\tCREATE MODELS AND COLLECTIONS\n\t//=================================\n\n\tconst disableTouchMove = (e) => {\n\t\te.preventDefault();\n\t};\n\n\tsetGlobal({\n\t\tdisableTouchMove() {\n\t\t\tdocument.addEventListener('touchmove', disableTouchMove, {\n\t\t\t\tpassive: false,\n\t\t\t});\n\t\t},\n\t\tenableTouchMove() {\n\t\t\tdocument.removeEventListener('touchmove', disableTouchMove, {\n\t\t\t\tpassive: false,\n\t\t\t});\n\t\t},\n\t\t/**\n\t\t * Set user preference\n\t\t * @function\n\t\t * @param {string} key [dot seperated] preference key\n\t\t * @param {mixed} value Value to set on preference\n\t\t */\n\t\tsetPreference: function (key, val) {\n\t\t\treturn userPrefs.setUserPreference(key, val);\n\t\t},\n\t});\n\n\tNS.brand = new BrandModel();\n\t//=================================\n\t//\t!CREATE MODELS AND COLLECTIONS\n\t//=================================\n\n\t// Application-level DOM setup/manipulations:\n\t// =========================================\n\t//\n\t// TODO: Should we have a view for the entire DOM (document)?\n\t// It wouldn't render, but it could hold all this stuff.\n\tvar $body = (NS.$body = $('body')),\n\t\t$document = (NS.$document = $(document)),\n\t\t$window = (NS.$window = $(window));\n\t//=================================\n\t//\tWINDOW LISTENERS\n\t//=================================\n\tNS.size = {\n\t\twidth: $window.innerWidth(),\n\t\theight: $window.innerHeight(),\n\t};\n\n\tconst tickleSession = _.throttle(() => {\n\t\tdispatcher.trigger('session:tickle');\n\t}, 30000); // every 30 seconds we will try - the session can handle its own limits\n\tdocument.addEventListener(\n\t\t'keydown',\n\t\t() => {\n\t\t\ttickleSession();\n\t\t},\n\t\t{passive: true, capture: true},\n\t);\n\n\t// Window resize listener dispatches event 'app:resize' after window resize has been static for 100ms\n\t$window.on(\n\t\t'resize',\n\t\t_.debounce(function () {\n\t\t\tvar size = NS.size,\n\t\t\t\th = $window.innerHeight(),\n\t\t\t\tw = $window.innerWidth();\n\n\t\t\tif (size.width !== w || size.height !== h) {\n\t\t\t\tsize.width = w;\n\t\t\t\tsize.height = h;\n\t\t\t\tdispatcher.trigger('app:resize', size);\n\t\t\t}\n\t\t}, 100),\n\t);\n\t//=================================\n\t//\t!WINDOW LISTENERS\n\t//=================================\n\n\tconst root = ReactDOM.createRoot(document.getElementById('wrapper'));\n\n\tbodyView.$el.appendTo($body);\n\tbodyView.render();\n\n\tnew FullScreenView({\n\t\tel: document.querySelector('.nx-app-fullscreen'),\n\t\tviewCollection: fsViews,\n\t}).render();\n\n\tmodalView.$el.appendTo($body);\n\tmodalView.render();\n\n\t//=================================\n\t//\tEVENT LISTENERS\n\t//=================================\n\n\t/**\n\t * The app is in a ready state\n\t * @event module:app#app:ready\n\t * @param {boolean} start Start the app\n\t * @fires module:app#app:loaded\n\t * @fires module:app#app:start\n\t */\n\tdispatcher.once(\n\t\t'app:ready',\n\t\tfunction (start = false) {\n\t\t\tlogger.silly('ready', 'start >', start.toString());\n\t\t\t// TODO: this is a hack for now - need to put this in the proper place for the proper time\n\t\t\t!start &&\n\t\t\t\troot.render(\n\t\t\t\t\t}>\n\t\t\t\t\t\t\n\t\t\t\t\t,\n\t\t\t\t\t// document.getElementById('wrapper'),\n\t\t\t\t);\n\n\t\t\tready().then(function () {\n\t\t\t\tstart &&\n\t\t\t\t\troot.render(\n\t\t\t\t\t\t}>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t,\n\t\t\t\t\t); //, document.getElementById('wrapper'));\n\t\t\t\tlogger.silly('loaded and starting');\n\t\t\t\tdispatcher.trigger('app:loaded', start);\n\t\t\t\t// Should we start the app (authenticated)\n\t\t\t\tstart && dispatcher.trigger('app:start');\n\t\t\t});\n\t\t},\n\t\twindow,\n\t);\n\n\t/**\n\t * App is loaded and user is authenticated\n\t * @event module:app#app:start\n\t */\n\tdispatcher.once('app:start', function () {\n\t\t// Netx.websocket = legacyWebsocket;\n\t});\n\n\t/**\n\t * The app is loaded\n\t * @event module:app#app:loaded\n\t */\n\tdispatcher.once('app:loaded', function (authenticated) {\n\t\tappRouter.ready = true;\n\t\tif (session.get('browserOk') || session.getCookie('browserOk')) {\n\t\t\t// Process the current route and get it all going\n\t\t\tif (authenticated) {\n\t\t\t\tconst hash = localStore.get(authConfig.POST_LOGIN_HASH_NAME);\n\t\t\t\tif (hash) window.location.hash = hash;\n\t\t\t\t//Netx.router.navigate(hash, true);\n\t\t\t\tlocalStore.set(authConfig.POST_LOGIN_HASH_NAME, '');\n\t\t\t}\n\t\t\tBackbone.history.loadUrl();\n\t\t}\n\t});\n\n\t/**\n\t * Switch to the Flex interface\n\t * @event module:app#app:browser:override:cancelled\n\t */\n\tdispatcher.once('app:browser:override:cancelled', function () {\n\t\t// If the user doesn't want to continue we send them to Flex\n\t\twindow.location.replace('/ImagePortal.jsp');\n\t});\n\n\t/**\n\t * Wait for compatiability confirmation\n\t * @event module:app#app:compatible:confirmed\n\t * @fires netx:app:modules\n\t */\n\tdispatcher.once('app:compatible:confirmed', function () {\n\t\tconst promises = [];\n\t\t// Get storage location info\n\t\t// Must be Importer or higher to fetch\n\t\tif (currentUserMeetsUserLevel(UserLevel.IMPORTER)) {\n\t\t\tpromises.push(\n\t\t\t\tNS.storageLocations.fetch(),\n\t\t\t\tNS.storageLocations.getLocationTypes(),\n\t\t\t);\n\t\t}\n\n\t\t// When all promises are complete\n\t\tPromise.all(promises).then(() => {\n\t\t\t// Promise.all([\n\t\t\t// \timport(/* webpackChunkName: \"post-login-app\" */ '@netx/core-permissions'),\n\t\t\t// \timport(/* webpackChunkName: \"post-login-app\" */ '@netx/core-cart'),\n\t\t\t// \timport(/* webpackChunkName: \"post-login-app\" */ '@netx/core-asset'),\n\t\t\t// \timport(/* webpackChunkName: \"post-login-app\" */ '@netx/core-user'),\n\t\t\t// \timport(/* webpackChunkName: \"post-login-app\" */ '@netx/core-category'),\n\t\t\t// \timport(/* webpackChunkName: \"post-login-app\" */ '@netx/core-search'),\n\t\t\t// \timport(/* webpackChunkName: \"post-login-app\" */ '@netx/core-share'),\n\t\t\t// ]).then(modules => {\n\t\t\t// \tdispatcher.trigger('netx:load:module', modules.map(m => m.default), {\n\t\t\t// \t\tinitialized() {\n\t\t\t// \t\t\tdispatcher.trigger('app:ready', true);\n\t\t\t// \t\t},\n\t\t\t// \t});\n\t\t\t// });\n\t\t\tdispatcher.trigger('netx:app:modules');\n\t\t});\n\t});\n\n\t/**\n\t * @event module:auth#auth:session:invalid\n\t * @fires module:app#app:ready\n\t */\n\tdispatcher.once('auth:session:invalid', function () {\n\t\t// The app is ready to show the login screen\n\t\tdispatcher.trigger('app:ready', false);\n\t});\n\n\t/**\n\t * Once we find a valid session, test for correct server version.\n\t * @event module:auth#auth:session:valid\n\t * @fires module:app#app:compatible:confirmed\n\t * @fires module:app#app:serverVersionWarning\n\t * @fires module:app#app:user:prefs:ready\n\t * @listens module:app#app:compatible:confirmed\n\t */\n\tdispatcher.once('auth:session:valid', function () {\n\t\t// Fetch the user prefs\n\t\t$.when(userPrefs.fetch()).then(function () {\n\t\t\t// Things in the app can start testing against user prefs now\n\t\t\tdispatcher.trigger('app:user:prefs:ready');\n\n\t\t\t// Wait until authenticated for this\n\t\t\t// If solr is not enabled, warn the user & suggest Flex\n\t\t\tif (!getPreference('searchEngine.solrEnabled', true)) {\n\t\t\t\tdispatcher.trigger(\n\t\t\t\t\t'app:alert',\n\t\t\t\t\ti18n.t('i18n.solrNotEnabledMessage'),\n\t\t\t\t\ti18n.t('i18n.warning'),\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Test server version\n\t\t\tNS.fetch().then(function (java_version) {\n\t\t\t\tdispatcher.trigger('app:compatible:confirmed');\n\t\t\t\t// var requiredVersion = NS.options.REQUIRED_SERVER_VERSION;\n\t\t\t\t// if (!_.isUndefined(semver)) {\n\t\t\t\t// \tif (\n\t\t\t\t// \t\trequiredVersion &&\n\t\t\t\t// \t\t!semver.satisfies(java_version, requiredVersion)\n\t\t\t\t// \t) {\n\t\t\t\t// \t\tdispatcher.trigger(\n\t\t\t\t// \t\t\t'app:serverVersionWarning',\n\t\t\t\t// \t\t\tjava_version,\n\t\t\t\t// \t\t\trequiredVersion,\n\t\t\t\t// \t\t);\n\t\t\t\t// \t} else {\n\t\t\t\t// \t\tdispatcher.trigger('app:compatible:confirmed');\n\t\t\t\t// \t}\n\t\t\t\t// } else {\n\t\t\t\t// \t// If the install is missing the semver dependency log the issue and continue without catastrophic failure.\n\t\t\t\t// \tdispatcher.trigger('app:compatible:confirmed');\n\t\t\t\t// \tconsole.warn('Missing semver dependency.');\n\t\t\t\t// }\n\t\t\t});\n\t\t});\n\t});\n\n\t/**\n\t * @event module:auth#auth:token:valid\n\t * @fires module:auth#auth:token:handle\n\t */\n\tdispatcher.once('auth:token:valid', function () {\n\t\tdispatcher.trigger('auth:token:handle');\n\t});\n\n\t/**\n\t * @event module:auth#auth:token:invalid\n\t * @fires module:auth#auth:token:handle\n\t */\n\tdispatcher.once('auth:token:invalid', function () {\n\t\tdispatcher.trigger('auth:token:handle');\n\t});\n\n\t/**\n\t * Using a token\n\t * Only need a handful of modules for this\n\t * @event module:auth#auth:token:handle\n\t * @fires module:netx#netx:load:module\n\t * @fires module:app#app:ready\n\t */\n\t// Regardless of valid or invalid - the related view will handle messaging\n\tdispatcher.once('auth:token:handle', function () {\n\t\tconst m = window.location.hash.match(/(\\w+)/i)?.[1] ?? '';\n\t\tif (m === 'uploads') {\n\t\t\tPromise.all([\n\t\t\t\timport(/* webpackChunkName: \"upload-requests\" */ '@netx/core-asset'),\n\t\t\t\timport(/* webpackChunkName: \"upload-requests\" */ '@netx/core-upload'),\n\t\t\t\timport(/* webpackChunkName: \"upload-requests\" */ '@netx/core-category'),\n\t\t\t]).then((modules) => {\n\t\t\t\tdispatcher.trigger(\n\t\t\t\t\t'netx:load:module',\n\t\t\t\t\tmodules.map((m) => m.default),\n\t\t\t\t\t{\n\t\t\t\t\t\tinitialized() {\n\t\t\t\t\t\t\tdispatcher.trigger('app:ready', true);\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t});\n\t\t}\n\t});\n\n\t/**\n\t * Displays an alert box to the user\n\t * @event module:app#app:alert:show\n\t * @param {object} viewOptions View options\n\t */\n\tdispatcher.on(\n\t\t'app:alert:show',\n\t\tfunction (viewOptions) {\n\t\t\tmodalViews.add({\n\t\t\t\tviewClass: AlertView,\n\t\t\t\tshowActions: ['app:alert:show'],\n\t\t\t\tviewOptions: viewOptions,\n\t\t\t});\n\t\t},\n\t\twindow,\n\t);\n\n\t/**\n\t * Prepare and display an alert box to the user\n\t * @event module:app#app:alert\n\t * @param {string} msg Message to be displayed to the user\n\t * @param {string} type Type of alert that should be displayed to user corresponds with bootstrap classes 'error','warn','info','success'\n\t * @fires module:app#app:alert:show\n\t */\n\tdispatcher.on('app:alert', function (msg, type) {\n\t\tvar alertClass, av;\n\t\ttype = type || 'Warning';\n\t\tmsg =\n\t\t\tmsg || 'Sorry, the system has encountered a problem. Please try again.';\n\t\talertClass = type ? 'alert-' + type.toLowerCase() : '';\n\n\t\tdispatcher.trigger('app:alert:show', {\n\t\t\tmodel: new CoreModel({\n\t\t\t\ttype: type,\n\t\t\t\tmsg: msg,\n\t\t\t\talertClass: alertClass ? ' ' + alertClass : '',\n\t\t\t}),\n\t\t});\n\t});\n\n\t/**\n\t * Action handler for buttons that want to trigger history.back .\n\t * @event module:system#app:back\n\t */\n\tdispatcher.on('app:back', function () {\n\t\t// Gives us some added benefits\n\t\tappRouter.back();\n\t});\n\n\t/**\n\t * @event module:app#netx:browser:override:cancelled\n\t * @global\n\t */\n\tdispatcher.on('app:browser:override:cancelled', function () {\n\t\t// If the user doesn't want to continue we send them to Flex\n\t\twindow.location.replace('/ImagePortal.jsp');\n\t});\n\n\t/**\n\t * If the user cancelled startup due to the server incompatibility,\n\t * fall back to the Flex interface.\n\t * @event module:app#netx:compatible:cancelled\n\t * @global\n\t */\n\tdispatcher.once('app:compatible:cancelled', function () {\n\t\twindow.location.replace('/ImagePortal.jsp');\n\t});\n\n\t/**\n\t * @event module:app#app:confirm:show\n\t * @param {object} viewOptions View options\n\t */\n\tdispatcher.on('app:confirm:show', function (viewOptions) {\n\t\timport(\n\t\t\t/* webpackChunkName: \"view-appConfirm\" */ './views/confirmView'\n\t\t).then((View) => {\n\t\t\tmodalViews.add({\n\t\t\t\tviewClass: View.default,\n\t\t\t\tshowActions: ['app:confirm:show'],\n\t\t\t\tviewOptions: viewOptions,\n\t\t\t});\n\t\t});\n\t});\n\t/**\n\t * Triggers a confirmation dialog to be displayed to the user.\n\t * The first parameter is an options object used in a new instance of Netx.Views.Confirmview.\n\t * All other arguments are passed to the 'args' property of that view, and are then passed\n\t * along with the confirmation event it generates.\n\t * @event module:app#app:confirm\n\t * @param {object} options Options\n\t */\n\tdispatcher.on('app:confirm', function (options) {\n\t\t// any other arguments we pass along to the view, which passes them to the event\n\t\tdispatcher.trigger(\n\t\t\t'app:confirm:show',\n\t\t\t_.extend(\n\t\t\t\t{\n\t\t\t\t\targs: _.rest(arguments),\n\t\t\t\t},\n\t\t\t\toptions,\n\t\t\t),\n\t\t);\n\t});\n\n\t/**\n\t * @event module:app#app:confirm:delete:show\n\t * @param {object} viewOptions View options\n\t */\n\tdispatcher.on('app:confirm:delete:show', function (viewOptions) {\n\t\timport(\n\t\t\t/* webpackChunkName: \"view-appConfirm\" */ './views/confirmDelete'\n\t\t).then((View) => {\n\t\t\tmodalViews.add({\n\t\t\t\tviewClass: View.default,\n\t\t\t\tshowActions: ['app:confirm:delete:show'],\n\t\t\t\tviewOptions: viewOptions,\n\t\t\t});\n\t\t});\n\t});\n\n\t/**\n\t * Triggers a delete confirmation dialog to be displayed to the user.\n\t * The first parameter is an options object used in a new instance of Netx.Views.Confirmview.\n\t * All other arguments are passed to the 'args' property of that view, and are then passed\n\t * along with the confirmation event it generates.\n\t * @event module:app#app:confirm:delete\n\t * @param {object} options Options\n\t * @fires module:app#app:confirm:delete:show\n\t */\n\tdispatcher.on('app:confirm:delete', function (options) {\n\t\t// any other arguments we pass along to the view, which passes them to the event\n\t\tdispatcher.trigger(\n\t\t\t'app:confirm:delete:show',\n\t\t\t_.extend(\n\t\t\t\t{\n\t\t\t\t\targs: _.rest(arguments),\n\t\t\t\t},\n\t\t\t\toptions,\n\t\t\t),\n\t\t);\n\t});\n\n\t/**\n\t * Confirmation for abandoning unsaved changes\n\t * @event module:app#app:confirmUnsaved\n\t * @param {object} opts Options for confirmation\n\t * @fires module:app#app:confirm\n\t * @listens module:app#app:confirmUnsaved:cancelled\n\t * @listens module:app#app:confirmUnsaved:confirmed\n\t */\n\tdispatcher.on('app:confirmUnsaved', function (opts) {\n\t\topts = opts || {};\n\n\t\tdispatcher.off('app:confirmUnsaved:confirmed');\n\t\t_.isFunction(opts.confirmed) &&\n\t\t\tdispatcher.on('app:confirmUnsaved:confirmed', opts.confirmed);\n\n\t\tdispatcher.off('app:confirmUnsaved:cancelled');\n\t\t_.isFunction(opts.cancelled) &&\n\t\t\tdispatcher.on('app:confirmUnsaved:cancelled', opts.cancelled);\n\n\t\tdispatcher.trigger('app:confirm', {\n\t\t\teventStr: 'app:confirmUnsaved',\n\t\t\tmessage: i18n.t('i18n.anyUnsavedChangesWillBeLostConfirm'),\n\t\t\toklabel: i18n.t('i18n.btnYes'),\n\t\t\tcancellabel: i18n.t('i18n.btnNo'),\n\t\t});\n\t});\n\n\t/**\n\t * Launch the contact dialog\n\t * @event module:app#app:contact:show\n\t * @param {object} viewOptions View options\n\t */\n\tdispatcher.on(\n\t\t'app:contact:show',\n\t\tfunction (viewOptions) {\n\t\t\timport(/* webpackChunkName: \"view-contact\" */ './views/contact').then(\n\t\t\t\t(View) => {\n\t\t\t\t\tmodalViews.add({\n\t\t\t\t\t\tviewClass: View.default,\n\t\t\t\t\t\tshowActions: ['app:contact:show'],\n\t\t\t\t\t\tviewOptions: viewOptions,\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t);\n\t\t},\n\t\twindow,\n\t);\n\t/**\n\t * @event module:app#app:contact\n\t * @fires module:app#app:contact:show\n\t */\n\tdispatcher.on('app:contact', function () {\n\t\tdispatcher.trigger('app:contact:show');\n\t});\n\t/**\n\t * @event module:app#app:contact:confirmed\n\t * @fires module:app#app:contact:error\n\t * @fires module:app#app:contact:success\n\t */\n\tdispatcher.on('app:contact:confirmed', function (values, view) {\n\t\tNetx.app.contact(values).then(\n\t\t\tfunction () {\n\t\t\t\tdispatcher.trigger('app:contact:success');\n\t\t\t},\n\t\t\tfunction (err) {\n\t\t\t\tdispatcher.trigger('app:contact:error', err);\n\t\t\t},\n\t\t);\n\t});\n\t/**\n\t * @event module:app#app:contact:success\n\t * @fires module:notification#notification\n\t */\n\tdispatcher.on(\n\t\t'app:contact:success',\n\t\tfunction () {\n\t\t\tdispatcher.trigger('notification', {\n\t\t\t\tmodule: 'app',\n\t\t\t\ttitle: i18n.t('i18n.email'),\n\t\t\t\tdescription: i18n.t('i18n.emailSent'),\n\t\t\t\ttype: 'success',\n\t\t\t});\n\t\t},\n\t\twindow,\n\t);\n\t/**\n\t * @event module:app#app:contact:error\n\t * @param {string} error Error string\n\t * @fires module:notification#notification\n\t */\n\tdispatcher.on(\n\t\t'app:contact:error',\n\t\tfunction (error) {\n\t\t\tdispatcher.trigger('notification', {\n\t\t\t\tmodule: 'app',\n\t\t\t\ttitle: i18n.t('i18n.email'),\n\t\t\t\tdescription: i18n.t('i18n.thereWasAnErrorSendingYourRequest'),\n\t\t\t\ttype: 'danger',\n\t\t\t});\n\t\t},\n\t\twindow,\n\t);\n\n\t/**\n\t * @event module:app#app:help\n\t * @fires module:app#app:help:error\n\t */\n\tdispatcher.on('app:help', function () {\n\t\tconst url = Netx.getPreference('header.helpUrl');\n\t\tif (url != null) {\n\t\t\t// eslint-disable-next-line security/detect-unsafe-regex\n\t\t\tconst regexp =\n\t\t\t\t/(ftp|http|https):\\/\\/(\\w+:{0,1}\\w*@)?(\\S+)(:[0-9]+)?(\\/|\\/([\\w#!:.?+=&%@!\\-/]))?/;\n\t\t\tif (regexp.test(url)) return spawnNewWindow(url);\n\n\t\t\tdispatcher.trigger(\n\t\t\t\t'app:help:error',\n\t\t\t\tnew Error(i18n.t('i18n.invalidHelpUrl', {url: url})),\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\t\tdispatcher.trigger(\n\t\t\t'app:help:error',\n\t\t\tnew Error(i18n.t('i18n.helpUrlNotSet')),\n\t\t);\n\t});\n\t/**\n\t * @event module:app#app:help:error\n\t * @param {string} error Error string\n\t * @fires module:app#app:alert\n\t */\n\tdispatcher.on('app:help:error', function (error) {\n\t\tdispatcher.trigger('app:alert', error, i18n.t('i18n.error'));\n\t});\n\n\t/**\n\t * @event module:app#app:progress:show\n\t * @param {object} viewOptions View options\n\t */\n\tdispatcher.on(\n\t\t'app:progress:show',\n\t\tfunction (viewOptions) {\n\t\t\tmodalViews.add({\n\t\t\t\tviewClass: AppProgressView,\n\t\t\t\tshowActions: ['app:progress:show'],\n\t\t\t\tviewOptions: viewOptions,\n\t\t\t});\n\t\t},\n\t\twindow,\n\t);\n\t/**\n\t * @event module:app#app:progress\n\t * @param {object} opts Progress options\n\t * @fires module:app#app:progress:show\n\t */\n\tdispatcher.on('app:progress', function (opts) {\n\t\t// Nothing fancy to do yet\n\t\tdispatcher.trigger('app:progress:show', opts);\n\t});\n\n\t/**\n\t * @event module:app#app:prompt:show\n\t * @param {object} viewOptions View options\n\t */\n\tdispatcher.on('app:prompt:show', function (viewOptions) {\n\t\timport(/* webpackChunkName: \"view-prompt\" */ './views/promptView').then(\n\t\t\t(View) => {\n\t\t\t\tmodalViews.add({\n\t\t\t\t\tviewClass: View.default,\n\t\t\t\t\tshowActions: ['app:prompt:show'],\n\t\t\t\t\tviewOptions: viewOptions,\n\t\t\t\t});\n\t\t\t},\n\t\t);\n\t});\n\t/**\n\t * Triggers a prompt dialog to be displayed to the user.\n\t * The first parameter is an options object used in a new instance of Netx.Views.PromptView.\n\t * All other arguments are passed to the 'args' property of that view, and are then passed\n\t * along with the confirmation event it generates.\n\t * @event module:app#app:prompt\n\t * @fires module:app#app:prompt:show\n\t */\n\tdispatcher.on('app:prompt', function () {\n\t\t// our first argument is options for the ConfirmView\n\t\tvar opts = Array.prototype.shift.apply(arguments);\n\t\t// any other arguments we pass along to the view, which passes them to the event\n\t\tdispatcher.trigger(\n\t\t\t'app:prompt:show',\n\t\t\t_.extend({args: Array.prototype.slice.apply(arguments)}, opts),\n\t\t);\n\t});\n\n\t/**\n\t * @event module:app#app:reportProblem:show\n\t * @param {object} viewOptions View options\n\t */\n\tdispatcher.on(\n\t\t'app:reportProblem:show',\n\t\tfunction (viewOptions) {\n\t\t\timport(\n\t\t\t\t/* webpackChunkName: \"view-reportProblem\" */ './views/problemReportView'\n\t\t\t).then((View) => {\n\t\t\t\tmodalViews.add({\n\t\t\t\t\tviewClass: View.default,\n\t\t\t\t\tshowActions: ['app:reportProblem:show'],\n\t\t\t\t\tviewOptions: viewOptions,\n\t\t\t\t});\n\t\t\t});\n\t\t},\n\t\twindow,\n\t);\n\t/**\n\t * Prepare and launch the report a problem dialog\n\t * @event module:app#app:reportProblem\n\t * @fires module:app#app:reportProblem:show\n\t */\n\tdispatcher.on('app:reportProblem', function () {\n\t\tdispatcher.trigger('app:reportProblem:show', {\n\t\t\tmodel: Netx.app,\n\t\t});\n\t});\n\t/**\n\t * @event module:app#app:reportProblem:confirmed\n\t * @param {string} description Description of problem\n\t * @param {boolean} ccSelf CC reporter\n\t */\n\tdispatcher.on('app:reportProblem:confirmed', function (description, ccSelf) {\n\t\tNS.set({\n\t\t\tdescription: description,\n\t\t\tclientLogs: window.console.history.dump('all'),\n\t\t\tccSelf: ccSelf ? 'true' : 'false',\n\t\t});\n\n\t\tNS.complain().then(\n\t\t\tfunction () {\n\t\t\t\tdispatcher.trigger('app:reportProblem:success');\n\t\t\t},\n\t\t\tfunction (err) {\n\t\t\t\tdispatcher.trigger('app:reportProblem:error', err);\n\t\t\t},\n\t\t);\n\t});\n\t/**\n\t * @event module:app#app:reportProblem:error\n\t * @param {string} error Error string\n\t * @fires module:app#app:alert\n\t */\n\tdispatcher.on('app:reportProblem:error', function (error) {\n\t\tdispatcher.trigger('app:alert', error, i18n.t('i18n.error'));\n\t});\n\t/**\n\t * @event module:app#app:reportProblem:success\n\t * @fires module:notification#notification\n\t */\n\tdispatcher.on('app:reportProblem:success', function () {\n\t\tdispatcher.trigger('notification', {\n\t\t\tmodule: 'app',\n\t\t\ttitle: i18n.t('i18n.reportProblem'),\n\t\t\tdescription: i18n.t('i18n.yourInformationWasSent'),\n\t\t\ttype: 'success',\n\t\t});\n\t});\n\n\t//============================================\n\t//\tApp pager\n\t//============================================\n\t/**\n\t * Rewind to the first page of a selection\n\t * @event module:app#app:pager:firstPage\n\t * @param {Netx.Collection} Netx collection instance\n\t */\n\tdispatcher.on('app:pager:firstPage', function (pager, collection) {\n\t\tpager.firstPage();\n\t});\n\n\t/**\n\t * Forward to the last page of a selection\n\t * @event module:app#app:pager:lastPage\n\t * @param {Netx.Collection} Netx collection instance\n\t */\n\tdispatcher.on('app:pager:lastPage', function (pager, collection) {\n\t\tpager.lastPage();\n\t});\n\n\t/**\n\t * Fetch the previous page of a selection\n\t * @event module:app#app:pager:prevPage\n\t * @param {Netx.Collection} Netx collection instance\n\t */\n\tdispatcher.on('app:pager:prevPage', function (pager, collection) {\n\t\tpager.prevPage();\n\t});\n\n\t/**\n\t * Fetch the next page of a selection\n\t * @event module:app#app:pager:nextPage\n\t * @param {Netx.Collection} Netx collection instance\n\t */\n\tdispatcher.on('app:pager:nextPage', function (pager, collection) {\n\t\tpager.nextPage();\n\t});\n\n\t/**\n\t * Goto a specific page of a selection\n\t * @event module:app#app:pager:gotoPage\n\t * @param {Netx.Collection} Netx collection instance\n\t */\n\tdispatcher.on('app:pager:gotoPage', function (pager, collection, page) {\n\t\tpager.gotoPage(page);\n\t});\n\t//============================================\n\t//\t!App pager\n\t//============================================\n\n\t/**\n\t * Logic for status polling\n\t * @event module:app#app:pollBatchJob\n\t * @param {string} uuid UUID string\n\t * @param {event} event Event\n\t * @param {boolean} hasResult Batch task has result\n\t * @param {array} args Additional arguments to pass on (optional)\n\t * @fires module:app#app:pollBatchJob\n\t * @fires module:app#app:pollBatchJob:error\n\t * @fires module:app#app:pollBatchJob:messages\n\t * @fires module:app#app:pollBatchJob:success\n\t * @fires module:share#share:simpleDownload\n\t */\n\tdispatcher.on(\n\t\t'app:pollBatchJob',\n\t\tfunction (uuid, event, hasResult, args, pollInterval) {\n\t\t\tvar batchJob = batchJobs.get(uuid);\n\t\t\tif (!batchJob) {\n\t\t\t\tvar eventStrs = {};\n\t\t\t\tif (event) {\n\t\t\t\t\teventStrs[event] = args;\n\t\t\t\t}\n\t\t\t\tbatchJob = new BatchJobModel(\n\t\t\t\t\t{\n\t\t\t\t\t\tuuid: uuid,\n\t\t\t\t\t\targs: args || [],\n\t\t\t\t\t\thasResult: hasResult,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\teventStrs: eventStrs,\n\t\t\t\t\t\tpollInterval,\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t\tbatchJobs.add(batchJob);\n\t\t\t} else {\n\t\t\t\tevent && batchJob.addEventStr(event, args);\n\t\t\t}\n\t\t},\n\t);\n\t/**\n\t * UI hander for batch job success:\n\t */\n\tdispatcher.on(\n\t\t'app:pollBatchJob:success',\n\t\tfunction (uuid, event, hasResult, args) {\n\t\t\t//Netx.views.batchJobView && Netx.views.batchJobView.hide();\n\t\t},\n\t);\n\n\t/**\n\t * UI hander for batch job error:\n\t */\n\tdispatcher.on('app:pollBatchJob:error', function (err) {});\n\t/**\n\t * Triggering app:stop will halt the application, log out the user and\n\t * reload the page. Triggered due to invalid session, expired session or logout.\n\t * @event module:app#app:stop\n\t */\n\tdispatcher.on('app:stop', function () {\n\t\tlegacyWebsocket.disconnect();\n\t\t// Force page to reload\n\t\t//\n\t\t// (If you pass true as the value of the forceGet param - location.reload(forceGet)\n\t\t// Page will reload from server instead of cache\n\t\t// For more info see - http://www.w3schools.com/jsref/met_loc_reload.asp)\n\t\t// HACK https://jira.netx.net/browse/DAM-6124\n\t\t_.defer(function () {\n\t\t\tif (window.location.href.match(/request\\/([0-9a-fA-F-]{36})/)) {\n\t\t\t\twindow.location.href = window.location.href.substr(\n\t\t\t\t\t0,\n\t\t\t\t\twindow.location.href.indexOf('#'),\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tlocation.reload();\n\t\t\t}\n\t\t});\n\t});\n\t/**\n\t * Keep us logged in if we regained consciousness in time to click that button:\n\t * @event module:app#netx:session:timeout:confirmed\n\t */\n\tdispatcher.on('netx:session:timeout:confirmed', function () {\n\t\t$('body').removeClass('session-expiring');\n\t\tclearTimeout(session.finalCountdown);\n\t\tdelete session.finalCountdown;\n\t\tsession.tickle();\n\t});\n\t/**\n\t * When the session logout timer fires, we have only 60 seconds before our session times out!\n\t * Alert the user!\n\t * @event module:app#netx:session:timeoutWarning\n\t * @fires module:app#app:confirm\n\t */\n\tdispatcher.on('netx:session:timeoutWarning', function () {\n\t\t$('body').addClass('session-expiring');\n\t\tconsole.warn('Session timeout in 60 seconds.');\n\t\tdispatcher.trigger('app:confirm', {\n\t\t\teventStr: 'netx:session:timeout',\n\t\t\tmessage: i18n.t('i18n.yourSessionIsAboutToExpire'),\n\t\t\tyesLabel: i18n.t('i18n.keepMeLoggedIn'),\n\t\t\tnoLabel: '',\n\t\t\ttitle: i18n.t('i18n.timeoutWarning'),\n\t\t});\n\t\t// We're leaving together, but it's still farewell ...\n\t\tsession.finalCountdown = setTimeout(function () {\n\t\t\tdispatcher.trigger('session:expire');\n\t\t}, 60 * 1000); // sixty seconds!\n\t});\n\t/**\n\t * Handling session timeouts:\n\t *\n\t * The DAM cancels all sessions after a configurable period of time without\n\t * user activity. X7 keeps a session timer so we can warn the user if the\n\t * timeout is imminent. The timer is automatically reset on every API call.\n\t *\n\t * Prevent our client-side session timer from timing out during uploads,\n\t * which are not API calls, and can potentially take longer than the timeout period.\n\t * @event module:app#upload:progress\n\t */\n\tdispatcher.on('upload:progress', function () {\n\t\tsession.resetLogoutTimer();\n\t});\n\n\t/**\n\t * RPC catastrophic error count reset - DAM-3261\n\t * @event module:app#app:server:success\n\t */\n\tdispatcher.on('app:server:success', function () {\n\t\tNS.set({serverUnresponsiveCount: 0});\n\t});\n\t/**\n\t * RPC catastrophic error counting - DAM-3261\n\t * @event module:app#app:server:success\n\t * @fires module:app#app:alert\n\t */\n\tdispatcher.on('app:server:error', function () {\n\t\tvar count = NS.get('serverUnresponsiveCount') + 1;\n\t\tNS.set({serverUnresponsiveCount: count});\n\t\tif (count > 3) {\n\t\t\tdispatcher.trigger(\n\t\t\t\t'app:alert',\n\t\t\t\ti18n.t('i18n.serverNotAvailable', 'danger'),\n\t\t\t);\n\t\t}\n\t});\n\n\t/**\n\t * Install analytics\n\t * @event module:app#netx:analytics:start\n\t * @param {string} provider Provider name\n\t * @param {string} code Tracking code\n\t * @param {function} cb Callback\n\t */\n\tdispatcher.once('netx:analytics:start', function (provider, code, cb) {\n\t\t// Someday we can expand this to support multiple providers. But for now, it's all Google:\n\t\tif (!['google'].includes(provider)) {\n\t\t\tconsole.warn(`unsupported analytics provider ${provider}`);\n\t\t\treturn cb();\n\t\t}\n\n\t\timport(\n\t\t\t/* webpackChunkName: \"google-analytics\" */ '@netx/core/analytics/google'\n\t\t).then(({default: setupGoogleAnalytics}) => {\n\t\t\tsetupGoogleAnalytics(code);\n\t\t\tcb();\n\t\t});\n\t});\n\n\t/**\n\t * If the server version is incorrect, provide a warning.\n\t * @event module:app#app:serverVersionWarning\n\t * @fires module:app#app:confirm\n\t * @global\n\t */\n\tdispatcher.on(\n\t\t'app:serverVersionWarning',\n\t\tfunction (version, required_version) {\n\t\t\tdispatcher.trigger('app:confirm', {\n\t\t\t\ttitle: i18n.t('i18n.serverVersionWarningTitle'),\n\t\t\t\tmessage: i18n.t('i18n.serverVersionWarningMessage', {\n\t\t\t\t\tserver_version: version,\n\t\t\t\t\trequired_version: required_version,\n\t\t\t\t}),\n\t\t\t\t//\"This application requires DAM version \" + required_version + \", but this DAM is at version \" + version + '. If you continue, you may encouter compatability errors. You may prefer to use
    the Flex interface instead.',\n\t\t\t\tyesLabel: i18n.t('i18n.serverVersionWarningContinue'),\n\t\t\t\tnoLabel: i18n.t('i18n.serverVersionWarningCancel'),\n\t\t\t\teventStr: 'app:compatible',\n\t\t\t\tid: 'server-version-warning',\n\t\t\t});\n\t\t},\n\t);\n\n\t/**\n\t * Display a menu as a set of option tiles, using OptionTilesView\n\t *\n\t * @event module:app#app:showOptions\n\t * @param {Netx.Menu} menu\n\t * @param {mixed} payload Additional data to send to options view and its child views ( best as an object ); this\n\t * @param {string} viewKey A key for referencing the OptionTilesView (when triggering app:hideOptions); if not provided, the menu will be stringified as the key.\n\t * will be returned as an extra argument to the triggered action handler.\n\t * @see module:app#app:hideOptions\n\t */\n\tdispatcher.on('app:showOptions', function (options) {\n\t\tvar tileCollection = new OptionTilesCollection([], {\n\t\t\tmenu: options.menu,\n\t\t\tdata: options.data,\n\t\t});\n\t\tif (tileCollection.length) {\n\t\t\t// If there is only one option and we have a wrapper - just fire it off\n\t\t\t// If the action does not have a wrapper - there is not much that can be done since we do not know how to get the data to the event properly\n\t\t\tif (tileCollection.length === 1) {\n\t\t\t\tvar tileOption = tileCollection.at(0),\n\t\t\t\t\twrapper = tileOption && tileOption.get('wrapper');\n\t\t\t\tif (wrapper) {\n\t\t\t\t\treturn dispatcher.trigger.apply(\n\t\t\t\t\t\tdispatcher,\n\t\t\t\t\t\t[tileOption.get('action')].concat(\n\t\t\t\t\t\t\twrapper({data: tileOption.get('data')}),\n\t\t\t\t\t\t),\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t\timport(\n\t\t\t\t/* webpackChunkName: \"view-optionTiles\" */ './views/optionTilesView'\n\t\t\t).then((View) => {\n\t\t\t\tmodalViews.add({\n\t\t\t\t\tviewClass: View.default,\n\t\t\t\t\tshowActions: ['app:showOptions'],\n\t\t\t\t\tviewOptions: _.extend({}, _.omit(options, 'menu'), {\n\t\t\t\t\t\tcollection: tileCollection,\n\t\t\t\t\t}),\n\t\t\t\t});\n\t\t\t});\n\t\t} else {\n\t\t\tconsole.warn('No valid actions found in menu.');\n\t\t}\n\t});\n\n\n\t/**\n\t * app:start starts up the Netx skin/application\n\t * Show the app layer, create views, etc.\n\t * @event module:app#app:start\n\t * @fires module:app#app:started\n\t */\n\tdispatcher.on('app:start', function () {\n\t\t// Give any other `app:start` listener the ability to respond prior to calling `app:started`\n\t\t_.defer(function () {\n\t\t\t// Welcome to X7! Please click responsibly.\n\t\t\tdispatcher.trigger('app:started');\n\t\t});\n\t});\n\n\tlogger.silly('loading required modules...');\n\tdispatcher.on('app:load:modules', function (NS) {\n\t\tPromise.all([\n\t\t\timport(\n\t\t\t\t/* webpackMode: \"eager\"*/ /* webpackChunkName: \"app-module-dependencies\" */ '@netx/core-auth'\n\t\t\t),\n\t\t\timport(\n\t\t\t\t/* webpackMode: \"eager\"*/ /* webpackChunkName: \"app-module-dependencies\" */ '@netx/core-notification'\n\t\t\t),\n\t\t]).then((imports) => {\n\t\t\tlogger.silly('loaded required modules');\n\t\t\tconst [Auth, Notification] = imports;\n\n\t\t\t// Now initialize auth module\n\t\t\tdispatcher.trigger(\n\t\t\t\t'netx:load:module',\n\t\t\t\t[Auth.default, Notification.default],\n\t\t\t\t{\n\t\t\t\t\tinitialized() {\n\t\t\t\t\t\tlogger.silly('starting analytics...');\n\t\t\t\t\t\t// Setup analytics\n\t\t\t\t\t\tnew Analytics().then(() => {\n\t\t\t\t\t\t\tlogger.silly('initialized');\n\t\t\t\t\t\t\tdispatcher.trigger('app:extend', NS);\n\t\t\t\t\t\t\tdispatcher.trigger('app:initialized', NS);\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\t\t});\n\t});\n\n\t//=================================\n\t//\t!EVENT LISTENERS\n\t//=================================\n\tlogger.silly('bootstrapping...');\n\t$.when.apply($, NS.bootstrap).then(function () {\n\t\tlogger.silly('bootstrapped');\n\t\tdelete NS.bootstrap;\n\t\tdispatcher.trigger('app:load:modules', NS);\n\t});\n});\n\nexport default {\n\tinitialize(opts) {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tdispatcher.once('app:initialized', () => {\n\t\t\t\timport(\n\t\t\t\t\t/* webpackMode: \"eager\"*/ /* webpackChunkName: \"app-module-dependencies\" */ './routes'\n\t\t\t\t).then((routes) => {\n\t\t\t\t\tresolve(routes.default);\n\t\t\t\t});\n\t\t\t});\n\t\t\tdispatcher.trigger('app:init');\n\t\t});\n\t},\n};\n","export {default} from 'netxcore@netx/core-app/controller';\n\n////////////////////////////////////\n// Deferred module loaders\n////////////////////////////////////\n// These are all core defined deferred modules\n// If themes choose to create new deferred module they will need to set up their own dispatchers and routes accordingly\n// and in the same pattern as seen here\n// These are placed here for optimal bundle creations.\n/**\n * @event module:netx#netx:load:module:adBuilder\n * @param {object} opts Options\n * @fires module:netx#netx:load:module\n */\ndispatcher.on('netx:load:module:adBuilder', function (opts) {\n\timport(\n\t\t/* webpackChunkName: \"@netx/core-ad-builder\" */ '@netx/core-ad-builder'\n\t).then((AdBuilder) => {\n\t\tdispatcher.trigger('netx:load:deferred:module', AdBuilder.default, opts);\n\t});\n});\n/**\n * @event module:netx#netx:load:module:audioeditor\n * @param {object} opts Options\n * @fires module:netx#netx:load:module\n */\ndispatcher.on('netx:load:module:audioeditor', function (opts) {\n\timport(\n\t\t/* webpackChunkName: \"@netx/core-audio-editor\" */ '@netx/core-audio-editor'\n\t).then((AudioEditor) => {\n\t\tdispatcher.trigger('netx:load:deferred:module', AudioEditor.default, opts);\n\t});\n});\n/**\n * @event module:netx#netx:load:module:dataset\n * @param {object} opts Options\n * @fires module:netx#netx:load:module\n */\ndispatcher.on('netx:load:module:dataset', function (opts, cb) {\n\timport(\n\t\t/* webpackChunkName: \"@netx/core-data-set\" */ '@netx/core-data-set'\n\t).then((DataSet) => {\n\t\tdispatcher.trigger('netx:load:deferred:module', DataSet.default, opts);\n\t});\n});\n/**\n * @event module:netx#netx:load:module:pdfViewer\n * @param {object} opts Options\n * @fires module:netx#netx:load:module\n */\ndispatcher.on('netx:load:module:pdfViewer', function (opts, cb) {\n\timport(\n\t\t/* webpackChunkName: \"@netx/core-pdf-viewer\" */ '@netx/core-pdf-viewer'\n\t).then((PDFViewer) => {\n\t\tdispatcher.trigger('netx:load:deferred:module', PDFViewer.default, opts);\n\t});\n});\n/**\n * @event module:netx#netx:load:module:imageeditor\n * @param {object} opts Options\n * @fires module:netx#netx:load:module\n */\ndispatcher.on('netx:load:module:imageeditor', function (opts, cb) {\n\timport(\n\t\t/* webpackChunkName: \"@netx/core-image-editor\" */ '@netx/core-image-editor'\n\t).then((ImageEditor) => {\n\t\tdispatcher.trigger('netx:load:deferred:module', ImageEditor.default, opts);\n\t});\n});\n/**\n * @event module:netx#netx:load:module:project\n * @param {object} opts Options\n * @fires module:netx#netx:load:module\n */\ndispatcher.on('netx:load:module:project', function (opts, cb) {\n\timport(\n\t\t/* webpackChunkName: \"@netx/core-project\" */ '@netx/core-project'\n\t).then((Project) => {\n\t\tdispatcher.trigger('netx:load:deferred:module', Project.default, opts);\n\t});\n});\n/**\n * @event module:netx#netx:load:module:stat\n * @param {object} opts Options\n * @fires module:netx#netx:load:module\n */\ndispatcher.on('netx:load:module:stat', function (opts, cb) {\n\timport(\n\t\t/* webpackChunkName: \"@netx/core-stat-next\" */ '@netx/core-stat-next'\n\t).then((Stat) => {\n\t\tdispatcher.trigger('netx:load:deferred:module', Stat.default, opts);\n\t});\n});\n/**\n * @event module:netx#netx:load:module:system\n * @param {object} opts Options\n * @fires module:netx#netx:load:module\n */\ndispatcher.on('netx:load:module:system', function (opts, cb) {\n\timport(/* webpackChunkName: \"@netx/core-system\" */ '@netx/core-system').then(\n\t\t(System) => {\n\t\t\tdispatcher.trigger('netx:load:deferred:module', System.default, opts);\n\t\t},\n\t);\n});\n/**\n * @event module:netx#netx:load:module:uploadAssetRequestManager\n * @param {object} opts Options\n * @fires module:netx#netx:load:module\n */\ndispatcher.on('netx:load:module:system:groups', function (opts) {\n\timport(\n\t\t/* webpackChunkName: \"@netx/core-system-groups\" */ '@netx/core-system-groups'\n\t).then((SystemGroups) => {\n\t\tdispatcher.trigger('netx:load:deferred:module', SystemGroups.default, opts);\n\t});\n});\n/**\n * @event module:netx#netx:load:module:videoeditor\n * @param {object} opts Options\n * @fires module:netx#netx:load:module\n */\ndispatcher.on('netx:load:module:videoeditor', function (opts, cb) {\n\timport(\n\t\t/* webpackChunkName: \"@netx/core-video-editor\" */ '@netx/core-video-editor'\n\t).then((VideoEditor) => {\n\t\tdispatcher.trigger('netx:load:deferred:module', VideoEditor.default, opts);\n\t});\n});\n\n/**\n * @event module:netx#netx:load:module:uploadAssetRequestManager\n * @param {object} opts Options\n * @fires module:netx#netx:load:module\n */\ndispatcher.on('netx:load:module:uploadAssetRequestManager', function (opts) {\n\timport(\n\t\t/* webpackChunkName: \"@netx/core-upload-asset-request-manager\" */ '@netx/core-upload-asset-request-manager'\n\t).then((UploadAssetRequestManager) => {\n\t\tdispatcher.trigger(\n\t\t\t'netx:load:deferred:module',\n\t\t\tUploadAssetRequestManager.default,\n\t\t\topts,\n\t\t);\n\t});\n});\n\n////////////////////////////////////\n// !Deferred module loaders\n////////////////////////////////////\n\n/**\n * App Module Extensions\n * @event module:app#app:extend\n */\ndispatcher.once('app:extend', function (NS) {\n\t/**\n\t * @event module:netx#routed\n\t */\n\tdispatcher.on('routed', function () {\n\t\t// Kills things (like dropdowns and the like)\n\t\tNS.$body.click();\n\t});\n\n\t// App shortcuts to the upload module\n\t// We only load upload after login and if the user is importer or above\n\t// so the app menus may have been parsed before the actions/translations\n\t// from upload are available\n\t// When we reqork our menu system we should factor this in and have some sort\n\t// of attribute that defines the menu's actions belong to another module and to not\n\t// parse/render the menu until that module has loaded\n\tdispatcher.on('app:upload', function (viewOptions, catId) {\n\t\tdispatcher.trigger('upload:landing', viewOptions, catId);\n\t});\n\n\tdispatcher.on('app:upload:attributeData', function () {\n\t\t//dispatcher.trigger('upload:attributeData');\n\t\tdispatcher.trigger('app:upload', {\n\t\t\ttab: 'attributeData',\n\t\t});\n\t});\n\tdispatcher.on('app:upload:bulkCartLoader', function () {\n\t\t//dispatcher.trigger('upload:bulkCartLoader');\n\t\tdispatcher.trigger('app:upload', {\n\t\t\ttab: 'bulkCartLoader',\n\t\t});\n\t});\n\n\t////////////////////////////\n\t// Drag Events\n\t////////////////////////////\n\t// For the love of bubbling events\n\t// Prevent the browser from trying to interpret these things\n\tNS.$document\n\t\t.off('dragover')\n\t\t// Bubbles up from drop zones within\n\t\t.on('dragover', 'body', function (e) {\n\t\t\t// Prevent\n\t\t\te.preventDefault();\n\t\t\treturn false;\n\t\t})\n\t\t// Bubbles up from drop zones within\n\t\t.off('drop')\n\t\t.on('drop', 'body', function (e) {\n\t\t\t// Prevent\n\t\t\te.preventDefault();\n\t\t\treturn false;\n\t\t});\n\n\t//DAM-4150 - override FormValidation.i18n for dynamic message\n\tFormValidation.I18n = $.extend(true, FormValidation.I18n || {}, {\n\t\ten_US: {\n\t\t\tstringLength: {\n\t\t\t\tless: 'Please enter no more than %s character(s)',\n\t\t\t\t// this doesn't work\n\t\t\t\tless_plural: 'Please enter no more than %s characters',\n\t\t\t},\n\t\t},\n\t});\n}); // app:extend\n","/**\n * App module\n * @module app/index\n */\n\nimport actions from './actions';\nimport menus from './menus';\nimport MenuView from '@netx/core-app/views/menuView';\nimport controller from './controller';\nimport {RegisterLegacyAction} from '@netx/core/legacyActionManager';\nimport {setGlobal} from '@netx/core-next/utils/setGlobal';\nimport {addMenus} from '@netx/core/legacyMenuManager';\n\n/**\n * @property {object} exports - Our module exports\n * @property {string} exports.namespace - Module namespace\n * @property {function} exports.initialize - Module initializer\n */\nexport default {\n\tnamespace: 'app',\n\tinitialize() {\n\t\tRegisterLegacyAction(actions);\n\n\t\taddMenus(menus);\n\n\t\tsetGlobal((Netx) => ({\n\t\t\tViews: {\n\t\t\t\t...Netx.Views,\n\t\t\t\tMenuView,\n\t\t\t},\n\t\t}));\n\n\t\treturn controller.initialize();\n\t},\n};\n","/**\n * @class\n */\nimport Base from '@netx/core/lib/netx-view';\nimport Template from '../templates/advancedMenuItemView.html';\n\nexport default class AdvancedMenuItemView extends Base {\n\t/** @override */\n\tconstructor(opts = {}) {\n\t\topts.tagName = opts.tagName || 'li';\n\t\topts.template = opts.template || Template;\n\t\tsuper(opts);\n\t}\n\n\t/** @type {string} */\n\tstatic get __name__() {\n\t\treturn 'AdvancedMenuItemView';\n\t}\n}\n","/**\n * @class\n */\nimport Base from './menuView';\nimport Template from '../templates/advancedMenuView.html';\nimport ChildView from './advancedMenuItemView';\n\nimport ChildViews from '@netx/core/functionality/childViews';\n\nexport default class AdvancedMenuView extends Base {\n\t/** @override */\n\tconstructor(opts = {}) {\n\t\topts.childView = {\n\t\t\tviewClass: ChildView,\n\t\t\ttarget: '.advanced-menu-items',\n\t\t\toptions: {\n\t\t\t\ttagName: 'li',\n\t\t\t\tclassName: 'menu-item',\n\t\t\t\ttemplateName: opts.childViewTemplate,\n\t\t\t},\n\t\t\t...opts.childView,\n\t\t};\n\t\topts.template = opts.template || Template;\n\t\tsuper(opts);\n\n\t\tthis.childViewTemplate = opts.childViewTemplate;\n\t}\n\n\t/** @override */\n\tdoTemplate() {\n\t\treturn this.template({\n\t\t\t...this.collection,\n\t\t\titems: this.collection.models,\n\t\t});\n\t}\n\n\t/** @type {string} */\n\tstatic get __name__() {\n\t\treturn 'AdvancedMenuView';\n\t}\n}\n\n// Functionality\n\nChildViews(AdvancedMenuView);\n","export {default} from 'netxcore@netx/core-app/index';\n\nimport AdvancedMenuView from './views/advancedMenuView';\nconst Netx = (window.Netx = window.Netx || {});\nNetx.Views = Netx.Views || {};\nNetx.Views.AdvancedMenuView = AdvancedMenuView;\n\nimport './css/style.less';\n","import {appRouter} from '@netx/core-next/instance/router';\nimport {getUserLevel} from '@netx/core-user-next/utils/getUserLevel';\nimport coreConfig from '@netx/core-next/config';\n\n/** @namespace */\n\nexport default {\n\t/**\n\t * Blank route ('') corresponds to no route at all.\n\t * The default behavior for the Netx url without a route is to show the top level category tree.\n\t * @namespace\n\t * @todo decouple?\n\t * @todo HTML-582 - Duplicating boilerplate code on behalf of Nike Foundation. Let's clean this up please.\n\t * @fires module:app#category:route:top\n\t * @listens module:app#auth:session:valid\n\t */\n\t''() {\n\t\tif (getUserLevel() > 0) {\n\t\t\t// TODO: isValid() returns a promise & will always evaluate TRUE; not what we want.\n\t\t\tif (coreConfig.HOME_ROUTE) {\n\t\t\t\tappRouter.home();\n\t\t\t} else {\n\t\t\t\tdispatcher.trigger('category:route:top');\n\t\t\t}\n\t\t} else {\n\t\t\t/** @event */\n\t\t\tdispatcher.on('auth:session:valid', function () {\n\t\t\t\tif (coreConfig.HOME_ROUTE) {\n\t\t\t\t\tappRouter.home();\n\t\t\t\t} else {\n\t\t\t\t\tdispatcher.trigger('category:route:top');\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\t// External bundle\n\t'share/request(/:token)': () => window.location.reload(),\n\t'uploads/request(/:token)': () => window.location.reload(),\n\t// \"*action\":\tfunction(action){\n\t// \t// !! IMPORTANT !!\n\t// \t// DEVNOTE: @spence - This is the default method that is run\n\t// \t// when there is no matching route pattern. It is very important\n\t// \t// for proper functioning in certain situations where there may not\n\t// \t// be a valid session in play but we do have an access token.\n\t// \t// This route allows us to catch the route change and fire subsequent\n\t// \t// methods to identify and utilize the token value in the route.\n\t// }\n};\n","import routes from 'netxcore@netx/core-app/routes';\nimport {appRouter} from '@netx/core-next/instance/router';\nimport {assetProjectEnabled} from '@netx/core-asset-project/enablers';\n\n// Deferred module routes\nObject.assign(routes, {\n\t'document(/*anything)'() {\n\t\tdispatcher.trigger('netx:load:module:pdfViewer', {loadUrl: true});\n\t},\n\t/**\n\t * @route\n\t * @fires netx:load:module:uploadAssetRequestManager\n\t */\n\t'assets/requests(/*anything)'() {\n\t\tdispatcher.trigger('netx:load:module:uploadAssetRequestManager', {\n\t\t\tloadUrl: true,\n\t\t});\n\t},\n\t/**\n\t * @route\n\t * @fires netx:load:module:audioeditor\n\t */\n\t'audioeditor(/*anything)'() {\n\t\tdispatcher.trigger('netx:load:module:audioeditor', {loadUrl: true});\n\t},\n\t/**\n\t * @route\n\t * @fires netx:load:module:dataset\n\t */\n\t'dataset(/*anything)'() {\n\t\tdispatcher.trigger('netx:load:module:dataset', {loadUrl: true});\n\t},\n\t/**\n\t * @route\n\t * @fires netx:load:module:imageeditor\n\t */\n\t'imageeditor(/*anything)'() {\n\t\tdispatcher.trigger('netx:load:module:imageeditor', {loadUrl: true});\n\t},\n\t/**\n\t * @route\n\t * @fires netx:load:module:stat\n\t */\n\t'stat(/*anything)'() {\n\t\tdispatcher.trigger('netx:load:module:stat', {loadUrl: true});\n\t},\n\t/**\n\t * @route\n\t * @fires netx:load:module:system\n\t */\n\t'system/groups(/*anything)'() {\n\t\tif (!Netx.session?.authenticated()) {\n\t\t\tappRouter.back();\n\t\t\treturn;\n\t\t}\n\t\tdispatcher.trigger('netx:load:module:system:groups', {loadUrl: true});\n\t},\n\t/**\n\t * @route\n\t * @fires netx:load:module:system\n\t */\n\t'system(/*anything)'() {\n\t\tif (!Netx.session?.authenticated()) {\n\t\t\tappRouter.back();\n\t\t\treturn;\n\t\t}\n\t\tdispatcher.trigger('netx:load:module:system', {loadUrl: true});\n\t},\n\t/**\n\t * @route\n\t * @fires netx:load:module:videoeditor\n\t */\n\t'videoeditor(/*anything)'() {\n\t\tdispatcher.trigger('netx:load:module:videoeditor', {loadUrl: true});\n\t},\n});\n\n// TODO: this check has to be failing given we do not have prefs yet\n// we need to ensure prefs are loaded post auth before any other modules are called upon\nif (assetProjectEnabled()) {\n\t/**\n\t * @route\n\t * @fires netx:load:module:project\n\t */\n\troutes['projects(/*anything)'] = () => {\n\t\tdispatcher.trigger('netx:load:module:project', {loadUrl: true});\n\t};\n}\n\nexport default routes;\n","/**\n * @class\n */\nimport Base from '@netx/core/lib/netx-view';\nimport Template from '../templates/appModalCrumbView.html';\n\nclass AppModalCrumbView extends Base {\n\t/** @override */\n\tconstructor(opts = {}) {\n\t\topts.template = Template;\n\t\tsuper(opts);\n\n\t\t// Related view\n\t\tthis.model.has('view')\n\t\t\t? this.addRelatedView()\n\t\t\t: this.listenToOnce(this.model, 'change:view', this.addRelatedView);\n\t}\n\n\t/** @override */\n\tbindModelEvents() {\n\t\tsuper.bindModelEvents();\n\t\treturn this.listenTo(this.model, 'change:active', this.toggleActive);\n\t}\n\n\t/** @override */\n\tpreRender() {\n\t\tsuper.preRender();\n\n\t\tconst modalOptions =\n\t\t\t(this.relatedView && this.relatedView.modalOptions) || {};\n\t\t// Additional template vars\n\t\tObject.assign(this.templateVars, {\n\t\t\taction: this.model.get('uniqueShowAction') || '',\n\t\t\tlabel:\n\t\t\t\tmodalOptions.crumbLabel ||\n\t\t\t\tthis.model.get('label') ||\n\t\t\t\tmodalOptions.headerTitle ||\n\t\t\t\t(this.relatedView && this.relatedView.headerTitle) ||\n\t\t\t\t'',\n\t\t});\n\t}\n\n\t/** @override */\n\tpostRender() {\n\t\tsuper.postRender();\n\n\t\t// Cache\n\t\tthis.$remove = this.$('.nx-action[data-action=\"app:remove:modalView\"]');\n\t\tthis.$title = this.$('.nx-title');\n\n\t\tif (this.relatedView) {\n\t\t\t// Check modal options\n\t\t\tvar modalOptions = this.relatedView.modalOptions || {};\n\t\t\tthis.$remove.toggle(modalOptions.blocking !== true);\n\t\t}\n\t}\n\n\t/**\n\t * Once our model has its view property,\n\t * remeber it at .relatedView, and use it to toggle our crumbs.\n\t * (.relatedView also used in theme override ...)\n\t * @method\n\t */\n\taddRelatedView() {\n\t\tthis.relatedView = this.model.get('view');\n\t\tvar modalOptions = this.relatedView.modalOptions || {};\n\t\tthis.$el.toggle(modalOptions.noCrumb !== true);\n\t}\n\n\t/** @method */\n\ttoggleActive() {\n\t\tthis.$el.toggleClass('active', this.model.get('active') === true);\n\t\t// Update title (it could have changed context)\n\t\tif (this.relatedView) {\n\t\t\tvar modalOpts = this.relatedView.modalOptions || {};\n\t\t\tthis.$title &&\n\t\t\t\tthis.$title.html(\n\t\t\t\t\tmodalOpts.crumbLabel ||\n\t\t\t\t\t\t_.escape(this.model.get('label')) ||\n\t\t\t\t\t\t_.escape(modalOpts.headerTitle) ||\n\t\t\t\t\t\t_.escape(this.relatedView.headerTitle),\n\t\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * @static\n\t * @type {string}\n\t */\n\tstatic get __name__() {\n\t\treturn 'AppModalCrumbView';\n\t}\n}\n\nexport default AppModalCrumbView;\n","/**\n * @class\n */\nimport Base from 'netxcore@netx/core-app/views/appModalCrumbView';\n\nimport {faTimes} from '@fortawesome/pro-solid-svg-icons';\nconst icons = Base.initializeIcons({\n\tfaTimes,\n});\n\nexport default class AppModalCrumbView extends Base {\n\t/** @override */\n\tconstructor(opts = {}) {\n\t\tconst model = opts.model;\n\t\tconst active = model.get('active');\n\t\tconst index = model.collection.indexOf(model);\n\n\t\topts.tagName = 'button';\n\t\topts.className = `mdc-tab ${\n\t\t\tactive || !index ? 'mdc-tab--active' : ''\n\t\t} nx-action`;\n\t\topts.attributes = {\n\t\t\t'data-action': model.get('uniqueShowAction'),\n\t\t\t'aria-selected': active || !index,\n\t\t\trole: 'tab',\n\t\t\t'data-nx-tab-name': model.get('name'),\n\t\t\ttabindex: active || !index ? 0 : -1,\n\t\t};\n\t\topts.icons = {...icons, ...opts.icons};\n\t\tsuper(opts);\n\t}\n\n\t/** @override */\n\tpreRender() {\n\t\tsuper.preRender();\n\n\t\tconst model = this.model;\n\t\tObject.assign(this.templateVars, {\n\t\t\tindex: (model.collection && model.collection.indexOf(model)) || 0,\n\t\t});\n\t}\n\n\t/** @method */\n\ttoggleActive() {\n\t\tsuper.toggleActive();\n\n\t\tconst active = this.model.get('active') === true;\n\t\tthis.el.classList.toggle('mdc-tab--active', active);\n\t\tthis.el.setAttribute('aria-selected', active);\n\t\tthis.el\n\t\t\t.querySelector('.mdc-tab-indicator')\n\t\t\t.classList.toggle('mdc-tab-indicator--active', active);\n\t}\n}\n","/**\n * @class\n */\nimport Base from '@netx/core/lib/netx-view';\nimport Template from '../templates/appModalCrumbsView.html';\n\nimport ChildViews from '@netx/core/functionality/childViews';\n\nimport ChildView from './appModalCrumbView';\n\nclass AppModalCrumbsView extends Base {\n\t/** @override */\n\tconstructor(opts = {}) {\n\t\topts.childView = {\n\t\t\tviewClass: ChildView,\n\t\t\t// Edge case: this is a view that happens to use a viewCollection to simply populate it's children and not\n\t\t\t// to inherit everything from them. Rather than try and accomplish this solution somehow in addChildView\n\t\t\t// I figured it best to be handled in the views that are utilizing a viewCollection differently than say\n\t\t\t// a netx-multiView would - since these options get applied last (superceed all others) we just put back the\n\t\t\t// values we do not want to inherit from a viewSpec\n\t\t\toptions(model, opts) {\n\t\t\t\treturn {\n\t\t\t\t\ttagName: 'li',\n\t\t\t\t\tmodel: model,\n\t\t\t\t\tcollection: model.collection,\n\t\t\t\t\tattributes: {\n\t\t\t\t\t\t'data-nx-control': 'crumb',\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t},\n\t\t\t...opts.childView,\n\t\t};\n\t\topts.template = opts.template || Template;\n\t\tsuper(opts);\n\t}\n\n\t/** @override */\n\tbindCollectionEvents() {\n\t\tsuper.bindCollectionEvents();\n\n\t\tthis.rendered.then(() => {\n\t\t\tthis.listenTo(\n\t\t\t\tthis.collection,\n\t\t\t\t'add remove reset',\n\t\t\t\t_.debounce(this.crumbsChanged, 25),\n\t\t\t);\n\t\t});\n\n\t\treturn this;\n\t}\n\n\t/** @method */\n\tcheckMultipleCrumbs() {\n\t\tthis.el.classList.toggle('multiple-crumbs', this.collection.length > 1);\n\t}\n\n\t/** @method */\n\tcrumbsChanged() {\n\t\tthis.checkMultipleCrumbs();\n\t}\n\n\t/** @override */\n\tpostRender() {\n\t\tsuper.postRender();\n\n\t\tthis.checkMultipleCrumbs();\n\t}\n\n\t/**\n\t * @static\n\t * @type {string}\n\t */\n\tstatic get __name__() {\n\t\treturn 'AppModalCrumbsView';\n\t}\n}\n\n// Functionality\nChildViews(AppModalCrumbsView);\n\nexport default AppModalCrumbsView;\n","/**\n * @class\n * @override\n */\nimport Base from 'netxcore@netx/core-app/views/appModalCrumbsView';\n\nimport {MDCTabBar} from '@material/tab-bar';\n\nexport default class AppModalCrumbsView extends Base {\n\t/** @override */\n\tconstructor(opts = {}) {\n\t\tsuper(opts);\n\n\t\t// Debounced/throttled methods\n\t\tthis.resize = _.debounce(this.resize, 32);\n\t}\n\n\t/** @override */\n\tbindCollectionEvents() {\n\t\tsuper.bindCollectionEvents();\n\n\t\treturn this.listenTo(this.collection, 'change:active', (tab, active) => {\n\t\t\tif (!active) return;\n\t\t\tthis.checkMaterialTabActive();\n\t\t});\n\t}\n\n\t/** @method */\n\tcheckMaterialTabActive() {\n\t\tif (!this.tabBar) return;\n\n\t\tconst active = this.collection.findWhere({active: true});\n\t\tif (!active) return;\n\n\t\tconst name = active.get('name');\n\t\tconst idx = this.tabBar.tabList_.findIndex((tab) => {\n\t\t\treturn tab.root_.getAttribute('data-nx-tab-name') === name;\n\t\t});\n\t\tif (idx > -1) {\n\t\t\tthis.tabBar.activateTab(idx);\n\t\t}\n\t}\n\n\t/** @override */\n\tpreRender() {\n\t\tif (this.tabBar) {\n\t\t\tthis.tabBar.destroy();\n\t\t\tdelete this.tabBar;\n\t\t}\n\n\t\tsuper.preRender();\n\t}\n\n\t/** @override */\n\tpostRender() {\n\t\tsuper.postRender();\n\n\t\tthis.setupMaterial();\n\t}\n\n\t/** @method */\n\tresize() {\n\t\tconst tabBar = this.tabBar;\n\t\tif (!tabBar) return;\n\n\t\t// Overflow\n\t\tconst tabScroller = tabBar.tabScroller_;\n\t\tif (tabScroller) {\n\t\t\tconst tabScrollerEl = tabScroller.root_;\n\t\t\ttabScrollerEl.classList.toggle(\n\t\t\t\t'mdc-tab-scroller--overflown',\n\t\t\t\ttabScroller.getScrollContentWidth() > tabScrollerEl.offsetWidth,\n\t\t\t);\n\t\t}\n\n\t\t// Bring tab into view\n\t\tconst idx = tabBar.foundation_.adapter_.getPreviousActiveTabIndex();\n\t\tidx > -1 && tabBar.scrollIntoView(idx);\n\t}\n\n\t/** @method */\n\tsetupMaterial() {\n\t\tif (this.tabBar) {\n\t\t\tthis.tabBar.destroy();\n\t\t\tdelete this.tabBar;\n\t\t}\n\n\t\tconst el = this.el.querySelector('.mdc-tab-bar');\n\t\tif (!el) return;\n\n\t\tconst tabBar = (this.tabBar = new MDCTabBar(el));\n\t\treturn tabBar;\n\t}\n\n\t/** @override */\n\tcrumbsChanged() {\n\t\tsuper.crumbsChanged();\n\n\t\t// Destroy and reinit resize listener when recreating material tabs\n\t\tthis.Plugins.Destroy('resizeListener', this.$el);\n\n\t\tthis.setupMaterial();\n\t\tthis.checkMaterialTabActive();\n\n\t\tthis.Plugins.Initialize('resizeListener', this.$el);\n\t}\n}\n","/**\n * The main modal view. Only one of me should exist in any interface. Otherwise, you might\n * be doing modals wrong ( stacked ).\n * @class\n */\nimport Base from '@netx/core/lib/netx-multiView';\nimport {appRouter, getPrefixedLogger} from '@netx/core-next/instance';\nimport Template from '../templates/appModalView.html';\nimport AppModalCrumbsView from './appModalCrumbsView';\nimport ConfirmView from './confirmView';\n\nconst logger = getPrefixedLogger('views/appFullScreenView');\n\nclass AppModalView extends Base {\n\t/** @override */\n\tconstructor(opts = {}) {\n\t\topts.attributes = _.extend(\n\t\t\t{\n\t\t\t\ttabindex: '-1',\n\t\t\t\trole: 'dialog',\n\t\t\t\t'aria-hidden': 'true',\n\t\t\t\t'aria-labelledby': 'app-modal',\n\t\t\t},\n\t\t\topts.attributes,\n\t\t);\n\t\topts.childView = _.extend(\n\t\t\t{\n\t\t\t\tviewClass(model) {\n\t\t\t\t\treturn model.get('viewClass');\n\t\t\t\t},\n\t\t\t\ttarget: '[data-nx-control=\"modal-content\"]',\n\t\t\t},\n\t\t\topts.childView,\n\t\t);\n\t\topts.className = opts.className || 'modal fade';\n\t\topts.emptyOnHide = opts.emptyOnHide !== false;\n\t\topts.events = _.extend(\n\t\t\t{\n\t\t\t\t'click [data-nx-control=\"close\"]:first': 'close',\n\t\t\t},\n\t\t\topts.events,\n\t\t);\n\t\topts.hideOnEmpty = opts.hideOnEmpty !== false;\n\t\topts.id = opts.id || 'app-modal';\n\t\topts.removeOnHide = false;\n\t\topts.modalOptions = _.extend(\n\t\t\t{\n\t\t\t\tsize: 'md',\n\t\t\t},\n\t\t\topts.modalOptions,\n\t\t);\n\t\topts.template = opts.template || Template;\n\t\tsuper(opts);\n\n\t\t// Hey, listen!\n\t\tthis.listenTo(dispatcher, 'routed', this.hideIfWeShould);\n\t\t// A new child view was added - check if it was caused by a route\n\t\tthis.listenTo(this, 'addedNewChildView', (view) => {\n\t\t\tif (view.viewSpec.isMyOriginalCollection(this.viewCollection)) {\n\t\t\t\t// Check if the view was a result of routing\n\t\t\t\tif (view.isRouted !== false && !(view instanceof ConfirmView)) {\n\t\t\t\t\t// view.isRouted = true;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t// Crumbs\n\t\tthis.modalCrumbsView = this.addSubView(\n\t\t\tnew AppModalCrumbsView({\n\t\t\t\tcollection: this.viewCollection,\n\t\t\t}),\n\t\t);\n\n\t\tthis.activeViewClassNames = '';\n\t}\n\n\t/**\n\t * @override\n\t * @param {event} e Keyup event\n\t */\n\tescape(e) {\n\t\t!this.blocking && this.hide();\n\t}\n\n\t/**\n\t * This is where the any animation should happen\n\t * When the callback is executed the app considers this view as good as hidden\n\t * Overriding for bootstrap modal behavior\n\t * @override\n\t * @param {function} cb Callback\n\t */\n\tbeforeHidden(cb) {\n\t\t// We do not call super\n\t\tif (this.emptyOnHide) {\n\t\t\tlet view;\n\t\t\tthis.viewCollection.each((viewSpec) => {\n\t\t\t\tview = viewSpec.get('view');\n\t\t\t\tview && _.isFunction(view.cancel) && view.cancel();\n\t\t\t});\n\t\t\t// Always use set to empty\n\t\t\tthis.viewCollection.set([]);\n\t\t}\n\n\t\tthis.$backdrop && this.$backdrop.removeClass('in');\n\n\t\t_.delay(() => {\n\t\t\tthis.$backdrop && this.$backdrop.remove();\n\t\t\tthis.$backdrop = null;\n\t\t\t// Trigger animation\n\t\t\tthis.$el.removeClass('in').attr('aria-hidden', true);\n\t\t\t// Give css animations time to finish\n\t\t\t_.delay(() => {\n\t\t\t\tthis.$body && this.$body.removeClass('modal-open');\n\t\t\t\t// Reset scrollbar\n\t\t\t\tthis.$body.css('padding-right', '');\n\t\t\t\tthis.$el.hide();\n\t\t\t\tcb.call(self);\n\t\t\t}, 300);\n\t\t}, 150);\n\t}\n\n\t/** @override */\n\tpostRender() {\n\t\tsuper.postRender();\n\n\t\t// Cache\n\t\tthis.$crumbs = this.$('[data-nx-control=\"crumbs\"]');\n\t\tthis.$title = this.$('[data-nx-control=\"modal-title\"]');\n\t\tthis.$dialog = this.$('.modal-dialog');\n\t\tthis.$close = this.$('[data-nx-control=\"close\"]');\n\t\tthis.$content = this.$('[data-nx-control=\"modal-content\"]');\n\t\tthis.$body = $('body');\n\n\t\t// Set default size\n\t\tthis.$dialog\n\t\t\t.removeClass('modal-md modal-sm modal-lg')\n\t\t\t.addClass(`modal-${this.modalOptions.size}`);\n\n\t\t// Crumbs\n\t\tthis.modalCrumbsView.setElement(this.$crumbs).render();\n\t}\n\n\t/**\n\t * This is where the any animation should happen\n\t * When the callback is executed the app considers this view as good as shown\n\t * Overriding for bootstrap modal behavior\n\t * @override\n\t * @param {function} cb Callback\n\t */\n\tbeforeShown(cb) {\n\t\tif (this.$backdrop || !this.viewCollection.length) return;\n\n\t\t// Create and append backdrop\n\t\tthis.$backdrop = $('
    ', {\n\t\t\tclass: 'modal-backdrop fade',\n\t\t});\n\t\tthis.$backdrop.appendTo(this.$body);\n\t\tthis.$body.addClass('modal-open');\n\t\t// Set scrollbar\n\t\tconst bodyPad = parseInt(this.$body.css('padding-right') || 0, 10);\n\t\tif (this.scrollbarWidth) {\n\t\t\tthis.$body.css('padding-right', bodyPad + this.scrollbarWidth);\n\t\t}\n\t\tthis.$backdrop.appendTo(this.$body);\n\t\t// Force reflow\n\t\tthis.$backdrop[0].offsetWidth;\n\t\tthis.$backdrop.addClass('in');\n\n\t\t_.delay(() => {\n\t\t\t// Modal\n\t\t\tthis.$el.show().scrollTop(0);\n\t\t\t// Force reflow\n\t\t\tthis.$el[0].offsetWidth;\n\t\t\tthis.$el.addClass('in').attr('aria-hidden', false);\n\t\t\tthis.$el.trigger('focus');\n\t\t\t_.delay(_.bind(cb, self), 300);\n\t\t}, 150);\n\t}\n\n\t/**\n\t * Show is about to start\n\t * At this point no animation or actual showing [should] have taken place\n\t * @override\n\t * @listens Netx.View#showing\n\t */\n\tonShowing() {\n\t\tif (this.viewCollection.length === 0) {\n\t\t\tthis.hide();\n\t\t\treturn;\n\t\t}\n\n\t\tsuper.onShowing();\n\t\tthis.hiddenByRoute = false;\n\t}\n\n\t/**\n\t * @method\n\t * @param {string} newRoute New route\n\t * @param {string} oldRoute Old route\n\t */\n\thideIfWeShould(newRoute, oldRoute) {\n\t\tif (!this.hiddenByRoute && !this.hiding && !this.showing) {\n\t\t\t// We will need to modify this as time goes on and we understand the complexity of\n\t\t\t// the workflow for wizards and such\n\t\t\tconst activeView = this.getActiveView();\n\t\t\tif (this.viewCollection.length > 1) {\n\t\t\t\tif (newRoute !== oldRoute) {\n\t\t\t\t\tthis.viewCollection.each((viewSpec) => {\n\t\t\t\t\t\tconst view = viewSpec.get('view');\n\t\t\t\t\t\tif (activeView && view.cid === activeView.cid) return;\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tview &&\n\t\t\t\t\t\t\tview.isRouted &&\n\t\t\t\t\t\t\t!_.isUndefined(view.routeMatch) &&\n\t\t\t\t\t\t\t!_.isNull(oldRoute.match(view.routeMatch))\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tview.hasFunctionality('form') &&\n\t\t\t\t\t\t\t\tviewSpec.isMyOriginalCollection(this.viewCollection)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tview.cancel();\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tview.hide();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (\n\t\t\t\tthis.isShown &&\n\t\t\t\t!this.hiding &&\n\t\t\t\t!_.isUndefined(activeView) &&\n\t\t\t\tactiveView.isRouted\n\t\t\t) {\n\t\t\t\t// if we should not be showing on this route\n\t\t\t\tif (!activeView.isMyRoute(window.location.hash.slice(1))) {\n\t\t\t\t\tthis.hiddenByRoute = true;\n\t\t\t\t\t// To save people from themselves we always have a slight hide delay\n\t\t\t\t\t// Meaning the view must live for at least 500ms\n\t\t\t\t\t$.when(activeView.hideDelayed ? activeView.hideDelayed : true).then(\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t_.delay(() => {\n\t\t\t\t\t\t\t\t// If we are the only view - just hide the modal and not go through\n\t\t\t\t\t\t\t\t// the hiding of the view followed by the modal\n\t\t\t\t\t\t\t\tif (!this.hiding && this.viewCollection.length === 1) {\n\t\t\t\t\t\t\t\t\tactiveView.$el.fadeOut('fast');\n\t\t\t\t\t\t\t\t\tthis.hide();\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\tactiveView.viewSpec.isMyOriginalCollection(\n\t\t\t\t\t\t\t\t\t\t\tthis.viewCollection,\n\t\t\t\t\t\t\t\t\t\t) &&\n\t\t\t\t\t\t\t\t\t\tactiveView.hasFunctionality('form')\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\tactiveView.cancel();\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tactiveView.hide();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}, 20);\n\t\t\t\t\t\t},\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// Wait to be shown and then recheck\n\t\telse if (this.showing) {\n\t\t\tthis.whenShown.then(() => {\n\t\t\t\treturn this.hideIfWeShould(newRoute, oldRoute);\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Show will be starting soon\n\t * At this point not even `view.show` has been executed\n\t * This allows the view to do anything special it needs to do in anticipation of calling `view.show`\n\t * @method\n\t * @param {Netx.View} view Instance of Netx.View\n\t * @listens Netx.View.MultiView#view:showing\n\t */\n\tbeforeShowView(view) {\n\t\t////////////////////////////////\n\t\t// UPDATE FROM MODAL OPTIONS\n\t\t////////////////////////////////\n\t\tconst modalOpts = view.modalOptions || {};\n\n\t\t// Update size\n\t\tthis.$dialog &&\n\t\t\tthis.$dialog\n\t\t\t\t.removeClass('modal-md modal-sm modal-lg')\n\t\t\t\t.addClass('modal-' + (modalOpts.size || this.modalOptions.size));\n\n\t\t// Prevent the content area from jumping\n\t\tconst currentHeight = this.$childTargetEl.height();\n\t\tif (currentHeight) {\n\t\t\tthis.$childTargetEl.height(currentHeight);\n\t\t}\n\n\t\t// Update blocking\n\t\tthis.blocking = modalOpts.blocking === true;\n\t\tthis.$el.toggleClass('blocking', this.blocking);\n\t\t// Update title - will look to the view's modal options first and then fallback to the view's title\n\t\tthis.$title && this.$title.html(modalOpts.headerTitle || view.headerTitle);\n\n\t\t// Clean up and apply any new classNames\n\t\tthis.$el.removeClass(this.activeViewClassNames);\n\t\tthis.activeViewClassNames = modalOpts.classNames || '';\n\t\tthis.$el.addClass(this.activeViewClassNames);\n\t\t////////////////////////////////\n\t\t// !UPDATE FROM MODAL OPTIONS\n\t\t////////////////////////////////\n\n\t\treturn super.beforeShowView(view);\n\t}\n\n\t/**\n\t * @method\n\t * @param {event} e Click event\n\t */\n\tclose(e) {\n\t\t!this.blocking && this.hide();\n\t}\n\n\t/**\n\t * @override\n\t * @param {Netx.View} view Instance of `Netx.View`\n\t * @listens {@link Netx.Views.MultiView#view:shown}\n\t */\n\tviewAfterShown(view) {\n\t\tsuper.viewAfterShown(view);\n\n\t\t// Reset height\n\t\tview.rendered.then(() => {\n\t\t\tthis.$childTargetEl.height('');\n\t\t});\n\t}\n\n\t/**\n\t * Provided with the view we are changing to and the knowledge of the current view\n\t * you can block the change by returning `false`\n\t * @override\n\t * @param {Netx.View} view Instance of Netx.View we are changing to\n\t * @returns {boolean} Ok to change/show view\n\t */\n\tviewChanging(view) {\n\t\tconst activeView = this.getActiveView();\n\t\tconst modalOpts = view.modalOptions || {};\n\t\t// What blocks a change:\n\t\t// We must have a currently active view - we must have more than 1 view and the current view mustnot be blocking\n\t\t// unless the view trying to show is blocking - since it is new it takes precedent\n\t\treturn (\n\t\t\tmodalOpts.blocking ||\n\t\t\t!activeView ||\n\t\t\tthis.viewCollection.length === 1 ||\n\t\t\tactiveView.stickyModal !== true\n\t\t);\n\t}\n\n\t/**\n\t * A view was instantiated (a brand new childView was born)\n\t * @override\n\t * @param {Netx.View} view Instance of Netx.View\n\t */\n\tviewInstantiated(view) {\n\t\tsuper.viewInstantiated(view);\n\n\t\t// All child views will be fully removed on hide\n\t\tif (view.viewSpec.isMyOriginalCollection(this.viewCollection)) {\n\t\t\tview.removeOnHide = true;\n\t\t\tview.removeOnSimpleHide = false;\n\t\t}\n\t\t// Sticky? - TODO: Revisit the difference between sticky and blocking - I got confused I think - I am\n\t\tconst modalOpts = view.modalOptions || {};\n\t\tview.stickyModal = modalOpts.blocking === true;\n\t}\n\n\t/**\n\t * @override\n\t * @param {Netx.View} view Instance of Netx.View\n\t */\n\tviewRemoved(view) {\n\t\tif (\n\t\t\t!this.hiddenByRoute &&\n\t\t\tview.viewSpec.isMyOriginalCollection(this.viewCollection)\n\t\t) {\n\t\t\t// If a new view came in in the mean time and it is routed - do nothing - we are at the route we should be\n\t\t\tconst activeView = this.getActiveView();\n\t\t\tif (activeView && activeView.cid !== view.cid && activeView.isRouted) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// HACK: preserve this value across callbacks:\n\t\t\t// (isRouting() reports false if a callback is fired via setTimeout(), such as in certain Bootstrap hiding animations.)\n\t\t\tconst isRouting = Backbone.history.isRouting();\n\t\t\t// If we opened this modal view due to a route...\n\t\t\tif (view.isRouted) {\n\t\t\t\tlogger.silly('removing routed view >', view.viewSpec.id);\n\n\t\t\t\tif (view.viewSpec.isMyOriginalCollection(this.viewCollection)) {\n\t\t\t\t\tdelete view.isRouted;\n\t\t\t\t}\n\t\t\t\t// Unless we're currently routing, route back to where we were before we opened the modal.\n\t\t\t\tif (!isRouting) {\n\t\t\t\t\tif (!_.isUndefined(view.routeMatch)) {\n\t\t\t\t\t\tappRouter.exitRoute(view.routeMatch);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tappRouter.back();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tdelete this.hiddenByRoute;\n\n\t\tsuper.viewRemoved(view);\n\t}\n\n\t/**\n\t * @static\n\t * @type {string}\n\t */\n\tstatic get __name__() {\n\t\treturn 'AppModalView';\n\t}\n}\n\nexport default AppModalView;\n","import Base from 'netxcore@netx/core-app/views/appModalView';\n\nimport '../css/appModal.less';\n\nimport {faTimes} from '@fortawesome/pro-solid-svg-icons';\nconst icons = Base.initializeIcons({\n\tfaTimes,\n});\n\nexport default class AppModalView extends Base {\n\t/** @override */\n\tconstructor(opts = {}) {\n\t\topts.icons = {...icons, ...opts.icons};\n\t\tsuper(opts);\n\t}\n}\n","/**\n * Simple confirmation dialog view, with no model. Utilized by the {@link module:app#app:confirm|app:confirm} event\n * @class\n */\nimport {dispatcher} from '@netx/core-next/instance/dispatcher';\nimport Base from './alertView';\nimport Template from '../templates/confirmView.html';\n\nclass ConfirmView extends Base {\n\t/** @override */\n\tconstructor(opts = {}) {\n\t\topts.className = `app-confirm ${opts.className || ''}`;\n\t\topts.events = {\n\t\t\t'click [data-nx-control=\"yes\"]'() {\n\t\t\t\tthis.finish(true);\n\t\t\t},\n\t\t\t'click [data-nx-control=\"no\"]': 'cancel',\n\t\t\t...opts.events,\n\t\t};\n\t\topts.headerTitle = opts.headerTitle || i18n.t('i18n.confirm');\n\t\topts.id = opts.id || 'app-confirm';\n\t\topts.modalOptions = {\n\t\t\tblocking: true,\n\t\t\tsize: 'md',\n\t\t\t...opts.modalOptions,\n\t\t};\n\t\topts.template = opts.template || Template;\n\t\tsuper(opts);\n\n\t\t/**\n\t\t * @type {array}\n\t\t * @default\n\t\t */\n\t\tthis.args = opts.args || [];\n\n\t\t/**\n\t\t * @type {string}\n\t\t * @default\n\t\t */\n\t\tthis.classes = opts.classes || '';\n\n\t\t/**\n\t\t * if this.yesEvent or this.noEvent are undefined, this view will build the appropriate\n\t\t * events by appending ':confirmed' or ':cancelled' to this.eventStr .\n\t\t * @type {string}\n\t\t * @default\n\t\t */\n\t\tthis.eventStr = opts.eventStr;\n\n\t\t/**\n\t\t * Any object that a custom template to confirmView might want to play with:\n\t\t * @type object\n\t\t * @default\n\t\t */\n\t\tthis.goo = opts.goo;\n\n\t\t/**\n\t\t * @type {string}\n\t\t * @default\n\t\t * @note This is being used as the argument to message.format() -- please document\n\t\t */\n\n\t\tthis.itemLabel = opts.itemLabel || '';\n\n\t\t/**\n\t\t * The confirmation message.\n\t\t * @type {string}\n\t\t * @default\n\t\t */\n\t\tthis.message = opts.message || i18n.t('i18n.areYouSure');\n\n\t\t/**\n\t\t * Event triggered when the user clicks 'no'\n\t\t * @type {string}\n\t\t * @default\n\t\t */\n\t\tthis.noEvent = opts.noEvent;\n\n\t\t/**\n\t\t * @type {string}\n\t\t * @default\n\t\t */\n\t\tthis.noLabel = opts.noLabel != null ? opts.noLabel : i18n.t('i18n.no');\n\n\t\t/**\n\t\t * Event triggered when the user clicks 'yes'\n\t\t * @type {string}\n\t\t * @default\n\t\t */\n\t\tthis.yesEvent = opts.yesEvent;\n\n\t\t/**\n\t\t * @type {string}\n\t\t * @default\n\t\t */\n\t\tthis.yesLabel = opts.yesLabel != null ? opts.yesLabel : i18n.t('i18n.yes');\n\n\t\t/**\n\t\t * Pass a function that will be fired when the user cancels\n\t\t * @memberOf Netx.Views.ConfirmView\n\t\t * @alias onCancelled\n\t\t * @type {function}\n\t\t */\n\t\tthis.onCancelled = opts.onCancelled;\n\n\t\t/**\n\t\t * Pass a function that will be fired when the user confirms\n\t\t * @memberOf Netx.Views.ConfirmView\n\t\t * @alias onConfirmed\n\t\t * @type {function}\n\t\t */\n\t\tthis.onConfirmed = opts.onConfirmed;\n\n\t\tthis.title = opts.title;\n\n\t\t// Set on modal options\n\t\tthis.modalOptions.classNames = this.classes;\n\t}\n\n\t/** @override */\n\tpreRender() {\n\t\tsuper.preRender();\n\n\t\t// Prevent bad goo data from ever causing template errors, as with DAM-6941:\n\t\tthis.goo = this.goo || {};\n\n\t\t// Additonal template vars\n\t\t// Just in case this view ever gets a model - it will lose the benefits it currently has\n\t\tObject.assign(this.templateVars, {\n\t\t\tclasses: this.classes,\n\t\t\tgoo: this.goo,\n\t\t\theaderTitle: this.headerTitle,\n\t\t\tmessage: this.message,\n\t\t\titemLabel: this.itemLabel,\n\t\t\tnoLabel: this.noLabel,\n\t\t\tyesLabel: this.yesLabel,\n\t\t});\n\t}\n\n\t/** @method */\n\tescape() {\n\t\tthis.cancel();\n\t}\n\n\t/** @override */\n\tcancel(e) {\n\t\tif (e && e.preventDefault) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t}\n\n\t\tthis.trigger('cancelled', this);\n\t\tthis.hide();\n\n\t\tconst event = this.noEvent || `${this.eventStr}:cancelled`;\n\t\tdispatcher.trigger.apply(dispatcher, [event].concat(this.args));\n\n\t\t// If any callbacks were provided, execute them.\n\t\ttypeof this.onCancelled === 'function' &&\n\t\t\tthis.onCancelled.apply(this, this.args);\n\t}\n\n\t/** @method */\n\tconfirm() {\n\t\tthis.hide();\n\n\t\tconst event = this.yesEvent || `${this.eventStr}:confirmed`;\n\t\t// return an argument list with the event\n\t\tdispatcher.trigger.apply(dispatcher, [event].concat(this.args));\n\n\t\t// If any callbacks were provided, execute them.\n\t\ttypeof this.onConfirmed === 'function' &&\n\t\t\tthis.onConfirmed.apply(this, this.args);\n\t}\n\n\t/**\n\t * Handles acceptance or rejection of confirm dialog\n\t * @method\n\t * @param {boolean} bool Was the confirm accepted or rejected?\n\t */\n\tfinish(bool) {\n\t\tbool ? this.confirm() : this.cancel();\n\t}\n\n\t/** @type {string} */\n\tstatic get __name__() {\n\t\treturn 'ConfirmView';\n\t}\n}\n\nexport default ConfirmView;\n","import Base from 'netxcore@netx/core-app/views/confirmView';\n\nimport {faExternalLinkAlt, faPlus} from '@fortawesome/pro-solid-svg-icons';\nconst icons = Base.initializeIcons({\n\tfaExternalLinkAlt,\n\tfaPlus,\n});\n\nexport default class confirmView extends Base {\n\t/** @override */\n\tconstructor(opts = {}) {\n\t\topts.icons = {...icons, ...opts.icons};\n\t\tsuper(opts);\n\t}\n}\n","export default [];\n","import Menu from '@netx/core/lib/netx-menu';\n\nexport default {};\n","/**\n * @class\n */\nimport Base from '@netx/core/lib/netx-view';\nimport Template from '../templates/authSamlServiceView.html';\n\nclass AuthSAMLServiceView extends Base {\n\t/** @override */\n\tconstructor(opts = {}) {\n\t\topts.template = opts.template || Template;\n\t\tsuper(opts);\n\n\t\tthis.model.get('type') === 'saml'\n\t\t\t? this.el.classList.add('nx-saml')\n\t\t\t: this.el.classList.add('nx-standard');\n\t}\n\n\t/** @type {string} */\n\tstatic get __name__() {\n\t\treturn 'AuthSAMLServiceView';\n\t}\n}\n\nexport default AuthSAMLServiceView;\n","/**\n * View displays the user login form\n * @class\n */\nimport Base from '@netx/core/lib/netx-view';\nimport Template from '../templates/authUserLoginView.html';\n\nimport ChildView from '@netx/core-auth/views/authSamlServiceView';\nimport ChildViews from '@netx/core/functionality/childViews';\n\nimport Form from '@netx/core/functionality/form';\n\nexport default class AuthUserLoginView extends Base {\n\t/** @override */\n\tunsavedChanges() {\n\t\treturn false;\n\t}\n\n\t/** @override */\n\tconstructor(opts = {}) {\n\t\t// Do we have SAML endpoints?\n\t\tconst samlEnabled =\n\t\t\topts.collection && opts.collection.findWhere({type: 'saml'}) != null;\n\t\tif (samlEnabled) {\n\t\t\topts.events = {\n\t\t\t\t'click .nx-saml': 'samlServiceClicked',\n\t\t\t\t'click .nx-standard': 'standardLoginClicked',\n\t\t\t\t...opts.events,\n\t\t\t};\n\t\t\topts.childView = {\n\t\t\t\tviewClass: ChildView,\n\t\t\t\t...opts.childView,\n\t\t\t};\n\t\t}\n\n\t\topts.eventStr = opts.eventStr || 'auth:user:login';\n\t\topts.id = opts.id || 'user-login-view';\n\t\topts.removeOnHide = opts.removeOnHide !== false;\n\t\topts.removeOnSimpleHide = opts.removeOnSimpleHide !== false;\n\t\topts.template = opts.template || Template;\n\t\tsuper(opts);\n\n\t\tif (samlEnabled) {\n\t\t\t// toggles standard login with SSO\n\t\t\tthis.$el.addClass('saml-enabled');\n\t\t}\n\t}\n\n\t/** @override */\n\tbindModelEvents() {\n\t\tsuper.bindModelEvents();\n\t\treturn this.listenTo(this.model, 'change:loginMsg', this.debouncedRender);\n\t}\n\n\t/** @override */\n\tpostRender() {\n\t\tsuper.postRender();\n\n\t\t// Cache\n\t\tthis.$password = this.$el.find('#password');\n\t\tthis.$username = this.$el.find('#username');\n\t}\n\n\t/** @override */\n\tafterShown(view) {\n\t\tsuper.afterShown(view);\n\n\t\tthis.rendered.then(this.focus);\n\t}\n\n\t/** @override */\n\tfocus() {\n\t\tthis.inputs.$username.focus();\n\t}\n\n\t/**\n\t * @override\n\t * @param {event} e Submit event\n\t */\n\tsubmit(e) {\n\t\t// drag and drop functionality requires a\n\t\t// click event somewhere in document to remove focus\n\t\tthis.$password.blur();\n\n\t\tsuper.submit(e);\n\t}\n\n\t/**\n\t * @method\n\t * @fires module:auth#auth:user:saml:navigate\n\t */\n\tsamlServiceClicked(e) {\n\t\t// saml endpoint selected\n\t\tdispatcher.trigger(\n\t\t\t'auth:user:saml:navigate',\n\t\t\tthis.$(e.currentTarget).find('.nx-samlButton').attr('name'),\n\t\t);\n\t}\n\n\t/**\n\t * @method\n\t */\n\tstandardLoginClicked(e) {\n\t\t// show standard login\n\t\tthis.$el.addClass('standard-enabled');\n\t}\n\n\t/** @type {string} */\n\tstatic get __name__() {\n\t\treturn 'AuthUserLoginView';\n\t}\n}\n\n// Functionality\nChildViews(AuthUserLoginView);\nForm(AuthUserLoginView);\n","/**\n * @class\n * @override\n */\nimport Base from 'netxcore@netx/core-auth/views/authUserLoginView';\nimport '../css/lib/login.less';\n\nimport MaterialCheckboxes from '@netx/core/functionality/materialCheckboxes';\nimport MaterialRipples from '@netx/core/functionality/materialRipples';\nimport MaterialTextFields from '@netx/core/functionality/materialTextFields';\n\nclass AuthUserLoginView extends Base {\n\t/** @override */\n\tconstructor(opts = {}) {\n\t\tif (opts.collection) {\n\t\t\t// We do not care to display an internal button at this time in theme\n\t\t\topts.collection = new opts.collection.constructor(\n\t\t\t\topts.collection.filter({type: 'saml'}),\n\t\t\t);\n\t\t\topts.events = {\n\t\t\t\t// DAM-15604\n\t\t\t\t// https://bugs.chromium.org/p/chromium/issues/detail?id=669724\n\t\t\t\tanimationstart(e) {\n\t\t\t\t\tif (!e.originalEvent.animationName === 'onAutoFillStart') return;\n\t\t\t\t\tthis.formChanged = true;\n\t\t\t\t\tthis.checkForm();\n\t\t\t\t},\n\t\t\t\t...opts.events,\n\t\t\t};\n\t\t}\n\t\tsuper(opts);\n\t}\n}\n\nMaterialCheckboxes(AuthUserLoginView);\nMaterialRipples(AuthUserLoginView);\nMaterialTextFields(AuthUserLoginView);\n\nexport default AuthUserLoginView;\n","export default {\n\t/**\n\t * @route\n\t */\n\tlogin: 'auth:user:login',\n\t/**\n\t * @route\n\t */\n\tlogout: 'auth:user:logout',\n\t/**\n\t * @route\n\t */\n\t'register/approval-needed': 'auth:user:register:approvalNeeded',\n\t/**\n\t * @route\n\t */\n\tregister: 'auth:user:register',\n\t/**\n\t * Step 1 of a password reset: present a form to request a token link by email\n\t * @route\n\t */\n\t'password-reset': 'auth:user:password:reset',\n\t/**\n\t * Step 2 of a password reset, routed to by that token link, presents a form to set a new password\n\t * @route\n\t * @param {number|string} user login\n\t * @param {string} token Token string\n\t */\n\t'password-reset/:user/:token': 'auth:user:password:change',\n\t/**\n\t * This route contains a session key; if we've come this far, it probably has already been parsed.\n\t * We should just redirect to the main app.\n\t */\n\t'session/:key': 'auth:user:sessionKey',\n};\n","/**\n * Authorization\n *\n * @module auth\n */\n\nimport {appRouter} from '@netx/core-next/instance/router';\nimport {getPreference} from '@netx/core-user-next/utils/getPreference';\nimport {getUserLevel} from '@netx/core-user-next/utils/getUserLevel';\n\n// Models\nimport UserProfileModel from '@netx/core-user/models/userProfile';\n\n// Collections\nimport CustomFormCollection from '@netx/core-app/collections/customForm';\n\nimport {publicProperties} from '@netx/core-app/collections/singleton/publicProperties';\nimport {getPublicProperty} from '@netx/core-app-next/utils/getPublicProperty';\n\n// Views\nimport AuthUserLoginView from './views/authUserLoginView';\nimport Netx from '@netx/core/bootstrap';\nimport coreConfig from '@netx/core-next/config';\nimport {session} from '@netx/core-auth/collections/singleton/session';\nimport {userProfile} from '@netx/core-user/collections/singletons/userProfile';\nimport {appViews} from '@netx/core-app/singletons/appViews';\nimport {whenReady} from '@netx/core-next/whenReady';\n\n// App config `Netx.auth.options`\nimport customConfig from './config';\n\nimport routes from './routes';\n\nimport {getPrefixedLogger, localStore} from '@netx/core-next/instance';\nimport {setGlobal} from '@netx/core-next/utils/setGlobal';\nimport {\n\tcanRequestPasswordReset,\n\tcanSelfRegister,\n} from '@netx/core-auth-next/utils';\n\nconst logger = getPrefixedLogger('core:auth');\n\nconst IGNORE_SESSION_ROUTES = [\n\t'password-reset',\n\t'passwordReset',\n\t'password',\n\t'register',\n];\n\nconst IGNORE_POST_LOGIN_ROUTES = IGNORE_SESSION_ROUTES.concat(['login']);\n\n/**\n * @event module:auth#auth:init\n */\ndispatcher.once('auth:init', function (options) {\n\toptions = _.extend({}, options, customConfig);\n\n\tconst NS = (Netx.auth = {\n\t\tbootstrap: [],\n\t\toptions: options,\n\t});\n\n\tsetGlobal({session});\n\n\t// Helper functions\n\tObject.assign(Netx, {\n\t\t/**\n\t\t * @function\n\t\t * @param {string} key [dot seperated] property key\n\t\t * @param {boolean} isTrue Test if the property value is true\n\t\t * @return {boolean|mixed}\n\t\t */\n\t\tgetPublicProperty: function (key, isTrue) {\n\t\t\treturn publicProperties[isTrue ? 'isTrue' : 'getProperty'](key);\n\t\t},\n\t\t/**\n\t\t * Get the current session\n\t\t * @function\n\t\t * @param {string} attr Attribute to retrieve (if omitted the session model is returned)\n\t\t * @return {Netx.Models.Session|mixed}\n\t\t */\n\t\tgetSession: function (attr) {\n\t\t\treturn attr ? session.get(attr) : session;\n\t\t},\n\t\t/**\n\t\t * Get the current token\n\t\t * @function\n\t\t * @param {string} attr Attribute to retrieve (if omitted the user model is returned)\n\t\t * @return {Netx.Models.UserProfile|mixed}\n\t\t */\n\t\tgetToken: function () {\n\t\t\treturn session.getToken();\n\t\t},\n\t});\n\n\t// Create netx session\n\t// This will test the browser and also the remote DAM connection\n\t// if DAM_URL is specified in config.js using the Netx.session.testAjax() method.\n\t// See netx-session.js for more info\n\t// When this completes, it triggers\n\tvar nxSession = session; //(Netx.session = session);\n\n\t// Wait for the session to configure (testAjax getPublicProperties return)\n\tnxSession.configured.then(function (props) {\n\t\t// Set the public properties returned from session configure\n\t\tpublicProperties.set(props);\n\n\t\t/**\n\t\t * If a users browser is not officially supported give them the option to manually\n\t\t * override\n\t\t * @event module:app#app:browser:override:confirmed\n\t\t */\n\t\tdispatcher.once('app:browser:override:confirmed', function () {\n\t\t\t// If the user wants to pull the trigger...\n\t\t\tnxSession.set('browserOk', true);\n\t\t\tnxSession.setCookie('browserOk', true, 30);\n\t\t});\n\n\t\t/**\n\t\t * When app:compatible:confirmed is triggered, we have an API connection\n\t\t * to a compatible DAM version, and a valid session.\n\t\t * @event module:app#app:compatible:confirmed\n\t\t */\n\t\tdispatcher.once('app:compatible:confirmed', function () {\n\t\t\t// We showed them this already?\n\t\t\tnxSession.deleteCookie('sessionExpired');\n\t\t\t// Never let our session expire:\n\t\t\tNS.options.TICKLE_SESSION && nxSession.beTickling();\n\t\t});\n\n\t\t/**\n\t\t * All required modules are initialized and we can check the state of the session\n\t\t * and dispatch accordingly\n\t\t * @event module:app#app:initialized\n\t\t * @fires module:auth#auth:token:valid\n\t\t * @fires module:auth#auth:token:invalid\n\t\t * @fires module:auth#auth:session:valid\n\t\t * @fires module:auth#auth:session:invalid\n\t\t */\n\t\tdispatcher.once('app:initialized', function () {\n\t\t\t// Are we doing token-based authentication instead of user login?\n\t\t\tif (nxSession.getToken()) {\n\t\t\t\t// We have a token. Test it.\n\t\t\t\tnxSession.isValid().then(\n\t\t\t\t\tfunction () {\n\t\t\t\t\t\t// We have a valid token.\n\t\t\t\t\t\tdispatcher.trigger('auth:token:valid');\n\t\t\t\t\t},\n\t\t\t\t\tfunction () {\n\t\t\t\t\t\t// Token is not valid; fail gracefully\n\t\t\t\t\t\tdispatcher.trigger('auth:token:invalid');\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\t// Do we have a valid session (are we logged in already?)\n\t\t\t\tnxSession.isValid().then(\n\t\t\t\t\tfunction () {\n\t\t\t\t\t\t// success handler == found a session!\n\t\t\t\t\t\t// Fetch the user\n\t\t\t\t\t\tuserProfile.fetch().then(function () {\n\t\t\t\t\t\t\tdispatcher.trigger('auth:session:valid');\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t\tfunction (err) {\n\t\t\t\t\t\t// isValid() fail handler (no valid session == user is not logged in)\n\t\t\t\t\t\tdispatcher.trigger('auth:session:invalid');\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\n\t\t/**\n\t\t * Triggering app:stop will halt the application, log out the user and\n\t\t * reload the page. Triggered due to invalid session, expired session or logout.\n\t\t * @event module:app#app:stop\n\t\t */\n\t\tdispatcher.once('app:stop', function () {\n\t\t\t// Delete the sessionKey cookie\n\t\t\tnxSession.stopTickling();\n\t\t\tnxSession.deleteCookie('sessionKey');\n\t\t});\n\n\t\t/**\n\t\t * If we don't have a valid session at startup, netx:session:invalid is triggered.\n\t\t * Check for various special cases, or else show a login form.\n\t\t * @event module:auth#auth:session:invalid\n\t\t * @fires module:auth#auth:user:login\n\t\t * @fires module:auth#auth:user:login:confirmed\n\t\t */\n\t\tdispatcher.once('auth:session:invalid', function () {\n\t\t\tconst m = window.location.hash.match(/(\\w+)/i)?.[1] ?? '';\n\n\t\t\t// Nothing to process in regards to session validity\n\t\t\tif (IGNORE_SESSION_ROUTES.includes(m)) return;\n\n\t\t\tconst {hash} = window.location;\n\n\t\t\t// Check if the user was redirected to a custom login\n\t\t\tconst customLoginWasTriggered =\n\t\t\t\tlocalStore.get(customConfig.CUSTOM_LOGIN_TRIGGERED_NAME) != null;\n\n\t\t\t// Do not store any routes that would lead a user to wind up here\n\t\t\tlet postLoginHash = IGNORE_POST_LOGIN_ROUTES.includes(\n\t\t\t\thash.replace(/^#/, ''),\n\t\t\t)\n\t\t\t\t? ''\n\t\t\t\t: hash;\n\n\t\t\t// If the user was redirected from a custom login, do not blow out the post login hash\n\t\t\tif (postLoginHash === '' && customLoginWasTriggered) {\n\t\t\t\t// use the already stored hash\n\t\t\t\tpostLoginHash = localStore.get(customConfig.POST_LOGIN_HASH_NAME) || '';\n\t\t\t}\n\n\t\t\t// if login is required, show the form\n\t\t\tif (coreConfig.REQUIRE_LOGIN) {\n\t\t\t\t// Refactor ticket - DAM-10298\n\t\t\t\t// use localStorage to save hash the user came in with for successful login\n\t\t\t\tlocalStore.set(customConfig.POST_LOGIN_HASH_NAME, postLoginHash);\n\t\t\t\t// remove - if we hit the custom login logic it will be set again\n\t\t\t\tlocalStore.remove(customConfig.CUSTOM_LOGIN_TRIGGERED_NAME);\n\n\t\t\t\t// DAM-11713 allow users to authenticate via NetX bypassing SSO and/or custom login\n\t\t\t\tif (_.contains(['', '#login'], hash)) {\n\t\t\t\t\t//incase #login already present\n\t\t\t\t\tappRouter\n\t\t\t\t\t\t.navigate('', {trigger: false})\n\t\t\t\t\t\t.navigate('login', {trigger: true});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// DAM-9976 support deep links via SSO\n\t\t\t\t// The system property `custom.index_page` was added for use with the original SSO implementation\n\t\t\t\t// Its use has been augemented to include custom home pages that do not utilize SSO\n\t\t\t\t// Redirection to the value of the property is handled exclusively by NetX's /index.jsp page\n\t\t\t\tif (\n\t\t\t\t\t!_.isUndefined(publicProperties.getProperty('custom.index_page')) &&\n\t\t\t\t\tpublicProperties.getProperty('custom.index_page') !== ''\n\t\t\t\t) {\n\t\t\t\t\t// Set for 5 minutes - will get blown out on each trip through this event as well\n\t\t\t\t\tlocalStore.set(customConfig.CUSTOM_LOGIN_TRIGGERED_NAME, 1);\n\t\t\t\t\tlocalStore.expire(\n\t\t\t\t\t\tcustomConfig.CUSTOM_LOGIN_TRIGGERED_NAME,\n\t\t\t\t\t\t60 * 1000 * 5,\n\t\t\t\t\t);\n\t\t\t\t\twindow.location.replace(window.location.origin);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// DAM-10369 support for custom login page\n\t\t\t\t// The system property `login.custom` was added to allow clients to utilize a custom authentication page\n\t\t\t\t// It is a boolean property that when true redirects unauthenticated users to /login.jsp\n\t\t\t\t// Redirection to the /login.jsp page is handled exclusively by NetX's /index.jsp page\n\t\t\t\tif (publicProperties.isTrue('login.custom')) {\n\t\t\t\t\t// Set for 5 minutes - will get blown out on each trip through this event as well\n\t\t\t\t\tlocalStore.set(customConfig.CUSTOM_LOGIN_TRIGGERED_NAME, 1);\n\t\t\t\t\tlocalStore.expire(\n\t\t\t\t\t\tcustomConfig.CUSTOM_LOGIN_TRIGGERED_NAME,\n\t\t\t\t\t\t60 * 1000 * 5,\n\t\t\t\t\t);\n\t\t\t\t\twindow.location.replace(window.location.origin);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t//incase #login already present\n\t\t\t\tappRouter\n\t\t\t\t\t.navigate('', {trigger: false})\n\t\t\t\t\t.navigate('login', {trigger: true});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// DEVNOTE: This seems like a questionable tactic? @spence\n\t\t\t// do a null auto-login if logins are not required.\n\t\t\t// THEM-1809 - public user (clean only) also wants deep linking\n\t\t\tlocalStore.set(customConfig.POST_LOGIN_HASH_NAME, postLoginHash);\n\t\t\t// login as public user\n\t\t\tdispatcher.trigger('auth:user:login:confirmed');\n\t\t});\n\n\t\t/**\n\t\t * Valid session\n\t\t * @event modeule:auth#auth:session:valid\n\t\t */\n\t\tdispatcher.once('auth:session:valid', function () {\n\t\t\t// the expected route will occur at app start\n\t\t\tconst hash = window.location.hash;\n\t\t\tif (IGNORE_POST_LOGIN_ROUTES.includes(hash.replace(/^#/, ''))) {\n\t\t\t\tappRouter.navigate('', {trigger: false});\n\t\t\t}\n\t\t});\n\n\t\t/**\n\t\t * Invalid token\n\t\t * @event modeule:auth#auth:token:invalid\n\t\t */\n\t\tdispatcher.once('auth:token:invalid', function () {\n\t\t\t// Only for main app\n\t\t\tlocalStore.set(customConfig.POST_LOGIN_HASH_NAME, '');\n\t\t});\n\n\t\t/**\n\t\t * Valid token\n\t\t * @event modeule:auth#auth:token:valid\n\t\t */\n\t\tdispatcher.once('auth:token:valid', function () {\n\t\t\t// Only for main app\n\t\t\tlocalStore.set(customConfig.POST_LOGIN_HASH_NAME, '');\n\t\t});\n\n\t\t// User login\n\t\t/**\n\t\t * @route\n\t\t * @fires module:auth#auth:user:login\n\t\t */\n\t\tappRouter.on('route:auth:user:login', function () {\n\t\t\t// if using public user, allow login screen so you don't get stuck with it\n\t\t\tif (\n\t\t\t\t!(getPublicProperty('viewer.userLogin') === userProfile.get('login')) &&\n\t\t\t\tnxSession &&\n\t\t\t\tgetUserLevel() > 0\n\t\t\t) {\n\t\t\t\tappRouter.navigate('', {trigger: true});\n\t\t\t} else {\n\t\t\t\tdispatcher.trigger('auth:user:login', true);\n\t\t\t}\n\t\t});\n\t\t/**\n\t\t * @event module:user#user:login:show\n\t\t * @param {object} viewOptions View options\n\t\t */\n\t\tdispatcher.on(\n\t\t\t'auth:user:login:show',\n\t\t\tfunction (viewOptions) {\n\t\t\t\tappViews.add({\n\t\t\t\t\tviewClass: AuthUserLoginView,\n\t\t\t\t\tshowActions: ['auth:user:login:show'],\n\t\t\t\t\tviewOptions: viewOptions,\n\t\t\t\t});\n\t\t\t},\n\t\t\twindow,\n\t\t);\n\n\t\t/**\n\t\t * User login\n\t\t * @event module:auth#auth:user:login\n\t\t * @fires module:auth#auth:user:login:expired\n\t\t * @fires module:auth#auth:user:login:show\n\t\t */\n\t\tdispatcher.on('auth:user:login', function (isRouted) {\n\t\t\tif (nxSession.sessionExpired() && nxSession.get('loginMsg') === '') {\n\t\t\t\tdispatcher.trigger('auth:user:login:expired');\n\t\t\t}\n\n\t\t\t// Wait for app ready\n\t\t\twhenReady(function () {\n\t\t\t\t// Show login\n\t\t\t\tdispatcher.trigger('auth:user:login:show', {\n\t\t\t\t\tmodel: nxSession,\n\t\t\t\t\tcollection: nxSession.get('samlServices'),\n\t\t\t\t\tisRouted: isRouted,\n\t\t\t\t\trouteMatch: new RegExp(/^login/),\n\t\t\t\t});\n\t\t\t}, NS);\n\t\t});\n\n\t\t/**\n\t\t * @event module:auth#auth:user:login:confirmed\n\t\t * @param {object} values Form data\n\t\t * @fires module:auth#auth:user:login:error\n\t\t * @fires module:auth#auth:user:login:invalid\n\t\t * @fires module:auth#auth:user:login:success\n\t\t * @fires module:auth#auth:user:login:lockout\n\t\t */\n\t\tdispatcher.on('auth:user:login:confirmed', function (values) {\n\t\t\t// Does the NetX instance use the public user\n\t\t\tif (_.isUndefined(values) && !coreConfig.REQUIRE_LOGIN) {\n\t\t\t\t// Fake the login form object\n\t\t\t\tvalues = {\n\t\t\t\t\tpassword: null,\n\t\t\t\t\tusername: null,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// Login\n\t\t\tuserProfile.userLogin(values).then(\n\t\t\t\tfunction (sessionKey) {\n\t\t\t\t\tif (sessionKey !== '-1') {\n\t\t\t\t\t\tnxSession.setCookie('sessionKey', sessionKey, 1);\n\t\t\t\t\t\tnxSession.setKey(sessionKey);\n\t\t\t\t\t\tdispatcher.trigger('auth:user:login:success');\n\t\t\t\t\t\t// Perform a hard refresh to trigger the browsers' password saving prompt HTML-9\n\t\t\t\t\t\twindow.location.reload(true);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdispatcher.trigger('auth:user:login:invalid');\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tfunction (err) {\n\t\t\t\t\tif (err.code === 3006) {\n\t\t\t\t\t\tdispatcher.trigger('auth:user:login:lockout');\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdispatcher.trigger(\n\t\t\t\t\t\t\t'auth:user:login:error',\n\t\t\t\t\t\t\tnew Error(i18n.t('i18n.loginErrorOccurred')),\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t);\n\t\t});\n\n\t\t/**\n\t\t * @event module:auth#auth:user:login:expired\n\t\t */\n\t\tdispatcher.on('auth:user:login:expired', function () {\n\t\t\tnxSession.set({\n\t\t\t\tloginMsg: i18n.t('i18n.youWereLoggedOut', {\n\t\t\t\t\tdefaultValue: 'Logged out due to inactivity',\n\t\t\t\t}),\n\t\t\t\tloginMsgClass: 'has-error',\n\t\t\t});\n\t\t});\n\t\t/**\n\t\t * @event module:auth#auth:user:login:lockout\n\t\t */\n\t\tdispatcher.on('auth:user:login:lockout', function () {\n\t\t\tnxSession.set({\n\t\t\t\tloginMsg: i18n.t('i18n.loginLockedOutMessage'),\n\t\t\t\tloginMsgClass: 'has-error',\n\t\t\t});\n\t\t});\n\n\t\t/**\n\t\t * @event module:auth#auth:user:login:invalid\n\t\t */\n\t\tdispatcher.on('auth:user:login:invalid', function () {\n\t\t\tnxSession.set({\n\t\t\t\tloginMsg: i18n.t('i18n.loginIncorrect'),\n\t\t\t\tloginMsgClass: 'has-error',\n\t\t\t});\n\t\t});\n\n\t\t/**\n\t\t * @event module:auth#auth:user:login:error\n\t\t * @param {string} error Error string\n\t\t * @fires module:app#app:alert\n\t\t */\n\t\tdispatcher.on(\n\t\t\t'auth:user:login:error',\n\t\t\tfunction (error) {\n\t\t\t\tdispatcher.trigger('app:alert', error, i18n.t('i18n.error'));\n\t\t\t},\n\t\t\twindow,\n\t\t);\n\n\t\t// User logout\n\t\tappRouter.on('route:auth:user:logout', function () {\n\t\t\tdispatcher.trigger('auth:user:logout');\n\t\t});\n\t\t/**\n\t\t * @event module:auth#auth:user:logout:routed\n\t\t * @fires module:app#app:stop\n\t\t * @fires module:app#app:alert\n\t\t */\n\t\tdispatcher.on('auth:user:logout', function () {\n\t\t\tuserProfile.logout().then(\n\t\t\t\tfunction () {\n\t\t\t\t\t// DAM-9360 - old school logout page boolean property\n\t\t\t\t\tif (getPreference('user.logoutPage', true)) {\n\t\t\t\t\t\twindow.location.href = '/logout.html';\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Router navigation needs to occur before 'app:stop' is triggered\n\t\t\t\t\t\tappRouter.navigate('');\n\t\t\t\t\t\t// Trigger application shutdown\n\t\t\t\t\t\tdispatcher.trigger('app:stop');\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tfunction (err) {\n\t\t\t\t\t// Session ended before we logged out?\n\t\t\t\t\tdispatcher.trigger(\n\t\t\t\t\t\t'app:alert',\n\t\t\t\t\t\ti18n.t('i18n.sessionInvalid'),\n\t\t\t\t\t\t'Warning',\n\t\t\t\t\t);\n\t\t\t\t\t// Whatever the problem, log out anyway in 3 secs.\n\t\t\t\t\t_.delay(function () {\n\t\t\t\t\t\tappRouter.navigate('');\n\t\t\t\t\t\tdispatcher.trigger('app:stop');\n\t\t\t\t\t}, 3000);\n\t\t\t\t},\n\t\t\t);\n\t\t});\n\n\t\t/**\n\t\t * SAML authentication\n\t\t * @event module:auth#auth:user:saml:navigate\n\t\t * @param {string} samlServiceName SAML service name\n\t\t */\n\t\tdispatcher.on('auth:user:saml:navigate', function (samlServiceName) {\n\t\t\t// navigate browser to saml endpoint\n\t\t\twindow.location.href = '/saml/' + samlServiceName;\n\t\t});\n\n\t\t// User registration\n\t\tappRouter.on('route:auth:user:register', function () {\n\t\t\tif ((nxSession && getUserLevel() > 0) || !canSelfRegister()) {\n\t\t\t\tappRouter.navigate('', {trigger: true});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tdispatcher.trigger('auth:user:register');\n\t\t});\n\t\t/**\n\t\t * @event module:auth#auth:user:register:show\n\t\t * @param {object} viewOptions View options\n\t\t */\n\t\tdispatcher.on(\n\t\t\t'auth:user:register:show',\n\t\t\tfunction (viewOptions) {\n\t\t\t\timport(\n\t\t\t\t\t/* webpackChunkName: \"view-authUserRegister\" */ './views/authUserRegisterView'\n\t\t\t\t).then((View) => {\n\t\t\t\t\tappViews.add({\n\t\t\t\t\t\tviewClass: View.default,\n\t\t\t\t\t\tshowActions: ['auth:user:register:show'],\n\t\t\t\t\t\tviewOptions: viewOptions,\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t},\n\t\t\twindow,\n\t\t);\n\t\t/**\n\t\t * Register routed\n\t\t * creates/shows register form\n\t\t * @event module:auth#auth:user:register\n\t\t * @todo DAM-8523\n\t\t */\n\t\tdispatcher.on('auth:user:register', function () {\n\t\t\t// Let the app know we are ready and wait for it to respond\n\t\t\twhenReady(function () {\n\t\t\t\tvar customForm = new CustomFormCollection([], {\n\t\t\t\t\tformName: 'register',\n\t\t\t\t});\n\n\t\t\t\tcustomForm.fetch().then(function () {\n\t\t\t\t\t// Show registration\n\t\t\t\t\tdispatcher.trigger('auth:user:register:show', {\n\t\t\t\t\t\tmodel: new UserProfileModel(),\n\t\t\t\t\t\tcollection: customForm,\n\t\t\t\t\t\teventStr: 'auth:user:register',\n\t\t\t\t\t\trequiresChanges: true,\n\t\t\t\t\t\trouteMatch: new RegExp(/^register/),\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}, NS);\n\t\t});\n\t\t/**\n\t\t * @event module:auth#auth:user:register:confirmed\n\t\t * @param {object} values Form values\n\t\t * @param {Netx.Models.UserProfile} model User progile model\n\t\t * @fires module:auth#auth:user:register:error\n\t\t * @fires module:auth#auth:user:register:failure\n\t\t * @fires module:auth#auth:user:register:success\n\t\t * @fires module:auth#auth:user:register:awaiting:approval\n\t\t */\n\t\tdispatcher.on('auth:user:register:confirmed', function (values, model) {\n\t\t\t// Get only the values pertinant to our model's attributes\n\t\t\t// var modelValues = _.pick.apply(\n\t\t\t// \tnull,\n\t\t\t// \t[values].concat(_.keys(model.attributes)),\n\t\t\t// );\n\n\t\t\t// set custom user data if any\n\t\t\tvar modelValues = model.setPropertyArrays(values);\n\n\t\t\t// Password has not changed\n\t\t\tif (\n\t\t\t\t!values.autogeneratePassword &&\n\t\t\t\t(modelValues.password1 === '********' ||\n\t\t\t\t\tmodelValues.password2 === '********')\n\t\t\t) {\n\t\t\t\tmodelValues = _.omit(modelValues, 'password1', 'password2');\n\t\t\t}\n\t\t\t// Autogenerate password (send empty strings to server)\n\t\t\telse if (values.autogeneratePassword) {\n\t\t\t\tmodelValues.password1 = modelValues.password2 = '';\n\t\t\t}\n\n\t\t\t// ON-1732 - use the email as username when system property set to true\n\t\t\tif (getPublicProperty('user.force_email_login', true)) {\n\t\t\t\tmodelValues.login = modelValues.email;\n\t\t\t}\n\n\t\t\tmodel.registerNewUser(modelValues).then(\n\t\t\t\tfunction (response) {\n\t\t\t\t\tswitch (model.get('registration')) {\n\t\t\t\t\t\tcase 'success':\n\t\t\t\t\t\t\t// Beware it is a string and not actually a boolean\n\t\t\t\t\t\t\tvar autoLoginStr = getPublicProperty(\n\t\t\t\t\t\t\t\t'user.self_registration_auto_login',\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tif (autoLoginStr === 'true') {\n\t\t\t\t\t\t\t\t// Just log them in\n\t\t\t\t\t\t\t\t// get hash user navigated to app with, set without triggering, clean up\n\t\t\t\t\t\t\t\tappRouter.navigate(\n\t\t\t\t\t\t\t\t\tlocalStore.get(\n\t\t\t\t\t\t\t\t\t\tcustomConfig.POST_LOGIN_HASH_NAME ||\n\t\t\t\t\t\t\t\t\t\t\tcoreConfig.HOME_ROUTE ||\n\t\t\t\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t{trigger: false},\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tlocalStore.set(customConfig.POST_LOGIN_HASH_NAME, '');\n\t\t\t\t\t\t\t\tnxSession.set({\n\t\t\t\t\t\t\t\t\tloginMsg: i18n.t('i18n.registrationSuccessful'),\n\t\t\t\t\t\t\t\t\tloginMsgClass: 'has-success',\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t// Perform a hard refresh to begin a new session with the newly registered user\n\t\t\t\t\t\t\t\twindow.location.reload(true);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t// Registration request was successful\n\t\t\t\t\t\t\t\t// Must wait for administraive approval\n\t\t\t\t\t\t\t\tappRouter.navigate('register/approval-needed', {trigger: true});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdispatcher.trigger('auth:user:register:success', model, true);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'failure':\n\t\t\t\t\t\t\tdispatcher.trigger('auth:user:register:failure');\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'error':\n\t\t\t\t\t\t\tdispatcher.trigger('auth:user:register:error');\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tfunction (err) {\n\t\t\t\t\tdispatcher.trigger('auth:user:register:error', err);\n\t\t\t\t},\n\t\t\t);\n\t\t});\n\n\t\t/**\n\t\t * @event module:auth#auth:user:register:cancelled\n\t\t */\n\t\tdispatcher.on(\n\t\t\t'auth:user:register:cancelled',\n\t\t\tfunction () {\n\t\t\t\tappRouter.navigate('login', {trigger: true});\n\t\t\t},\n\t\t\twindow,\n\t\t);\n\t\t/**\n\t\t * @event module:auth#auth:user:register:success\n\t\t * @param {Netx.Models.UserProfile} model User progile model\n\t\t * @param {boolean} awaitingApproval Awaiting approval\n\t\t */\n\t\tdispatcher.on(\n\t\t\t'auth:user:register:success',\n\t\t\tfunction (model, awaitingApproval) {\n\t\t\t\t//\n\t\t\t},\n\t\t\twindow,\n\t\t);\n\t\t/**\n\t\t * @event module:auth#auth:user:register:failure\n\t\t * @fires module:auth#auth:user:register:error\n\t\t */\n\t\tdispatcher.on(\n\t\t\t'auth:user:register:failure',\n\t\t\tfunction () {\n\t\t\t\tdispatcher.trigger('auth:user:register:error');\n\t\t\t},\n\t\t\twindow,\n\t\t);\n\t\t/**\n\t\t * @event module:auth#auth:user:register:error\n\t\t * @fires module:app#app:alert\n\t\t */\n\t\tdispatcher.on(\n\t\t\t'auth:user:register:error',\n\t\t\tfunction () {\n\t\t\t\tdispatcher.trigger(\n\t\t\t\t\t'app:alert',\n\t\t\t\t\ti18n.t('i18n.registrationError'),\n\t\t\t\t\ti18n.t('i18n.error'),\n\t\t\t\t);\n\t\t\t},\n\t\t\twindow,\n\t\t);\n\n\t\t// User registration awaitng approval\n\t\tappRouter.on('route:auth:user:register:approvalNeeded', function () {\n\t\t\tdispatcher.trigger('auth:user:register:awaiting:approval', true);\n\t\t});\n\t\t/**\n\t\t * @event module:auth#auth:user:register:awaiting:approval:show\n\t\t * @param {object} viewOptions View options\n\t\t */\n\t\tdispatcher.on(\n\t\t\t'auth:user:register:awaiting:approval:show',\n\t\t\tfunction (viewOptions) {\n\t\t\t\timport(\n\t\t\t\t\t/* webpackChunkName: \"view-authUserAwaitingApproval\" */ './views/authUserAwaitingApprovalView'\n\t\t\t\t).then((View) => {\n\t\t\t\t\tappViews.add({\n\t\t\t\t\t\tviewClass: View.default,\n\t\t\t\t\t\tshowActions: ['auth:user:register:awaiting:approval:show'],\n\t\t\t\t\t\tviewOptions: viewOptions,\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t},\n\t\t\twindow,\n\t\t);\n\t\t/**\n\t\t * @event module:auth#auth:user:register:awaiting:approval\n\t\t * @fires module:auth#auth:user:register:awaiting:approval:show\n\t\t */\n\t\tdispatcher.on('auth:user:register:awaiting:approval', function (isRouted) {\n\t\t\t// Show\n\t\t\tdispatcher.trigger('auth:user:register:awaiting:approval:show', {\n\t\t\t\tisRouted: isRouted,\n\t\t\t\trouteMatch: new RegExp(/^register\\/approval-needed/),\n\t\t\t});\n\t\t});\n\n\t\t// User password reset\n\t\tappRouter.on('route:auth:user:password:reset', function () {\n\t\t\tif (getUserLevel() > 0 || !canRequestPasswordReset()) {\n\t\t\t\tappRouter.navigate('', {trigger: true});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tdispatcher.trigger('auth:user:password:request', true);\n\t\t});\n\t\t/**\n\t\t * @event module:auth#auth:user:password:request:show\n\t\t * @param {object} viewOptions View options\n\t\t */\n\t\tdispatcher.on(\n\t\t\t'auth:user:password:request:show',\n\t\t\tfunction (viewOptions) {\n\t\t\t\timport(\n\t\t\t\t\t/* webpackChunkName: \"view-authUserPassResetRequest\" */ './views/authUserPassResetRequestView'\n\t\t\t\t).then((View) => {\n\t\t\t\t\tappViews.add({\n\t\t\t\t\t\tviewClass: View.default,\n\t\t\t\t\t\tshowActions: ['auth:user:password:request:show'],\n\t\t\t\t\t\tviewOptions: viewOptions,\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t},\n\t\t\twindow,\n\t\t);\n\t\t/**\n\t\t * Request reset password\n\t\t * @event module:auth#auth:user:password:request\n\t\t * @fires module:auth#auth:user:password:request:show\n\t\t */\n\t\tdispatcher.on('auth:user:password:request', function (isRouted) {\n\t\t\t// Let the app know we are ready and wait for it to respond\n\t\t\twhenReady(function () {\n\t\t\t\t// Show password reset request\n\t\t\t\tdispatcher.trigger('auth:user:password:request:show', {\n\t\t\t\t\tmodel: userProfile,\n\t\t\t\t\trequiresChanges: true,\n\t\t\t\t\tisRouted: isRouted,\n\t\t\t\t\trouteMatch: new RegExp(/^password-request/),\n\t\t\t\t});\n\t\t\t}, NS);\n\t\t});\n\t\t/**\n\t\t * Password reset request submitting\n\t\t * @event module:auth#auth:user:password:request:confirmed\n\t\t * @param {object} values From values\n\t\t * @param {Netx.Models.UserProfile} model User progile model\n\t\t * @fires module:auth#auth:user:password:request:error\n\t\t * @fires module:auth#auth:user:password:request:success\n\t\t */\n\t\tdispatcher.on(\n\t\t\t'auth:user:password:request:confirmed',\n\t\t\tfunction (values, model) {\n\t\t\t\tmodel.passwordRequest(values).then(\n\t\t\t\t\tfunction (response) {\n\t\t\t\t\t\tdispatcher.trigger('auth:user:password:request:success', model);\n\t\t\t\t\t},\n\t\t\t\t\tfunction (err) {\n\t\t\t\t\t\tdispatcher.trigger('auth:user:password:request:error', err, model);\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t},\n\t\t);\n\t\t/**\n\t\t * @event module:auth#auth:user:password:request:cancelled\n\t\t */\n\t\tdispatcher.on(\n\t\t\t'auth:user:password:request:cancelled',\n\t\t\tfunction () {\n\t\t\t\tappRouter.navigate('login', {trigger: true});\n\t\t\t},\n\t\t\twindow,\n\t\t);\n\t\t/**\n\t\t * @event module:auth#auth:user:password:request:success\n\t\t */\n\t\tdispatcher.on(\n\t\t\t'auth:user:password:request:success',\n\t\t\tfunction () {\n\t\t\t\t// override me\n\t\t\t},\n\t\t\twindow,\n\t\t);\n\t\t/**\n\t\t * @event module:auth#auth:user:password:request:failure\n\t\t */\n\t\tdispatcher.on(\n\t\t\t'auth:user:password:request:failure',\n\t\t\tfunction () {\n\t\t\t\t// override me\n\t\t\t},\n\t\t\twindow,\n\t\t);\n\t\t/**\n\t\t * @event module:auth#auth:user:password:request:error\n\t\t * @param {string} error Error string\n\t\t * @param {Netx.Models.UserProfile} model User progile model\n\t\t * @fires module:app#app:alert\n\t\t */\n\t\tdispatcher.on(\n\t\t\t'auth:user:password:request:error',\n\t\t\tfunction (error, model) {\n\t\t\t\tappRouter.navigate('#login', {trigger: true});\n\t\t\t\tdispatcher.trigger(\n\t\t\t\t\t'app:alert',\n\t\t\t\t\ti18n.t('i18n.passwordResetRequestError'),\n\t\t\t\t\ti18n.t('i18n.error'),\n\t\t\t\t);\n\t\t\t},\n\t\t\twindow,\n\t\t);\n\n\t\tappRouter.on('route:auth:user:password:change', function (login, token) {\n\t\t\tif (nxSession && getUserLevel() > 0) {\n\t\t\t\tappRouter.navigate('', {trigger: true});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tdispatcher.trigger('auth:user:password:change', login, token, true);\n\t\t});\n\t\t/**\n\t\t * @event module:auth#auth:user:password:change:show\n\t\t * @param {object} viewOptions View options\n\t\t */\n\t\tdispatcher.on(\n\t\t\t'auth:user:password:change:show',\n\t\t\tfunction (viewOptions) {\n\t\t\t\timport(\n\t\t\t\t\t/* webpackChunkName: \"view-authUserPassReset\" */ './views/authUserPassResetView'\n\t\t\t\t).then((View) => {\n\t\t\t\t\tappViews.add({\n\t\t\t\t\t\tviewClass: View.default,\n\t\t\t\t\t\tshowActions: ['auth:user:password:change:show'],\n\t\t\t\t\t\tviewOptions: viewOptions,\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t},\n\t\t\twindow,\n\t\t);\n\t\t/**\n\t\t * @event module:auth#auth:user:password:change\n\t\t * @param {string} login Login\n\t\t * @param {string} token Token\n\t\t * @fires module:auth#auth:user:password:change:show\n\t\t */\n\t\tdispatcher.on(\n\t\t\t'auth:user:password:change',\n\t\t\tfunction (login, token, isRouted) {\n\t\t\t\t// this is not for logged in users\n\t\t\t\tif (userProfile.id) {\n\t\t\t\t\tuserProfile.logout().then(function () {\n\t\t\t\t\t\twindow.location.reload(true);\n\t\t\t\t\t});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t// this will find any strict password requirements\n\t\t\t\tuserProfile.decodeUserToken({login: login, token: token});\n\t\t\t\t// Let the app know we are ready and wait for it to respond\n\t\t\t\twhenReady(function () {\n\t\t\t\t\t// Show password change\n\t\t\t\t\tdispatcher.trigger('auth:user:password:change:show', {\n\t\t\t\t\t\tmodel: userProfile,\n\t\t\t\t\t\trequiresChanges: true,\n\t\t\t\t\t\tisRouted: isRouted,\n\t\t\t\t\t\trouteMatch: new RegExp(/^password-reset\\/(\\d+)\\/(\\s+)/),\n\t\t\t\t\t});\n\t\t\t\t}, NS);\n\t\t\t},\n\t\t);\n\t\t/**\n\t\t * @event module:auth#auth:user:password:change:confirmed\n\t\t * @param {object} values From values\n\t\t * @param {Netx.Models.UserProfile} model User progile model\n\t\t * @fires module:auth#auth:user:password:change:error\n\t\t * @fires module:auth#auth:user:password:change:success\n\t\t */\n\t\tdispatcher.on(\n\t\t\t'auth:user:password:change:confirmed',\n\t\t\tfunction (values, model) {\n\t\t\t\tmodel.passwordChange(values).then(\n\t\t\t\t\tfunction (response) {\n\t\t\t\t\t\tif (response.resultBool) {\n\t\t\t\t\t\t\tdispatcher.trigger('auth:user:password:change:success', model);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// handled in authUserPassResetView\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tfunction (err) {\n\t\t\t\t\t\tdispatcher.trigger('auth:user:password:change:error', err, model);\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t},\n\t\t);\n\t\t/**\n\t\t * @event module:auth#auth:user:password:change:cancelled\n\t\t */\n\t\tdispatcher.on(\n\t\t\t'auth:user:password:change:cancelled',\n\t\t\tfunction () {\n\t\t\t\tappRouter.navigate('login', {trigger: true});\n\t\t\t},\n\t\t\twindow,\n\t\t);\n\t\t/**\n\t\t * @event module:auth#auth:user:password:change:success\n\t\t * @fires module:app#app:alert\n\t\t */\n\t\tdispatcher.on(\n\t\t\t'auth:user:password:change:success',\n\t\t\tfunction () {\n\t\t\t\tdispatcher.trigger('app:alert', i18n.t('i18n.passwordChangedLogIn'));\n\t\t\t\tappRouter.navigate('login', {trigger: true});\n\t\t\t},\n\t\t\twindow,\n\t\t);\n\t\t/**\n\t\t * @event module:auth#auth:user:password:change:failure\n\t\t * @fires module:app#app:alert\n\t\t */\n\t\tdispatcher.on(\n\t\t\t'user:password:change:failure',\n\t\t\tfunction () {\n\t\t\t\tdispatcher.trigger(\n\t\t\t\t\t'app:alert',\n\t\t\t\t\ti18n.t('i18n.passwordResetError'),\n\t\t\t\t\ti18n.t('i18n.error'),\n\t\t\t\t);\n\t\t\t},\n\t\t\twindow,\n\t\t);\n\t\t/**\n\t\t * @event module:auth#auth:user:password:change:error\n\t\t * @fires module:app#app:alert\n\t\t */\n\t\tdispatcher.on(\n\t\t\t'auth:user:password:change:error',\n\t\t\tfunction (errOb) {\n\t\t\t\tvar errMsg = i18n.t('i18n.passwordResetError');\n\t\t\t\tif (errOb.message) {\n\t\t\t\t\terrMsg += ' ' + errOb.message;\n\t\t\t\t}\n\t\t\t\tdispatcher.trigger('app:alert', errMsg, i18n.t('i18n.error'));\n\t\t\t},\n\t\t\twindow,\n\t\t);\n\n\t\t/**\n\t\t * This route contains a session key; if we've come this far, it probably has already been parsed.\n\t\t * We should just redirect to the main app.\n\t\t */\n\t\tappRouter.on('route:auth:user:sessionKey', function (sessionKey) {\n\t\t\tif (session.getKey() != sessionKey) {\n\t\t\t\t// this should never happen:\n\t\t\t\tconsole.warn('session key mismatch in /session route!');\n\t\t\t\t//Netx.session.setKey(key); // can't hurt. shouldn't be necessary.\n\t\t\t} else {\n\t\t\t\tappRouter.reroute('', true);\n\t\t\t}\n\t\t});\n\n\t\t// DAM-6494:\n\t\t// Get the list of public API calls.\n\t\t// (We need this before we make any private API calls.)\n\t\t//\n\t\t// For now, the list is globally available as Netx.session.get('publicMethods').\n\t\tlogger.silly('bootstrapping...');\n\t\tnxSession.getPublicMethods().then(function () {\n\t\t\t// get saml services for login\n\t\t\tnxSession.getSamlServices().then(function () {\n\t\t\t\t// Wait for all boostrap loads to complete.\n\t\t\t\t$.when.apply($, NS.bootstrap).then(function () {\n\t\t\t\t\tdelete NS.bootstrap;\n\t\t\t\t\tlogger.silly('bootstrapped');\n\t\t\t\t\tdispatcher.trigger('auth:extend', NS);\n\t\t\t\t\tdispatcher.trigger('auth:initialized', NS);\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t});\n});\n\nexport default {\n\tinitialize(opts) {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tlogger.silly('initializing...');\n\t\t\tdispatcher.trigger('auth:init');\n\t\t\tdispatcher.once('auth:initialized', function () {\n\t\t\t\tlogger.silly('initialized');\n\t\t\t\tresolve(routes);\n\t\t\t});\n\t\t});\n\t},\n};\n","export {default} from 'netxcore@netx/core-auth/controller';\n\nimport {appRouter} from '@netx/core-next/instance/router';\nimport {session} from '@netx/core-auth/collections/singleton/session';\n\n/**\n * @event module:auth#auth:extend\n * @param {object} NS Namespace object\n */\ndispatcher.once('auth:extend', function (NS) {\n\t/**\n\t * @event module:auth#auth:user:password:change:success\n\t * @override\n\t */\n\tdispatcher.off('auth:user:password:change:success');\n\tdispatcher.on('auth:user:password:change:success', function () {\n\t\tsession.set({loginMsg: 'Your password was changed. Please log in.'});\n\t\tappRouter.navigate('login', {trigger: true});\n\t});\n});\n","/**\n * Auth module\n */\n\nimport actions from './actions';\nimport menus from './menus';\nimport controller from './controller';\nimport {RegisterLegacyAction} from '@netx/core/legacyActionManager';\nimport {addMenus} from '@netx/core/legacyMenuManager';\n\n/**\n * @property {object} exports - Our module exports\n * @property {string} exports.namespace - Module namespace\n * @property {function} exports.initialize - Module initializer\n */\nexport default {\n\tnamespace: 'auth',\n\tinitialize() {\n\t\t// Register actions\n\t\tRegisterLegacyAction(actions);\n\t\t// Extend menus\n\t\taddMenus(menus);\n\n\t\treturn controller.initialize();\n\t},\n};\n","export default {\n\t/**\n\t * CSS id for cart container element\n\t * @const\n\t * @type {string}\n\t * @default\n\t */\n\tSAVED_CARTS_ID: 'cart-saved',\n\t/**\n\t * CSS id for cart list element\n\t * @const\n\t * @type {string}\n\t * @default\n\t */\n\tCART_GALLERY_ID: 'cart-assets',\n\t/**\n\t * CSS id for cart actions bar element\n\t * @const\n\t * @type {string}\n\t * @default\n\t */\n\tCART_ACTIONS_BAR: 'cart-actions-bar',\n\t/**\n\t * CSS id for cart list header element\n\t * @const\n\t * @type {string}\n\t * @default\n\t */\n\tCART_HEADER_ID: 'cart-header',\n\t/**\n\t * CSS id for saved cart header container element\n\t * @const\n\t * @type {string}\n\t * @default\n\t */\n\tSAVED_CART_HEADER_ID: 'saved-cart-header',\n\t/**\n\t * CSS id for saved cart assets container element\n\t * @const\n\t * @type {string}\n\t * @default\n\t */\n\tSAVED_CART_GALLERY_ID: 'saved-cart-assets',\n\n\t/**\n\t * CSS id for cart container element\n\t * @const\n\t * @type {string}\n\t * @default\n\t */\n\tCHUNK_SIZE: 12,\n\t/**\n\t * CSS id for cart container element\n\t * @const\n\t * @type {string}\n\t * @default\n\t */\n\tPAGE_SIZE: 12,\n\t/**\n\t * When sharing cart permissions, allow ownership changes?\n\t * @const\n\t * @type {string}\n\t * @default\n\t */\n\tSHARE_SHOW_OWNER: true,\n\t/**\n\t * When sharing cart permissions, sync immediately on every change?\n\t * @const\n\t * @type {string}\n\t * @default\n\t */\n\tSHARE_SYNC_IMMEDIATE: false,\n\t/**\n\t * Route component for showing the contents a saved cart\n\t * @const\n\t * @type {string}\n\t * @default\n\t */\n\tROUTE_SAVED_CART: 'cart-assets',\n};\n","import Config from 'netxcore@netx/core-cart/config';\n\nObject.assign(Config, {\n\tSHARE_SYNC_IMMEDIATE: true,\n\t//SHARE_SHOW_OWNER: false\n});\n\nexport default Config;\n","/**\n * @class\n * @todo Document members and methods\n */\nimport Base from '@netx/core/lib/netx-collection';\nimport Model from '../models/category';\n\nimport customConfig from '../config';\nimport {getPreference} from '@netx/core-user-next/utils/getPreference';\n\nexport default class CategoryTreeNodes extends Base {\n\t/**\n\t * @type {Netx.Rpc}\n\t * @private\n\t */\n\tget rpc() {\n\t\treturn true;\n\t}\n\n\t/** @type {boolean} */\n\tget xhrTrackProgress() {\n\t\treturn true;\n\t}\n\n\t/** @type {array} */\n\tget xhrExcludeProgress() {\n\t\treturn ['getCategoryAutoList'];\n\t}\n\n\t/** @type {object} */\n\tget xhrLoadingMessages() {\n\t\treturn {\n\t\t\tgetCategories: 'Loading categories',\n\t\t\tgetCategoryObjects: 'Loading categories',\n\t\t\tsetCategoryOrder: 'Updating category order',\n\t\t};\n\t}\n\n\t/** @type {object} */\n\tget xhrLoadedMessages() {\n\t\treturn {\n\t\t\tgetCategories: 'Loading categories',\n\t\t\tgetCategoryObjects: 'Loaded categories',\n\t\t\tsetCategoryOrder: 'Updated category order',\n\t\t};\n\t}\n\n\t/**\n\t * Methods for this model\n\t * @type {object}\n\t */\n\tget methods() {\n\t\treturn {\n\t\t\tread: [\n\t\t\t\t'getCategories',\n\t\t\t\t'searchString',\n\t\t\t\tfunction () {\n\t\t\t\t\treturn customConfig.categoryid;\n\t\t\t\t},\n\t\t\t],\n\t\t\t_fetchChildren: ['getCategories', 'searchString', 'targetCategory'],\n\t\t\t_fetchCategory: ['getCategoryData', 'targetCategory'],\n\t\t\t_searchCategoryName: ['getCategoryAutoList', 'searchString', 1],\n\t\t\t_getCategoryObjects: ['getCategoryObjects', 'neededCats'],\n\t\t\t_setCategoryOrder() {\n\t\t\t\t// Order by 'order' and then pluck the category ids\n\t\t\t\t// Use compact as we may have had a `dummy` category in there (\"empty\")\n\t\t\t\t// TODO: look into the 'threaded' piece (we are currently passing false)\n\t\t\t\treturn [\n\t\t\t\t\t'setCategoryOrder',\n\t\t\t\t\t_.compact(_.pluck(_.sortBy(this.order, 'order'), 'categoryid')),\n\t\t\t\t\tthis.orderType,\n\t\t\t\t\tfalse,\n\t\t\t\t];\n\t\t\t},\n\t\t};\n\t}\n\n\t/**\n\t * @property {object} parsers - Collection parsers\n\t * @property {function} parsers._read - Parse results of fetch\n\t * @property {function} parsers._fetchChildren - Parse the result of fetch children\n\t * @property {function} parsers._fetchCategory - Parse the result of fetch category\n\t */\n\tget parsers() {\n\t\treturn {\n\t\t\t// read parser is the parse() method below\n\t\t\t_fetchChildren(data) {\n\t\t\t\tdata = data || [];\n\t\t\t\t//return this.parseCats(data);\t// Backbone.RPC ignores return value of parsers, feh.\n\t\t\t\tthis.parseCats(data);\n\t\t\t\treturn;\n\t\t\t},\n\t\t\t_fetchCategory(data) {\n\t\t\t\tthis.parseCats([data]);\n\t\t\t\treturn;\n\t\t\t},\n\t\t};\n\t}\n\n\t/** @override */\n\tparse(data) {\n\t\t// So we know to use a reset after parsing cats\n\t\t// triggering a reset now looses any client side data we may have had\n\t\tthis.resetCategories = true;\n\t\treturn this.parseCats(data);\n\t}\n\n\t/** @override */\n\tconstructor(models, opts = {}) {\n\t\t// https://stackoverflow.com/questions/37127083/can-two-files-have-each-other-as-dependencies-in-javascript-when-using-webpack\n\t\t//Model = require('../models/category');\n\t\topts.model = opts.model || Model;\n\n\t\tsuper(models, opts);\n\n\t\t// Set categoryid if provided\n\t\tthis.categoryid = opts.categoryid;\n\n\t\t/**\n\t\t * @type {array}\n\t\t * @default\n\t\t */\n\t\tthis.disabledCategories = opts.disabledCategories || [];\n\n\t\t/**\n\t\t * Will hold our desired category order for `setCategoryOrder`\n\t\t * @type {array}\n\t\t * @default\n\t\t */\n\t\tthis.order = opts.order || [];\n\n\t\t/**\n\t\t * @type {number}\n\t\t * @default\n\t\t * 0 = manual (provided order)\n\t\t * 1 = alphabetical asc (normal)\n\t\t * 2 = alphabetical desc (reverse)\n\t\t */\n\t\tthis.orderType = opts.orderType || 0;\n\n\t\t/**\n\t\t * @type {string}\n\t\t * @default\n\t\t */\n\t\tthis.searchString = opts.searchString || '';\n\n\t\t/**\n\t\t * Target category id\n\t\t * @type {number}\n\t\t * @default\n\t\t */\n\t\tthis.targetCategory = opts.targetCategory;\n\n\t\t// We reference this a lot\n\t\tvar topLevelId = customConfig.categoryid;\n\n\t\t// Debounced methods\n\t\tthis.updateTopLevelCategories = _.debounce(\n\t\t\tthis.updateTopLevelCategories,\n\t\t\t100,\n\t\t);\n\n\t\t// We are top level\n\t\t// We provide a top level collection and a filtered collection\n\t\tif (this.categoryid === topLevelId) {\n\t\t\t// Do not pass a categoryid to these collections - always know they are \"top level\" (flat)\n\t\t\t// if you pass a categoryid you will wind up in a maximum execution error\n\t\t\tthis.topLevelCategories = new this.constructor([]);\n\t\t\tthis.filteredCategories = new this.constructor([]);\n\t\t}\n\n\t\t// Children of a category have changed\n\t\tconst debouncedFetchTopLevel = _.debounce((id) => {\n\t\t\tthis.fetchChildren(this.categoryid, {duplicateQueryPolicy: 'abort'}).then(\n\t\t\t\tthis.updateTopLevelCategories,\n\t\t\t);\n\t\t}, 100);\n\n\t\t// Hey, listen!\n\t\tthis\n\t\t\t// On reset/sync we need to put back /update our top levels\n\t\t\t.listenTo(\n\t\t\t\tthis,\n\t\t\t\t'reset sync',\n\t\t\t\t_.debounce((collection) => {\n\t\t\t\t\t// Make sure this concerns us (sync could come from a model within)\n\t\t\t\t\tif (\n\t\t\t\t\t\tthis.topLevelCategories &&\n\t\t\t\t\t\tthis._listenId === collection._listenId\n\t\t\t\t\t) {\n\t\t\t\t\t\tthis.updateTopLevelCategories();\n\t\t\t\t\t}\n\t\t\t\t}, 100),\n\t\t\t)\n\t\t\t// WARNING:\n\t\t\t// Since these are dispatch listeners and not targeted solely at us - we can not debounce the listeners\n\t\t\t.listenTo(dispatcher, 'category:children:changed', (id) => {\n\t\t\t\t// Main tree\n\t\t\t\t// All other models/collections in relation to this tree should have references\n\t\t\t\t// to us and our models - if not then there is some flawed logic somehwere that\n\t\t\t\t// will need addressing.\n\t\t\t\t// Top level trees are the only responders\n\t\t\t\tif (this.categoryid === topLevelId) {\n\t\t\t\t\tid = parseInt(id);\n\t\t\t\t\t// Was a top level that changed\n\t\t\t\t\tif (id === this.categoryid) {\n\t\t\t\t\t\t// It gets too messy to not update the whole top level in this case\n\t\t\t\t\t\t// The category model itself should be responding to data changes\n\t\t\t\t\t\tdebouncedFetchTopLevel(id);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t\t// Category deleted\n\t\t\t.listenTo(dispatcher, 'category:delete:success', (model) => {\n\t\t\t\t// Regardless of where it was deleted from - it is gone - get it out of all collections\n\t\t\t\tthis.remove(model.id);\n\t\t\t})\n\t\t\t// Categories changed\n\t\t\t.listenTo(\n\t\t\t\tdispatcher,\n\t\t\t\t'category:edit:success',\n\t\t\t\t(model, isNew, changedParent) => {\n\t\t\t\t\t// Only top level responds to this\n\t\t\t\t\tif (model instanceof Model && this.categoryid === topLevelId) {\n\t\t\t\t\t\tmodel.set({\n\t\t\t\t\t\t\t// TODO: These are strings on a save\n\t\t\t\t\t\t\t// Need to handle in set and make sure they are enforced as ints\n\t\t\t\t\t\t\tcategoryid: parseInt(model.get('categoryid')),\n\t\t\t\t\t\t\tparentid: parseInt(model.get('parentid')),\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\t// New - add to our collection\n\t\t\t\t\t\tif (isNew) {\n\t\t\t\t\t\t\tthis.selectedCategory = model.id;\n\t\t\t\t\t\t\t// Clone it so that different trees do not start tracking open and closestuff\n\t\t\t\t\t\t\tthis.add(model.clone());\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Top level edit\n\t\t\t\t\t\t// TODO: should we also be checking that the only ancestor matches Netx.category.options.categoryid?\n\t\t\t\t\t\t// If you have only one ancestor and its not the top level id - something is terribly wrong(?)\n\t\t\t\t\t\tvar ancestors = model.get('ancestors') || [];\n\t\t\t\t\t\tif (ancestors.length === 1 && ancestors[0] === topLevelId) {\n\t\t\t\t\t\t\tthis.updateTopLevelCategories();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t)\n\t\t\t// Simulate progress / syncing when moving a category (and its children)\n\t\t\t.listenTo(dispatcher, 'category:move:confirmed', () => {\n\t\t\t\t// Top level trees are the only responders\n\t\t\t\tif (this.categoryid === topLevelId) {\n\t\t\t\t\t// Mimic read\n\t\t\t\t\tthis.trigger('request:read', this, undefined, {});\n\t\t\t\t\tthis.listenToOnce(dispatcher, 'category:move:success', (cat) => {\n\t\t\t\t\t\tthis.stopListening(dispatcher, 'category:move:error');\n\t\t\t\t\t\t// Mimic sync\n\t\t\t\t\t\tthis.trigger('sync', this, cat, {});\n\t\t\t\t\t});\n\t\t\t\t\tthis.listenToOnce(dispatcher, 'category:move:error', (error) => {\n\t\t\t\t\t\tthis.stopListening(dispatcher, 'category:move:success');\n\t\t\t\t\t\t// This will trigger a fetch on us and get the sync event when done\n\t\t\t\t\t\tdispatcher.trigger('category:tree:refresh', this);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t})\n\t\t\t// Close all categories in tree\n\t\t\t// category:tree:reset means 'close all nodes'\n\t\t\t// category:tree:close:all means the same thing\n\t\t\t.listenTo(\n\t\t\t\tdispatcher,\n\t\t\t\t'category:tree:reset category:tree:close:all',\n\t\t\t\t(tree) => {\n\t\t\t\t\t// Make sure we are the tree this was requested on\n\t\t\t\t\tif (tree._listenId === this._listenId) {\n\t\t\t\t\t\tthis.closeAll();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t);\n\t}\n\n\t/**\n\t * @method\n\t */\n\tclearSearch() {\n\t\tthis.searchString = '';\n\t}\n\n\t/**\n\t * @method\n\t * @param {Netx.Collections.CategoryTreeNodes} tree Category tree to clone from\n\t */\n\tcloneFrom(tree) {\n\t\tthis.reset(\n\t\t\ttree.map((cat) => {\n\t\t\t\treturn cat.clone(this);\n\t\t\t}),\n\t\t);\n\t\tthis.disabledCategories = [];\n\t\tthis.selectedCategory = null;\n\t}\n\n\t/** @method */\n\tcloseAll() {\n\t\t// Calls the method on each model in this collection\n\t\tthis.invoke('close', {recursive: true});\n\t}\n\n\t/**\n\t * @method\n\t * @param {number} catid Category id\n\t * @param {object} opts Request options\n\t */\n\t// TODO: unwrap!\n\tfetchCategory(catid, opts = {}) {\n\t\t// See if we already have an instance of this category model\n\t\t// If so, run the fetch through it\n\t\tconst cat = this.get(catid);\n\t\tif (cat) {\n\t\t\treturn cat.fetch(_.extend({duplicateQueryPolicy: 'merge'}, opts));\n\t\t}\n\n\t\t// Set our target category id\n\t\tthis.targetCategory = catid;\n\n\t\t// Mimic read\n\t\t!opts.silent && this.trigger('request:read', this, null, opts);\n\n\t\t// Promise\n\t\treturn this._fetchCategory(\n\t\t\t_.extend({duplicateQueryPolicy: 'merge'}, opts),\n\t\t).then((response) => {\n\t\t\t// Unset target category\n\t\t\tthis.targetCategory = null;\n\t\t\t// Open if it was previously open\n\t\t\tconst cat = this.get(catid);\n\t\t\t// If cat was open, re-open\n\t\t\tcat && cat.get('children').length > 0 && cat.get('open') && cat.open();\n\t\t\t// Trigger sync if not silent\n\t\t\t!opts.silent && this.trigger('sync', this, response, opts);\n\n\t\t\treturn cat;\n\t\t});\n\t}\n\n\t/**\n\t * fetchChildren fetches all the child categories of the specified category.\n\t * @method\n\t * @param {number} catid Category id\n\t * @param {object} opts Request options\n\t * @fires module:category#category:fetchedChildren\n\t */\n\t// TODO: unwrap!\n\tfetchChildren(catid, opts = {}) {\n\t\tthis.targetCategory = catid;\n\n\t\tvar cat = this.get(catid);\n\t\tdispatcher.trigger('category:' + catid + ':fetchingChildren', this, opts);\n\n\t\t// Mimic read\n\t\t!opts.silent && cat && cat.trigger('request:read', cat, null, opts);\n\n\t\t// Promise\n\t\tconst p = this._fetchChildren(opts);\n\n\t\tp.then((response) => {\n\t\t\tdispatcher.trigger('category:' + catid + ':fetchedChildren');\n\t\t\tdispatcher.trigger('category:fetchedChildren', catid);\n\n\t\t\t// If cat was set to be open - open it (does not matter if it is already opened or not)\n\t\t\tcat = this.get(catid);\n\n\t\t\t!opts.silent && cat && cat.trigger('sync', cat, null, opts);\n\t\t});\n\n\t\treturn p;\n\t}\n\n\t/**\n\t * Find and return the selected category model\n\t * @method\n\t * @returns {object} category model\n\t */\n\tgetSelectedCategoryModel() {\n\t\tlet category;\n\t\t// DAM-15378 - if we are filtering, look in filteredCategories\n\t\tif (this.filteredCategories.length) {\n\t\t\tcategory = this.filteredCategories.get(this.selectedCategory);\n\t\t}\n\t\treturn category || this.get(this.selectedCategory);\n\t}\n\n\t/**\n\t * Take an array of objects, convert each into a Category model, and add them to our collection.\n\t * @method\n\t * @param {array} data Array of category data\n\t */\n\tparseCats(data) {\n\t\t// If empty - do a reset - otherwise we end up running through the add method a ton in childViews\n\t\t// and can not utilize the breakItUp method\n\t\tif (!this.length || this.resetCategories) {\n\t\t\tthis.reset(\n\t\t\t\t_.map(data, (c) => {\n\t\t\t\t\t// Make sure we maintain our childCategories and open references (both are client attributes and should not be affected by the return from the server)\n\t\t\t\t\treturn new this.model(c, {collection: this});\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\t\t// Just add\n\t\telse {\n\t\t\tthis.add(\n\t\t\t\t_.compact(\n\t\t\t\t\t_.map(data, (c) => {\n\t\t\t\t\t\t// Merge directly into any existing so that we may maintian the true reference and the attributes se ton the client side\n\t\t\t\t\t\tvar existing = this.get(c.categoryid);\n\t\t\t\t\t\tif (existing) {\n\t\t\t\t\t\t\texisting.set(c);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Make sure we maintain our childCategories and open references (both are client attributes and should not be affected by the return from the server)\n\t\t\t\t\t\t\treturn new this.model(\n\t\t\t\t\t\t\t\t_.extend({}, existing ? existing.attributes : {}, c),\n\t\t\t\t\t\t\t\t{collection: this},\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\tsilent: true,\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\n\t\t// Set to false as we are done - regardless\n\t\tthis.resetCategories = false;\n\n\t\treturn this.models;\n\t}\n\n\t/**\n\t * Take an array of objects, check if the category is already in Netx.category.tree, fetch any that are not,\n\t * convert each into a Category model, and add them to our collection.\n\t * @method\n\t * @param {array} data Array of category data\n\t * @param {object} opts Request options\n\t */\n\tparseSearchCats(data, opts) {\n\t\tconst promises = [];\n\t\tconst tree = Netx.category.tree;\n\t\tlet toAdd = [];\n\n\t\t// Loop over data and look for categories we will need to fetch from the server\n\t\tthis.neededCats = _.compact(\n\t\t\t_.map(data, (c) => {\n\t\t\t\tconst catId = parseInt(c.value);\n\t\t\t\tconst category = tree.get(catId);\n\t\t\t\t// Do not want the \"0\" category (more option)\n\t\t\t\tif (!isNaN(catId) && catId > 0) {\n\t\t\t\t\tif (!category || !category.attributes.length) {\n\t\t\t\t\t\treturn c.value;\n\t\t\t\t\t}\n\t\t\t\t\ttoAdd.push(category);\n\t\t\t\t}\n\t\t\t}),\n\t\t);\n\n\t\t// Need to fetch some needed categories\n\t\tif (this.neededCats.length) {\n\t\t\tpromises.push(\n\t\t\t\tthis._getCategoryObjects({...opts, duplicateQueryPolicy: 'abort'}).then(\n\t\t\t\t\t(response) => {\n\t\t\t\t\t\t// Turn response into an array of category models and concat them onto the categories we already had\n\t\t\t\t\t\ttoAdd = toAdd.concat(\n\t\t\t\t\t\t\tresponse.map((c) => new Model({...c, collection: this})),\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// We are already updating the `main` tree - don't do it twice\n\t\t\t\t\t\tif (this._listenId !== tree._listenId) {\n\t\t\t\t\t\t\tthis.reset(toAdd);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// Update `main` tree\n\t\t\t\t\t\t// tree.add( toAdd, { silent: true } );\n\t\t\t\t\t\tthis.neededCats = null;\n\t\t\t\t\t\treturn response;\n\t\t\t\t\t},\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t\t// We have everything we need\n\t\telse {\n\t\t\tthis.reset(toAdd);\n\t\t}\n\n\t\treturn $.when.apply($, promises);\n\t}\n\n\t/**\n\t * @method\n\t * @param {string} str Category name to search\n\t * @param {object} opts Request options\n\t */\n\t// TODO: unwrap!\n\tsearchCategoryName(str, opts = {}) {\n\t\tthis.searchString = str;\n\n\t\t// Run through our filtered collection - that is what it is for\n\t\tif (this.filteredCategories) {\n\t\t\treturn this.filteredCategories.searchCategoryName(str, opts);\n\t\t}\n\n\t\tthis.reset();\n\n\t\tif (!opts.silent) {\n\t\t\tthis.trigger('request:read', this, null, opts);\n\t\t}\n\t\treturn this._searchCategoryName(opts).then((response) => {\n\t\t\treturn this.parseSearchCats(response, opts).then((_response) => {\n\t\t\t\t!opts.silent && this.trigger('sync', this, _response, opts);\n\t\t\t\treturn _response;\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * @method\n\t * @param {array} cats Array of categories in the order desired\n\t * @param {object} opts Request options\n\t */\n\t// TODO: unwrap!\n\tsetCategoryOrder(cats, opts) {\n\t\tthis.order = _.map(cats, (catid, idx) => {\n\t\t\treturn {categoryid: catid, order: idx};\n\t\t});\n\t\treturn this._setCategoryOrder(opts).then(() => {\n\t\t\t// Update category models\n\t\t\t_.each(this.order, (orderObj) => {\n\t\t\t\tconst cat = this.get(orderObj.categoryid);\n\t\t\t\tcat && cat.set('orderby', orderObj.order);\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * Order in which to display the returned categories\n\t * 0 = manual (provided order);\n\t * 1 = alphabetical asc (normal);\n\t * 2 = alphabetical desc (reverse);\n\t * @method\n\t * @param {integer} type 0,1,2\n\t */\n\tsetCategoryOrderType(type) {\n\t\tthis.orderType = type;\n\t\treturn this.orderType;\n\t}\n\n\t/**\n\t * @method\n\t */\n\tupdateTopLevelCategories() {\n\t\tconst topLevelCategories = this.topLevelCategories;\n\t\ttopLevelCategories.reset(this.where({parentid: customConfig.categoryid}));\n\t\ttopLevelCategories.each((model) => {\n\t\t\tconst category = this.get(model.id);\n\t\t\tif (!category) return;\n\t\t\t// If we were open - re-open\n\t\t\t// Run through the controller instead of the model\n\t\t\tcategory.get('open') &&\n\t\t\t\tdispatcher.trigger('category:tree:open', model, this);\n\t\t});\n\t}\n\n\t/** @type {string} */\n\tstatic get __name__() {\n\t\treturn 'CategoryTreeNodes';\n\t}\n}\n","/**\n * @class\n */\nimport Base from 'netxcore@netx/core-category/collections/categoryTreeNodes';\n\nexport default class CategoryTreeNodes extends Base {\n\t/**\n\t * Do not return top level - 1 or \"the more option\"\n\t * @override\n\t */\n\tparseSearchCats(data) {\n\t\tdata = _.filter(data, (d) => d.value && d.value != 1);\n\t\treturn super.parseSearchCats(data);\n\t}\n}\n","export default {\n\t/**\n\t * CSS class used for active category\n\t * @const\n\t * @type {string}\n\t * @default\n\t */\n\tACTIVE_CLASS: 'active',\n\t/**\n\t * Is the CategoryAssets class extended from the MiniAssets class (instead of the Assets class)?\n\t * @const\n\t * @type {boolean}\n\t * @default\n\t */\n\tASSETS_MINI: false,\n\t/**\n\t * CSS class used for open tree nodes\n\t * @const\n\t * @type {string}\n\t * @default\n\t */\n\tTREE_NODE_OPEN_CLASS: 'open',\n\t/**\n\t * CSS class used for closed tree nodes\n\t * @const\n\t * @type {string}\n\t * @default\n\t */\n\tTREE_NODE_CLOSED_CLASS: 'closed',\n\t/**\n\t * CSS id used for the container element\n\t * @const\n\t * @type {string}\n\t * @default\n\t */\n\tTREE_ID: 'category-tree',\n\t/**\n\t * CSS id used for the category layer header\n\t * @const\n\t * @type {string}\n\t * @default\n\t */\n\tCATEGORY_HEADER_ID: 'category-header',\n\t/**\n\t * CSS id used for the category list container element\n\t * @const\n\t * @type {string}\n\t * @default\n\t */\n\tCATEGORY_LIST_ID: 'category-list',\n\t/**\n\t * CSS id used for the category asset list container element\n\t * @const\n\t * @type {string}\n\t * @default\n\t */\n\tASSET_LIST_ID: 'category-assets',\n\t/**\n\t * Should the asset list employ faceted search?\n\t * @const\n\t * @type {string}\n\t * @default\n\t */\n\tASSET_LIST_FACETED: false,\n\t/**\n\t * CSS id used for the breadcrumb container element\n\t * @const\n\t * @type {string}\n\t * @default\n\t */\n\tBREADCRUMB_ID: 'breadcrumb',\n\t/**\n\t * CSS id used for the category detail container element\n\t * @const\n\t * @type {string}\n\t * @default\n\t */\n\tCATEGORY_DETAIL_ID: 'category',\n\t/**\n\t * CSS id of the category container element\n\t * @const\n\t * @type {string}\n\t * @default\n\t */\n\tCONTAINER_ID: 'categories',\n\t/**\n\t * CSS id for the category edit container element\n\t * @const\n\t * @type {string}\n\t * @default\n\t */\n\tCATEGORY_EDIT_ID: 'category-edit',\n\t/**\n\t * Should we allow drag actions on categories?\n\t * @const\n\t * @type {boolean}\n\t * @default\n\t */\n\tDRAGGABLE: true,\n\t/**\n\t * Category edit view display type\n\t * @const\n\t * @type {boolean}\n\t * @default\n\t */\n\tMODAL: true,\n\t/**\n\t * Default category id\n\t * @const\n\t * @type {number}\n\t * @default\n\t */\n\tcategoryid: 1,\n\t/**\n\t * Allows categories to be only displayed in the tree or both the tree and gallery\n\t * @const\n\t * @type {boolean}\n\t * @default\n\t */\n\tdisplayCategoriesAsAssets: true,\n\t/**\n\t * Default repository directory path\n\t * @const\n\t * @type {string}\n\t * @default\n\t */\n\trepositorydirectory: '/',\n\t/**\n\t * Turns the category tree on or off\n\t * @const\n\t * @type {boolean}\n\t * @default\n\t */\n\ttree: true,\n\t/**\n\t * Sets the maximum depth to display in the category tree\n\t * @const\n\t * @type {string}\n\t * @default\n\t */\n\tTREE_MAX_DEPTH: null, // How many layers deep should we display?\n};\n","import Config from 'netxcore@netx/core-category/config';\n\nObject.assign(Config, {\n\t//ASSET_LIST_FACETED: true,\n\tMODAL: true, // the category editor window can be modal or full-screen\n\t/*\n\t * TREE_MAX_DEPTH: 1\n\t * tree: true,\n\t * displayCategoriesAsAssets: true\n\t * categoryid: 9\n\t */\n});\n\nexport default Config;\n","export default [\n\t/** @action */\n\t{\n\t\tevent: 'notification:remove',\n\t\tlabel: i18n.t('i18n.remove'),\n\t\twrapper(view, e) {\n\t\t\treturn [view.model];\n\t\t},\n\t},\n\t/** @action */\n\t{\n\t\tevent: 'notifications',\n\t\tlabel: i18n.t('i18n.viewNotifications'),\n\t},\n\t/** @action */\n\t{\n\t\tevent: 'notifications:route',\n\t\tlabel: i18n.t('i18n.viewNotifications'),\n\t\troute: 'notifications',\n\t},\n\t/** @action */\n\t{\n\t\tevent: 'notifications:routed',\n\t\tlabel: i18n.t('i18n.notifications'),\n\t},\n];\n","import actions from 'netxcore@netx/core-notification/actions';\n\nimport {icon} from '@fortawesome/fontawesome-svg-core';\nimport {faComment} from '@fortawesome/pro-regular-svg-icons';\n\nimport {extendBackboneActions} from '@netx/core/utils/extendBackboneActions';\n\nconst iconOpts = {classes: ['fa-fw']};\nconst icons = {\n\tfaComment: icon(faComment, iconOpts).html,\n};\n\n// Extend actions defined in core file\nlet newActions = extendBackboneActions(actions, [\n\t{\n\t\tevent: 'notifications:routed',\n\t\ticon: icons.faComment,\n\t\troute: 'notifications',\n\t},\n]);\n\nexport default newActions;\n","import Menu from '@netx/core/lib/netx-menu';\n\nexport default {};\n","export default {\n\t/**\n\t * notification route. (Lowercased.) Keep routes simple; they should just fire events handled elsewhere.\n\t * @route\n\t */\n\tnotifications() {\n\t\tdispatcher.trigger('notifications:routed');\n\t},\n};\n","/**\n * Notification module\n *\n * @module notification\n */\nimport {appViews} from '@netx/core-app/singletons/appViews';\nimport NotificationModel from './models/notification';\nimport {notifications} from './singletons/notification';\nimport {appRouter, getPrefixedLogger} from '@netx/core-next/instance';\n\nconst logger = getPrefixedLogger('notification');\n\nimport routes from './routes';\n\n// MODULE INITIALIZATION\n// =====================\n// All collection and model instances and event listeners\n// are created when the module is initialized.\n\n/**\n * Init handler\n * @event {@link module:imageEditor#imageEditor:init|imageEditor:init}\n * @param {object} options Normally undefined, but a manual init trigger may override properties of Netx.custom.imageEditor here.\n */\ndispatcher.once('notification:init', function () {\n\t// PUBLIC MODELS & COLLECTIONS\n\t// ===========================\n\t// Object initializations, etc, go here.\n\n\t// BEGIN DISPATCHER EVENT LISTENERS\n\t// ================================\n\t// All other module event listeners are added here, inside the init handler.\n\n\t/**\n\t * @event module:notification#notifications\n\t */\n\tdispatcher.on('notifications', function () {\n\t\tappRouter.navigate('notifications', {trigger: true});\n\t});\n\n\t/**\n\t * @event module:notification#notifications:show\n\t * @param {object} viewOptions View options\n\t */\n\tdispatcher.on('notifications:show', function (viewOptions) {\n\t\timport(\n\t\t\t/* webpackChunkName: \"view-notificationList\" */ './views/notificationListView'\n\t\t).then((View) => {\n\t\t\tappViews.add({\n\t\t\t\tviewClass: View.default,\n\t\t\t\tshowActions: ['notifications:show'],\n\t\t\t\tviewOptions: viewOptions,\n\t\t\t});\n\t\t});\n\t});\n\n\t/**\n\t * @event module:notification#notifications:routed\n\t * @fires module:notification#notifications:show\n\t */\n\tdispatcher.on('notifications:routed', function () {\n\t\t// Show\n\t\tdispatcher.trigger('notifications:show', {\n\t\t\tcollection: notifications,\n\t\t});\n\t});\n\n\t/**\n\t * @event module:notification#notification\n\t * @param {object} options Notification options\n\t */\n\tdispatcher.on('notification', function (attributes, options) {\n\t\tconst model = new NotificationModel(attributes, {\n\t\t\tstoreOptions: options,\n\t\t});\n\t\t// Give the notification model a chance to deal with initialization completely\n\t\t_.defer(function () {\n\t\t\tnotifications.add(model);\n\t\t});\n\t});\n\t/**\n\t * @event module:notification#notification:remove\n\t * @param {Netx.Models.Notification} model Notification model\n\t */\n\tdispatcher.on('notification:remove', function (model) {\n\t\tnotifications.remove(model);\n\t});\n\n\t// END DISPATCHER EVENT LISTENERS\n\n\t// LAST STEPS:\n\t// non-core extensions may listen on this event to hook into the init process:\n\tdispatcher.trigger('notification:extend');\n\t// Tell the module loader we're initialized.\n\tdispatcher.trigger('notification:initialized');\n});\n\nexport default {\n\tinitialize(opts) {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tdispatcher.once('notification:initialized', () => {\n\t\t\t\tresolve(routes);\n\t\t\t});\n\t\t\tdispatcher.trigger('notification:init');\n\t\t});\n\t},\n};\n","/**\n * Notification module\n */\n\nimport actions from './actions';\nimport menus from './menus';\nimport controller from './controller';\nimport {RegisterLegacyAction} from '@netx/core/legacyActionManager';\nimport {addMenus} from '@netx/core/legacyMenuManager';\n\n/**\n * @property {object} exports - Our module exports\n * @property {string} exports.namespace - Module namespace\n * @property {function} exports.initialize - Module initializer\n */\nexport default {\n\tnamespace: 'notification',\n\tinitialize() {\n\t\t// Register actions\n\t\tRegisterLegacyAction(actions);\n\t\t// Extend menus\n\t\taddMenus(menus);\n\n\t\treturn controller.initialize();\n\t},\n};\n","import {appRouter} from '@netx/core-next/instance/router';\nimport {favoriteSavedCarts} from '@netx/core-cart/singletons/savedCarts';\nimport {getPreference} from '@netx/core-user-next/utils/getPreference';\nimport {\n\tcurrentUserMeetsUserLevel,\n\tUserLevel,\n} from '@netx/core-user-next/utils/currentUserMeetsUserLevel';\nimport {dispatcher} from '@netx/core-next/instance/dispatcher';\n\n//////////////////////////\n// Underscore mixins\n//////////////////////////\n_.mixin({\n\toverrideDefaultIcon(path, override) {\n\t\tif (!path || (!path.includes('icons/') && !override)) return '';\n\t\treturn (\n\t\t\t'custom-icon-' +\n\t\t\t_.toCamelCase(path.replace(/^\\S+icons\\//, '').replace(/\\.\\S+$/, ''))\n\t\t);\n\t},\n});\n//////////////////////////\n// !Underscore mixins\n//////////////////////////\n\n//////////////////////////\n// Event Listeners\n//////////////////////////\n// /**\n// * A catch all listener\n// * @event all\n// */\n// dispatcher.on('all', function(eventName) {\n// \tconsole.debug('>>EVENT ' + eventName);\n// } );\n\n// Sidebar tab custom events\n\n/** @event module:nx#nx:home */\ndispatcher.on('nx:home', function () {\n\tappRouter.home();\n});\n\ndispatcher.on('nx:collections', function () {\n\tfavoriteSavedCarts.fetch();\n});\n\n/** @event module:nx#nx:notifications */\ndispatcher.on('nx:notifications', function () {\n\tappRouter.navigate('notifications', {trigger: true});\n});\n\n//////////////////////////\n// !Event Listeners\n//////////////////////////\n\n/**\n * @event netx:app:modules\n * @fires module:netx#netx:load:module\n * @fires module:app#app:ready\n */\ndispatcher.once('netx:app:modules', () => {\n\t// This is the pattern for defining all modules that must load as part of your app\n\t// after the user is validated\n\t// Keep in mind we still have some global variable tangles and some modules have\n\t// to be defined before others\n\tPromise.all([\n\t\timport(/* webpackChunkName: \"post-login-app\" */ '@netx/core-cart'),\n\t\timport(/* webpackChunkName: \"post-login-app\" */ '@netx/core-category'),\n\t\timport(/* webpackChunkName: \"post-login-app\" */ '@netx/core-dashboard'),\n\t\timport(/* webpackChunkName: \"post-login-app\" */ '@netx/core-grid'),\n\t\timport(/* webpackChunkName: \"post-login-app\" */ '@netx/core-share'),\n\t\timport(/* webpackChunkName: \"post-login-app\" */ '@netx/core-user'),\n\t]).then((modules) => {\n\t\tdispatcher.trigger(\n\t\t\t'netx:load:module',\n\t\t\tmodules.map((m) => m.default),\n\t\t\t{\n\t\t\t\tinitialized() {\n\t\t\t\t\t// Load any modules that are conditional (and cannot be deferred for later)\n\t\t\t\t\tconst promises = [];\n\n\t\t\t\t\tif (getPreference('review.enabled', true)) {\n\t\t\t\t\t\tpromises.push(\n\t\t\t\t\t\t\tnew Promise((resolve, reject) => {\n\t\t\t\t\t\t\t\timport(\n\t\t\t\t\t\t\t\t\t/* webpackChunkName: \"project\" */ '@netx/core-project'\n\t\t\t\t\t\t\t\t).then((Project) => {\n\t\t\t\t\t\t\t\t\tdispatcher.trigger('netx:load:module', Project.default, {\n\t\t\t\t\t\t\t\t\t\tinitialized: resolve,\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\t// Consumers or above (bulk selection uploader)\n\t\t\t\t\tif (currentUserMeetsUserLevel(UserLevel.CONSUMER)) {\n\t\t\t\t\t\tpromises.push(\n\t\t\t\t\t\t\tnew Promise((resolve, reject) => {\n\t\t\t\t\t\t\t\timport(\n\t\t\t\t\t\t\t\t\t/* webpackChunkName: \"upload\" */ '@netx/core-upload'\n\t\t\t\t\t\t\t\t).then((Upload) => {\n\t\t\t\t\t\t\t\t\tdispatcher.trigger('netx:load:module', Upload.default, {\n\t\t\t\t\t\t\t\t\t\tinitialized: resolve,\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\t// Always dispatch `app:ready` when done\n\t\t\t\t\tPromise.all(promises).then(() => {\n\t\t\t\t\t\tdispatcher.trigger('app:ready', true);\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\t});\n});\n\n//////////////////////////\n// NetX Ready\n//////////////////////////\n/**\n * Custom events and functions should be utilized within the \"ready\" event\n * @event module:app#app:ready\n */\ndispatcher.once('app:ready', function () {\n\t/**\n\t * Build UI\n\t *\n\t * This is the entry point for building your application UI.\n\t * Place all custom code below this comment block.\n\t */\n\t// Custom Code Here\n});\n//////////////////////////\n// !NetX Ready\n//////////////////////////\n","const NAME = 'materialCheckboxes';\n\nimport './css/materialCheckboxes.less';\n\nimport {MDCFormField} from '@material/form-field';\nimport {MDCCheckbox} from '@material/checkbox';\nimport {purgeEls} from '@netx/core/utils/purgeEls';\n\nexport default function (target) {\n\tif (!target || target.hasFunctionality(NAME)) return target;\n\n\ttarget.addInitializer((instance, opts = {}) => {\n\t\tlet materialCheckboxes = [];\n\n\t\tconst cleanUp = () => {\n\t\t\t_.invoke(materialCheckboxes, 'destroy');\n\t\t\tmaterialCheckboxes = [];\n\t\t};\n\n\t\t// Hey, listen!\n\t\tinstance\n\t\t\t.on('preRenderHook', cleanUp)\n\t\t\t.on('removeHook', cleanUp)\n\t\t\t.on('postRenderHook', () => {\n\t\t\t\tpurgeEls(\n\t\t\t\t\t[...instance.el.querySelectorAll('.mdc-form-field')],\n\t\t\t\t\tinstance.getExcludedViews(),\n\t\t\t\t).forEach((field) => {\n\t\t\t\t\tconst checkboxEl = field.querySelector('.mdc-checkbox');\n\t\t\t\t\tif (!checkboxEl) return;\n\n\t\t\t\t\tconst checkbox = new MDCCheckbox(checkboxEl);\n\t\t\t\t\tmaterialCheckboxes.push(checkbox);\n\n\t\t\t\t\tconst formField = new MDCFormField(field);\n\t\t\t\t\tformField.input = checkbox;\n\t\t\t\t\tmaterialCheckboxes.push(formField);\n\t\t\t\t});\n\t\t\t});\n\t}, NAME);\n\n\treturn target;\n}\n","const NAME = 'materialMenus';\n\nimport {MDCMenu} from '@material/menu';\nimport {MDCRipple} from '@material/ripple';\nimport {MDCMenuSurfaceFoundation} from '@material/menu-surface/foundation';\nimport purgeEls from '@netx/core/utils/purgeEls';\nimport {simulateClickBody} from '@netx/core-next/utils/browser';\n\nimport {arrowNavigationPatch} from './patches/mdc-list';\n\nclass Menu {\n\t/**\n\t * @method\n\t */\n\tconstructor(anchorEl, view, opts = {}) {\n\t\tthis.anchorEl = anchorEl;\n\t\tthis.view = view;\n\n\t\tconst el = (this.el = anchorEl.querySelector('.mdc-menu-surface'));\n\t\tconst dropdownToggle = (this.dropdownToggle =\n\t\t\tel.parentElement.querySelector('.menu-button, .dropdown-toggle'));\n\n\t\tthis.hoist =\n\t\t\topts.hoist === true || el.classList.contains('mdc-menu--hoist');\n\t\tthis.horizontal =\n\t\t\topts.horizontal === true || el.classList.contains('mdc-menu--horizontal');\n\t\tthis.destroyOnClose = opts.destroyOnClose === true;\n\n\t\tel.addEventListener(\n\t\t\t'MDCMenuSurface:closed',\n\t\t\t(this.onClosed = this.closed.bind(this)),\n\t\t);\n\t\tel.addEventListener(\n\t\t\t'MDCMenuSurface:opened',\n\t\t\t(this.onOpen = this.opened.bind(this)),\n\t\t);\n\t\tel.addEventListener(\n\t\t\t'MDCList:action',\n\t\t\t(this.onAction = this.itemSelected.bind(this)),\n\t\t);\n\n\t\t// For our \"special\" menus that have dropdown in them\n\t\t// we need to not do this but until the facets refactor to the sidebar\n\t\t// we need this\n\t\t$(el)\n\t\t\t.on('shown.bs.dropdown', () => {\n\t\t\t\tthis.recalculatePosition();\n\t\t\t})\n\t\t\t.on('hidden.bs.dropdown', () => {\n\t\t\t\tthis.recalculatePosition();\n\t\t\t});\n\n\t\tel.addEventListener('click', (this.onClick = this.clicked.bind(this)));\n\t\tel.addEventListener('touchstart', (this.onTap = this.clicked.bind(this)));\n\t\tif (dropdownToggle) {\n\t\t\t// If in an mdc-list-item the ripple gets double applied\n\t\t\tif (!dropdownToggle.closest('.mdc-list-item__meta')) {\n\t\t\t\tthis.ripple = new MDCRipple(dropdownToggle);\n\t\t\t\tthis.ripple.unbounded = true;\n\t\t\t}\n\n\t\t\tdropdownToggle.addEventListener(\n\t\t\t\t'click',\n\t\t\t\t(this.onToggleClick = this.toggleClicked.bind(this)),\n\t\t\t);\n\t\t\tdropdownToggle.addEventListener(\n\t\t\t\t'touchstart',\n\t\t\t\t(this.onToggleTap = this.toggleClicked.bind(this)),\n\t\t\t);\n\t\t}\n\n\t\tif (!this.hoist) {\n\t\t\tthis.menu = this.createMenu(el); //new MDCMenu(el);\n\t\t}\n\n\t\tthis._open = false;\n\n\t\tif (\n\t\t\topts.autoOpen === true ||\n\t\t\tel.classList.contains('mdc-menu-surface--auto-open')\n\t\t) {\n\t\t\tthis.open();\n\t\t}\n\t}\n\n\t/** @method */\n\tcleanUp() {\n\t\tif (this.backdrop) {\n\t\t\tdocument.body.removeChild(this.backdrop);\n\t\t\tdelete this.backdrop;\n\t\t}\n\n\t\tconst menu = this.menu;\n\t\tif (!menu) return;\n\n\t\t// Put the element back - would be nice if the mdc-menu-surface did this\n\t\t// maybe they do and i missed it (like a config or whatever)\n\t\tif (this.hoist && menu.menuSurface_.foundation_.isHoistedElement_) {\n\t\t\tthis.anchorEl.appendChild(menu.root_.parentNode.removeChild(menu.root_));\n\t\t}\n\n\t\tmenu.destroy();\n\t\tdelete this.menu;\n\t}\n\n\t/**\n\t * @method\n\t * @param {event} e `click` event\n\t */\n\tclicked(e) {\n\t\t// When we click on an action our event listeners in core fire\n\t\t// but mdc list items (which live in mdc menus) can be triggered\n\t\t// by `space`, `enter` and `click`\n\t\t// So, when a click occurs we do not want to fire the action off in\n\t\t// here as to not have it fire twice\n\t\t// When we rework our actions we should keep this in mind\n\t\tif (e.target.classList.contains('nx-action')) {\n\t\t\tthis._ignoreItemSelection = true;\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis._ignoreItemSelection = false;\n\t\t\t}, 20);\n\t\t}\n\t}\n\n\t/** @method */\n\tclose() {\n\t\tconst menu = this.menu;\n\t\tif (!menu || !menu.open) return;\n\n\t\tmenu.open = false;\n\t}\n\n\t/** @method */\n\tclosed() {\n\t\tif (!this._open) return;\n\t\tthis._open = false;\n\t\tthis.anchorEl.classList.remove('open');\n\n\t\tif (this.view.onMenuClose) {\n\t\t\tthis.view.onMenuClose(this.menu);\n\t\t}\n\n\t\tif (this.destroyOnClose) {\n\t\t\tthis.destroy();\n\t\t} else if (this.hoist) {\n\t\t\tthis.cleanUp();\n\t\t}\n\t}\n\n\t/** @method */\n\tcreateMenu() {\n\t\tconst menu = (this.menu = new MDCMenu(this.el));\n\t\tarrowNavigationPatch(menu.list_);\n\n\t\t// DAM-15440 - if the menu is open when the view re-renders,\n\t\t// the menu will not reopen, because this.menu.open remains falsely true\n\t\tmenu.open = false;\n\n\t\tif (this.horizontal) {\n\t\t\tmenu.list_.foundation_.setVerticalOrientation(false);\n\t\t}\n\n\t\t// Need to look into mdc's pull request\n\t\t// HACK\n\t\t// Support mobile \"tap\"\n\t\tmenu.menuSurface_.handleBodyTap_ = (evt) => {\n\t\t\treturn menu.menuSurface_.foundation_.handleBodyClick(evt);\n\t\t};\n\t\tmenu.menuSurface_.registerBodyTapListener_ = () => {\n\t\t\treturn document.body.addEventListener(\n\t\t\t\t'touchstart',\n\t\t\t\tmenu.menuSurface_.handleBodyTap_,\n\t\t\t);\n\t\t};\n\t\tmenu.menuSurface_.deregisterBodyTapListener_ = function () {\n\t\t\treturn document.body.removeEventListener(\n\t\t\t\t'touchstart',\n\t\t\t\tmenu.menuSurface_.handleBodyTap_,\n\t\t\t);\n\t\t};\n\t\tmenu.menuSurface_.listen(\n\t\t\tMDCMenuSurfaceFoundation.strings.OPENED_EVENT,\n\t\t\tmenu.menuSurface_.registerBodyTapListener_,\n\t\t);\n\t\tmenu.menuSurface_.listen(\n\t\t\tMDCMenuSurfaceFoundation.strings.CLOSED_EVENT,\n\t\t\tmenu.menuSurface_.deregisterBodyTapListener_,\n\t\t);\n\n\t\t// menu-surface/foundation is not checking if the menu is even open. So, it will\n\t\t// will add the `mdc-menu-surface--open` modifier class and immediately remove it\n\t\t// (as the menu animation does not need to occur), which makes the menu toggle light up\n\t\t// We use thae `mdc-menu-surface--open` to display that a menu toggle is active\n\t\tmenu.menuSurface_.foundation_.close = _.wrap(\n\t\t\tmenu.menuSurface_.foundation_.close,\n\t\t\t(close) => {\n\t\t\t\tif (!menu.open) return;\n\n\t\t\t\t// On mobile we wind up clicking on any element that is behind the menu\n\t\t\t\t// in that click position - do not allow any interactive clicks for 300ms\n\t\t\t\tthis.reEnableTouchEventsTimeout &&\n\t\t\t\t\tclearTimeout(this.reEnableTouchEventsTimeout);\n\t\t\t\tdocument.body.style['pointer-events'] = 'none';\n\n\t\t\t\tthis.reEnableTouchEventsTimeout = setTimeout(() => {\n\t\t\t\t\tdocument.body.style['pointer-events'] = '';\n\t\t\t\t}, 300);\n\n\t\t\t\tclose.call(menu.menuSurface_.foundation_);\n\t\t\t},\n\t\t);\n\n\t\treturn menu;\n\t}\n\n\t/** @method */\n\tdestroy() {\n\t\tif (this.dropdownToggle) {\n\t\t\tthis.dropdownToggle.removeEventListener('click', this.onToggleClick);\n\t\t\tthis.dropdownToggle.removeEventListener('touchstart', this.onToggleTap);\n\t\t\tdelete this.dropdownToggle;\n\t\t}\n\n\t\tthis.cleanUp();\n\t\tdelete this.menu;\n\n\t\tthis.ripple && this.ripple.destroy();\n\n\t\tconst el = this.el;\n\t\tel.removeEventListener('click', this.onClick);\n\t\tel.removeEventListener('touchstart', this.onTap);\n\t\tel.removeEventListener('MDCList:action', this.onAction);\n\t\tel.removeEventListener('MDCMenuSurface:closed', this.onClosed);\n\t\tel.removeEventListener('MDCMenuSurface:opened', this.onOpen);\n\t\t$(el).off('.bs.dropdown');\n\n\t\tdelete this.anchorEl;\n\t\tdelete this.el;\n\t\tdelete this.view;\n\t}\n\n\t/**\n\t * @method\n\t * @param {event} e `MDCList:action` event\n\t */\n\titemSelected(e) {\n\t\t// Defer because our `click` event comes immediately after `MDCList:action`\n\t\t// we want to know if it was via a `click` or other (`space`, `enter`)\n\t\t_.defer(() => {\n\t\t\tif (!this._ignoreItemSelection) {\n\t\t\t\tconst item = this.menu.list_.listElements[e.detail.index];\n\t\t\t\tif (!item || !item.classList.contains('nx-action')) {\n\t\t\t\t\tif (this.view.onMenuItemSelect) {\n\t\t\t\t\t\tthis.view.onMenuItemSelect(item, this.menu);\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Pass along to our action event handler\n\t\t\t\tconst evt = new MouseEvent('click', {\n\t\t\t\t\tbubbles: false,\n\t\t\t\t\tcancelable: true,\n\t\t\t\t\tview: window,\n\t\t\t\t});\n\t\t\t\titem.dispatchEvent(evt);\n\t\t\t}\n\t\t});\n\t}\n\n\t/** @method */\n\topen() {\n\t\tconst el = this.el;\n\t\tlet menu = this.menu;\n\n\t\tsimulateClickBody();\n\n\t\tif (menu && menu.open) return;\n\n\t\tif (this.hoist) {\n\t\t\tmenu = this.createMenu();\n\t\t\tmenu.setFixedPosition(true);\n\t\t\tmenu.hoistMenuToBody();\n\n\t\t\tconst backdrop = (this.backdrop = document.createElement('div'));\n\t\t\tbackdrop.classList.add('mdc-menu-backdrop');\n\t\t\tdocument.body.appendChild(backdrop);\n\n\t\t\tconst cancelItem = el.querySelector('.mdc-list-item.cancel');\n\t\t\tcancelItem &&\n\t\t\t\tcancelItem.classList.toggle(\n\t\t\t\t\t'mdc-list-item--disabled',\n\t\t\t\t\twindow.innerWidth >= 767,\n\t\t\t\t);\n\t\t}\n\n\t\tif (!menu || menu.open) return;\n\n\t\tthis.reEnableTouchEventsTimeout &&\n\t\t\tclearTimeout(this.reEnableTouchEventsTimeout);\n\t\tmenu.root_.style['pointer-events'] = 'none';\n\n\t\tmenu.open = true;\n\t}\n\n\t/** @method */\n\topened() {\n\t\tif (this._open) return;\n\n\t\tconst menu = this.menu;\n\n\t\tthis._open = true;\n\t\tthis.anchorEl.classList.add('open');\n\n\t\tif (this.view.onMenuOpen) {\n\t\t\tthis.view.onMenuOpen(menu);\n\t\t}\n\n\t\tthis.reEnableTouchEventsTimeout &&\n\t\t\tclearTimeout(this.reEnableTouchEventsTimeout);\n\t\tthis.reEnableTouchEventsTimeout = setTimeout(() => {\n\t\t\tmenu.root_.style['pointer-events'] = '';\n\t\t}, 300);\n\t}\n\n\t/** @method */\n\trecalculatePosition() {\n\t\tif (!this.menu || !this._open) return;\n\t\tconst menuSurface = this.menu.menuSurface_.foundation_;\n\t\tmenuSurface.dimensions_ = menuSurface.adapter_.getInnerDimensions();\n\t\tmenuSurface.autoPosition_();\n\t}\n\n\t/** @method */\n\ttoggle() {\n\t\tconst menu = this.menu;\n\t\t!menu || !menu.open ? this.open() : this.close();\n\t}\n\n\t/**\n\t * @method\n\t * @param {event} e `click` event\n\t */\n\ttoggleClicked(e) {\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\n\t\tthis.open();\n\t}\n}\n\nexport default function (target) {\n\tif (!target || target.hasFunctionality(NAME)) return target;\n\n\ttarget.addInitializer((instance, opts = {}) => {\n\t\tlet materialMenus = [];\n\n\t\tconst cleanUp = () => {\n\t\t\t_.invoke(materialMenus, 'destroy');\n\t\t\tmaterialMenus = [];\n\t\t};\n\n\t\tinstance.addMaterialMenu = (el, show) => {\n\t\t\tconst menu = new Menu(el, instance);\n\t\t\tmaterialMenus.push(menu);\n\t\t\tshow && menu.open();\n\t\t};\n\n\t\t// Hey, listen!\n\t\tinstance\n\t\t\t.on('preRenderHook', cleanUp)\n\t\t\t.on('removeHook', cleanUp)\n\t\t\t.on('renderedHook', () => {\n\t\t\t\tconst el = instance.el;\n\t\t\t\tconst els = el.classList.contains('mdc-menu-surface--anchor')\n\t\t\t\t\t? [el]\n\t\t\t\t\t: purgeEls(\n\t\t\t\t\t\t\t[...instance.el.querySelectorAll('.mdc-menu-surface--anchor')],\n\t\t\t\t\t\t\tinstance.getExcludedViews(),\n\t\t\t\t\t );\n\t\t\t\tmaterialMenus = els.map((anchorEl) => {\n\t\t\t\t\treturn new Menu(anchorEl, instance, opts.materialMenus);\n\t\t\t\t});\n\t\t\t});\n\t}, NAME);\n\n\treturn target;\n}\n","const NAME = 'materialRipples';\n\nimport {MDCRipple} from '@material/ripple';\nimport {purgeEls} from '@netx/core/utils';\n\nexport default function (target) {\n\tif (!target || target.hasFunctionality(NAME)) return target;\n\n\ttarget.addInitializer((instance, opts = {}) => {\n\t\tlet materialRipples = [];\n\n\t\tconst cleanUp = () => {\n\t\t\t_.invoke(materialRipples, 'destroy');\n\t\t\tmaterialRipples = [];\n\t\t};\n\n\t\t// Hey, listen!\n\t\tinstance\n\t\t\t.on('preRenderHook', cleanUp)\n\t\t\t.on('removeHook', cleanUp)\n\t\t\t.on('postRenderHook', () => {\n\t\t\t\tmaterialRipples = purgeEls(\n\t\t\t\t\t[...instance.el.querySelectorAll('.mdc-ripple-surface')],\n\t\t\t\t\tinstance.getExcludedViews(),\n\t\t\t\t).map((el) => new MDCRipple(el));\n\t\t\t})\n\t\t\t.on('materialRipples:ripple', (el) => {\n\t\t\t\tconst ripple = materialRipples.find((ripple) => ripple.root_ === el);\n\t\t\t\tif (!ripple) return;\n\n\t\t\t\tconst foundation = ripple.foundation_;\n\t\t\t\tfoundation.activate();\n\t\t\t\tfoundation.deactivate();\n\t\t\t});\n\t}, NAME);\n\n\treturn target;\n}\n","import {cssClasses, numbers} from '@material/textfield/constants';\n\n/**\n * As of v3 there is no mechanism for material components to know that measurable widths\n * have changed - so if a textfield has a value, is a textarea, and was rendered prior to\n * being measurable in the DOM, we wind up with a missing floating label\n * This will hopefully go away as we switch over to react\n * @function\n * @param {MDCTextfield} textfield Instance of mdc-textfield\n */\nexport const notchOutlinePatch = (textfield) => {\n\t// Do not patch twice\n\tif (!textfield || textfield.notchOutlinePatched_) return;\n\ttextfield.notchOutlinePatched_ = true;\n\n\tconst foundation = textfield.foundation_;\n\tconst adapter = foundation.adapter_;\n\tfoundation.notchOutline = _.wrap(\n\t\tfoundation.notchOutline,\n\t\t(notchOutline, openNotch) => {\n\t\t\ttextfield.notchOutlinePatchTimeout &&\n\t\t\t\tclearTimeout(textfield.notchOutlinePatchTimeout);\n\t\t\tif (!adapter.hasOutline()) return;\n\t\t\tif (!openNotch) return notchOutline.call(foundation, openNotch);\n\n\t\t\tconst isDense = adapter.hasClass(cssClasses.DENSE);\n\t\t\tconst labelScale = isDense\n\t\t\t\t? numbers.DENSE_LABEL_SCALE\n\t\t\t\t: numbers.LABEL_SCALE;\n\t\t\tconst labelWidth = adapter.getLabelWidth() * labelScale;\n\t\t\tif (!labelWidth || isNaN(labelWidth)) {\n\t\t\t\treturn (textfield.notchOutlinePatchTimeout = setTimeout(() => {\n\t\t\t\t\tfoundation.notchOutline(openNotch);\n\t\t\t\t}, 100));\n\t\t\t}\n\t\t\tadapter.notchOutline(labelWidth);\n\t\t},\n\t);\n\n\t// Make sure we clean up our timer\n\tfoundation.destroy = _.wrap(foundation.destroy, (destroy) => {\n\t\ttextfield.notchOutlinePatchTimeout &&\n\t\t\tclearTimeout(textfield.notchOutlinePatchTimeout);\n\t\tdestroy.call(foundation);\n\t});\n\n\t// Fun hack for our inputs that have floating labels regardless of having a value or not\n\tconst forceFloat =\n\t\tadapter.hasLabel() &&\n\t\ttextfield.label_.root_.classList.contains(\n\t\t\t'mdc-floating-label--float-above',\n\t\t);\n\n\t// Since this patch is applied after init and init calls float label if there is a value, call it again\n\t// As seen in foundation.init:\n\tif (adapter.isFocused()) {\n\t\tfoundation.inputFocusHandler_();\n\t} else if (forceFloat || (adapter.hasLabel() && foundation.shouldFloat)) {\n\t\tfoundation.notchOutline(true);\n\t\tadapter.floatLabel(true);\n\t}\n};\n","const NAME = 'materialTextFields';\n\nimport {MDCTextField} from '@material/textfield';\nimport {purgeEls} from '@netx/core/utils';\nimport {notchOutlinePatch} from './patches/mdc-textfield';\n\nexport default function (target) {\n\tif (!target || target.hasFunctionality(NAME)) return target;\n\n\ttarget.addInitializer((instance, opts = {}) => {\n\t\tlet materialTextFields = [];\n\t\tlet dateComponents = [];\n\n\t\tconst cleanUp = () => {\n\t\t\t_.invoke(materialTextFields, 'destroy');\n\t\t\tmaterialTextFields = [];\n\t\t\tdateComponents = [];\n\t\t};\n\n\t\tconst getMaterailTextField = (el) => {\n\t\t\tfor (let i = 0, c = materialTextFields.length; i < c; i++) {\n\t\t\t\tconst textField = materialTextFields[i];\n\t\t\t\tif (textField.input_ === el) {\n\t\t\t\t\treturn textField;\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tinstance.events = {\n\t\t\t'change .mdc-text-field [data-provide=\"datepicker\"]'(e) {\n\t\t\t\tconst target = e.currentTarget;\n\t\t\t\tdateComponents.forEach((textField) => {\n\t\t\t\t\tif (textField.input_ !== target) return;\n\t\t\t\t\t// This will fix the floating label and validation\n\t\t\t\t\tconst foundation = textField.foundation_;\n\t\t\t\t\tfoundation.deactivateFocus();\n\t\t\t\t});\n\t\t\t},\n\t\t\t...instance.events,\n\t\t};\n\n\t\tinstance.materialTextFieldFloatLabel = (el, shouldFloat = false) => {\n\t\t\tconst textField = getMaterailTextField(el);\n\t\t\tif (!textField || !textField.label_) return;\n\t\t\ttextField.label_.float(shouldFloat);\n\t\t\ttextField.foundation_.notchOutline &&\n\t\t\t\ttextField.foundation_.notchOutline(shouldFloat);\n\t\t};\n\n\t\t// Hey, listen!\n\t\tinstance\n\t\t\t.on('preRenderHook', cleanUp)\n\t\t\t.on('removeHook', cleanUp)\n\t\t\t.on('postRenderHook', () => {\n\t\t\t\tdateComponents = [];\n\t\t\t\tmaterialTextFields = purgeEls(\n\t\t\t\t\t[...instance.el.querySelectorAll('.mdc-text-field')],\n\t\t\t\t\tinstance.getExcludedViews(),\n\t\t\t\t).map((field) => {\n\t\t\t\t\t// Hack for typeahead - we want the styles but mdc will grab it first (since it gets prepended)\n\t\t\t\t\t// Remove the class before creating mdc-text-field and then re-add\n\t\t\t\t\tconst ttInputEl = field.querySelector(\n\t\t\t\t\t\t'.mdc-text-field__input.tt-hint',\n\t\t\t\t\t);\n\t\t\t\t\tif (ttInputEl) {\n\t\t\t\t\t\tttInputEl.classList.remove('mdc-text-field__input');\n\t\t\t\t\t}\n\n\t\t\t\t\tconst inputEl = field.querySelector('.mdc-text-field__input');\n\t\t\t\t\tif (!inputEl) return;\n\n\t\t\t\t\tconst textField = new MDCTextField(field);\n\t\t\t\t\tif (field.classList.contains('mdc-text-field--textarea')) {\n\t\t\t\t\t\tnotchOutlinePatch(textField);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (inputEl.getAttribute('data-provide') === 'datepicker') {\n\t\t\t\t\t\tdateComponents.push(textField);\n\t\t\t\t\t}\n\n\t\t\t\t\t// Put the class back for styles\n\t\t\t\t\tif (ttInputEl) {\n\t\t\t\t\t\tttInputEl.classList.add('mdc-text-field__input');\n\t\t\t\t\t}\n\n\t\t\t\t\treturn textField;\n\t\t\t\t});\n\t\t\t});\n\t}, NAME);\n\n\treturn target;\n}\n","import {cssClasses, strings} from '@material/list/constants';\n\n/**\n * As of v2 they stopped checking disabled items\n * I can understand this from an accessibility standpoint, in a world where disabled items are visible\n * but in our theme we hide disabled list tiems from the user\n * @function\n * @param {MDCList} list Instance of mdc-list\n */\nexport const arrowNavigationPatch = (list) => {\n\t// Do not patch twice\n\tif (!list || list.arrowNavaigationPatched_) return;\n\n\tlist.arrowNavaigationPatched_ = true;\n\n\tconst foundation = list.foundation_;\n\n\tfoundation.focusPrevElement = _.wrap(\n\t\tfoundation.focusPrevElement,\n\t\t(focusPrevElement, index) => {\n\t\t\tlet prevIndex = index - 1;\n\t\t\tif (prevIndex < 0) {\n\t\t\t\t// Return early because first item is already focused.\n\t\t\t\tif (!foundation.wrapFocus_) return index;\n\t\t\t\tprevIndex = foundation.adapter_.getListItemCount() - 1;\n\t\t\t}\n\n\t\t\t// Skip disabled items\n\t\t\tconst listItemEl = list.listElements[prevIndex];\n\t\t\tif (\n\t\t\t\tlistItemEl &&\n\t\t\t\tlistItemEl.classList.contains(cssClasses.LIST_ITEM_DISABLED_CLASS)\n\t\t\t) {\n\t\t\t\treturn foundation.focusPrevElement(prevIndex);\n\t\t\t}\n\n\t\t\t// Carry on\n\t\t\treturn focusPrevElement.call(foundation, index);\n\t\t},\n\t);\n\n\tfoundation.focusNextElement = _.wrap(\n\t\tfoundation.focusNextElement,\n\t\t(focusNextElement, index) => {\n\t\t\tconst count = foundation.adapter_.getListItemCount();\n\t\t\tlet nextIndex = index + 1;\n\t\t\tif (nextIndex >= count) {\n\t\t\t\t// Return early because last item is already focused.\n\t\t\t\tif (!foundation.wrapFocus_) return index;\n\t\t\t\tnextIndex = 0;\n\t\t\t}\n\n\t\t\t// Skip disabled items\n\t\t\tconst listItemEl = list.listElements[nextIndex];\n\t\t\tif (\n\t\t\t\tlistItemEl &&\n\t\t\t\tlistItemEl.classList.contains(cssClasses.LIST_ITEM_DISABLED_CLASS)\n\t\t\t) {\n\t\t\t\treturn foundation.focusNextElement(nextIndex);\n\t\t\t}\n\n\t\t\t// Carry on\n\t\t\treturn focusNextElement.call(foundation, index);\n\t\t},\n\t);\n};\n\n/**\n * https://github.com/material-components/material-components-web/issues/4696\n * @function\n * @param {MDCList} list MDCList\n */\nexport const disabledListItemCheckboxPatch = (list) => {\n\t// Do not patch twice\n\tif (!list || list.disabledListItemCheckboxPatched_) return;\n\n\tlist.prototype.initializeListType = _.wrap(\n\t\tlist.prototype.initializeListType,\n\t\tfunction (initializeListType) {\n\t\t\tconst foundation = this.foundation_;\n\t\t\tconst adapter = foundation.adapter_;\n\n\t\t\tadapter.setCheckedCheckboxOrRadioAtIndex = (index, isChecked) => {\n\t\t\t\tconst listItem = this.listElements[index];\n\t\t\t\tconst toggleEl = listItem.querySelector(\n\t\t\t\t\tstrings.CHECKBOX_RADIO_SELECTOR,\n\t\t\t\t);\n\t\t\t\t// This is all this was overriden for\n\t\t\t\tif (!toggleEl) return;\n\n\t\t\t\ttoggleEl.checked = isChecked;\n\t\t\t\tconst event = document.createEvent('Event');\n\t\t\t\tevent.initEvent('change', true, true);\n\t\t\t\ttoggleEl.dispatchEvent(event);\n\t\t\t};\n\n\t\t\treturn initializeListType.call(this);\n\t\t},\n\t);\n};\n","import {getUserLevel} from '@netx/core-user-next/utils/getUserLevel';\n\n/**\n * Manage plugins on a single view's instance\n * @class\n * @param {Netx.View} view View to store plugins on\n * @example\n * {\n * pluginUniqueNameForView: {\n * name : 'tooltip', // The name of the plugin. Used for intializing\n * dataAlias : 'bs.tooltip', // The name of the data the plugin stores on the element, if it differs from the name\n * enablerTest : function() {}, // Just like actions\n * userLevel : 8, // Just like actions\n * multiple : true, // Should we allow multiple instances of this plugin on the view (default is false),\n * destroyMethod : 'destroy', // If the plugin's destroy method name differs from `destroy` - can also be a function (the instance will be the only parameter)\n * initializeMethod : 'initialize', // If the plugin's initialize method name differs from `initialize` - can also be a function (passes the plugin object, the $el, the init options, and a callback - the instance you create must be returned to this callback)\n * updateMethod : 'update', // If the plugin's update method name differs from `update`\n * elementKey : 'container', // If the plugin's element key differs from '$el'\n * options : {\n * // Plugin options\n * placement: 'top'\n * }\n * }\n * }\n */\nconst extendPlugin = (plugin, opts) => {\n\tconst pluginOptions = {...plugin.options, ...opts.options};\n\tObject.assign(plugin, opts);\n\tplugin.options = pluginOptions;\n};\n\nexport default function (view) {\n\t/** @lends Netx.Plugins */\n\tvar plugins = {},\n\t\tpublicMethods = {};\n\t/**\n\t * Extend modifications onto exisiting plugin\n\t * @method\n\t * @public\n\t * @param {object} plugin An object of plugin(s)\n\t * @param {object} opts Options (not used currently)\n\t */\n\tfunction Extend(plugin, opts) {\n\t\topts = opts || {};\n\t\tplugin = plugin || {};\n\t\t// Loop over passed plugins and extend to existing\n\t\t_.each(plugin, function (p, k) {\n\t\t\tif (!_.isUndefined(plugins[k])) {\n\t\t\t\textendPlugin(plugins[k], p);\n\t\t\t} else {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t'The plugin ' +\n\t\t\t\t\t\tk +\n\t\t\t\t\t\t' has not been defined. Please use `register` in place of `extend`.',\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\n\t\t// Chain to public methods\n\t\treturn publicMethods;\n\t}\n\t/**\n\t * Find plugin(s) by name\n\t * @method\n\t * @public\n\t * @param {array|string} name Plugin name (key, name, dataAlias)\n\t * @return {array|boolean|object}\n\t */\n\tfunction Find(name) {\n\t\t// Just to make things easier - assume array\n\t\tif (!_.isArray(name)) name = [name];\n\n\t\tvar returnData = [];\n\t\t// Loop over plugin names\n\t\t_.each(name, function (n) {\n\t\t\t// It weas the key\n\t\t\tif (plugins[n]) {\n\t\t\t\treturnData.push(plugins[n]);\n\t\t\t}\n\t\t\t// It was not the key, try the name and alias\n\t\t\telse {\n\t\t\t\t_.each(plugins, function (plugin) {\n\t\t\t\t\tif (plugin.name === n || plugin.dataAlias === n) {\n\t\t\t\t\t\treturnData.push(plugin);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\t// Just return false and not an empty array\n\t\tif (!returnData.length) {\n\t\t\treturn false;\n\t\t}\n\t\t// If a single result, unwrap it from array\n\t\treturn returnData.length > 1 ? returnData : returnData[0];\n\t}\n\t/**\n\t * Get plugin(s) instance by name\n\t * @method\n\t * @public\n\t * @param {array|string} name Plugin name (key, name, dataAlias)\n\t * @param {element} $el Element to get plugin instance on\n\t * @return {array|boolean|object}\n\t */\n\tfunction GetInstance(name, $el) {\n\t\tvar plugin = Find(name);\n\t\tif (plugin && plugin.instance) {\n\t\t\tif (_.isArray(plugin.instance)) {\n\t\t\t\tif ($el) {\n\t\t\t\t\treturn _.filter(plugin.instance, function (instance) {\n\t\t\t\t\t\tvar el = instance[plugin.elementKey || '$el'];\n\t\t\t\t\t\tif (el) {\n\t\t\t\t\t\t\treturn el instanceof jQuery ? el.is($el) : el == $el;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn plugin.instance;\n\t\t}\n\t\treturn false;\n\t}\n\t/**\n\t * Register plugin(s)\n\t * @method\n\t * @public\n\t * @param {object} plugin An object of plugin(s)\n\t * @param {object} opts Options (not used currently)\n\t */\n\tfunction Register(plugin, opts) {\n\t\topts = opts || {};\n\t\tplugin = plugin || {};\n\n\t\t// Loop over passed plugins and add if not already defined\n\t\t_.each(plugin, function (p, k) {\n\t\t\tif (_.isUndefined(plugins[k])) {\n\t\t\t\tplugins[k] = p;\n\t\t\t} else {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t'The plugin ' +\n\t\t\t\t\t\tk +\n\t\t\t\t\t\t' has already been defined. Please use `extend` in place of `register`.',\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\n\t\t// Chain to public methods\n\t\treturn publicMethods;\n\t}\n\t/**\n\t * Remove plugin(s)\n\t * @method\n\t * @public\n\t * @param {string} name Actual key name for plugin (the key, not the name/dataAlias)\n\t */\n\tfunction Remove(name) {\n\t\tif (_.isArray(name)) {\n\t\t\t_.each(name, Remove);\n\t\t} else if (plugins[name]) {\n\t\t\tdelete plugins[name];\n\t\t}\n\n\t\t// Chain to public methods\n\t\treturn publicMethods;\n\t}\n\n\t/**\n\t * Destroy plugin instance(s)\n\t * @method\n\t * @public\n\t * @param {string} name Plugin name (key, name, dataAlias)\n\t * @param {element} $el Element to destroy plugin on\n\t */\n\tfunction Destroy(name, $el) {\n\t\t// Destroy them all if nothing was passed\n\t\tif (!arguments.length) {\n\t\t\t_.each(plugins, function (p) {\n\t\t\t\tdestroyPlugin(p);\n\t\t\t});\n\t\t} else {\n\t\t\t// Multiple plugins to destroy\n\t\t\tif (_.isArray(name)) {\n\t\t\t\t_.each(name, function (n) {\n\t\t\t\t\tDestroy(n, $el);\n\t\t\t\t});\n\t\t\t}\n\t\t\t// Single plugin to destroy\n\t\t\telse {\n\t\t\t\tvar plugin = Find(name);\n\t\t\t\tif (!plugin) {\n\t\t\t\t\t// console.warn( \"The plugin \" + name + \" has not been defined. Cannot destroy what does not exist.\" );\n\t\t\t\t} else if (plugin.length) {\n\t\t\t\t\t_.each(plugin, function (p) {\n\t\t\t\t\t\tdestroyPlugin(p, $el);\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tdestroyPlugin(plugin, $el);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Chain to public methods\n\t\treturn publicMethods;\n\t}\n\t/**\n\t * Initialize plugin instance(s)\n\t * @method\n\t * @public\n\t * @param {array|string} name Plugin name (key, name, dataAlias)\n\t * @param {element} $el Element to initialize plugin on\n\t * @param {object} opts Additional plugin options (support for passing custom options at init that may or may not be the same in the registered options)\n\t * @return {promise}\n\t */\n\tfunction Initialize(name, $el, opts) {\n\t\tvar d = new $.Deferred(),\n\t\t\tpromises = [];\n\t\t// Multiple plugins to init\n\t\tif (_.isArray(name)) {\n\t\t\t_.each(name, function (n) {\n\t\t\t\tvar plugin = Find(n);\n\t\t\t\tif (!plugin) {\n\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t'The plugin ' +\n\t\t\t\t\t\t\tn +\n\t\t\t\t\t\t\t' has not been defined. Please use `register` prior to intializing.',\n\t\t\t\t\t);\n\t\t\t\t} else if (plugin.length) {\n\t\t\t\t\t_.each(\n\t\t\t\t\t\tplugin,\n\t\t\t\t\t\tfunction (p) {\n\t\t\t\t\t\t\tpromises.push(initializePlugin(p, $el, opts));\n\t\t\t\t\t\t},\n\t\t\t\t\t\tthis,\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tpromises.push(initializePlugin(plugin, $el, opts));\n\t\t\t\t}\n\t\t\t});\n\t\t\t$.when.apply($, promises).then(function (instances) {\n\t\t\t\td.resolveWith(view, instances);\n\t\t\t});\n\t\t\treturn d.promise();\n\t\t}\n\n\t\t// Single plugin to init\n\t\tvar plugin = Find(name);\n\t\tif (!plugin) {\n\t\t\tconsole.warn(\n\t\t\t\t'The plugin ' +\n\t\t\t\t\tname +\n\t\t\t\t\t' has not been defined. Please use `register` prior to intializing.',\n\t\t\t);\n\t\t} else if (plugin.length) {\n\t\t\t_.each(\n\t\t\t\tplugin,\n\t\t\t\tfunction (p) {\n\t\t\t\t\tpromises.push(initializePlugin(p, $el, opts));\n\t\t\t\t},\n\t\t\t\tthis,\n\t\t\t);\n\t\t\t$.when.apply($, promises).then(function (instances) {\n\t\t\t\td.resolveWith(view, instances);\n\t\t\t});\n\t\t\treturn d.promise();\n\t\t} else {\n\t\t\treturn initializePlugin(plugin, $el, opts);\n\t\t}\n\t}\n\t/**\n\t * Update plugin(s) instance(s)\n\t * @method\n\t * @public\n\t * @param {string} name Plugin name (key, name, dataAlias)\n\t * @param {element} $el Element to update plugin on\n\t * @param {object} opts Additional plugin update arguments\n\t */\n\tfunction Update(name, $el, args) {\n\t\tvar plugin = Find(name);\n\t\tif (!plugin) {\n\t\t\tconsole.warn(\n\t\t\t\t'The plugin ' +\n\t\t\t\t\tname +\n\t\t\t\t\t' has not been defined. Cannot update that which does not exist.',\n\t\t\t);\n\t\t} else if (plugin.length) {\n\t\t\t_.each(\n\t\t\t\tplugin,\n\t\t\t\tfunction (p) {\n\t\t\t\t\tupdatePlugin(p, $el, args);\n\t\t\t\t},\n\t\t\t\tthis,\n\t\t\t);\n\t\t} else {\n\t\t\tupdatePlugin(plugin, $el, args);\n\t\t}\n\n\t\t// Chain to public methods\n\t\treturn publicMethods;\n\t}\n\n\t/**\n\t * Invoke a method on plugin(s) instance(s)\n\t * @method\n\t * @public\n\t * @param {string} name Plugin name (key, name, dataAlias)\n\t * @param {element} $el Element to update plugin on\n\t * @param {string} methodName The method to invoke\n\t * @param {object} opts Additional plugin update arguments\n\t */\n\tfunction Invoke(name, $el, methodName, args) {\n\t\t// Redirect access to these methods\n\t\tswitch (methodName) {\n\t\t\tcase 'destroy':\n\t\t\t\treturn Destroy(name, $el);\n\t\t\tcase 'init':\n\t\t\tcase 'initialize':\n\t\t\t\treturn Initialize(name, $el, args);\n\t\t\tcase 'update':\n\t\t\t\treturn Update(name, $el, args);\n\t\t}\n\n\t\tvar plugin = Find(name);\n\t\tif (!plugin) {\n\t\t\tconsole.warn(\n\t\t\t\t'The plugin ' +\n\t\t\t\t\tname +\n\t\t\t\t\t' has not been defined. Cannot invoke `' +\n\t\t\t\t\tmethodName +\n\t\t\t\t\t'` that which does not exist.',\n\t\t\t);\n\t\t} else if (plugin.length) {\n\t\t\t_.each(\n\t\t\t\tplugin,\n\t\t\t\tfunction (p) {\n\t\t\t\t\tinvokePluginMethod(p, $el, methodName, args);\n\t\t\t\t},\n\t\t\t\tthis,\n\t\t\t);\n\t\t} else {\n\t\t\tinvokePluginMethod(plugin, $el, methodName, args);\n\t\t}\n\n\t\t// Chain to public methods\n\t\treturn publicMethods;\n\t}\n\n\t/**\n\t * Destroy a plugin instance (if created)\n\t * @method\n\t * @private\n\t * @param {object} plugin Plugin object (with options and instance etc)\n\t * @param {element} $el Element to destroy plugin on\n\t */\n\tfunction destroyPlugin(plugin, $el) {\n\t\t// Destroy helper\n\t\tfunction _destroy(instance) {\n\t\t\tif (instance) {\n\t\t\t\t// Allow for a user defined destroy method callback\n\t\t\t\t// The instance gets passed as the only argument to the callback\n\t\t\t\tif (plugin.destroyMethod && _.isFunction(plugin.destroyMethod)) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tplugin.destroyMethod.call(view, instance);\n\t\t\t\t\t} catch (ex) {}\n\t\t\t\t}\n\t\t\t\t// Allow for a user defined destroy method string (the name of the method on the plugin differs from 'destroy')\n\t\t\t\telse if (\n\t\t\t\t\tplugin.destroyMethod &&\n\t\t\t\t\t_.isFunction(instance[plugin.destroyMethod])\n\t\t\t\t) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tinstance[plugin.destroyMethod]();\n\t\t\t\t\t} catch (ex) {}\n\t\t\t\t}\n\t\t\t\t// Classic destruction\n\t\t\t\telse if (_.isFunction(instance.destroy)) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\t// Some plugins do not play by the rules *cough* jQuery.sortable *cough*\n\t\t\t\t\t\tif (instance instanceof jQuery) {\n\t\t\t\t\t\t\tinstance[plugin.name]('destroy');\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tinstance.destroy();\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (ex) {}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Have a plugin and it has an instance(s)\n\t\tif (plugin && plugin.instance) {\n\t\t\t// We want to destroy a specific instance\n\t\t\tif ($el && _.isArray(plugin.instance)) {\n\t\t\t\t// Get the index of our instance\n\t\t\t\tvar idx = _.indexOf(\n\t\t\t\t\tplugin.instance,\n\t\t\t\t\t$el.data(plugin.dataAlias || plugin.name),\n\t\t\t\t);\n\t\t\t\tif (idx > -1) {\n\t\t\t\t\t_destroy(plugin.instance[idx]);\n\t\t\t\t\tplugin.instance.splice(idx, 1);\n\t\t\t\t}\n\t\t\t}\n\t\t\t// We want to destroy all instances\n\t\t\telse {\n\t\t\t\t// This has multiple instances\n\t\t\t\tif (_.isArray(plugin.instance)) {\n\t\t\t\t\t_.each(plugin.instance, _destroy);\n\t\t\t\t}\n\t\t\t\t// Just a single instance\n\t\t\t\telse {\n\t\t\t\t\t_destroy(plugin.instance);\n\t\t\t\t}\n\t\t\t\tdelete plugin.instance;\n\t\t\t}\n\t\t} else {\n\t\t\t// Let them know there was no instance to destroy?\n\t\t}\n\t}\n\t/**\n\t * Initialize a plugin instance\n\t * This returns a promise in case there is anything async we need to do before the plugin can be initialized\n\t * Upon successful initialization we (helpfully) pass back the new plugin instance\n\t * @method\n\t * @private\n\t * @param {object} plugin Plugin object (with options and instance etc)\n\t * @param {element} $el Element to initialize plugin on\n\t * @param {object} options Instance specific options (additional options that will get applied on top of any previosuly defined global options for the plugin init)\n\t *\n\t * @return {array|object} Plugin instance(s)\n\t */\n\tfunction initializePlugin(plugin, $el, options) {\n\t\tvar d = new $.Deferred();\n\t\t// If an $el was not specified assume this view's $el\n\t\t$el = $($el) || view.$el;\n\t\t// Make sure we:\n\t\t// Have a plugin\n\t\t// And that plugin has a name\n\t\t// And that we have an element to initialize the plugin on\n\t\tif (plugin && plugin.name && $el.length) {\n\t\t\t// If an instance already exists, destroy it\n\t\t\tif (plugin.instance) {\n\t\t\t\tdestroyPlugin(plugin, $el);\n\t\t\t}\n\t\t\t// If the plugin can have mutliple instances, `plugin.instance` needs to be an array\n\t\t\tif (plugin.multiple && !_.isArray(plugin.instance)) {\n\t\t\t\tplugin.instance = [];\n\t\t\t}\n\n\t\t\t// TODO: when we refactor actions to have more broken out methods we will not need to recreate the tests here\n\t\t\t// If user level is defined and the user level is not met - invalid\n\t\t\tvar valid = !(\n\t\t\t\t!_.isUndefined(plugin.userLevel) && getUserLevel() < plugin.userLevel\n\t\t\t);\n\t\t\t// Check against any enablerTests\n\t\t\tif (valid && plugin.enablerTest) {\n\t\t\t\tvar tests = _.isArray(plugin.enablerTest)\n\t\t\t\t\t? plugin.enablerTest\n\t\t\t\t\t: [plugin.enablerTest];\n\t\t\t\t_.each(\n\t\t\t\t\ttests,\n\t\t\t\t\tfunction (t) {\n\t\t\t\t\t\tif (valid && _.isFunction(t)) valid = t(view);\n\t\t\t\t\t},\n\t\t\t\t\tview,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// If we are still good - initialize plugin\n\t\t\tif (valid) {\n\t\t\t\tvar instances;\n\t\t\t\t// Allow for a user defined intialize method callback\n\t\t\t\t// We pass the plugin object, the element, options and our deferred\n\t\t\t\t// It is the responsibility of the custom initializeMethod:\n\t\t\t\t// To store the instance (via push if mutliple)\n\t\t\t\t// To resolve the deferred and pass back the new instance\n\t\t\t\tif (_.isFunction(plugin.initializeMethod)) {\n\t\t\t\t\tif (plugin.multiple) {\n\t\t\t\t\t\tvar promises = [];\n\n\t\t\t\t\t\tinstances = [];\n\t\t\t\t\t\t_.each($el, function (_el) {\n\t\t\t\t\t\t\tvar p = new $.Deferred();\n\t\t\t\t\t\t\tpromises.push(p);\n\t\t\t\t\t\t\t// We pass the plugin object\n\t\t\t\t\t\t\tplugin.initializeMethod.call(\n\t\t\t\t\t\t\t\tview,\n\t\t\t\t\t\t\t\tplugin,\n\t\t\t\t\t\t\t\t$(_el),\n\t\t\t\t\t\t\t\toptions,\n\t\t\t\t\t\t\t\tfunction (instance) {\n\t\t\t\t\t\t\t\t\tinstances.push(instance);\n\t\t\t\t\t\t\t\t\tp.resolve();\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t});\n\t\t\t\t\t\t$.when.apply($, promises).then(function () {\n\t\t\t\t\t\t\t// Concat multiple instances\n\t\t\t\t\t\t\tplugin.instance = plugin.instance.concat(instances);\n\t\t\t\t\t\t\t// Resolve and pass instances back\n\t\t\t\t\t\t\td.resolveWith(view, [instances]);\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tplugin.initializeMethod.call(\n\t\t\t\t\t\t\tview,\n\t\t\t\t\t\t\tplugin,\n\t\t\t\t\t\t\t$el,\n\t\t\t\t\t\t\toptions,\n\t\t\t\t\t\t\tfunction (instance) {\n\t\t\t\t\t\t\t\tplugin.instance = instance;\n\t\t\t\t\t\t\t\td.resolveWith(view, [instance]);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// Classic init\n\t\t\t\telse {\n\t\t\t\t\t// DAM-6666: S2 demands we update our templates all over creation, but at least now we get a warning.\n\t\t\t\t\tif (plugin.name == 'select2' && !$el.is('select')) {\n\t\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t\t'applying select2 to non-SELECT element -- this will not work.',\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tvar pluginReturn;\n\t\t\t\t\t// Assume it some oddball plugin, like typeahead, that wants multiple parameters and not just a single object\n\t\t\t\t\tif (_.isArray(options)) {\n\t\t\t\t\t\tpluginReturn = $el[plugin.name].apply($el, options);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Extend the passed options on top of the default options (defined vie `Register` or `Extend`)\n\t\t\t\t\t\tpluginReturn = $el[plugin.name](\n\t\t\t\t\t\t\t_.extend({}, plugin.options || {}, options || {}),\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (plugin.multiple) {\n\t\t\t\t\t\tinstances = _.map($el, function (_el) {\n\t\t\t\t\t\t\tvar _$el = $(_el);\n\t\t\t\t\t\t\t// Fallback on the _el if data is not found\n\t\t\t\t\t\t\treturn _$el.data(plugin.dataAlias || plugin.name) || _$el;\n\t\t\t\t\t\t});\n\t\t\t\t\t\t// Concat multiple instances\n\t\t\t\t\t\tplugin.instance = plugin.instance.concat(instances);\n\t\t\t\t\t\t// Resolve and pass instances back\n\t\t\t\t\t\td.resolveWith(view, [instances]);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Set single instance\n\t\t\t\t\t\t// Fallback on the return of the plugin initialize if data is not found\n\t\t\t\t\t\tplugin.instance =\n\t\t\t\t\t\t\t$el.data(plugin.dataAlias || plugin.name) || pluginReturn;\n\t\t\t\t\t\td.resolveWith(view, [plugin.instance]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Invalid\n\t\t\t\td.reject();\n\t\t\t}\n\t\t} else {\n\t\t\t// Let them know things are missing?\n\t\t\td.reject();\n\t\t}\n\t\treturn d.promise();\n\t}\n\t/**\n\t * Invoke a plugin instance method (if created)\n\t * @method\n\t * @private\n\t * @param {object} plugin Plugin object (with options and instance etc)\n\t * @param {element} $el Element to invoke the plugin method on\n\t * @param {mixed} args Anything to pass to the update method\n\t */\n\tfunction invokePluginMethod(plugin, $el, methodName, args) {\n\t\t// Invoke helper\n\t\tfunction _invoke(instance) {\n\t\t\tinstance &&\n\t\t\t\t_.isFunction(instance[methodName]) &&\n\t\t\t\tinstance[methodName].apply(instance, args);\n\t\t}\n\n\t\tif (plugin && plugin.instance) {\n\t\t\t// We want to update a specific instance\n\t\t\tif ($el) {\n\t\t\t\tif (_.isArray(plugin.instance)) {\n\t\t\t\t\tvar idx = _.indexOf(\n\t\t\t\t\t\tplugin.instance,\n\t\t\t\t\t\t$el.data(plugin.dataAlias || plugin.name),\n\t\t\t\t\t);\n\t\t\t\t\tidx > -1 && _invoke(plugin.instance[idx]);\n\t\t\t\t} else {\n\t\t\t\t\t_invoke(plugin.instance);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (_.isArray(plugin.instance)) {\n\t\t\t\t\t_.each(plugin.instance, _invoke);\n\t\t\t\t} else {\n\t\t\t\t\t_invoke(plugin.instance);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t/**\n\t * Update a plugin instance (if created)\n\t * @method\n\t * @private\n\t * @param {object} plugin Plugin object (with options and instance etc)\n\t * @param {element} $el Element to update the plugin on\n\t * @param {mixed} args Anything to pass to the update method\n\t */\n\tfunction updatePlugin(plugin, $el, args) {\n\t\t// Update helper\n\t\tfunction _update(instance) {\n\t\t\tif (instance) {\n\t\t\t\t// Support for custom update method name\n\t\t\t\tif (\n\t\t\t\t\tplugin.updateMethod &&\n\t\t\t\t\t_.isFunction(instance[plugin.updateMethod])\n\t\t\t\t) {\n\t\t\t\t\tinstance[plugin.updateMethod].apply(instance, args);\n\t\t\t\t}\n\t\t\t\t// Default update method\n\t\t\t\telse if (_.isFunction(instance.update)) {\n\t\t\t\t\tinstance.update.apply(instance, args);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tvar instance, idx;\n\t\tif (plugin && plugin.instance) {\n\t\t\t// We want to update an instance on a specific $el\n\t\t\tif ($el) {\n\t\t\t\t// An array of instances (multiple)\n\t\t\t\tif (_.isArray(plugin.instance)) {\n\t\t\t\t\t// Find specific instance of $el plugin in instances\n\t\t\t\t\tidx = _.indexOf(\n\t\t\t\t\t\tplugin.instance,\n\t\t\t\t\t\t$el.data(plugin.dataAlias || plugin.name),\n\t\t\t\t\t);\n\t\t\t\t\tidx > -1 && _update(plugin.instance[idx]);\n\t\t\t\t}\n\t\t\t\t// Single instance\n\t\t\t\telse {\n\t\t\t\t\t_update(plugin.instance);\n\t\t\t\t}\n\t\t\t}\n\t\t\t// We want tu update the instance regardless of $el\n\t\t\telse {\n\t\t\t\t// An array of instances (multiple)\n\t\t\t\tif (_.isArray(plugin.instance)) {\n\t\t\t\t\t_.each(plugin.instance, _update);\n\t\t\t\t}\n\t\t\t\t// Single instance\n\t\t\t\telse {\n\t\t\t\t\t_update(plugin.instance);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Our public methods\n\tpublicMethods = {\n\t\tExtend: Extend,\n\t\tFind: Find,\n\t\tGetInstance: GetInstance,\n\t\tRegister: Register,\n\t\tRemove: Remove,\n\t\t// Methods on the plugin themselves\n\t\tInitialize: Initialize,\n\t\tInvoke: Invoke,\n\t\tDestroy: Destroy,\n\t\tUpdate: Update,\n\t\t// Helper\n\t\tgetAll() {\n\t\t\treturn plugins;\n\t\t},\n\t};\n\n\treturn publicMethods;\n}\n","/**\n * Netx.View is a subclass of Backbone.View, and is the superclass of all other views in Netx.\n * It adds a number of features to Views: asyncronous loading of templates,\n * a pager, preRender() and postRender() hooks, a standard for defining template arguments,\n * a modular system for linking clicks to events (called \"Actions\"), child view nesting,\n * standard show() and hide() methods, and more.\n *\n * @class\n */\n\nimport Backbone from 'backbone';\n\nconst BBView = Backbone.View;\n// Make a View we can extend from in other classes\nclass ES6View {\n\t/** @override */\n\tconstructor(opts) {\n\t\tBBView.apply(this, arguments);\n\t}\n}\n_.extend(ES6View.prototype, BBView.prototype);\nBackbone.ES6View = ES6View;\n\nimport Plugins from './netx-plugins';\n\nimport PagerModel from '@netx/core-app/models/pager';\n\nimport ActionsIconInlineTemplate from '@netx/core-app/templates/menuView-actionIconsInline.html';\nimport AssetDetailActionsTemplate from '@netx/core-app/templates/menuView-assetDetailActions.html';\nimport CartBarActionsTemplate from '@netx/core-app/templates/menuView-cartBarActions.html';\nimport ContextTemplate from '@netx/core-app/templates/menuView-context.html';\nimport HeaderActionsTemplate from '@netx/core-app/templates/menuView-headerActions.html';\nimport ListHeaderActionsTemplate from '@netx/core-app/templates/menuView-listHeaderActions.html';\nimport PodActionsTemplate from '@netx/core-app/templates/menuView-podActions.html';\nimport {simulateClickBody} from '@netx/core-next/utils/browser';\nimport {getEnabledActions} from '@netx/core-permissions/properties/actions';\nimport {appRouter} from '@netx/core-next/instance/router';\nimport {userProfile} from '@netx/core-user/collections/singletons/userProfile';\nimport {\n\tRegisterLegacyAction,\n\tFindLegacyAction,\n} from '@netx/core/legacyActionManager';\n\n// currently these are the only menu views that can be used\n// but themes can override the templates\nconst MenuTemplates = {\n\tactionIconsInline: ActionsIconInlineTemplate,\n\tassetDetailActions: AssetDetailActionsTemplate,\n\tcartBarActions: CartBarActionsTemplate, // portal only\n\tcontext: ContextTemplate,\n\theaderActions: HeaderActionsTemplate,\n\tlistHeaderActions: ListHeaderActionsTemplate,\n\tpodActions: PodActionsTemplate, // theme only(?)\n};\n\nclass View extends ES6View {\n\t/** @type {boolean} */\n\tget isView() {\n\t\treturn this.constructor.__isView__;\n\t}\n\n\t/**\n\t * Actions\n\t * Netx Actions are an extensible framework for modules to register their functionality (event names).\n\t * Actions can be added to views by adding 'data-action' attributes to HTML elements in view templates.\n\t * The global Netx.Menus object composes groups of Netx.Action objects into Netx.Menu objects; these\n\t * can be added to templates by adding the 'data-action-context' attribute to elements. ('context' is a deprecated name;\n\t * we now prefer 'menu'.) These are normally rendered as