{"version":3,"sources":["./ClientApp/$_lazy_route_resource lazy namespace object","./ClientApp/app.ts","./ClientApp/core/boot/appComponent.ts","./ClientApp/core/boot/appComponent.html","./ClientApp/core/boot/appModule.ts","./ClientApp/core/boot/browsersComponent.ts","./ClientApp/core/boot/browsersComponent.html","./ClientApp/core/boot/declarationList.ts","./ClientApp/core/boot/providerList.ts","./ClientApp/core/boot/routelist.ts","./ClientApp/core/pages/account/accountComponent.ts","./ClientApp/core/pages/account/accountComponent.html","./ClientApp/core/pages/account/index.ts","./ClientApp/core/pages/account/login/anonymousAccessEntryComponent.ts","./ClientApp/core/pages/account/login/anonymousAccessEntryComponent.html","./ClientApp/core/pages/account/login/index.ts","./ClientApp/core/pages/account/login/loginComponent.ts","./ClientApp/core/pages/account/login/loginComponent.html","./ClientApp/core/pages/account/logoutComponent.ts","./ClientApp/core/pages/account/password/index.ts","./ClientApp/core/pages/account/password/passwordChangeComponent.ts","./ClientApp/core/pages/account/password/passwordChangeComponent.html","./ClientApp/core/pages/account/password/recoverConfirmEmailComponent.ts","./ClientApp/core/pages/account/password/recoverConfirmEmailComponent.html","./ClientApp/core/pages/account/shared/accountSubRouteComponent.ts","./ClientApp/core/pages/account/shared/accountSubRouteComponent.html","./ClientApp/core/pages/account/shared/accountUrlParams.ts","./ClientApp/core/pages/account/shared/baseAccountMessageComponent.ts","./ClientApp/core/pages/account/shared/index.ts","./ClientApp/core/pages/account/shared/verify/accountVerificationComponent.ts","./ClientApp/core/pages/account/shared/verify/accountVerificationComponent.html","./ClientApp/core/pages/account/shared/verify/emailFormComponent.ts","./ClientApp/core/pages/account/shared/verify/emailFormComponent.html","./ClientApp/core/pages/account/shared/verify/index.ts","./ClientApp/core/pages/account/shared/verify/verifyFormComponent.ts","./ClientApp/core/pages/account/shared/verify/verifyFormComponent.html","./ClientApp/core/pages/account/signUp/createProfileComponent.ts","./ClientApp/core/pages/account/signUp/createProfileComponent.html","./ClientApp/core/pages/account/signUp/index.ts","./ClientApp/core/pages/account/signUp/signUpConfirmEmailComponent.ts","./ClientApp/core/pages/account/signUp/signUpConfirmEmailComponent.html","./ClientApp/core/pages/configurator/actions/composite/add/addConfigurationComponent.ts","./ClientApp/core/pages/configurator/actions/composite/add/addConfigurationComponent.html","./ClientApp/core/pages/configurator/actions/composite/compositeActionService.ts","./ClientApp/core/pages/configurator/actions/composite/compositeComponent.ts","./ClientApp/core/pages/configurator/actions/composite/compositeComponent.html","./ClientApp/core/pages/configurator/actions/composite/compositeHeaderComponent.ts","./ClientApp/core/pages/configurator/actions/composite/compositeHeaderComponent.html","./ClientApp/core/pages/configurator/actions/composite/compositeHelper.ts","./ClientApp/core/pages/configurator/actions/composite/compositeMenuControllerComponent.ts","./ClientApp/core/pages/configurator/actions/composite/compositeMenuControllerComponent.html","./ClientApp/core/pages/configurator/actions/composite/compositeMenuItemComponent.ts","./ClientApp/core/pages/configurator/actions/composite/compositeMenuItemComponent.html","./ClientApp/core/pages/configurator/actions/composite/compositeMenuItemDetailComponent.ts","./ClientApp/core/pages/configurator/actions/composite/compositeMenuItemDetailComponent.html","./ClientApp/core/pages/configurator/actions/composite/copy/copyConfigurationComponent.ts","./ClientApp/core/pages/configurator/actions/composite/copy/copyConfigurationComponent.html","./ClientApp/core/pages/configurator/actions/composite/delete/deleteConfigurationComponent.ts","./ClientApp/core/pages/configurator/actions/composite/delete/deleteConfigurationComponent.html","./ClientApp/core/pages/configurator/actions/composite/import/importConfigurationComponent.ts","./ClientApp/core/pages/configurator/actions/composite/import/importConfigurationComponent.html","./ClientApp/core/pages/configurator/actions/composite/navigation.ts","./ClientApp/core/pages/configurator/actions/composite/productButtonComponent.ts","./ClientApp/core/pages/configurator/actions/composite/productButtonComponent.html","./ClientApp/core/pages/configurator/actions/composite/productButtonsContainerComponent.ts","./ClientApp/core/pages/configurator/actions/composite/productButtonsContainerComponent.html","./ClientApp/core/pages/configurator/actions/composite/sideBarMenuService.ts","./ClientApp/core/pages/configurator/actions/composite/sort/sortConfigurationsComponent.ts","./ClientApp/core/pages/configurator/actions/composite/sort/sortConfigurationsComponent.html","./ClientApp/core/pages/configurator/actions/composite/tree/compositeTreeDataProvider.ts","./ClientApp/core/pages/configurator/actions/composite/tree/menuTreeViewComponent.ts","./ClientApp/core/pages/configurator/actions/composite/tree/menuTreeViewComponent.html","./ClientApp/core/pages/configurator/actions/controlPanel/controlPanelComponent.ts","./ClientApp/core/pages/configurator/actions/controlPanel/controlPanelComponent.html","./ClientApp/core/pages/configurator/actions/index.ts","./ClientApp/core/pages/configurator/baseViewComponent.ts","./ClientApp/core/pages/configurator/comparison/comparisonComponent.ts","./ClientApp/core/pages/configurator/comparison/comparisonComponent.html","./ClientApp/core/pages/configurator/comparison/comparisonResultsResolver.ts","./ClientApp/core/pages/configurator/comparison/comparisonRoutes.ts","./ClientApp/core/pages/configurator/comparison/components/comparisonRowComponent.ts","./ClientApp/core/pages/configurator/comparison/components/comparisonRowComponent.html","./ClientApp/core/pages/configurator/comparison/components/comparisonValueComponent.ts","./ClientApp/core/pages/configurator/comparison/components/comparisonValueComponent.html","./ClientApp/core/pages/configurator/comparison/components/dragDrop/comparisonDraggableItemComponent.ts","./ClientApp/core/pages/configurator/comparison/components/dragDrop/comparisonDraggableItemComponent.html","./ClientApp/core/pages/configurator/comparison/components/dragDrop/comparisonDraggableListComponent.ts","./ClientApp/core/pages/configurator/comparison/components/dragDrop/comparisonDraggableListComponent.html","./ClientApp/core/pages/configurator/comparison/components/dragDrop/models/comparisonDraggableNodeArgs.ts","./ClientApp/core/pages/configurator/comparison/components/dragDrop/models/comparisonDraggableRowNodes.ts","./ClientApp/core/pages/configurator/comparison/components/dragDrop/models/comparisonUrlParams.ts","./ClientApp/core/pages/configurator/comparison/components/dragDrop/providers/comparisonDraggableDataProvider.ts","./ClientApp/core/pages/configurator/comparison/index.ts","./ClientApp/core/pages/configurator/comparison/providers/comparisonDataActionCreator.ts","./ClientApp/core/pages/configurator/comparison/providers/comparisonDataController.ts","./ClientApp/core/pages/configurator/comparison/providers/comparisonDataReducer.ts","./ClientApp/core/pages/configurator/comparison/providers/comparisonDataStore.ts","./ClientApp/core/pages/configurator/comparison/providers/comparisonHelper.ts","./ClientApp/core/pages/configurator/components/filter/filterComponent.ts","./ClientApp/core/pages/configurator/components/filter/filterComponent.html","./ClientApp/core/pages/configurator/components/filter/filterItemViewModel.ts","./ClientApp/core/pages/configurator/components/tabs/accordionCompositeParams.ts","./ClientApp/core/pages/configurator/components/tabs/accordionConfigurationsTreeComponent.ts","./ClientApp/core/pages/configurator/components/tabs/accordionConfigurationsTreeComponent.html","./ClientApp/core/pages/configurator/components/tabs/accordionTabsComponent.ts","./ClientApp/core/pages/configurator/components/tabs/accordionTabsComponent.html","./ClientApp/core/pages/configurator/components/tabs/floatedSeparatedTabsComponent.ts","./ClientApp/core/pages/configurator/components/tabs/floatedSeparatedTabsComponent.html","./ClientApp/core/pages/configurator/components/tabs/index.ts","./ClientApp/core/pages/configurator/components/tabs/nestedAccordionTabsComponent.ts","./ClientApp/core/pages/configurator/components/tabs/nestedAccordionTabsComponent.html","./ClientApp/core/pages/configurator/components/tabs/normalTabsContainerComponent.ts","./ClientApp/core/pages/configurator/components/tabs/normalTabsContainerComponent.html","./ClientApp/core/pages/configurator/components/tabs/separatedTabComponent.ts","./ClientApp/core/pages/configurator/components/tabs/separatedTabComponent.html","./ClientApp/core/pages/configurator/components/tabs/tabAvailabilityService.ts","./ClientApp/core/pages/configurator/components/tabs/tabContainerComponent.ts","./ClientApp/core/pages/configurator/components/tabs/tabsManagerComponent.ts","./ClientApp/core/pages/configurator/components/tabs/tabsManagerComponent.html","./ClientApp/core/pages/configurator/components/tabs/tabsSidebarComponent.ts","./ClientApp/core/pages/configurator/components/tabs/tabsSidebarComponent.html","./ClientApp/core/pages/configurator/confViewRedirectorComponent.ts","./ClientApp/core/pages/configurator/confViewRedirectorComponent.html","./ClientApp/core/pages/configurator/configuratorComponent.ts","./ClientApp/core/pages/configurator/configuratorComponent.html","./ClientApp/core/pages/configurator/configuratorRoutes.ts","./ClientApp/core/pages/configurator/decorations/attribute/attributeColumnType.ts","./ClientApp/core/pages/configurator/decorations/attribute/attributeDecorationComponent.ts","./ClientApp/core/pages/configurator/decorations/attribute/attributeDecorationComponent.html","./ClientApp/core/pages/configurator/decorations/bom/bomActionCreator.ts","./ClientApp/core/pages/configurator/decorations/bom/bomControlComponent.ts","./ClientApp/core/pages/configurator/decorations/bom/bomController.ts","./ClientApp/core/pages/configurator/decorations/bom/bomCreateControlComponent.ts","./ClientApp/core/pages/configurator/decorations/bom/bomCreateControlComponent.html","./ClientApp/core/pages/configurator/decorations/bom/bomDecorationComponent.ts","./ClientApp/core/pages/configurator/decorations/bom/bomDecorationComponent.html","./ClientApp/core/pages/configurator/decorations/bom/bomDecorationContentsComponent.ts","./ClientApp/core/pages/configurator/decorations/bom/bomDecorationContentsComponent.html","./ClientApp/core/pages/configurator/decorations/bom/bomDeletePopupComponent.ts","./ClientApp/core/pages/configurator/decorations/bom/bomDeletePopupComponent.html","./ClientApp/core/pages/configurator/decorations/bom/bomEditControlComponent.ts","./ClientApp/core/pages/configurator/decorations/bom/bomEditControlComponent.html","./ClientApp/core/pages/configurator/decorations/bom/bomStore.ts","./ClientApp/core/pages/configurator/decorations/bom/index.ts","./ClientApp/core/pages/configurator/decorations/code/codeDecorationComponent.ts","./ClientApp/core/pages/configurator/decorations/code/codeDecorationComponent.html","./ClientApp/core/pages/configurator/decorations/dataSelector/abstractDataSelectorGridComponent.ts","./ClientApp/core/pages/configurator/decorations/dataSelector/dataSelectorActionCreator.ts","./ClientApp/core/pages/configurator/decorations/dataSelector/dataSelectorComponent.ts","./ClientApp/core/pages/configurator/decorations/dataSelector/dataSelectorComponent.html","./ClientApp/core/pages/configurator/decorations/dataSelector/dataSelectorController.ts","./ClientApp/core/pages/configurator/decorations/dataSelector/dataSelectorStore.ts","./ClientApp/core/pages/configurator/decorations/dataSelector/dataSelectorTableInlineComponent.ts","./ClientApp/core/pages/configurator/decorations/dataSelector/dataSelectorTableInlineComponent.html","./ClientApp/core/pages/configurator/decorations/dataSelector/dataSelectorTableModalComponent.ts","./ClientApp/core/pages/configurator/decorations/dataSelector/dataSelectorTableModalComponent.html","./ClientApp/core/pages/configurator/decorations/dataSelector/index.ts","./ClientApp/core/pages/configurator/decorations/documents/documentsDecorationComponent.ts","./ClientApp/core/pages/configurator/decorations/documents/documentsDecorationComponent.html","./ClientApp/core/pages/configurator/decorations/form/formDecorationComponent.ts","./ClientApp/core/pages/configurator/decorations/form/formDecorationComponent.html","./ClientApp/core/pages/configurator/decorations/graphics/graphicsDecorationComponent.ts","./ClientApp/core/pages/configurator/decorations/graphics/graphicsDecorationComponent.html","./ClientApp/core/pages/configurator/decorations/header/headerDecorationComponent.ts","./ClientApp/core/pages/configurator/decorations/header/headerDecorationComponent.html","./ClientApp/core/pages/configurator/decorations/image/imageDecorationComponent.ts","./ClientApp/core/pages/configurator/decorations/image/imageDecorationComponent.html","./ClientApp/core/pages/configurator/decorations/priceList/priceListDecorationComponent.ts","./ClientApp/core/pages/configurator/decorations/priceList/priceListDecorationComponent.html","./ClientApp/core/pages/configurator/decorations/property/confPropertyModel.ts","./ClientApp/core/pages/configurator/decorations/property/index.ts","./ClientApp/core/pages/configurator/decorations/property/propertyDecorationComponent.ts","./ClientApp/core/pages/configurator/decorations/property/propertyDecorationComponent.html","./ClientApp/core/pages/configurator/decorations/property/propertyDecorationItemComponent.ts","./ClientApp/core/pages/configurator/decorations/property/propertyDecorationItemComponent.html","./ClientApp/core/pages/configurator/decorations/text/textDecorationComponent.ts","./ClientApp/core/pages/configurator/decorations/text/textDecorationComponent.html","./ClientApp/core/pages/configurator/decorations/visualization/visualizationDecorationComponent.ts","./ClientApp/core/pages/configurator/decorations/visualization/visualizationDecorationComponent.html","./ClientApp/core/pages/configurator/decorations/visualization/visualizationPluginComponent.ts","./ClientApp/core/pages/configurator/decorations/visualization/visualizationPluginComponent.html","./ClientApp/core/pages/configurator/editorViewComponent.ts","./ClientApp/core/pages/configurator/editorViewComponent.html","./ClientApp/core/pages/configurator/index.ts","./ClientApp/core/pages/configurator/parameters/bool/boolParamComponent.ts","./ClientApp/core/pages/configurator/parameters/bool/boolParamComponent.html","./ClientApp/core/pages/configurator/parameters/double/doubleParamComponent.ts","./ClientApp/core/pages/configurator/parameters/double/doubleParamComponent.html","./ClientApp/core/pages/configurator/parameters/int/intParamComponent.ts","./ClientApp/core/pages/configurator/parameters/int/intParamComponent.html","./ClientApp/core/pages/configurator/parameters/lookup/lookupParamComponent.ts","./ClientApp/core/pages/configurator/parameters/lookup/lookupParamComponent.html","./ClientApp/core/pages/configurator/parameters/multiChoice/multiChoiceParamComponent.ts","./ClientApp/core/pages/configurator/parameters/multiChoice/multiChoiceParamComponent.html","./ClientApp/core/pages/configurator/parameters/multiChoice/multiChoiceValueComponent.ts","./ClientApp/core/pages/configurator/parameters/multiChoice/multiChoiceValueComponent.html","./ClientApp/core/pages/configurator/parameters/shared/index.ts","./ClientApp/core/pages/configurator/parameters/shared/parameterMandatoryService.ts","./ClientApp/core/pages/configurator/parameters/shared/visualObjectHelper.ts","./ClientApp/core/pages/configurator/parameters/shared/visualObjectViewModelFactory.ts","./ClientApp/core/pages/configurator/parameters/string/stringParamComponent.ts","./ClientApp/core/pages/configurator/parameters/string/stringParamComponent.html","./ClientApp/core/pages/configurator/popups/anonymousContact/anonymousContactPopupComponent.ts","./ClientApp/core/pages/configurator/popups/anonymousContact/anonymousContactPopupComponent.html","./ClientApp/core/pages/configurator/popups/anonymousDialog/anonymousDialogPopupComponent.ts","./ClientApp/core/pages/configurator/popups/anonymousDialog/anonymousDialogPopupComponent.html","./ClientApp/core/pages/configurator/popups/attribute/attributePopperComponent.ts","./ClientApp/core/pages/configurator/popups/attribute/attributePopperComponent.html","./ClientApp/core/pages/configurator/popups/attribute/attributePopperDirective.ts","./ClientApp/core/pages/configurator/popups/bom/bomCompositePopupComponent.ts","./ClientApp/core/pages/configurator/popups/bom/bomCompositePopupComponent.html","./ClientApp/core/pages/configurator/popups/bom/bomImagePopupComponent.ts","./ClientApp/core/pages/configurator/popups/bom/bomImagePopupComponent.html","./ClientApp/core/pages/configurator/popups/cleared/clearedPopupComponent.ts","./ClientApp/core/pages/configurator/popups/cleared/clearedPopupComponent.html","./ClientApp/core/pages/configurator/popups/code/codePopupComponent.ts","./ClientApp/core/pages/configurator/popups/code/codePopupComponent.html","./ClientApp/core/pages/configurator/popups/configurationSearch/configurationSearchPopupComponent.ts","./ClientApp/core/pages/configurator/popups/configurationSearch/configurationSearchPopupComponent.html","./ClientApp/core/pages/configurator/popups/disallowed/disallowedPopupComponent.ts","./ClientApp/core/pages/configurator/popups/disallowed/disallowedPopupComponent.html","./ClientApp/core/pages/configurator/popups/graphics/graphicsPopupComponent.ts","./ClientApp/core/pages/configurator/popups/graphics/graphicsPopupComponent.html","./ClientApp/core/pages/configurator/popups/help/helpPopupComponent.ts","./ClientApp/core/pages/configurator/popups/help/helpPopupComponent.html","./ClientApp/core/pages/configurator/popups/index.ts","./ClientApp/core/pages/configurator/popups/mandatory/mandatoryPopupComponent.ts","./ClientApp/core/pages/configurator/popups/mandatory/mandatoryPopupComponent.html","./ClientApp/core/pages/configurator/popups/msCrmIntegrationInteraction/crmIntegrationPopupComponent.ts","./ClientApp/core/pages/configurator/popups/msCrmIntegrationInteraction/crmIntegrationPopupComponent.html","./ClientApp/core/pages/configurator/popups/price/priceListReportPopupComponent.ts","./ClientApp/core/pages/configurator/popups/price/priceListReportPopupComponent.html","./ClientApp/core/pages/configurator/popups/price/priceSettingPopupComponent.ts","./ClientApp/core/pages/configurator/popups/price/priceSettingPopupComponent.html","./ClientApp/core/pages/configurator/popups/priceWarning/warningPricePopupComponent.ts","./ClientApp/core/pages/configurator/popups/priceWarning/warningPricePopupComponent.html","./ClientApp/core/pages/configurator/popups/readonly/readOnlyPopupComponent.ts","./ClientApp/core/pages/configurator/popups/readonly/readOnlyPopupComponent.html","./ClientApp/core/pages/configurator/popups/rule/index.ts","./ClientApp/core/pages/configurator/popups/rule/ruleActionCreator.ts","./ClientApp/core/pages/configurator/popups/rule/ruleActions.ts","./ClientApp/core/pages/configurator/popups/rule/ruleConfirmationPopupComponent.ts","./ClientApp/core/pages/configurator/popups/rule/ruleConfirmationPopupComponent.html","./ClientApp/core/pages/configurator/popups/rule/ruleController.ts","./ClientApp/core/pages/configurator/popups/rule/ruleInformationPopupComponent.ts","./ClientApp/core/pages/configurator/popups/rule/ruleInformationPopupComponent.html","./ClientApp/core/pages/configurator/popups/shared/baseImmutableValuePopupComponent.ts","./ClientApp/core/pages/configurator/popups/shared/immutableValuePopupComponent.ts","./ClientApp/core/pages/configurator/popups/shared/immutableValuePopupComponent.html","./ClientApp/core/pages/configurator/popups/shared/ruleParamsInfoComponent.ts","./ClientApp/core/pages/configurator/popups/shared/ruleParamsInfoComponent.html","./ClientApp/core/pages/configurator/popups/warningAttributes/warningAttributesPopupComponent.ts","./ClientApp/core/pages/configurator/popups/warningAttributes/warningAttributesPopupComponent.html","./ClientApp/core/pages/configurator/providers/confDataDeactivateGuard.ts","./ClientApp/core/pages/configurator/providers/confDataLoadedGuard.ts","./ClientApp/core/pages/configurator/providers/confDataMemorizer.ts","./ClientApp/core/pages/configurator/providers/confDataResolveResponse.ts","./ClientApp/core/pages/configurator/providers/confEventService.ts","./ClientApp/core/pages/configurator/providers/confMessageHandler.ts","./ClientApp/core/pages/configurator/providers/confMessageProvider.ts","./ClientApp/core/pages/configurator/providers/confPageSessionService.ts","./ClientApp/core/pages/configurator/providers/confRouteParams.ts","./ClientApp/core/pages/configurator/providers/configurationSessionManager.ts","./ClientApp/core/pages/configurator/providers/configuratorLayoutManager.ts","./ClientApp/core/pages/configurator/providers/configuratorStore.ts","./ClientApp/core/pages/configurator/providers/configuratorUIStore.ts","./ClientApp/core/pages/configurator/providers/index.ts","./ClientApp/core/pages/configurator/providers/popupIdentifiers.ts","./ClientApp/core/pages/configurator/providers/resolvers/confDataResolver.ts","./ClientApp/core/pages/configurator/providers/resolvers/confPageIdResolver.ts","./ClientApp/core/pages/configurator/providers/uiEventService.ts","./ClientApp/core/pages/configurator/search/confSearchModelCacheService.ts","./ClientApp/core/pages/configurator/search/filter/criteria/baseSearchInputComponent.ts","./ClientApp/core/pages/configurator/search/filter/criteria/calendar/searchCalendarInputComponent.ts","./ClientApp/core/pages/configurator/search/filter/criteria/calendar/searchCalendarInputComponent.html","./ClientApp/core/pages/configurator/search/filter/criteria/calendar/searchTimeSpan.ts","./ClientApp/core/pages/configurator/search/filter/criteria/checkbox/searchCheckboxInputComponent.ts","./ClientApp/core/pages/configurator/search/filter/criteria/checkbox/searchCheckboxInputComponent.html","./ClientApp/core/pages/configurator/search/filter/criteria/dropDown/searchDropDownInputComponent.ts","./ClientApp/core/pages/configurator/search/filter/criteria/dropDown/searchDropDownInputComponent.html","./ClientApp/core/pages/configurator/search/filter/criteria/index.ts","./ClientApp/core/pages/configurator/search/filter/criteria/multiSelect/multiSelectInputComponent.ts","./ClientApp/core/pages/configurator/search/filter/criteria/multiSelect/multiSelectInputComponent.html","./ClientApp/core/pages/configurator/search/filter/criteria/rangeTextbox/searchRangeTextboxComponent.ts","./ClientApp/core/pages/configurator/search/filter/criteria/rangeTextbox/searchRangeTextboxComponent.html","./ClientApp/core/pages/configurator/search/filter/criteria/searchCriteriaComponent.ts","./ClientApp/core/pages/configurator/search/filter/criteria/searchCriteriaComponent.html","./ClientApp/core/pages/configurator/search/filter/criteria/text/searchTextInputComponent.ts","./ClientApp/core/pages/configurator/search/filter/criteria/text/searchTextInputComponent.html","./ClientApp/core/pages/configurator/search/filter/models/index.ts","./ClientApp/core/pages/configurator/search/filter/models/searchAtttributeModel.ts","./ClientApp/core/pages/configurator/search/filter/models/searchCriteriaModel.ts","./ClientApp/core/pages/configurator/search/filter/providers/dateRangeCalculator.ts","./ClientApp/core/pages/configurator/search/filter/providers/index.ts","./ClientApp/core/pages/configurator/search/filter/providers/searchCriteriaDataProvider.ts","./ClientApp/core/pages/configurator/search/filter/providers/searchCriteriaHelper.ts","./ClientApp/core/pages/configurator/search/filter/providers/searchCriteriaModelsProvider.ts","./ClientApp/core/pages/configurator/search/filter/searchFilterComponent.ts","./ClientApp/core/pages/configurator/search/filter/searchFilterComponent.html","./ClientApp/core/pages/configurator/search/result/searchResultComponent.ts","./ClientApp/core/pages/configurator/search/result/searchResultComponent.html","./ClientApp/core/pages/configurator/search/result/searchResultsDataHandler.ts","./ClientApp/core/pages/configurator/search/result/searchSelectionCacheService.ts","./ClientApp/core/pages/configurator/search/searchComponent.ts","./ClientApp/core/pages/configurator/search/searchComponent.html","./ClientApp/core/pages/configurator/search/searchInfoComponent.ts","./ClientApp/core/pages/configurator/search/searchInfoComponent.html","./ClientApp/core/pages/configurator/search/searchResultsResolver.ts","./ClientApp/core/pages/configurator/search/searchRoutes.ts","./ClientApp/core/pages/configurator/shared/abstractUIVisibilityService.ts","./ClientApp/core/pages/configurator/shared/bom/bomGrandTotalComponent.ts","./ClientApp/core/pages/configurator/shared/bom/bomGrandTotalComponent.html","./ClientApp/core/pages/configurator/shared/bom/bomTableComponent.ts","./ClientApp/core/pages/configurator/shared/bom/bomTableComponent.html","./ClientApp/core/pages/configurator/shared/confVisibilityService.ts","./ClientApp/core/pages/configurator/shared/configurationLinkComponent.ts","./ClientApp/core/pages/configurator/shared/configurationLinkComponent.html","./ClientApp/core/pages/configurator/shared/decorationComponent.ts","./ClientApp/core/pages/configurator/shared/documentsLinkComponent.ts","./ClientApp/core/pages/configurator/shared/documentsLinkComponent.html","./ClientApp/core/pages/configurator/shared/emitterComponent.ts","./ClientApp/core/pages/configurator/shared/emitterService.ts","./ClientApp/core/pages/configurator/shared/index.ts","./ClientApp/core/pages/configurator/shared/paramComponent.ts","./ClientApp/core/pages/configurator/shared/stickableSideBarComponent.ts","./ClientApp/core/pages/configurator/shared/tabCompositeConfigurationsComponent.ts","./ClientApp/core/pages/configurator/shared/tabCompositeConfigurationsComponent.html","./ClientApp/core/pages/configurator/shared/tabVisibilityService.ts","./ClientApp/core/pages/configurator/shared/visualObjectComponent.ts","./ClientApp/core/pages/configurator/shared/visualObjectContainerService.ts","./ClientApp/core/pages/configurator/shared/visualObjectFactoryComponent.ts","./ClientApp/core/pages/configurator/shared/visualObjectFactoryComponent.html","./ClientApp/core/pages/configurator/shared/visualObjectGroup.ts","./ClientApp/core/pages/configurator/shared/visualObjectGroupComponent.ts","./ClientApp/core/pages/configurator/shared/visualObjectGroupComponent.html","./ClientApp/core/pages/configurator/shared/visualObjectGroupDirective.ts","./ClientApp/core/pages/configurator/shared/visualObjectGroupWrapper.ts","./ClientApp/core/pages/configurator/shared/visualObjectLinkComponent.ts","./ClientApp/core/pages/configurator/shared/visualObjectLinkComponent.html","./ClientApp/core/pages/configurator/shared/visualObjectNavigatorService.ts","./ClientApp/core/pages/configurator/shared/visualObjectUIDataService.ts","./ClientApp/core/pages/configurator/shared/visualObjectVisibilityService.ts","./ClientApp/core/pages/configurator/shared/visualObjectsContainerComponent.ts","./ClientApp/core/pages/configurator/shared/visualObjectsContainerComponent.html","./ClientApp/core/pages/configurator/summary/attributes/abstractAttributesDetailComponent.ts","./ClientApp/core/pages/configurator/summary/attributes/attributesDetailComponent.ts","./ClientApp/core/pages/configurator/summary/attributes/attributesDetailComponent.html","./ClientApp/core/pages/configurator/summary/attributes/index.ts","./ClientApp/core/pages/configurator/summary/bom/bomDetailComponent.ts","./ClientApp/core/pages/configurator/summary/bom/bomDetailComponent.html","./ClientApp/core/pages/configurator/summary/code/codeDetailComponent.ts","./ClientApp/core/pages/configurator/summary/code/codeDetailComponent.html","./ClientApp/core/pages/configurator/summary/confPropertiesDetail/confPropertiesDetailComponent.ts","./ClientApp/core/pages/configurator/summary/confPropertiesDetail/confPropertiesDetailComponent.html","./ClientApp/core/pages/configurator/summary/dataSelector/dataSelectorDetailComponent.ts","./ClientApp/core/pages/configurator/summary/dataSelector/dataSelectorDetailComponent.html","./ClientApp/core/pages/configurator/summary/documents/documentsDetailComponent.ts","./ClientApp/core/pages/configurator/summary/documents/documentsDetailComponent.html","./ClientApp/core/pages/configurator/summary/form/formDetailComponent.ts","./ClientApp/core/pages/configurator/summary/form/formDetailComponent.html","./ClientApp/core/pages/configurator/summary/graphics/graphicsDetailComponent.ts","./ClientApp/core/pages/configurator/summary/graphics/graphicsDetailComponent.html","./ClientApp/core/pages/configurator/summary/image/imageDetailComponent.ts","./ClientApp/core/pages/configurator/summary/image/imageDetailComponent.html","./ClientApp/core/pages/configurator/summary/index.ts","./ClientApp/core/pages/configurator/summary/prices/SummaryDisplayStyle.ts","./ClientApp/core/pages/configurator/summary/prices/index.ts","./ClientApp/core/pages/configurator/summary/prices/pricesDetailComponent.ts","./ClientApp/core/pages/configurator/summary/prices/pricesDetailComponent.html","./ClientApp/core/pages/configurator/summary/providers/listModelCacheService.ts","./ClientApp/core/pages/configurator/summary/shared/baseDetailItemComponent.ts","./ClientApp/core/pages/configurator/summary/shared/listRowModel.ts","./ClientApp/core/pages/configurator/summary/summaryActionsBoxesComponent.ts","./ClientApp/core/pages/configurator/summary/summaryActionsBoxesComponent.html","./ClientApp/core/pages/configurator/summary/summaryBaseComponent.ts","./ClientApp/core/pages/configurator/summary/summaryDetailComponent.ts","./ClientApp/core/pages/configurator/summary/summaryDetailComponent.html","./ClientApp/core/pages/configurator/summary/tab/summaryParamDetailComponent.ts","./ClientApp/core/pages/configurator/summary/tab/summaryParamDetailComponent.html","./ClientApp/core/pages/configurator/summary/tab/tabDetailComponent.ts","./ClientApp/core/pages/configurator/summary/tab/tabDetailComponent.html","./ClientApp/core/pages/configurator/summary/visualization/visualizationDetailComponent.ts","./ClientApp/core/pages/configurator/summary/visualization/visualizationDetailComponent.html","./ClientApp/core/pages/configurator/summaryViewComponent.ts","./ClientApp/core/pages/configurator/summaryViewComponent.html","./ClientApp/core/pages/redirector/redirectorComponent.ts","./ClientApp/core/pages/redirector/redirectorComponent.html","./ClientApp/core/pages/selector/detailComponent.ts","./ClientApp/core/pages/selector/detailComponent.html","./ClientApp/core/pages/selector/providers/selectorActionCreator.ts","./ClientApp/core/pages/selector/providers/selectorStore.ts","./ClientApp/core/pages/selector/providers/selectorTreeDataProvider.ts","./ClientApp/core/pages/selector/selectorComponent.ts","./ClientApp/core/pages/selector/selectorComponent.html","./ClientApp/core/pages/selector/selectorHeaderComponent.ts","./ClientApp/core/pages/selector/SelectorHeaderComponent.html","./ClientApp/core/pages/settings/components/abstractUserSettingsComponent.ts","./ClientApp/core/pages/settings/components/index.ts","./ClientApp/core/pages/settings/components/userProfileComponent.ts","./ClientApp/core/pages/settings/components/userProfileComponent.html","./ClientApp/core/pages/settings/components/userSettingsComponent.ts","./ClientApp/core/pages/settings/components/userSettingsComponent.html","./ClientApp/core/pages/settings/index.ts","./ClientApp/core/pages/settings/providers/settingsStore.ts","./ClientApp/core/pages/settings/settingsComponent.ts","./ClientApp/core/pages/settings/settingsComponent.html","./ClientApp/core/pages/shared/baseActionBoxComponent.ts","./ClientApp/core/pages/shared/baseActionCreator.ts","./ClientApp/core/pages/shared/baseComponent.ts","./ClientApp/core/pages/shared/baseEntity.ts","./ClientApp/core/pages/shared/baseSyncObject.ts","./ClientApp/core/pages/shared/components/actionBox/actionBoxComponent.ts","./ClientApp/core/pages/shared/components/actionBox/actionBoxComponent.html","./ClientApp/core/pages/shared/components/actionBox/index.ts","./ClientApp/core/pages/shared/components/attachments/attachmentsActionBoxComponent.ts","./ClientApp/core/pages/shared/components/attachments/attachmentsActionBoxComponent.html","./ClientApp/core/pages/shared/components/attachments/attachmentsDataActionCreator.ts","./ClientApp/core/pages/shared/components/attachments/attachmentsDataController.ts","./ClientApp/core/pages/shared/components/attachments/attachmentsStore.ts","./ClientApp/core/pages/shared/components/attachments/attachmentsUploadPopupComponent.ts","./ClientApp/core/pages/shared/components/attachments/attachmentsUploadPopupComponent.html","./ClientApp/core/pages/shared/components/attachments/deleteAttachmentPopupComponent.ts","./ClientApp/core/pages/shared/components/attachments/deleteAttachmentPopupComponent.html","./ClientApp/core/pages/shared/components/attachments/index.ts","./ClientApp/core/pages/shared/components/attachments/uploadComponent.ts","./ClientApp/core/pages/shared/components/attachments/uploadComponent.html","./ClientApp/core/pages/shared/components/autoComplete/autoCompleteComponent.ts","./ClientApp/core/pages/shared/components/autoComplete/autocompleteComponent.html","./ClientApp/core/pages/shared/components/autoComplete/autoCompleteModel.ts","./ClientApp/core/pages/shared/components/autoComplete/index.ts","./ClientApp/core/pages/shared/components/changePassword/changePasswordPopupComponent.ts","./ClientApp/core/pages/shared/components/changePassword/changePasswordPopupComponent.html","./ClientApp/core/pages/shared/components/changePassword/index.ts","./ClientApp/core/pages/shared/components/code/codeActionBoxComponent.ts","./ClientApp/core/pages/shared/components/code/codeActionBoxComponent.html","./ClientApp/core/pages/shared/components/code/codeDecorationValueModel.ts","./ClientApp/core/pages/shared/components/code/decorationCodesBuilderComponent.ts","./ClientApp/core/pages/shared/components/code/decorationCodesBuilderComponent.html","./ClientApp/core/pages/shared/components/code/decorationCodesRendererComponent.ts","./ClientApp/core/pages/shared/components/code/decorationCodesRendererComponent.html","./ClientApp/core/pages/shared/components/code/displayStyles/baseCodeDisplayStyleComponent.ts","./ClientApp/core/pages/shared/components/code/displayStyles/codeDownloadLinkStyleComponent.ts","./ClientApp/core/pages/shared/components/code/displayStyles/codeDownloadLinkStyleComponent.html","./ClientApp/core/pages/shared/components/code/displayStyles/codePopupStyleComponent.ts","./ClientApp/core/pages/shared/components/code/displayStyles/codePopupStyleComponent.html","./ClientApp/core/pages/shared/components/code/displayStyles/codeRenderStyleComponent.ts","./ClientApp/core/pages/shared/components/code/displayStyles/codeRenderStyleComponent.html","./ClientApp/core/pages/shared/components/code/index.ts","./ClientApp/core/pages/shared/components/code/providers/baseCodeValuesProvider.ts","./ClientApp/core/pages/shared/components/code/providers/calculatedCodeValuesProvider.ts","./ClientApp/core/pages/shared/components/code/providers/codeValueModelBuilder.ts","./ClientApp/core/pages/shared/components/code/providers/storedCodeValuesProvider.ts","./ClientApp/core/pages/shared/components/documents/documentsActionBoxComponent.ts","./ClientApp/core/pages/shared/components/documents/documentsActionBoxComponent.html","./ClientApp/core/pages/shared/components/documents/index.ts","./ClientApp/core/pages/shared/components/form/formActionBoxComponent.ts","./ClientApp/core/pages/shared/components/form/formActionBoxComponent.html","./ClientApp/core/pages/shared/components/form/index.ts","./ClientApp/core/pages/shared/components/form/providers/formValueModelBuilder.ts","./ClientApp/core/pages/shared/components/graphics/graphicsActionBoxComponent.ts","./ClientApp/core/pages/shared/components/graphics/graphicsActionBoxComponent.html","./ClientApp/core/pages/shared/components/graphics/graphicsControlIconsComponent.ts","./ClientApp/core/pages/shared/components/graphics/graphicsControlIconsComponent.html","./ClientApp/core/pages/shared/components/graphics/graphicsDownloadComponent.ts","./ClientApp/core/pages/shared/components/graphics/graphicsDownloadComponent.html","./ClientApp/core/pages/shared/components/graphics/graphicsHelper.ts","./ClientApp/core/pages/shared/components/graphics/graphicsRendererComponent.ts","./ClientApp/core/pages/shared/components/graphics/graphicsRendererComponent.html","./ClientApp/core/pages/shared/components/graphics/index.ts","./ClientApp/core/pages/shared/components/graphics/svgActions.ts","./ClientApp/core/pages/shared/components/graphics/svgPanZoomDirective.ts","./ClientApp/core/pages/shared/components/header/headerComponent.ts","./ClientApp/core/pages/shared/components/header/headerComponent.html","./ClientApp/core/pages/shared/components/index.ts","./ClientApp/core/pages/shared/components/list/baseListModel.ts","./ClientApp/core/pages/shared/components/list/index.ts","./ClientApp/core/pages/shared/components/list/listComponent.ts","./ClientApp/core/pages/shared/components/list/listComponent.html","./ClientApp/core/pages/shared/components/list/listItemComponent.ts","./ClientApp/core/pages/shared/components/list/listItemComponent.html","./ClientApp/core/pages/shared/components/list/listItemModel.ts","./ClientApp/core/pages/shared/components/list/listModel.ts","./ClientApp/core/pages/shared/components/operations/changeOwnershipPopupComponent.ts","./ClientApp/core/pages/shared/components/operations/changeOwnershipPopupComponent.html","./ClientApp/core/pages/shared/components/operations/index.ts","./ClientApp/core/pages/shared/components/operations/operationsActionBoxComponent.ts","./ClientApp/core/pages/shared/components/operations/operationsActionBoxComponent.html","./ClientApp/core/pages/shared/components/pager/index.ts","./ClientApp/core/pages/shared/components/pager/pagerComponent.ts","./ClientApp/core/pages/shared/components/pager/pagerComponent.html","./ClientApp/core/pages/shared/components/pager/pagerModel.ts","./ClientApp/core/pages/shared/components/pager/pagerService.ts","./ClientApp/core/pages/shared/components/priceReport/components/priceEditorComponent.ts","./ClientApp/core/pages/shared/components/priceReport/components/priceEditorComponent.html","./ClientApp/core/pages/shared/components/priceReport/components/priceEditorService.ts","./ClientApp/core/pages/shared/components/priceReport/priceListReportComponent.ts","./ClientApp/core/pages/shared/components/priceReport/priceListReportComponent.html","./ClientApp/core/pages/shared/components/priceReport/priceReportRowView.ts","./ClientApp/core/pages/shared/components/print/printCheckboxComponent.ts","./ClientApp/core/pages/shared/components/print/printCheckboxComponent.html","./ClientApp/core/pages/shared/components/print/summaryPrintComponent.ts","./ClientApp/core/pages/shared/components/print/summaryPrintComponent.html","./ClientApp/core/pages/shared/components/push/index.ts","./ClientApp/core/pages/shared/components/push/pushMessageComponent.ts","./ClientApp/core/pages/shared/components/push/pushMessageComponent.html","./ClientApp/core/pages/shared/components/push/uiElementComponent.ts","./ClientApp/core/pages/shared/components/push/uiElementComponent.html","./ClientApp/core/pages/shared/components/reports/index.ts","./ClientApp/core/pages/shared/components/reports/reportsActionBoxComponent.ts","./ClientApp/core/pages/shared/components/reports/reportsActionBoxComponent.html","./ClientApp/core/pages/shared/components/revisions/index.ts","./ClientApp/core/pages/shared/components/revisions/revisionItemComponent.ts","./ClientApp/core/pages/shared/components/revisions/revisionItemComponent.html","./ClientApp/core/pages/shared/components/revisions/revisionsActionBoxComponent.ts","./ClientApp/core/pages/shared/components/revisions/revisionsActionBoxComponent.html","./ClientApp/core/pages/shared/components/shared/enums/index.ts","./ClientApp/core/pages/shared/components/shared/enums/paramType.ts","./ClientApp/core/pages/shared/components/shared/index.ts","./ClientApp/core/pages/shared/components/states/index.ts","./ClientApp/core/pages/shared/components/states/stateActionCreator.ts","./ClientApp/core/pages/shared/components/states/stateActionPopupComponent.ts","./ClientApp/core/pages/shared/components/states/stateActionPopupComponent.html","./ClientApp/core/pages/shared/components/states/stateActions.ts","./ClientApp/core/pages/shared/components/states/stateController.ts","./ClientApp/core/pages/shared/components/states/stateHistoryPopupComponent.ts","./ClientApp/core/pages/shared/components/states/stateHistoryPopupComponent.html","./ClientApp/core/pages/shared/components/states/stateItemComponent.ts","./ClientApp/core/pages/shared/components/states/stateItemComponent.html","./ClientApp/core/pages/shared/components/states/stateStore.ts","./ClientApp/core/pages/shared/components/states/statesActionBoxComponent.ts","./ClientApp/core/pages/shared/components/states/statesActionBoxComponent.html","./ClientApp/core/pages/shared/components/visualObjectIcon/index.ts","./ClientApp/core/pages/shared/components/visualObjectIcon/visualObjectIconComponent.ts","./ClientApp/core/pages/shared/components/visualObjectIcon/visualObjectIconComponent.html","./ClientApp/core/pages/shared/components/visualObjectIcon/visualObjectVaultIconComponent.ts","./ClientApp/core/pages/shared/components/visualObjectIcon/visualObjectVaultIconComponent.html","./ClientApp/core/pages/shared/index.ts","./ClientApp/core/pages/shared/models/client/index.ts","./ClientApp/core/pages/shared/models/client/sessionStorageData.ts","./ClientApp/core/pages/shared/models/entities/abstractCodeValue.ts","./ClientApp/core/pages/shared/models/entities/assortment.ts","./ClientApp/core/pages/shared/models/entities/attribute.ts","./ClientApp/core/pages/shared/models/entities/attributeDecoration.ts","./ClientApp/core/pages/shared/models/entities/attributeDecorationItem.ts","./ClientApp/core/pages/shared/models/entities/authorizationGroup.ts","./ClientApp/core/pages/shared/models/entities/bomDecoration.ts","./ClientApp/core/pages/shared/models/entities/boolParam.ts","./ClientApp/core/pages/shared/models/entities/codeDecoration.ts","./ClientApp/core/pages/shared/models/entities/codeDecorationItem.ts","./ClientApp/core/pages/shared/models/entities/comparison.ts","./ClientApp/core/pages/shared/models/entities/comparisonValue.ts","./ClientApp/core/pages/shared/models/entities/conf.ts","./ClientApp/core/pages/shared/models/entities/confAttachment.ts","./ClientApp/core/pages/shared/models/entities/confAttributeValue.ts","./ClientApp/core/pages/shared/models/entities/confAuthorization.ts","./ClientApp/core/pages/shared/models/entities/confAutoCompleteItem.ts","./ClientApp/core/pages/shared/models/entities/confBomValue.ts","./ClientApp/core/pages/shared/models/entities/confBoolValue.ts","./ClientApp/core/pages/shared/models/entities/confCodeValue.ts","./ClientApp/core/pages/shared/models/entities/confDataSelectorValue.ts","./ClientApp/core/pages/shared/models/entities/confDocumentValue.ts","./ClientApp/core/pages/shared/models/entities/confDoubleValue.ts","./ClientApp/core/pages/shared/models/entities/confFormControlValue.ts","./ClientApp/core/pages/shared/models/entities/confFormValue.ts","./ClientApp/core/pages/shared/models/entities/confGraphicValue.ts","./ClientApp/core/pages/shared/models/entities/confHeaderValue.ts","./ClientApp/core/pages/shared/models/entities/confHistory.ts","./ClientApp/core/pages/shared/models/entities/confImageValue.ts","./ClientApp/core/pages/shared/models/entities/confInfo.ts","./ClientApp/core/pages/shared/models/entities/confIntValue.ts","./ClientApp/core/pages/shared/models/entities/confLookupValue.ts","./ClientApp/core/pages/shared/models/entities/confMultiChoiceValue.ts","./ClientApp/core/pages/shared/models/entities/confMultiSetValue.ts","./ClientApp/core/pages/shared/models/entities/confPriceValue.ts","./ClientApp/core/pages/shared/models/entities/confPropertyValue.ts","./ClientApp/core/pages/shared/models/entities/confReport.ts","./ClientApp/core/pages/shared/models/entities/confRevision.ts","./ClientApp/core/pages/shared/models/entities/confSearchAuthorization.ts","./ClientApp/core/pages/shared/models/entities/confSearchCriteria.ts","./ClientApp/core/pages/shared/models/entities/confSearchParameter.ts","./ClientApp/core/pages/shared/models/entities/confSearchProperty.ts","./ClientApp/core/pages/shared/models/entities/confStringValue.ts","./ClientApp/core/pages/shared/models/entities/confUIItem.ts","./ClientApp/core/pages/shared/models/entities/confValue.ts","./ClientApp/core/pages/shared/models/entities/confVisualizationValue.ts","./ClientApp/core/pages/shared/models/entities/configurationSearch.ts","./ClientApp/core/pages/shared/models/entities/currency.ts","./ClientApp/core/pages/shared/models/entities/customer.ts","./ClientApp/core/pages/shared/models/entities/customerContact.ts","./ClientApp/core/pages/shared/models/entities/customerSite.ts","./ClientApp/core/pages/shared/models/entities/dataSelectColumn.ts","./ClientApp/core/pages/shared/models/entities/dataSelector.ts","./ClientApp/core/pages/shared/models/entities/decoration.ts","./ClientApp/core/pages/shared/models/entities/documentsDecoration.ts","./ClientApp/core/pages/shared/models/entities/doubleParam.ts","./ClientApp/core/pages/shared/models/entities/formDecoration.ts","./ClientApp/core/pages/shared/models/entities/graphicsDecoration.ts","./ClientApp/core/pages/shared/models/entities/groupConfUIItem.ts","./ClientApp/core/pages/shared/models/entities/headerDecoration.ts","./ClientApp/core/pages/shared/models/entities/imageDecoration.ts","./ClientApp/core/pages/shared/models/entities/index.ts","./ClientApp/core/pages/shared/models/entities/intParam.ts","./ClientApp/core/pages/shared/models/entities/language.ts","./ClientApp/core/pages/shared/models/entities/lookupParam.ts","./ClientApp/core/pages/shared/models/entities/lookupValue.ts","./ClientApp/core/pages/shared/models/entities/multiChoiceParam.ts","./ClientApp/core/pages/shared/models/entities/multiChoiceValue.ts","./ClientApp/core/pages/shared/models/entities/numberSeries.ts","./ClientApp/core/pages/shared/models/entities/param.ts","./ClientApp/core/pages/shared/models/entities/paramValue.ts","./ClientApp/core/pages/shared/models/entities/priceCategory.ts","./ClientApp/core/pages/shared/models/entities/priceListCategory.ts","./ClientApp/core/pages/shared/models/entities/priceListDecoration.ts","./ClientApp/core/pages/shared/models/entities/product.ts","./ClientApp/core/pages/shared/models/entities/productFamily.ts","./ClientApp/core/pages/shared/models/entities/propertyDecoration.ts","./ClientApp/core/pages/shared/models/entities/propertyDecorationItem.ts","./ClientApp/core/pages/shared/models/entities/pushMessage.ts","./ClientApp/core/pages/shared/models/entities/pushMessageData.ts","./ClientApp/core/pages/shared/models/entities/recentConf.ts","./ClientApp/core/pages/shared/models/entities/refObject.ts","./ClientApp/core/pages/shared/models/entities/serverPushMessage.ts","./ClientApp/core/pages/shared/models/entities/state.ts","./ClientApp/core/pages/shared/models/entities/storedAttributeValue.ts","./ClientApp/core/pages/shared/models/entities/storedCodeValue.ts","./ClientApp/core/pages/shared/models/entities/storedConf.ts","./ClientApp/core/pages/shared/models/entities/storedDataSelectorValue.ts","./ClientApp/core/pages/shared/models/entities/storedPriceValue.ts","./ClientApp/core/pages/shared/models/entities/stringParam.ts","./ClientApp/core/pages/shared/models/entities/systemAuthorization.ts","./ClientApp/core/pages/shared/models/entities/systemInformation.ts","./ClientApp/core/pages/shared/models/entities/tab.ts","./ClientApp/core/pages/shared/models/entities/textDecoration.ts","./ClientApp/core/pages/shared/models/entities/uiAction.ts","./ClientApp/core/pages/shared/models/entities/uiElement.ts","./ClientApp/core/pages/shared/models/entities/uiEventOperation.ts","./ClientApp/core/pages/shared/models/entities/uiGroup.ts","./ClientApp/core/pages/shared/models/entities/uiImage.ts","./ClientApp/core/pages/shared/models/entities/uiInput.ts","./ClientApp/core/pages/shared/models/entities/uiLabel.ts","./ClientApp/core/pages/shared/models/entities/uiLink.ts","./ClientApp/core/pages/shared/models/entities/uiNotification.ts","./ClientApp/core/pages/shared/models/entities/uiPopup.ts","./ClientApp/core/pages/shared/models/entities/uiSelect.ts","./ClientApp/core/pages/shared/models/entities/uiText.ts","./ClientApp/core/pages/shared/models/entities/user.ts","./ClientApp/core/pages/shared/models/entities/userInfo.ts","./ClientApp/core/pages/shared/models/entities/visualObject.ts","./ClientApp/core/pages/shared/models/entities/visualizationDecoration.ts","./ClientApp/core/pages/shared/models/entities/workGroup.ts","./ClientApp/core/pages/shared/models/index.ts","./ClientApp/core/pages/shared/models/requests/accountDataRequest.ts","./ClientApp/core/pages/shared/models/requests/arguments/confPropertyValueArgument.ts","./ClientApp/core/pages/shared/models/requests/arguments/confValueArgument.ts","./ClientApp/core/pages/shared/models/requests/arguments/gridArgument.ts","./ClientApp/core/pages/shared/models/requests/arguments/index.ts","./ClientApp/core/pages/shared/models/requests/arguments/paginationArgument.ts","./ClientApp/core/pages/shared/models/requests/arguments/recentOptions.ts","./ClientApp/core/pages/shared/models/requests/arguments/searchArgument.ts","./ClientApp/core/pages/shared/models/requests/arguments/sortingArgument.ts","./ClientApp/core/pages/shared/models/requests/arguments/tabOptions.ts","./ClientApp/core/pages/shared/models/requests/arguments/visualObjectOptions.ts","./ClientApp/core/pages/shared/models/requests/baseRequest.ts","./ClientApp/core/pages/shared/models/requests/clientPushMessage.ts","./ClientApp/core/pages/shared/models/requests/commands/abstractAccountDataCommand.ts","./ClientApp/core/pages/shared/models/requests/commands/abstractConfDataCommand.ts","./ClientApp/core/pages/shared/models/requests/commands/abstractGlobalDataCommand.ts","./ClientApp/core/pages/shared/models/requests/commands/abstractProductDataCommand.ts","./ClientApp/core/pages/shared/models/requests/commands/abstractSearchDataCommand.ts","./ClientApp/core/pages/shared/models/requests/commands/accountEntitiesCommand.ts","./ClientApp/core/pages/shared/models/requests/commands/accountVerificationCommand.ts","./ClientApp/core/pages/shared/models/requests/commands/assortmentCommand.ts","./ClientApp/core/pages/shared/models/requests/commands/attachmentCommand.ts","./ClientApp/core/pages/shared/models/requests/commands/baseCommand.ts","./ClientApp/core/pages/shared/models/requests/commands/bomCommand.ts","./ClientApp/core/pages/shared/models/requests/commands/bomItem.ts","./ClientApp/core/pages/shared/models/requests/commands/changeOwnershipCommand.ts","./ClientApp/core/pages/shared/models/requests/commands/codeCommand.ts","./ClientApp/core/pages/shared/models/requests/commands/comparisonCommand.ts","./ClientApp/core/pages/shared/models/requests/commands/confDeleteCommand.ts","./ClientApp/core/pages/shared/models/requests/commands/confSessionCommand.ts","./ClientApp/core/pages/shared/models/requests/commands/contactCommand.ts","./ClientApp/core/pages/shared/models/requests/commands/copyCommand.ts","./ClientApp/core/pages/shared/models/requests/commands/createCommand.ts","./ClientApp/core/pages/shared/models/requests/commands/currentUserCommand.ts","./ClientApp/core/pages/shared/models/requests/commands/dataSelectorCommand.ts","./ClientApp/core/pages/shared/models/requests/commands/disallowedValueCommand.ts","./ClientApp/core/pages/shared/models/requests/commands/fileUpload.ts","./ClientApp/core/pages/shared/models/requests/commands/formCommand.ts","./ClientApp/core/pages/shared/models/requests/commands/getCommand.ts","./ClientApp/core/pages/shared/models/requests/commands/globalEntitiesCommand.ts","./ClientApp/core/pages/shared/models/requests/commands/globalSettingsCommand.ts","./ClientApp/core/pages/shared/models/requests/commands/importCommand.ts","./ClientApp/core/pages/shared/models/requests/commands/index.ts","./ClientApp/core/pages/shared/models/requests/commands/javaScriptCommand.ts","./ClientApp/core/pages/shared/models/requests/commands/localizeCommand.ts","./ClientApp/core/pages/shared/models/requests/commands/loginCommand.ts","./ClientApp/core/pages/shared/models/requests/commands/loginUserType.ts","./ClientApp/core/pages/shared/models/requests/commands/logoutCommand.ts","./ClientApp/core/pages/shared/models/requests/commands/mandatoryParamsCommand.ts","./ClientApp/core/pages/shared/models/requests/commands/orderCommand.ts","./ClientApp/core/pages/shared/models/requests/commands/passwordChangeCommand.ts","./ClientApp/core/pages/shared/models/requests/commands/passwordRecoverCommand.ts","./ClientApp/core/pages/shared/models/requests/commands/priceCommand.ts","./ClientApp/core/pages/shared/models/requests/commands/productCommand.ts","./ClientApp/core/pages/shared/models/requests/commands/readOnlyParamCommand.ts","./ClientApp/core/pages/shared/models/requests/commands/ruleCommand.ts","./ClientApp/core/pages/shared/models/requests/commands/savedSearchCommand.ts","./ClientApp/core/pages/shared/models/requests/commands/searchCommand.ts","./ClientApp/core/pages/shared/models/requests/commands/signUpCommand.ts","./ClientApp/core/pages/shared/models/requests/commands/stateCommand.ts","./ClientApp/core/pages/shared/models/requests/commands/tabCommand.ts","./ClientApp/core/pages/shared/models/requests/commands/updateCommand.ts","./ClientApp/core/pages/shared/models/requests/comparisonDataRequest.ts","./ClientApp/core/pages/shared/models/requests/confAttachmentRequest.ts","./ClientApp/core/pages/shared/models/requests/confCodeRequest.ts","./ClientApp/core/pages/shared/models/requests/confDataRequest.ts","./ClientApp/core/pages/shared/models/requests/confDocumentRequest.ts","./ClientApp/core/pages/shared/models/requests/confGraphicsRequest.ts","./ClientApp/core/pages/shared/models/requests/confReportRequest.ts","./ClientApp/core/pages/shared/models/requests/confResponseFormat.ts","./ClientApp/core/pages/shared/models/requests/defaultRequest.ts","./ClientApp/core/pages/shared/models/requests/globalDataRequest.ts","./ClientApp/core/pages/shared/models/requests/index.ts","./ClientApp/core/pages/shared/models/requests/popupClientChoiceRequest.ts","./ClientApp/core/pages/shared/models/requests/productDataRequest.ts","./ClientApp/core/pages/shared/models/requests/requestViews.ts","./ClientApp/core/pages/shared/models/requests/searchDataRequest.ts","./ClientApp/core/pages/shared/models/requests/storedConfResponseFormat.ts","./ClientApp/core/pages/shared/models/responses/accountDataResponse.ts","./ClientApp/core/pages/shared/models/responses/apiAuthorizationException.ts","./ClientApp/core/pages/shared/models/responses/apiException.ts","./ClientApp/core/pages/shared/models/responses/apiResponse.ts","./ClientApp/core/pages/shared/models/responses/attributeInfo.ts","./ClientApp/core/pages/shared/models/responses/baseResponse.ts","./ClientApp/core/pages/shared/models/responses/bomAutoCompleteRow.ts","./ClientApp/core/pages/shared/models/responses/bomColumnSetting.ts","./ClientApp/core/pages/shared/models/responses/comparisonDataResponse.ts","./ClientApp/core/pages/shared/models/responses/confDataProperty.ts","./ClientApp/core/pages/shared/models/responses/confDataResponse.ts","./ClientApp/core/pages/shared/models/responses/confInfoResult.ts","./ClientApp/core/pages/shared/models/responses/confSearchResultItem.ts","./ClientApp/core/pages/shared/models/responses/contactField.ts","./ClientApp/core/pages/shared/models/responses/globalDataResponse.ts","./ClientApp/core/pages/shared/models/responses/globalSettings.ts","./ClientApp/core/pages/shared/models/responses/grid.ts","./ClientApp/core/pages/shared/models/responses/gridRow.ts","./ClientApp/core/pages/shared/models/responses/index.ts","./ClientApp/core/pages/shared/models/responses/keyValue.ts","./ClientApp/core/pages/shared/models/responses/localizeData.ts","./ClientApp/core/pages/shared/models/responses/messages/abstractAccountMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/abstractComparisonDataMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/abstractConfigurationMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/abstractImmutableValueMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/abstractOperationMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/abstractSearchDataMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/apiMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/attachmentOperationMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/baseMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/bomAutoCompleteMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/bomDetailMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/bomItemMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/bomOperationMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/cacheReloadMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/changeOwnershipMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/clearedParamInfo.ts","./ClientApp/core/pages/shared/models/responses/messages/clearedParamMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/clearedPricesMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/comparisonOrderChangeMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/complexSequentialPopups.ts","./ClientApp/core/pages/shared/models/responses/messages/confAutoCompleteMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/confDeleteMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/confEmailMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/confErrorMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/confSaveMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/confValueErrorMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/copyDestinationMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/copyOperationMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/dataSelectorGridMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/dataSelectorKeyDetailMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/dataSelectorOperationMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/deleteSearchMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/disallowedValueMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/genericMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/importOperationMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/index.ts","./ClientApp/core/pages/shared/models/responses/messages/integrationSettings.ts","./ClientApp/core/pages/shared/models/responses/messages/loginMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/logoutMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/mandatoryParamsMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/orderOperationMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/passwordChangeMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/passwordRecoverMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/popupObject.ts","./ClientApp/core/pages/shared/models/responses/messages/popupSequence.ts","./ClientApp/core/pages/shared/models/responses/messages/priceOperationMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/priceReportCategory.ts","./ClientApp/core/pages/shared/models/responses/messages/priceReportChildTotal.ts","./ClientApp/core/pages/shared/models/responses/messages/priceReportItem.ts","./ClientApp/core/pages/shared/models/responses/messages/priceReportMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/priceSettingMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/readOnlyParamMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/redirectMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/ruleConfirmationMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/ruleInformationMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/saveSearchMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/stateActionInfoMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/stateActionResultMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/storedPriceReportMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/userUpdateMessage.ts","./ClientApp/core/pages/shared/models/responses/messages/warningAttributesMessage.ts","./ClientApp/core/pages/shared/models/responses/paginationInfo.ts","./ClientApp/core/pages/shared/models/responses/paramInfo.ts","./ClientApp/core/pages/shared/models/responses/paramValueInfo.ts","./ClientApp/core/pages/shared/models/responses/productDataResponse.ts","./ClientApp/core/pages/shared/models/responses/ruleInfo.ts","./ClientApp/core/pages/shared/models/responses/searchDataResponse.ts","./ClientApp/core/pages/shared/models/responses/searchInfo.ts","./ClientApp/core/pages/shared/models/responses/searchResult.ts","./ClientApp/core/pages/shared/models/responses/sortingInfo.ts","./ClientApp/core/pages/shared/models/responses/uiSettings.ts","./ClientApp/core/pages/shared/models/responses/uiSettingsResponse.ts","./ClientApp/core/pages/shared/models/responses/userSettings.ts","./ClientApp/core/pages/shared/models/responses/webSettings.ts","./ClientApp/core/pages/shared/models/responses/webSettingsResponse.ts","./ClientApp/core/pages/shared/pageComponent.ts","./ClientApp/core/pages/shared/providers/BroadcastChannelService.ts","./ClientApp/core/pages/shared/providers/accountData/accountDataActionCreator.ts","./ClientApp/core/pages/shared/providers/accountData/accountDataController.ts","./ClientApp/core/pages/shared/providers/accountData/accountDataMemorizer.ts","./ClientApp/core/pages/shared/providers/accountData/accountDataMessageProvider.ts","./ClientApp/core/pages/shared/providers/accountData/accountDataNormalizer.ts","./ClientApp/core/pages/shared/providers/accountData/accountDataSchema.ts","./ClientApp/core/pages/shared/providers/accountData/accountDataStore.ts","./ClientApp/core/pages/shared/providers/accountData/index.ts","./ClientApp/core/pages/shared/providers/apiMessageProvider.ts","./ClientApp/core/pages/shared/providers/apiResponseBuilder.ts","./ClientApp/core/pages/shared/providers/appActionCreator.ts","./ClientApp/core/pages/shared/providers/appController.ts","./ClientApp/core/pages/shared/providers/appStoreSubscriptionManager.ts","./ClientApp/core/pages/shared/providers/applicationLifeCycleService.ts","./ClientApp/core/pages/shared/providers/authGuard.ts","./ClientApp/core/pages/shared/providers/authenticationTokenTypes.ts","./ClientApp/core/pages/shared/providers/baseController.ts","./ClientApp/core/pages/shared/providers/configurationData/confDataActionCreator.ts","./ClientApp/core/pages/shared/providers/configurationData/confDataController.ts","./ClientApp/core/pages/shared/providers/configurationData/confDataNormalizer.ts","./ClientApp/core/pages/shared/providers/configurationData/confDataSchema.ts","./ClientApp/core/pages/shared/providers/configurationData/index.ts","./ClientApp/core/pages/shared/providers/entityReselectorService.ts","./ClientApp/core/pages/shared/providers/exceptionHandler.ts","./ClientApp/core/pages/shared/providers/globalData/globalDataActionCreator.ts","./ClientApp/core/pages/shared/providers/globalData/globalDataController.ts","./ClientApp/core/pages/shared/providers/globalData/globalDataNormalizer.ts","./ClientApp/core/pages/shared/providers/globalData/globalDataSchema.ts","./ClientApp/core/pages/shared/providers/globalData/globalDataStore.ts","./ClientApp/core/pages/shared/providers/globalData/index.ts","./ClientApp/core/pages/shared/providers/globalData/strings.ts","./ClientApp/core/pages/shared/providers/httpErrorCodeHandler.ts","./ClientApp/core/pages/shared/providers/httpInterceptService.ts","./ClientApp/core/pages/shared/providers/httpLifeCycleService.ts","./ClientApp/core/pages/shared/providers/httpRequestTrackerService.ts","./ClientApp/core/pages/shared/providers/iconTools.ts","./ClientApp/core/pages/shared/providers/imageService.ts","./ClientApp/core/pages/shared/providers/index.ts","./ClientApp/core/pages/shared/providers/modelFactory.ts","./ClientApp/core/pages/shared/providers/modelLabelService.ts","./ClientApp/core/pages/shared/providers/page/index.ts","./ClientApp/core/pages/shared/providers/page/pageActionCreator.ts","./ClientApp/core/pages/shared/providers/page/pageDataMemorizer.ts","./ClientApp/core/pages/shared/providers/page/pageStore.ts","./ClientApp/core/pages/shared/providers/page/pageUIStore.ts","./ClientApp/core/pages/shared/providers/productData/index.ts","./ClientApp/core/pages/shared/providers/productData/productDataActionCreator.ts","./ClientApp/core/pages/shared/providers/productData/productDataController.ts","./ClientApp/core/pages/shared/providers/productData/productDataNormalizer.ts","./ClientApp/core/pages/shared/providers/productData/productDataSchema.ts","./ClientApp/core/pages/shared/providers/productData/productDataStore.ts","./ClientApp/core/pages/shared/providers/pushMessage/index.ts","./ClientApp/core/pages/shared/providers/pushMessage/pushMessageActionCreator.ts","./ClientApp/core/pages/shared/providers/pushMessage/pushMessageController.ts","./ClientApp/core/pages/shared/providers/pushMessage/pushMessageMemorizer.ts","./ClientApp/core/pages/shared/providers/pushMessage/pushMessageNormalizer.ts","./ClientApp/core/pages/shared/providers/pushMessage/pushMessageSchema.ts","./ClientApp/core/pages/shared/providers/pushMessage/pushMessageSelection.ts","./ClientApp/core/pages/shared/providers/pushMessage/pushMessageStore.ts","./ClientApp/core/pages/shared/providers/pushMessage/signalRService.ts","./ClientApp/core/pages/shared/providers/reselectorService.ts","./ClientApp/core/pages/shared/providers/routeNames.ts","./ClientApp/core/pages/shared/providers/routeParams.ts","./ClientApp/core/pages/shared/providers/routeRedirector.ts","./ClientApp/core/pages/shared/providers/searchData/index.ts","./ClientApp/core/pages/shared/providers/searchData/searchDataActionCreator.ts","./ClientApp/core/pages/shared/providers/searchData/searchDataController.ts","./ClientApp/core/pages/shared/providers/searchData/searchDataMemorizer.ts","./ClientApp/core/pages/shared/providers/searchData/searchDataMessageProvider.ts","./ClientApp/core/pages/shared/providers/searchData/searchDataNormalizer.ts","./ClientApp/core/pages/shared/providers/searchData/searchDataStore.ts","./ClientApp/core/pages/shared/providers/sessionStorageService.ts","./ClientApp/core/pages/shared/providers/startupArguments.ts","./ClientApp/core/pages/shared/providers/tabDisplayStyle.ts","./ClientApp/core/pages/shared/providers/uiElementSchema.ts","./ClientApp/core/pages/shared/providers/valueSubscriptionManager.ts","./ClientApp/core/pages/shared/state/accountData/accountDataActions.ts","./ClientApp/core/pages/shared/state/accountData/accountDataReducer.ts","./ClientApp/core/pages/shared/state/accountData/index.ts","./ClientApp/core/pages/shared/state/actionInfo.ts","./ClientApp/core/pages/shared/state/appReducer.ts","./ClientApp/core/pages/shared/state/appStore.ts","./ClientApp/core/pages/shared/state/baseStore.ts","./ClientApp/core/pages/shared/state/configurationData/confDataActions.ts","./ClientApp/core/pages/shared/state/configurationData/confDataReducer.ts","./ClientApp/core/pages/shared/state/configurationData/index.ts","./ClientApp/core/pages/shared/state/globalData/globalDataActions.ts","./ClientApp/core/pages/shared/state/globalData/globalDataReducer.ts","./ClientApp/core/pages/shared/state/globalData/index.ts","./ClientApp/core/pages/shared/state/index.ts","./ClientApp/core/pages/shared/state/page/confUIReducer.ts","./ClientApp/core/pages/shared/state/page/configuratorPageUIReducer.ts","./ClientApp/core/pages/shared/state/page/index.ts","./ClientApp/core/pages/shared/state/page/pageActions.ts","./ClientApp/core/pages/shared/state/page/pageReducer.ts","./ClientApp/core/pages/shared/state/page/selectorPageUIReducer.ts","./ClientApp/core/pages/shared/state/productData/index.ts","./ClientApp/core/pages/shared/state/productData/productDataActions.ts","./ClientApp/core/pages/shared/state/productData/productDataReducer.ts","./ClientApp/core/pages/shared/state/pushMessage/pushMessageActions.ts","./ClientApp/core/pages/shared/state/pushMessage/pushMessageReducer.ts","./ClientApp/core/pages/shared/state/searchData/index.ts","./ClientApp/core/pages/shared/state/searchData/searchDataActions.ts","./ClientApp/core/pages/shared/state/searchData/searchDataReducer.ts","./ClientApp/core/pages/shared/state/shared/accordionUIData.ts","./ClientApp/core/pages/shared/state/shared/accountDataState.ts","./ClientApp/core/pages/shared/state/shared/actionStatus.ts","./ClientApp/core/pages/shared/state/shared/actions.ts","./ClientApp/core/pages/shared/state/shared/appAction.ts","./ClientApp/core/pages/shared/state/shared/appAsyncAction.ts","./ClientApp/core/pages/shared/state/shared/appState.ts","./ClientApp/core/pages/shared/state/shared/comparisonDataState.ts","./ClientApp/core/pages/shared/state/shared/comparisonSession.ts","./ClientApp/core/pages/shared/state/shared/comparisonSessionData.ts","./ClientApp/core/pages/shared/state/shared/compositeUIData.ts","./ClientApp/core/pages/shared/state/shared/confDataState.ts","./ClientApp/core/pages/shared/state/shared/confSessionData.ts","./ClientApp/core/pages/shared/state/shared/confUIData.ts","./ClientApp/core/pages/shared/state/shared/configuratorPageUIData.ts","./ClientApp/core/pages/shared/state/shared/globalDataState.ts","./ClientApp/core/pages/shared/state/shared/httpAction.ts","./ClientApp/core/pages/shared/state/shared/index.ts","./ClientApp/core/pages/shared/state/shared/pageConfIdentifier.ts","./ClientApp/core/pages/shared/state/shared/pageState.ts","./ClientApp/core/pages/shared/state/shared/pageUIData.ts","./ClientApp/core/pages/shared/state/shared/productDataState.ts","./ClientApp/core/pages/shared/state/shared/pushData.ts","./ClientApp/core/pages/shared/state/shared/pushMessageState.ts","./ClientApp/core/pages/shared/state/shared/requestStatus.ts","./ClientApp/core/pages/shared/state/shared/searchDataState.ts","./ClientApp/core/pages/shared/state/shared/searchSessionData.ts","./ClientApp/core/pages/shared/state/shared/selectorPageUIData.ts","./ClientApp/core/pages/shared/state/shared/separatedUIData.ts","./ClientApp/core/pages/shared/state/shared/stickableUIData.ts","./ClientApp/core/pages/shared/state/shared/tabsUIData.ts","./ClientApp/core/pages/shared/state/shared/uiAction.ts","./ClientApp/core/pages/shared/state/storeResponse.ts","./ClientApp/core/pages/shared/uiComponent.ts","./ClientApp/core/pages/shared/valueSyncType.ts","./ClientApp/core/pages/start/components/configurationContextMenuComponent.ts","./ClientApp/core/pages/start/components/configurationContextMenuComponent.html","./ClientApp/core/pages/start/components/configurationLinkControlComponent.ts","./ClientApp/core/pages/start/components/configurationLinkControlComponent.html","./ClientApp/core/pages/start/components/getStartedComponent.ts","./ClientApp/core/pages/start/components/getStartedComponent.html","./ClientApp/core/pages/start/components/index.ts","./ClientApp/core/pages/start/components/inlineSearchResultComponent.ts","./ClientApp/core/pages/start/components/inlineSearchResultComponent.html","./ClientApp/core/pages/start/components/newsComponent.ts","./ClientApp/core/pages/start/components/newsComponent.html","./ClientApp/core/pages/start/components/quickSearchComponent.ts","./ClientApp/core/pages/start/components/quickSearchComponent.html","./ClientApp/core/pages/start/components/quickSearchUIModel.ts","./ClientApp/core/pages/start/components/recentsComponent.ts","./ClientApp/core/pages/start/components/recentsComponent.html","./ClientApp/core/pages/start/components/searchNavigatorComponent.ts","./ClientApp/core/pages/start/components/searchNavigatorComponent.html","./ClientApp/core/pages/start/components/startWelcomeComponent.ts","./ClientApp/core/pages/start/components/startWelcomeComponent.html","./ClientApp/core/pages/start/components/systemInformationComponent.ts","./ClientApp/core/pages/start/components/systemInformationComponent.html","./ClientApp/core/pages/start/startComponent.ts","./ClientApp/core/pages/start/startComponent.html","./ClientApp/core/shared/baseObject.ts","./ClientApp/core/shared/components/accordion/abstractAccordionGroupComponent.ts","./ClientApp/core/shared/components/accordion/accordionComponent.ts","./ClientApp/core/shared/components/accordion/accordionComponent.html","./ClientApp/core/shared/components/accordion/accordionGroupComponent.ts","./ClientApp/core/shared/components/accordion/accordionGroupComponent.html","./ClientApp/core/shared/components/accordion/accordionHeadingComponent.ts","./ClientApp/core/shared/components/accordion/accordionService.ts","./ClientApp/core/shared/components/accordion/accordionToggleComponent.ts","./ClientApp/core/shared/components/accordion/index.ts","./ClientApp/core/shared/components/accordionOverlay/accordionOverlayComponent.ts","./ClientApp/core/shared/components/accordionOverlay/accordionOverlayComponent.html","./ClientApp/core/shared/components/accordionOverlay/index.ts","./ClientApp/core/shared/components/autoScrollbar/autoScrollbarDirective.ts","./ClientApp/core/shared/components/autoScrollbar/index.ts","./ClientApp/core/shared/components/blockUI/block-ui.module.ts","./ClientApp/core/shared/components/blockUI/components/block-ui-content/block-ui-content.component.style.ts","./ClientApp/core/shared/components/blockUI/components/block-ui-content/block-ui-content.component.template.ts","./ClientApp/core/shared/components/blockUI/components/block-ui-content/block-ui-content.component.ts","./ClientApp/core/shared/components/blockUI/components/block-ui/block-ui.component.ts","./ClientApp/core/shared/components/blockUI/constants/block-ui-actions.constant.ts","./ClientApp/core/shared/components/blockUI/constants/block-ui-default-name.constant.ts","./ClientApp/core/shared/components/blockUI/decorators/block-ui.decorator.ts","./ClientApp/core/shared/components/blockUI/directives/block-ui.directive.ts","./ClientApp/core/shared/components/blockUI/index.ts","./ClientApp/core/shared/components/blockUI/services/block-ui-instance.service.ts","./ClientApp/core/shared/components/blockUI/services/block-ui.service.ts","./ClientApp/core/shared/components/breadcrumb/breadcrumbComponent.ts","./ClientApp/core/shared/components/breadcrumb/breadcrumbComponent.html","./ClientApp/core/shared/components/breadcrumb/index.ts","./ClientApp/core/shared/components/browserSupport/browserSupportComponent.ts","./ClientApp/core/shared/components/browserSupport/browserSupportComponent.html","./ClientApp/core/shared/components/browserSupport/index.ts","./ClientApp/core/shared/components/button/baseButtonComponent.ts","./ClientApp/core/shared/components/button/circleButtonComponent.ts","./ClientApp/core/shared/components/button/circleButtonComponent.html","./ClientApp/core/shared/components/button/iconButtonComponent.ts","./ClientApp/core/shared/components/button/iconButtonComponent.html","./ClientApp/core/shared/components/button/iconTextButtonComponent.ts","./ClientApp/core/shared/components/button/iconTextButtonComponent.html","./ClientApp/core/shared/components/button/index.ts","./ClientApp/core/shared/components/button/standardButtonComponent.ts","./ClientApp/core/shared/components/button/standardButtonComponent.html","./ClientApp/core/shared/components/checkbox/coCheckboxComponent.ts","./ClientApp/core/shared/components/checkbox/coCheckboxComponent.html","./ClientApp/core/shared/components/checkbox/index.ts","./ClientApp/core/shared/components/checkbox/selectDirective.ts","./ClientApp/core/shared/components/checkbox/templates/baseCheckboxComponent.ts","./ClientApp/core/shared/components/checkbox/templates/classicCheckboxComponent.ts","./ClientApp/core/shared/components/checkbox/templates/classicCheckboxComponent.html","./ClientApp/core/shared/components/checkbox/templates/standardCheckboxComponent.ts","./ClientApp/core/shared/components/checkbox/templates/standardCheckboxComponent.html","./ClientApp/core/shared/components/customLink/customLinkComponent.ts","./ClientApp/core/shared/components/customLink/customLinkComponent.html","./ClientApp/core/shared/components/dateRangePicker/calendar/decoratedCalendarComponent.ts","./ClientApp/core/shared/components/dateRangePicker/calendar/decoratedCalendarComponent.html","./ClientApp/core/shared/components/dateRangePicker/index.ts","./ClientApp/core/shared/components/dateRangePicker/inputs/inputDatepickerFieldComponent.ts","./ClientApp/core/shared/components/dateRangePicker/inputs/inputDatepickerFieldComponent.html","./ClientApp/core/shared/components/dateRangePicker/models/model.ts","./ClientApp/core/shared/components/dateRangePicker/providers/configDatepickerService.ts","./ClientApp/core/shared/components/dateRangePicker/providers/overlayDatepickerService.ts","./ClientApp/core/shared/components/dateRangePicker/providers/presetService.ts","./ClientApp/core/shared/components/dateRangePicker/providers/rangeDatepickerService.ts","./ClientApp/core/shared/components/dateRangePicker/range/dateRangeOverlayComponent.ts","./ClientApp/core/shared/components/dateRangePicker/range/dateRangeOverlayComponent.html","./ClientApp/core/shared/components/dateRangePicker/range/dropDownDateRangesComponent.ts","./ClientApp/core/shared/components/dateRangePicker/range/dropDownDateRangesComponent.html","./ClientApp/core/shared/components/datepicker/customDateParserFormatter.ts","./ClientApp/core/shared/components/datepicker/datepickerComponent.ts","./ClientApp/core/shared/components/datepicker/datepickerComponent.html","./ClientApp/core/shared/components/datepicker/index.ts","./ClientApp/core/shared/components/debouncedTextBox/debouncedTextBoxComponent.ts","./ClientApp/core/shared/components/debouncedTextBox/debouncedTextBoxComponent.html","./ClientApp/core/shared/components/debouncedTextBox/index.ts","./ClientApp/core/shared/components/dragDrop/abstractComponent.ts","./ClientApp/core/shared/components/dragDrop/dragDropConfig.ts","./ClientApp/core/shared/components/dragDrop/dragDropService.ts","./ClientApp/core/shared/components/dragDrop/dragDropUtils.ts","./ClientApp/core/shared/components/dragDrop/draggableComponent.ts","./ClientApp/core/shared/components/dragDrop/droppableComponent.ts","./ClientApp/core/shared/components/dragDrop/index.ts","./ClientApp/core/shared/components/dragDrop/sortableComponent.ts","./ClientApp/core/shared/components/dragScroll/dragScrollComponent.ts","./ClientApp/core/shared/components/dragScroll/dragScrollComponent.html","./ClientApp/core/shared/components/dragScroll/dragScrollItemDirective.ts","./ClientApp/core/shared/components/dragScroll/index.ts","./ClientApp/core/shared/components/dropdown/abstractDropdownGroup.ts","./ClientApp/core/shared/components/dropdown/abstractDropdownItem.ts","./ClientApp/core/shared/components/dropdown/genericDropdownGroup.ts","./ClientApp/core/shared/components/dropdown/genericDropdownGroup.html","./ClientApp/core/shared/components/dropdown/index.ts","./ClientApp/core/shared/components/dropdown/line/items/baseLineItemComponent.ts","./ClientApp/core/shared/components/dropdown/line/items/imageLeftLineItemComponent.ts","./ClientApp/core/shared/components/dropdown/line/items/imageLeftLineItemComponent.html","./ClientApp/core/shared/components/dropdown/line/items/standardLineItemComponent.ts","./ClientApp/core/shared/components/dropdown/line/lineDropdownGroupComponent.ts","./ClientApp/core/shared/components/dropdown/line/lineDropdownGroupComponent.html","./ClientApp/core/shared/components/dropdown/line/lineDropdownItemComponent.ts","./ClientApp/core/shared/components/dropdown/standard/standardDropdownGroupComponent.ts","./ClientApp/core/shared/components/dropdown/standard/standardDropdownGroupComponent.html","./ClientApp/core/shared/components/dropdown/standard/standardDropdownItemComponent.ts","./ClientApp/core/shared/components/dropdown/standard/standardDropdownItemComponent.html","./ClientApp/core/shared/components/gridview/columntemplate.ts","./ClientApp/core/shared/components/gridview/gridviewComponent.ts","./ClientApp/core/shared/components/gridview/gridviewComponent.html","./ClientApp/core/shared/components/gridview/gridviewFooterComponent.ts","./ClientApp/core/shared/components/gridview/gridviewFooterComponent.html","./ClientApp/core/shared/components/gridview/gridviewHeaderComponent.ts","./ClientApp/core/shared/components/gridview/gridviewHeaderComponent.html","./ClientApp/core/shared/components/gridview/gridviewRowComponent.ts","./ClientApp/core/shared/components/gridview/gridviewRowComponent.html","./ClientApp/core/shared/components/gridview/headerColumnTemplate.ts","./ClientApp/core/shared/components/gridview/index.ts","./ClientApp/core/shared/components/help/helpLinkComponent.ts","./ClientApp/core/shared/components/help/helpLinkComponent.html","./ClientApp/core/shared/components/help/index.ts","./ClientApp/core/shared/components/icon/iconComponent.ts","./ClientApp/core/shared/components/icon/index.ts","./ClientApp/core/shared/components/image/imageComponent.ts","./ClientApp/core/shared/components/image/imageComponent.html","./ClientApp/core/shared/components/image/index.ts","./ClientApp/core/shared/components/index.ts","./ClientApp/core/shared/components/layout/absoluteLayoutComponent.ts","./ClientApp/core/shared/components/layout/index.ts","./ClientApp/core/shared/components/messageBox/index.ts","./ClientApp/core/shared/components/messageBox/messageBoxComponent.ts","./ClientApp/core/shared/components/messageBox/messageBoxComponent.html","./ClientApp/core/shared/components/messageBox/messageBoxInfo.ts","./ClientApp/core/shared/components/multiChoice/index.ts","./ClientApp/core/shared/components/multiChoice/multiChoiceGroupComponent.ts","./ClientApp/core/shared/components/multiChoice/multiChoiceGroupComponent.html","./ClientApp/core/shared/components/multiChoice/multiChoiceItemComponent.ts","./ClientApp/core/shared/components/multiChoice/multiChoiceItemViewModel.ts","./ClientApp/core/shared/components/multiSelectDropdown/MultiSelectItemComponent.ts","./ClientApp/core/shared/components/multiSelectDropdown/multiSelectItemComponent.html","./ClientApp/core/shared/components/multiSelectDropdown/index.ts","./ClientApp/core/shared/components/multiSelectDropdown/multiSelectDropdownSelectedValues.ts","./ClientApp/core/shared/components/multiSelectDropdown/multiSelectDropdownSelectedValues.html","./ClientApp/core/shared/components/multiSelectDropdown/multiSelectEventService.ts","./ClientApp/core/shared/components/multiSelectDropdown/multiSelectGroupComponent.ts","./ClientApp/core/shared/components/multiSelectDropdown/multiSelectGroupComponent.html","./ClientApp/core/shared/components/multiSelectDropdown/multiSelectModels.ts","./ClientApp/core/shared/components/multiSelectDropdown/selectChangeEventArgs.ts","./ClientApp/core/shared/components/notification/index.ts","./ClientApp/core/shared/components/notification/notificationComponent.ts","./ClientApp/core/shared/components/notification/notificationComponent.html","./ClientApp/core/shared/components/notification/notificationInfo.ts","./ClientApp/core/shared/components/notification/notificationService.ts","./ClientApp/core/shared/components/pagination/index.ts","./ClientApp/core/shared/components/pagination/paginationComponent.ts","./ClientApp/core/shared/components/pagination/paginationComponent.html","./ClientApp/core/shared/components/panel/index.ts","./ClientApp/core/shared/components/panel/panelComponent.ts","./ClientApp/core/shared/components/panel/panelComponent.html","./ClientApp/core/shared/components/password/index.ts","./ClientApp/core/shared/components/password/passwordComponent.ts","./ClientApp/core/shared/components/password/passwordComponent.html","./ClientApp/core/shared/components/popover/index.ts","./ClientApp/core/shared/components/popover/popoverComponent.ts","./ClientApp/core/shared/components/popover/popoverComponent.html","./ClientApp/core/shared/components/popover/popoverInfo.ts","./ClientApp/core/shared/components/popover/popoverService.ts","./ClientApp/core/shared/components/popover/popperContentComponent.ts","./ClientApp/core/shared/components/popover/popperContentComponent.html","./ClientApp/core/shared/components/popover/popperDirective.ts","./ClientApp/core/shared/components/popup/abstractPopupComponent.ts","./ClientApp/core/shared/components/popup/backdropComponent.ts","./ClientApp/core/shared/components/popup/backdropComponent.html","./ClientApp/core/shared/components/popup/basePopupComponent.ts","./ClientApp/core/shared/components/popup/index.ts","./ClientApp/core/shared/components/popup/lightboxPopupComponent.ts","./ClientApp/core/shared/components/popup/lightboxPopupComponent.html","./ClientApp/core/shared/components/popup/popupInfo.ts","./ClientApp/core/shared/components/popup/popupService.ts","./ClientApp/core/shared/components/popup/regularPopupComponent.ts","./ClientApp/core/shared/components/popup/regularPopupComponent.html","./ClientApp/core/shared/components/popup/sidebarExtensionComponent.ts","./ClientApp/core/shared/components/popup/sideBarExtensionComponent.html","./ClientApp/core/shared/components/popup/sidebarPopupComponent.ts","./ClientApp/core/shared/components/popup/sidebarPopupComponent.html","./ClientApp/core/shared/components/popup/simplePopperComponent.ts","./ClientApp/core/shared/components/popup/simplePopperComponent.html","./ClientApp/core/shared/components/print/index.ts","./ClientApp/core/shared/components/print/printComponent.ts","./ClientApp/core/shared/components/print/printComponent.html","./ClientApp/core/shared/components/print/printService.ts","./ClientApp/core/shared/components/radioButton/components/imageRadioStyleComponent.ts","./ClientApp/core/shared/components/radioButton/components/imageRadioStyleComponent.html","./ClientApp/core/shared/components/radioButton/index.ts","./ClientApp/core/shared/components/radioButton/radioButtonComponent.ts","./ClientApp/core/shared/components/radioButton/radioButtonComponent.html","./ClientApp/core/shared/components/radioButton/radioGroupComponent.ts","./ClientApp/core/shared/components/radioButton/radioGroupComponent.html","./ClientApp/core/shared/components/radioButton/strategies/baseRadioStrategyComponent.ts","./ClientApp/core/shared/components/radioButton/strategies/imageRadioStrategyComponent.ts","./ClientApp/core/shared/components/radioButton/strategies/imageRadioStrategyComponent.html","./ClientApp/core/shared/components/radioButton/strategies/standardRadioStrategyComponent.ts","./ClientApp/core/shared/components/radioButton/strategies/standardRadioStrategyComponent.html","./ClientApp/core/shared/components/recaptcha/recaptcha-common.module.ts","./ClientApp/core/shared/components/recaptcha/recaptcha-forms.module.ts","./ClientApp/core/shared/components/recaptcha/recaptcha-loader.service.ts","./ClientApp/core/shared/components/recaptcha/recaptcha-settings.ts","./ClientApp/core/shared/components/recaptcha/recaptcha-value-accessor.directive.ts","./ClientApp/core/shared/components/recaptcha/recaptcha.component.ts","./ClientApp/core/shared/components/recaptcha/recaptcha.module.ts","./ClientApp/core/shared/components/select/components/selectedHelpImageComponent.ts","./ClientApp/core/shared/components/select/components/selectedHelpImageComponent.html","./ClientApp/core/shared/components/select/index.ts","./ClientApp/core/shared/components/select/selectComponent.ts","./ClientApp/core/shared/components/select/selectComponent.html","./ClientApp/core/shared/components/shared/baseInputComponent.ts","./ClientApp/core/shared/components/shared/enums/displayStyle.ts","./ClientApp/core/shared/components/shared/enums/filterType.ts","./ClientApp/core/shared/components/shared/enums/index.ts","./ClientApp/core/shared/components/shared/enums/orientation.ts","./ClientApp/core/shared/components/shared/enums/positions.ts","./ClientApp/core/shared/components/shared/floatingComponent.ts","./ClientApp/core/shared/components/shared/floatingComponent.html","./ClientApp/core/shared/components/shared/identifierUtility.ts","./ClientApp/core/shared/components/shared/index.ts","./ClientApp/core/shared/components/shared/inputControlEventArgs.ts","./ClientApp/core/shared/components/shared/models/dataRowViewModel.ts","./ClientApp/core/shared/components/shared/models/displayCountValueModel.ts","./ClientApp/core/shared/components/shared/models/index.ts","./ClientApp/core/shared/components/shared/models/inputViewModel.ts","./ClientApp/core/shared/components/shared/selectValidator.ts","./ClientApp/core/shared/components/shared/sizeUtility.ts","./ClientApp/core/shared/components/spinner/inlineSpinnerComponent.ts","./ClientApp/core/shared/components/spinner/inlineSpinnerComponent.html","./ClientApp/core/shared/components/tab/index.ts","./ClientApp/core/shared/components/tab/linksContainerComponent.ts","./ClientApp/core/shared/components/tab/linksContainerComponent.html","./ClientApp/core/shared/components/tab/tabComponent.ts","./ClientApp/core/shared/components/tab/tabComponent.html","./ClientApp/core/shared/components/tab/tabModel.ts","./ClientApp/core/shared/components/tab/tabsContainerComponent.ts","./ClientApp/core/shared/components/tab/tabsContainerComponent.html","./ClientApp/core/shared/components/textBox/index.ts","./ClientApp/core/shared/components/textBox/textBoxComponent.ts","./ClientApp/core/shared/components/textBox/textBoxComponent.html","./ClientApp/core/shared/components/textboxRange/index.ts","./ClientApp/core/shared/components/textboxRange/rangeInputViewModel.ts","./ClientApp/core/shared/components/textboxRange/textboxRangeComponent.ts","./ClientApp/core/shared/components/textboxRange/textboxRangeComponent.html","./ClientApp/core/shared/components/treeView/expandCollapseComponent.ts","./ClientApp/core/shared/components/treeView/expandCollapseComponent.html","./ClientApp/core/shared/components/treeView/index.ts","./ClientApp/core/shared/components/treeView/nodeData.ts","./ClientApp/core/shared/components/treeView/treeCacheService.ts","./ClientApp/core/shared/components/treeView/treeDataProvider.ts","./ClientApp/core/shared/components/treeView/treeEvents.ts","./ClientApp/core/shared/components/treeView/treeExpandBehaviour.ts","./ClientApp/core/shared/components/treeView/treeNodeComponent.ts","./ClientApp/core/shared/components/treeView/treeNodeComponent.html","./ClientApp/core/shared/components/treeView/treeViewComponent.ts","./ClientApp/core/shared/components/treeView/treeViewComponent.html","./ClientApp/core/shared/components/treeView/treeViewEventService.ts","./ClientApp/core/shared/components/treeViewSimple/index.ts","./ClientApp/core/shared/components/treeViewSimple/treeNode.ts","./ClientApp/core/shared/components/treeViewSimple/treeNodeSimpleComponent.ts","./ClientApp/core/shared/components/treeViewSimple/treeNodeSimpleComponent.html","./ClientApp/core/shared/components/treeViewSimple/treeViewSimpleComponent.ts","./ClientApp/core/shared/components/treeViewSimple/treeViewSimpleComponent.html","./ClientApp/core/shared/components/windowRefService.ts","./ClientApp/core/shared/errorCodes.ts","./ClientApp/core/shared/exception.ts","./ClientApp/core/shared/httpException.ts","./ClientApp/core/shared/immutableObject.ts","./ClientApp/core/shared/index.ts","./ClientApp/core/shared/lowerCaseUrlSerializer.ts","./ClientApp/core/shared/managedSubject.ts","./ClientApp/core/shared/managedSubscription.ts","./ClientApp/core/shared/propertyMapObject.ts","./ClientApp/core/shared/providers/abstractImageService.ts","./ClientApp/core/shared/providers/globalLogger.ts","./ClientApp/core/shared/providers/globalServiceLocator.ts","./ClientApp/core/shared/providers/httpService.ts","./ClientApp/core/shared/providers/index.ts","./ClientApp/core/shared/providers/jsonConvert.ts","./ClientApp/core/shared/providers/module/templateBuilder.ts","./ClientApp/core/shared/providers/normalizer/index.ts","./ClientApp/core/shared/providers/normalizer/normalizeResult.ts","./ClientApp/core/shared/providers/normalizer/normalizerService.ts","./ClientApp/core/shared/providers/plugin/index.ts","./ClientApp/core/shared/providers/plugin/visualizationPluginManager.ts","./ClientApp/core/shared/providers/reducersCombiner.ts","./ClientApp/core/shared/route/routeDecorator.ts","./ClientApp/core/shared/simpleObject.ts","./ClientApp/core/shared/utils/breakPoints.ts","./ClientApp/core/shared/utils/breakpointsAccessor.ts","./ClientApp/core/shared/utils/browserInfo.ts","./ClientApp/core/shared/utils/copy.ts","./ClientApp/core/shared/utils/eventUtils.ts","./ClientApp/core/shared/utils/extensions/enumEx.ts","./ClientApp/core/shared/utils/extensions/index.ts","./ClientApp/core/shared/utils/imageSetAccessor.ts","./ClientApp/core/shared/utils/imageSets.ts","./ClientApp/core/shared/utils/index.ts","./ClientApp/core/shared/utils/isNumeric.ts","./ClientApp/core/shared/utils/pipes/imageDimensionPipe.ts","./ClientApp/core/shared/utils/pipes/index.ts","./ClientApp/core/shared/utils/pipes/isNullOrWhiteSpacePipe.ts","./ClientApp/core/shared/utils/pipes/isVaultImagePipe.ts","./ClientApp/core/shared/utils/pipes/safeHtmlPipe.ts","./ClientApp/core/shared/utils/routeParamsUtils.ts","./ClientApp/core/shared/utils/sleepUtils.ts","./ClientApp/environments/environment.ts","./ClientApp/main.ts","./node_modules/moment/locale sync ^\\.\\/.*$","./node_modules/regenerator-runtime/runtime.js"],"names":["runtime","exports","Op","Object","prototype","hasOwn","hasOwnProperty","undefined","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","_invoke","makeInvokeMethod","tryCatch","fn","obj","arg","type","call","err","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","constructor","displayName","defineIteratorMethods","forEach","method","isGeneratorFunction","genFun","ctor","name","mark","setPrototypeOf","__proto__","awrap","__await","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","result","value","then","unwrapped","error","previousPromise","enqueue","callInvokeWithMethodAndArg","async","Promise","iter","next","done","state","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","info","resultName","nextLoc","toString","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","keys","object","key","reverse","length","pop","iterable","iteratorMethod","isNaN","i","skipTempReset","prev","charAt","slice","stop","rootEntry","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","module","regeneratorRuntime","accidentalStrictMode","Function"],"mappings":"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A;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC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","file":"main.1fb5162e3111f3db5e1c.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./ClientApp/$$_lazy_route_resource lazy recursive\";","import \"hammerjs\";\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\nimport { enableProdMode, NgModuleRef } from '@angular/core';\r\n\r\nimport { AppModule } from './core/boot/appModule';\r\nimport { environment } from './environments/environment';\r\nimport { VisualizationPluginManager, VisualizationPlugin } from \"./core/shared/providers\";\r\nimport { searchUrlQueryParam } from \"./core/shared/utils/routeParamsUtils\";\r\n\r\nclass ClientInfo {\r\n isBrowserCompatible: boolean = null;\r\n version: string;\r\n}\r\n\r\nexport class App {\r\n\r\n public NgModuleRef: NgModuleRef;\r\n public version: string;\r\n public visualizationVersion: string;\r\n\r\n browserInfo() {\r\n\r\n let ua = navigator.userAgent, tem, M = ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\\/))\\/?\\s*(\\d+)/i) || [];\r\n\r\n if (/trident/i.test(M[1])) {\r\n tem = /\\brv[ :]+(\\d+)/g.exec(ua) || [];\r\n return { name: 'IE', version: tem[1] || '' };\r\n }\r\n\r\n if (M[1] === 'Chrome') {\r\n tem = ua.match(/\\b(OPR|Edge?)\\/(\\d+)/);\r\n if (tem != null) return tem.slice(1).join(' ').replace('OPR', 'Opera').replace('Edg ', 'Edge ');\r\n }\r\n\r\n M = M[2] ? [M[1], M[2]] : [navigator.appName, navigator.appVersion, '-?'];\r\n if ((tem = ua.match(/version\\/(\\d+)/i)) != null)\r\n M.splice(1, 1, tem[1]);\r\n\r\n return { name: M[0], version: M[1] };\r\n }\r\n\r\n getClientInfoFromServer() {\r\n\r\n let webRequest = new XMLHttpRequest();\r\n webRequest.open(\"POST\", `api/clientcompatible?t=${new Date().getTime()}`, false);\r\n\r\n let data = new FormData();\r\n let browser = this.browserInfo();\r\n data.append('BrowserName', browser.name);\r\n data.append('BrowserVersion', browser.version);\r\n\r\n webRequest.send(data);\r\n let response = JSON.parse(webRequest.responseText);\r\n\r\n let clienfInfo = new ClientInfo();\r\n clienfInfo.isBrowserCompatible = (response as any).browserCompatible;\r\n clienfInfo.version = (response as any).message;\r\n return clienfInfo;\r\n } catch(ex) {\r\n console.error(ex);\r\n }\r\n\r\n getClientVersionFromJSFile() {\r\n return $('html').html().match(/main.(\\w)*.js/g)[0].match(/[ \\w-]+?(?=\\.)/g)[1];\r\n }\r\n\r\n addStylesheet(cssFile: string) {\r\n var ss = document.createElement(\"link\");\r\n ss.type = \"text/css\";\r\n ss.rel = \"stylesheet\";\r\n ss.href = cssFile;\r\n document.getElementsByTagName(\"head\")[0].appendChild(ss);\r\n }\r\n\r\n boot() {\r\n\r\n // Workaround code for chrome based browsers\r\n // This allows modification of the url in browser history\r\n //let hash = location.hash;\r\n //if (hash && hash.length > 0) {\r\n // location.replace(\"#/\");\r\n // location.replace(hash);\r\n //}\r\n\r\n let mode = searchUrlQueryParam('mode');\r\n if (mode && mode.indexOf('headerless') >= 0 ) {\r\n this.addStylesheet('css/main-headerless.css');\r\n document.body.classList.add('headerless'); // Helps for customization.\r\n\r\n }\r\n else {\r\n this.addStylesheet('css/main.css');\r\n }\r\n this.addStylesheet('css/custom.css');\r\n\r\n let clienfInfo = this.getClientInfoFromServer();\r\n\r\n if (!clienfInfo || !clienfInfo.version || clienfInfo.version.trim().length == 0) {\r\n const message = \"Combinum could not fetch the client app version. Application could not be started. Check console logs fro more info.\";\r\n alert(message);\r\n throw new Error(message);\r\n }\r\n \r\n if (!clienfInfo.isBrowserCompatible) {\r\n\r\n alert(\"Browser is incompatible\");\r\n document.body.innerHTML = \"
\" + clienfInfo.version + \"
\";\r\n throw new Error(clienfInfo.version);\r\n }\r\n\r\n if (clienfInfo.version != this.getClientVersionFromJSFile()) {\r\n const message = \"Client app is incompatible with the server. Reloading the page will fetch a compatible client app. Confirm to reload the page?\";\r\n if (confirm(message))\r\n window.location.reload(true);\r\n\r\n throw new Error(message);\r\n }\r\n\r\n window.combinumApp = this;\r\n this.version = clienfInfo.version;\r\n this.defineVisualizationHookups();\r\n\r\n // depending on the env mode, enable prod mode\r\n if (environment.production) {\r\n enableProdMode();\r\n }\r\n\r\n platformBrowserDynamic().bootstrapModule(AppModule, { preserveWhitespaces: false }).then(ngModuleRef => {\r\n\r\n this.NgModuleRef = ngModuleRef; \r\n \r\n // Otherwise, log the boot error\r\n }).catch((err) => {\r\n console.error(err);\r\n alert(\"Unhandled application error. Check console logs for details.\");\r\n });\r\n }\r\n\r\n getService(token: any) {\r\n return this.NgModuleRef.injector.get(token, null);\r\n }\r\n\r\n private _visualizationPluginManager: VisualizationPluginManager;\r\n private get visualizationPluginManager() {\r\n if (!this._visualizationPluginManager)\r\n this._visualizationPluginManager = this.getService(VisualizationPluginManager);\r\n\r\n return this._visualizationPluginManager;\r\n }\r\n\r\n defineVisualizationHookups() {\r\n\r\n let outerThis: App = this;\r\n Object.defineProperty(window, 'registerVisualizationPlugin', {\r\n \r\n get() {\r\n\r\n let tempPluginObject = {};\r\n let scriptElement: HTMLScriptElement = document.currentScript as HTMLScriptElement;\r\n outerThis.visualizationPluginManager.register(scriptElement.src, tempPluginObject);\r\n return tempPluginObject;\r\n },\r\n\r\n set(pluginObject: any) {\r\n\r\n let scriptElement: HTMLScriptElement = document.currentScript as HTMLScriptElement;\r\n\r\n let url = scriptElement.src;\r\n let queryIndex = url.indexOf(\"?\");\r\n if (queryIndex > -1)\r\n url = url.substring(0, queryIndex);\r\n\r\n outerThis.visualizationPluginManager.register(url, pluginObject);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n }\r\n}","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostListener, Inject, OnInit, ViewChild, ViewEncapsulation, NgZone, ElementRef } from '@angular/core';\r\nimport { Router, ActivatedRoute, NavigationStart, NavigationEnd, NavigationCancel, NavigationError, Event } from '@angular/router';\r\nimport { Location } from '@angular/common';\r\nimport { Subscription } from 'rxjs';\r\nimport { PopupIdentifiers, ConfRouteParams, ConfPageSessionService, ConfiguratorStore, ConfiguratorUIStore } from '../pages/configurator/providers';\r\nimport { IEmitDataInfo } from '../pages/configurator/shared';\r\nimport { BaseComponent, PageComponent } from \"../pages/shared\";\r\nimport { ApiException, ApiMessage, ApiMessageScope, ComplexSequentialPopups, RedirectMessage, RequestViews, User, UIAction, UIPopup, UIEventOperation, OperationType, UINotification, PushMessage, ServerPushMessage, LogoutMessage } from \"../pages/shared/models\";\r\nimport { ApiMessageProvider, HttpErrorCodeHandler, RouteRedirector, RouteNames, BroadcastChannelService, BroadcastChannelMessageType } from \"../pages/shared/providers\";\r\nimport { AccountDataStore, AccountDataMessageProvider } from \"../pages/shared/providers/accountData\";\r\nimport { ExceptionHandler } from \"../pages/shared/providers/exceptionHandler\";\r\nimport { GlobalDataStore } from '../pages/shared/providers/globalData';\r\nimport { MessageBoxComponent, MessageBoxConfig, PopupService } from \"../shared/components\";\r\nimport { NotificationInfo, NotificationService, NotificationType } from \"../shared/components/notification\";\r\nimport { ErrorCodes } from \"../shared/errorCodes\";\r\nimport { Exception } from \"../shared/exception\";\r\nimport { HttpException } from \"../shared/httpException\";\r\nimport { JsonConvert } from \"../shared/providers/jsonConvert\";\r\nimport { Routing } from \"../shared/route/routeDecorator\";\r\nimport { BreakPointAccessor } from \"../shared/utils\";\r\nimport { PushMessageStore, PushMessageController } from '../pages/shared/providers/pushMessage';\r\nimport * as Immutable from \"immutable\";\r\nimport { PushMessageSelection } from '../pages/shared/providers/pushMessage/pushMessageSelection';\r\nimport { PushMessageComponent } from '../pages/shared/components/push/pushMessageComponent';\r\nimport { SignalRService } from '../pages/shared/providers/pushMessage/signalRService';\r\nimport { HttpService } from \"../shared/providers/httpService\";\r\nimport { PageStore } from '../pages/shared/providers/page';\r\nimport { SessionStorageService } from '../pages/shared/providers/sessionStorageService';\r\nimport { SessionStorageData } from '../pages/shared/models/client/sessionStorageData';\r\nimport { AuthenticationTokenTypes } from '../pages/shared/providers/authenticationTokenTypes';\r\nimport { AccordionCompositeParams } from '../pages/configurator/components/tabs';\r\nimport { HttpRequestTrackerService } from '../pages/shared/providers/httpRequestTrackerService';\r\nimport { FileInfo } from '../pages/shared/components';\r\n\r\n/*\r\n * App Component\r\n * Top Level Component\r\n */\r\n@Routing({ path: '', redirectTo: '/start', pathMatch: 'full' })\r\n@Component({\r\n selector: 'combinum-app',\r\n encapsulation: ViewEncapsulation.None,\r\n templateUrl: './appComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class AppComponent extends BaseComponent implements OnInit {\r\n\r\n @ViewChild(MessageBoxComponent)\r\n protected navigateMessageBox: MessageBoxComponent;\r\n\r\n @ViewChild('pushMessagePopup')\r\n private pushMessagePopup: PushMessageComponent;\r\n\r\n public isMobile: boolean;\r\n public isLimitedBrowserSupport: boolean = false;\r\n public limitedBrowserSupportInfo: string;\r\n public extraStyles: string = \"\";\r\n public notificationDetailString: string;\r\n public notificationMessageString: string;\r\n public blockUIStyle: string;\r\n public containerId: string;\r\n public isUserLoggedIn: boolean;\r\n public subscription: Subscription;\r\n public routeSubscription: Subscription;\r\n private pageComponent: PageComponent;\r\n private isReload: boolean = false;\r\n\r\n pushMessageQueue = [];\r\n\r\n public uiPopup: UIPopup;\r\n public sessionId: number;\r\n public uploadSessionId: number;\r\n actionsById: Immutable.Map;\r\n\r\n @ViewChild(\"upload\")\r\n private _uploadElement: ElementRef;\r\n\r\n constructor(\r\n @Inject(BreakPointAccessor) public breakPointAccessor: BreakPointAccessor,\r\n @Inject(ExceptionHandler) public exceptionHandler: ExceptionHandler,\r\n @Inject(NotificationService) public notificationService: NotificationService,\r\n @Inject(JsonConvert) public jsonConvert: JsonConvert,\r\n @Inject(RouteRedirector) public routeRedirector: RouteRedirector,\r\n @Inject(AccountDataStore) public accountStore: AccountDataStore,\r\n @Inject(ApiMessageProvider) public apiMessageProvider: ApiMessageProvider,\r\n @Inject(PopupService) public popupService: PopupService,\r\n @Inject(SignalRService) public signalRService: SignalRService,\r\n @Inject(PushMessageStore) public pushMessageStore: PushMessageStore,\r\n @Inject(PushMessageController) public pushMessageController: PushMessageController,\r\n @Inject(PageStore) public pageStore: PageStore,\r\n @Inject(AccountDataMessageProvider) public accountDataMessageProvider: AccountDataMessageProvider,\r\n @Inject(BroadcastChannelService) public broadcastChannelService: BroadcastChannelService,\r\n @Inject(HttpRequestTrackerService) public httpRequestTrackerService: HttpRequestTrackerService,\r\n @Inject(ConfPageSessionService) public storeSession: ConfPageSessionService,\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfiguratorUIStore) public confUIStore: ConfiguratorUIStore,\r\n\r\n public zone: NgZone,\r\n\r\n // MsCrm ->\r\n @Inject(HttpService) public httpService: HttpService,\r\n // MsCrm <-\r\n public globalDataStore: GlobalDataStore,\r\n public sessionStorageService: SessionStorageService,\r\n public httpErrorCodeHandler: HttpErrorCodeHandler,\r\n public router: Router,\r\n public cd: ChangeDetectorRef,\r\n public activeRoute: ActivatedRoute,\r\n protected ngLocation: Location\r\n ) {\r\n super();\r\n\r\n this.routeSubscription = this.router.events.subscribe((event: Event) => {\r\n switch (true) {\r\n case event instanceof NavigationStart: {\r\n\r\n this.blockUI();\r\n\r\n break;\r\n }\r\n\r\n case event instanceof NavigationEnd:\r\n case event instanceof NavigationCancel:\r\n case event instanceof NavigationError: {\r\n\r\n this.unblockUI();\r\n\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n });\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n // fallback if the redirect url get lost\r\n let windowUrl = window.location.href;\r\n let activeUrl = '';\r\n if (!windowUrl.includes('#/account') && windowUrl.includes('#'))\r\n activeUrl = windowUrl.substring(window.location.href.indexOf('#') + 1)\r\n localStorage.setItem(\"cachedRedirectUrl\", activeUrl);\r\n console.log('-------------->The redirect url is cached<--------------');\r\n // fallback code end\r\n\r\n let globalSettings = this.globalDataStore.globalSettings;\r\n this.isMobile = this.browserInfo.isMobile;\r\n\r\n this.isLimitedBrowserSupport = globalSettings.limitedBrowsersSupport.contains(this.browserInfo.name);\r\n this.limitedBrowserSupportInfo = this.format(this.strings.LimitedBrowserSupportInfo, this.browserInfo.fullName, this.browserInfo.getSupportedBrowsersInfo(globalSettings.limitedBrowsersSupport.toArray()));\r\n\r\n this.notificationDetailString = this.strings.Detail;\r\n this.notificationMessageString = this.strings.Message;\r\n\r\n this.listenOnException();\r\n this.listenOnHttpException();\r\n this.listenOnRedirectMessage();\r\n this.listenOnStorageChanged();\r\n this.listenOnUIBlockerStart();\r\n this.listenOnApiMessage();\r\n this.listenOnBroadcastChannelMessage();\r\n this.listenOnLogoutMessage();\r\n // MsCrm ->\r\n this.listenOnPopupMessage();\r\n // MsCrm <-\r\n\r\n this.breakPointAccessor.initialize();\r\n this.extraStyles = this.browserInfo.name;\r\n\r\n this.subscription = this.router.events.subscribe((val) => {\r\n\r\n if (this.isAppInsideIFrame) {\r\n let currentNavigation = this.router.getCurrentNavigation();\r\n if (currentNavigation) {\r\n\r\n if (currentNavigation.extras) {\r\n currentNavigation.extras.skipLocationChange = true;\r\n }\r\n else {\r\n currentNavigation.extras = { skipLocationChange: true };\r\n }\r\n }\r\n }\r\n\r\n this.isUserLoggedIn = this.accountStore.isUserLoggedIn();\r\n\r\n this.pushMessageStore.startListening();\r\n\r\n // If the user is not logged in, then header goes away and body contents starts from top position 0.\r\n this.containerId = this.isUserLoggedIn ? 'body-contents' : 'body-contents-clean';\r\n\r\n let user: User = this.accountStore.getUser();\r\n let isAnonymousMode = !user || user.systemAuthorization.hasAnonymousAccess;\r\n this.extraStyles = this.browserInfo.name + (isAnonymousMode ? ' anonymous' : '');\r\n\r\n this.cd.markForCheck();\r\n });\r\n\r\n this.signalRService.connecting.subscribe((data: number) => {\r\n\r\n let model = this.pushMessageStore.createRequest();\r\n\r\n model.tempConnectionId = data;\r\n\r\n this.signalRService.send(model);\r\n\r\n });\r\n\r\n this.signalRService.signalReceived.subscribe((data: any) => {\r\n\r\n this.pushMessageStore.setData(data).subscribe(async (storeResponse) => {\r\n\r\n this.pushMessageQueue.push(storeResponse.data);\r\n\r\n if (this.sessionId && this.sessionId != storeResponse.data.interactionSessionId) {\r\n\r\n // Only process new push messages or push messages from the same session, any unprocessed push messages will be called when closing popups etc.\r\n return;\r\n }\r\n\r\n await this.httpRequestTrackerService.waitForRequestCompletion(storeResponse.data.clientRequestId);\r\n this.processNextPushMessage();\r\n\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n });\r\n\r\n\r\n }\r\n\r\n private processNextPushMessage() {\r\n\r\n let prevSessionId = this.sessionId;\r\n\r\n this.sessionId = null;\r\n this.uiPopup = null;\r\n\r\n if (this.pushMessageQueue.length == 0)\r\n return;\r\n\r\n let message: ServerPushMessage = null;\r\n\r\n // Prioritize the same session id.\r\n if (prevSessionId) {\r\n let index = this.pushMessageQueue.findIndex(a => a.interactionSessionId == prevSessionId);\r\n\r\n if (index != -1) {\r\n message = this.pushMessageQueue[index];\r\n this.pushMessageQueue.splice(index, 1);\r\n }\r\n }\r\n\r\n // If empty, then get the first in the array.\r\n if (!message)\r\n message = this.pushMessageQueue.shift();\r\n\r\n this.sessionId = message.interactionSessionId;\r\n\r\n // Clear cache, for each new push message from server.\r\n // this.pushMessageStore.clear(this.sessionId);\r\n\r\n if (message) {\r\n let startAction = message.startUIAction;\r\n\r\n this.processAction(startAction, message.interactionSessionId);\r\n\r\n if (!this.uiPopup)\r\n this.processNextPushMessage();\r\n }\r\n }\r\n\r\n private processAction(action: string, interactionSessionId: number) {\r\n\r\n let actions = this.pushMessageStore.getUIActions(action, interactionSessionId)\r\n\r\n if (!actions)\r\n return;\r\n\r\n actions.forEach((x) => {\r\n\r\n let uiAction = this.pushMessageStore.getUIAction(x, interactionSessionId)\r\n\r\n if (!uiAction) {\r\n\r\n this.notificationService.notify({\r\n message: \"Push message action '\" + x + \"' was not found.\",\r\n type: NotificationType.Error,\r\n selfClose: false\r\n });\r\n\r\n return;\r\n }\r\n\r\n switch (uiAction.className) {\r\n case \"UIPopup\":\r\n this.uiPopup = uiAction as UIPopup;\r\n this.sessionId = interactionSessionId;\r\n this.showPopup();\r\n break;\r\n case \"UIEventOperation\":\r\n\r\n let operation = uiAction as UIEventOperation;\r\n\r\n if (operation.operationType == OperationType.ClientPushMessage) {\r\n\r\n let model = this.pushMessageStore.createRequest();\r\n\r\n let valuesById = this.pushMessageStore.getValuesBySessionId(interactionSessionId);\r\n\r\n model.interactionSessionId = this.sessionId;\r\n model.triggeringControlId = action;\r\n model.valuesById = valuesById;\r\n\r\n this.signalRService.send(model);\r\n }\r\n else if (operation.operationType == OperationType.ClosePopup) {\r\n (this.pushMessagePopup as PushMessageComponent).close();\r\n this.uiPopup = null;\r\n\r\n let isEditor = this.pageStore.getActiveClientType() == RequestViews.Editor;\r\n\r\n if (isEditor && this.storeSession.pageId && this.storeSession.activeConfigurationId && this.storeSession.confSessionId)\r\n this.confStore.loadConf(this.storeSession.activeConfigurationId, this.storeSession.confSessionId, RequestViews.Editor, this.confUIStore.isMandatoryOpened).then(response => {\r\n this.cd.detectChanges();\r\n });\r\n\r\n }\r\n else if (operation.operationType == OperationType.Redirect) {\r\n this.pushMessageStore.setRedirecting(true).subscribe((storeResponse) => {\r\n\r\n if (this.isExternalUrl(operation.url)) {\r\n this.routeRedirector.redirectByAbsolutUrl(operation.url, false);\r\n\r\n // Just in case, the url didn't redirect.\r\n this.pushMessageStore.setRedirecting(false);\r\n }\r\n else {\r\n this.zone.run(() => {\r\n\r\n let routeArgs = null;\r\n\r\n if (operation.routeArgs && operation.routeArgs.size > 0)\r\n routeArgs = operation.routeArgs.toObject();\r\n\r\n let queryParams = null;\r\n\r\n let extras: any = null;\r\n\r\n if (operation.queryParams && operation.queryParams.size > 0) {\r\n\r\n extras = {};\r\n extras.queryParams = operation.queryParams.toObject();\r\n }\r\n\r\n if (operation.replaceUrl) {\r\n if (!extras)\r\n extras = {};\r\n\r\n extras.replaceUrl = true;\r\n }\r\n\r\n if (operation.skipLocationChange) {\r\n if (!extras)\r\n extras = {};\r\n\r\n extras.skipLocationChange = true;\r\n }\r\n\r\n this.routeRedirector.redirect([operation.url, routeArgs], extras).then((navigationSuccess: boolean) => {\r\n // Restore the configurator redirect guard.\r\n this.pushMessageStore.setRedirecting(false);\r\n });\r\n });\r\n }\r\n\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n }\r\n else if (operation.operationType == OperationType.AccordionChildNavigation) {\r\n this.emitterService.send(PopupIdentifiers.AccordionCompositeShowDetail, { confId: operation.confId, reload: operation.reload });\r\n this.routeRedirector.changeParamValue(ConfRouteParams.SUB_CONF_ID, operation.confId.toString());\r\n }\r\n else if (operation.operationType == OperationType.AccordionChildExit) {\r\n this.emitterService.send(PopupIdentifiers.AccordionCompositeHideDetail, new AccordionCompositeParams(operation.confId, false));\r\n this.routeRedirector.changeParamValue(ConfRouteParams.SUB_CONF_ID, null);\r\n }\r\n else if (operation.operationType == OperationType.Refresh) {\r\n // Refresh the current page.\r\n let clientType = this.pageStore.getActiveClientType();\r\n if (clientType == RequestViews.Editor && this.storeSession.pageId && this.storeSession.activeConfigurationId && this.storeSession.confSessionId)\r\n this.confStore.loadConf(this.storeSession.activeConfigurationId, this.storeSession.confSessionId, RequestViews.Editor, this.confUIStore.isMandatoryOpened).then(response => {\r\n this.cd.detectChanges();\r\n });\r\n else if (clientType == RequestViews.Summary && this.storeSession.pageId && this.storeSession.activeConfigurationId && this.storeSession.confSessionId)\r\n this.confStore.loadConf(this.storeSession.activeConfigurationId, this.storeSession.confSessionId, RequestViews.Summary, this.confUIStore.isMandatoryOpened).then(response => {\r\n this.cd.detectChanges();\r\n });\r\n else\r\n this.pushMessageStore.setRefreshing(true).subscribe((storeResponse) => {\r\n window.location.reload(true);\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n }\r\n else if (operation.operationType == OperationType.Download) {\r\n this.httpService.downloadFile(operation.url);\r\n }\r\n else if (operation.operationType == OperationType.Upload) {\r\n this.uploadSessionId = interactionSessionId;\r\n (this._uploadElement.nativeElement as HTMLInputElement).accept = operation.acceptFileType;\r\n (this._uploadElement.nativeElement as HTMLInputElement).click();\r\n }\r\n\r\n break;\r\n case \"UINotification\":\r\n\r\n let notification = uiAction as UINotification;\r\n\r\n this.notificationService.notify({\r\n title: notification.title,\r\n message: notification.message,\r\n detail: notification.detail,\r\n rawInfo: notification.rawInfo,\r\n type: notification.type,\r\n selfClose: notification.selfClose,\r\n delay: notification.delay,\r\n identifier: notification.identifier,\r\n sync: notification.sync\r\n });\r\n\r\n this.cd.detectChanges();\r\n\r\n break;\r\n default:\r\n // \r\n console.log(\"Action not implemented: \" + x)\r\n break;\r\n }\r\n })\r\n\r\n // If there is no active popup, run a new push message.\r\n if (!this.uiPopup)\r\n this.processNextPushMessage();\r\n }\r\n\r\n public selectFile(event) {\r\n\r\n const input = event.target as HTMLInputElement;\r\n\r\n if (input.files && input.files.length > 0) {\r\n\r\n this.uploadFile(event.target.files[0]);\r\n\r\n // Reset the input value to ensure the change event will fire for the same file.\r\n input.value = '';\r\n }\r\n }\r\n\r\n protected uploadFile(file: File) {\r\n\r\n let sessionId = this.uploadSessionId;\r\n\r\n // Clear the upload session id.\r\n this.uploadSessionId = null;\r\n\r\n this.pushMessageStore.uploadFile(file, sessionId, event => {\r\n\r\n console.log(\"Upload complete\", file.name);\r\n\r\n }\r\n\r\n );\r\n\r\n }\r\n\r\n isExternalUrl(url: string): boolean {\r\n return url.startsWith('http') || url.startsWith('www');\r\n }\r\n\r\n public onAction(event: PushMessageSelection) {\r\n\r\n if (event.key)\r\n this.pushMessageStore.setValue(event);\r\n\r\n if (event.triggerAction)\r\n this.processAction(event.key, event.sessionId);\r\n\r\n }\r\n\r\n public showPopup() {\r\n\r\n (this.pushMessagePopup as PushMessageComponent).show();\r\n this.cd.detectChanges();\r\n\r\n }\r\n\r\n private _isAppInsideIFrame: boolean = null;\r\n protected get isAppInsideIFrame() {\r\n\r\n if (this._isAppInsideIFrame != null)\r\n return this._isAppInsideIFrame;\r\n\r\n try {\r\n this._isAppInsideIFrame = window.self !== window.top;\r\n }\r\n catch {\r\n this._isAppInsideIFrame = true;\r\n }\r\n\r\n return this._isAppInsideIFrame;\r\n }\r\n\r\n public listenOnUIBlockerStart(): void {\r\n\r\n this.emitterService.getMessage().subscribe((info: IEmitDataInfo) => {\r\n\r\n if (info.id == PopupIdentifiers.PlainUIBlock) {\r\n\r\n // If tag is true then start plain ui blocking without spinner.\r\n this.blockUIStyle = info.tag ? 'plain-ui-block' : '';\r\n }\r\n\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n }\r\n\r\n public listenOnException() {\r\n\r\n this.exceptionHandler.onException((exception: Exception) => {\r\n this.unblockUI();\r\n let type = NotificationType.Error;\r\n let title = this.strings.Error;\r\n let selfClose = false;\r\n let identifier = \"error-message\";\r\n let sync = false;\r\n\r\n // Handle error codes to show different messages \r\n if (exception instanceof ApiException) {\r\n\r\n if (ErrorCodes.isSuppressNotification(exception.code))\r\n return;\r\n\r\n if (ErrorCodes.isInformationCode(exception.code)) {\r\n type = NotificationType.Info;\r\n title = this.strings.Info;\r\n selfClose = true;\r\n identifier = \"error-info\";\r\n }\r\n else if (ErrorCodes.isWarningCode(exception.code)) {\r\n type = NotificationType.Warning;\r\n title = this.strings.Warning;\r\n selfClose = true;\r\n identifier = \"error-warning\";\r\n sync = true;\r\n }\r\n }\r\n\r\n this.notificationService.notify({\r\n title: title,\r\n message: exception.message,\r\n detail: `${exception.url ? (exception.url + \" - \") : \"\"}${exception.detail ? exception.detail : \"\"}`,\r\n rawInfo: exception.originalError,\r\n type: type,\r\n selfClose: selfClose,\r\n identifier: identifier,\r\n sync: sync\r\n });\r\n\r\n // If error is configuration not found then redirect to start\r\n if (exception instanceof ApiException) {\r\n if (ErrorCodes.SEARCH_SESSION_NOT_FOUND == exception.code || ErrorCodes.CONFIGURATION_NOT_FOUND == exception.code)\r\n this.routeRedirector.redirectToStart();\r\n }\r\n\r\n }, true);\r\n }\r\n\r\n public listenOnHttpException() {\r\n this.exceptionHandler.onHttpException((exception: HttpException) => {\r\n\r\n this.unblockUI();\r\n this.httpErrorCodeHandler.handle(exception);\r\n\r\n if (exception.errorResponse.status == 400) {\r\n let badRequestException = exception.exceptions.find((ex) => ex instanceof ApiException && ex.code == ErrorCodes.CLIENT_VERSION_INCOMPATIBLE) as ApiException;\r\n if (badRequestException)\r\n this.showMessageAndRunCallBack(badRequestException.message, null);\r\n }\r\n\r\n }, true);\r\n }\r\n\r\n public listenOnRedirectMessage() {\r\n this.apiMessageProvider.onMessages(RedirectMessage.name,\r\n (messages) => {\r\n\r\n let redirectMessage = messages.first();\r\n\r\n // MsCrm ->\r\n if (redirectMessage.externalUrl) {\r\n if (redirectMessage.extraArgs && redirectMessage.extraArgs.get('upn')) {\r\n let upn = redirectMessage.extraArgs.get('upn');\r\n let url = escape(window.location.href);\r\n this.httpService.get('mscrm/registerLatestUrl?upn=' + upn + '&url=' + url).subscribe(\r\n _ => {\r\n window.location.href = redirectMessage.externalUrl;\r\n }\r\n );\r\n }\r\n return;\r\n }\r\n // MsCrm <-\r\n\r\n let queryString = \"\";\r\n if (redirectMessage.queryString) {\r\n queryString = \"?\" + redirectMessage.queryString;\r\n }\r\n\r\n let routeArgs = {};\r\n if (redirectMessage.parameters) {\r\n routeArgs = redirectMessage.parameters.toObject()\r\n }\r\n\r\n let view = redirectMessage.view.toLowerCase();\r\n if (view == RequestViews.None) {\r\n this.showMessageAndRunCallBack(redirectMessage.message, null);\r\n return;\r\n }\r\n else if (view == RequestViews.Summary || view == RequestViews.Editor) {\r\n view = \"configurator/\" + view;\r\n }\r\n\r\n let redirectUrl = `${view}/${queryString}`;\r\n this.showMessageAndRunCallBack(redirectMessage.message, () => { this.routeRedirector.redirect([redirectUrl, routeArgs]) });\r\n\r\n });\r\n }\r\n\r\n listenOnApiMessage() {\r\n this.apiMessageProvider.onMessages(ApiMessage.name, {\r\n next: (messages) => {\r\n let apiMessage = messages.first();\r\n\r\n // Close it automatically if scope is temporary.\r\n let selfClose = apiMessage.scope == ApiMessageScope.Temp;\r\n\r\n if (apiMessage.innerMessage) {\r\n this.notificationService.notify({ selfClose: selfClose, title: apiMessage.innerMessage.title, message: apiMessage.innerMessage.message, type: apiMessage.displayStyle ? apiMessage.displayStyle : NotificationType.Info });\r\n }\r\n\r\n }, listenNewEventsOnly: true\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n }\r\n\r\n // MSCRM begin\r\n public listenOnPopupMessage() {\r\n this.apiMessageProvider.onMessages(ComplexSequentialPopups.name,\r\n {\r\n next: (messages) => {\r\n messages.forEach(apiMessage => {\r\n\r\n if (apiMessage.popupSequences)\r\n this.popupService.open(PopupIdentifiers.MsCrmIntegrationPopup, apiMessage);\r\n });\r\n }\r\n });\r\n }\r\n // MSCRM end\r\n\r\n public listenOnStorageChanged() {\r\n this.sessionStorageService.onSessionStorageChanged((sessionStorageData: SessionStorageData) => {\r\n\r\n if (!this.accountStore.hasUserSession() && this.pageStore.activeRouteName != RouteNames.Login) {\r\n this.isUserLoggedIn = false;\r\n this.routeRedirector.redirect([RouteNames.Logout]);\r\n }\r\n\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n }\r\n\r\n public listenOnBroadcastChannelMessage() {\r\n this.broadcastChannelService.broadcastChannel.addEventListener(\"message\", (messageEvent: MessageEvent) => {\r\n\r\n if (!messageEvent.origin || messageEvent.origin != location.origin)\r\n return;\r\n\r\n switch (messageEvent.data.type) {\r\n case BroadcastChannelMessageType.ReloadCache:\r\n this.showMessageAndRunCallBack(this.strings.ProductDataUpdatedAndVerifyConfiguration, null);\r\n this.cd.markForCheck();\r\n break;\r\n\r\n case BroadcastChannelMessageType.UserLoginTokenRequest:\r\n this.respondWithAccessToken();\r\n break;\r\n\r\n case BroadcastChannelMessageType.UserLoginToken:\r\n this.storeAccessToken(messageEvent.data.payload);\r\n break;\r\n\r\n case BroadcastChannelMessageType.LogOutUser:\r\n this.accountStore.endUserSession();\r\n break;\r\n\r\n default:\r\n // Should never go here.\r\n // Do nothing.\r\n break;\r\n }\r\n });\r\n }\r\n\r\n public listenOnLogoutMessage() {\r\n // Listen for logout message\r\n this.accountDataMessageProvider.onMessages(LogoutMessage.name, {\r\n next: (messages) => {\r\n\r\n let logoutMessage = messages.get(0);\r\n if (logoutMessage.success)\r\n this.broadcastChannelService.send(BroadcastChannelMessageType.LogOutUser);\r\n else\r\n console.log(logoutMessage.errors);\r\n },\r\n listenNewEventsOnly: true\r\n\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n }\r\n\r\n public respondWithAccessToken() {\r\n let token = this.accountStore.getAccessToken();\r\n if (token)\r\n this.broadcastChannelService.send(BroadcastChannelMessageType.UserLoginToken, token);\r\n }\r\n\r\n public storeAccessToken(token: string) {\r\n if (token)\r\n this.accountStore.setAccessToken(token);\r\n }\r\n\r\n public showMessageAndRunCallBack(message: string, callBack: () => void) {\r\n\r\n let isReload = !callBack;\r\n callBack = callBack || (() => {\r\n this.isReload = true;\r\n\r\n window.location.reload(true);\r\n\r\n this.isReload = false;\r\n });\r\n\r\n if (message && message.length > 0) {\r\n\r\n let info: MessageBoxConfig<() => void> = void>>{\r\n description: message,\r\n icon: \"info\",\r\n tag: callBack\r\n }\r\n\r\n if (this.navigateMessageBox) {\r\n this.navigateMessageBox.title = this.navigateMessageBox.okButtonText = isReload ? this.strings.Reload : this.strings.Navigate;\r\n this.navigateMessageBox.show(info);\r\n }\r\n\r\n }\r\n else {\r\n callBack();\r\n }\r\n }\r\n\r\n public navigateMessageBoxOkClick($event: () => void) {\r\n if ($event)\r\n $event();\r\n }\r\n\r\n public onComponentActivate($component): void {\r\n if ($component && $component instanceof PageComponent)\r\n this.pageComponent = $component;\r\n }\r\n\r\n @HostListener('window:beforeunload', ['$event'])\r\n onBeforeUnload($event) {\r\n if (this.pageComponent)\r\n return this.pageComponent.onBeforeUnload($event, this.isReload);\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event) {\r\n this.breakPointAccessor.initialize(event.target.innerWidth);\r\n }\r\n\r\n @HostListener('window:focus')\r\n onFocus(): void {\r\n // If the tab is focused, it might have been inactive.\r\n // Request for a token in case any other tabs are active to sync with them.\r\n this.broadcastChannelService.send(BroadcastChannelMessageType.UserLoginTokenRequest);\r\n }\r\n\r\n @HostListener('window:storage', ['$event'])\r\n initStorageEvent(event: StorageEvent) {\r\n // if storage event is triggered by sso\r\n if (event.key === AuthenticationTokenTypes.TokenBySSO && localStorage.getItem(AuthenticationTokenTypes.TokenBySSO) !== null) {\r\n let access_token = localStorage.getItem(AuthenticationTokenTypes.TokenBySSO);\r\n this.accountStore.setAccessToken(access_token);\r\n this.broadcastChannelService.send(BroadcastChannelMessageType.UserLoginToken, access_token);\r\n localStorage.removeItem(AuthenticationTokenTypes.TokenBySSO);\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n\r\n if (this.subscription)\r\n this.subscription.unsubscribe();\r\n\r\n if (this.routeSubscription)\r\n this.routeSubscription.unsubscribe();\r\n\r\n super.ngOnDestroy();\r\n }\r\n\r\n}","
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n \r\n\r\n\r\n\r\n","import { HttpClientModule } from '@angular/common/http';\r\nimport { APP_INITIALIZER, Injector, NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatNativeDateModule } from '@angular/material/core';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { RouterModule, UrlSerializer } from '@angular/router';\r\n\r\nimport { PropertyDecorationModule } from \"../pages/configurator/decorations/property\";\r\nimport { ActionBoxModule, AutoCompleteModule, ListModule, PagerModule, VisualObjectIconModule } from \"../pages/shared/components\";\r\nimport { ApplicationLifeCycleService, StartupArguments } from \"../pages/shared/providers\";\r\nimport {\r\n AccordionModule,\r\n AutoScrollbarModule,\r\n BreadcrumbModule, ButtonModule,\r\n\r\n DateRangePickerModule, DebouncedTextBoxModule, DragDropCustomModule,\r\n DropdownModule, FloatingModule, GridviewModule, HelpModule, IconModule, ImageModule, LayoutModule,\r\n\r\n MessageBoxModule, NotificationModule, PaginationModule, PanelModule, PasswordModule, PopoverModule,\r\n PopupModule, RadioButtonModule, TabsModule,\r\n\r\n TextBoxModule\r\n} from \"../shared/components\";\r\nimport { BlockUIModule } from '../shared/components/blockUI';\r\nimport { BrowserSupportModule } from '../shared/components/browserSupport';\r\nimport { CheckboxModule } from \"../shared/components/checkbox\";\r\nimport { DatepickerModule } from \"../shared/components/datepicker\";\r\nimport { DragScrollModule } from \"../shared/components/dragScroll\";\r\nimport { MultiChoiceModule } from \"../shared/components/multiChoice\";\r\nimport { MultiSelectDropDownModule } from \"../shared/components/multiSelectDropdown\";\r\nimport { PrintModule } from \"../shared/components/print\";\r\nimport { RecaptchaFormsModule } from '../shared/components/recaptcha/recaptcha-forms.module';\r\nimport { RecaptchaModule } from '../shared/components/recaptcha/recaptcha.module';\r\nimport { TextBoxRangeModule } from '../shared/components/textboxRange';\r\nimport { GlobalServiceLocator } from \"../shared/providers\";\r\nimport { SafeHtmlModule } from \"../shared/utils/pipes\";\r\nimport { AppComponent } from \"./appComponent\";\r\nimport { declarationList } from \"./declarationList\";\r\nimport { providerList } from \"./providerList\";\r\nimport { routeList } from \"./routelist\";\r\nimport { SelectModule } from '../shared/components/select';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AccordionOverlayModule } from '../shared/components/accordionOverlay';\r\nimport { PushMessageModule } from '../pages/shared/components/push';\r\nimport { TreeViewSimpleModule } from '../shared/components/treeViewSimple';\r\nimport { LowerCaseUrlSerializer } from '../shared/lowerCaseUrlSerializer';\r\n\r\n@NgModule({\r\n imports: [\r\n BrowserModule,\r\n BrowserAnimationsModule,\r\n FormsModule, \r\n HttpClientModule,\r\n NgbModule,\r\n RouterModule.forRoot(routeList, { useHash: true }),\r\n TabsModule,\r\n AccordionModule,\r\n AccordionOverlayModule,\r\n ImageModule,\r\n AutoCompleteModule,\r\n DebouncedTextBoxModule,\r\n RadioButtonModule,\r\n CheckboxModule,\r\n TextBoxModule,\r\n IconModule,\r\n HelpModule,\r\n MultiChoiceModule,\r\n DropdownModule,\r\n GridviewModule, \r\n LayoutModule,\r\n ButtonModule,\r\n PaginationModule,\r\n PagerModule,\r\n PopupModule,\r\n PopoverModule,\r\n PanelModule,\r\n PasswordModule,\r\n PropertyDecorationModule,\r\n FloatingModule,\r\n NotificationModule,\r\n PushMessageModule,\r\n DragDropCustomModule,\r\n SafeHtmlModule,\r\n VisualObjectIconModule,\r\n ActionBoxModule,\r\n ListModule,\r\n DateRangePickerModule,\r\n BlockUIModule.forRoot(),\r\n DatepickerModule,\r\n PrintModule,\r\n AutoScrollbarModule, \r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MultiSelectDropDownModule,\r\n MatButtonModule, MatFormFieldModule, MatInputModule, MessageBoxModule,\r\n RecaptchaModule.forRoot(), \r\n RecaptchaFormsModule, \r\n DragScrollModule,\r\n TextBoxRangeModule,\r\n BreadcrumbModule,\r\n BrowserSupportModule, \r\n SelectModule,\r\n TreeViewSimpleModule\r\n ],\r\n exports: [MatDatepickerModule, MatNativeDateModule, MatButtonModule, MatFormFieldModule, MatInputModule],\r\n declarations: declarationList,\r\n providers: [\r\n providerList,\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: (startupArguments: StartupArguments) => () => Promise.resolve(true),\r\n deps: [StartupArguments],\r\n multi: true\r\n },\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: (appLifeCycleService: ApplicationLifeCycleService) => () => appLifeCycleService.beforeApplicationInitialize().toPromise(),\r\n deps: [ApplicationLifeCycleService],\r\n multi: true\r\n },\r\n {\r\n provide: UrlSerializer,\r\n useClass: LowerCaseUrlSerializer\r\n }\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule {\r\n\r\n constructor(injector: Injector) {\r\n GlobalServiceLocator.injector = injector;\r\n }\r\n\r\n}","import { Component, ViewEncapsulation, Inject, HostListener, OnInit } from '@angular/core';\r\nimport { Routing } from \"../shared/route/routeDecorator\";\r\nimport { BaseComponent } from \"../pages/shared\";\r\n\r\n/*\r\n * App Component\r\n * Top Level Component\r\n */\r\n@Routing({ path: '', redirectTo: '/start', pathMatch: 'full' })\r\n@Component({\r\n selector: 'browsers',\r\n encapsulation: ViewEncapsulation.None,\r\n templateUrl: './browsersComponent.html'\r\n})\r\nexport class BrowsersComponent extends BaseComponent {\r\n\r\n\r\n\r\n}","
\r\n
\r\n
\r\n You are seeing this page because you are using a unsupported browser.
\r\n Currently we support the following browsers.\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n Chrome current version\r\n
\r\n
\r\n\r\n
","import { Registration } from \"../shared/ioc/registration\"\r\nimport { AppComponent } from \"./appComponent\";\r\nimport { ConfiguratorComponent } from \"../pages/configurator/configuratorComponent\";\r\nimport { SummaryViewComponent } from \"../pages/configurator/summaryViewComponent\";\r\nimport { EditorViewComponent } from \"../pages/configurator/editorViewComponent\";\r\nimport { ConfViewRedirectorComponent } from \"../pages/configurator/confViewRedirectorComponent\";\r\nimport { VisualObjectsContainerComponent } from \"../pages/configurator/shared/visualObjectsContainerComponent\";\r\nimport { VisualObjectFactoryComponent } from \"../pages/configurator/shared/visualObjectFactoryComponent\";\r\nimport { DetailComponent } from \"../pages/selector/detailComponent\";\r\nimport { SelectorComponent } from \"../pages/selector/selectorComponent\";\r\nimport { SelectorHeaderComponent } from \"../pages/selector/selectorHeaderComponent\";\r\nimport { StartComponent } from \"../pages/start/startComponent\";\r\nimport { SettingsComponent } from \"../pages/settings/settingsComponent\";\r\nimport { RedirectorComponent } from \"../pages/redirector/redirectorComponent\";\r\nimport { DoubleParamComponent } from \"../pages/configurator/parameters/double/doubleParamComponent\";\r\nimport { DataSelectorComponent, DataSelectorTableInlineComponent, DataSelectorTableModalComponent } from \"../pages/configurator/decorations/dataSelector\";\r\nimport { DocumentsDecorationComponent } from \"../pages/configurator/decorations/documents/documentsDecorationComponent\";\r\nimport { DocumentsLinkComponent } from \"../pages/configurator/shared/documentsLinkComponent\";\r\nimport { AttributeDecorationComponent } from \"../pages/configurator/decorations/attribute/attributeDecorationComponent\";\r\nimport { HeaderDecorationComponent } from \"../pages/configurator/decorations/header/headerDecorationComponent\";\r\nimport { PriceListDecorationComponent } from \"../pages/configurator/decorations/priceList/priceListDecorationComponent\";\r\nimport { GraphicsDecorationComponent } from \"../pages/configurator/decorations/graphics/graphicsDecorationComponent\";\r\nimport { TextDecorationComponent } from \"../pages/configurator/decorations/text/textDecorationComponent\";\r\nimport { ImageDecorationComponent } from \"../pages/configurator/decorations/image/imageDecorationComponent\";\r\nimport { BomDecorationComponent, BomCreateControlComponent, BomEditControlComponent, BomDeletePopupComponent, BomDecorationContentsComponent } from \"../pages/configurator/decorations/bom\";\r\nimport { BoolParamComponent } from \"../pages/configurator/parameters/bool/boolParamComponent\";\r\nimport { LookupParamComponent } from \"../pages/configurator/parameters/lookup/lookupParamComponent\";\r\nimport { IntParamComponent } from \"../pages/configurator/parameters/int/intParamComponent\";\r\nimport { MultiChoiceParamComponent } from \"../pages/configurator/parameters/multiChoice/multiChoiceParamComponent\";\r\nimport { MultiChoiceValueComponent } from \"../pages/configurator/parameters/multiChoice/multiChoiceValueComponent\";\r\nimport { StringParamComponent } from \"../pages/configurator/parameters/string/stringParamComponent\";\r\nimport { CompositeComponent } from \"../pages/configurator/actions/composite/compositeComponent\";\r\nimport { CompositeMenuItemComponent } from \"../pages/configurator/actions/composite/compositeMenuItemComponent\";\r\nimport { CompositeMenuControllerComponent } from \"../pages/configurator/actions/composite/compositeMenuControllerComponent\";\r\nimport { CompositeMenuItemDetailFactory } from \"../pages/configurator/actions/composite/compositeMenuItemDetailComponent\";\r\nimport { ControlPanelComponent } from \"../pages/configurator/actions/controlPanel/controlPanelComponent\";\r\nimport { ImageComponent } from \"../shared/components/image/imageComponent\";\r\nimport { TreeNodeComponent } from \"../shared/components/treeView/treeNodeComponent\";\r\nimport { TreeViewComponent } from \"../shared/components/treeView/treeViewComponent\";\r\nimport { ExpandCollapseComponent } from \"../shared/components/treeView/expandCollapseComponent\";\r\nimport { MenuTreeViewComponent } from \"../pages/configurator/actions/composite/tree/menuTreeViewComponent\";\r\nimport { DeleteConfigurationComponent } from \"../pages/configurator/actions/composite/delete/deleteConfigurationComponent\";\r\nimport { CopyConfigurationComponent } from \"../pages/configurator/actions/composite/copy/copyConfigurationComponent\";\r\nimport { ImportConfigurationComponent } from \"../pages/configurator/actions/composite/import/importConfigurationComponent\";\r\nimport { AddConfigurationComponent } from \"../pages/configurator/actions/composite/add/addConfigurationComponent\";\r\nimport { CompositeHeaderComponent } from \"../pages/configurator/actions/composite/compositeHeaderComponent\";\r\nimport { FilterComponent } from \"../pages/configurator/components/filter/filterComponent\";\r\nimport { ImmutableValuePopupComponent } from \"../pages/configurator/popups/shared/immutableValuePopupComponent\";\r\nimport { DisallowedPopupComponent } from \"../pages/configurator/popups/disallowed/disallowedPopupComponent\";\r\nimport { ReadOnlyPopupComponent } from \"../pages/configurator/popups/readonly/readOnlyPopupComponent\";\r\nimport { HelpPopupComponent } from \"../pages/configurator/popups/help/helpPopupComponent\";\r\nimport { MandatoryPopupComponent } from \"../pages/configurator/popups/mandatory/mandatoryPopupComponent\";\r\nimport { WarningAttributesPopupComponent } from \"../pages/configurator/popups/warningAttributes/warningAttributesPopupComponent\";\r\nimport { RuleInformationPopupComponent } from \"../pages/configurator/popups/rule/ruleInformationPopupComponent\";\r\nimport { RuleConfirmationPopupComponent } from \"../pages/configurator/popups/rule/ruleConfirmationPopupComponent\";\r\nimport { PriceSettingPopupComponent } from \"../pages/configurator/popups/price/priceSettingPopupComponent\";\r\nimport { PriceListReportPopupComponent } from \"../pages/configurator/popups/price/priceListReportPopupComponent\";\r\nimport { ProductButtonComponent } from \"../pages/configurator/actions/composite/productButtonComponent\";\r\nimport { ProductButtonsContainerComponent } from \"../pages/configurator/actions/composite/productButtonsContainerComponent\";\r\nimport { IsNullOrWhiteSpacePipe, IsVaultImagePipe } from \"../shared/utils/pipes\";\r\nimport { LoginComponent, LogoutComponent, AnonymousAccessEntryComponent, AccountSubRouteComponent, AccountComponent, PasswordChangeComponent, CreateProfileComponent, SignUpConfirmEmailComponent, AccountVerificationComponent, EmailFormComponent, VerifyFormComponent } from \"../pages/account\";\r\nimport { TabsSidebarComponent } from \"../pages/configurator/components/tabs/tabsSidebarComponent\";\r\nimport { TabsManagerComponent, NormalTabsContainerComponent, SeparatedTabComponent, FloatedSeparatedTabsComponent, AccordionTabsComponent, AccordionConfigurationsTreeComponent } from \"../pages/configurator/components/tabs\";\r\nimport { GetStartedComponent, NewsComponent, QuickSearchComponent, RecentsComponent, ConfigurationLinkControlComponent, ConfigurationContextMenuComponent, SearchNavigatorComponent, InlineSearchResultComponent } from \"../pages/start/components\";\r\nimport { VisualObjectGroupComponent } from \"../pages/configurator/shared/visualObjectGroupComponent\";\r\nimport { ClearedPopupComponent } from \"../pages/configurator/popups/cleared/clearedPopupComponent\";\r\nimport { ConfigurationLinkComponent } from \"../pages/configurator/shared/configurationLinkComponent\";\r\nimport { VisualObjectLinkComponent } from \"../pages/configurator/shared/visualObjectLinkComponent\";\r\nimport { SortConfigurationsComponent } from \"../pages/configurator/actions/composite/sort/sortConfigurationsComponent\";\r\nimport { BomTableComponent } from \"../pages/configurator/shared/bom/bomTableComponent\";\r\nimport { BomGrandTotalComponent } from \"../pages/configurator/shared/bom/bomGrandTotalComponent\";\r\nimport { SummaryActionsBoxesComponent, SummaryDetailComponent, ConfPropertiesDetailComponent, TabDetailComponent, AttributesDetailComponent, BomDetailComponent, DocumentsDetailComponent, GraphicsDetailComponent, PricesDetailComponent, SummaryParamDetailComponent, CodeDetailComponent, ImageDetailComponent, VisualizationDetailComponent, FormDetailComponent } from \"../pages/configurator/summary\";\r\nimport { StatesActionBoxComponent, StateItemComponent, StateHistoryPopupComponent, StateActionPopupComponent } from \"../pages/shared/components/states\";\r\nimport { GraphicsDownloadComponent, GraphicsRendererComponent, GraphicsActionBoxComponent } from \"../pages/shared/components/graphics\";\r\nimport { HeaderComponent } from \"../pages/shared/components/header/headerComponent\";\r\nimport { GraphicsPopupComponent, BomCompositePopupComponent, BomImagePopupComponent, ConfigurationSearchPopupComponent, AnonymousDialogPopupComponent, CodePopupComponent, AttributePopperComponent, AttributePopperDirective } from \"../pages/configurator/popups\";\r\nimport { SearchComponent } from \"../pages/configurator/search/searchComponent\";\r\nimport { SearchResultComponent } from \"../pages/configurator/search/result/searchResultComponent\";\r\nimport { SearchFilterComponent } from \"../pages/configurator/search/filter/searchFilterComponent\";\r\nimport { SearchCalendarInputComponent, SearchCriteriaComponent, SearchDropDownInputComponent, SearchTextInputComponent, MultiSelectInputComponent, SearchRangeTextboxComponent, SearchCheckboxInputComponent } from \"../pages/configurator/search/filter/criteria\";\r\nimport { UserSettingsComponent, UserProfileComponent } from \"../pages/settings\";\r\nimport { RuleParamsInfoComponent } from \"../pages/configurator/popups/shared/ruleParamsInfoComponent\";\r\nimport { InlineSpinnerComponent } from \"../shared/components/spinner/inlineSpinnerComponent\";\r\nimport { SearchInfoComponent } from \"../pages/configurator/search/searchInfoComponent\";\r\nimport { ChangeOwnershipPopupComponent, OperationsActionBoxComponent } from \"../pages/shared/components/operations\";\r\nimport { ReportsActionBoxComponent, RevisionItemComponent, RevisionsActionBoxComponent, AttachmentsActionBoxComponent, AttachmentsUploadPopupComponent, ChangePasswordPopupComponent, DeleteAttachmentPopupComponent, UploadComponent, DocumentsActionBoxComponent } from \"../pages/shared/components\";\r\nimport { BrowsersComponent } from \"./browsersComponent\";\r\nimport { SummaryPrintComponent } from \"../pages/shared/components/print/summaryPrintComponent\";\r\nimport { PrintCheckboxComponent } from \"../pages/shared/components/print/printCheckboxComponent\";\r\nimport { RecoverConfirmEmailComponent } from \"../pages/account/password\";\r\nimport { SvgPanZoomDirective, GraphicsControlIconsComponent } from \"../pages/shared/components/graphics\";\r\nimport { PriceListReportComponent } from \"../pages/shared/components/priceReport/priceListReportComponent\";\r\nimport { CustomLinkComponent } from \"../shared/components/customLink/customLinkComponent\";\r\nimport { CodeDecorationComponent } from \"../pages/configurator/decorations/code/codeDecorationComponent\";\r\nimport { FormDecorationComponent } from \"../pages/configurator/decorations/form/formDecorationComponent\";\r\nimport { CodeActionBoxComponent, CodeRenderStyleComponent, CodeDownloadLinkStyleComponent, DecorationCodesRendererComponent, CodePopupStyleComponent, DecorationCodesBuilderComponent } from \"../pages/shared/components/code\";\r\nimport { VisualObjectGroupDirective } from \"../pages/configurator/shared/visualObjectGroupDirective\";\r\nimport { ComparisonComponent, ComparisonRowComponent, ComparisonTreeComponent, ComparisonDraggableItemComponent, ComparisonValueComponent } from \"../pages/configurator/comparison\";\r\nimport { StartWelcomeComponent } from \"../pages/start/components/startWelcomeComponent\";\r\nimport { DataSelectorDetailComponent } from \"../pages/configurator/summary/dataSelector/dataSelectorDetailComponent\";\r\nimport { PriceEditorComponent } from \"../pages/shared/components/priceReport/components/priceEditorComponent\";\r\nimport { SystemInformationComponent } from \"../pages/start/components/systemInformationComponent\";\r\nimport { WarningPricePopupComponent } from \"../pages/configurator/popups/priceWarning/warningPricePopupComponent\";\r\nimport { CrmIntegrationPopupComponent } from\r\n\t\"../pages/configurator/popups/msCrmIntegrationInteraction/crmIntegrationPopupComponent\";\r\nimport { VisualizationDecorationComponent } from \"../pages/configurator/decorations/visualization/visualizationDecorationComponent\";\r\nimport { TabCompositeConfigurationsComponent } from \"../pages/configurator/shared/tabCompositeConfigurationsComponent\";\r\nimport { VisualizationPluginComponent } from \"../pages/configurator/decorations/visualization/visualizationPluginComponent\";\r\nimport { NestedAccordionTabsComponent } from \"../pages/configurator/components/tabs/nestedAccordionTabsComponent\";\r\nimport { AnonymousContactPopupComponent } from \"../pages/configurator/popups/anonymousContact/anonymousContactPopupComponent\";\r\nimport { FormActionBoxComponent } from \"../pages/shared/components/form\";\r\n\r\nexport let declarationList: any[] = [\r\n AppComponent,\r\n ConfiguratorComponent,\r\n SummaryViewComponent,\r\n EditorViewComponent,\r\n ConfViewRedirectorComponent,\r\n VisualObjectsContainerComponent,\r\n DetailComponent,\r\n SelectorComponent,\r\n SelectorHeaderComponent,\r\n StartComponent,\r\n SearchComponent,\r\n SearchResultComponent,\r\n SettingsComponent,\r\n RedirectorComponent,\r\n DataSelectorComponent,\r\n DataSelectorTableInlineComponent,\r\n DataSelectorTableModalComponent,\r\n DocumentsDecorationComponent,\r\n DocumentsLinkComponent,\r\n BoolParamComponent,\r\n DoubleParamComponent,\r\n IntParamComponent,\r\n LookupParamComponent,\r\n MultiChoiceParamComponent,\r\n MultiChoiceValueComponent,\r\n StringParamComponent,\r\n TreeNodeComponent,\r\n TreeViewComponent,\r\n HeaderComponent,\r\n MenuTreeViewComponent,\r\n AttributeDecorationComponent,\r\n PriceListDecorationComponent,\r\n GraphicsDecorationComponent,\r\n CodeDecorationComponent,\r\n FormDecorationComponent,\r\n TextDecorationComponent,\r\n HeaderDecorationComponent,\r\n ImageDecorationComponent,\r\n BomDecorationComponent,\r\n BomDecorationContentsComponent,\r\n BomCreateControlComponent,\r\n BomEditControlComponent,\r\n BomDeletePopupComponent,\r\n BomTableComponent,\r\n BomGrandTotalComponent,\r\n CompositeComponent,\r\n CompositeMenuControllerComponent,\r\n FilterComponent,\r\n ImmutableValuePopupComponent,\r\n DisallowedPopupComponent,\r\n ReadOnlyPopupComponent,\r\n HelpPopupComponent,\r\n MandatoryPopupComponent,\r\n WarningAttributesPopupComponent,\r\n RuleInformationPopupComponent,\r\n RuleConfirmationPopupComponent,\r\n PriceListReportPopupComponent,\r\n BomCompositePopupComponent,\r\n BomImagePopupComponent,\r\n AttributePopperComponent,\r\n AttributePopperDirective,\r\n GraphicsPopupComponent,\r\n CodePopupComponent,\r\n PriceSettingPopupComponent,\r\n VisualObjectFactoryComponent,\r\n IsNullOrWhiteSpacePipe,\r\n IsVaultImagePipe,\r\n LoginComponent,\r\n LogoutComponent,\r\n AddConfigurationComponent,\r\n DeleteConfigurationComponent,\r\n ImportConfigurationComponent,\r\n CopyConfigurationComponent,\r\n CompositeMenuItemDetailFactory,\r\n ControlPanelComponent,\r\n CompositeHeaderComponent,\r\n CompositeMenuItemComponent,\r\n ProductButtonsContainerComponent,\r\n ProductButtonComponent,\r\n TabsSidebarComponent,\r\n TabsManagerComponent,\r\n SeparatedTabComponent,\r\n NormalTabsContainerComponent,\r\n FloatedSeparatedTabsComponent,\r\n VisualObjectGroupComponent,\r\n ClearedPopupComponent,\r\n ConfigurationLinkComponent,\r\n VisualObjectLinkComponent,\r\n ConfigurationLinkComponent,\r\n GetStartedComponent,\r\n NewsComponent,\r\n QuickSearchComponent,\r\n RecentsComponent,\r\n ConfigurationLinkControlComponent,\r\n SortConfigurationsComponent,\r\n SummaryActionsBoxesComponent,\r\n SummaryDetailComponent,\r\n OperationsActionBoxComponent,\r\n ReportsActionBoxComponent,\r\n DocumentsActionBoxComponent,\r\n RevisionsActionBoxComponent,\r\n RevisionItemComponent,\r\n StatesActionBoxComponent,\r\n StateItemComponent,\r\n StateHistoryPopupComponent,\r\n StateActionPopupComponent,\r\n AttachmentsActionBoxComponent,\r\n AttachmentsUploadPopupComponent,\r\n ConfigurationContextMenuComponent,\r\n ConfPropertiesDetailComponent,\r\n TabDetailComponent,\r\n SummaryParamDetailComponent,\r\n AttributesDetailComponent,\r\n FormDetailComponent,\r\n BomDetailComponent,\r\n DocumentsDetailComponent,\r\n GraphicsDetailComponent,\r\n GraphicsDownloadComponent,\r\n GraphicsRendererComponent,\r\n GraphicsActionBoxComponent,\r\n PricesDetailComponent,\r\n CodeDetailComponent,\r\n VisualizationDetailComponent,\r\n CodeActionBoxComponent,\r\n FormActionBoxComponent,\r\n DecorationCodesRendererComponent,\r\n SearchCriteriaComponent,\r\n SearchFilterComponent,\r\n SearchCalendarInputComponent,\r\n SearchDropDownInputComponent,\r\n SearchTextInputComponent,\r\n SearchCheckboxInputComponent,\r\n SearchRangeTextboxComponent,\r\n ChangePasswordPopupComponent,\r\n UserSettingsComponent,\r\n ConfigurationSearchPopupComponent,\r\n UserProfileComponent,\r\n RuleParamsInfoComponent,\r\n SearchNavigatorComponent,\r\n InlineSearchResultComponent,\r\n InlineSpinnerComponent,\r\n SearchInfoComponent, \r\n ChangeOwnershipPopupComponent,\r\n ExpandCollapseComponent,\r\n AnonymousDialogPopupComponent,\r\n AnonymousContactPopupComponent,\r\n AnonymousAccessEntryComponent,\r\n AccountSubRouteComponent,\r\n DeleteAttachmentPopupComponent,\r\n UploadComponent,\r\n BrowsersComponent,\r\n SummaryPrintComponent,\r\n PrintCheckboxComponent,\r\n AccountVerificationComponent,\r\n VerifyFormComponent,\r\n PasswordChangeComponent,\r\n AccountComponent,\r\n CreateProfileComponent,\r\n SignUpConfirmEmailComponent,\r\n RecoverConfirmEmailComponent,\r\n EmailFormComponent,\r\n GraphicsControlIconsComponent,\r\n SvgPanZoomDirective,\r\n AccordionTabsComponent,\r\n PriceListReportComponent,\r\n CustomLinkComponent,\r\n MultiSelectInputComponent,\r\n ComparisonComponent,\r\n ComparisonRowComponent, \r\n ComparisonTreeComponent,\r\n ComparisonDraggableItemComponent,\r\n ComparisonValueComponent, \r\n VisualObjectGroupDirective, \r\n StartWelcomeComponent, \r\n CodeRenderStyleComponent,\r\n CodePopupStyleComponent,\r\n CodeDownloadLinkStyleComponent, \r\n DecorationCodesBuilderComponent,\r\n DataSelectorDetailComponent,\r\n PriceEditorComponent,\r\n SystemInformationComponent,\r\n WarningPricePopupComponent,\r\n VisualizationDecorationComponent,\r\n VisualizationPluginComponent,\r\n ImageDetailComponent,\r\n TabCompositeConfigurationsComponent,\r\n AccordionConfigurationsTreeComponent,\r\n NestedAccordionTabsComponent,\r\n //MsCRM\r\n CrmIntegrationPopupComponent\r\n]","import { HTTP_INTERCEPTORS } from \"@angular/common/http\";\r\nimport { ErrorHandler } from \"@angular/core\";\r\nimport { AddConfigurationComponent } from \"../pages/configurator/actions/composite/add/addConfigurationComponent\";\r\nimport { CompositeTreeDataProvider } from \"../pages/configurator/actions/composite/tree/compositeTreeDataProvider\";\r\nimport { ComparisonDataActionCreator, ComparisonDataController, ComparisonDataReducer, ComparisonDataStore, ComparisonHelper, ComparisonResultsResolver } from \"../pages/configurator/comparison\";\r\nimport { BomStore } from \"../pages/configurator/decorations/bom\";\r\nimport { BomActionCreator, BomActions } from \"../pages/configurator/decorations/bom/bomActionCreator\";\r\nimport { BomController } from \"../pages/configurator/decorations/bom/bomController\";\r\nimport { DataSelectorActionCreator, DataSelectorActions } from \"../pages/configurator/decorations/dataSelector/dataSelectorActionCreator\";\r\nimport { DataSelectorController } from \"../pages/configurator/decorations/dataSelector/dataSelectorController\";\r\nimport { VisualObjectViewModelFactory } from \"../pages/configurator/parameters/shared/visualObjectViewModelFactory\";\r\nimport { RuleActionCreator, RuleActions, RuleController } from \"../pages/configurator/popups/rule\";\r\nimport { ConfDataMemorizer, ConfigurationSessionManager, ConfiguratorLayoutManager, ConfiguratorStore, ConfiguratorUIStore, ConfMessageProvider, ConfPageSessionService } from \"../pages/configurator/providers\";\r\nimport { ConfDataDeactivateGuard } from \"../pages/configurator/providers/confDataDeactivateGuard\";\r\nimport { ConfDataLoadedGuard } from \"../pages/configurator/providers/confDataLoadedGuard\";\r\nimport { ConfEventService } from \"../pages/configurator/providers/confEventService\";\r\nimport { ConfDataResolver } from \"../pages/configurator/providers/resolvers/confDataResolver\";\r\nimport { ConfPageIdResolver } from \"../pages/configurator/providers/resolvers/confPageIdResolver\";\r\nimport { UIEventService } from \"../pages/configurator/providers/uiEventService\";\r\nimport { ConfSearchModelCacheService } from \"../pages/configurator/search/confSearchModelCacheService\";\r\nimport { SearchResultsResolver } from \"../pages/configurator/search/searchResultsResolver\";\r\nimport { EmitterService, TabVisibilityService, VisualObjectVisibilityService } from \"../pages/configurator/shared\";\r\nimport { SelectorActionCreator } from \"../pages/selector/providers/selectorActionCreator\";\r\nimport { SelectorStore } from \"../pages/selector/providers/selectorStore\";\r\nimport { SelectorTreeDataProvider } from \"../pages/selector/providers/selectorTreeDataProvider\";\r\nimport { AttachmentsDataActionCreator, AttachmentsDataController, AttachmentsStore, GraphicsHelper } from \"../pages/shared/components\";\r\nimport { CalculatedCodeValuesProvider, StoredCodeValuesProvider } from \"../pages/shared/components/code\";\r\nimport { CodeValueModelBuilder } from \"../pages/shared/components/code/providers/codeValueModelBuilder\";\r\nimport { StateActionCreator } from \"../pages/shared/components/states/stateActionCreator\";\r\nimport { StateController } from \"../pages/shared/components/states/stateController\";\r\nimport {\r\n ApiMessageProvider, ApiResponseBuilder, AppActionCreator,\r\n AppController, ApplicationLifeCycleService,\r\n AppStoreSubscriptionManager, AuthGuard,\r\n ExceptionHandler, HttpErrorCodeHandler, HttpLifeCycleService, IconTools, ImageService,\r\n ModelFactory, RouteRedirector,\r\n StartupArguments, ValueSubscriptionManager, BroadcastChannelService\r\n} from \"../pages/shared/providers\";\r\nimport { AccountDataActionCreator, AccountDataController, AccountDataMemorizer, AccountDataMessageProvider, AccountDataNormalizer, AccountDataSchema, AccountDataStore } from \"../pages/shared/providers/accountData\";\r\nimport { ConfDataActionCreator, ConfDataController, ConfDataNormalizer, ConfDataSchema } from \"../pages/shared/providers/configurationData\";\r\nimport { EntityReselectorService } from \"../pages/shared/providers/entityReselectorService\";\r\nimport { GlobalDataActionCreator, GlobalDataController, GlobalDataNormalizer, GlobalDataSchema, GlobalDataStore } from \"../pages/shared/providers/globalData\";\r\nimport { Strings } from \"../pages/shared/providers/globalData/strings\";\r\nimport { HttpInterceptService } from \"../pages/shared/providers/httpInterceptService\";\r\nimport { ModelLabelService } from \"../pages/shared/providers/modelLabelService\";\r\nimport { PageActionCreator, PageUIStore } from \"../pages/shared/providers/page\";\r\nimport { PageStore } from \"../pages/shared/providers/page/pageStore\";\r\nimport { ProductDataActionCreator, ProductDataController, ProductDataStore } from \"../pages/shared/providers/productData\";\r\nimport { ProductDataNormalizer } from \"../pages/shared/providers/productData/productDataNormalizer\";\r\nimport { ProductDataSchema } from \"../pages/shared/providers/productData/productDataSchema\";\r\nimport { ReselectorService } from \"../pages/shared/providers/reselectorService\";\r\nimport { SearchDataActionCreator, SearchDataController, SearchDataMemorizer, SearchDataMessageProvider, SearchDataNormalizer, SearchDataStore } from \"../pages/shared/providers/searchData\";\r\nimport { AccountDataReducer, AppReducer, AppStore, ConfDataReducer, ConfiguratorUIReducer, ConfUIReducer, GlobalDataReducer, PageReducer, ProductDataReducer, SearchDataReducer, SelectorUIReducer } from \"../pages/shared/state\";\r\nimport { NotificationService } from \"../shared/components/notification\";\r\nimport { PopoverService } from \"../shared/components/popover/popoverService\";\r\nimport { PopupService } from \"../shared/components/popup/popupService\";\r\nimport { AbstractImageService, HttpService, VisualizationPluginManager } from \"../shared/providers\";\r\nimport { GlobalLogger } from \"../shared/providers/globalLogger\";\r\nimport { JsonConvert } from \"../shared/providers/jsonConvert\";\r\nimport { HTMLTemplateBuilder } from \"../shared/providers/module/templateBuilder\";\r\nimport { NormalizerService } from \"../shared/providers/normalizer\";\r\nimport { ReducersCombiner } from \"../shared/providers/reducersCombiner\";\r\nimport { BreakPointAccessor, BrowserInfo } from \"../shared/utils\";\r\nimport { ImageSetAccessor } from \"../shared/utils/imageSetAccessor\";\r\nimport { CompositeActionService } from \"../pages/configurator/actions/composite/compositeActionService\";\r\nimport { CompositeHelper } from \"../pages/configurator/actions/composite/compositeHelper\";\r\nimport { WindowRefService } from \"../shared/components/windowRefService\";\r\nimport { PushMessageStore, PushMessageActionCreator, PushMessageController } from \"../pages/shared/providers/pushMessage\";\r\nimport { PushMessageReducer } from \"../pages/shared/state/pushMessage/pushMessageReducer\";\r\nimport { PushMessageNormalizer } from \"../pages/shared/providers/pushMessage/pushMessageNormalizer\";\r\nimport { SettingsStore } from \"../pages/settings/providers/settingsStore\";\r\nimport { ConfVisiblityService } from \"../pages/configurator/shared/confVisibilityService\";\r\nimport { FormValueModelBuilder } from \"../pages/shared/components/form\";\r\nimport { PushMessageSchema } from \"../pages/shared/providers/pushMessage/pushMessageSchema\";\r\nimport { PushMessageMemorizer } from \"../pages/shared/providers/pushMessage/pushMessageMemorizer\";\r\nimport { SessionStorageService } from \"../pages/shared/providers/sessionStorageService\";\r\nimport { HttpRequestTrackerService } from \"../pages/shared/providers/httpRequestTrackerService\";\r\n\r\nexport let providerList: any[] = [\r\n Strings,\r\n AppStore,\r\n GlobalLogger,\r\n AppStoreSubscriptionManager,\r\n DataSelectorActions,\r\n DataSelectorActionCreator,\r\n BomActions,\r\n BomActionCreator,\r\n SelectorActionCreator,\r\n SelectorTreeDataProvider,\r\n CompositeTreeDataProvider,\r\n SelectorStore,\r\n ImageService,\r\n AppReducer,\r\n ConfDataActionCreator,\r\n HttpService,\r\n HttpRequestTrackerService,\r\n ModelFactory,\r\n HTMLTemplateBuilder,\r\n ReselectorService,\r\n EntityReselectorService,\r\n NormalizerService,\r\n ProductDataSchema,\r\n ProductDataNormalizer,\r\n AddConfigurationComponent,\r\n BreakPointAccessor,\r\n ConfDataSchema,\r\n ConfDataNormalizer,\r\n ConfDataReducer, \r\n VisualObjectViewModelFactory,\r\n BrowserInfo,\r\n SelectorUIReducer,\r\n SelectorActionCreator,\r\n ConfiguratorUIReducer,\r\n ProductDataActionCreator,\r\n PopupService,\r\n PopoverService,\r\n AuthGuard,\r\n AccountDataController,\r\n AccountDataNormalizer,\r\n AccountDataSchema,\r\n AccountDataStore,\r\n AccountDataActionCreator,\r\n AccountDataReducer,\r\n AccountDataMemorizer,\r\n AccountDataMessageProvider,\r\n ConfUIReducer,\r\n UIEventService,\r\n ProductDataStore,\r\n PageReducer,\r\n PageUIStore,\r\n PageStore,\r\n ProductDataReducer,\r\n PageActionCreator,\r\n ProductDataController,\r\n ConfDataController,\r\n ConfEventService,\r\n ConfDataMemorizer,\r\n ConfMessageProvider,\r\n DataSelectorController, \r\n SearchDataNormalizer,\r\n SearchDataActionCreator,\r\n SearchDataController,\r\n SearchDataStore,\r\n SearchDataReducer,\r\n SearchDataMemorizer,\r\n SearchDataMessageProvider,\r\n ComparisonDataActionCreator,\r\n ComparisonDataReducer,\r\n ComparisonDataController,\r\n ComparisonDataStore,\r\n ComparisonResultsResolver,\r\n RuleActionCreator,\r\n RuleActions,\r\n RuleController,\r\n //ExceptionHandler,\r\n { provide: ErrorHandler, useExisting: ExceptionHandler, multi: false },\r\n //new Registration(ErrorHandler).forwardExisting(ExceptionHandler),\r\n ExceptionHandler,\r\n NotificationService,\r\n JsonConvert,\r\n { provide: HTTP_INTERCEPTORS, useClass: HttpInterceptService, multi: true },\r\n //new Registration(HTTP_INTERCEPTORS).forwardClass(HttpInterceptService).allowMultiple(),\r\n RouteRedirector,\r\n ValueSubscriptionManager,\r\n AppActionCreator,\r\n AppController,\r\n GlobalDataActionCreator,\r\n GlobalDataController,\r\n GlobalDataStore,\r\n GlobalDataSchema,\r\n GlobalDataNormalizer,\r\n GlobalDataReducer,\r\n ReducersCombiner,\r\n ApplicationLifeCycleService,\r\n StartupArguments,\r\n //ImageService,\r\n { provide: AbstractImageService, useClass: ImageService, multi: false },\r\n //new Registration(AbstractImageService).forwardClass(ImageService),\r\n ConfPageIdResolver,\r\n ConfDataResolver,\r\n ConfiguratorUIStore,\r\n ConfigurationSessionManager,\r\n ConfiguratorStore,\r\n StateController,\r\n StateActionCreator,\r\n ConfiguratorLayoutManager,\r\n ModelLabelService,\r\n ApiResponseBuilder,\r\n ApiMessageProvider,\r\n SearchResultsResolver,\r\n ConfSearchModelCacheService,\r\n SessionStorageService,\r\n BroadcastChannelService,\r\n ConfPageSessionService,\r\n ConfDataLoadedGuard,\r\n ConfDataDeactivateGuard,\r\n HttpErrorCodeHandler,\r\n AttachmentsDataActionCreator,\r\n AttachmentsDataController,\r\n AttachmentsStore, \r\n EmitterService,\r\n VisualObjectVisibilityService,\r\n TabVisibilityService,\r\n GraphicsHelper,\r\n HttpLifeCycleService,\r\n BomStore, \r\n BomController,\r\n ComparisonHelper,\r\n IconTools,\r\n CalculatedCodeValuesProvider,\r\n StoredCodeValuesProvider,\r\n CodeValueModelBuilder,\r\n ImageSetAccessor,\r\n CompositeActionService,\r\n CompositeHelper,\r\n VisualizationPluginManager,\r\n WindowRefService,\r\n PushMessageStore,\r\n PushMessageActionCreator,\r\n PushMessageController,\r\n PushMessageReducer,\r\n PushMessageNormalizer,\r\n PushMessageSchema,\r\n PushMessageMemorizer,\r\n SettingsStore,\r\n ConfVisiblityService,\r\n FormValueModelBuilder,\r\n]\r\n","import { Route } from \"@angular/router\";\r\nimport { AccountSubRouteComponent, CreateProfileComponent, LoginComponent, LogoutComponent, PasswordChangeComponent, SignUpConfirmEmailComponent } from \"../pages/account\";\r\nimport { AccountComponent } from \"../pages/account/accountComponent\";\r\nimport { RecoverConfirmEmailComponent } from \"../pages/account/password\";\r\nimport { ComparisonRoutes } from \"../pages/configurator/comparison/comparisonRoutes\";\r\nimport { ConfiguratorRoutes } from \"../pages/configurator/configuratorRoutes\";\r\nimport { SearchRoutes } from \"../pages/configurator/search/searchRoutes\";\r\nimport { RedirectorComponent } from \"../pages/redirector/redirectorComponent\";\r\nimport { SelectorComponent } from \"../pages/selector/selectorComponent\";\r\nimport { SettingsComponent } from \"../pages/settings/settingsComponent\";\r\nimport { AuthGuard, RouteNames } from \"../pages/shared/providers\";\r\nimport { StartComponent } from \"../pages/start/startComponent\";\r\n\r\nexport let routeList: Route[] = [\r\n {\r\n path: '',\r\n redirectTo: '/start',\r\n pathMatch: 'full'\r\n }, \r\n ...ConfiguratorRoutes,\r\n {\r\n path: 'redirector',\r\n component: RedirectorComponent,\r\n //canActivate: [AuthGuard] // TODO Should redirector be guarded?\r\n },\r\n ...SearchRoutes, \r\n ...ComparisonRoutes, \r\n {\r\n path: 'selector',\r\n component: SelectorComponent,\r\n canActivate: [AuthGuard], \r\n },\r\n {\r\n path: 'settings',\r\n component: SettingsComponent,\r\n canActivate: [AuthGuard], \r\n },\r\n {\r\n path: 'start',\r\n component: StartComponent,\r\n canActivate: [AuthGuard], \r\n }, \r\n {\r\n path: 'account',\r\n component: AccountComponent,\r\n children: [\r\n\r\n {\r\n path: '', redirectTo: RouteNames.Login, pathMatch: 'prefix'\r\n },\r\n {\r\n path: RouteNames.Login, component: LoginComponent\r\n },\r\n \r\n {\r\n path: RouteNames.SignUp,\r\n component: AccountSubRouteComponent,\r\n children: [\r\n {\r\n path: '', redirectTo: RouteNames.Email, pathMatch: 'prefix'\r\n },\r\n {\r\n path: RouteNames.Email,\r\n component: SignUpConfirmEmailComponent\r\n },\r\n {\r\n path: RouteNames.Verify,\r\n component: SignUpConfirmEmailComponent,\r\n },\r\n {\r\n path: RouteNames.CreateProfile,\r\n component: CreateProfileComponent,\r\n }\r\n ]\r\n },\r\n \r\n {\r\n path: RouteNames.Recover,\r\n component: AccountSubRouteComponent,\r\n children: [\r\n {\r\n path: '', redirectTo: RouteNames.Email, pathMatch: 'prefix'\r\n },\r\n {\r\n path: RouteNames.Email,\r\n component: RecoverConfirmEmailComponent\r\n },\r\n {\r\n path: RouteNames.Verify,\r\n component: RecoverConfirmEmailComponent,\r\n },\r\n {\r\n path: RouteNames.PasswordChange,\r\n component: PasswordChangeComponent,\r\n }\r\n ]\r\n }, \r\n\r\n ]\r\n },\r\n {\r\n path: 'logout',\r\n component: LogoutComponent, \r\n }, \r\n {\r\n path: '**',\r\n component: StartComponent, \r\n canActivate: [AuthGuard], \r\n }\r\n]\r\n","import { Component, ViewChild, ViewEncapsulation } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { InputViewModel } from \"../../shared/components\";\r\nimport { Routing } from \"../../shared/route/routeDecorator\";\r\nimport { PageComponent } from \"../shared\";\r\nimport { ChangePasswordPopupComponent } from \"../shared/components\";\r\nimport { RouteNames, RouteRedirector, IHttpDataInfo } from \"../shared/providers\";\r\nimport { GlobalDataStore } from \"../shared/providers/globalData\";\r\nimport { AnonymousAccessEntryComponent } from \"./login\";\r\n\r\n\r\n@Routing({ path: 'account' })\r\n@Component({\r\n encapsulation: ViewEncapsulation.None,\r\n templateUrl: './accountComponent.html' \r\n})\r\nexport class AccountComponent extends PageComponent {\r\n\r\n public rootStyles: string; \r\n public returnUrl: string;\r\n public accountTitle: string;\r\n public userNameView: InputViewModel;\r\n public showAnonymousAccessLoginLink: boolean = false;\r\n public showSignUpLink: boolean = false;\r\n public showPasswordRecoveryLink: boolean = false; \r\n public showLoginLink: boolean = false;\r\n public logoType: string;\r\n public imageSet: string;\r\n public maxWidth: string;\r\n\r\n @ViewChild(AnonymousAccessEntryComponent)\r\n protected anonymousAccessEntry: AnonymousAccessEntryComponent;\r\n\r\n @ViewChild(ChangePasswordPopupComponent)\r\n protected changePasswordPopup: ChangePasswordPopupComponent;\r\n\r\n protected subscription: Subscription;\r\n\r\n constructor(\r\n public globalDataStore: GlobalDataStore,\r\n protected router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private routeRedirector: RouteRedirector\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n // Read logo type & image set.\r\n this.logoType = this.uiSettings.account.logoType; \r\n this.imageSet = this.uiSettings.account.imageSet;\r\n this.maxWidth = this.uiSettings.account.maxWidth;\r\n\r\n this.userNameView = new InputViewModel(this.strings.Username);\r\n this.userNameView.name = \"identity\";\r\n this.userNameView.icon = \"user\";\r\n\r\n let globalSettings = this.globalDataStore.getGlobalData().globalSettings;\r\n this.showAnonymousAccessLoginLink = globalSettings.isAnonymousAccessEnabled && globalSettings.anonymousAccessFromLoginPage;\r\n this.showSignUpLink = globalSettings.enableAccountCreation;\r\n\r\n this.setStyles();\r\n \r\n this.subscription = this.activatedRoute.url.subscribe(url => {\r\n\r\n this.setStyles();\r\n\r\n // Extract second level route name e.g Login, RecoverPassword, ChangePassword.\r\n let subRoute: string = this.router.routerState.snapshot.root.firstChild.children[0].url[0].path;\r\n switch (subRoute) {\r\n\r\n case RouteNames.Login:\r\n\r\n this.accountTitle = this.strings.Login;\r\n this.showPasswordRecoveryLink = globalSettings.enablePasswordRecovery;\r\n this.showLoginLink = false;\r\n this.showSignUpLink = globalSettings.enableAccountCreation;\r\n this.showAnonymousAccessLoginLink = globalSettings.isAnonymousAccessEnabled && globalSettings.anonymousAccessFromLoginPage;\r\n\r\n break;\r\n\r\n case RouteNames.Recover:\r\n\r\n this.accountTitle = this.strings.RecoverPassword;\r\n this.showLoginLink = false;\r\n this.showPasswordRecoveryLink = false;\r\n this.showSignUpLink = false;\r\n this.showAnonymousAccessLoginLink = false;\r\n\r\n break;\r\n\r\n case RouteNames.PasswordChange:\r\n\r\n this.accountTitle = this.strings.ChangePassword;\r\n\r\n break;\r\n\r\n case RouteNames.SignUp:\r\n this.showLoginLink = false;\r\n this.showPasswordRecoveryLink = false;\r\n this.showSignUpLink = false;\r\n this.showAnonymousAccessLoginLink = false;\r\n\r\n break;\r\n\r\n\r\n }\r\n\r\n });\r\n }\r\n\r\n setStyles(): void {\r\n\r\n this.rootStyles = \"\";\r\n // Add route names as css selectors to control the child component styles.\r\n this.router.url.split(';')[0].split('/').forEach(routeName => {\r\n\r\n if (routeName != '')\r\n this.rootStyles += routeName + \" \";\r\n\r\n });\r\n\r\n }\r\n\r\n loginAnonymously() {\r\n // TODO set returnUrl so anonymous access user is taken to selector page. Should maybe be handled in a different way.\r\n this.returnUrl = \"selector\";\r\n this.anonymousAccessEntry.show();\r\n }\r\n\r\n\r\n passwordChangedSuccess(event) { \r\n \r\n }\r\n\r\n ngOnDestroy() {\r\n\r\n this.subscription.unsubscribe();\r\n super.ngOnDestroy();\r\n\r\n }\r\n\r\n signUpClick() {\r\n this.routeRedirector.redirectToSignUpEmail({});\r\n }\r\n\r\n accountRecoverClick() {\r\n this.routeRedirector.redirectToAccountRecoverEmail({});\r\n }\r\n\r\n onHttpLifeCycleUpdate(http: IHttpDataInfo) {\r\n // Prevents unblocking UI before login is completed\r\n }\r\n\r\n}","
\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n \r\n \r\n\r\n \r\n
\r\n\r\n \r\n \r\n
\r\n","export * from \"./shared\";\r\nexport * from \"./accountComponent\";\r\nexport * from \"./logoutComponent\";\r\nexport * from \"./logoutComponent\";\r\nexport * from \"./password/passwordChangeComponent\";\r\nexport * from \"./login/anonymousAccessEntryComponent\";\r\nexport * from \"./signUp\";\r\nexport * from \"./login/loginComponent\";\r\n","import { ChangeDetectorRef, Component, Inject } from \"@angular/core\";\r\nimport { InputViewModel, PopupService } from \"../../../shared/components\";\r\nimport { AbstractPopupComponent } from \"../../../shared/components/popup/abstractPopupComponent\";\r\nimport { ImageSets } from \"../../../shared/utils\";\r\nimport { Language } from \"../../shared/models\";\r\nimport { AccountDataStore } from \"../../shared/providers/accountData\";\r\nimport { GlobalDataStore } from \"../../shared/providers/globalData\";\r\nimport { SearchDataStore } from \"../../shared/providers/searchData\";\r\n\r\n@Component({\r\n selector: 'anonymous-access-entry',\r\n templateUrl: './anonymousAccessEntryComponent.html'\r\n})\r\nexport class AnonymousAccessEntryComponent extends AbstractPopupComponent {\r\n\r\n public id = \"anonymous-access-entry-popup\";\r\n\r\n public languageView: InputViewModel;\r\n public languagesView: Array = [];\r\n\r\n public languagesLoaded = false;\r\n\r\n protected languagesById: Map;\r\n\r\n constructor(\r\n @Inject(PopupService) public popupService: PopupService,\r\n @Inject(AccountDataStore) public accountStore: AccountDataStore,\r\n @Inject(SearchDataStore) public searchDataStore: SearchDataStore,\r\n public globalDataStore: GlobalDataStore,\r\n public cdr: ChangeDetectorRef\r\n ) {\r\n super(cdr, popupService);\r\n }\r\n\r\n public open(tag: any) {\r\n this.show();\r\n }\r\n\r\n show(): void {\r\n this.blockUI();\r\n this.languagesLoaded = false;\r\n this.languageView = new InputViewModel();\r\n this.languagesView = [];\r\n this.languagesById = new Map();\r\n\r\n this.languageView.icon = \"worldmap\";\r\n this.languageView.title = this.strings.Language;\r\n this.languageView.iconImageSet = this.getImageSet(ImageSets.Control);\r\n\r\n this.globalDataStore.getEntities(Language.name).subscribe((storeResponse) => {\r\n storeResponse.data.forEach(x => {\r\n\r\n this.languagesById.set(x.longId.toString(), x);\r\n\r\n let viewModel = new InputViewModel(x.title);\r\n viewModel.id = x.longId.toString();\r\n this.languagesView.push(viewModel);\r\n });\r\n\r\n // Don't show the popup if there are no languages to choose from\r\n this.unblockUI();\r\n if (this.languagesView.length > 1) {\r\n this.languagesLoaded = true;\r\n }\r\n else\r\n this.okClick();\r\n\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n this.showInternal();\r\n }\r\n\r\n okClick(): void {\r\n this.blockUI();\r\n \r\n let languageTitle = null;\r\n let languageCode = null;\r\n\r\n let selectedLanguage = this.languagesById.get(this.languageView.value);\r\n if (selectedLanguage) {\r\n\r\n languageTitle = selectedLanguage.title;\r\n\r\n if(selectedLanguage.codes && selectedLanguage.codes.size > 0) {\r\n languageCode = selectedLanguage.codes.first();\r\n }\r\n }\r\n\r\n this.accountStore.logInAnonymous(languageTitle, languageCode);\r\n }\r\n}","\r\n \r\n\r\n
\r\n
\r\n {{strings.SelectLangugageAndPressOk}}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
","export * from './loginComponent';\r\nexport * from './anonymousAccessEntryComponent';","import { ChangeDetectorRef, Component, Inject, Input, ViewEncapsulation, ViewChild, SimpleChanges, NgZone } from \"@angular/core\";\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { FormModel } from \"..\";\r\nimport { InputViewModel, NotificationInfo, NotificationService, NotificationType, PopupService, MessageBoxComponent, MessageBoxConfig } from \"../../../shared/components\";\r\nimport { Routing } from \"../../../shared/route/routeDecorator\";\r\nimport { ImageSets, Delay } from \"../../../shared/utils\";\r\nimport { PopupIdentifiers } from \"../../configurator/providers\";\r\nimport { PageComponent } from \"../../shared\";\r\nimport { LoginMessage, User } from \"../../shared/models\";\r\nimport { ApplicationLifeCycleService, AppStoreSubscriptionManager, RouteNames, RouteRedirector, IHttpDataInfo, BroadcastChannelService, BroadcastChannelMessageType } from \"../../shared/providers\";\r\nimport { AccountDataMessageProvider, AccountDataStore } from \"../../shared/providers/accountData\";\r\nimport { GlobalDataStore } from \"../../shared/providers/globalData\";\r\nimport { PageStore } from \"../../shared/providers/page\";\r\nimport { HttpService } from \"../../../shared/providers/httpService\";\r\nimport { RecaptchaComponent } from \"../../../shared/components/recaptcha/recaptcha.component\";\r\nimport { SessionStorageService } from \"../../shared/providers/sessionStorageService\";\r\n\r\n@Routing({ path: 'account/login' })\r\n@Component({\r\n encapsulation: ViewEncapsulation.None,\r\n templateUrl: './loginComponent.html',\r\n providers: [AppStoreSubscriptionManager]\r\n})\r\nexport class LoginComponent extends PageComponent {\r\n\r\n protected returnUrl: string;\r\n protected isNonSpaReturnUrl: boolean = false;\r\n\r\n public errorMessages: Array;\r\n\r\n public userNameView: InputViewModel;\r\n public passwordView: InputViewModel;\r\n\r\n @Input()\r\n public errorMessage: string;\r\n \r\n public showRecaptcha: boolean = false;\r\n public recaptchaResolved: boolean = false;\r\n public siteKey: string;\r\n public formModel: FormModel = {};\r\n public sessionStorageData = this.sessionStorageService.getData();\r\n\r\n public useAzureSSO: boolean = false;\r\n public azureSSOButtonText: string = \"\";\r\n public azureSSOButtonColor: string = \"\";\r\n public azureSSOLoginUrl: string = \"\";\r\n public azureSSOUpn: string = \"\";\r\n private AUTOLOGIN_UPN_PARAM: string = \"ssoupn=\";\r\n \r\n // MsCrm\r\n public isInMsCrmMode: boolean = false;\r\n\r\n @ViewChild(RecaptchaComponent)\r\n protected recaptchaComponent: RecaptchaComponent;\r\n protected recaptchaKey: string;\r\n\r\n @ViewChild(\"confirmLoginMessageBox\")\r\n protected confirmLoginMessageBox: MessageBoxComponent;\r\n\r\n constructor(\r\n @Inject(ActivatedRoute) public activatedRoute: ActivatedRoute,\r\n @Inject(AccountDataStore) public accountStore: AccountDataStore,\r\n @Inject(RouteRedirector) public routeRedirector: RouteRedirector,\r\n @Inject(PageStore) public pageStore: PageStore,\r\n @Inject(PopupService) public popupService: PopupService,\r\n @Inject(HttpService) public httpService: HttpService,\r\n @Inject(BroadcastChannelService) public broadcastChannelService: BroadcastChannelService,\r\n public globalDataStore: GlobalDataStore,\r\n public appStoreSubscriptionManager: AppStoreSubscriptionManager,\r\n public appLifeCycleService: ApplicationLifeCycleService,\r\n public accountMessageProvider: AccountDataMessageProvider,\r\n public sessionStorageService: SessionStorageService,\r\n public notificationService: NotificationService,\r\n public cdr: ChangeDetectorRef,\r\n private ngZone: NgZone,\r\n\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.userNameView = new InputViewModel(this.strings.Username);\r\n this.userNameView.name = \"identity\";\r\n this.userNameView.icon = \"user\";\r\n\r\n this.passwordView = new InputViewModel(this.strings.Password);\r\n this.passwordView.name = \"password\";\r\n this.passwordView.icon = \"password\";\r\n this.passwordView.iconImageSet = this.getImageSet(ImageSets.Control);\r\n\r\n this.showRecaptcha = this.accountStore.showRecaptcha();\r\n\r\n this.pageStore.updateActiveRoute(RouteNames.Login); \r\n this.useAzureSSO = this.globalDataStore.getGlobalData().globalSettings.useAzureSSO;\r\n this.azureSSOLoginUrl = this.globalDataStore.getGlobalData().globalSettings.azureSSOLoginUrl;\r\n\r\n // MsCrm\r\n this.isInMsCrmMode = this.globalDataStore.getGlobalData().globalSettings.isInMsCrmMode;\r\n\r\n this.activatedRoute.params.subscribe(params => {\r\n // Remove the return url argument from the arguments, and the rest of the arguments should be forwarded\r\n // Grab returnurl directly from params object without stringifying the entire object and trimming it.\r\n if (params['returnurl'])\r\n this.returnUrl = params['returnurl'];\r\n \r\n if (this.returnUrl && this.returnUrl?.includes(this.AUTOLOGIN_UPN_PARAM) && this.useAzureSSO) {\r\n this.setAzureUpn(this.returnUrl);\r\n this.azureSso(null);\r\n }\r\n else {\r\n\r\n let cachedRedirectUrl = localStorage.getItem(\"cachedRedirectUrl\");\r\n if (cachedRedirectUrl && cachedRedirectUrl?.includes(this.AUTOLOGIN_UPN_PARAM) && this.useAzureSSO) {\r\n console.log('-------------->The cachedRedirectUrl url is used<--------------');\r\n this.returnUrl = cachedRedirectUrl;\r\n this.setAzureUpn(this.returnUrl);\r\n this.azureSso(null);\r\n localStorage.setItem(\"cachedRedirectUrl\", undefined);\r\n }\r\n }\r\n\r\n });\r\n this.activatedRoute.queryParams.subscribe(queryParams => {\r\n\r\n if (queryParams['returnurl']) {\r\n this.isNonSpaReturnUrl = true;\r\n this.returnUrl = queryParams['returnurl'];\r\n }\r\n });\r\n\r\n if (this.globalDataStore.getGlobalData().globalSettings.showCookieInformation) {\r\n this.notificationService.notify({\r\n title: this.strings.CookieInformation,\r\n message: \" \",\r\n detail: this.strings.CookieInformationMessage,\r\n rawInfo: this.strings.CookieInformationMessageDetails,\r\n type: NotificationType.Info,\r\n identifier: \"cookieInformation\",\r\n selfClose: false\r\n });\r\n\r\n sessionStorage.setItem(\"cookieConsent\", \"true\");\r\n }\r\n\r\n this.formModel.captcha = '';\r\n this.siteKey = this.globalDataStore.getGlobalData().globalSettings.googleReCaptcha;\r\n\r\n super.ngOnInit();\r\n }\r\n\r\n // MsCrm ->\r\n public sso(event) {\r\n let url = '/mscrm/getSSOUrl#';\r\n this.httpService.get(url).subscribe(data => {\r\n //window.location.href = data;\r\n let titel = \"Single Sign On\";\r\n var w = 600; var h = 600;\r\n this.popupwindow(data, titel, w, h);\r\n });\r\n }\r\n // MsCrm <-\r\n\r\n public setAzureUpn(returnUrl: string) {\r\n this.azureSSOUpn = this.returnUrl?.split(';')?.find(x => x.includes(this.AUTOLOGIN_UPN_PARAM))?.replace(this.AUTOLOGIN_UPN_PARAM, '')?.replace(';', '');\r\n }\r\n\r\n public azureSso(event) {\r\n let url = this.azureSSOLoginUrl;\r\n if (this.azureSSOUpn)\r\n url += \"&login_hint=\" + this.azureSSOUpn;\r\n else\r\n url += \"&prompt=select_account\";\r\n\r\n let titel = \"Single Sign On\";\r\n var w = 600; var h = 600;\r\n this.popupwindow(url, titel, w, h);\r\n }\r\n\r\n public popupwindow(url, title, w, h) {\r\n var left = (screen.width / 2) - (w / 2);\r\n var top = (screen.height / 2) - (h / 2);\r\n var SSO_login_window = window.open(url, title, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left);\r\n var timer = setInterval(() => {\r\n try {\r\n if (SSO_login_window.closed) {\r\n clearInterval(timer);\r\n }\r\n } catch (e) {\r\n alert(\"Please enable using popups for this site in the browser so that you can be authenticated with SSO.\");\r\n clearInterval(timer);\r\n }\r\n }, 1000);\r\n return SSO_login_window;\r\n }\r\n\r\n\r\n public redirect() {\r\n\r\n let user = this.accountStore.getUser();\r\n if (!user)\r\n return;\r\n\r\n if (user.systemAuthorization.hasAnonymousAccess) {\r\n this.routeRedirector.redirectToSelector();\r\n return;\r\n }\r\n\r\n if (this.returnUrl) {\r\n\r\n // If the return url is outside the single page application, then router redirector cannot navigate outside the single page application.\r\n if (this.isNonSpaReturnUrl)\r\n this.routeRedirector.redirectByAbsolutUrl(this.returnUrl, true);\r\n else {\r\n this.routeRedirector.redirectByUrl(this.returnUrl);\r\n }\r\n } \r\n else\r\n this.routeRedirector.redirectToStart();\r\n }\r\n\r\n public redirectIfLoggedIn() {\r\n\r\n // If session storage does not have user session then we are pretty sure user is not logged in \r\n if (!this.accountStore.hasUserSession())\r\n return;\r\n\r\n // If user is available in session storage and user data has been loaded (user session available) then user is logged-in\r\n if (this.accountStore.isUserLoggedIn()) {\r\n \r\n this.redirect();\r\n return;\r\n }\r\n\r\n // If user is logged in but user data is not available then reload user data\r\n this.appLifeCycleService.reloadUserAndAppData((user) => {\r\n\r\n this.redirect(); \r\n }); \r\n }\r\n\r\n ngAfterContentInit() {\r\n this.redirectIfLoggedIn();\r\n // Redirect if user has logged in\r\n this.sessionStorageService.onSessionStorageChanged(locationStorageData => {\r\n this.redirectIfLoggedIn();\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n // Listen for login message\r\n this.accountMessageProvider.onMessages(LoginMessage.name, {\r\n next: (messages) => {\r\n\r\n let loginMessage = messages.get(0);\r\n if (loginMessage.success) {\r\n this.appLifeCycleService.reloadAppData(() => {\r\n \r\n // show password expiry warning\r\n if (loginMessage.passwordExpiryWarning) {\r\n this.notificationService.notify({\r\n title: this.strings.Warning,\r\n message: loginMessage.passwordExpiryWarning,\r\n type: NotificationType.Warning,\r\n selfClose: false\r\n });\r\n }\r\n\r\n if (loginMessage.message) {\r\n this.notificationService.notify({\r\n title: this.strings.Info,\r\n message: loginMessage.message,\r\n type: NotificationType.Info,\r\n selfClose: true\r\n });\r\n }\r\n \r\n this.accountStore.startUserSession();\r\n });\r\n }\r\n else if (loginMessage.isPasswordExpired) {\r\n // password is expired -> force user to update it\r\n this.unblockUI();\r\n this.popupService.open(PopupIdentifiers.ChangePassword, this.userNameView.value);\r\n }\r\n else if (loginMessage.showLoginConfirmation) {\r\n let info: MessageBoxConfig = >{\r\n description: loginMessage.loginConfirmationMessage,\r\n icon: \"info\"\r\n }\r\n\r\n this.unblockUI();\r\n this.confirmLoginMessageBox.show(info);\r\n }\r\n else {\r\n this.showRecaptcha = this.accountStore.showRecaptcha();\r\n this.unblockUI();\r\n this.errorMessages = loginMessage.errors.toArray();\r\n this.cdr.detectChanges();\r\n }\r\n },\r\n listenNewEventsOnly: true\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.appStoreSubscriptionManager.dispose();\r\n super.ngOnDestroy();\r\n }\r\n\r\n public login(): void {\r\n // Remove white space from username.\r\n if (this.userNameView.value)\r\n this.userNameView.value = (this.userNameView.value as string).trim();\r\n\r\n if (!this.showRecaptcha || (this.showRecaptcha && this.recaptchaResolved)) {\r\n this.accountStore.logInUser(this.userNameView.value, this.passwordView.value, this.recaptchaKey, false);\r\n this.plainBlockUI();\r\n }\r\n\r\n if (this.showRecaptcha && !this.recaptchaResolved) {\r\n if (!this.recaptchaResolved) {\r\n this.errorMessages = [];\r\n this.errorMessages.push(this.strings.TheFormMustBeFilledOut);\r\n this.errorMessages[0];\r\n }\r\n return;\r\n }\r\n\r\n if (this.recaptchaComponent) {\r\n this.recaptchaComponent.reset();\r\n this.recaptchaResolved = false;\r\n }\r\n }\r\n\r\n onLoginConfirmed() {\r\n this.accountStore.logInUser(this.userNameView.value, this.passwordView.value, this.recaptchaKey);\r\n this.plainBlockUI();\r\n }\r\n\r\n public resolved(event: any): boolean {\r\n this.recaptchaKey = event;\r\n return this.recaptchaResolved = true;\r\n }\r\n\r\n onHttpLifeCycleUpdate(http: IHttpDataInfo) {\r\n // Prevents unblocking UI before login is completed\r\n }\r\n\r\n}","
\r\n

{{strings.Login}}

\r\n \r\n \r\n\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n

{{msg}}

\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { Component, Inject, ViewEncapsulation } from \"@angular/core\";\r\nimport { Routing } from \"../../shared/route/routeDecorator\";\r\nimport { BaseComponent } from \"../shared\";\r\nimport { AppStoreSubscriptionManager, RouteRedirector } from \"../shared/providers\";\r\nimport { AccountDataMessageProvider, AccountDataStore } from \"../shared/providers/accountData\";\r\nimport { SessionStorageService } from \"../shared/providers/sessionStorageService\";\r\n\r\n\r\n@Routing({ path: 'logout' })\r\n@Component({\r\n encapsulation: ViewEncapsulation.None,\r\n templateUrl: './logoutComponent.html',\r\n providers: [AppStoreSubscriptionManager]\r\n})\r\nexport class LogoutComponent extends BaseComponent {\r\n\r\n constructor(\r\n @Inject(AccountDataStore) public accountStore: AccountDataStore,\r\n @Inject(RouteRedirector) public routeRedirector: RouteRedirector,\r\n public appStoreSubscriptionManager: AppStoreSubscriptionManager,\r\n public accountMessageProvider: AccountDataMessageProvider,\r\n public sessionStorageService: SessionStorageService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.logout();\r\n this.routeRedirector.redirectAfterLogout();\r\n }\r\n\r\n logout() {\r\n this.accountStore.logOutUser();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.appStoreSubscriptionManager.dispose();\r\n super.ngOnDestroy();\r\n }\r\n}","export * from './passwordChangeComponent';\r\nexport * from './recoverConfirmEmailComponent';","import { ChangeDetectorRef, Component, EventEmitter, Inject, Output } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { InputViewModel, NotificationInfo, NotificationService, NotificationType } from \"../../../shared/components\";\r\nimport { AccountDataMessage } from \"../../shared/models\";\r\nimport { RouteRedirector } from \"../../shared/providers\";\r\nimport { AccountDataMessageProvider, AccountDataStore } from \"../../shared/providers/accountData\";\r\nimport { BaseAccountMessageComponent } from \"../shared/baseAccountMessageComponent\";\r\n\r\n@Component({\r\n selector: 'password-change',\r\n templateUrl: './passwordChangeComponent.html'\r\n})\r\nexport class PasswordChangeComponent extends BaseAccountMessageComponent {\r\n \r\n public newPasswordView: InputViewModel;\r\n public confirmNewPasswordView: InputViewModel;\r\n \r\n @Output()\r\n passwordChanged = new EventEmitter();\r\n \r\n constructor(\r\n @Inject(AccountDataStore) public accountStore: AccountDataStore,\r\n public accountMessageProvider: AccountDataMessageProvider,\r\n public redirector: RouteRedirector,\r\n public activatedRoute: ActivatedRoute,\r\n public cdr: ChangeDetectorRef, \r\n public notificationService: NotificationService\r\n ) {\r\n super(accountStore, accountMessageProvider, redirector, activatedRoute, cdr);\r\n }\r\n\r\n ngOnInit() {\r\n \r\n this.newPasswordView = new InputViewModel(this.strings.NewPassword);\r\n this.confirmNewPasswordView = new InputViewModel(this.strings.ConfirmNewPassword);\r\n this.newPasswordView.icon = this.confirmNewPasswordView.icon = \"password\";\r\n\r\n super.ngOnInit();\r\n }\r\n\r\n public validatePassword(): boolean {\r\n\r\n // New password is mandatory\r\n if (!this.newPasswordView.value) {\r\n this.newPasswordView.errors = [this.strings.ChangePasswordErrorMessage_SpecifyNewPassword];\r\n return false;\r\n }\r\n\r\n // Confirm new password is mandatory\r\n if (!this.confirmNewPasswordView.value) {\r\n this.confirmNewPasswordView.errors = [this.strings.ChangePasswordErrorMessage_SpecifyNewPassword];\r\n return false;\r\n }\r\n\r\n // New passwords must match\r\n if (this.newPasswordView.value !== this.confirmNewPasswordView.value) {\r\n this.confirmNewPasswordView.errors = [this.strings.ChangePasswordErrorMessage_NewPasswordsNoMatch];\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n onSuccess(message: AccountDataMessage): void {\r\n\r\n // Success message\r\n this.notificationService.notify({\r\n title: this.strings.Success,\r\n message: this.strings.PasswordsChangedSuccessMessage,\r\n type: NotificationType.Success,\r\n selfClose: true\r\n });\r\n\r\n this.accountStore.logInUser(this.user, this.newPasswordView.value);\r\n\r\n }\r\n\r\n public changePassword() {\r\n \r\n if (this.validatePassword())\r\n this.accountStore.recoverPassword(this.sessionKey, this.newPasswordView.value); \r\n\r\n }\r\n\r\n}","
\r\n
\r\n

{{strings.ResetYourPassword}}

\r\n

\r\n {{strings.PleaseChooseNewPasswordDescription}}\r\n

\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
","import { Component, Inject, ChangeDetectorRef } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { InputViewModel } from \"../../../shared/components\";\r\nimport { AccountCommandTypes, AccountDataMessage } from \"../../shared/models\";\r\nimport { RouteRedirector } from \"../../shared/providers\";\r\nimport { AccountDataMessageProvider, AccountDataStore } from \"../../shared/providers/accountData\";\r\nimport { GlobalDataStore } from \"../../shared/providers/globalData\";\r\nimport { BaseAccountMessageComponent } from \"../shared/baseAccountMessageComponent\";\r\n\r\n@Component({\r\n selector: 'password-recover',\r\n templateUrl: './recoverConfirmEmailComponent.html'\r\n})\r\nexport class RecoverConfirmEmailComponent extends BaseAccountMessageComponent {\r\n\r\n constructor(\r\n @Inject(AccountDataStore) public accountStore: AccountDataStore,\r\n public accountMessageProvider: AccountDataMessageProvider,\r\n public globalDataStore: GlobalDataStore,\r\n public redirector: RouteRedirector,\r\n public activatedRoute: ActivatedRoute,\r\n public cd: ChangeDetectorRef,\r\n ) {\r\n super(accountStore, accountMessageProvider, redirector, activatedRoute, cd);\r\n }\r\n\r\n get validateSession(): boolean {\r\n return false;\r\n }\r\n\r\n onSuccess(message: AccountDataMessage): void {\r\n\r\n if (message.commandType == AccountCommandTypes.InitEmailVerification)\r\n this.redirector.redirectToAccountRecoverVerify(this.createParamUrls(message));\r\n\r\n else if (message.commandType == AccountCommandTypes.VerifyCode)\r\n this.redirector.redirectToPasswordChange(this.createParamUrls(message));\r\n\r\n }\r\n\r\n public onUserSubmit(input: InputViewModel): void {\r\n\r\n // TODO: Stop the event propogation. It is being called twice.\r\n if (input.value) {\r\n this.sessionKey = input.value;\r\n this.accountStore.initAccountVerifyRequest(input.value, false);\r\n }\r\n\r\n }\r\n\r\n public onCodeSubmit(input: InputViewModel): void {\r\n\r\n // TODO: Stop the event propogation. It is being called twice.\r\n if (!input.value)\r\n return;\r\n \r\n this.accountStore.accountVerifyCode(this.sessionKey, input.value);\r\n }\r\n \r\n}","","import { Component } from \"@angular/core\";\r\nimport { BaseComponent } from \"../../shared\";\r\n\r\n@Component({\r\n selector: 'account-sub-route',\r\n templateUrl: './accountSubRouteComponent.html'\r\n})\r\nexport class AccountSubRouteComponent extends BaseComponent {\r\n\r\n}","
\r\n \r\n
\r\n","export class AccountUrlParams {\r\n\r\n public static KEY: string = \"key\"\r\n public static USER: string = \"user\"\r\n\r\n // Identifier to store the session.\r\n key: string;\r\n\r\n // Username\r\n user?: string; \r\n\r\n}","import { Component, ChangeDetectorRef } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { NotificationInfo, NotificationService, NotificationType } from \"../../../shared/components\";\r\nimport { GlobalServiceLocator } from \"../../../shared/providers\";\r\nimport { BaseComponent } from \"../../shared\";\r\nimport { AccountDataMessage, LoginMessage } from \"../../shared/models\";\r\nimport { ApplicationLifeCycleService, RouteRedirector } from \"../../shared/providers\";\r\nimport { AccountDataMessageProvider, AccountDataStore } from \"../../shared/providers/accountData\";\r\nimport { AccountUrlParams } from \"./accountUrlParams\";\r\n\r\n@Component({ template: '' })\r\nexport abstract class BaseAccountMessageComponent extends BaseComponent {\r\n\r\n user: string;\r\n sessionKey: string;\r\n message: string;\r\n\r\n constructor( \r\n public accountStore: AccountDataStore,\r\n public accountMessageProvider: AccountDataMessageProvider, \r\n public redirector: RouteRedirector,\r\n public activatedRoute: ActivatedRoute,\r\n public cd: ChangeDetectorRef\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n\r\n // Note! In password change case, user would be set, but In sign up case, It would be null until profile creation.\r\n this.user = this.activatedRoute.snapshot.paramMap.get(AccountUrlParams.USER);\r\n this.sessionKey = this.activatedRoute.snapshot.paramMap.get(AccountUrlParams.KEY);\r\n\r\n // Listen for login message\r\n this.accountMessageProvider.onMessages(AccountDataMessage.name, {\r\n next: (messages) => {\r\n\r\n this.unblockUI();\r\n\r\n let accountDataMessage = messages.get(0);\r\n \r\n // If the request is invalid then abort it.\r\n //if (passwordRecoveryMessage.abort) this.onAbort(passwordRecoveryMessage);\r\n\r\n // If succeed\r\n if (accountDataMessage.success) \r\n this.onSuccess(accountDataMessage);\r\n \r\n\r\n // If error occured.\r\n else this.onError(accountDataMessage);\r\n\r\n },\r\n listenNewEventsOnly: true\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n\r\n // Listen for login message \r\n let appLifeCycleService: ApplicationLifeCycleService = GlobalServiceLocator.injector.get(ApplicationLifeCycleService);\r\n this.accountMessageProvider.onMessages(LoginMessage.name, {\r\n next: (messages) => {\r\n\r\n this.unblockUI();\r\n\r\n let loginMessage = messages.get(0);\r\n if (loginMessage.success) {\r\n appLifeCycleService.reloadAppData(() => {\r\n\r\n this.accountStore.startUserSession();\r\n this.redirector.redirectToStart();\r\n\r\n });\r\n }\r\n else {\r\n this.onLoginFailed(loginMessage);\r\n }\r\n },\r\n listenNewEventsOnly: true\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n \r\n }\r\n\r\n onSuccess(message: AccountDataMessage): void {\r\n\r\n }\r\n\r\n onLoginFailed(message: LoginMessage): void {\r\n\r\n // Failed\r\n let notificationService: NotificationService = GlobalServiceLocator.injector.get(NotificationService);\r\n notificationService.notify({\r\n title: this.strings.Error,\r\n message: message.errors.size > 0 ? message.errors.get(0) : this.strings.SystemCouldNotLogYouOnMessage,\r\n type: NotificationType.Error,\r\n selfClose: false\r\n });\r\n\r\n this.redirector.redirectToLogin();\r\n\r\n }\r\n\r\n onError(messageDto: AccountDataMessage): void {\r\n this.message = messageDto.message\r\n this.cd.detectChanges();\r\n }\r\n\r\n public createParamUrls(messageDto: AccountDataMessage): AccountUrlParams {\r\n\r\n let params = new AccountUrlParams();\r\n params.key = this.sessionKey;\r\n\r\n if (messageDto.username)\r\n params.user = messageDto.username; \r\n\r\n return params;\r\n\r\n }\r\n}","export * from './verify';\r\nexport * from './accountSubRouteComponent';\r\nexport * from './baseAccountMessageComponent';\r\nexport * from './accountUrlParams';","import { Component, EventEmitter, Input, Output, SimpleChanges } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { InputViewModel } from \"../../../../shared/components\";\r\nimport { BaseComponent } from \"../../../shared\";\r\nimport { AccountUrlParams } from \"../accountUrlParams\";\r\n\r\n@Component({\r\n selector: 'account-verify',\r\n templateUrl: './accountVerificationComponent.html'\r\n})\r\nexport class AccountVerificationComponent extends BaseComponent {\r\n\r\n @Input()\r\n public userTitle: string;\r\n\r\n @Input()\r\n public userDescription: string;\r\n\r\n @Input()\r\n public userInputTitle: string;\r\n\r\n @Input()\r\n public codeTitle: string;\r\n\r\n @Input()\r\n public codeDescription: string;\r\n\r\n @Input()\r\n public codeInputTitle: string;\r\n\r\n @Input()\r\n public isNew: boolean = false;\r\n\r\n @Input()\r\n public errorMessage: string;\r\n\r\n @Input()\r\n public validateEmail: boolean = false;\r\n\r\n @Output()\r\n public userSubmit = new EventEmitter();\r\n\r\n @Output()\r\n public codeSubmit = new EventEmitter();\r\n\r\n public initProcess: boolean = true; \r\n\r\n constructor(public activatedRoute: ActivatedRoute) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n\r\n let username = this.activatedRoute.snapshot.paramMap.get(AccountUrlParams.KEY);\r\n this.initProcess = username == null; \r\n\r\n }\r\n\r\n}","\r\n\r\n","import { Component, EventEmitter, Input, Output, SimpleChanges } from \"@angular/core\";\r\nimport { InputViewModel } from \"../../../../shared/components\";\r\nimport { BaseComponent } from \"../../../shared\";\r\nimport { GlobalDataStore } from \"../../../shared/providers/globalData\";\r\n\r\n\r\nexport interface FormModel {\r\n captcha?: string;\r\n}\r\n\r\n@Component({\r\n selector: 'email-form',\r\n templateUrl: './emailFormComponent.html'\r\n})\r\nexport class EmailFormComponent extends BaseComponent {\r\n\r\n @Input()\r\n public title: string;\r\n\r\n @Input()\r\n public description: string;\r\n\r\n @Input()\r\n public inputTitle: string;\r\n\r\n @Input()\r\n public isNew: boolean = false;\r\n\r\n @Input()\r\n public validateEmail: boolean = false;\r\n\r\n @Input()\r\n public errorMessage: string;\r\n\r\n public siteKey: string;\r\n\r\n public formModel: FormModel = {}; \r\n\r\n //public reCaptchaResolved: boolean = false;\r\n\r\n public userNameView: InputViewModel;\r\n\r\n //@ViewChild(\"captchaControl\")\r\n //public captchaControl: any;\r\n\r\n public showAnonymousAccessLogin: boolean = false;\r\n public showSignUp: boolean = false;\r\n public showPasswordRecovery: boolean = false;\r\n\r\n @Output()\r\n public userSubmit = new EventEmitter();\r\n\r\n constructor(public globalDataStore: GlobalDataStore) {\r\n super();\r\n }\r\n \r\n ngOnInit() {\r\n this.userNameView = new InputViewModel(this.inputTitle);\r\n this.userNameView.name = \"Email\";\r\n this.userNameView.icon = \"user\";\r\n\r\n this.siteKey = this.globalDataStore.getGlobalData().globalSettings.googleReCaptcha;\r\n\r\n super.ngOnInit();\r\n }\r\n\r\n onSubmit(): void {\r\n\r\n // TODO: Do we need captcha resolved verification through response??\r\n if (!this.userNameView.value || (this.userNameView.value as string).trim() == '') {\r\n this.errorMessage = this.strings.EmailOrUsernameEmptyMessage;\r\n return;\r\n }\r\n\r\n if (this.validateEmail && !this.isValidEmail(this.userNameView.value)) {\r\n this.errorMessage = this.strings.InvalidEmailAddress;\r\n return;\r\n }\r\n\r\n if (this.siteKey && !this.formModel.captcha) {\r\n this.errorMessage = this.strings.ReCaptchaValidationError;\r\n return;\r\n }\r\n\r\n this.userSubmit.emit(this.userNameView);\r\n\r\n }\r\n\r\n resolved(captchaResponse: string) {\r\n\r\n //this.reCaptchaResolved = true;\r\n //console.log(`Resolved captcha with response ${captchaResponse}:`);\r\n\r\n }\r\n\r\n isValidEmail(email): boolean {\r\n\r\n // TODO: We can improve this validation by using angular built-in feature but It needs more work.\r\n let regex = /^([a-zA-Z0-9_.+-])+\\@(([a-zA-Z0-9-])+\\.)+([a-zA-Z0-9]{2,4})+$/;\r\n return regex.test(email);\r\n\r\n } \r\n\r\n}","
\r\n
\r\n

\r\n {{title}}\r\n

\r\n

\r\n {{description}}\r\n

\r\n\r\n \r\n \r\n\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n\r\n","export * from \"./accountVerificationComponent\";\r\nexport * from \"./verifyFormComponent\";\r\nexport * from \"./emailFormComponent\";\r\n","import { Component, EventEmitter, Input, Output } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { InputViewModel } from \"../../../../shared/components\";\r\nimport { BaseComponent } from \"../../../shared\";\r\nimport { AccountDataMessage } from \"../../../shared/models\";\r\nimport { RouteRedirector } from \"../../../shared/providers\";\r\nimport { GlobalDataStore } from \"../../../shared/providers/globalData\";\r\nimport { AccountUrlParams } from \"../accountUrlParams\";\r\n\r\n\r\n@Component({\r\n selector: 'code-form',\r\n templateUrl: './verifyFormComponent.html'\r\n})\r\nexport class VerifyFormComponent extends BaseComponent {\r\n \r\n public codeView: InputViewModel;\r\n\r\n @Input()\r\n public title: string;\r\n\r\n @Input()\r\n public description: string;\r\n\r\n @Input()\r\n public inputTitle: string;\r\n\r\n @Input()\r\n public errorMessage: string;\r\n\r\n @Output()\r\n public codeSubmit = new EventEmitter();\r\n\r\n constructor(\r\n public globalDataStore: GlobalDataStore,\r\n public redirector: RouteRedirector,\r\n public activatedRoute: ActivatedRoute\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.codeView = new InputViewModel(this.strings.VerificationCode);\r\n this.codeView.name = \"Code\";\r\n this.codeView.icon = \"user\";\r\n\r\n if (!this.title)\r\n this.title = this.strings.CheckYourEmail;\r\n\r\n if (!this.description)\r\n this.description = this.strings.VerificationCodeRequestRecoverDescription; \r\n\r\n super.ngOnInit();\r\n }\r\n\r\n onSuccess(message: AccountDataMessage): void {\r\n //this.redirector.redirectToPasswordChange({ user: this.username, code: this.codeView.value });\r\n }\r\n\r\n verify() {\r\n\r\n let sessionKey = this.activatedRoute.snapshot.paramMap.get(AccountUrlParams.KEY);\r\n\r\n if (!sessionKey)\r\n this.redirector.redirectToLogin();\r\n\r\n //this.blockUI();\r\n // Remove white space from code.\r\n //if (this.codeView.value)\r\n // this.codeView.value = (this.codeView.value as string).trim();\r\n\r\n //this.accountStore.recoverPasswordVerifyCode(username, this.codeView.value);\r\n\r\n this.codeSubmit.emit(this.codeView);\r\n }\r\n \r\n get validateSession(): boolean { return true; }\r\n\r\n}","
\r\n
\r\n

{{title}}

\r\n

\r\n {{description}}\r\n

\r\n\r\n \r\n \r\n \r\n \r\n
\r\n
","import { Component, Inject, ChangeDetectorRef } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { InputViewModel, NotificationInfo, NotificationService, NotificationType } from \"../../../shared/components\";\r\nimport { ImageSets } from \"../../../shared/utils\";\r\nimport { AccountCommandTypes, AccountDataMessage } from \"../../shared/models\";\r\nimport { RouteRedirector } from \"../../shared/providers\";\r\nimport { AccountDataMessageProvider, AccountDataStore } from \"../../shared/providers/accountData\";\r\nimport { BaseAccountMessageComponent } from \"../shared/baseAccountMessageComponent\";\r\n\r\n@Component({\r\n selector: 'create-profile',\r\n templateUrl: './createProfileComponent.html'\r\n})\r\nexport class CreateProfileComponent extends BaseAccountMessageComponent {\r\n \r\n public userNameView: InputViewModel;\r\n public nameView: InputViewModel; \r\n public companyView: InputViewModel;\r\n public phoneNumberView: InputViewModel;\r\n public mobileNumberView: InputViewModel;\r\n public newPasswordView: InputViewModel;\r\n public confirmNewPasswordView: InputViewModel;\r\n\r\n public userNameErrors: Array = [];\r\n public nameErrors: Array = [];\r\n public companyErrors: Array = []; \r\n public newPasswordErrors: Array = [];\r\n public confirmNewPasswordErrors: Array = [];\r\n\r\n constructor(\r\n @Inject(AccountDataStore) public accountStore: AccountDataStore,\r\n public accountMessageProvider: AccountDataMessageProvider,\r\n public redirector: RouteRedirector,\r\n public activatedRoute: ActivatedRoute,\r\n public notificationService: NotificationService,\r\n public cd: ChangeDetectorRef\r\n ) {\r\n super(accountStore, accountMessageProvider, redirector, activatedRoute, cd);\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n\r\n this.user = this.activatedRoute.snapshot.paramMap.get(\"user\");\r\n\r\n this.userNameView = new InputViewModel(this.strings.Username);\r\n this.userNameView.icon = \"user\"; \r\n\r\n this.nameView = new InputViewModel(this.strings.Name);\r\n this.nameView.icon = \"name\"; \r\n\r\n this.companyView = new InputViewModel(this.strings.Company);\r\n this.companyView.icon = \"organization\";\r\n\r\n this.phoneNumberView = new InputViewModel(this.strings.Phone);\r\n this.phoneNumberView.icon = \"phone\";\r\n\r\n this.mobileNumberView = new InputViewModel(this.strings.Mobile);\r\n this.mobileNumberView.icon = \"mobile\";\r\n\r\n this.newPasswordView = new InputViewModel(this.strings.NewPassword);\r\n this.confirmNewPasswordView = new InputViewModel(this.strings.ConfirmNewPassword);\r\n this.newPasswordView.icon = this.confirmNewPasswordView.icon = \"password\";\r\n this.newPasswordView.iconImageSet = this.getImageSet(ImageSets.Control);\r\n this.confirmNewPasswordView.iconImageSet = this.getImageSet(ImageSets.Control);\r\n\r\n super.ngOnInit();\r\n }\r\n\r\n protected get userName(): string {\r\n return this.userNameView.value ? this.userNameView.value.trim() : \"\";\r\n }\r\n\r\n public validateInfo(): boolean {\r\n // Perform some validation on client side. Will also be done on server side.\r\n\r\n // Reset any old errors \r\n this.userNameErrors = []; \r\n this.nameErrors = [];\r\n this.companyErrors = []; \r\n this.newPasswordErrors = [];\r\n this.confirmNewPasswordErrors = [];\r\n\r\n let isValidForm: boolean = true;\r\n\r\n // Username is mandatory\r\n if (!this.userName) {\r\n this.userNameErrors.push(this.strings.UsernameIsRequired);\r\n isValidForm = false;\r\n }\r\n\r\n // Username cannot contain white space\r\n if (/\\s/g.test(this.userName)) {\r\n this.userNameErrors.push(this.strings.UsernameCannotContainWhiteSpace);\r\n isValidForm = false;\r\n }\r\n\r\n // Name is mandatory\r\n if (!this.nameView.value) {\r\n this.nameErrors = [this.strings.NameIsRequired];\r\n isValidForm = false;\r\n }\r\n \r\n if (!this.companyView.value) {\r\n this.companyErrors = [this.strings.CompanyNameIsRequired];\r\n isValidForm = false;\r\n }\r\n\r\n // New password is mandatory\r\n if (!this.newPasswordView.value) {\r\n this.newPasswordErrors = [this.strings.ChangePasswordErrorMessage_SpecifyNewPassword];\r\n isValidForm = false;\r\n }\r\n\r\n // Confirm new password is mandatory\r\n if (!this.confirmNewPasswordView.value) {\r\n this.confirmNewPasswordErrors = [this.strings.ChangePasswordErrorMessage_SpecifyNewPassword];\r\n isValidForm = false;\r\n\r\n }\r\n // New passwords must match\r\n else if (this.newPasswordView.value !== this.confirmNewPasswordView.value) {\r\n this.confirmNewPasswordErrors = [this.strings.ChangePasswordErrorMessage_NewPasswordsNoMatch];\r\n isValidForm = false;\r\n }\r\n\r\n return isValidForm;\r\n }\r\n\r\n onSuccess(data: AccountDataMessage): void {\r\n\r\n if (data.commandType == AccountCommandTypes.AccountInactive) {\r\n\r\n this.notificationService.notify({\r\n title: this.strings.AccountCreationSuccess,\r\n message: data.message,\r\n type: NotificationType.Warning,\r\n selfClose: false\r\n });\r\n\r\n this.redirector.redirectToLogin();\r\n }\r\n else {\r\n\r\n this.notificationService.notify({\r\n title: this.strings.Success,\r\n message: this.strings.AccountCreatedSuccessfully,\r\n type: NotificationType.Success,\r\n selfClose: true\r\n });\r\n\r\n this.accountStore.logInUser(this.userNameView.value, this.newPasswordView.value);\r\n }\r\n }\r\n\r\n create(): void {\r\n\r\n if (this.validateInfo()) {\r\n\r\n this.accountStore.createAccount(\r\n this.sessionKey,\r\n this.nameView.value,\r\n this.userNameView.value,\r\n this.companyView.value,\r\n this.phoneNumberView.value,\r\n this.mobileNumberView.value,\r\n this.newPasswordView.value\r\n \r\n );\r\n\r\n }\r\n }\r\n}","
\r\n
\r\n

\r\n {{strings.CreateAccount}}\r\n

\r\n

\r\n {{strings.CompleteTheFormInformation}}\r\n

\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n","export * from './createProfileComponent';\r\nexport * from './signUpConfirmEmailComponent';","import { Component, Inject, ChangeDetectorRef } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { InputViewModel } from \"../../../shared/components\";\r\nimport { AccountCommandTypes, AccountDataMessage } from \"../../shared/models\";\r\nimport { RouteRedirector } from \"../../shared/providers\";\r\nimport { AccountDataMessageProvider, AccountDataStore } from \"../../shared/providers/accountData\";\r\nimport { GlobalDataStore } from \"../../shared/providers/globalData\";\r\nimport { BaseAccountMessageComponent } from \"../shared/baseAccountMessageComponent\";\r\n\r\n\r\n@Component({\r\n selector: 'new-email-verify',\r\n templateUrl: './signUpConfirmEmailComponent.html'\r\n})\r\nexport class SignUpConfirmEmailComponent extends BaseAccountMessageComponent {\r\n\r\n user: string;\r\n\r\n constructor(\r\n @Inject(AccountDataStore) public accountStore: AccountDataStore,\r\n public accountMessageProvider: AccountDataMessageProvider,\r\n public globalDataStore: GlobalDataStore,\r\n public redirector: RouteRedirector,\r\n public activatedRoute: ActivatedRoute,\r\n public cd: ChangeDetectorRef\r\n ) {\r\n super(accountStore, accountMessageProvider, redirector, activatedRoute, cd);\r\n }\r\n\r\n onSuccess(message: AccountDataMessage): void {\r\n\r\n if (message.commandType == AccountCommandTypes.InitEmailVerification)\r\n this.redirector.redirectToSignUpVerify(this.createParamUrls(message));\r\n\r\n else if (message.commandType == AccountCommandTypes.VerifyCode)\r\n this.redirector.redirectToSignUp(this.createParamUrls(message));\r\n\r\n }\r\n\r\n public onUserSubmit(input: InputViewModel): void {\r\n\r\n // TODO: Stop the event propogation. It is being called twice.\r\n if (input.value) {\r\n this.sessionKey = input.value;\r\n this.accountStore.initAccountVerifyRequest(input.value);\r\n }\r\n\r\n }\r\n\r\n public onCodeSubmit(input: InputViewModel): void {\r\n\r\n // TODO: Stop the event propogation. It is being called twice.\r\n if (!input.value) \r\n return;\r\n\r\n this.accountStore.accountVerifyCode(this.sessionKey, input.value);\r\n \r\n\r\n }\r\n\r\n}","","import { ChangeDetectorRef, Component, Inject, Input, SimpleChanges, ViewEncapsulation } from '@angular/core';\r\nimport { PopupService } from \"../../../../../shared/components\";\r\nimport { NotificationService } from \"../../../../../shared/components/notification\";\r\nimport { BaseComponent } from \"../../../../shared\";\r\nimport { ConfInfo, Product } from \"../../../../shared/models\";\r\nimport { RouteRedirector } from \"../../../../shared/providers\";\r\nimport { GlobalDataStore } from '../../../../shared/providers/globalData';\r\nimport { ProductDataStore } from \"../../../../shared/providers/productData\";\r\nimport { ConfiguratorStore, ConfMessageProvider, ConfPageSessionService } from \"../../../providers\";\r\nimport { CompositeActions, CompositeActionService, ICompositeDataInfo } from '../compositeActionService';\r\nimport { CompositeTreeDataProvider } from \"../tree/compositeTreeDataProvider\";\r\n\r\n@Component({\r\n selector: 'add-configuration',\r\n encapsulation: ViewEncapsulation.None,\r\n templateUrl: './addConfigurationComponent.html'\r\n})\r\nexport class AddConfigurationComponent extends BaseComponent {\r\n\r\n public showNum = 0;\r\n public products: Array = [];\r\n\r\n @Input()\r\n public configurationId: number;\r\n\r\n // Focused conf info\r\n public confInfo: ConfInfo;\r\n\r\n constructor(\r\n @Inject(ProductDataStore) public productDataStore: ProductDataStore,\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfPageSessionService) public storeSession: ConfPageSessionService,\r\n @Inject(NotificationService) public notificationService: NotificationService,\r\n @Inject(ConfMessageProvider) public confMessageProvider: ConfMessageProvider,\r\n @Inject(RouteRedirector) public routeRedirector: RouteRedirector,\r\n @Inject(CompositeTreeDataProvider) public menuDataProvider: CompositeTreeDataProvider,\r\n @Inject(GlobalDataStore) public globalDataStore: GlobalDataStore,\r\n @Inject(CompositeActionService) public actionService: CompositeActionService,\r\n @Inject(PopupService) public popupService: PopupService,\r\n @Inject(ChangeDetectorRef) public cdr: ChangeDetectorRef\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['configurationId']) {\r\n this.setContents();\r\n }\r\n }\r\n\r\n public setContents(): void {\r\n\r\n this.confInfo = this.confStore.getConfInfo(this.configurationId, this.storeSession.confSessionId);\r\n\r\n let product: Product = this.productDataStore.getEntity(this.confInfo.productId);\r\n\r\n\r\n this.productDataStore.getChildProducts(product, this.confInfo.allowedChildProductIds.toArray()).subscribe((response) => { \r\n this.products = response.data;\r\n\r\n !this.cdr['destroyed']\r\n this.cdr.detectChanges();\r\n\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n }\r\n\r\n productClick(event, product: Product): void {\r\n\r\n this.actionService.notify(\r\n\r\n >{\r\n action: CompositeActions.AddProductClick,\r\n tag: product.longId,\r\n focusedConfInfoId: this.configurationId\r\n }\r\n\r\n );\r\n\r\n }\r\n\r\n hasProductIcon(product: Product): boolean {\r\n return product.iconRelativeUrl && product.iconRelativeUrl != \"\";\r\n }\r\n\r\n}","
\r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {{product.title}}\r\n \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Inject, Injectable } from \"@angular/core\";\r\nimport { ProductDataStore } from \"../../../../../core/pages/shared/providers/productData\";\r\nimport { ManagedSubject } from \"../../../../../core/shared\";\r\nimport { ConfiguratorStore, ConfPageSessionService } from \"../../providers\";\r\nimport { CompositeHelper } from \"./compositeHelper\";\r\nimport { CompositeTreeDataProvider } from \"./tree/compositeTreeDataProvider\";\r\n\r\n\r\nexport enum CompositeActions {\r\n\r\n Add = 'add', \r\n AddProductClick = 'addProductClick', \r\n Delete = 'delete', \r\n Import = 'import', \r\n AddClick = 'addClick', \r\n MenuClick = 'menuClick', \r\n SelectNode = 'selectNode', \r\n ExitSidebarExt = 'exitSidebarExt', \r\n NavigationEndedAfterDataLoad = 'navigationEndedAfterDataLoad'\r\n\r\n}\r\n\r\nexport interface ICompositeDataInfo {\r\n focusedConfInfoId: number;\r\n action: CompositeActions;\r\n tag?: T;\r\n}\r\n\r\n@Injectable()\r\nexport class CompositeActionService {\r\n\r\n constructor(\r\n @Inject(ProductDataStore) public productDataStore: ProductDataStore,\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(CompositeTreeDataProvider) public treeDataProvider: CompositeTreeDataProvider,\r\n @Inject(ConfPageSessionService) public storeSession: ConfPageSessionService,\r\n @Inject(CompositeHelper) public compositeHelper: CompositeHelper\r\n ) { }\r\n\r\n private subject = new ManagedSubject>(null, false, 0, false, false);\r\n\r\n public send(action: CompositeActions, tag?: T): void {\r\n\r\n let info: ICompositeDataInfo = >{\r\n action: action,\r\n tag: tag\r\n }\r\n\r\n this.subject.nextValue(info);\r\n }\r\n\r\n public getMessage(): ManagedSubject> {\r\n return this.subject;\r\n }\r\n\r\n public notify(info: ICompositeDataInfo): void {\r\n this.getMessage().nextValue(info);\r\n }\r\n \r\n selectNode(confId: number): void {\r\n this.treeDataProvider.defaultSelectedId = confId;\r\n }\r\n\r\n //deleteConfiguration(): Promise {\r\n\r\n //}\r\n\r\n //importConfiguration(): Promise {\r\n\r\n //}\r\n\r\n //copyConfiguration(): Promise {\r\n\r\n //}\r\n\r\n closeCompositeExtension(): void\r\n {\r\n\r\n }\r\n\r\n openComposite(): void {\r\n\r\n }\r\n\r\n closeComposite(): void {\r\n\r\n }\r\n\r\n}","import { ChangeDetectorRef, Component, Host, Inject, Input } from '@angular/core';\r\nimport { ActivatedRoute, ResolveEnd, Router } from '@angular/router';\r\nimport { RouteNames, RouteRedirector } from '../../../../../core/pages/shared/providers';\r\nimport { GlobalDataStore } from '../../../../../core/pages/shared/providers/globalData';\r\nimport { NodeActions, NotificationInfo, NotificationService, NotificationType } from \"../../../../shared/components\";\r\nimport { ConfInfo, RequestViews, ImportOperationMessage, ConfDeleteMessage } from \"../../../shared/models\";\r\nimport { AccountDataStore } from \"../../../shared/providers/accountData\";\r\nimport { ProductDataStore } from \"../../../shared/providers/productData\";\r\nimport { PageUIData, StickableUIData } from \"../../../shared/state\";\r\nimport { CompositeMenuService } from '../../actions';\r\nimport { ConfiguratorStore, ConfiguratorUIStore, ConfPageSessionService, ConfRouteParams } from \"../../providers\";\r\nimport { StickableSideBarComponent } from \"../../shared/stickableSideBarComponent\";\r\nimport { CompositeActions, CompositeActionService, ICompositeDataInfo } from './compositeActionService';\r\nimport { CompositeHelper } from './compositeHelper';\r\nimport { MenuItem } from \"./navigation\";\r\nimport { CompositeTreeDataProvider } from './tree/compositeTreeDataProvider';\r\n\r\n@Component({\r\n selector: 'composite-menu',\r\n templateUrl: './compositeComponent.html',\r\n providers: [CompositeMenuService]\r\n})\r\nexport class CompositeComponent extends StickableSideBarComponent {\r\n\r\n public selectedItem: MenuItem;\r\n public sidebarExtended: boolean = false;\r\n public menuClicked: boolean = false;\r\n\r\n // Active conf info \r\n public activeConfInfoId: number;\r\n\r\n public compositeWidth: string;\r\n\r\n public nodeAction: string;\r\n\r\n public changeConfOnAdd: boolean = false;\r\n\r\n public focusedConfigurationId: number;\r\n\r\n @Input()\r\n public isAnonymous: boolean = false;\r\n\r\n @Input()\r\n public activeRoute: string = RouteNames.Editor;\r\n\r\n @Input()\r\n public showStickyOption: boolean = true;\r\n\r\n // System does not support Pin/Unpin feature for safari browser.\r\n // It shows weird behaviour when making the composite sticky/unsticky.\r\n isSafari: boolean = false; \r\n\r\n constructor(\r\n @Host() @Inject(CompositeMenuService) public menuService: CompositeMenuService,\r\n @Inject(CompositeTreeDataProvider) public menuDataProvider: CompositeTreeDataProvider,\r\n @Inject(ConfiguratorUIStore) public confUIStore: ConfiguratorUIStore,\r\n @Inject(ProductDataStore) public productDataStore: ProductDataStore,\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfPageSessionService) public storeSession: ConfPageSessionService,\r\n @Inject(AccountDataStore) public accountStore: AccountDataStore,\r\n @Inject(ChangeDetectorRef) public cd: ChangeDetectorRef,\r\n @Inject(GlobalDataStore) public globalDataStore: GlobalDataStore,\r\n @Inject(RouteRedirector) public routeRedirector: RouteRedirector,\r\n @Inject(CompositeHelper) public compositeHelper: CompositeHelper,\r\n @Inject(NotificationService) public notificationService: NotificationService,\r\n @Inject(CompositeActionService) public actionService: CompositeActionService,\r\n @Inject(CompositeTreeDataProvider) public treeDataProvider: CompositeTreeDataProvider,\r\n @Inject(ActivatedRoute) public activatedRoute: ActivatedRoute,\r\n @Inject(Router) public router: Router\r\n ) {\r\n super(confUIStore, storeSession);\r\n }\r\n\r\n public ngOnInit(): void {\r\n\r\n this.isSafari = this.browserInfo.isSafari;\r\n this.activeConfInfoId = this.storeSession.activeConfigurationId;\r\n this.treeDataProvider.defaultSelectedId = this.activeConfInfoId;\r\n this.treeDataProvider.selectedNodePath = this.getSelectedTreeNodePath(this.activeConfInfoId);\r\n let confInfo: ConfInfo = this.confStore.getConfInfo(this.storeSession.activeConfigurationId, this.storeSession.confSessionId);\r\n let rootConfInfo: ConfInfo = this.confStore.getConfInfo(confInfo.rootId, this.storeSession.confSessionId);\r\n\r\n // Listening composite actions.\r\n this.actionService.getMessage().subscribe(info => {\r\n\r\n this.handleActions(info);\r\n\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n super.ngOnInit();\r\n }\r\n\r\n /**\r\n * Executes composite actions\r\n * @param info\r\n */\r\n protected handleActions(info: ICompositeDataInfo): void {\r\n\r\n let focusedConfinfo: ConfInfo = this.confStore.getConfInfo(info.focusedConfInfoId, this.storeSession.confSessionId);\r\n \r\n switch (info.action) {\r\n\r\n case CompositeActions.AddProductClick:\r\n {\r\n this.addChildConfiguration(info.tag, info.focusedConfInfoId);\r\n this.sidebarExtended = false;\r\n this.updateVisibility(this.uiState.visible);\r\n\r\n break;\r\n }\r\n\r\n case CompositeActions.AddClick:\r\n {\r\n\r\n // Two directions. 1- add child directly if only single child product, 2- If multiple products then let user choose the the product.\r\n this.compositeHelper.findChildren(focusedConfinfo.productId).then(children => {\r\n\r\n // For single child\r\n if (children.size == 1) {\r\n this.closeExtension();\r\n this.addChildConfiguration(children.first(), info.focusedConfInfoId);\r\n }\r\n\r\n // For multiple child products, open the menu and let user choose the product.\r\n else {\r\n\r\n this.nodeAction = NodeActions.AddClicked;\r\n this.sidebarExtended = true;\r\n this.updateVisibility(this.uiState.visible);\r\n this.navigateTo(info.focusedConfInfoId);\r\n\r\n }\r\n });\r\n\r\n break;\r\n }\r\n\r\n case CompositeActions.Delete:\r\n {\r\n this.plainBlockUI();\r\n let nextConfId: number = this.compositeHelper.prevConfigurationId(info.focusedConfInfoId, this.storeSession.confSessionId);\r\n this.confStore.deleteConfiguration(info.focusedConfInfoId, this.storeSession.confSessionId, RequestViews.Editor).then(x => {\r\n \r\n // Close sidebar\r\n this.sidebarExtended = false;\r\n this.updateVisibility(this.uiState.visible);\r\n\r\n // Navigate to previous configuration after delete\r\n this.navigateTo(nextConfId);\r\n\r\n let displayStyle = (x.messages.get(0) as ConfDeleteMessage)?.displayStyle;\r\n let title = (x.messages.get(0) as ConfDeleteMessage)?.title;\r\n let message = (x.messages.get(0) as ConfDeleteMessage)?.message;\r\n\r\n // Notify delete action.\r\n this.notificationService.notify({ title: title || displayStyle ? title : this.strings.Delete, message: message ? message : this.strings.ConfigurationIsDeleted, type: displayStyle ? displayStyle : NotificationType.Warning, selfClose: true });\r\n this.unblockUI();\r\n });\r\n break;\r\n }\r\n\r\n case CompositeActions.Import:\r\n {\r\n let displayStyle = (info.tag as ImportOperationMessage)?.displayStyle;\r\n let title = (info.tag as ImportOperationMessage)?.title;\r\n let message = (info.tag as ConfDeleteMessage)?.message;\r\n\r\n this.notificationService.notify({ title: title || displayStyle ? title : this.strings.Import, message: message ? message : this.strings.ChildConfigurationSuccessfullyImported, type: displayStyle ? displayStyle : NotificationType.Success, selfClose: true });\r\n \r\n break;\r\n }\r\n\r\n case CompositeActions.MenuClick:\r\n {\r\n this.nodeAction = NodeActions.ActivateMenu;\r\n this.sidebarExtended = true;\r\n this.updateVisibility(this.uiState.visible);\r\n this.navigateTo(info.focusedConfInfoId);\r\n break;\r\n }\r\n case CompositeActions.SelectNode:\r\n {\r\n this.navigateTo(info.focusedConfInfoId);\r\n break;\r\n }\r\n case CompositeActions.NavigationEndedAfterDataLoad:\r\n {\r\n // If the navigation is made through popups e.g Mandatory popup then\r\n // we have to trigger the treeNode select event to make it selected.\r\n if (this.storeSession.activeConfigurationId != this.activeConfInfoId) {\r\n\r\n this.activeConfInfoId = this.storeSession.activeConfigurationId;\r\n this.treeDataProvider.selectNodeById(this.storeSession.activeConfigurationId);\r\n \r\n }\r\n break;\r\n }\r\n case CompositeActions.ExitSidebarExt:\r\n {\r\n this.sidebarExtended = false;\r\n this.updateVisibility(this.uiState.visible);\r\n break;\r\n }\r\n //case CompositeActions.NavigationEndedAfterDataLoad:\r\n // {\r\n // if (this.menuClicked) {\r\n // this.sidebarExtended = true;\r\n // this.activeConfInfoId = this.focusedConfigurationId;\r\n // this.menuClicked = false;\r\n // }\r\n // break;\r\n // }\r\n }\r\n }\r\n\r\n addChildConfiguration(productId: number, focusedConfInfoId: number): void {\r\n\r\n this.compositeHelper.addChildConfigurations(focusedConfInfoId, productId).\r\n then(newConfIds => {\r\n\r\n // Read global settings\r\n let selectNewNodeAfterAdd = this.globalDataStore.getGlobalData().globalSettings.autoSelectChild;\r\n \r\n // Auto select the newly added configuration.\r\n let confIdsExceptSelectedConf: number[] = newConfIds.filter(x => x != focusedConfInfoId);\r\n if (confIdsExceptSelectedConf.length == 1 && selectNewNodeAfterAdd) {\r\n this.navigateTo(confIdsExceptSelectedConf[0]);\r\n }\r\n });\r\n }\r\n\r\n\r\n public navigateTo(id: number): Promise {\r\n\r\n return new Promise(resolver => {\r\n\r\n if (id == this.storeSession.activeConfigurationId) {\r\n resolver(true);\r\n return;\r\n }\r\n\r\n // Read the sub routing, it could be editor, summary.\r\n let viewName: string = this.activatedRoute.firstChild.snapshot.url[0].path;\r\n\r\n let routeArgs = { id: id, confSessionId: this.storeSession.confSessionId, view: viewName };\r\n\r\n if (this.treeDataProvider.selectedNodePath)\r\n this.treeDataProvider.selectedNodePath = null;\r\n\r\n this.routeRedirector.redirectToConfigurator(routeArgs);\r\n\r\n });\r\n }\r\n\r\n public onClosed(): void {\r\n this.sidebarExtended = false;\r\n super.onClosed();\r\n }\r\n\r\n beforeUILoad(uiData: PageUIData): void {\r\n this.onUIDataChange(uiData);\r\n }\r\n\r\n // Returns the composite data state.\r\n // Note! Don't use this getter property directly in html template. Its better to use local ui data member instead, otherwise you might have small performance penalty.\r\n get uiState(): StickableUIData {\r\n return this.confUIStore.getConfiguratorPageUIState(this.pageId).compositeUI;\r\n }\r\n\r\n /**\r\n * Updates the composite visibility.\r\n * @param visible\r\n */\r\n updateVisibility(visible: boolean): void {\r\n\r\n this.confUIStore.updateCompositeUIState(this.pageId, this.ui.calcWidth, this.ui.calcSticky, visible, this.sidebarExtended);\r\n\r\n // Update toggler button visiblity, Show the toggler only If composite is collapsed.\r\n // this.compositeTogglerVisible = !visible;\r\n }\r\n\r\n /**\r\n * Updates the sticky option set by the user.\r\n * @param userSticky\r\n */\r\n updateUserSticky(userSticky: boolean): void {\r\n this.confUIStore.updateCompositeUIState(this.pageId, this.ui.calcWidth, userSticky, this.ui.visible, this.sidebarExtended);\r\n }\r\n\r\n updateExtraStyles(): void {\r\n\r\n const hasFooter = (this.isAnonymous && this.activeRoute == RouteNames.Summary) || this.activeRoute == RouteNames.Editor;\r\n const heightStyle = hasFooter ? ' has-footer' : '';\r\n\r\n this.moreStyles = this.ui.calcSticky ? \"inline-dock\" : \"inline-floated\" + heightStyle;\r\n\r\n // TODO: Need more investigation, would calcWidth become 0px on collapse or would it be triggered when ui.visible is switched to true and calWidth is not set at that time.\r\n if (this.ui.visible && this.ui.calcWidth === \"0px\") {\r\n this.compositeWidth = \"100%\"\r\n }\r\n else {\r\n this.compositeWidth = this.ui.calcWidth;\r\n }\r\n\r\n if (!this.cd['destroyed'])\r\n this.cd.detectChanges();\r\n }\r\n\r\n /**\r\n * Overrides the subscription and only listen the composite ui change.\r\n */\r\n public subscribePageUIChanges(): void {\r\n if (this.uiStore)\r\n this.confUIStore.compositeUIChange(this.pageId, (data: PageUIData) => {\r\n this.onUIDataChange(data);\r\n });\r\n }\r\n\r\n closeExtension(): void {\r\n\r\n if (this.sidebarExtended) {\r\n this.sidebarExtended = false;\r\n this.updateVisibility(this.uiState.visible);\r\n this.menuDataProvider.applyButtonStyle(null, NodeActions.DeactivateMenu);\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.menuDataProvider)\r\n this.menuDataProvider.onDestroy();\r\n\r\n super.ngOnDestroy();\r\n }\r\n\r\n // TODO: This is a temporary fix to hide the composite toggler, we need more work on this part.\r\n get isCompositeVisible(): boolean {\r\n return !this.uiState.visible;\r\n }\r\n\r\n closeComposite(): void {\r\n this.backdrop.popup.close();\r\n }\r\n\r\n onBackdropClosed(): void {\r\n this.closeExtension();\r\n }\r\n\r\n setBackdrop(): void {\r\n\r\n if (this.backdrop) {\r\n\r\n if (this.ui.calcSticky == undefined)\r\n return;\r\n\r\n // If not sticky (i.e floated) and visible then show the backdrop.\r\n this.backdrop.visible = (!this.ui.calcSticky && this.ui.visible) || this.sidebarExtended;\r\n }\r\n\r\n }\r\n\r\n getSelectedTreeNodePath(nodeId: number, nodePath: number[] = []): number[] {\r\n\r\n let currentNode: ConfInfo = this.confStore.getConfInfo(nodeId, this.storeSession.confSessionId);\r\n if (!currentNode)\r\n return;\r\n\r\n if (currentNode.longId != this.treeDataProvider.defaultSelectedId)\r\n nodePath.push(currentNode.longId);\r\n\r\n if (currentNode.rootId == currentNode.longId)\r\n return nodePath;\r\n\r\n return this.getSelectedTreeNodePath(currentNode.parentId, nodePath);\r\n\r\n }\r\n\r\n /**\r\n * Toggles the sticky option\r\n */\r\n public toggleSticky(): void {\r\n\r\n let newStickyState: boolean = !this.accountStore.getUser().settings.compositeControlSticky;\r\n this.accountStore.updateCompositeControlSticky(newStickyState);\r\n this.updateUserSticky(newStickyState);\r\n\r\n }\r\n\r\n}","\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n\r\n\r\n \r\n \r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { BaseComponent } from \"../../../shared\";\r\n\r\n// Composite header.\r\n// Note! Its much better not communicate with store here in this component. All store related code is written in .\r\n// Add events in this component, listen them in and make all communication there only in one place.\r\n@Component({\r\n selector: 'composite-header',\r\n templateUrl: './compositeHeaderComponent.html' \r\n})\r\nexport class CompositeHeaderComponent extends BaseComponent {\r\n \r\n @Output()\r\n public onIconClick = new EventEmitter();\r\n\r\n @Input()\r\n public iconKey: string;\r\n\r\n @Input()\r\n public title: string;\r\n \r\n}","
\r\n
\r\n
\r\n

{{title}}

\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
","import { Inject, Injectable } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\nimport { ConfDataResponse, ConfInfo, Product } from \"../../../../../core/pages/shared/models\";\r\nimport { ProductDataStore } from \"../../../../../core/pages/shared/providers/productData\";\r\nimport { ConfiguratorStore, ConfPageSessionService } from \"../../providers\";\r\n\r\n@Injectable()\r\nexport class CompositeHelper {\r\n\r\n constructor(@Inject(ProductDataStore) public productDataStore: ProductDataStore,\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfPageSessionService) public storeSession: ConfPageSessionService,\r\n ) {\r\n\r\n }\r\n\r\n\r\n findChildren(productId: number): Promise> {\r\n\r\n return new Promise>((resolve) => {\r\n\r\n // Read product\r\n this.productDataStore.getProduct(productId, (product: Product) => {\r\n resolve(product.children)\r\n });\r\n\r\n });\r\n }\r\n\r\n /**\r\n * Adds new configuration for corresponding product. If @createChild is true and product has only one child then it creates\r\n * the configuration for that child product.\r\n * @param productId\r\n * @param createChild\r\n */\r\n addChildConfigurations(focusedConfId: number, productId: number): Promise {\r\n\r\n let focusedConfInfo = this.confStore.getConfInfo(focusedConfId, this.storeSession.confSessionId);\r\n\r\n // Read product\r\n return new Promise((resolve) => {\r\n\r\n // Read product\r\n this.productDataStore.getProduct(productId, (product: Product) => {\r\n\r\n this.confStore.createChildConfiguration(focusedConfInfo.longId, productId, this.storeSession.confSessionId)\r\n .then((data: ConfDataResponse) => {\r\n\r\n // TODO: rejection here if needed.\r\n\r\n // Resolve the promise.\r\n resolve(data.configurationIds.toArray());\r\n\r\n });\r\n\r\n });\r\n\r\n });\r\n }\r\n\r\n // Crm customization - begin\r\n addChildConfigurationCorrespondingToCrmQuoteDetail(focusedConfId: number, productId: number, quoteDetailCrmId: string): Promise {\r\n\r\n let focusedConfInfo = this.confStore.getConfInfo(focusedConfId, this.storeSession.confSessionId);\r\n\r\n // Read product\r\n return new Promise((resolve) => {\r\n\r\n // Read product\r\n this.productDataStore.getProduct(productId, (product: Product) => {\r\n\r\n this.confStore.createChildConfigurationCorrespondingToCrmQuoteDetail(focusedConfInfo.longId, productId, this.storeSession.confSessionId, quoteDetailCrmId)\r\n .then((data: ConfDataResponse) => {\r\n\r\n // TODO: rejection here if needed.\r\n\r\n // Resolve the promise.\r\n resolve(data.configurationIds.toArray());\r\n\r\n });\r\n\r\n });\r\n\r\n });\r\n }\r\n // Crm customization - end\r\n\r\n\r\n public prevConfigurationId(confId: number, sessionId: number): number {\r\n\r\n // Empty it\r\n let confInfos: Array = [];\r\n\r\n let confInfo: ConfInfo = this.confStore.getConfInfo(confId, sessionId);\r\n\r\n if (!confInfo)\r\n return;\r\n\r\n let parent: ConfInfo = this.confStore.getConfInfo(confInfo.parentId, sessionId);\r\n\r\n if (!parent)\r\n return;\r\n\r\n confInfos.push(parent.longId);\r\n confInfos.push(...parent.children.toArray());\r\n\r\n let index: number = confInfos.indexOf(confId);\r\n\r\n return index > 0 ? confInfos[index - 1] : null;\r\n }\r\n\r\n}","import { Component, Inject, Input, SimpleChanges } from '@angular/core';\r\nimport * as Immutable from \"immutable\";\r\nimport { CompositeMenuService, Identifier } from \"..\";\r\nimport { NodeActions, NotificationInfo, NotificationService, NotificationType, PopupService } from \"../../../../shared/components\";\r\nimport { BaseComponent } from \"../../../shared\";\r\nimport { ConfInfo, ConfDataResponse, OrderOperationMessage } from \"../../../shared/models\";\r\nimport { RouteRedirector } from \"../../../shared/providers\";\r\nimport { GlobalDataStore } from '../../../shared/providers/globalData';\r\nimport { ProductDataStore } from \"../../../shared/providers/productData\";\r\nimport { ConfiguratorStore, ConfiguratorUIStore, ConfPageSessionService } from \"../../providers\";\r\nimport { CompositeActions, CompositeActionService, ICompositeDataInfo } from './compositeActionService';\r\nimport { MenuItem } from \"./navigation\";\r\nimport { CompositeTreeDataProvider } from \"./tree/compositeTreeDataProvider\";\r\n\r\n@Component({\r\n selector: 'composite-menu-controller',\r\n templateUrl: './compositeMenuControllerComponent.html'\r\n})\r\nexport class CompositeMenuControllerComponent extends BaseComponent {\r\n\r\n public title: string;\r\n \r\n public showDetailForm: boolean = false;\r\n\r\n public selectedMenuItem: MenuItem;\r\n\r\n public menuItems: Immutable.List = Immutable.List();\r\n\r\n @Input()\r\n public configurationId: number;\r\n\r\n @Input()\r\n public nodeAction: string;\r\n\r\n constructor(\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfiguratorUIStore) public confUIStore: ConfiguratorUIStore,\r\n @Inject(ConfPageSessionService) public storeSession: ConfPageSessionService,\r\n @Inject(ProductDataStore) public productStore: ProductDataStore,\r\n @Inject(CompositeMenuService) public compositeMenuService: CompositeMenuService,\r\n @Inject(PopupService) public popupService: PopupService,\r\n @Inject(NotificationService) public notificationService: NotificationService,\r\n @Inject(CompositeTreeDataProvider) public treeDataProvider: CompositeTreeDataProvider,\r\n @Inject(RouteRedirector) public routeRedirector: RouteRedirector,\r\n @Inject(GlobalDataStore) public globalDataStore: GlobalDataStore,\r\n @Inject(CompositeActionService) public actionService: CompositeActionService\r\n ) {\r\n super();\r\n }\r\n \r\n ngOnChanges(changes: SimpleChanges): void {\r\n\r\n if (this.nodeAction == NodeActions.AddClicked) {\r\n this.showDetailForm = true;\r\n this.selectedMenuItem = this.compositeMenuService.menuItemByName(Identifier.Add);\r\n }\r\n else {\r\n this.showDetailForm = false;\r\n this.selectedMenuItem = null;\r\n\r\n }\r\n this.updateMenuData();\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.actionService.getMessage().subscribe(x => {\r\n\r\n if (x.action == CompositeActions.NavigationEndedAfterDataLoad) {\r\n\r\n this.updateMenuData();\r\n\r\n }\r\n\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n }\r\n\r\n /**\r\n * Triggers for Add, Delete, Import, Copy, Move up and down.\r\n * @param item\r\n */\r\n onMenuItemClick(item: MenuItem): void {\r\n\r\n this.showDetailForm = item.hasDetail;\r\n this.selectedMenuItem = item;\r\n\r\n\r\n switch (item.name) {\r\n\r\n case Identifier.Import:\r\n\r\n if (!item.hasDetail && item.tag) {\r\n\r\n // TODO: Import ....\r\n\r\n }\r\n\r\n break;\r\n\r\n case Identifier.MoveUp:\r\n\r\n this.confStore.moveUpConfiguration(this.storeSession.activeConfigurationId, this.storeSession.confSessionId).then(x => {\r\n\r\n this.refreshTreeAndMenuData(x);\r\n });\r\n break;\r\n\r\n case Identifier.MoveDown:\r\n this.confStore.moveDownConfiguration(this.storeSession.activeConfigurationId, this.storeSession.confSessionId).then(x => {\r\n\r\n this.refreshTreeAndMenuData(x);\r\n });\r\n break;\r\n }\r\n\r\n }\r\n\r\n refreshTreeAndMenuData(response: ConfDataResponse): void {\r\n\r\n this.updateMenuData();\r\n\r\n if (response.messages.size > 0) {\r\n\r\n // Grab the message\r\n const operation = response.messages.get(0) as OrderOperationMessage; \r\n this.orderChangedMessage(operation);\r\n\r\n }\r\n \r\n }\r\n\r\n orderChangedMessage(operation: OrderOperationMessage): void {\r\n\r\n this.notificationService.notify({\r\n title: operation.title || operation.displayStyle ? operation.title : operation.success ? this.strings.Success : this.strings.Error,\r\n message: operation.message,\r\n type: operation.displayStyle ? operation.displayStyle : operation.success ? NotificationType.Success : NotificationType.Error,\r\n selfClose: operation.success\r\n });\r\n\r\n }\r\n\r\n updateMenuData(): void {\r\n\r\n if (!this.configurationId)\r\n return;\r\n\r\n // Update the header title.\r\n let confInfo: ConfInfo = this.confStore.getConfInfo(this.configurationId, this.storeSession.confSessionId);\r\n\r\n // In most of the cases updateMenuData is triggered by ngOnChanges and ConfInfo would be guranteed. But if this method is called because of detailMenu close, then It might be possible that\r\n // current configuration where we are working on, has been deleted and configurationId could be the old reference. \r\n // TODO: Require more work not to let through this method until activeConfiguration updated.\r\n if (!confInfo)\r\n return;\r\n\r\n this.title = confInfo.text;\r\n\r\n let conf = this.confStore.getConf(this.configurationId, this.storeSession.confSessionId);\r\n if (!conf)\r\n return;\r\n\r\n this.menuItems = Immutable.List(this.compositeMenuService.updateAccessibility(confInfo));\r\n\r\n if (this.selectedMenuItem) {\r\n\r\n // Update the selected menu item.\r\n this.selectedMenuItem = this.compositeMenuService.itemByName.get(this.selectedMenuItem.name);\r\n\r\n if (!this.selectedMenuItem.hasDetail || this.selectedMenuItem.hidden) {\r\n this.showDetailForm = false;\r\n this.selectedMenuItem = null;\r\n }\r\n }\r\n }\r\n\r\n public closeSidebarExtension($event: any): void {\r\n this.actionService.notify(>{ action: CompositeActions.ExitSidebarExt });\r\n }\r\n \r\n public returnToMenu($event): void {\r\n\r\n if (this.selectedMenuItem.name == Identifier.Add) {\r\n\r\n this.actionService.notify(>\r\n {\r\n focusedConfInfoId: this.configurationId,\r\n action: CompositeActions.MenuClick\r\n }); \r\n return;\r\n\r\n }\r\n\r\n this.showDetailForm = false;\r\n this.selectedMenuItem = null;\r\n this.updateMenuData();\r\n\r\n // Enable the user interaction on composite\r\n this.popupService.enable(\"compositePopup\", true);\r\n }\r\n\r\n}\r\n\r\n","
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{ showDetailForm ? selectedMenuItem.title : this.strings.PerformActionOn}}

\r\n {{title}}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n
\r\n\r\n \r\n \r\n\r\n
\r\n
","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { ImageSets } from '../../../../shared/utils';\r\nimport { BaseComponent } from \"../../../shared\";\r\nimport { MenuItem } from \"./navigation\";\r\n\r\n@Component({\r\n selector: 'composite-menu-item',\r\n templateUrl: './compositeMenuItemComponent.html'\r\n})\r\nexport class CompositeMenuItemComponent extends BaseComponent {\r\n\r\n public imageSet: string;\r\n\r\n @Input()\r\n public item: MenuItem;\r\n\r\n @Input()\r\n public accessible: boolean = true;\r\n\r\n @Output()\r\n public itemClick = new EventEmitter(); \r\n\r\n ngOnInit() {\r\n this.imageSet = this.getImageSet(ImageSets.ConfiguratorTree);\r\n }\r\n\r\n}\r\n\r\n","
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{item.title}}\r\n {{item.subTitle}}\r\n
\r\n
\r\n
","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { MenuItem } from \"./navigation\";\r\n\r\n@Component({\r\n selector: 'composite-item-detail',\r\n templateUrl: './compositeMenuItemDetailComponent.html'\r\n})\r\nexport class CompositeMenuItemDetailFactory {\r\n\r\n @Output()\r\n public onClose = new EventEmitter();\r\n \r\n public displayStyle: string;\r\n\r\n @Input()\r\n public item: MenuItem;\r\n\r\n @Input()\r\n public configurationId: number;\r\n \r\n public ngOnInit(): void {\r\n\r\n }\r\n\r\n public closeDetailMenu(event): void {\r\n \r\n this.onClose.emit(event);\r\n\r\n if (event && event.stopPropagation)\r\n event.stopPropagation();\r\n }\r\n \r\n}\r\n\r\n","
\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n
","import { ChangeDetectorRef, Component, EventEmitter, Inject, Input, Output, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';\r\nimport * as Immutable from \"immutable\";\r\nimport { InputViewModel, ValueChangeEventArgs } from \"../../../../../shared/components\";\r\nimport { NotificationInfo, NotificationService, NotificationType } from \"../../../../../shared/components/notification\";\r\nimport { BaseComponent } from \"../../../../shared\";\r\nimport { CopyDestinationMessage, CopyOperationMessage } from \"../../../../shared/models/responses/messages\";\r\nimport { ConfDataActionCreator } from \"../../../../shared/providers/configurationData\";\r\nimport { ConfiguratorStore, ConfMessageProvider, ConfPageSessionService } from \"../../../providers\";\r\n\r\n@Component({\r\n selector: 'copy-configuration',\r\n encapsulation: ViewEncapsulation.None,\r\n templateUrl: './copyConfigurationComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class CopyConfigurationComponent extends BaseComponent {\r\n\r\n public itemsView: Array = [];\r\n public dropdownView: InputViewModel;\r\n public errorMessages: Array;\r\n\r\n @Output()\r\n public onCancel = new EventEmitter();\r\n\r\n @Input()\r\n public configurationId: number;\r\n\r\n public noOfCopiesView: InputViewModel;\r\n\r\n public destinationId: number;\r\n\r\n constructor(\r\n @Inject(ConfPageSessionService) public confPageSession: ConfPageSessionService,\r\n @Inject(ConfMessageProvider) public confMessageProvider: ConfMessageProvider,\r\n @Inject(ConfDataActionCreator) public confActionCreator: ConfDataActionCreator,\r\n @Inject(NotificationService) public notificationService: NotificationService,\r\n @Inject(ConfiguratorStore) public configuratorStore: ConfiguratorStore,\r\n @Inject(ChangeDetectorRef) public cdr: ChangeDetectorRef\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.dropdownView = new InputViewModel(this.strings.Configuration);\r\n this.dropdownView.icon = \"product\";\r\n\r\n this.noOfCopiesView = new InputViewModel(this.strings.Count);\r\n this.noOfCopiesView.value = 1;\r\n\r\n // Copy configuration message\r\n this.confMessageProvider.onMessagesRequest(this.confPageSession.confSessionId, CopyOperationMessage.name, {\r\n listenNewEventsOnly: true, next: (messages: Immutable.List) => {\r\n\r\n if (messages.size > 0) {\r\n let copyMessage = messages.get(0);\r\n if (copyMessage.success && copyMessage.newConfIds != null && copyMessage.newConfIds.size > 0) {\r\n this.notificationService.notify({\r\n title: copyMessage.title || copyMessage.displayStyle ? copyMessage.title : this.strings.CopySuccessful,\r\n message: this.format(this.strings.XConfigurationsCreatedSuccessfully, copyMessage.newConfIds.size),\r\n type: copyMessage.displayStyle ? copyMessage.displayStyle : NotificationType.Success,\r\n selfClose: true\r\n });\r\n\r\n // Close the copy form.\r\n this.onCancel.emit();\r\n }\r\n else if (!copyMessage.success) {\r\n this.notificationService.notify({\r\n title: copyMessage.title || copyMessage.displayStyle ? copyMessage.title : this.strings.Error,\r\n message: copyMessage.message,\r\n type: copyMessage.displayStyle ? copyMessage.displayStyle : NotificationType.Error,\r\n selfClose: false\r\n });\r\n }\r\n }\r\n }\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n this.loadDestinations();\r\n }\r\n\r\n loadDestinations(): void {\r\n // Dispatch request for destinations \r\n this.configuratorStore.requestCopyDestinations(this.confPageSession.activeConfigurationId, this.confPageSession.confSessionId);\r\n\r\n // Listen the message for destinations\r\n this.confMessageProvider.onMessagesRequest(this.confPageSession.confSessionId, CopyDestinationMessage.name, {\r\n listenNewEventsOnly: true, next: (messages: Immutable.List) => {\r\n messages.get(0).confInfos.forEach(x => {\r\n const itemView = new InputViewModel();\r\n itemView.title = x.text;\r\n itemView.value = x.longId;\r\n itemView.id = x.longId.toString();\r\n this.itemsView.push(itemView);\r\n this.dropdownView.formattedValue = x.text;\r\n this.dropdownView.value = '' + x.longId;\r\n });\r\n\r\n this.itemsView = [...this.itemsView];\r\n this.cdr.markForCheck();\r\n }\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n\r\n }\r\n\r\n makeCopies(): void {\r\n this.errorMessages = [];\r\n if (this.noOfCopiesView.value === null || parseInt(this.noOfCopiesView.value) === 0) {\r\n this.errorMessages.push(this.strings.TheFormMustBeFilledOut);\r\n } else {\r\n const copies = parseInt(this.noOfCopiesView.value);\r\n\r\n // TODO: Need more work on dropdownlist component it does not trigger the default set value that's why\r\n // we are reading value through component. \r\n this.destinationId = !this.destinationId ? Number(this.dropdownView.value) : this.destinationId;\r\n\r\n this.configuratorStore.copyConfiguration(this.configurationId, this.destinationId, copies, this.confPageSession.confSessionId);\r\n }\r\n }\r\n\r\n onValueChange(event: ValueChangeEventArgs) {\r\n\r\n this.destinationId = Number(event.actionView.id);\r\n\r\n }\r\n\r\n}","
\r\n\r\n
\r\n \r\n \r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n","import { Component, EventEmitter, Inject, Input, Output, ViewEncapsulation } from '@angular/core';\r\nimport { InputViewModel, NotificationService } from \"../../../../../shared/components\";\r\nimport { BaseComponent } from \"../../../../shared\";\r\nimport { RouteRedirector } from \"../../../../shared/providers\";\r\nimport { ConfiguratorStore, ConfPageSessionService } from \"../../../providers\";\r\nimport { ConfMessageProvider } from \"../../../providers/confMessageProvider\";\r\nimport { CompositeActions, CompositeActionService, ICompositeDataInfo } from '../compositeActionService';\r\nimport { CompositeTreeDataProvider } from \"../tree/compositeTreeDataProvider\";\r\n\r\n@Component({\r\n selector: 'delete-configuration',\r\n encapsulation: ViewEncapsulation.None,\r\n templateUrl: './deleteConfigurationComponent.html'\r\n})\r\nexport class DeleteConfigurationComponent extends BaseComponent {\r\n @Input() public entity: any;\r\n showNum = 0;\r\n itemsView: Array = [];\r\n dropdownView: InputViewModel;\r\n \r\n @Output()\r\n public onCancel = new EventEmitter();\r\n\r\n constructor( \r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfPageSessionService) public storeSession: ConfPageSessionService,\r\n @Inject(ConfMessageProvider) public confMessageProvider: ConfMessageProvider,\r\n @Inject(NotificationService) public notificationService: NotificationService,\r\n @Inject(CompositeTreeDataProvider) public menuDataProvider: CompositeTreeDataProvider,\r\n @Inject(CompositeActionService) public actionService: CompositeActionService,\r\n @Inject(RouteRedirector) public routeRedirector: RouteRedirector\r\n ) {\r\n super();\r\n }\r\n \r\n deleteConfigurationClick(event): void {\r\n // move navigation to compositecomponent\r\n this.actionService.notify(>\r\n {\r\n action: CompositeActions.Delete,\r\n focusedConfInfoId: this.storeSession.activeConfigurationId\r\n }\r\n );\r\n }\r\n\r\n}","
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Inject, Input, Output, ViewEncapsulation } from '@angular/core';\r\nimport { InputViewModel } from \"../../../../../shared/components\";\r\nimport { ImageSets } from '../../../../../shared/utils';\r\nimport { BaseComponent } from \"../../../../shared\";\r\nimport { ConfAutoCompleteItem, ConfAutoCompleteMessage, ConfDataResponse, ConfInfo, ImportOperationMessage, Product } from \"../../../../shared/models\";\r\nimport { ProductDataStore } from '../../../../shared/providers/productData';\r\nimport { ConfiguratorStore, ConfPageSessionService } from \"../../../providers\";\r\nimport { CompositeActions, CompositeActionService, ICompositeDataInfo } from '../compositeActionService';\r\nimport { GlobalDataStore } from '../../../../shared/providers/globalData';\r\n\r\n\r\n@Component({\r\n selector: 'import-configuration',\r\n encapsulation: ViewEncapsulation.None,\r\n templateUrl: './importConfigurationComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ImportConfigurationComponent extends BaseComponent {\r\n\r\n @Input() public errorMessage: any;\r\n\r\n public disableRevision = false;\r\n\r\n @Output()\r\n public onCancel = new EventEmitter(); \r\n public itemsView: Array = [];\r\n public productsGroupView: InputViewModel;\r\n public identityView: InputViewModel;\r\n public revisionView: InputViewModel; \r\n public configurationIdView: InputViewModel;\r\n public confInfo: ConfInfo;\r\n public confItemsView: Array = [];\r\n constructor(\r\n @Inject(ConfPageSessionService) public confPageSession: ConfPageSessionService,\r\n @Inject(ProductDataStore) public productDataStore: ProductDataStore,\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(CompositeActionService) public actionService: CompositeActionService,\r\n @Inject(ChangeDetectorRef) public cd: ChangeDetectorRef,\r\n @Inject(GlobalDataStore) public globalDataStore: GlobalDataStore\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.confInfo = this.confStore.getConfInfo(this.confPageSession.activeConfiguration.longId, this.confPageSession.confSessionId);\r\n this.disableRevision = this.globalDataStore.globalSettings.disableRevisionManagement;\r\n this.createViewModels(); \r\n }\r\n\r\n createViewModels(): void {\r\n\r\n // Create product dropdownlist\r\n this.productsGroupView = new InputViewModel(this.strings.Product); \r\n this.productsGroupView.icon = \"product\";\r\n this.productsGroupView.iconImageSet = this.getImageSet(ImageSets.ConfiguratorTree);\r\n\r\n this.productDataStore.getProduct(this.confInfo.productId, (parentProduct) => {\r\n this.populateChildProducts(parentProduct);\r\n });\r\n\r\n this.identityView = new InputViewModel(this.strings.Identity);\r\n this.identityView.icon = \"identity\";\r\n\r\n this.revisionView = new InputViewModel(this.strings.Revision);\r\n this.revisionView.icon = \"revision\";\r\n\r\n this.configurationIdView = new InputViewModel(this.strings.Configuration);\r\n this.configurationIdView.icon = \"configuration\";\r\n\r\n this.productsGroupView.iconHeight = this.productsGroupView.iconWidth = this.identityView.iconWidth = this.identityView.iconHeight = this.revisionView.iconHeight = this.revisionView.iconWidth = \"24px\";\r\n }\r\n\r\n /**\r\n * Triggers when the item is selected from autoComplete list.\r\n * @param event\r\n */\r\n onAutoCompleteItemSelection(event): void {\r\n\r\n const confIdentity = event.item.value as ConfAutoCompleteItem;\r\n this.updateViews(confIdentity);\r\n\r\n }\r\n\r\n /**\r\n * Triggers to retreive the items for autoComplete dropdown\r\n * @param event\r\n */\r\n onPopulateAutoComplete(event): void {\r\n\r\n // TODO: Dropdownlist does not support default value selected that's why this is condition is added.\r\n // We can remove it after fixing the drodownlist bug.\r\n if (!this.productsGroupView.value) \r\n return;\r\n \r\n // Retreive matching configuration show in autoComplete list.\r\n this.confStore.getImportIdentitiesHint(event.query, Number(this.productsGroupView.value), this.confPageSession.confSessionId).then(response => {\r\n\r\n // Clear the list before populating it again.\r\n this.confItemsView = [];\r\n if (response.messages.size > 0) {\r\n\r\n // Read the auto complete message and grab available configuration identities.\r\n const message = response.messages.get(0) as ConfAutoCompleteMessage\r\n // Loop through all identities and create model for each.\r\n message.autoCompleteItems.forEach(confIdentity => {\r\n\r\n let itemView = new InputViewModel();\r\n itemView.id = confIdentity.longId.toString();\r\n itemView.name = confIdentity.identity.toString();\r\n itemView.title = confIdentity.text;\r\n itemView.value = confIdentity;\r\n\r\n this.confItemsView.push(itemView); \r\n\r\n })\r\n }\r\n\r\n // Create the new instance of array to trigger the change.\r\n this.confItemsView = [...this.confItemsView];\r\n\r\n // Sets the import button interaction based on auto complete result.\r\n //this.enableImportButton = this.confItemsView.length > 0;\r\n this.cd.markForCheck();\r\n\r\n });\r\n\r\n }\r\n\r\n populateChildProducts(parentProduct: Product): void {\r\n\r\n this.productDataStore.getChildProducts(parentProduct).subscribe((response) => {\r\n\r\n let products = response.data;\r\n\r\n for (let product of products) {\r\n\r\n let itemView = new InputViewModel();\r\n itemView.title = product.title;\r\n itemView.id = product.longId.toString();\r\n this.itemsView.push(itemView)\r\n }\r\n\r\n this.productsGroupView.formattedValue = this.itemsView.length > 0 ? this.itemsView[0].title : null;\r\n this.productsGroupView.value = this.itemsView.length > 0 ? this.itemsView[0].id : null;\r\n this.cd.markForCheck();\r\n\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n }\r\n\r\n onValueChange($event): void {\r\n\r\n }\r\n\r\n updateViews(confIdentity: ConfAutoCompleteItem): void {\r\n \r\n this.revisionView.value = confIdentity.revision;\r\n\r\n // Create new instance to detect the changes. \r\n this.revisionView = { ...this.revisionView };\r\n\r\n // TODO: This is a temporary solution to set the selected value to AutoComplete. This issue must be \r\n // addressed in AutoComplete component.\r\n this.identityView.tag = confIdentity;\r\n\r\n }\r\n\r\n importClick($event): void {\r\n\r\n // Grab required values\r\n const identity = this.identityView.value;\r\n const revision = this.revisionView.value; \r\n \r\n // Send the import command to import the configuration\r\n this.confStore.importConfiguration(\r\n this.confInfo.longId,\r\n null,\r\n identity,\r\n revision,\r\n this.confPageSession.confSessionId\r\n\r\n ).then((response: ConfDataResponse) => {\r\n\r\n if (response.messages.size > 0) {\r\n\r\n const message = response.messages.get(0) as ImportOperationMessage;\r\n\r\n // Imported successfully?\r\n if (!message.success) {\r\n this.errorMessage = message.message;\r\n this.cd.markForCheck();\r\n }\r\n else {\r\n\r\n // Notify composite and execute UI node actions, e.g selecting the newly added configuration if required.\r\n this.actionService.notify(>{ action: CompositeActions.Import, tag: response.messages.get(0) });\r\n\r\n this.errorMessage = null;\r\n this.cd.markForCheck();\r\n }\r\n }\r\n\r\n });\r\n \r\n }\r\n\r\n}","
\r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n
\r\n \r\n
\r\n
","import { ImmutableObject } from \"../../../../shared/immutableObject\";\r\n\r\nexport class MenuItem extends ImmutableObject {\r\n\r\n public readonly NAME = \"name\";\r\n public readonly TITLE = \"title\";\r\n public readonly SUB_TITLE = \"subTitle\";\r\n public readonly ICON = \"icon\";\r\n public readonly WIDTH = \"width\";\r\n public readonly HEIGHT = \"height\"; \r\n public readonly STYLE = \"style\";\r\n public readonly HIDDEN = \"hidden\";\r\n public readonly DISABLE = \"disable\";\r\n public readonly HAS_DETAIL = \"hasDetail\";\r\n public readonly TAG = \"tag\";\r\n\r\n get name(): string { return this.getInternalValue(this.NAME); }\r\n setName(name: string): this { return this.setInternalValue(this.NAME, name); }\r\n\r\n get title(): string { return this.getInternalValue(this.TITLE); }\r\n setTitle(title: string): this { return this.setInternalValue(this.TITLE, title); }\r\n\r\n get subTitle(): string { return this.getInternalValue(this.SUB_TITLE); }\r\n setSubTitle(subTitle: string): this { return this.setInternalValue(this.SUB_TITLE, subTitle); }\r\n\r\n get icon(): string { return this.getInternalValue(this.ICON); }\r\n setIcon(icon: string): this { return this.setInternalValue(this.ICON, icon); }\r\n\r\n get width(): number { return this.getInternalValue(this.WIDTH); }\r\n setWidth(width: number): this { return this.setInternalValue(this.WIDTH, width); }\r\n\r\n get height(): number { return this.getInternalValue(this.HEIGHT); }\r\n setHeight(height: number): this { return this.setInternalValue(this.HEIGHT, height); } \r\n\r\n get style(): string { return this.getInternalValue(this.STYLE); }\r\n setStyle(style: string): this { return this.setInternalValue(this.STYLE, style); }\r\n\r\n get hidden(): boolean { return this.getInternalValue(this.HIDDEN); }\r\n setHidden(hidden: boolean): this { return this.setInternalValue(this.HIDDEN, hidden); }\r\n\r\n get disable(): boolean { return this.getInternalValue(this.DISABLE); }\r\n setDisable(disable: boolean): this { return this.setInternalValue(this.DISABLE, disable); }\r\n\r\n get hasDetail(): boolean { return this.getInternalValue(this.HAS_DETAIL); }\r\n setHasDetail(hasDetail: boolean): this { return this.setInternalValue(this.HAS_DETAIL, hasDetail); }\r\n\r\n get tag(): any { return this.getInternalValue(this.TAG); }\r\n setTag(tag: any): this { return this.setInternalValue(this.TAG, tag); }\r\n\r\n}","import { Component } from '@angular/core';\r\nimport { BaseComponent } from \"../../../shared\";\r\n\r\n\r\n@Component({\r\n selector: 'product-button',\r\n templateUrl: './productButtonComponent.html'\r\n})\r\nexport class ProductButtonComponent extends BaseComponent {\r\n\r\n public imageSet: string = \"primary\";\r\n public imageSetGreen: string = \"green\";\r\n\r\n}","
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
","import { Component } from '@angular/core';\r\nimport { BaseComponent } from \"../../../shared\";\r\n\r\n@Component({\r\n selector: 'product-buttons',\r\n templateUrl: './productButtonsContainerComponent.html'\r\n})\r\nexport class ProductButtonsContainerComponent extends BaseComponent {\r\n\r\n}","
\r\n \r\n \r\n
","import { Inject, Injectable } from '@angular/core';\r\nimport * as Immutable from \"immutable\";\r\nimport { ConfInfo } from \"../../../shared/models\";\r\nimport { GlobalDataStore, Strings } from \"../../../shared/providers/globalData\";\r\nimport { ProductDataStore } from \"../../../shared/providers/productData\";\r\nimport { ConfiguratorStore, ConfPageSessionService } from \"../../providers\";\r\nimport { MenuItem } from \"./navigation\";\r\n\r\n\r\nexport let Identifier = {\r\n Add: 'add',\r\n Delete: 'delete',\r\n Copy: 'copy',\r\n Import: \"import\",\r\n Sort: \"sort\",\r\n MoveUp: \"moveUp\",\r\n MoveDown: \"moveDown\"\r\n}\r\n\r\n@Injectable()\r\nexport class CompositeMenuService {\r\n\r\n public itemByName: Immutable.Map = Immutable.Map();\r\n\r\n public get configurationId(): number {\r\n return this.storeSession.activeConfigurationId;\r\n };\r\n\r\n public get confSessionId(): number {\r\n return this.storeSession.confSessionId;\r\n };\r\n\r\n constructor(\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfPageSessionService) public storeSession: ConfPageSessionService,\r\n @Inject(ProductDataStore) public productStore: ProductDataStore,\r\n public globalDataStore: GlobalDataStore, \r\n @Inject(Strings) public strings: Strings,\r\n ) {\r\n\r\n let globalSettings = globalDataStore.getGlobalData().globalSettings;\r\n\r\n this.addMenuItem(Identifier.Add, this.strings.AddChild, \"add\");\r\n\r\n if (globalSettings.showImportButtonInCompositeControl)\r\n this.addMenuItem(Identifier.Import, this.strings.ImportChild, \"import\");\r\n\r\n this.addMenuItem(Identifier.Delete, this.strings.Delete, \"delete\");\r\n this.addMenuItem(Identifier.Copy, this.strings.MakeCopies, \"copy\");\r\n //this.createMenuItem(Identifier.Sort, \"Sort children\", \"sorting\", \"order\"); // TODO not implemented on server\r\n this.addMenuItem(Identifier.MoveUp, this.strings.MoveUp, \"up\", \"order\");\r\n this.addMenuItem(Identifier.MoveDown, this.strings.MoveDown, \"down\");\r\n }\r\n\r\n public addMenuItem(name: string, title: string, icon: string, style: string = \"\", width: number = 24, height: number = 24): void {\r\n\r\n let item: MenuItem = this.createMenuItem(name, title, icon, style, width, height);\r\n\r\n // By default all menu actions are accessible for configuration. Action could be Add, delete, import etc.\r\n this.itemByName = this.itemByName.set(item.name, item);\r\n }\r\n\r\n public createMenuItem(name: string, title: string, icon: string, style: string = \"\", width: number = 24, height: number = 24): MenuItem {\r\n\r\n let item: MenuItem = new MenuItem();\r\n\r\n item = item.setName(name);\r\n item = item.setTitle(title);\r\n item = item.setIcon(icon);\r\n item = item.setStyle(style);\r\n item = item.setWidth(width);\r\n item = item.setHeight(height);\r\n item = item.setHidden(false);\r\n item = item.setDisable(false);\r\n item = item.setHasDetail(true);\r\n\r\n return item;\r\n }\r\n\r\n/**\r\n * Makes the menu item status disabled If it is no longer intractable.\r\n * @param product\r\n */\r\n public updateAccessibility(info: ConfInfo): Array {\r\n\r\n let items: Array = new Array();\r\n this.itemNames.forEach(name => {\r\n\r\n let menuItem: MenuItem = this.itemByName.get(name);\r\n if (!menuItem)\r\n return;\r\n\r\n\r\n switch (name) {\r\n\r\n case Identifier.Add:\r\n case Identifier.Import:\r\n {\r\n\r\n let conf = this.confStore.getConf(info.longId, this.confSessionId); \r\n // Don't let the user access Add, Import If no children.\r\n menuItem = menuItem.setHidden(info.allowedChildProductIds.size < 1 || !conf.authorization.canAddChild);\r\n menuItem = menuItem.setSubTitle(null);\r\n menuItem = menuItem.setHasDetail(true);\r\n menuItem = menuItem.setTag(null);\r\n\r\n break;\r\n }\r\n\r\n case Identifier.MoveUp:\r\n {\r\n // Get the siblings count.\r\n let parentInfo: ConfInfo = this.confStore.getConfInfo(info.parentId, this.storeSession.confSessionId);\r\n\r\n // Hide the MoveUp If children size less than two.\r\n // Parent could be null for root nodes. \r\n let visible: boolean = !!parentInfo && parentInfo.children.size > 1;\r\n menuItem = menuItem.setHidden(!visible);\r\n\r\n if (visible)\r\n menuItem = menuItem.setDisable(info.longId == parentInfo.children.get(0));\r\n\r\n menuItem = menuItem.setHasDetail(false);\r\n break;\r\n }\r\n\r\n case Identifier.MoveDown:\r\n {\r\n // Get the siblings count.\r\n let parentInfo: ConfInfo = this.confStore.getConfInfo(info.parentId, this.confSessionId);\r\n\r\n // Hide the MoveDown If children size less than two.\r\n // Parent could be null for root nodes. \r\n let visible: boolean = !!parentInfo && parentInfo.children.size > 1;\r\n menuItem = menuItem.setHidden(!visible);\r\n\r\n if (visible)\r\n menuItem = menuItem.setDisable(info.longId == parentInfo.children.get(parentInfo.children.size - 1));\r\n\r\n menuItem = menuItem.setHasDetail(false);\r\n break;\r\n }\r\n\r\n case Identifier.Sort:\r\n {\r\n // Add the status. \r\n menuItem = menuItem.setHidden(info.children.size < 2);\r\n menuItem = menuItem.setHasDetail(true);\r\n\r\n break;\r\n }\r\n\r\n case Identifier.Copy:\r\n {\r\n let conf = this.confStore.getConf(info.longId, this.confSessionId);\r\n menuItem = menuItem.setHidden(!info.parentId || !conf.authorization.canMakeCopies);\r\n menuItem = menuItem.setHasDetail(true);\r\n \r\n break;\r\n }\r\n case Identifier.Delete:\r\n {\r\n let conf = this.confStore.getConf(info.longId, this.confSessionId);\r\n menuItem = menuItem.setHidden(!info.parentId || !conf.authorization.canDelete);\r\n menuItem = menuItem.setHasDetail(true);\r\n break;\r\n }\r\n }\r\n\r\n items.push(menuItem);\r\n\r\n });\r\n\r\n return items;\r\n }\r\n\r\n public get itemNames(): Array {\r\n return [\r\n Identifier.Add,\r\n Identifier.Import,\r\n Identifier.Copy,\r\n Identifier.Delete,\r\n //Identifier.Sort, // TODO not implemented on server\r\n Identifier.MoveUp,\r\n Identifier.MoveDown\r\n ];\r\n }\r\n\r\n public get menuItems(): Array {\r\n\r\n let items: Array = [];\r\n\r\n for (let name of this.itemNames) {\r\n if (this.itemByName.has(name))\r\n items.push(this.itemByName.get(name));\r\n }\r\n\r\n return items;\r\n }\r\n\r\n public menuItemByName(identifier: string): MenuItem {\r\n\r\n let items = this.menuItems.filter(x => x.name == identifier);\r\n \r\n if (items.length > 0)\r\n return items[0];\r\n\r\n\r\n return null;\r\n }\r\n\r\n}\r\n\r\n","import { Component, Inject, Input } from '@angular/core';\r\nimport { NodeData, PopupService } from \"../../../../../shared/components\";\r\nimport { BaseComponent } from \"../../../../shared\";\r\nimport { ConfInfo } from \"../../../../shared/models\";\r\nimport { ProductDataStore } from \"../../../../shared/providers/productData\";\r\nimport { ConfiguratorStore, ConfPageSessionService } from \"../../../providers\";\r\n\r\n@Component({\r\n selector: 'sorting-configurations',\r\n templateUrl: './sortConfigurationsComponent.html'\r\n})\r\nexport class SortConfigurationsComponent extends BaseComponent {\r\n\r\n dragableItems: Array = [];\r\n\r\n originalOrder: Array = [];\r\n\r\n @Input()\r\n public parentConfId: number;\r\n\r\n constructor(\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfPageSessionService) public storeSession: ConfPageSessionService,\r\n @Inject(PopupService) public popupService: PopupService,\r\n @Inject(ProductDataStore) public productDataStore: ProductDataStore\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n let parentConfInfo: ConfInfo = this.confStore.getConfInfo(this.parentConfId, this.storeSession.confSessionId);\r\n\r\n this.popupService.enable(\"compositePopup\", false);\r\n\r\n parentConfInfo.children.forEach(confId => {\r\n this.originalOrder.push(confId);\r\n this.dragableItems.push(this.createNode(confId));\r\n });\r\n }\r\n\r\n public createNode(confId: number): NodeData {\r\n let child: ConfInfo = this.confStore.getConfInfo(confId, this.storeSession.confSessionId);\r\n let iconDefined: boolean = child.iconRelativeUrl && child.iconRelativeUrl != \"\";\r\n let icon: string = iconDefined ? child.iconRelativeUrl : \"product\";\r\n\r\n let node: NodeData = new NodeData();\r\n node = node.setTitle(child.text);\r\n node = node.setId(child.longId);\r\n node = node.setVaultIcon(iconDefined);\r\n node = node.setIconKey(icon);\r\n\r\n return node;\r\n }\r\n\r\n public isOrderChanged(node: NodeData, index: number): boolean {\r\n return this.originalOrder.indexOf(node.id) == index;\r\n }\r\n\r\n public confirm(event): void {\r\n // TODO\r\n }\r\n}","
\r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n \r\n \r\n \r\n \r\n {{node.title}}\r\n \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n {{strings.ApplyChanges}}\r\n
\r\n
\r\n","import { Inject, Injectable } from \"@angular/core\";\r\nimport { GlobalDataStore } from \"../../../../../../core/pages/shared/providers/globalData\";\r\nimport { NodeData, TreeDataProvider } from \"../../../../../shared/components/treeView\";\r\nimport { NodeActions, NodeEvent } from \"../../../../../shared/components/treeView/treeEvents\";\r\nimport { ManagedSubscription } from \"../../../../../shared/managedSubscription\";\r\nimport { ConfInfo } from \"../../../../shared/models\";\r\nimport { RouteNames, ValueSubscriptionManager } from \"../../../../shared/providers\";\r\nimport { PageStore } from \"../../../../shared/providers/page/pageStore\";\r\nimport { ConfiguratorStore, ConfiguratorUIStore, ConfPageSessionService } from \"../../../providers\";\r\n\r\n@Injectable()\r\nexport class CompositeTreeDataProvider extends TreeDataProvider {\r\n\r\n public structureChangeSubscription: ManagedSubscription;\r\n public routeChangeSubscription: ManagedSubscription;\r\n public orderChangeSubscription: ManagedSubscription;\r\n public confInfoChangeSubscriptions: Array = [];\r\n\r\n constructor(\r\n @Inject(ConfiguratorUIStore) public confUIStore: ConfiguratorUIStore,\r\n @Inject(GlobalDataStore) public globalDataStore: GlobalDataStore,\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfPageSessionService) public confPageSession: ConfPageSessionService,\r\n @Inject(PageStore) public pageStore: PageStore,\r\n @Inject(ValueSubscriptionManager) public valueSubscriptionManager: ValueSubscriptionManager\r\n ) {\r\n super();\r\n }\r\n\r\n /**\r\n * Loads the root nodes.\r\n * @param callback\r\n */\r\n loadRoots(callback: (nodeData: NodeData[]) => void): void {\r\n // Unload all configuration changes before making a new tree.\r\n this.unsubscribeConfChanges();\r\n\r\n let roots: NodeData[] = [];\r\n let confInfo = this.confStore.getRootConfInfo(this.confPageSession.confSessionId);\r\n // Create node data.\r\n let node: NodeData = this.setupNode(confInfo);\r\n roots.push(node);\r\n\r\n // Subscribe for Root configuration changes\r\n this.subscribeConfInfoChanges(confInfo.longId);\r\n \r\n // Call back to tree component.\r\n callback(roots);\r\n }\r\n\r\n /**\r\n * Loads the children.\r\n * @param parent\r\n * @param callback\r\n */\r\n loadChildren(parent: NodeData, callback: (nodeData: NodeData[]) => void): void {\r\n let children: NodeData[] = []; \r\n this.confStore.getChildConfInfos(parent.id, this.confPageSession.confSessionId).forEach(confInfo => {\r\n let node = this.setupNode(confInfo);\r\n children.push(node);\r\n\r\n // Subscribe each configuration change \r\n this.subscribeConfInfoChanges(confInfo.longId);\r\n });\r\n\r\n callback(children);\r\n }\r\n\r\n /**\r\n * Sets up the tree nodes. \r\n * @param info\r\n * @param parentId\r\n */\r\n public setupNode(info: ConfInfo) {\r\n\r\n let hasVaultIcon: boolean = info.iconRelativeUrl && info.iconRelativeUrl != \"\";\r\n\r\n // Note! non-effective is an empty selector which would help us to customize the non-effective node if needed. \r\n let styles: string = info.isEffectiveProduct ? '' : 'non-effective';\r\n \r\n let nodeData: NodeData = this.createNode(\r\n info.longId,\r\n info.text,\r\n hasVaultIcon ? info.iconRelativeUrl : 'configuration',\r\n hasVaultIcon,\r\n info.parentId,\r\n info.rootOrder,\r\n info.allowedChildProductIds.size > 0,\r\n styles); \r\n\r\n return nodeData;\r\n }\r\n\r\n /**\r\n * Should the node be expanded?\r\n * @param node\r\n */\r\n isNodeExpandable(node: NodeData): boolean {\r\n let info: ConfInfo = this.confStore.getConfInfo(node.id, this.confPageSession.confSessionId);\r\n\r\n if (info) {\r\n return info.children.count() > 0;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n selectNodeById(id: number): void { \r\n\r\n let event = { node: this.get(id) };\r\n this.selectNode(event); \r\n }\r\n\r\n /**\r\n * Activates the menu for tree node.\r\n * @param node\r\n */\r\n menuSupport(node: NodeData): boolean {\r\n // Only show the menu options for configurator.\r\n return this.pageStore.activeRouteName == RouteNames.Editor;\r\n }\r\n \r\n /**\r\n * Releases all the resources.\r\n */\r\n onDestroy() {\r\n // Unsubcribe for structure change\r\n if (this.structureChangeSubscription)\r\n this.structureChangeSubscription.unsubscribe();\r\n\r\n if (this.routeChangeSubscription)\r\n this.routeChangeSubscription.unsubscribe();\r\n\r\n if (this.orderChangeSubscription)\r\n this.orderChangeSubscription.unsubscribe();\r\n\r\n // Unsubscribe the changes for each configuration.\r\n this.unsubscribeConfChanges();\r\n }\r\n\r\n unsubscribeConfChanges(): void {\r\n while (this.confInfoChangeSubscriptions.length > 0) {\r\n let subscription = this.confInfoChangeSubscriptions.pop();\r\n subscription.unsubscribe();\r\n }\r\n }\r\n\r\n public subscribeConfInfoChanges(confId: number): void {\r\n // Subscription for data change e.g title\r\n this.confInfoChangeSubscriptions.push(this.confStore.onConfInfoChange(confId, this.confPageSession.confSessionId, (conf: ConfInfo): void => {\r\n\r\n // Send the message to update the node.\r\n this.setupNode(conf);\r\n let event = { action: NodeActions.DataChanged, node: this.get(conf.longId) };\r\n this.sendMessage(event);\r\n\r\n }));\r\n }\r\n\r\n /**\r\n * Subscribes the composite size changes. \r\n */\r\n subscribeSizeAndViewChange(): void {\r\n \r\n // Subscription for composite structure change.\r\n this.structureChangeSubscription = this.confStore.onCompositeStructureChange(this.confPageSession.confSessionId, (): void => {\r\n\r\n let event = { action: NodeActions.TreeRefresh };\r\n\r\n // Send the message to refresh the tree.\r\n this.sendMessage(event); \r\n });\r\n\r\n // Listen the store changes when active route updated there.\r\n this.routeChangeSubscription = this.pageStore.onActiveRouteNameChange((view: string): void => {\r\n if (!view)\r\n return;\r\n\r\n let event = { action: NodeActions.TreeRefresh };\r\n\r\n // Send the message to refresh the tree.\r\n this.sendMessage(event);\r\n });\r\n\r\n // TODO: Need more investigation, sometimes confId is not the activeConfigurationId.\r\n this.orderChangeSubscription = this.confStore.onCompositeOrderChange(this.confPageSession.confSessionId, (): void => {\r\n\r\n let event = { action: NodeActions.TreeRefresh };\r\n\r\n // Send the message to refresh the tree.\r\n this.sendMessage(event);\r\n });\r\n }\r\n\r\n public get childNodeIndentation(): number {\r\n return 28;\r\n }\r\n\r\n get showExpandCollapseIcon(): boolean {\r\n return this.globalDataStore.getGlobalData().globalSettings.showExpandCollapseIconsComposite;\r\n }\r\n\r\n get highlightSelectedNode(): boolean { return this.globalDataStore.getGlobalData().globalSettings.highlightSelectedConfiguration; }\r\n\r\n\r\n public get expandBehaviour(): number { return this.globalDataStore.getGlobalData().globalSettings.treeExpandBehaviour; }\r\n\r\n}","import { Component, Inject, ViewEncapsulation } from '@angular/core';\r\nimport { NodeEvent } from \"../../../../../shared/components/treeView\";\r\nimport { ImageSets } from '../../../../../shared/utils/imageSets';\r\nimport { BaseComponent } from \"../../../../shared\";\r\nimport { CompositeActions, CompositeActionService } from '../compositeActionService';\r\nimport { CompositeHelper } from '../compositeHelper';\r\nimport { CompositeTreeDataProvider } from './compositeTreeDataProvider';\r\n\r\n@Component({\r\n selector: 'menu-tree-view',\r\n encapsulation: ViewEncapsulation.None,\r\n templateUrl: './menuTreeViewComponent.html'\r\n})\r\nexport class MenuTreeViewComponent extends BaseComponent {\r\n\r\n public imageSet = \"primary\";\r\n\r\n constructor( @Inject(CompositeTreeDataProvider) public menuDataProvider: CompositeTreeDataProvider,\r\n @Inject(CompositeActionService) public actionService: CompositeActionService,\r\n @Inject(CompositeHelper) public compositeHelper: CompositeHelper\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.imageSet = this.getImageSet(ImageSets.ConfiguratorTree);\r\n\r\n this.menuDataProvider.subscribeSizeAndViewChange(); \r\n }\r\n \r\n public onMenuClick(event: NodeEvent): void {\r\n this.actionService.notify({ action: CompositeActions.MenuClick, focusedConfInfoId: event.node.id });\r\n }\r\n\r\n public onNodeSelected(event: NodeEvent): void { \r\n this.actionService.notify({ action: CompositeActions.SelectNode, focusedConfInfoId: event.node.id });\r\n }\r\n \r\n onAddClick(event: NodeEvent): void {\r\n\r\n this.actionService.notify({ action: CompositeActions.AddClick, focusedConfInfoId: event.node.id });\r\n \r\n }\r\n\r\n}","\r\n","import { Component, EventEmitter, Inject, Input, Output, SimpleChanges } from '@angular/core';\r\nimport { ImageSets } from '../../../../shared/utils/imageSets';\r\nimport { BaseComponent } from \"../../../shared\";\r\nimport { Conf, ConfInfo } from '../../../shared/models';\r\nimport { RouteNames } from \"../../../shared/providers\";\r\nimport { GlobalDataStore } from '../../../shared/providers/globalData';\r\nimport { ConfiguratorStore, ConfPageSessionService } from '../../providers';\r\nimport { ParameterMandatoryService } from \"../../parameters/shared/parameterMandatoryService\";\r\nimport { Subscription } from 'rxjs';\r\nimport { ManagedSubscription } from '../../../../shared';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'control-panel',\r\n templateUrl: './controlPanelComponent.html'\r\n})\r\nexport class ControlPanelComponent extends BaseComponent {\r\n\r\n @Output()\r\n save = new EventEmitter();\r\n\r\n @Output()\r\n saveExit = new EventEmitter();\r\n\r\n @Output()\r\n close = new EventEmitter();\r\n\r\n @Output()\r\n mandatory = new EventEmitter();\r\n\r\n @Output()\r\n modify = new EventEmitter();\r\n\r\n @Output()\r\n startOver = new EventEmitter();\r\n\r\n @Output()\r\n reset = new EventEmitter();\r\n\r\n iconWidth: string = \"24px\";\r\n\r\n iconHeight: string = \"24px\";\r\n\r\n public iconsImageSet: string;\r\n\r\n public showSave: boolean = false;\r\n public showSaveAndClose: boolean = false;\r\n public showMandatory: boolean = false;\r\n public showClose: boolean = false;\r\n public showModify: boolean = false;\r\n public startOverBtn: boolean = false;\r\n public disableSaveBtn: boolean = false;\r\n public highlightIfMandatory: boolean = false;\r\n public notSetMandatoryParamsCount: string;\r\n public highlightChangeSubscription: Subscription;\r\n public mandatorySubscription: ManagedSubscription;\r\n public structureChangeSubscription: ManagedSubscription;\r\n public confInfo: ConfInfo;\r\n\r\n @Input()\r\n public isAnonymousMode: boolean = false;\r\n\r\n @Input()\r\n public activeRoute: string = RouteNames.Editor;\r\n \r\n constructor(\r\n @Inject(GlobalDataStore) public globalDataStore: GlobalDataStore,\r\n @Inject(ParameterMandatoryService) public parameterMandatoryService: ParameterMandatoryService,\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(Router) public router: Router,\r\n @Inject(ConfPageSessionService) public confPageSession: ConfPageSessionService) { super(); }\r\n\r\n ngOnInit() {\r\n this.iconsImageSet = this.getImageSet(ImageSets.MainMenu);\r\n\r\n this.notSetMandatoryParamsCount = this.confStore.getConfInfo(this.confPageSession.activeConfigurationId, this.confPageSession.confSessionId).notSetMandatoryParamsCount.toString();\r\n this.highlightIfMandatory = this.globalDataStore.globalSettings.highlightMandatoryParameters;\r\n\r\n this.startSubscriptions();\r\n }\r\n\r\n startSubscriptions(): void {\r\n\r\n this.mandatorySubscription = this.confStore.onConfigurationChange(this.confPageSession.activeConfigurationId, this.confPageSession.confSessionId, (conf: Conf) => {\r\n this.updateNotSetMandatoryParamsCount(); \r\n });\r\n\r\n this.structureChangeSubscription = this.confStore.onCompositeStructureChange(this.confPageSession.confSessionId, (): void => {\r\n this.updateNotSetMandatoryParamsCount(); \r\n });\r\n\r\n // Update on delete node. As navigation would be made after delete action\r\n // TODO: Prevent extra listening, It might be good if we listen node select operation here, In this way after delete and selecting new node,\r\n // mandatory counts can be updated.\r\n this.router.events.forEach((event) => {\r\n\r\n if (event instanceof NavigationEnd && this.confPageSession.activeRoute == RouteNames.Editor) {\r\n this.updateNotSetMandatoryParamsCount(); \r\n }\r\n \r\n });\r\n\r\n this.highlightChangeSubscription = this.parameterMandatoryService.getMessage().subscribe(() => {\r\n this.highlightIfMandatory = this.parameterMandatoryService.isHighlighting;\r\n });\r\n }\r\n\r\n protected updateNotSetMandatoryParamsCount(): void {\r\n\r\n let activeConfInfo: ConfInfo = this.confStore.getConfInfo(this.confPageSession.activeConfigurationId, this.confPageSession.confSessionId);\r\n\r\n if (activeConfInfo) {\r\n let rootConf: ConfInfo = this.confStore.getConfInfo(activeConfInfo.rootId, this.confPageSession.confSessionId);\r\n const count = this.confStore.getConfInfo(rootConf.longId, this.confPageSession.confSessionId).notSetMandatoryParamsCount;\r\n this.notSetMandatoryParamsCount = count > 0 ? count.toString() : null;\r\n }\r\n\r\n }\r\n \r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['activeRoute']) {\r\n this.applySettings();\r\n }\r\n }\r\n\r\n applySettings(): void {\r\n\r\n let globalSettings = this.globalDataStore.getGlobalData().globalSettings;\r\n let conf: Conf = this.confPageSession.activeConfiguration;\r\n\r\n if (this.activeRoute == RouteNames.Editor) {\r\n this.showSave = !this.isAnonymousMode && globalSettings.webConfiguratorFooterSave && conf.authorization.canSave;\r\n this.showSaveAndClose = globalSettings.webConfiguratorFooterSaveAndClose && conf.authorization.canSave;\r\n this.showMandatory = !this.isAnonymousMode && globalSettings.webConfiguratorFooterMandatory;\r\n this.showClose = !this.isAnonymousMode && globalSettings.webConfiguratorFooterClose;\r\n this.disableSaveBtn = conf.authorization.isSaveOperationDisallowed;\r\n this.startOverBtn = this.isAnonymousMode;\r\n this.showModify = false;\r\n }\r\n else {\r\n this.showModify = this.isAnonymousMode && conf.authorization.canEdit;\r\n this.showSave = this.showSaveAndClose = this.showMandatory = this.showClose = this.startOverBtn = false;\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.stopSubscriptions();\r\n }\r\n\r\n stopSubscriptions(): void {\r\n\r\n if (this.highlightChangeSubscription)\r\n this.highlightChangeSubscription.unsubscribe();\r\n\r\n if (this.mandatorySubscription)\r\n this.mandatorySubscription.unsubscribe();\r\n\r\n if (this.structureChangeSubscription)\r\n this.structureChangeSubscription.unsubscribe();\r\n\r\n }\r\n}","
\r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n
","export * from './composite/tree/menuTreeViewComponent';\r\nexport * from './composite/add/addConfigurationComponent';\r\nexport * from './composite/import/importConfigurationComponent';\r\nexport * from './composite/sideBarMenuService';","import { Component, Input, SimpleChanges } from \"@angular/core\";\r\nimport { BaseComponent } from \"../shared\";\r\n\r\n@Component({ template: '' })\r\nexport abstract class BaseViewComponent extends BaseComponent {\r\n\r\n @Input()\r\n public configurationId: number;\r\n\r\n @Input()\r\n public confSessionId: number;\r\n\r\n // TODO: Need more investigation, It seems no input params(configurationId, confSessionId) are provided.\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['configurationId'] || changes['confSessionId']) {\r\n this.onConfigurationChange();\r\n }\r\n }\r\n\r\n onConfigurationChange(): void {\r\n \r\n }\r\n\r\n}","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, HostListener, ViewChild, ViewEncapsulation } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport * as Immutable from \"immutable\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { BreadcrumbItem } from \"../../../../core/shared/components/breadcrumb\";\r\nimport { Breakpoints } from \"../../../../core/shared/utils\";\r\nimport { PageComponent } from \"../../shared\";\r\nimport { Comparison, ConfInfo, KeyValue } from \"../../shared/models\";\r\nimport { IHttpDataInfo, RouteRedirector } from \"../../shared/providers\";\r\nimport { ComparisonResult } from \"../../shared/state\";\r\nimport { ComparisonDraggableNodeArgs, DraggableListAction } from \"./components/dragDrop/models/comparisonDraggableNodeArgs\";\r\nimport { ComparisonDraggableNode, ComparisonDraggableRowNodes } from \"./components/dragDrop/models/comparisonDraggableRowNodes\";\r\nimport { ComparisonUrlParams } from \"./components/dragDrop/models/comparisonUrlParams\";\r\nimport { ComparisonDraggableDataProvider } from \"./components/dragDrop/providers/comparisonDraggableDataProvider\";\r\nimport { ComparisonDataStore } from \"./providers/comparisonDataStore\";\r\nimport { ComparisonHelper } from \"./providers/comparisonHelper\";\r\n\r\n@Component({\r\n encapsulation: ViewEncapsulation.None,\r\n templateUrl: './comparisonComponent.html',\r\n providers: [ComparisonDraggableDataProvider],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ComparisonComponent extends PageComponent {\r\n\r\n comparisons: Array = [];\r\n\r\n selectedConfs: Array = [];\r\n\r\n startConfIds: number[];\r\n\r\n comparisonSessionId: number;\r\n\r\n multiConfs: Array> = [];\r\n\r\n breadcrumbItems: Array = [];\r\n\r\n childConfsOrder: Immutable.List>;\r\n\r\n routeSubscription: Subscription;\r\n\r\n public isFloating: boolean = false;\r\n public enableScrolling: boolean = false;\r\n\r\n @ViewChild('confsDiv')\r\n public confsDiv: ElementRef;\r\n\r\n public treeRows: Immutable.List\r\n\r\n compactMode: boolean = false;\r\n minWidth: number;\r\n isUpdating: boolean = false; \r\n\r\n constructor(\r\n protected comparisonDataStore: ComparisonDataStore, protected activatedRoute: ActivatedRoute,\r\n protected treeUIDataProvider: ComparisonDraggableDataProvider, protected router: Router,\r\n protected routeRedirector: RouteRedirector,\r\n protected helper: ComparisonHelper,\r\n protected cd: ChangeDetectorRef\r\n ) { super(); }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event) {\r\n this.setCompactModeMinWidth();\r\n this.setScrollWidth();\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.routeSubscription = this.activatedRoute.data.subscribe((resolversData: any) => {\r\n\r\n // is now triggered at each queryParams change\r\n let data: ComparisonResult = resolversData.comparisonResult;\r\n\r\n if (data) {\r\n this.makeBreadcrumbItems(data.breadcrumbConfInfos);\r\n\r\n // First index contains the starting confs and this breadcrumb list won't be null.\r\n this.startConfIds = this.breadcrumbItems[0].confIds;\r\n }\r\n\r\n if (data && !this.activatedRoute.snapshot.params.sessionid) {\r\n\r\n this.navigateTo(this.startConfIds, data.comparisonSessionId);\r\n }\r\n\r\n if (data) {\r\n\r\n // Convert all confs to rows and cols.\r\n this.treeRows = this.treeUIDataProvider.convertToRowStructure(data.childConfsOrder);\r\n\r\n this.comparisonSessionId = data.comparisonSessionId;\r\n this.selectedConfs = data.breadcrumbConfInfos.last().value;\r\n\r\n this.comparisons = data.detail.children.toArray();\r\n\r\n this.childConfsOrder = data.childConfsOrder;\r\n\r\n this.setCompactModeMinWidth();\r\n\r\n // Don't write this logic inside ngAfterViewInit. The reason is that component is not instantiated when going deeper at child level and\r\n // ngAfterViewInit is only called first time onload. \r\n this.updateDifferncyLevelForGrid();\r\n this.cd.markForCheck();\r\n\r\n }\r\n\r\n });\r\n\r\n super.ngOnInit();\r\n }\r\n\r\n ngAfterViewInit() {\r\n //this.updateDifferncyLevelForGrid();\r\n\r\n this.enableScrolling = true;\r\n }\r\n\r\n updateDifferncyLevelForGrid(): void {\r\n\r\n // Send requests for child configurations comparison. \r\n for (let keyValue of this.childConfsOrder.toArray()) {\r\n\r\n //let confs = this.childConfsOrder.get(key);\r\n //let confsIds: number[] = confs.filter(conf => conf != null).map(x => x.longId);\r\n this.updateDifferncyLevelForRow(keyValue.key);\r\n\r\n }\r\n\r\n }\r\n\r\n updateDifferncyLevelForRow(path: string): void {\r\n\r\n // Only update the differency level for more than one.\r\n if (this.startConfIds.length < 2)\r\n return;\r\n\r\n let session: ComparisonResult = new ComparisonResult();\r\n session = session.setConfIds(Immutable.List(this.startConfIds));\r\n this.treeUIDataProvider.send({ action: DraggableListAction.ChildConfLoading, data: session });\r\n this.isUpdating = true; \r\n this.comparisonDataStore.loadConfsDifferncyLevel(this.startConfIds, path, this.comparisonSessionId).subscribe(response => {\r\n\r\n if (response.data) {\r\n this.treeUIDataProvider.send({ action: DraggableListAction.ChildConfLoaded, data: response.data });\r\n }\r\n\r\n this.isUpdating = false; \r\n });\r\n\r\n }\r\n\r\n onOrderChanged(event: ComparisonDraggableNodeArgs): void {\r\n \r\n this.treeRows = this.treeUIDataProvider.getRows();\r\n\r\n // Read current path\r\n let currentPath: string = this.breadcrumbItems[this.breadcrumbItems.length - 1].path;\r\n\r\n // Update the child configurations order.\r\n this.comparisonDataStore.updateChildConfsOrder(this.treeUIDataProvider.getIds(), this.startConfIds, currentPath, this.comparisonSessionId).subscribe(response => {\r\n\r\n // Source confIds\r\n let sourceConfIds: number[] = event.sourceRowAfterDrag ? event.sourceRowAfterDrag.nodes.filter(node => !node.isEmpty).map(node => Number(node.id)) : [];\r\n\r\n // Destination confIds\r\n let destConfIds: number[] = event.destinationRowAfterDrag.nodes.filter(node => !node.isEmpty).map(node => Number(node.id));\r\n\r\n\r\n // Update differncy levels for affected rows.\r\n let sourcePath = this.helper.extractPath(response.data, sourceConfIds);\r\n this.updateDifferncyLevelForRow(sourcePath);\r\n\r\n let destPath = this.helper.extractPath(response.data, destConfIds);\r\n this.updateDifferncyLevelForRow(destPath); \r\n\r\n });\r\n\r\n }\r\n\r\n onHttpLifeCycleUpdate(http: IHttpDataInfo) {\r\n\r\n if (!this.isUpdating)\r\n super.onHttpLifeCycleUpdate(http);\r\n\r\n }\r\n\r\n get selectedConfIds(): Array {\r\n return this.selectedConfs.map(conf => conf.longId);\r\n }\r\n\r\n /**\r\n * Fires when drilling down the configurations.\r\n * @param row\r\n */\r\n onSelect(row: ComparisonDraggableRowNodes): void {\r\n\r\n let nodes: ComparisonDraggableNode[] = row.nodes.filter(node => !node.isEmpty);\r\n this.navigateTo(this.startConfIds, this.comparisonSessionId, nodes[0].path);\r\n\r\n }\r\n\r\n onBreadcrumbClick(item: BreadcrumbItem): void {\r\n\r\n // this.breadcrumbItems = [];\r\n // this.updateBreadcrumbItems(item.id);\r\n\r\n this.navigateTo(this.startConfIds, this.comparisonSessionId, item.path);\r\n\r\n }\r\n\r\n navigateTo(ids: number[], sessionId?: number, path?: string): void {\r\n\r\n let params = new ComparisonUrlParams();\r\n params.ids = this.helper.comparisonId(ids);\r\n params.sessionid = sessionId;\r\n params.path = path ? path : '0';\r\n\r\n this.routeRedirector.redirectToComparison(params);\r\n\r\n }\r\n\r\n /**\r\n * Makes the breadcrumbs\r\n * @param confs confs belonging to same row.\r\n */\r\n makeBreadcrumbItems(breadcrumbInfos: Immutable.List>): void {\r\n\r\n this.breadcrumbItems = [];\r\n for (let keyValue of breadcrumbInfos.toArray()) {\r\n\r\n let infos = keyValue.value;\r\n let drivingConf: ConfInfo = infos[0];\r\n\r\n let item: BreadcrumbItem = {\r\n id: drivingConf.longId,\r\n title: drivingConf.text,\r\n path: keyValue.key,\r\n confIds: infos.map(x => x.longId)\r\n };\r\n\r\n this.breadcrumbItems.push(item);\r\n\r\n }\r\n\r\n }\r\n\r\n setCompactModeMinWidth(): void {\r\n this.compactMode = window.innerWidth < Breakpoints.sm.min ? true : false;\r\n this.minWidth = this.selectedConfIds.length * 125;\r\n }\r\n\r\n setScrollWidth(): void {\r\n let parent = document.getElementById(\"compare\");\r\n\r\n // null checks\r\n if (!(parent && this.confsDiv && this.confsDiv.nativeElement && this.confsDiv.nativeElement.firstElementChild))\r\n return;\r\n\r\n if (parent.scrollWidth > parent.clientWidth) {\r\n this.confsDiv.nativeElement.firstElementChild.style.position = \"relative\";\r\n this.confsDiv.nativeElement.firstElementChild.style.width = this.minWidth + \"px\";\r\n }\r\n else {\r\n this.confsDiv.nativeElement.firstElementChild.style.position = \"unset\";\r\n this.confsDiv.nativeElement.firstElementChild.style.width = \"\";\r\n }\r\n }\r\n\r\n @HostListener('window:scroll', ['$event'])\r\n scrollHandler($event) {\r\n if (this.enableScrolling) {\r\n let firstRow = document.getElementById(\"comparerow\");\r\n let header = document.querySelector(\".navbar-brand\");\r\n if (firstRow && header)\r\n this.isFloating = firstRow.getBoundingClientRect().top < header.clientHeight;\r\n else\r\n this.isFloating = false;\r\n\r\n // null checks\r\n if (!(this.confsDiv && this.confsDiv.nativeElement && this.confsDiv.nativeElement.firstElementChild && firstRow && firstRow.parentElement))\r\n return;\r\n\r\n if (this.isFloating)\r\n this.confsDiv.nativeElement.firstElementChild.style.left = (firstRow.parentElement.getBoundingClientRect().left - firstRow.parentElement.offsetLeft) + \"px\";\r\n else\r\n this.confsDiv.nativeElement.firstElementChild.style.left = 0;\r\n\r\n this.setScrollWidth();\r\n }\r\n }\r\n \r\n refreshList(event): void {\r\n\r\n if (this.treeRows && this.treeRows.size == 0)\r\n return;\r\n\r\n // Below code improves the performance, prevents the re-rendering of draggable tree nodes and \r\n // forces the change dectection on affected areas.\r\n let newArray: Array = new Array();\r\n this.treeRows.forEach(row => {\r\n\r\n let nodes = row.nodes;\r\n\r\n // Clear the old nodes list and create and new instance if node belongs the the affected column.\r\n row.nodes = []; \r\n for (let index = 0; index < nodes.length; index++) {\r\n\r\n let n: ComparisonDraggableNode = event.index == index ? nodes[index] : nodes[index];\r\n row.nodes.push(n);\r\n\r\n }\r\n\r\n // Push the row into list.\r\n newArray.push(row);\r\n \r\n });\r\n\r\n this.treeRows = Immutable.List(newArray);\r\n this.cd.markForCheck();\r\n\r\n }\r\n\r\n}","
\r\n \r\n\r\n
\r\n
\r\n
\r\n

{{strings.Compare}}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{strings.ChildConfigurations}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router';\r\nimport { RouteRedirector } from '../../shared/providers';\r\nimport { ComparisonResult } from '../../shared/state';\r\nimport { ComparisonDataStore } from './providers/comparisonDataStore';\r\nimport { ComparisonHelper } from './providers/comparisonHelper';\r\n\r\n@Injectable()\r\nexport class ComparisonResultsResolver implements Resolve {\r\n\r\n //public isValidSession: boolean = false;\r\n\r\n constructor(\r\n @Inject(ComparisonDataStore) public store: ComparisonDataStore,\r\n @Inject(RouteRedirector) public routeRedirector: RouteRedirector,\r\n @Inject(ComparisonHelper) public helper: ComparisonHelper \r\n ) { }\r\n\r\n resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise {\r\n \r\n return new Promise(resolver => {\r\n\r\n let confIds: Array;\r\n let sessionId: number = route.params.sessionid ? Number(route.params.sessionid) : null;\r\n let path: string = route.params.path;\r\n\r\n if (route.params.ids)\r\n confIds = this.helper.confIdsFromComparisonId(route.params.ids);\r\n\r\n if (this.store.hasComparisonResult(confIds, sessionId, path))\r\n {\r\n let cachedData = this.store.getComparisonSession(path, sessionId);\r\n if (cachedData.detail) {\r\n resolver(cachedData);\r\n return;\r\n }\r\n }\r\n\r\n this.store.getComparisonResults(confIds, sessionId, path).subscribe(storeResponse => {\r\n\r\n resolver(storeResponse.data);\r\n\r\n });\r\n\r\n });\r\n }\r\n}","import { Routes } from '@angular/router';\r\nimport { AuthGuard, RouteNames } from \"../../shared/providers\";\r\nimport { ComparisonComponent } from './comparisonComponent';\r\nimport { ComparisonResultsResolver } from './comparisonResultsResolver';\r\n\r\nexport const ComparisonRoutes: Routes = [\r\n\r\n {\r\n path: RouteNames.Comparison,\r\n component: ComparisonComponent,\r\n resolve: { comparisonResult: ComparisonResultsResolver },\r\n runGuardsAndResolvers: \"paramsOrQueryParamsChange\",\r\n canActivate: [AuthGuard]\r\n }\r\n \r\n];\r\n","import { Component, Input, ViewEncapsulation } from \"@angular/core\";\r\nimport { BaseComponent } from \"../../../../../core/pages/shared\";\r\nimport { Comparison } from \"../../../../../core/pages/shared/models\";\r\n\r\n@Component({\r\n encapsulation: ViewEncapsulation.None,\r\n selector: 'comparison-row',\r\n templateUrl: './comparisonRowComponent.html' \r\n})\r\nexport class ComparisonRowComponent extends BaseComponent {\r\n\r\n\r\n @Input()\r\n comparison: Comparison;\r\n\r\n @Input()\r\n titleClass: string;\r\n\r\n @Input()\r\n isRoot: boolean = false;\r\n\r\n @Input()\r\n valueClass: string;\r\n\r\n \r\n //ngOnInit() {\r\n \r\n // super.ngOnInit();\r\n //}\r\n\r\n}","
\r\n \r\n
\r\n\r\n \r\n
\r\n {{comparison.title}}\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
0\">\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n \r\n {{comparison.icon}}\r\n {{comparison.title}}\r\n\r\n
\r\n
\r\n\r\n \r\n
\r\n\r\n i && comparisonValue.icons.get(i)\" class=\"value-icon\" [key]=\"comparisonValue.icons.get(i)\" isVault=\"true\" width=\"32px\"> \r\n {{comparisonValue.title}}\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
","import { Component, Input, ViewEncapsulation } from \"@angular/core\";\r\nimport { BaseComponent } from \"../../../../../core/pages/shared\";\r\nimport { KeyValue } from \"../../../../../core/pages/shared/models\";\r\nimport { IconTools } from \"../../../../../core/pages/shared/providers\";\r\n\r\n@Component({\r\n encapsulation: ViewEncapsulation.None,\r\n selector: 'comparison-value',\r\n templateUrl: './comparisonValueComponent.html'\r\n})\r\nexport class ComparisonValueComponent extends BaseComponent {\r\n\r\n\r\n @Input()\r\n valueType: string\r\n\r\n @Input()\r\n titleAndValue: KeyValue;\r\n\r\n @Input()\r\n valueClass: string;\r\n\r\n imageKey: string;\r\n imageSet: string;\r\n\r\n constructor(protected iconTools: IconTools) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n\r\n if (this.valueType == 'Boolean') {\r\n let value: boolean = this.titleAndValue.value == null ? null : this.titleAndValue.value == 'True';\r\n this.imageKey = this.iconTools.boolValueIcon(value);\r\n this.imageSet = this.iconTools.boolValueTheme(value);\r\n }\r\n\r\n }\r\n\r\n}","
\r\n \r\n {{titleAndValue.key}}\r\n
","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output, ViewEncapsulation } from \"@angular/core\";\r\nimport { BaseComponent } from \"../../../../../../core/pages/shared\";\r\nimport { ComparisonResult } from \"../../../../../../core/pages/shared/state\";\r\nimport { ImageSets } from \"../../../../../../core/shared/utils\";\r\nimport { ComparisonDraggableNodeArgs, DraggableListAction, IDraggableDataInfo } from \"./models/comparisonDraggableNodeArgs\";\r\nimport { ComparisonDraggableNode } from \"./models/comparisonDraggableRowNodes\";\r\nimport { ComparisonDraggableDataProvider } from \"./providers/comparisonDraggableDataProvider\";\r\n\r\n@Component({\r\n encapsulation: ViewEncapsulation.None,\r\n selector: 'comparison-draggable-node',\r\n templateUrl: './comparisonDraggableItemComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ComparisonDraggableItemComponent extends BaseComponent {\r\n\r\n @Input()\r\n node: ComparisonDraggableNode;\r\n\r\n templateNode: ComparisonDraggableNode;\r\n\r\n @Input()\r\n index: number;\r\n\r\n @Input()\r\n loading = false;\r\n\r\n @Input()\r\n compactMode = false;\r\n\r\n differncyLevel: number;\r\n \r\n @Output() select: EventEmitter = new EventEmitter();\r\n\r\n public imageSet: string;\r\n\r\n constructor(protected draggableDataProvider: ComparisonDraggableDataProvider, protected cd: ChangeDetectorRef) { super(); }\r\n\r\n ngOnInit() {\r\n this.templateNode = this.node;\r\n\r\n this.imageSet = this.getImageSet(ImageSets.StartConfiguration);\r\n\r\n this.draggableDataProvider.getMessage().subscribe((info: IDraggableDataInfo) => {\r\n\r\n switch (info.action) {\r\n\r\n case DraggableListAction.ChildConfLoading:\r\n\r\n if (this.isMatched((info.data as ComparisonResult).confIds.toArray())) {\r\n this.loading = true; \r\n this.cd.markForCheck(); \r\n }\r\n\r\n break;\r\n\r\n case DraggableListAction.ChildConfLoaded:\r\n\r\n if (this.isMatched((info.data as ComparisonResult).confIds.toArray())) {\r\n \r\n //sleep(Delay.MS_1000).then(x => {\r\n\r\n this.loading = false; \r\n this.differncyLevel = (info.data as ComparisonResult).differencyResult.get(this.index);\r\n this.cd.markForCheck();\r\n\r\n //});\r\n \r\n }\r\n\r\n break;\r\n\r\n case DraggableListAction.DragCancel:\r\n\r\n if ((info.data as ComparisonDraggableNodeArgs).node.id !== this.node.id) {\r\n this.templateNode = { ...this.node };\r\n this.cd.markForCheck();\r\n }\r\n\r\n break;\r\n }\r\n \r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n super.ngOnInit();\r\n }\r\n\r\n onMouseLeave(event): void {\r\n this.templateNode = this.node; \r\n this.cd.markForCheck(); \r\n }\r\n\r\n isMatched(ids: number[]): boolean {\r\n\r\n // As an empty node does not contain any persitent id, that's why we find here the matching by grabbing sibling nodes which have \r\n // persistent ids.\r\n if (this.node.isEmpty) {\r\n\r\n let row = this.draggableDataProvider.getRowByNodeId(this.node.id);\r\n\r\n if (!row)\r\n return false;\r\n\r\n // Non empty nodes\r\n let realNodes = this.draggableDataProvider.getRowByNodeId(this.node.id).nodes.filter(node => !node.isEmpty);\r\n\r\n // Do these current 'ids' belong to the empty node's row?\r\n return realNodes.findIndex(x => x.id == ids[0].toString()) > -1;\r\n\r\n }\r\n\r\n let matched = ids.findIndex(id => id.toString() == this.node.id) > -1;\r\n return matched;\r\n }\r\n\r\n}\r\n","
\r\n\r\n \r\n \r\n \r\n
\r\n
\r\n {{compactMode ? templateNode.compact : templateNode.text}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, HostListener, Input, Output, ViewEncapsulation } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\nimport { BaseComponent } from \"../../../../../../core/pages/shared\";\r\nimport { ComparisonDraggableNodeArgs, DraggableListAction } from \"./models/comparisonDraggableNodeArgs\";\r\nimport { ComparisonDraggableNode, ComparisonDraggableRowNodes } from \"./models/comparisonDraggableRowNodes\";\r\nimport { ComparisonDraggableDataProvider } from \"./providers/comparisonDraggableDataProvider\";\r\n\r\nexport enum DragOverPositions {\r\n\r\n // Upper most separator\r\n FirstSeparator = 'first-separator',\r\n\r\n // Below separator after each node.\r\n NodeSeparator = 'node-separator',\r\n\r\n // Node\r\n Node = 'swap-node',\r\n\r\n None = '',\r\n\r\n}\r\n\r\n@Component({\r\n encapsulation: ViewEncapsulation.None,\r\n selector: 'comparison-draggable-list',\r\n templateUrl: './comparisonDraggableListComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ComparisonTreeComponent extends BaseComponent {\r\n\r\n @Input()\r\n rows: Immutable.List = Immutable.List();\r\n\r\n DRAG_OVER_OPTIONS: typeof DragOverPositions = DragOverPositions;\r\n\r\n activeDragOver: DragOverPositions;\r\n\r\n activeDragOverRowId: string;\r\n\r\n sourceNodeId: string;\r\n\r\n dragOverNodeId: string;\r\n\r\n sourceRowId: string;\r\n\r\n rowSeparatorFirstStyle: string;\r\n rowSeparatorStyle: string;\r\n nodeStyle: string;\r\n\r\n @Input() compactMode: boolean = false;\r\n\r\n @Output() orderChanged: EventEmitter = new EventEmitter();\r\n\r\n @Output() select: EventEmitter = new EventEmitter();\r\n \r\n @Output() cancelDrop: EventEmitter = new EventEmitter();\r\n\r\n dragStarted: boolean = false;\r\n\r\n nodeIndex: number = -1;\r\n\r\n @Input()\r\n isUpdating: boolean = false;\r\n \r\n constructor(protected dataService: ComparisonDraggableDataProvider, protected cd: ChangeDetectorRef) { super(); }\r\n\r\n onDrop(event, row: ComparisonDraggableRowNodes, targetRowIndex: number, position: DragOverPositions) {\r\n\r\n this.dragStarted = false;\r\n event.preventDefault();\r\n let rawData = event.dataTransfer.getData(\"text\");\r\n let args = JSON.parse(rawData) as ComparisonDraggableNodeArgs;\r\n\r\n let targetRow: ComparisonDraggableRowNodes;\r\n switch (position) {\r\n\r\n case DragOverPositions.FirstSeparator:\r\n\r\n // Create the target zone where node must be dropped.\r\n targetRow = this.dataService.createAndAddIntoList('nodes', 0, true); \r\n break;\r\n\r\n case DragOverPositions.NodeSeparator:\r\n\r\n // Create the target zone where node must be dropped.\r\n targetRow = this.dataService.createAndAddIntoList('separator', targetRowIndex + 1, true)\r\n this.activeDragOver = DragOverPositions.None;\r\n break;\r\n\r\n case DragOverPositions.Node:\r\n targetRow = row;\r\n break;\r\n }\r\n \r\n this.activeDragOver = DragOverPositions.None;\r\n this.activeDragOverRowId = null;\r\n this.dragOverNodeId = null; \r\n\r\n // Swap the source node with target zone.\r\n this.dataService.swapNode(targetRow.id, args.sourceRowId, args.nodeIndex);\r\n this.dataService.removeEmptyRows();\r\n\r\n args.sourceRowAfterDrag = this.dataService.getRow(args.sourceRowId);\r\n args.destinationRowAfterDrag = targetRow;\r\n\r\n // Notify to caller on order change.\r\n this.orderChanged.emit(args);\r\n\r\n }\r\n\r\n onDragStart(event, node: ComparisonDraggableNode, nodeIndex: number, row: ComparisonDraggableRowNodes) {\r\n\r\n \r\n if (!node || node.isEmpty) {\r\n event.dataTransfer.effectAllowed = 'none';\r\n return;\r\n }\r\n\r\n // Clear the drag data cache (for all formats/types)\r\n // https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/clearData\r\n // Note: This method can only be used in the handler for the dragstart event, because that's the only time the drag operation's data store is writeable.\r\n event.dataTransfer.clearData(); \r\n\r\n this.dragStarted = true;\r\n this.nodeIndex = row.nodes.findIndex(x => x.id == node.id);\r\n\r\n // Set the dropEffect to move \r\n event.dataTransfer.effectAllowed = 'all';\r\n\r\n let args: ComparisonDraggableNodeArgs = new ComparisonDraggableNodeArgs();\r\n args.node = node;\r\n args.nodeIndex = nodeIndex;\r\n args.sourceRowId = row.id;\r\n let json = JSON.stringify(args);\r\n\r\n this.sourceNodeId = node.id;\r\n \r\n // Set the drag's format and data. Use the event target's id for the data \r\n event.dataTransfer.setData(\"text/plain\", json);\r\n\r\n }\r\n\r\n onDragOver(event, draggedOverRow: ComparisonDraggableRowNodes, position: DragOverPositions, draggedOverNode?: ComparisonDraggableNode) {\r\n\r\n event.preventDefault();\r\n \r\n this.activeDragOverRowId = draggedOverRow ? draggedOverRow.id : null;\r\n this.dragOverNodeId = draggedOverNode ? draggedOverNode.id : null;\r\n\r\n let args: ComparisonDraggableNodeArgs = {\r\n node: draggedOverNode,\r\n sourceNodeId: this.sourceNodeId,\r\n };\r\n\r\n // Prevent drag & drop if dragging node is same as source or dragging and dragged over node don't have the same index.\r\n if (draggedOverNode && (draggedOverNode.id == this.sourceNodeId || !this.belongsToIndex(this.sourceNodeId, draggedOverNode.id))) {\r\n\r\n this.activeDragOver = DragOverPositions.None;\r\n this.activeDragOverRowId = null;\r\n event.dataTransfer.dropEffect = \"none\"; \r\n this.dataService.send({ action: DraggableListAction.DragCancel, data: args });\r\n \r\n this.cancelDrop.emit(draggedOverNode);\r\n\r\n return;\r\n\r\n }\r\n \r\n this.activeDragOver = position;\r\n\r\n if (draggedOverNode) \r\n this.dataService.send({ action: DraggableListAction.DragOver, data: args });\r\n\r\n // Set the dropEffect to move\r\n event.dataTransfer.dropEffect = \"move\";\r\n \r\n }\r\n\r\n belongsToIndex(nodeId1: string, nodeId2: string): boolean {\r\n\r\n let index1 = this.dataService.getNodeIndex(nodeId1);\r\n let index2 = this.dataService.getNodeIndex(nodeId2);\r\n\r\n return index1 == index2;\r\n\r\n }\r\n\r\n @HostListener('document:mousemove', ['$event'])\r\n onHighlightRemove(event) {\r\n\r\n this.activeDragOver = DragOverPositions.None;\r\n this.activeDragOverRowId = null; \r\n\r\n \r\n if (this.dragStarted) {\r\n this.dragStarted = false; \r\n this.cancelDrop.emit({ index: this.nodeIndex });\r\n this.cd.markForCheck();\r\n }\r\n\r\n }\r\n\r\n}","
\r\n\r\n\r\n\r\n
\r\n\r\n \r\n \r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
","import { ComparisonDraggableNode, ComparisonDraggableRowNodes } from \"./comparisonDraggableRowNodes\";\r\n\r\nexport class ComparisonDraggableNodeArgs {\r\n\r\n node: ComparisonDraggableNode;\r\n \r\n sourceRowId?: string;\r\n\r\n sourceNodeId?: string;\r\n\r\n nodeIndex?: number;\r\n\r\n /*\r\n * The node where it is dropped to. \r\n */\r\n targetZoneId?: string;\r\n\r\n sourceRowAfterDrag?: ComparisonDraggableRowNodes;\r\n\r\n destinationRowAfterDrag?: ComparisonDraggableRowNodes;\r\n\r\n}\r\n\r\nexport enum DraggableListAction {\r\n\r\n DragStart = 'dragStart',\r\n\r\n DragOver = 'dragOver',\r\n\r\n DragCancel = 'dragCancel',\r\n\r\n OrderChanged = 'orderChanged',\r\n\r\n ChildConfLoading = 'childConfLoading',\r\n\r\n ChildConfLoaded = 'childConfLoaded'\r\n\r\n}\r\n\r\nexport interface IDraggableDataInfo {\r\n\r\n action: DraggableListAction;\r\n\r\n data?: T;\r\n\r\n}\r\n","\r\nexport class ComparisonDraggableRowNodes {\r\n\r\n id: string;\r\n\r\n nodes: Array; \r\n}\r\n\r\nexport interface ComparisonDraggableNode {\r\n\r\n id: string;\r\n\r\n icon: string;\r\n\r\n text: string;\r\n\r\n path: string;\r\n\r\n description: string;\r\n\r\n compact: string;\r\n\r\n isEmpty: boolean;\r\n}\r\n","export class ComparisonUrlParams {\r\n\r\n ids: string;\r\n\r\n path: string = '0';\r\n\r\n sessionid: number;\r\n\r\n}","import { Injectable } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\nimport { ConfInfo, KeyValue } from \"../../../../../../../core/pages/shared/models\";\r\nimport { ManagedSubject } from \"../../../../../../../core/shared\";\r\nimport { IDraggableDataInfo } from \"../models/comparisonDraggableNodeArgs\";\r\nimport { ComparisonDraggableNode, ComparisonDraggableRowNodes } from \"../models/comparisonDraggableRowNodes\";\r\n\r\n@Injectable()\r\nexport class ComparisonDraggableDataProvider {\r\n\r\n protected rows: Immutable.List = Immutable.List();\r\n\r\n private subject = new ManagedSubject(null, false, 0, false, false); \r\n \r\n createNode(id: string, icon: string, text: string, desc: string, compact: string, path: string, isEmpty: boolean = false): ComparisonDraggableNode {\r\n\r\n return {\r\n\r\n id: id,\r\n\r\n icon: icon,\r\n\r\n text: text,\r\n\r\n description: desc,\r\n\r\n path: path,\r\n\r\n compact: compact,\r\n\r\n isEmpty: isEmpty\r\n\r\n };\r\n }\r\n\r\n convertToRowStructure(confsByKey: Immutable.List>): Immutable.List < ComparisonDraggableRowNodes > {\r\n\r\n // Results\r\n let rows: Array = new Array()\r\n\r\n for (let keyValueSet of confsByKey.toArray()) {\r\n\r\n let rowConfInfos: ConfInfo[] = keyValueSet.value;\r\n\r\n // Result row\r\n let row: ComparisonDraggableRowNodes = this.createNewRow('nodes');\r\n\r\n // Loop through each level configurations.\r\n rowConfInfos.forEach(conf => {\r\n\r\n let node: ComparisonDraggableNode;\r\n \r\n // Add empty node for small trees.\r\n if (conf) {\r\n\r\n // Create tree node by conf data. \r\n node = this.createNode(conf.longId.toString(), 'configuration', conf.text, conf.description, conf.compact, keyValueSet.key, false);\r\n }\r\n else {\r\n\r\n // Create empty node \r\n node = this.createEmptyNode();\r\n }\r\n\r\n row.nodes.push(node);\r\n });\r\n \r\n rows.push(row);\r\n }\r\n\r\n this.rows = Immutable.List(rows);\r\n return this.rows;\r\n }\r\n\r\n public getIds(): Array> {\r\n\r\n let idsResults = new Array>();\r\n\r\n // Loop through rows\r\n if (this.rows)\r\n this.rows.forEach(row => {\r\n\r\n // Read conf ids.\r\n let arr: Array = row.nodes.map(node => node.isEmpty ? null : Number(node.id));\r\n idsResults.push(arr);\r\n\r\n });\r\n\r\n return idsResults;\r\n }\r\n\r\n uniqueId(prefix: string): string {\r\n return `${prefix}_${(new Date()).getMilliseconds()}_${Math.floor((Math.random() * 999) + 1)}`;\r\n }\r\n\r\n /**\r\n * Swaps the node at given index.\r\n * @param row1\r\n * @param row2\r\n * @param nodeIndex\r\n */\r\n swapNode(rowId1: string, rowId2: string, nodeIndex: number): void {\r\n\r\n let row1: ComparisonDraggableRowNodes = this.rows.find(r => r.id == rowId1);\r\n let row2: ComparisonDraggableRowNodes = this.rows.find(r => r.id == rowId2);\r\n\r\n let node1: ComparisonDraggableNode = row1.nodes[nodeIndex];\r\n let node2: ComparisonDraggableNode = row2.nodes[nodeIndex];\r\n\r\n row1.nodes.splice(nodeIndex, 1, node2);\r\n row2.nodes.splice(nodeIndex, 1, node1);\r\n\r\n }\r\n\r\n protected createNewRow(prefixId: string, addEmptyNodes: boolean = false, numberOfEmptyNodes?: number): ComparisonDraggableRowNodes {\r\n\r\n let row: ComparisonDraggableRowNodes = new ComparisonDraggableRowNodes();\r\n row.id = this.uniqueId(prefixId);\r\n row.nodes = [];\r\n\r\n if (addEmptyNodes && numberOfEmptyNodes) {\r\n\r\n for (let index = 0; index < numberOfEmptyNodes; index++) {\r\n row.nodes.push(this.createEmptyNode());\r\n }\r\n\r\n }\r\n\r\n return row;\r\n }\r\n\r\n createAndAddIntoList(prefixId: string, rowIndex: number, addEmptyNodes: boolean = false): ComparisonDraggableRowNodes {\r\n\r\n let row = this.createNewRow(prefixId, addEmptyNodes, this.numberOfColumns);\r\n this.rows = this.rows.insert(rowIndex, row);\r\n\r\n return row;\r\n }\r\n\r\n createEmptyNode(): ComparisonDraggableNode {\r\n\r\n let id = this.uniqueId('empty');\r\n // In I.E/Edge browsers, It shows the 'null' text if undefined. To prevent this message, set empty text to 'Title', 'Description', 'Compact'.\r\n let node = this.createNode(id, null, '', '', '', '', true);\r\n\r\n return node\r\n }\r\n\r\n removeEmptyRows(): void {\r\n\r\n let result: Immutable.List = Immutable.List();\r\n this.rows.forEach(row => {\r\n\r\n if (!row.nodes.every(node => node.isEmpty)) \r\n result = result.push(row);\r\n\r\n });\r\n\r\n this.rows = result;\r\n\r\n }\r\n\r\n getRow(rowId: string): ComparisonDraggableRowNodes {\r\n return this.rows.find(row => row.id == rowId);\r\n }\r\n\r\n getRowByNodeId(nodeId: string): ComparisonDraggableRowNodes {\r\n\r\n for (let row of this.rows.toArray()) {\r\n\r\n if (row.nodes.findIndex(node => node.id == nodeId) > -1)\r\n return row;\r\n\r\n }\r\n\r\n return null;\r\n }\r\n\r\n getNodeIndex(id: string): number {\r\n\r\n let row = this.getRowByNodeId(id);\r\n\r\n if (!row)\r\n return -1;\r\n\r\n return row.nodes.findIndex(node => node.id == id);\r\n }\r\n\r\n getRows() { return this.rows; }\r\n\r\n get numberOfColumns(): number {\r\n return this.rows.first().nodes.length;\r\n }\r\n\r\n public send(info: IDraggableDataInfo): void {\r\n\r\n this.subject.nextValue(info);\r\n\r\n }\r\n\r\n public getMessage(): ManagedSubject {\r\n return this.subject;\r\n }\r\n\r\n}","export * from './comparisonComponent';\r\nexport * from './components/comparisonValueComponent';\r\nexport * from './components/comparisonRowComponent';\r\nexport * from './components/dragDrop/comparisonDraggableListComponent';\r\nexport * from './components/dragDrop/comparisonDraggableItemComponent';\r\nexport * from './comparisonResultsResolver';\r\nexport * from './providers/comparisonDataActionCreator';\r\nexport * from './providers/comparisonDataController';\r\nexport * from './providers/comparisonDataReducer';\r\nexport * from './providers/comparisonDataStore';\r\nexport * from './providers/comparisonHelper';","import { Inject, Injectable } from '@angular/core';\r\nimport { ApiResponse, ComparisonDataRequest } from '../../../../../core/pages/shared/models';\r\nimport { Actions, ActionStatus, AppStore, HttpAction, PageActions } from '../../../../../core/pages/shared/state';\r\nimport { ComparisonDataController } from './comparisonDataController';\r\nimport { BaseActionCreator } from '../../../shared';\r\n\r\n\r\n\r\n@Injectable()\r\nexport class ComparisonDataActionCreator extends BaseActionCreator {\r\n\r\n constructor(\r\n @Inject(AppStore) public appStore: AppStore,\r\n @Inject(ComparisonDataController) public comparisonDataController: ComparisonDataController\r\n ) {\r\n super(comparisonDataController);\r\n }\r\n\r\n dispatchGetComparisonConfs = (requestModel: ComparisonDataRequest) => this.appStore.dispatch(this.getComparisonConfs(requestModel)) as HttpAction;\r\n getComparisonConfs(requestModel: ComparisonDataRequest): HttpAction {\r\n return this.createHttpAction(\r\n PageActions.COMPARISON_CONFS_REQUEST,\r\n (dispatch, state, callback) => {\r\n return this.comparisonDataController.getComparisonData(requestModel).subscribe((comparisonResponse) => {\r\n dispatch({ type: Actions.COMPARISON_CONFIGURATIONS_RESULT, payload: comparisonResponse });\r\n\r\n // Update complete request status\r\n callback(new ActionStatus(true, comparisonResponse));\r\n })\r\n });\r\n }\r\n \r\n public createHttpAction(actionType: any, executeAsync: any, payload: T = null): HttpAction {\r\n let httpAction: HttpAction = {\r\n type: actionType,\r\n executeAsync: executeAsync,\r\n payload: payload\r\n }\r\n return httpAction;\r\n }\r\n}","import { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { ApiResponse, ComparisonDataRequest } from '../../../../../core/pages/shared/models';\r\nimport { ApiResponseBuilder } from '../../../../../core/pages/shared/providers';\r\nimport { HttpService } from \"../../../../shared/providers/httpService\";\r\nimport { BaseController } from '../../../shared/providers/baseController';\r\n\r\n\r\n@Injectable()\r\nexport class ComparisonDataController extends BaseController {\r\n\r\n public url = 'api/comparison';\r\n\r\n constructor(\r\n @Inject(HttpService) public httpService: HttpService,\r\n public apiResponseBuilder: ApiResponseBuilder\r\n ) {\r\n super(httpService, apiResponseBuilder);\r\n }\r\n\r\n public getComparisonData(requestModel: ComparisonDataRequest): Observable {\r\n return this.httpService.get(this.url, requestModel).pipe(this.buildResponseObject);\r\n }\r\n\r\n public buildResponseObject = map((response, index) => this.apiResponseBuilder.build(response));\r\n\r\n public getControllerUrl(): string {\r\n return this.url;\r\n }\r\n\r\n}","import { Inject, Injectable } from '@angular/core';\r\nimport * as Immutable from \"immutable\";\r\nimport { ComparisonDataResponse } from '../../../../../core/pages/shared/models/responses/comparisonDataResponse';\r\nimport { Actions } from '../../../../../core/pages/shared/state/shared/actions';\r\nimport { AppAction } from '../../../../../core/pages/shared/state/shared/appAction';\r\nimport { ComparisonDataState } from '../../../../../core/pages/shared/state/shared/comparisonDataState';\r\nimport { ComparisonResult } from '../../../../../core/pages/shared/state/shared/comparisonSession';\r\nimport { ComparisonSessionData } from '../../../../../core/pages/shared/state/shared/comparisonSessionData';\r\nimport { ComparisonHelper } from './comparisonHelper';\r\n\r\n@Injectable()\r\nexport class ComparisonDataReducer {\r\n\r\n constructor(@Inject(ComparisonHelper) public helper: ComparisonHelper) { }\r\n\r\n public getReducer() {\r\n\r\n // Default state. \r\n let defaultState = new ComparisonDataState();\r\n defaultState = defaultState.setDataBySessionId(Immutable.Map());\r\n\r\n return (state = defaultState, action: AppAction): ComparisonDataState => {\r\n\r\n if (action.type == Actions.CLEAR_CLIENT_CACHE) {\r\n return state;\r\n }\r\n\r\n\r\n if (action.type == Actions.COMPARISON_CONFIGURATIONS_RESULT) {\r\n\r\n let comparisonDataResponse = action.payload.data as ComparisonDataResponse;\r\n\r\n if (!comparisonDataResponse)\r\n return state;\r\n\r\n // Create session if it is the first request and session does not exists.\r\n state = this.createIfNoSession(state, comparisonDataResponse);\r\n\r\n // Grab the old or empty comparison result.\r\n let result: ComparisonResult = this.getComparisonResultOrDefault(state, comparisonDataResponse);\r\n\r\n // Synchronize the comparison results.\r\n result = this.updateComparisonResult(result, comparisonDataResponse);\r\n\r\n // Update the state.\r\n state = this.updateState(state, result);\r\n }\r\n\r\n return state;\r\n }\r\n }\r\n\r\n\r\n getComparisonSession(response: ComparisonDataResponse): ComparisonResult {\r\n\r\n let comparisonSession = new ComparisonResult();\r\n comparisonSession = comparisonSession.setComparisonSessionId(response.comparisonSessionId);\r\n comparisonSession = comparisonSession.setDetail(response.detail);\r\n comparisonSession = comparisonSession.setConfIds(response.confIds);\r\n comparisonSession = comparisonSession.setBreadcrumbConfInfos(response.breadcrumbConfInfos);\r\n comparisonSession = comparisonSession.setChildConfsOrder(response.childConfsOrder);\r\n comparisonSession = comparisonSession.setDifferencyResult(response.differencyResult);\r\n return comparisonSession;\r\n\r\n }\r\n\r\n createIfNoSession(state: ComparisonDataState, response: ComparisonDataResponse): ComparisonDataState {\r\n\r\n if (state.dataBySessionId.has(+response.comparisonSessionId))\r\n return state;\r\n\r\n let sessionData = new ComparisonSessionData();\r\n sessionData = sessionData.setComparisonResultByPath(Immutable.Map());\r\n \r\n let comparisonSessionDataById = state.dataBySessionId.set(+response.comparisonSessionId, sessionData);\r\n \r\n state = state.setDataBySessionId(comparisonSessionDataById);\r\n\r\n\r\n return state;\r\n }\r\n\r\n getComparisonResultOrDefault(state: ComparisonDataState, response: ComparisonDataResponse): ComparisonResult {\r\n\r\n let dataBySessionId = state.dataBySessionId.get(response.comparisonSessionId);\r\n\r\n if (dataBySessionId.comparisonResultByPath && dataBySessionId.comparisonResultByPath.has(response.path)) {\r\n return dataBySessionId.comparisonResultByPath.get(response.path);\r\n }\r\n\r\n\r\n return new ComparisonResult();\r\n }\r\n\r\n updateComparisonResult(result: ComparisonResult, response: ComparisonDataResponse): ComparisonResult {\r\n\r\n result = this.merge(result, response.breadcrumbConfInfos, ComparisonResult.BREADCRUMB_CONF_INFOS);\r\n result = this.merge(result, response.comparisonSessionId, ComparisonResult.COMPARISON_SESSION_ID);\r\n result = this.merge(result, response.detail, ComparisonResult.DETAIL);\r\n result = this.merge(result, response.childConfsOrder, ComparisonResult.CHILD_CONFS_ORDER);\r\n result = this.merge(result, response.differencyResult, ComparisonResult.DIFFERENCY_RESULT);\r\n result = this.merge(result, response.path, ComparisonResult.PATH);\r\n result = this.merge(result, response.confIds, ComparisonResult.CONF_IDS);\r\n\r\n return result;\r\n }\r\n\r\n merge(result: ComparisonResult, newValue: any, whatProperty: string): ComparisonResult {\r\n\r\n if (!newValue)\r\n return result;\r\n\r\n let oldValue = result.getInternalValue(whatProperty);\r\n\r\n if (JSON.stringify(oldValue) == newValue)\r\n return result;\r\n\r\n // Update the value\r\n result = result.setInternalValue(whatProperty, newValue);\r\n\r\n return result;\r\n }\r\n\r\n updateState(state: ComparisonDataState, result: ComparisonResult): ComparisonDataState {\r\n\r\n let dataBySession = state.dataBySessionId;\r\n let session: ComparisonSessionData = dataBySession.get(+result.comparisonSessionId);\r\n\r\n let resultByPath: Immutable.Map = session.comparisonResultByPath.set(result.path, result);\r\n session = session.setComparisonResultByPath(resultByPath);\r\n\r\n dataBySession = dataBySession.set(result.comparisonSessionId, session);\r\n\r\n return state.setDataBySessionId(dataBySession);\r\n \r\n }\r\n\r\n}","import { Inject, Injectable } from \"@angular/core\";\r\nimport { ApiResponse, ComparisonCommand, ComparisonDataRequest, ComparisonDataResponse, RequestViews } from \"../../../../../core/pages/shared/models\";\r\nimport { AppStoreSubscriptionManager, ModelFactory } from \"../../../../../core/pages/shared/providers\";\r\nimport { AppStore, BaseStore, ComparisonResult, ComparisonSessionData, HttpAction, StoreResponse } from \"../../../../../core/pages/shared/state\";\r\nimport { ManagedSubject } from \"../../../../../core/shared\";\r\nimport { ComparisonDataActionCreator } from \"./comparisonDataActionCreator\";\r\nimport { ComparisonHelper } from \"./comparisonHelper\";\r\nimport { GlobalDataStore } from \"../../../shared/providers/globalData\";\r\n\r\n@Injectable()\r\nexport class ComparisonDataStore extends BaseStore {\r\n\r\n constructor(@Inject(AppStore) public appStore: AppStore,\r\n @Inject(ComparisonDataActionCreator) public comparisonActionCreator: ComparisonDataActionCreator,\r\n @Inject(ModelFactory) public modelFactory: ModelFactory,\r\n @Inject(AppStoreSubscriptionManager) public appStoreSubscriptionManager: AppStoreSubscriptionManager,\r\n @Inject(ComparisonHelper) public helper: ComparisonHelper,\r\n public globalDataStore: GlobalDataStore \r\n ) {\r\n super(appStore, appStoreSubscriptionManager, modelFactory, comparisonActionCreator);\r\n }\r\n\r\n /**\r\n * Returns comparison results by confIds.\r\n * @param selectedConfIds\r\n * @param sessionId\r\n */\r\n public getComparisonResults(selectedConfIds: Array, sessionId: number, path: string): ManagedSubject> {\r\n\r\n let model: ComparisonDataRequest = this.createComparisonRequest(sessionId);\r\n model.comparison.startConfIds = selectedConfIds;\r\n model.comparison.includeDetails = true;\r\n model.comparison.path = path;\r\n\r\n return this.getComparisonSessionResponse(model);\r\n\r\n }\r\n\r\n /**\r\n * Updates the child configurations order.\r\n * @param confIds\r\n * @param sessionId\r\n */\r\n public updateChildConfsOrder(childConfsOrder: Array>, startConfIds: Array, path: string, sessionId: number): ManagedSubject> {\r\n\r\n let model: ComparisonDataRequest = this.createComparisonRequest(sessionId);\r\n model.comparison.startConfIds = startConfIds;\r\n model.comparison.includeDetails = false;\r\n model.comparison.calculateDifferency = false;\r\n model.comparison.path = path;\r\n model.comparison.childConfsOrder = childConfsOrder;\r\n\r\n return this.getComparisonSessionResponse(model);\r\n\r\n }\r\n\r\n /**\r\n * Returns the differency level for child configurations.\r\n * @param childConfsOrder\r\n * @param confIds\r\n * @param sessionId\r\n */\r\n public loadConfsDifferncyLevel(confIds: Array, path: string, sessionId: number): ManagedSubject> {\r\n\r\n let model: ComparisonDataRequest = this.createComparisonRequest(sessionId);\r\n model.comparison.startConfIds = confIds;\r\n model.comparison.path = path;\r\n model.comparison.includeDetails = false; \r\n model.comparison.calculateDifferency = true;\r\n\r\n return this.getComparisonSessionResponse(model);\r\n }\r\n\r\n public getComparisonSessionResponse(model: ComparisonDataRequest): ManagedSubject> {\r\n\r\n let response: StoreResponse = new StoreResponse();\r\n\r\n let action: HttpAction = this.comparisonActionCreator.dispatchGetComparisonConfs(model);\r\n\r\n // Create request object\r\n return this.createAction(action, actionInfo => {\r\n let comparisonDataResponse = actionInfo.payload.data as ComparisonDataResponse;\r\n\r\n if (comparisonDataResponse)\r\n response.data = this.getComparisonSession(comparisonDataResponse.path, comparisonDataResponse.comparisonSessionId);\r\n\r\n return response;\r\n });\r\n\r\n }\r\n \r\n getComparisonSessionData(comparisonSessionId: number): ComparisonSessionData {\r\n return this.appStore.getState().comparisonData.dataBySessionId.get(comparisonSessionId);\r\n }\r\n\r\n getComparisonSession(path: string, comparisonSessionId: number): ComparisonResult {\r\n\r\n let data = this.getComparisonSessionData(comparisonSessionId);\r\n if (!data)\r\n return;\r\n \r\n return data.comparisonResultByPath.get(path);\r\n\r\n }\r\n\r\n hasComparisonResult(confIds: Array, sessionId: number, path: string): boolean {\r\n\r\n if (!sessionId)\r\n return false;\r\n\r\n let data: ComparisonSessionData = this.getComparisonSessionData(sessionId);\r\n\r\n if (!data)\r\n return false;\r\n\r\n // Grab the corresponding session.\r\n let comparisonSession: ComparisonResult = data.comparisonResultByPath.get(path);\r\n\r\n if (!comparisonSession)\r\n return false;\r\n\r\n // Convert to number because passed array is not number.\r\n let arr = confIds.map(x => Number(x));\r\n\r\n let hasSameConfIds = JSON.stringify(comparisonSession.confIds.toArray()) == JSON.stringify(arr);\r\n\r\n // Return true if comparison results found.\r\n return comparisonSession && hasSameConfIds && !!comparisonSession.detail;\r\n }\r\n\r\n createComparisonRequest(sessionId: number): ComparisonDataRequest {\r\n\r\n let result: ComparisonDataRequest = this.modelFactory.createRequestOrCommand(ComparisonDataRequest.name);\r\n result.comparisonSessionId = sessionId; \r\n result.client = RequestViews.Compare;\r\n result.comparison = this.modelFactory.createRequestOrCommand(ComparisonCommand.name);\r\n \r\n return result;\r\n }\r\n\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { ConfInfo } from \"../../../shared/models\";\r\nimport { ComparisonResult } from \"../../../shared/state\";\r\n\r\n@Injectable()\r\nexport class ComparisonHelper {\r\n\r\n static SEPARATOR: string = '.';\r\n\r\n public comparisonId(confIds: number[]): string {\r\n return confIds.join(ComparisonHelper.SEPARATOR);\r\n }\r\n\r\n public confIdsFromComparisonId(comparisonId: string): Array {\r\n return comparisonId.split(ComparisonHelper.SEPARATOR) as Array;\r\n }\r\n\r\n public extractPath(source: ComparisonResult, confIds: number[]): string {\r\n\r\n if (!source.childConfsOrder || source.childConfsOrder.size == 0)\r\n return;\r\n\r\n for (let keyValue of source.childConfsOrder.toArray()) {\r\n\r\n let rowConfInfos: ConfInfo[] = keyValue.value;\r\n if (rowConfInfos.find(x => confIds.findIndex(y => x != null && y == x.longId) > -1))\r\n return keyValue.key;\r\n }\r\n\r\n return;\r\n }\r\n\r\n}","import { Component, EventEmitter, Input, Output, SimpleChange, SimpleChanges } from \"@angular/core\";\r\nimport { FilterType, InputViewModel, ValueChangeEventArgs } from \"../../../../shared/components\";\r\nimport { ImageSets } from \"../../../../shared/utils\";\r\nimport { EnumEx } from \"../../../../shared/utils/extensions\";\r\nimport { BaseComponent } from \"../../../shared\";\r\nimport { FilterItemViewModel } from \"./filterItemViewModel\";\r\nimport { SearchInfo } from \"../../../shared/models\";\r\n\r\n@Component({\r\n selector: 'filter',\r\n templateUrl: './filterComponent.html',\r\n})\r\nexport class FilterComponent extends BaseComponent {\r\n @Input()\r\n public filterItems: Array = [];\r\n @Input()\r\n public isInline = false;\r\n\r\n @Input()\r\n public searchInfo: SearchInfo;\r\n\r\n @Output()\r\n public filterItemChanged = new EventEmitter();\r\n @Output()\r\n public filterTextChanged = new EventEmitter();\r\n @Output()\r\n public onFilter = new EventEmitter();\r\n @Output()\r\n public onCancel = new EventEmitter();\r\n\r\n public filterItemsView: FilterItemViewModel;\r\n public value1View: InputViewModel;\r\n public value2View: InputViewModel;\r\n\r\n public isFiltered: boolean = false;\r\n\r\n public filterType = FilterType.SingleValue;\r\n public FilterType: any = FilterType;\r\n\r\n public filterTypes: Array = [];\r\n public filterTypesView: InputViewModel;\r\n\r\n public boolValues: Array = [];\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes[\"searchInfo\"] && !changes[\"searchInfo\"].firstChange) {\r\n //set view model values... else reset???\r\n this.readSearchInfo();\r\n }\r\n }\r\n\r\n readSearchInfo(): void {\r\n if (this.searchInfo && this.searchInfo.fieldId) {\r\n let item = this.filterItems.find(x => +x.id == this.searchInfo.fieldId);\r\n\r\n if (!item)\r\n return;\r\n\r\n this.filterItemsView.value = item.id;\r\n this.filterItemsView.formattedValue = item.title;\r\n this.filterItemsView.type = item.type;\r\n\r\n // handle bools, intervals etc...\r\n if (this.filterItemsView.type == \"Int\" || this.filterItemsView.type == \"Double\") {\r\n let type = this.filterTypes.find(x => +x.id == this.searchInfo.filterType);\r\n if (type != null) {\r\n this.filterTypesView.value = type.id;\r\n this.filterTypesView.formattedValue = type.title;\r\n }\r\n }\r\n\r\n if (this.filterItemsView.type == \"Bool\") {\r\n let index = this.searchInfo.value1 == null ? 1 : this.searchInfo.value1 == 'false' || this.searchInfo.value1 == '0' ? 2 : 0;\r\n this.value1View.value = this.boolValues[index].name;\r\n this.value1View.id = this.boolValues[index].id;\r\n }\r\n else {\r\n this.value1View.value = this.searchInfo.value1;\r\n this.value2View.value = this.searchInfo.value2;\r\n }\r\n\r\n this.setFilterIcon();\r\n }\r\n else {\r\n if (this.filterItems.length > 0) {\r\n this.filterItemsView.value = this.filterItems[0].id;\r\n this.filterItemsView.formattedValue = this.filterItems[0].title;\r\n\r\n this.value1View.value = null;\r\n this.value2View.value = null;\r\n\r\n let evt = new ValueChangeEventArgs()\r\n evt.actionView = this.filterItems[0];\r\n this.onFilterItemChanged(evt);\r\n }\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.filterItemsView = new FilterItemViewModel(this.strings.Filter);\r\n let viewWidth = this.isInline ? this.uiSettings.configurator.decoration.dataSelector.filterInlineWidth : this.uiSettings.configurator.decoration.dataSelector.filterPopoverWidth;\r\n this.filterItemsView.width = viewWidth;\r\n\r\n this.value1View = new InputViewModel(this.strings.Value);\r\n this.value1View.width = viewWidth;\r\n this.value1View.placeholder = this.strings.Value;\r\n\r\n this.value2View = new InputViewModel(this.strings.Value2);\r\n this.value2View.width = viewWidth;\r\n this.value2View.placeholder = this.strings.Value2;\r\n\r\n this.filterTypesView = new InputViewModel();\r\n this.filterTypesView.width = viewWidth;\r\n\r\n for (let kvp of EnumEx.getNamesAndValues(FilterType)) {\r\n let view = new InputViewModel(this.strings.getString(kvp.name));\r\n view.id = kvp.value.toString();\r\n this.filterTypes.push(view);\r\n }\r\n\r\n let boolPairs = [{ name: \"True\", value: \"true\" }, { name: \"Indeterminate\", value: \"null\" }, { name: \"False\", value: \"false\" }];\r\n for (let boolPair of boolPairs) {\r\n let view = new InputViewModel(boolPair.name);\r\n view.value = view.id = boolPair.value;\r\n this.boolValues.push(view);\r\n }\r\n\r\n if (this.filterItems.length > 0) {\r\n this.filterItemsView.type = this.filterItems[0].type;\r\n this.setFilterIcon();\r\n }\r\n\r\n this.resetFilter();\r\n\r\n this.readSearchInfo();\r\n }\r\n\r\n public resetFilter() {\r\n this.isFiltered = false;\r\n\r\n // Set default Indeterminate\r\n if (this.filterItemsView.type == \"Bool\") {\r\n this.value1View.formattedValue = this.boolValues[1].name;\r\n this.value1View.value = this.boolValues[1].id;\r\n }\r\n\r\n this.setFilterIcon();\r\n }\r\n\r\n public setFilterIcon() {\r\n let icon = (this.filterItemsView.type + \"param\").toLowerCase();\r\n this.filterItemsView.icon = icon;\r\n this.filterItemsView.iconImageSet = this.getImageSet(ImageSets.Control);\r\n }\r\n\r\n public get value1() {\r\n return this.filterItemsView.type == \"Bool\" ? this.value1View.id : this.value1View.value;\r\n }\r\n\r\n public onFilterItemChanged($event: ValueChangeEventArgs) {\r\n let oldType = this.filterItemsView.type;\r\n this.filterItemsView.type = ($event.actionView as FilterItemViewModel).type;\r\n\r\n // Reset values and types if we're changing types.\r\n if (this.filterItemsView.type !== oldType) {\r\n this.filterTypesView.formattedValue = this.strings.getString(this.filterTypes[0].name);\r\n this.filterTypesView.value = this.filterTypes[0].id;\r\n this.filterType = FilterType.SingleValue;\r\n\r\n this.value1View.value = this.value2View.value = \"\";\r\n this.value1View.name = this.value1View.title = this.strings.Value;\r\n }\r\n\r\n this.resetFilter();\r\n\r\n this.filterItemChanged.emit({ filterItem: this.filterItemsView, value1: this.value1, value2: this.value2View.value, filterType: this.filterType })\r\n }\r\n\r\n public onFilterValueChanged($event: ValueChangeEventArgs) {\r\n this.filterTextChanged.emit({ filterItem: this.filterItemsView, value1: this.value1, value2: this.value2View.value, filterType: this.filterType })\r\n }\r\n\r\n public onFilterTypeChanged($event: ValueChangeEventArgs) {\r\n this.filterType = parseInt(this.filterTypesView.value);\r\n\r\n // Update labels. 2 values => display \"Value 1\" & \"Value 2\".\r\n if (this.filterType == FilterType.Range)\r\n this.value1View.name = this.strings.Value1;\r\n else\r\n this.value1View.name = this.strings.Value;\r\n\r\n this.value1View.title = this.value1View.name;\r\n }\r\n\r\n public onSearchClick() {\r\n this.isFiltered = true;\r\n this.onFilter.emit({ filterItem: this.filterItemsView, value1: this.value1, value2: this.value2View.value, filterType: this.filterType })\r\n }\r\n\r\n public onCloseClick() {\r\n this.resetFilter();\r\n this.onCancel.emit();\r\n }\r\n}","
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
","import { InputViewModel } from \"../../../../shared/components/shared\";\r\n\r\nexport class FilterItemViewModel extends InputViewModel {\r\n\r\n public type: string;\r\n\r\n}","export class AccordionCompositeParams {\r\n\r\n public constructor(public confId: number, public reload: boolean) {\r\n\r\n }\r\n\r\n\r\n}","import { Component, ChangeDetectorRef, Inject, Output, EventEmitter, SimpleChanges, Input, ChangeDetectionStrategy } from \"@angular/core\";\r\nimport { BaseComponent } from \"../../../shared\";\r\nimport { ConfPageSessionService } from \"../../providers/confPageSessionService\";\r\nimport { ConfInfo, RequestViews, Conf } from \"../../../shared/models\";\r\nimport { CompositeTreeDataProvider } from \"../../actions/composite/tree/compositeTreeDataProvider\";\r\nimport { ConfiguratorStore } from \"../../providers/configuratorStore\";\r\nimport { RouteRedirector } from \"../../../shared/providers/routeRedirector\";\r\nimport { TreeNode } from \"../../../../shared/components/treeViewSimple/treeNode\";\r\nimport { PopupIdentifiers } from \"../../providers/popupIdentifiers\";\r\nimport { ManagedSubscription } from \"../../../../shared/managedSubscription\";\r\nimport { deepCopy } from \"../../../../shared/utils/copy\";\r\nimport { AccordionCompositeParams } from \"./accordionCompositeParams\";\r\nimport { ImageSets } from \"../../../../shared/utils\";\r\nimport { ConfRouteParams } from \"../../providers/confRouteParams\";\r\n\r\n@Component({\r\n selector: 'accordion-configurations-tree',\r\n templateUrl: './accordionConfigurationsTreeComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class AccordionConfigurationsTreeComponent extends BaseComponent {\r\n\r\n public imageSet: string = \"primary\";\r\n public activeNodeId: number;\r\n public startingNodes: Array = [];\r\n @Input() public selectedConfId: number;\r\n\r\n @Output() public treeNodeSelected = new EventEmitter();\r\n public confInfoChangeSubscriptions: Array = [];\r\n\r\n constructor(\r\n @Inject(ConfPageSessionService) public confPageSession: ConfPageSessionService,\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(CompositeTreeDataProvider) public treeDataProvider: CompositeTreeDataProvider,\r\n @Inject(RouteRedirector) public routeRedirector: RouteRedirector,\r\n public cd: ChangeDetectorRef) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.imageSet = this.getImageSet(ImageSets.ConfiguratorTree);\r\n super.ngOnInit();\r\n\r\n }\r\n\r\n public subscribeConfInfoChanges(confId: number): void {\r\n\r\n // Subscription for data change e.g title\r\n this.confInfoChangeSubscriptions.push(this.confStore.onConfInfoChange(confId, this.confPageSession.confSessionId, (conf: ConfInfo): void => {\r\n\r\n this.updateTreeData(null);\r\n\r\n // Make a deep copy of starting nodes and set it back to starting nodes for change detection.\r\n let rootNodes: TreeNode[] = [];\r\n this.startingNodes.forEach(x => rootNodes.push(deepCopy(x)));\r\n this.startingNodes = rootNodes;\r\n \r\n this.emitterService.send(PopupIdentifiers.AccordionNodesUpdate);\r\n this.cd.markForCheck();\r\n\r\n }));\r\n }\r\n\r\n unsubscribeConfChanges(): void {\r\n while (this.confInfoChangeSubscriptions.length > 0) {\r\n let subscription = this.confInfoChangeSubscriptions.pop();\r\n subscription.unsubscribe();\r\n }\r\n }\r\n\r\n updateTreeData(children: TreeNode[]) {\r\n\r\n if (children == null)\r\n children = this.startingNodes;\r\n\r\n for (let index = 0; index < children.length; index++) {\r\n\r\n let node = children[index];\r\n let confInfo = this.confStore.getConfInfo(+node.id, this.confPageSession.confSessionId);\r\n if (confInfo != null && confInfo.text != node.title) {\r\n node.title = confInfo.text; \r\n }\r\n\r\n if (node.children.length > 0)\r\n this.updateTreeData(node.children);\r\n }\r\n \r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n\r\n // Populate tree data again, if selected sub configuration is not correct.\r\n if (changes[\"selectedConfId\"] && this.activeNodeId != this.selectedConfId) {\r\n this.unsubscribeConfChanges();\r\n this.setUpTreeData(this.selectedConfId); \r\n }\r\n\r\n }\r\n\r\n setUpTreeData(activeSubConfId: number): void {\r\n\r\n // As this is only breadcrumb, it won't contain more than one child.\r\n let nodesByParent: Map = new Map();\r\n let currentId = activeSubConfId;\r\n while (currentId != null) {\r\n\r\n let currentConfInfo = this.confStore.getConfInfo(currentId, this.confPageSession.confSessionId);\r\n\r\n // If subconfig Id is incorrect then confInfo would be null.\r\n if (currentConfInfo == null)\r\n return;\r\n\r\n // Subscription for title change.\r\n this.subscribeConfInfoChanges(currentId);\r\n\r\n let node = this.getTreeNode(currentConfInfo.longId);\r\n nodesByParent.set(currentConfInfo.parentId, node);\r\n currentId = currentConfInfo.parentId;\r\n }\r\n\r\n let rootNode = this.getTreeNode(this.confPageSession.activeConfiguration.rootId);\r\n this.setChildren(rootNode, nodesByParent);\r\n this.startingNodes = rootNode.children;\r\n this.activeNodeId = activeSubConfId ? activeSubConfId : null;\r\n\r\n }\r\n\r\n setChildren(parent: TreeNode, nodesByParent: Map) {\r\n\r\n let child: TreeNode;\r\n if (nodesByParent.has(+parent.id)) {\r\n child = nodesByParent.get(+parent.id);\r\n parent.children = [child]\r\n }\r\n\r\n if (child)\r\n this.setChildren(child, nodesByParent);\r\n }\r\n\r\n getTreeNode(confId: number): TreeNode {\r\n\r\n let confInfo = this.confStore.getConfInfo(confId, this.confPageSession.confSessionId);\r\n let treeNode = this.createTreeNode(confInfo);\r\n\r\n if (!treeNode.children)\r\n treeNode.children = [];\r\n\r\n return treeNode;\r\n\r\n }\r\n\r\n createTreeNode(info: ConfInfo): TreeNode {\r\n\r\n let hasVaultIcon: boolean = info.iconRelativeUrl && info.iconRelativeUrl != \"\";\r\n\r\n let nodeData: TreeNode =\r\n {\r\n id: info.longId.toString(),\r\n title: info.text,\r\n icon: hasVaultIcon ? info.iconRelativeUrl : 'configuration',\r\n isVault: hasVaultIcon,\r\n level: this.getDistanceFromRoot(info) - 1 /*As root node is ignored in treeview*/\r\n };\r\n\r\n return nodeData;\r\n }\r\n getDistanceFromRoot(info: ConfInfo, level: number = 0): number {\r\n\r\n if (!info.parentId)\r\n return level;\r\n\r\n let parentInfo = this.confStore.getConfInfo(info.parentId, this.confPageSession.confSessionId);\r\n level = this.getDistanceFromRoot(parentInfo, ++level);\r\n\r\n return level;\r\n }\r\n\r\n onNodeSelected(event): void {\r\n let confId = +event.node.id;\r\n\r\n // Ignore If configuration detail already visible.\r\n if (confId == this.selectedConfId)\r\n return;\r\n\r\n this.setupTreeAndShowOrHideDetail(confId);\r\n }\r\n\r\n setupTreeAndShowOrHideDetail(confId: number): void {\r\n\r\n if (confId) {\r\n\r\n // Hide the sub configurations.\r\n if (this.confPageSession.activeConfiguration.rootId == confId) {\r\n this.emitterService.send(PopupIdentifiers.AccordionCompositeHideDetail, new AccordionCompositeParams(this.confPageSession.activeConfigurationId, false));\r\n }\r\n else {\r\n this.emitterService.send(PopupIdentifiers.AccordionCompositeShowDetail, new AccordionCompositeParams(confId, true));\r\n }\r\n\r\n this.selectedConfId = confId;\r\n this.setUpTreeData(this.selectedConfId);\r\n this.routeRedirector.changeParamValue(ConfRouteParams.SUB_CONF_ID, this.selectedConfId.toString());\r\n }\r\n\r\n }\r\n\r\n findNextSelectableNode(focusedNodeId: number, searchPath: TreeNode): TreeNode {\r\n\r\n if (+searchPath.id == focusedNodeId)\r\n return null;\r\n\r\n for (let index = 0; index < searchPath.children.length; index++) {\r\n\r\n let node: TreeNode = searchPath.children[index];\r\n\r\n // If the index is greater than 0, return the previous sibling; otherwise, return the parent.\r\n if (+node.id == focusedNodeId) {\r\n return index > 0 ? searchPath.children[index - 1] : searchPath;\r\n }\r\n else {\r\n return this.findNextSelectableNode(focusedNodeId, node);\r\n }\r\n }\r\n }\r\n\r\n closeConfigurationDetail(event): void {\r\n\r\n // Send the rootId to close the sub configuration. \r\n let nextSelectedNode: TreeNode = this.findNextSelectableNode(event.node.id, this.startingNodes[0]);\r\n\r\n /*this.emitterService.send(PopupIdentifiers.AccordionCompositeHideDetail, new AccordionCompositeParams(+event.node.id, false));*/\r\n let nextSelectedNodeId = nextSelectedNode == null ? this.confPageSession.activeConfigurationId : +nextSelectedNode.id;\r\n this.setupTreeAndShowOrHideDetail(nextSelectedNodeId);\r\n\r\n if (nextSelectedNodeId != this.confPageSession.activeConfigurationId)\r\n this.routeRedirector.changeParamValue(ConfRouteParams.SUB_CONF_ID, nextSelectedNodeId.toString());\r\n this.emitterService.send(PopupIdentifiers.AccordionCompositeShowDetail, new AccordionCompositeParams(+nextSelectedNodeId, false));\r\n \r\n }\r\n\r\n ngOnDestroy() {\r\n this.unsubscribeConfChanges();\r\n super.ngOnDestroy();\r\n }\r\n\r\n}","
0\"> \r\n \r\n \r\n
","import { ChangeDetectorRef, Component, Inject, Input, EventEmitter, Output } from \"@angular/core\";\r\nimport { Tab } from \"../../../shared/models\";\r\nimport { ConfiguratorUIStore, ConfPageSessionService, PopupIdentifiers } from \"../../providers\";\r\nimport { VisualObjectNavigatorService } from \"../../shared/visualObjectNavigatorService\";\r\nimport { TabAvailabilityService } from \"./tabAvailabilityService\";\r\nimport { TabContainerComponent } from \"./tabContainerComponent\";\r\nimport { TabDisplayStyle } from \"../../../shared/providers\";\r\nimport { TabModel } from \"../../../../shared/components\";\r\nimport { IEmitDataInfo } from \"../../shared/emitterService\";\r\n\r\nexport let Direction = {\r\n Horizontal: 'horizontal',\r\n Vertical: 'vertical',\r\n}\r\n\r\n@Component({\r\n selector: 'accordion-tabs',\r\n templateUrl: './accordionTabsComponent.html'\r\n})\r\nexport class AccordionTabsComponent extends TabContainerComponent {\r\n\r\n constructor(\r\n @Inject(ConfiguratorUIStore) public confUIStore: ConfiguratorUIStore,\r\n @Inject(ConfPageSessionService) public confPageSession: ConfPageSessionService,\r\n @Inject(TabAvailabilityService) public tabAvailableService: TabAvailabilityService,\r\n @Inject(VisualObjectNavigatorService) public visualObjectNavigatorService: VisualObjectNavigatorService, \r\n public cd: ChangeDetectorRef) {\r\n super(confUIStore, cd, tabAvailableService);\r\n }\r\n \r\n @Input()\r\n public tabs: Tab[];\r\n \r\n @Input()\r\n public selectedTabId: number;\r\n\r\n @Input()\r\n public keepAllTabsOpen: boolean = false;\r\n\r\n @Input()\r\n public configurationId: number;\r\n\r\n public tabDisplayStyle = TabDisplayStyle;\r\n\r\n @Output() public selected: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n public accordionComposite = new EventEmitter();\r\n\r\n ngOnInit() {\r\n\r\n this.keepAllTabsOpen = this.uiSettings.configurator.tab.keepAccordionTabsOpen;\r\n\r\n\r\n this.emitterService.getMessage().subscribe((info: IEmitDataInfo) => {\r\n\r\n if (info.id == PopupIdentifiers.AccordionCompositeShowDetail) {\r\n\r\n this.accordionComposite.emit();\r\n\r\n if (this.tabs.length > 0) {\r\n this.activateTab(this.tabs[0]); // Make first tab opened when opening the child configuration.\r\n }\r\n\r\n }\r\n\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n if (!this.selectedTabId)\r\n this.selectedTabId = this.tabs[0].longId;\r\n\r\n // No need to set to false because the contents are already available.\r\n this.domReady = true;\r\n }\r\n\r\n onSelectedTabId(id: number) {\r\n this.selectedTabId = id;\r\n\r\n this.selected.emit({ id: \"\"+id } as TabModel);\r\n this.visualObjectNavigatorService.sendMessage(id);\r\n }\r\n\r\n get pageId(): number {\r\n return this.confPageSession.pageId;\r\n }\r\n\r\n public activateTab(tab: Tab) {\r\n\r\n if (this.tabs.findIndex(x => x.longId == tab.longId) > -1)\r\n this.selectedTabId = tab.longId;\r\n\r\n }\r\n\r\n public trackTab(index: number, tab: Tab): any {\r\n return tab.longId;\r\n }\r\n\r\n}"," 0 && domReady\"\r\n [openFirst]=\"selectedTabId == null\"\r\n classes=\"accordion\">\r\n 1 && t.displayStyle != tabDisplayStyle.AccordionHeaderTab\"\r\n [icon]=\"t.iconRelativeUrl\"\r\n (onOpen)=\"onSelectedTabId(t.longId)\"\r\n (onClose)=\"onSelectedTabId(null)\"\r\n >\r\n \r\n \r\n\r\n\r\n 0 && domReady\"\r\n [openFirst]=\"selectedTabId == null\"\r\n classes=\"accordion\">\r\n \r\n \r\n \r\n","import { Component, Inject, Input, ChangeDetectorRef } from \"@angular/core\";\r\nimport { Tab } from \"../../../shared/models\";\r\nimport { SeparatedTabUIData, StickableUIData } from \"../../../shared/state\";\r\nimport { ConfiguratorUIStore, ConfPageSessionService, PopupIdentifiers } from \"../../providers\";\r\nimport { StickableSideBarComponent } from \"../../shared/stickableSideBarComponent\";\r\nimport { IEmitDataInfo } from \"../../shared/emitterService\";\r\nimport { GlobalServiceLocator } from \"../../../../shared/providers/globalServiceLocator\";\r\nimport { ProductDataStore } from \"../../../shared/providers/productData/productDataStore\";\r\n\r\n\r\n@Component({\r\n selector: 'floated-separated-tabs',\r\n templateUrl: './floatedSeparatedTabsComponent.html'\r\n})\r\nexport class FloatedSeparatedTabsComponent extends StickableSideBarComponent {\r\n \r\n @Input()\r\n public floatedTabs: Tab[];\r\n public activeTab: Tab;\r\n public floatedWidth: number;\r\n \r\n // TODO: Read the visiblity from separatedUITab state.\r\n public visible: boolean = false;\r\n \r\n constructor(\r\n @Inject(ConfiguratorUIStore) public confUIStore: ConfiguratorUIStore,\r\n @Inject(ConfPageSessionService) public storeSession: ConfPageSessionService,\r\n public cdr: ChangeDetectorRef) {\r\n super(confUIStore, storeSession);\r\n }\r\n\r\n ngOnInit() {\r\n\r\n // Listen the messages from popups e.g Mandatory, ReadOnlyPopup which can trigger the tab-change\r\n this.emitterService.getMessage().subscribe((info: IEmitDataInfo) => {\r\n\r\n if (info.id == PopupIdentifiers.ChangeSelectedTab && info.tag && !this.ui.calcSticky) {\r\n\r\n // Product store service\r\n let productStore = GlobalServiceLocator.injector.get(ProductDataStore)\r\n\r\n // Grab the tab from store.\r\n const tabId = Number(info.tag);\r\n let tab: Tab = productStore.getEntity(tabId);\r\n\r\n if (!tab)\r\n return;\r\n\r\n // Notify to corresponding tabs container.\r\n this.activateTab(tab);\r\n }\r\n\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n super.ngOnInit();\r\n }\r\n\r\n public activateTab(tab: Tab) {\r\n let foundTab = this.floatedTabs.find(x => x.longId == tab.longId)\r\n if (foundTab != null) {\r\n this.toggleVisibility({ tag: foundTab });\r\n }\r\n else\r\n this.closeSeparatedTab(null);\r\n }\r\n\r\n /**\r\n * Updates the accordion visibility.\r\n * @param visible\r\n */\r\n updateVisibility(visible: boolean): void {\r\n this.visible = visible;\r\n }\r\n\r\n /**\r\n * Updates the sticky option set by the user.\r\n * @param userSticky\r\n */\r\n updateUserSticky(userSticky: boolean): void {\r\n\r\n }\r\n\r\n public trackTab(index: number, tab: Tab): any {\r\n return tab.longId;\r\n }\r\n\r\n // Returns corresponding UI State. \r\n get uiState(): StickableUIData {\r\n return new SeparatedTabUIData();\r\n }\r\n\r\n /**\r\n * Toggles the visibility\r\n */\r\n public toggleVisibility(event): void {\r\n\r\n if (event.tag)\r\n {\r\n this.visible = true;\r\n this.activeTab = event.tag as Tab;\r\n this.toggleTo(true);\r\n this.cdr.markForCheck();\r\n }\r\n\r\n }\r\n\r\n closeSeparatedTab(event): void {\r\n this.visible = false;\r\n this.toggleTo(false);\r\n }\r\n\r\n public handleTitle(tab: Tab): string {\r\n\r\n const title: string = tab.handleTitle && tab.handleTitle.length > 0 ? tab.handleTitle : tab.title;\r\n const limit: number = 10;\r\n\r\n return title.length > limit ? title.substr(0, limit - 3) + \"...\" : title;\r\n }\r\n \r\n}","\r\n \r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n \r\n \r\n\r\n","export * from './tabAvailabilityService';\r\nexport * from './normalTabsContainerComponent';\r\nexport * from './separatedTabComponent';\r\nexport * from './floatedSeparatedTabsComponent';\r\nexport * from './tabsManagerComponent'; \r\nexport * from './accordionTabsComponent';\r\nexport * from './accordionConfigurationsTreeComponent';\r\nexport * from './accordionCompositeParams';\r\n","import { Component, ChangeDetectorRef, Inject, Input, ChangeDetectionStrategy, ElementRef, Output, EventEmitter } from \"@angular/core\";\r\nimport { BaseComponent, UIComponent } from \"../../../shared\";\r\nimport { ManagedSubscription } from \"../../../../shared\";\r\nimport { ConfiguratorUIStore, ConfiguratorStore, ConfPageSessionService, PopupIdentifiers, ConfRouteParams } from \"../../providers\";\r\nimport { ProductDataStore } from \"../../../shared/providers/productData\";\r\nimport { TabVisibilityService, IEmitDataInfo } from \"../../shared\";\r\nimport { RouteRedirector } from \"../../../shared/providers\";\r\nimport { NotificationService } from \"../../../../shared/components\";\r\nimport { Tab, RequestViews, Product, Conf } from \"../../../shared/models\";\r\nimport { PageUIStore } from \"../../../shared/providers/page\";\r\nimport { AccordionCompositeParams } from \"./accordionCompositeParams\";\r\nimport { TabContainerComponent } from \"./tabContainerComponent\";\r\nimport { TabAvailabilityService } from \".\";\r\n\r\n@Component({\r\n selector: 'nested-accordion-tabs',\r\n templateUrl: './nestedAccordionTabsComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class NestedAccordionTabsComponent extends TabContainerComponent {\r\n\r\n @Input()\r\n public tabs: Tab[] = [];\r\n\r\n @Input()\r\n public containerId: string;\r\n\r\n @Input()\r\n public selectedTabId: number;\r\n\r\n @Input()\r\n public configurationId: number;\r\n\r\n @Output() public selected: EventEmitter = new EventEmitter();\r\n\r\n public accordionCompositeMode: boolean = false;\r\n\r\n public accordionOpener: boolean = true;\r\n\r\n public accordionTabsWidth: string;\r\n\r\n public showOverlay: boolean = false;\r\n public showAccordionTabs: boolean = false;\r\n public subConfigurationTabs: Tab[] = [];\r\n public activeSubConfigurationId: number;\r\n public subConfTitle: string;\r\n\r\n public selectedSubTabId: number;\r\n\r\n // selectedTreeNodeId can be different than activeSubConfigurationId, e.g If root node is selected then activeSubConfiguration would be null and\r\n // selectedTreeNodeId would refer to root node.\r\n public selectedTreeNodeId: number;\r\n protected messageSubscription: ManagedSubscription;\r\n\r\n constructor(\r\n @Inject(ConfiguratorUIStore) public confUIStore: ConfiguratorUIStore,\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ProductDataStore) public productDataStore: ProductDataStore,\r\n @Inject(TabVisibilityService) public tabVisibilityService: TabVisibilityService,\r\n @Inject(ConfPageSessionService) public storeSession: ConfPageSessionService,\r\n @Inject(RouteRedirector) public routeRedirector: RouteRedirector, \r\n @Inject(NotificationService) public notificationService: NotificationService,\r\n @Inject(PageUIStore) public pageUIStore: PageUIStore,\r\n public tabAvailableService: TabAvailabilityService,\r\n public cd: ChangeDetectorRef,\r\n private ref: ElementRef\r\n ) {\r\n super(confUIStore, cd, tabAvailableService);\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n //this.confStore.onActiveConfChange((confId: number) => { this.configurationId = confId; });\r\n this.configurationId = this.storeSession.activeConfigurationId;\r\n\r\n const conf: Conf = this.storeSession.activeConfiguration;\r\n this.showAccordionTabs = this.confStore.getConfInfo(conf.rootId, this.storeSession.confSessionId).showChildrenInAccordionTabs;\r\n\r\n // Select the active configuration tree node.\r\n let routSubConfId: number = +this.routeRedirector.searchRouteParam(ConfRouteParams.SUB_CONF_ID);\r\n this.selectedTreeNodeId = routSubConfId ? routSubConfId : this.storeSession.activeConfigurationId;\r\n\r\n this.accordionCompositeMode = !!routSubConfId;\r\n\r\n // If page is reloaded and route contains sub active configuration, then show it.\r\n if (routSubConfId) {\r\n this.showSubConfigurationDetail(>{\r\n id: PopupIdentifiers.AccordionCompositeShowDetail,\r\n tag: new AccordionCompositeParams(routSubConfId, false)\r\n });\r\n }\r\n\r\n this.messageSubscription = this.emitterService.getMessage().subscribe((info: IEmitDataInfo) => {\r\n\r\n switch (info.id) {\r\n case PopupIdentifiers.AccordionCompositeShowDetail:\r\n // If root configuration in ManadatoryPopup is clicked, then remove the sub configuration detail.\r\n if (+info.tag.confId == this.storeSession.activeConfigurationId) {\r\n\r\n this.showOverlay = false;\r\n this.activeSubConfigurationId = null;\r\n this.selectedTreeNodeId = +info.tag.confId;\r\n this.confUIStore.setSubConfId(null);\r\n this.routeRedirector.changeParamValue(ConfRouteParams.SUB_CONF_ID, null);\r\n this.cd.markForCheck();\r\n }\r\n else {\r\n this.showSubConfigurationDetail(info);\r\n }\r\n\r\n break;\r\n\r\n case PopupIdentifiers.AccordionCompositeHideDetail:\r\n this.showOverlay = false;\r\n this.activeSubConfigurationId = null;\r\n\r\n // Push message can omit to set the confid.\r\n if (info.tag.confId)\r\n this.selectedTreeNodeId = +info.tag.confId;\r\n else\r\n this.selectedTreeNodeId = this.storeSession.activeConfigurationId;\r\n\r\n this.confUIStore.setSubConfId(null);\r\n this.routeRedirector.changeParamValue(ConfRouteParams.SUB_CONF_ID, null);\r\n // Load configuration on sub configuration close.\r\n this.confStore.loadConf(this.storeSession.activeConfigurationId, this.storeSession.confSessionId, RequestViews.Editor, this.confUIStore.isMandatoryOpened);\r\n this.cd.markForCheck();\r\n break;\r\n\r\n case PopupIdentifiers.ChangeSelectedTab:\r\n\r\n let subTab = this.subConfigurationTabs?.find(x => x.longId == +info.tag.confId)\r\n if (subTab)\r\n this.selectedSubTabId = subTab.longId;\r\n break;\r\n\r\n }\r\n });\r\n\r\n this.confStore.onConfigurationChange(this.configurationId, this.storeSession.confSessionId, (conf: Conf) => {\r\n\r\n this.updateTabs(false); \r\n\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n super.ngOnInit();\r\n }\r\n\r\n updateTabs(reload: boolean) {\r\n\r\n let subConfProductId: number = this.confStore.getConfInfo(this.activeSubConfigurationId, this.storeSession.confSessionId)?.productId;\r\n if (!subConfProductId)\r\n return;\r\n\r\n this.productDataStore.getTabs(subConfProductId).subscribe(response => {\r\n\r\n let tabs: Tab[] = response.data;\r\n\r\n let reloadConf = () => {\r\n\r\n this.confStore.loadConf(this.activeSubConfigurationId, this.storeSession.confSessionId, RequestViews.Editor, this.confUIStore.isMandatoryOpened).then(response => {\r\n this.setSubConfigurationDetail(tabs);\r\n });\r\n\r\n }\r\n\r\n if (reload)\r\n reloadConf();\r\n\r\n let subConfiguration: Conf = this.confStore.getConf(this.activeSubConfigurationId, this.storeSession.confSessionId);\r\n if (subConfiguration) {\r\n this.setSubConfigurationDetail(tabs);\r\n }\r\n else reloadConf();\r\n \r\n this.showOverlay = true;\r\n this.cd.detectChanges();\r\n });\r\n }\r\n\r\n showSubConfigurationDetail(info: IEmitDataInfo) {\r\n\r\n this.accordionCompositeMode = true;\r\n this.subConfigurationTabs = [];\r\n this.activeSubConfigurationId = info.tag.confId;\r\n this.selectedTreeNodeId = this.activeSubConfigurationId;\r\n\r\n // Add sub configuration id in confRouteParams.\r\n this.confUIStore.setSubConfId(this.activeSubConfigurationId);\r\n\r\n let confInfo = this.confStore.getConfInfo(this.activeSubConfigurationId, this.storeSession.confSessionId);\r\n // As exception is thrown from server, it is not needed to handle it here.\r\n if (confInfo == null)\r\n return;\r\n\r\n this.updateTabs(info.tag.reload);\r\n }\r\n\r\n setSubConfigurationDetail(tabs: Tab[]) {\r\n\r\n let subConfiguration: Conf = this.confStore.getConf(this.activeSubConfigurationId, this.storeSession.confSessionId);\r\n if (!subConfiguration)\r\n return;\r\n\r\n let confInfo = this.confStore.getConfInfo(this.activeSubConfigurationId, this.storeSession.confSessionId);\r\n this.subConfTitle = confInfo.text;\r\n\r\n this.subConfigurationTabs = [];\r\n tabs.forEach(tab => {\r\n\r\n if (this.tabVisibilityService.isVisible(tab, subConfiguration))\r\n this.subConfigurationTabs.push(tab);\r\n\r\n });\r\n\r\n this.cd.markForCheck();\r\n }\r\n\r\n onConfigurationNodeSelect(event): void {\r\n this.showOverlay = false;\r\n /*this.selectedTreeNodeId = +event.tag; // Set the selected node id.*/\r\n this.routeRedirector.changeParamValue(ConfRouteParams.SUB_CONF_ID, null);\r\n event.preventDefault();\r\n }\r\n\r\n get pageId(): number {\r\n return this.storeSession.pageId;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.messageSubscription.unsubscribe();\r\n super.ngOnDestroy();\r\n }\r\n\r\n public activateTab(tab: Tab) {\r\n \r\n }\r\n\r\n onAccordionComposite(event) {\r\n this.accordionCompositeMode = true;\r\n }\r\n\r\n}","\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n 0\">\r\n \r\n \r\n \r\n\r\n","import { ChangeDetectorRef, Component, Inject, Input, SimpleChanges, ChangeDetectionStrategy } from \"@angular/core\";\r\nimport { TabModel } from \"../../../../shared/components/tab\";\r\nimport { Tab } from \"../../../shared/models\";\r\nimport { ProductDataStore } from \"../../../shared/providers/productData\";\r\nimport { PageUIData } from \"../../../shared/state\";\r\nimport { ConfigurationSessionManager, ConfiguratorUIStore, ConfPageSessionService } from \"../../providers\";\r\nimport { TabAvailabilityService } from \"./tabAvailabilityService\";\r\nimport { TabContainerComponent } from \"./tabContainerComponent\";\r\nimport { TabDisplayStyle } from \"../../../shared/providers/tabDisplayStyle\";\r\n\r\n\r\n@Component({\r\n selector: 'normal-tabs',\r\n templateUrl: './normalTabsContainerComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class NormalTabsContainerComponent extends TabContainerComponent {\r\n \r\n @Input()\r\n tabs: Tab[] = [];\r\n\r\n tabModels: TabModel[] = [];\r\n\r\n @Input()\r\n public mobileMode: boolean = false; // In mobile mode, we switch the normal tabs to accordion.\r\n\r\n public configurationId: number;\r\n\r\n selectedTabId: number;\r\n\r\n public tabDisplayStyle = TabDisplayStyle;\r\n\r\n activeTab: Tab;\r\n\r\n constructor(\r\n @Inject(ConfiguratorUIStore) public confUIStore: ConfiguratorUIStore,\r\n @Inject(ConfPageSessionService) public confPageSession: ConfPageSessionService,\r\n @Inject(ProductDataStore) public productDataStore: ProductDataStore,\r\n @Inject(ChangeDetectorRef) public cd: ChangeDetectorRef,\r\n public tabAvailableService: TabAvailabilityService,\r\n @Inject(ConfigurationSessionManager) public configurationSessionManager: ConfigurationSessionManager) {\r\n\r\n super(confUIStore, cd, tabAvailableService);\r\n }\r\n\r\n ngOnInit() { \r\n this.configurationId = this.confPageSession.activeConfigurationId;\r\n // Set the remembered tab.\r\n if (this.tabs.findIndex(x => x.longId == this.confUIStore.selectedTabId) > -1) { \r\n this.setActiveOrDefaultTab(this.confUIStore.selectedTabId);\r\n }\r\n else this.setActiveOrDefaultTab(this.tabs[0].longId);\r\n\r\n super.ngOnInit();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['tabs']) {\r\n this.setTabUIModels(); \r\n this.setActiveOrDefaultTab(+this.selectedTabId);\r\n } \r\n }\r\n\r\n setTabUIModels(): void {\r\n\r\n this.tabModels = [];\r\n this.tabs.forEach(x => {\r\n\r\n this.tabModels.push({\r\n id: x.longId.toString(),\r\n icon: x.iconRelativeUrl,\r\n title: x.title\r\n });\r\n\r\n });\r\n }\r\n\r\n public trackTab(index: number, tab: Tab): any {\r\n return tab.longId;\r\n }\r\n\r\n get pageId(): number {\r\n return this.confPageSession.pageId;\r\n }\r\n\r\n onUIDataChange(uiData: PageUIData): void {\r\n\r\n }\r\n\r\n public selectedTab(model: TabModel): void {\r\n // Remember the selected tabId.\r\n this.confUIStore.selectedTabId = +model.id;\r\n this.setActiveOrDefaultTab(+model.id);\r\n }\r\n\r\n public onAccordionOpen(tabId: number) {\r\n this.setActiveOrDefaultTab(tabId);\r\n this.cd.markForCheck();\r\n }\r\n\r\n\r\n /**\r\n * Sets the active tab, if matching tab.longId is not found then It sets the first \r\n * @param id\r\n */\r\n setActiveOrDefaultTab(id: number): void {\r\n let result = this.tabs.filter(x => x.longId == id);\r\n this.activeTab = result.length > 0 ? result[0] : this.mobileMode ? null : this.tabs[0];\r\n this.selectedTabId = this.activeTab?.longId;\r\n this.domReady = true;\r\n this.cd.markForCheck();\r\n }\r\n\r\n\r\n public activateTab(tab: Tab) {\r\n\r\n if (this.tabs.findIndex(x => x.longId == tab.longId) > -1)\r\n this.setActiveOrDefaultTab(tab.longId);\r\n\r\n }\r\n\r\n}","
0\" class=\"px-0 h-100 \">\r\n
\r\n \r\n 0\" [tabModels]=\"tabModels\" \r\n [defaultSelectedTabId]=\"activeTab.longId\"\r\n (selected)=\"selectedTab($event)\">\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n
\r\n
","import { ChangeDetectorRef, Component, EventEmitter, Inject, Input, Output, ChangeDetectionStrategy } from \"@angular/core\";\r\nimport { Tab } from \"../../../shared/models\";\r\nimport { ConfiguratorUIStore, ConfPageSessionService } from \"../../providers\";\r\nimport { TabAvailabilityService } from \"./tabAvailabilityService\";\r\nimport { TabContainerComponent } from \"./tabContainerComponent\";\r\n\r\nlet TabPosition = {\r\n Left: 'left',\r\n Right: 'right',\r\n Top: 'top',\r\n Bottom: 'bottom'\r\n}\r\n\r\n@Component({\r\n selector: 'separated-tab',\r\n templateUrl: './separatedTabComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SeparatedTabComponent extends TabContainerComponent {\r\n \r\n @Input() public position: string = TabPosition.Right;\r\n @Input() public tab: Tab;\r\n @Input() public minHeight: string;\r\n @Input() public maxWidth: string;\r\n @Input() public scrollbar: boolean = false;\r\n @Input() public configurationId: number;\r\n \r\n @Input()\r\n public showClose: boolean = false;\r\n\r\n public extraStyles: string = \"\";\r\n public isIE: boolean = false;\r\n\r\n @Output()\r\n public onClose = new EventEmitter();\r\n\r\n constructor(\r\n @Inject(ConfiguratorUIStore) public confUIStore: ConfiguratorUIStore,\r\n @Inject(ConfPageSessionService) public confPageSession: ConfPageSessionService, \r\n public tabAvailableService: TabAvailabilityService,\r\n public cd: ChangeDetectorRef) {\r\n super(confUIStore, cd, tabAvailableService);\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n super.ngOnInit();\r\n this.confUIStore.onActiveConfChange(this.confPageSession.pageId, (confId: number) => { this.configurationId = confId; }).unsubscribeOn(this.unsubscribeSubject);\r\n this.isIE = this.browserInfo.isIE;\r\n if (this.isIE)\r\n this.extraStyles = 'tab-body-ie';\r\n \r\n }\r\n\r\n\r\n get pageId(): number {\r\n return this.confPageSession.pageId;\r\n }\r\n\r\n public activateTab(tab: Tab) {\r\n\r\n // Do nothing\r\n\r\n }\r\n}","
\r\n
\r\n
\r\n \r\n {{tab.title}}\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
","import { Injectable } from \"@angular/core\";\r\nimport { TabContainerComponent } from \"./tabContainerComponent\";\r\n\r\n\r\n/** It keeps the tab contents in waiting untill all tabs/areas are calculated. **/\r\n@Injectable()\r\nexport class TabAvailabilityService {\r\n\r\n private readyStatus: Map = new Map();\r\n private containers: Array = new Array(); \r\n\r\n public addContainerId(id: string): void {\r\n\r\n for (let c of this.containers)\r\n // If id already exists It means container is alive, don't need to add it again.\r\n if (c.containerId == id)\r\n return;\r\n\r\n this.readyStatus.set(id, false);\r\n }\r\n \r\n notifyToAllIfSatisfy(): void {\r\n\r\n // All containers are not added yet, wait for next requests.\r\n let array = Array.from(this.readyStatus.values());\r\n if (!array.every(value => value))\r\n return;\r\n \r\n this.containers.forEach(x => x.ready());\r\n \r\n }\r\n\r\n onViewReady(container: TabContainerComponent): void {\r\n this.containers.push(container);\r\n this.readyStatus.set(String(container.containerId), true);\r\n this.notifyToAllIfSatisfy();\r\n }\r\n\r\n //destroy(): void { \r\n // this.containers = [];\r\n //}\r\n\r\n onDestroy(container: TabContainerComponent): void {\r\n\r\n let newMap = new Map();\r\n Array.from(this.readyStatus.keys()).forEach(\r\n key =>\r\n {\r\n\r\n if (container.containerId != key)\r\n newMap.set(key, this.readyStatus.get(key))\r\n\r\n });\r\n\r\n this.readyStatus = newMap;\r\n this.containers = this.containers.filter(x => x != container);\r\n\r\n }\r\n\r\n}","import { Input, ChangeDetectorRef, Component } from \"@angular/core\";\r\nimport { UIComponent } from \"../../../shared\";\r\nimport { Tab } from \"../../../shared/models\";\r\nimport { GlobalServiceLocator } from \"../../../../shared/providers/globalServiceLocator\";\r\nimport { ConfiguratorUIStore, PopupIdentifiers } from \"../../providers\";\r\nimport { TabAvailabilityService } from \"./tabAvailabilityService\";\r\nimport { IEmitDataInfo } from \"../../shared\";\r\nimport { ProductDataStore } from \"../../../shared/providers/productData\";\r\n\r\n@Component({ template: '' })\r\nexport abstract class TabContainerComponent extends UIComponent {\r\n\r\n public domReady: boolean = false;\r\n\r\n @Input()\r\n public containerId: string;\r\n \r\n constructor(public confUIStore: ConfiguratorUIStore, public cd: ChangeDetectorRef, public tabAvailableService: TabAvailabilityService) {\r\n super(confUIStore);\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.tabAvailableService.onViewReady(this);\r\n super.ngAfterViewInit();\r\n }\r\n\r\n ngOnInit() {\r\n\r\n // Listen the messages from popups e.g Mandatory, ReadOnlyPopup which can trigger the tab-change\r\n this.emitterService.getMessage().subscribe((info: IEmitDataInfo) => {\r\n\r\n if (info.id == PopupIdentifiers.ChangeSelectedTab && info.tag) {\r\n\r\n // Product store service\r\n let productStore = GlobalServiceLocator.injector.get(ProductDataStore)\r\n\r\n // Grab the tab from store.\r\n const tabId = Number(info.tag);\r\n let tab: Tab = productStore.getEntity(tabId);\r\n\r\n if (!tab)\r\n return;\r\n\r\n // Notify to corresponding tabs container.\r\n this.activateTab(tab);\r\n \r\n\r\n }\r\n\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n super.ngOnInit();\r\n }\r\n\r\n public ready(): void {\r\n this.domReady = true;\r\n this.cd.detectChanges();\r\n }\r\n\r\n public abstract activateTab(tab: Tab);\r\n\r\n\r\n ngOnDestroy(): void {\r\n\r\n this.tabAvailableService.onDestroy(this);\r\n super.ngOnDestroy();\r\n }\r\n\r\n}","import { ChangeDetectorRef, Component, HostListener, Inject, ChangeDetectionStrategy } from \"@angular/core\";\r\nimport { BreakPointAccessor, Breakpoints } from \"../../../../shared/utils\";\r\nimport { UIComponent } from \"../../../shared\";\r\nimport { Conf, Product, Tab, SeparatedTabPosition } from \"../../../shared/models\";\r\nimport { TabDisplayStyle } from \"../../../shared/providers\";\r\nimport { ProductDataStore } from \"../../../shared/providers/productData\";\r\nimport { PageUIData } from \"../../../shared/state\";\r\nimport { ConfiguratorLayoutManager, ConfiguratorStore, ConfiguratorUIStore, ConfPageSessionService } from \"../../providers\";\r\nimport { TabVisibilityService } from \"../../shared/tabVisibilityService\";\r\nimport { VisualObjectNavigatorService } from \"../../shared/visualObjectNavigatorService\";\r\nimport { TabAvailabilityService } from \"./tabAvailabilityService\";\r\nimport { GlobalDataStore } from \"../../../shared/providers/globalData\";\r\n\r\n@Component({\r\n selector: 'tabs-manager',\r\n templateUrl: './tabsManagerComponent.html',\r\n providers: [TabAvailabilityService],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class TabsManagerComponent extends UIComponent {\r\n\r\n public readonly ACCORDION_TABS_LEFT_CONTAINER_ID: string = 'accordionLeftContainer';\r\n public readonly ACCORDION_TABS_RIGHT_CONTAINER_ID: string = 'accordionRightContainer';\r\n public readonly NORMAL_TABS_CONTAINER_ID: string = 'normalContainer';\r\n\r\n public shouldShowSeparatedTabs: boolean = true;\r\n public shouldMergeAccordionTabs: boolean = true;\r\n public shouldMergeLeftAndRightAccordionTabs: boolean = true;\r\n\r\n // White space between two adjacent columns.\r\n gutter: number = 2;\r\n\r\n // Sizes only for separated tabs region.\r\n public topTabsRegionHeight: number = 300; // Default values -> should be retreived through settings.\r\n public bottomTabsRegionHeight: number = 300; // Default values \r\n public leftTabsRegionWidth: number = 400; // Default values \r\n public rightTabsRegionWidth: number = 400; // Default values \r\n\r\n // Layout is divided in three rows. Top, middle and bottom.\r\n public topRegionVisible: boolean = false;\r\n public middleRegionVisible: boolean = false;\r\n public bottomRegionVisible: boolean = false;\r\n\r\n // Expension only applicable in height\r\n public topRegionExpanded: boolean = false;\r\n public middleRegionExpanded: boolean = false;\r\n public bottomRegionExpanded: boolean = false;\r\n\r\n // Tabs\r\n public allTabs: Tab[] = [];\r\n public topTabs: Tab[] = [];\r\n public bottomTabs: Tab[] = [];\r\n public leftTabs: Tab[] = [];\r\n public rightTabs: Tab[] = [];\r\n public accordionTabsLeft: Tab[] = [];\r\n public accordionTabsRight: Tab[] = [];\r\n public normalTabs: Tab[] = [];\r\n public floatedTabs: Tab[] = [];\r\n\r\n public equalColWidthRegionTop: boolean = true; // Equal width for each column in top region ?\r\n public equalColWidthRegionMiddle: boolean = true; // Equal width for each column in middle region ?\r\n public equalColWidthRegionBottom: boolean = true; // Equal width for each column in bottom region ?\r\n\r\n // Active configuration\r\n public configurationId: number;\r\n public selectedAccordionTabLeftId: number;\r\n public selectedAccordionTabRightId: number;\r\n\r\n // Style for row.\r\n fillStyle: CSSStyleDeclaration;\r\n accordionCss: string;\r\n\r\n // Style for general tabs\r\n normalStyleVisible: boolean = true;\r\n\r\n constructor(\r\n private cd: ChangeDetectorRef,\r\n @Inject(ConfiguratorUIStore) public confUIStore: ConfiguratorUIStore,\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ProductDataStore) public productDataStore: ProductDataStore,\r\n @Inject(BreakPointAccessor) public breakPointAccessor: BreakPointAccessor,\r\n @Inject(ConfPageSessionService) public confPageSession: ConfPageSessionService,\r\n @Inject(ConfiguratorLayoutManager) public uiNormalizer: ConfiguratorLayoutManager,\r\n @Inject(VisualObjectNavigatorService) public visualObjectNavigatorService: VisualObjectNavigatorService,\r\n @Inject(TabAvailabilityService) public tabAvailablityService: TabAvailabilityService,\r\n @Inject(TabVisibilityService) public tabVisibilityService: TabVisibilityService,\r\n @Inject(GlobalDataStore) public globalDataStore: GlobalDataStore,\r\n ) {\r\n super(confUIStore);\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.setTabsVisibilty();\r\n this.init();\r\n\r\n this.visualObjectNavigatorService.getAccordionChangeMessage().subscribe((selectedAccordionTabId: number) => {\r\n if (this.accordionTabsLeft.findIndex(x => x.longId == selectedAccordionTabId) > -1)\r\n this.selectedAccordionTabLeftId = selectedAccordionTabId;\r\n else if (this.accordionTabsRight.findIndex(x => x.longId == selectedAccordionTabId) > -1)\r\n this.selectedAccordionTabRightId = selectedAccordionTabId;\r\n\r\n this.cd.markForCheck();\r\n\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n this.confStore.onConfigurationChange(this.configurationId, this.confPageSession.confSessionId, (conf: Conf) => {\r\n \r\n this.init();\r\n\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n super.ngOnInit();\r\n }\r\n\r\n public init(): void {\r\n this.configurationId = this.confPageSession.activeConfigurationId;\r\n this.setupTabs();\r\n this.computeViews();\r\n this.computeHeightForExpandableRegion();\r\n }\r\n\r\n public isTabVisibilityHandled(): boolean {\r\n return false;\r\n }\r\n\r\n public trackTab(index: number, tab: Tab): any {\r\n return tab.longId;\r\n }\r\n\r\n public computeViews(): void {\r\n\r\n // Calculate top region height\r\n if (this.topTabs.length > 0) {\r\n let maxHeight: number = Math.max(...this.topTabs.map(x => x.separatedHeight));\r\n this.topTabsRegionHeight = maxHeight > 0 ? maxHeight : this.topTabsRegionHeight;\r\n }\r\n\r\n // Calculate bottom region height\r\n if (this.bottomTabs.length > 0) {\r\n let maxHeight: number = Math.max(...this.bottomTabs.map(x => x.separatedHeight));\r\n this.bottomTabsRegionHeight = maxHeight > 0 ? maxHeight : this.bottomTabsRegionHeight;\r\n }\r\n\r\n // Calulate visibility\r\n this.topRegionVisible = this.topTabs.length > 0;\r\n this.middleRegionVisible = this.leftTabs.length > 0 || this.normalTabs.length > 0 || this.rightTabs.length > 0;\r\n this.bottomRegionVisible = this.bottomTabs.length > 0;\r\n\r\n // Top & bottom regions must have atleast one auto width to fill the empty area. Otherwise last column would fill it.\r\n // Middle region empty room must be added up to normal-tabs container. If normal tab does not exists then the last column must occupy the empty area.\r\n // If all region's columns contain no width then make their widths equal.\r\n this.equalColWidthRegionTop = this.topTabs.filter(x => x.separatedWidth > 0).length == 0;\r\n this.equalColWidthRegionBottom = this.bottomTabs.filter(x => x.separatedWidth > 0).length == 0;\r\n\r\n // Does middle region contain auto width col ?\r\n // If normal tabs exits in middle region then empty area must be added up to normal tabs.\r\n if (this.normalTabs.length > 0) {\r\n this.equalColWidthRegionMiddle = false;\r\n }\r\n else {\r\n // Auto-width exists in left or right tabs? \r\n this.equalColWidthRegionMiddle = this.leftTabs.filter(x => x.separatedWidth > 0).length == 0 && this.rightTabs.filter(x => x.separatedWidth > 0).length == 0;\r\n }\r\n\r\n }\r\n\r\n public computeHeightForExpandableRegion(): void {\r\n\r\n let topRegionHeight: number = this.topRegionVisible ? this.topTabsRegionHeight : 0;\r\n\r\n let bottomRegionHeight: number = this.bottomRegionVisible ? this.bottomTabsRegionHeight : 0;\r\n\r\n let visibleRegions: number = 0;\r\n visibleRegions += this.topRegionVisible ? 1 : 0;\r\n visibleRegions += this.bottomRegionVisible ? 1 : 0;\r\n visibleRegions += this.middleRegionVisible ? 1 : 0;\r\n\r\n // Calculate the vertical spaces between two adjacent rows. One full gutter is removed because half of the gutter on top & bottom is ignored.\r\n let totalGutterUsed: number = Math.max(0, visibleRegions * this.gutter - this.gutter);\r\n\r\n // As separated tabs height could be fixed height, but normal tabs height is auto. To calculate the auto/dynamic height first accumulate the top and bottom regions and subtract it from 100% to have the right\r\n // room for normal tabs.\r\n let removeHeight: number;\r\n\r\n // Rule ->\r\n // If top or bottom row exists then largest tab height would be the row height.\r\n // Middle/top row takes all available room. If there is only one row visible, then expand it to 100%.\r\n\r\n // Give the periority to middle row -> expand the middle to all available room.\r\n if (this.middleRegionVisible) {\r\n removeHeight = bottomRegionHeight + topRegionHeight + totalGutterUsed;\r\n this.middleRegionExpanded = true;\r\n }\r\n\r\n else if (this.topRegionVisible) {\r\n removeHeight = bottomRegionHeight + totalGutterUsed;\r\n this.topRegionExpanded = true;\r\n }\r\n\r\n else if (this.bottomRegionVisible) {\r\n removeHeight = bottomRegionHeight + totalGutterUsed;\r\n this.bottomRegionExpanded = true;\r\n }\r\n\r\n let expandableRegionalHeight: string = `calc(100% - ${removeHeight}px)`;\r\n\r\n // In case of IE make it big TODO: make better fix\r\n if (this.browserInfo.isIE && !this.browserInfo.isEdge)\r\n this.fillStyle = {\r\n height: expandableRegionalHeight\r\n }\r\n else\r\n this.fillStyle = {\r\n minHeight: expandableRegionalHeight\r\n }\r\n }\r\n\r\n public setupTabs(): void {\r\n\r\n // Load all tabs. \r\n this.allTabs = [];\r\n let product: Product = this.productDataStore.getEntity(this.confPageSession.activeConfiguration.productId)\r\n product.tabs.forEach(tabId => {\r\n let tab: Tab = this.productDataStore.getEntity(tabId);\r\n if (this.isVisible(tab))\r\n this.allTabs.push(tab);\r\n });\r\n this.filterTabs(this.allTabs); \r\n }\r\n\r\n public isVisible(tab: Tab): boolean {\r\n\r\n return this.tabVisibilityService.isVisible(tab, this.confPageSession.activeConfiguration);\r\n }\r\n\r\n public filterTabs(tabs: Tab[]): void {\r\n // Separated tabs\r\n let separatedTabs = tabs.filter(x => x.displayStyle == TabDisplayStyle.Separate);\r\n if (this.shouldShowSeparatedTabs) {\r\n this.floatedTabs = [];\r\n\r\n this.topTabs = separatedTabs.filter(x => x.separatedTabPosition === 'Top');\r\n this.bottomTabs = separatedTabs.filter(x => x.separatedTabPosition === 'Bottom');\r\n this.leftTabs = separatedTabs.filter(x => x.separatedTabPosition === 'Left');\r\n this.rightTabs = separatedTabs.filter(x => x.separatedTabPosition === 'Right');\r\n }\r\n else {\r\n this.floatedTabs = separatedTabs;\r\n\r\n // Clear all but separated\r\n this.topTabs = this.bottomTabs = this.leftTabs = this.rightTabs = [];\r\n }\r\n\r\n // Normal tabs.\r\n this.normalTabs = tabs.filter(x => x.displayStyle == TabDisplayStyle.Normal);\r\n\r\n // In small screens Accordion should be merged with normal tabs.\r\n if (this.shouldMergeAccordionTabs) {\r\n this.accordionTabsLeft = [];\r\n this.accordionTabsRight = [];\r\n this.normalTabs = tabs.filter(x => x.displayStyle == TabDisplayStyle.Normal || x.displayStyle == TabDisplayStyle.Accordion || x.displayStyle == TabDisplayStyle.AccordionHeaderTab || x.displayStyle == TabDisplayStyle.AccordionChildren);\r\n }\r\n else {\r\n this.normalTabs = tabs.filter(x => x.displayStyle == TabDisplayStyle.Normal);\r\n\r\n if (this.shouldMergeLeftAndRightAccordionTabs) {\r\n this.accordionTabsLeft = [];\r\n this.accordionTabsRight = [];\r\n\r\n let accordionTabs = tabs.filter(x => x.displayStyle == TabDisplayStyle.Accordion || x.displayStyle == TabDisplayStyle.AccordionHeaderTab || x.displayStyle == TabDisplayStyle.AccordionChildren);\r\n\r\n if (accordionTabs.some(x => x.separatedTabPosition.toLowerCase() == SeparatedTabPosition.left))\r\n this.accordionTabsLeft = accordionTabs;\r\n else\r\n this.accordionTabsRight = accordionTabs;\r\n }\r\n else {\r\n // Check if there are accordion children tabs with different positions and put them in the default position if so\r\n let overrideAccordionChildrenTabPositions = (tabs.filter(x => x.displayStyle == TabDisplayStyle.AccordionChildren).map(x => x.separatedTabPosition)).filter((x, i, a) => a.indexOf(x) == i).length > 1;\r\n\r\n this.accordionTabsLeft = tabs.filter(x => (x.displayStyle == TabDisplayStyle.Accordion || x.displayStyle == TabDisplayStyle.AccordionHeaderTab || x.displayStyle == TabDisplayStyle.AccordionChildren && !overrideAccordionChildrenTabPositions) && x.separatedTabPosition.toLowerCase() == SeparatedTabPosition.left);\r\n\r\n // Right is default position\r\n this.accordionTabsRight = tabs.filter(x => (x.displayStyle == TabDisplayStyle.Accordion || x.displayStyle == TabDisplayStyle.AccordionHeaderTab || x.displayStyle == TabDisplayStyle.AccordionChildren) &&\r\n (x.separatedTabPosition.toLowerCase() != SeparatedTabPosition.left || x.displayStyle == TabDisplayStyle.AccordionChildren && overrideAccordionChildrenTabPositions));\r\n }\r\n }\r\n\r\n // Add the visible tabs into availability service.\r\n if (this.normalTabs.length > 0)\r\n this.tabAvailablityService.addContainerId(this.NORMAL_TABS_CONTAINER_ID);\r\n\r\n let accordionUI = this.confUIStore.getConfiguratorPageUIState(this.pageId).accordionUI;\r\n if (accordionUI && accordionUI.visible && this.accordionTabsRight.length > 0)\r\n this.tabAvailablityService.addContainerId(this.ACCORDION_TABS_RIGHT_CONTAINER_ID);\r\n\r\n if (accordionUI && accordionUI.visible && this.accordionTabsLeft.length > 0)\r\n this.tabAvailablityService.addContainerId(this.ACCORDION_TABS_LEFT_CONTAINER_ID);\r\n\r\n if (this.shouldShowSeparatedTabs)\r\n separatedTabs.forEach(tab => this.tabAvailablityService.addContainerId(tab.longId.toString()));\r\n\r\n }\r\n\r\n // Temporary code\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event) {\r\n\r\n this.setTabsVisibilty();\r\n this.setupTabs();\r\n this.computeViews();\r\n this.computeHeightForExpandableRegion();\r\n }\r\n\r\n get pageId(): number {\r\n return this.confPageSession.pageId;\r\n }\r\n\r\n onUIDataChange(uiData: PageUIData): void {\r\n \r\n // compare active configuration\r\n if (this.configurationId != this.confPageSession.activeConfigurationId) {\r\n this.configurationId = this.confPageSession.activeConfigurationId;\r\n this.setupTabs();\r\n } \r\n\r\n }\r\n \r\n setTabsVisibilty(): void {\r\n\r\n // Returns the visiblity of separated tabs with respect to window size. If the size gets smaller than the threshold value then contents would be moved to popup.\r\n this.shouldShowSeparatedTabs = window.innerWidth > this.globalDataStore.getGlobalData().globalSettings.separatedTabCollapseAtWindowWidth;\r\n\r\n // At small screens, merge the accordion and normal tab results.\r\n this.shouldMergeAccordionTabs = this.breakPointAccessor.equal(Breakpoints.xs);\r\n\r\n // At md screens, merge left and right accordions.\r\n this.shouldMergeLeftAndRightAccordionTabs = this.breakPointAccessor.equalOrDown(Breakpoints.lg);\r\n }\r\n\r\n\r\n}","
\r\n\r\n \r\n
0\">\r\n \r\n
\r\n\r\n \r\n
\r\n\r\n \r\n
\r\n\r\n \r\n \r\n 0 && t.separatedWidth\"\r\n [scrollbar]=\"t.separatedHeight > 0\"\r\n class=\"col\">\r\n \r\n \r\n
\r\n\r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n 0\"\r\n [containerId]=\"NORMAL_TABS_CONTAINER_ID\"\r\n [tabs]=\"normalTabs\"\r\n [mobileMode]=\"shouldMergeAccordionTabs\"\r\n class=\"col\">\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n
\r\n \r\n 0 && t.separatedWidth\"\r\n class=\"col\"\r\n [scrollbar]=\"t.separatedHeight > 0\">\r\n \r\n
\r\n\r\n
\r\n\r\n \r\n
0\">\r\n \r\n
\r\n\r\n
\r\n\r\n 0\" [floatedTabs]=\"floatedTabs\">","import { Component, Inject, Input, ChangeDetectionStrategy, ChangeDetectorRef } from \"@angular/core\";\r\nimport { Conf, Product, Tab, RequestViews } from \"../../../shared/models\";\r\nimport { ProductDataStore } from \"../../../shared/providers/productData\";\r\nimport { StickableUIData } from \"../../../shared/state\";\r\nimport { ConfiguratorUIStore, ConfPageSessionService, PopupIdentifiers } from \"../../providers\";\r\nimport { StickableSideBarComponent } from \"../../shared/stickableSideBarComponent\";\r\nimport { ManagedSubscription } from \"../../../../shared\";\r\nimport { IEmitDataInfo, TabVisibilityService } from \"../../shared\";\r\nimport { NotificationService, NotificationInfo, NotificationType } from \"../../../../shared/components\";\r\nimport { GlobalServiceLocator } from \"../../../../shared/providers/globalServiceLocator\";\r\nimport { AccordionCompositeParams } from \".\";\r\nimport { ImageSets } from \"../../../../shared/utils\";\r\n\r\n@Component({\r\n selector: 'tabs-sidebar',\r\n templateUrl: './tabsSidebarComponent.html',\r\n changeDetection: ChangeDetectionStrategy.Default\r\n})\r\nexport class TabsSidebarComponent extends StickableSideBarComponent {\r\n\r\n @Input()\r\n public tabs: Tab[] = [];\r\n\r\n @Input()\r\n public containerId: string;\r\n\r\n @Input()\r\n public selectedTabId: number;\r\n\r\n @Input()\r\n public configurationId: number;\r\n\r\n public accordionOpener: boolean = true;\r\n\r\n public accordionTabsWidth: string;\r\n\r\n public showOverlay: boolean = false;\r\n public showAccordionTabs: boolean = false;\r\n public subConfigurationTabs: Tab[] = [];\r\n public activeSubConfigurationId: number;\r\n public subConfTitle: string;\r\n\r\n public imageSet: string;\r\n\r\n // selectedTreeNodeId can be different than activeSubConfigurationId, e.g If root node is selected then activeSubConfiguration would be null and\r\n // selectedTreeNodeId would refer to root node.\r\n public selectedTreeNodeId: number;\r\n\r\n constructor(\r\n @Inject(ConfiguratorUIStore) public confUIStore: ConfiguratorUIStore,\r\n @Inject(ProductDataStore) public productDataStore: ProductDataStore,\r\n @Inject(TabVisibilityService) public tabVisibilityService: TabVisibilityService,\r\n @Inject(ConfPageSessionService) public storeSession: ConfPageSessionService,\r\n @Inject(NotificationService) public notificationService: NotificationService,\r\n public cd: ChangeDetectorRef\r\n ) {\r\n super(confUIStore, storeSession);\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.imageSet = this.getImageSet(ImageSets.SidebarOpener);\r\n\r\n // Note! If accordion configurations mode is activated then accordion's width would be picked up from root configuration. \r\n const conf: Conf = this.storeSession.activeConfiguration;\r\n const product: Product = this.productDataStore.getEntity(conf.productId);\r\n this.accordionTabsWidth = product.accordionTabsWidth ? `${product.accordionTabsWidth}px` : this.uiSettings.configurator.tab.minAccordionTabWidth;\r\n\r\n // Listen the messages from popups e.g Mandatory, ReadOnlyPopup which can trigger the tab-change\r\n this.emitterService.getMessage().subscribe((info: IEmitDataInfo) => {\r\n if (!this.ui.calcSticky) {\r\n if (info.id == PopupIdentifiers.ChangeSelectedTab && info.tag) {\r\n\r\n // Product store service\r\n let productStore = GlobalServiceLocator.injector.get(ProductDataStore)\r\n\r\n // Grab the tab from store.\r\n const tabId = Number(info.tag);\r\n let tab: Tab = productStore.getEntity(tabId);\r\n\r\n if (!tab)\r\n return;\r\n\r\n // Notify to corresponding tabs container.\r\n this.activateTab(tab);\r\n } \r\n else if (!this.uiState.visible && info.id == PopupIdentifiers.AccordionCompositeShowDetail) {\r\n this.updateVisibility(true);\r\n this.cd.markForCheck();\r\n setTimeout(() => {\r\n let confId = +info.tag.confId;\r\n this.emitterService.send(PopupIdentifiers.AccordionCompositeShowDetail, new AccordionCompositeParams(confId, true));\r\n }, 0);\r\n }\r\n }\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n super.ngOnInit();\r\n }\r\n\r\n public activateTab(tab: Tab) {\r\n\r\n if (this.tabs.findIndex(x => x.longId == tab.longId) > -1) {\r\n this.selectedTabId = tab.longId;\r\n this.updateVisibility(true);\r\n }\r\n }\r\n\r\n // Returns the accordion data state.\r\n // Note! Don't use this getter property directly in html template. Its better to use local ui data member instead, otherwise you might have small performance penalty.\r\n get uiState(): StickableUIData {\r\n return this.confUIStore.getConfiguratorPageUIState(this.pageId).accordionUI;\r\n }\r\n\r\n /**\r\n * Updates the accordion visibility.\r\n * @param visible\r\n */\r\n updateVisibility(visible: boolean): void {\r\n this.confUIStore.updateAccordionUIState(this.pageId, this.ui.calcSticky, visible, this.tabs.length);\r\n }\r\n\r\n /**\r\n * Updates the sticky option set by the user.\r\n * @param userSticky\r\n */\r\n updateUserSticky(userSticky: boolean): void {\r\n this.confUIStore.updateAccordionUIState(this.pageId, userSticky, this.ui.visible, this.tabs.length);\r\n }\r\n\r\n updateExtraStyles(): void {\r\n this.moreStyles = this.ui.calcSticky ? \"inline-dock h-100\" : \"inline-floated has-footer\";\r\n }\r\n\r\n}","\r\n \r\n
\r\n 0\"\r\n [tabs]=\"tabs\"\r\n [selectedTabId]=\"selectedTabId\"\r\n [configurationId]=\"configurationId\"\r\n [containerId]=\"containerId\"\r\n >\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n \r\n \r\n \r\n","import { Component, Inject } from \"@angular/core\";\r\nimport { ActivatedRoute, ParamMap, Router } from \"@angular/router\";\r\nimport { BaseComponent } from \"../shared\";\r\nimport { ConfPageSessionService, ConfRouteParams, ConfiguratorLayoutManager, ConfiguratorUIStore, ConfigurationSessionManager, ConfDataResolveResponse, ConfiguratorStore } from \"./providers\";\r\nimport { RouteRedirector, RouteNames } from \"../shared/providers\";\r\nimport { ProductDataStore, ProductDataActionCreator } from \"../shared/providers/productData\";\r\nimport { ConfDataActionCreator } from \"../shared/providers/configurationData\";\r\nimport { PageStore } from \"../shared/providers/page\";\r\nimport { CompositeActionService, CompositeActions } from \"./actions/composite/compositeActionService\";\r\nimport { Product, ConfInfo, ConfDataResponse } from \"../shared/models\";\r\n\r\n@Component({\r\n selector: 'conf-view-redirector',\r\n templateUrl:'./confViewRedirectorComponent.html',\r\n})\r\nexport class ConfViewRedirectorComponent extends BaseComponent {\r\n\r\n constructor(\r\n @Inject(ConfigurationSessionManager) public confSessionManager: ConfigurationSessionManager, \r\n @Inject(Router) public router: Router,\r\n @Inject(ActivatedRoute) public activatedRoute: ActivatedRoute,\r\n @Inject(ConfPageSessionService) public confSessionService: ConfPageSessionService,\r\n @Inject(ConfiguratorUIStore) public confUIStore: ConfiguratorUIStore,\r\n @Inject(ConfiguratorLayoutManager) public uiNormalizer: ConfiguratorLayoutManager,\r\n @Inject(ProductDataStore) public productStore: ProductDataStore,\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(PageStore) public pageStore: PageStore,\r\n @Inject(ProductDataActionCreator) protected productActionCreator: ProductDataActionCreator,\r\n @Inject(ConfDataActionCreator) public confActionCreator: ConfDataActionCreator, \r\n @Inject(CompositeActionService) public compositeAction: CompositeActionService, \r\n @Inject(RouteRedirector) public routeRedirector: RouteRedirector) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n\r\n // If the process is terminated then configuration component would be destroyed and it would set the pageId null.\r\n if (!this.confSessionService.pageId || !this.activatedRoute.snapshot.data || this.activatedRoute.snapshot.data.length == 0)\r\n return;\r\n\r\n let resolvedResponse: ConfDataResolveResponse = this.activatedRoute.snapshot.data[0] as ConfDataResolveResponse;\r\n\r\n let params = new ConfRouteParams();\r\n\r\n let confResponse = resolvedResponse.confData.data as ConfDataResponse;\r\n\r\n let rootConfInfo: ConfInfo = confResponse.confInfos.entities.get(resolvedResponse.conf.rootId);\r\n let subConfId = +this.routeRedirector.readFromRouteUrl(ConfRouteParams.SUB_CONF_ID);\r\n\r\n params.id = resolvedResponse.conf.longId;\r\n params.confSessionId = resolvedResponse.confSessionId;\r\n params.view = resolvedResponse.view;\r\n \r\n if (subConfId)\r\n params.subConfId = subConfId;\r\n\r\n if (rootConfInfo.showChildrenInAccordionTabs && resolvedResponse.conf.longId != rootConfInfo.longId && params.view != RouteNames.Summary) {\r\n\r\n // As requested configuration Id is not root configuration id. \r\n // System redirects to rootId and moves the requested conf id to subConfId.\r\n params.id = rootConfInfo.longId;\r\n params.subConfId = resolvedResponse.conf.longId;\r\n\r\n // TODO: We might need to pass on the query params(extraArgs) from active route.\r\n this.routeRedirector.redirectToDataLoaderComponent(params, {});\r\n return;\r\n\r\n } \r\n\r\n if (resolvedResponse.productData) {\r\n this.productActionCreator.dispatchProductData(resolvedResponse.productData);\r\n }\r\n\r\n if (resolvedResponse.confData) { \r\n this.confActionCreator.dispatchConfData(resolvedResponse.confData);\r\n }\r\n\r\n // Set UI data to store.\r\n this.confUIStore.setConfId(params.id, this.confSessionService.pageId);\r\n this.confUIStore.setPageConfIdentifier(this.confSessionService.pageId, resolvedResponse.conf.longId, resolvedResponse.confSessionId);\r\n this.uiNormalizer.initLayoutSettings(this.confSessionService.activeConfigurationId, this.confSessionService.confSessionId, this.confSessionService.pageId);\r\n\r\n // Active view must be updated to store after data load.\r\n this.pageStore.updateActiveRoute(resolvedResponse.view);\r\n\r\n this.routeRedirector.redirectToConfViewAfterDataLoad(params, { replaceUrl: resolvedResponse.isFirstLoad }).then(x =>\r\n this.compositeAction.send(CompositeActions.NavigationEndedAfterDataLoad));\r\n \r\n }\r\n}","
\r\n
\r\n
\r\n
\r\n
Redirecting
\r\n
\r\n
","import { Host, Component, Inject, ChangeDetectorRef, HostListener, ViewChild } from \"@angular/core\";\r\nimport { Location } from \"@angular/common\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { SubscriptionLike } from \"rxjs\";\r\nimport * as Immutable from 'immutable';\r\nimport { PageComponent } from \"../shared\";\r\nimport { ConfPageSessionService, ConfiguratorUIStore, ConfiguratorStore, ConfRouteParams, ConfiguratorLayoutManager, ConfMessageHandler, ConfMessageProvider, ConfDataMemorizer, PopupIdentifiers, ConfDataResolveResponse } from \"./providers\";\r\nimport { AppStoreSubscriptionManager, RouteRedirector, RouteNames } from \"../shared/providers\";\r\nimport { CompositeTreeDataProvider } from \"./actions/composite/tree/compositeTreeDataProvider\";\r\nimport { ConfiguratorPageUIData, PageUIData } from \"../shared/state\";\r\nimport { ActivatedRoute, Router, ActivationEnd, ResolveEnd, ChildActivationEnd } from \"@angular/router\";\r\nimport { ProductDataStore } from \"../shared/providers/productData\";\r\nimport { ConfInfo, ConfSaveMessage, MandatoryParamsMessage, ConfEmailMessage, User, ConfErrorMessage, SaveErrorReason, RequestViews, ApiException, ConfDataResponse, Product } from \"../shared/models\";\r\nimport { ParameterMandatoryService } from \"./parameters/shared/parameterMandatoryService\";\r\nimport { VisualObjectNavigatorService } from \"./shared/visualObjectNavigatorService\";\r\nimport { NotificationInfo, NotificationService, NotificationType, PopupService } from \"../../shared/components\";\r\nimport { PageActionCreator } from \"../shared/providers/page\";\r\nimport { ManagedSubscription } from \"../../shared/managedSubscription\";\r\nimport { PageStore } from \"../shared/providers/page/pageStore\";\r\nimport { MandatoryPopupComponent } from \"./popups\";\r\nimport { AccountDataStore } from \"../shared/providers/accountData\";\r\nimport { GlobalDataStore } from \"../shared/providers/globalData\";\r\nimport { ExceptionHandler } from \"../shared/providers/exceptionHandler\";\r\nimport { ErrorCodes } from \"../../shared/errorCodes\";\r\nimport { CompositeActionService } from \"./actions/composite/compositeActionService\";\r\nimport { CompositeHelper } from \"./actions/composite/compositeHelper\";\r\nimport { searchUrlQueryParam } from \"../../shared/utils/routeParamsUtils\";\r\nimport { PushMessageStore } from \"../shared/providers/pushMessage\";\r\nimport { SessionStorageService } from \"../shared/providers/sessionStorageService\";\r\n\r\nenum ActivateMandatoryReason {\r\n\r\n MandatoryClick = 'mandatoryClick',\r\n SavedClick = 'savedClick',\r\n SavedAndClosedClick = 'savedAndClosedClick',\r\n AlreadyOpened = 'alreadyOpened',\r\n Other = 'other'\r\n}\r\n\r\n@Component({\r\n selector: 'configurator-view',\r\n templateUrl: './configuratorComponent.html',\r\n providers: [CompositeTreeDataProvider, AppStoreSubscriptionManager, ParameterMandatoryService, VisualObjectNavigatorService]\r\n})\r\nexport class ConfiguratorComponent extends PageComponent {\r\n\r\n public showComposite: boolean = false;\r\n public compositeWidth: number;\r\n public canExitEditor: boolean = false;\r\n public activateMandatoryReason: ActivateMandatoryReason;\r\n\r\n public compositeStyles: string;\r\n public isEditor: boolean = true;\r\n public activeRouteStyle: string = '';\r\n public messageSubscription: ManagedSubscription;\r\n public errorMessageSubscription: ManagedSubscription;\r\n public mandatorySubscription: ManagedSubscription;\r\n public confEmailMessageSubscription: ManagedSubscription;\r\n public popStateSubscription: SubscriptionLike;\r\n public exceptionSubscription: Subscription;\r\n\r\n public isAnonymousMode: boolean = false;\r\n // Allows the configurator to be redirected without being prevented by unsaved changes\r\n protected isRedirectingOnError: boolean = false;\r\n \r\n @ViewChild(MandatoryPopupComponent)\r\n protected mandatoryPopup: MandatoryPopupComponent;\r\n\r\n constructor(@Inject(ActivatedRoute) public activatedRoute: ActivatedRoute,\r\n @Inject(Router) public router: Router,\r\n @Inject(ConfPageSessionService) public confPageSession: ConfPageSessionService,\r\n @Inject(ConfiguratorUIStore) public confUIStore: ConfiguratorUIStore,\r\n @Inject(ConfiguratorStore) public configuratorStore: ConfiguratorStore,\r\n @Inject(PopupService) public popupService: PopupService,\r\n @Inject(ProductDataStore) public productStore: ProductDataStore,\r\n @Inject(RouteRedirector) public routeRedirector: RouteRedirector,\r\n @Inject(ConfMessageProvider) public confMessageProvider: ConfMessageProvider,\r\n @Inject(CompositeTreeDataProvider) public treeDataProvider: CompositeTreeDataProvider,\r\n @Inject(NotificationService) public notificationService: NotificationService,\r\n @Inject(ConfiguratorLayoutManager) public uiNormalizer: ConfiguratorLayoutManager,\r\n @Inject(AppStoreSubscriptionManager) public appStoreSubscriptionManager: AppStoreSubscriptionManager,\r\n @Inject(ChangeDetectorRef) public cd: ChangeDetectorRef,\r\n @Inject(PageActionCreator) public pageActionCreator: PageActionCreator,\r\n @Inject(GlobalDataStore) public globalDataStore: GlobalDataStore,\r\n @Inject(ParameterMandatoryService) public parameterMandatoryService: ParameterMandatoryService,\r\n @Inject(PageStore) public pageStore: PageStore,\r\n @Inject(AccountDataStore) public accountStore: AccountDataStore,\r\n @Inject(SessionStorageService) public sessionStorageService: SessionStorageService,\r\n @Inject(PushMessageStore) public pushMessageStore: PushMessageStore,\r\n public location: Location,\r\n protected exceptionHandler: ExceptionHandler\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n // Set the pageId.\r\n let pageId: number = this.activatedRoute.snapshot.data['pageId'] as number;\r\n this.confPageSession.setPageId(pageId);\r\n \r\n let user: User = this.accountStore.getUser();\r\n this.isAnonymousMode = !user || user.systemAuthorization.hasAnonymousAccess; \r\n this.setActiveView();\r\n this.registerMandatoryMessage();\r\n\r\n // If the page is refreshed and data is not loaded then go to redirector page to load the data.\r\n if (!this.confPageSession.dataLoaded)\r\n this.subscribePageUIChanges();\r\n\r\n this.handleConfiguratorError();\r\n super.ngOnInit();\r\n }\r\n\r\n ngOnDestroy() {\r\n\r\n if (this.exceptionSubscription)\r\n this.exceptionSubscription.unsubscribe();\r\n\r\n if (this.messageSubscription)\r\n this.messageSubscription.unsubscribe();\r\n\r\n if (this.popStateSubscription)\r\n this.popStateSubscription.unsubscribe();\r\n\r\n if (this.mandatorySubscription)\r\n this.mandatorySubscription.unsubscribe();\r\n\r\n if (this.confEmailMessageSubscription)\r\n this.confEmailMessageSubscription.unsubscribe();\r\n\r\n if (this.errorMessageSubscription)\r\n this.errorMessageSubscription.unsubscribe();\r\n\r\n this.appStoreSubscriptionManager.dispose();\r\n \r\n // Close ConfiguratorSession when the user exists the Configurator page\r\n this.configuratorStore.closeConfSession(this.confPageSession.activeConfigurationId, this.confPageSession.confSessionId);\r\n this.confPageSession.dispose();\r\n this.confUIStore.setConfParams(null);\r\n\r\n // reset mandatory info.\r\n this.confUIStore.includeMandatoryInfo = false;\r\n this.confUIStore.isNextStateIncluded = false;\r\n\r\n super.ngOnDestroy();\r\n }\r\n\r\n setActiveView(): void {\r\n\r\n // Read the active view i.e editor/summary.\r\n let firstChild = this.activatedRoute.snapshot.firstChild;\r\n if (firstChild && firstChild.params) {\r\n\r\n this.activeRouteStyle = this.activatedRoute.snapshot.firstChild.params.view;\r\n this.isEditor = this.activeRouteStyle == RequestViews.Editor;\r\n\r\n if (!this.isEditor && this.canExitEditor) {\r\n this.unblockUI();\r\n this.canExitEditor = false;\r\n }\r\n }\r\n\r\n }\r\n\r\n public get canExitConfigurator(): boolean {\r\n\r\n // If user has been logged out then exit is allowed\r\n if (!this.accountStore.isUserLoggedIn())\r\n return true;\r\n\r\n // If data has not been loaded then exit is allowed\r\n if (!this.confPageSession.dataLoaded)\r\n return true;\r\n\r\n // If an error caused redirect away from configurator then exit is allowed\r\n if (this.isRedirectingOnError)\r\n return true;\r\n\r\n // If there are no unsaved changes then exit is allowed\r\n if (!this.configuratorStore.hasUnsavedChanges(this.confPageSession.confSessionId))\r\n return true;\r\n\r\n if (this.pushMessageStore.isRedirecting() || this.pushMessageStore.isRefreshing())\r\n return true;\r\n\r\n return false;\r\n }\r\n\r\n updateUI(): void {\r\n let confUIData: ConfiguratorPageUIData = this.confUIStore.getConfiguratorPageUIState(this.pageId) as ConfiguratorPageUIData;\r\n this.compositeStyles = confUIData.compositeUI.calcSticky ? 'col-auto padding-right h-100' : '';\r\n this.cd.markForCheck();\r\n }\r\n\r\n /**\r\n * Sets the composite visiblity after getting the data ready.\r\n */\r\n subscribePageUIChanges(): void {\r\n\r\n this.confUIStore.onActiveConfChange(this.confPageSession.pageId, (confId: number) => {\r\n\r\n this.setActiveView();\r\n\r\n // Read the global settings and set the visibility status\r\n this.showComposite = this.globalDataStore.getGlobalData().globalSettings.showCompositeSidebar;\r\n if (this.showComposite) {\r\n\r\n // Grab the root conf.\r\n let rootConf: ConfInfo = this.configuratorStore.getConfInfo(this.confPageSession.activeConfiguration.rootId, this.confPageSession.confSessionId);\r\n let hasCompositProducts: boolean = this.productStore.hasCompositeStructure(rootConf.productId);\r\n\r\n // If it is summary page then show the composite if child configurations exist.\r\n this.showComposite = hasCompositProducts || (!this.isEditor && rootConf.children.size > 0);\r\n\r\n }\r\n /*this.updateMandatoryPopup(); */\r\n\r\n // If the view data is loaded then UI nned to be updated\r\n this.updateUI();\r\n this.subscribeConfDataChanges();\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n // Listen the store changes when active route updated there.\r\n this.pageStore.onActiveRouteNameChange((view: string): void => {\r\n if (!view)\r\n return;\r\n\r\n if (!this.isEditor && this.activateMandatoryReason === ActivateMandatoryReason.SavedAndClosedClick || this.isEditor && this.activateMandatoryReason === null) {\r\n\r\n this.activateMandatoryReason = null;\r\n this.popupService.close(PopupIdentifiers.Mandatory);\r\n }\r\n\r\n this.isEditor = view === RouteNames.Editor ? true : false;\r\n this.activeRouteStyle = view;\r\n \r\n // reset mandatory info.\r\n this.confUIStore.includeMandatoryInfo = false; \r\n this.confUIStore.isNextStateIncluded = false;\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n this.confUIStore.onCompositeCalcStickyChange(this.confPageSession.pageId, (calcSticky: boolean): void => {\r\n this.updateUI();\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n }\r\n\r\n subscribeConfDataChanges(): void {\r\n if (this.messageSubscription)\r\n this.messageSubscription.unsubscribe();\r\n\r\n // Save configuration message\r\n this.messageSubscription = this.confMessageProvider.onMessagesRequest(this.confPageSession.confSessionId, ConfSaveMessage.name, {\r\n next: (messages: Immutable.List) => {\r\n\r\n let message: ConfSaveMessage = messages.first();\r\n \r\n this.unblockUI();\r\n\r\n this.notificationService.notify({\r\n title: message.title || message.displayStyle ? message.title : message.success ? this.strings.Success : this.strings.Info,\r\n message: message.message,\r\n type: message.displayStyle ? message.displayStyle : message.success ? NotificationType.Success : NotificationType.Info,\r\n selfClose: true\r\n });\r\n if (message.success) {\r\n this.popupService.close(PopupIdentifiers.AnonymousDialog);\r\n\r\n // Saved successfully -> don't include mandatory info any more.\r\n if (!this.mandatoryPopup.visible && this.confUIStore.includeMandatoryInfo)\r\n this.confUIStore.includeMandatoryInfo = false;\r\n\r\n if (this.canExitEditor) {\r\n\r\n this.blockUI();\r\n\r\n let targetConfId = this.confPageSession.activeConfigurationId;\r\n\r\n // Make a redirect to root configuration if autoSelectRootConf true\r\n if (this.globalDataStore.globalSettings.autoSelectRootConfiguration)\r\n targetConfId = this.confPageSession.activeConfiguration.rootId;\r\n\r\n this.routeRedirector.redirectToSummary({ id: targetConfId, confSessionId: this.confPageSession.confSessionId });\r\n }\r\n }\r\n else {\r\n\r\n switch (message.saveErrorReason) {\r\n\r\n case SaveErrorReason.AnonymousUserEmail:\r\n this.popupService.open(PopupIdentifiers.AnonymousDialog);\r\n break;\r\n\r\n case SaveErrorReason.MandatoryParameters:\r\n this.activateMandatoryReason = ActivateMandatoryReason.SavedClick;\r\n break;\r\n\r\n case SaveErrorReason.Other:\r\n\r\n break;\r\n }\r\n\r\n }\r\n },\r\n listenNewEventsOnly: true\r\n });\r\n\r\n if (this.errorMessageSubscription)\r\n this.errorMessageSubscription.unsubscribe();\r\n\r\n // Configurator error messages\r\n this.errorMessageSubscription = this.confMessageProvider.onMessagesRequest(this.confPageSession.confSessionId, ConfErrorMessage.name, {\r\n next: (messages: Immutable.List) => {\r\n \r\n messages.forEach(confErrorMessage => {\r\n\r\n let detail: string = \"\";\r\n if (confErrorMessage.details && confErrorMessage.details.size > 0)\r\n detail = confErrorMessage.details.join(\"\\n\");\r\n\r\n let rawInfo = confErrorMessage.stackTrace;\r\n\r\n // If the details are empty we will move the stacktrace to the first tab.\r\n if (!detail) {\r\n detail = rawInfo;\r\n rawInfo = null;\r\n }\r\n\r\n this.notificationService.notify({\r\n title: this.strings.Error,\r\n message: confErrorMessage.message,\r\n detail: detail,\r\n rawInfo: rawInfo,\r\n type: NotificationType.Error,\r\n selfClose: false\r\n });\r\n\r\n }); \r\n\r\n },\r\n listenNewEventsOnly: true\r\n });\r\n\r\n this.registerMandatoryMessage();\r\n\r\n if (this.popStateSubscription)\r\n this.popStateSubscription.unsubscribe();\r\n\r\n // Handle back/forward buttons to navigate to the correct configuration.\r\n this.popStateSubscription = this.location.subscribe((popState: PopStateEvent) => {\r\n if (popState.type === \"popstate\" && this.activatedRoute.firstChild && this.activatedRoute.firstChild.snapshot) {\r\n let paramMap: any = (this.activatedRoute.firstChild.snapshot.paramMap as any).params;\r\n\r\n // URL is like \"/configurator/editor;id=15324;confSessionId=1607\"\r\n let url = (popState as any).url as string;\r\n\r\n // Remove the query params if url contains them. They are set to model in different way.\r\n if (url.indexOf('?') > 0) {\r\n url = url.split('?')[0];\r\n }\r\n\r\n let splittedUrl = url ? url.split(\"/\") : null;\r\n if (splittedUrl && splittedUrl.length === 3 && splittedUrl[1] === RouteNames.Configurator) {\r\n // subRoutingUrl is like \"editor;id=15324;confSessionId=1607\"\r\n let subRoutingUrl = splittedUrl[2].split(\";\");\r\n if (subRoutingUrl.length === 3) {\r\n\r\n // Get id and confSessionId.\r\n let newConfParams: ConfRouteParams = { ...JSON.parse('{\"' + subRoutingUrl[1].replace(/=/g, '\":\"') + '\"}'), ...JSON.parse('{\"' + subRoutingUrl[2].replace(/=/g, '\":\"') + '\"}') };\r\n newConfParams.subConfId = +searchUrlQueryParam(ConfRouteParams.SUB_CONF_ID);\r\n\r\n newConfParams.id = parseInt(newConfParams.id as any);\r\n if (newConfParams.id !== this.confPageSession.activeConfigurationId) {\r\n // go to the correct configuration here\r\n\r\n console.log(`redirecting to ${newConfParams.id}, from ${this.confPageSession.activeConfigurationId}`);\r\n\r\n //newConfParams.view = subRoutingUrl[0];\r\n //this.routeRedirector.redirectToConfigurator(newConfParams);\r\n //this.messageSubscription.unsubscribe();\r\n //this.popStateSubscription.unsubscribe();\r\n\r\n // TODO go through the redirector for now.. Should maybe be updated to swap configuration directly? \r\n // this.routeRedirector.redirectToRedirector(`${RouteNames.Configurator}/${subRoutingUrl[0]}`, newConfParams);\r\n }\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n onSave() {\r\n this.canExitEditor = false;\r\n this.saveInternal(); \r\n this.plainBlockUI();\r\n }\r\n\r\n onSaveAndExitEditor() {\r\n this.canExitEditor = true;\r\n this.blockUI();\r\n this.activateMandatoryReason = ActivateMandatoryReason.SavedAndClosedClick;\r\n this.saveInternal();\r\n }\r\n\r\n onModify() {\r\n this.routeRedirector.redirectToEditor({ id: this.confPageSession.activeConfigurationId, confSessionId: this.confPageSession.confSessionId }); \r\n }\r\n\r\n onStartOver() {\r\n\r\n if (this.confPageSession.referralLink) { \r\n this.routeRedirector.redirectToRedirector(this.confPageSession.referralLink, { type: 'new' });\r\n return;\r\n }\r\n\r\n if (!this.confPageSession.activeConfiguration.copiedFromId)\r\n this.routeRedirector.redirectToSelector();\r\n else {\r\n this.routeRedirector.redirectToRedirector(`${RouteNames.Configurator}/${RouteNames.Editor}`, { reuse: this.confPageSession.activeConfiguration.copiedFromId });\r\n }\r\n }\r\n\r\n onCloseConf() { \r\n\r\n let activeConfInfo = this.configuratorStore.getConfInfo(this.confPageSession.activeConfigurationId, this.confPageSession.confSessionId);\r\n\r\n if (activeConfInfo.isNew)\r\n this.routeRedirector.redirectToRedirector(RouteNames.Start);\r\n\r\n else this.routeRedirector.redirectToRedirector(`${RouteNames.Configurator}/${RouteNames.Summary}`, { id: activeConfInfo.longId });\r\n\r\n }\r\n\r\n saveInternal(): void { \r\n this.configuratorStore.saveConfiguration(this.confPageSession.activeConfigurationId, this.confPageSession.confSessionId, this.canExitEditor); \r\n }\r\n\r\n listenForEmailMessage(closeOnSuccess: boolean) {\r\n if (this.confEmailMessageSubscription)\r\n this.confEmailMessageSubscription.unsubscribe();\r\n\r\n this.confEmailMessageSubscription = this.confMessageProvider.onMessagesRequest(this.confPageSession.confSessionId, ConfEmailMessage.name, {\r\n listenNewEventsOnly: true,\r\n startOnDemand: true,\r\n next: (messages) => {\r\n this.confEmailMessageSubscription.unsubscribe();\r\n\r\n let message: ConfEmailMessage = messages.first();\r\n\r\n if (closeOnSuccess && message.success) {\r\n this.popupService.close(PopupIdentifiers.AnonymousDialog);\r\n this.popupService.close(PopupIdentifiers.AnonymousContact);\r\n }\r\n\r\n this.notificationService.notify({\r\n title: message.success ? this.strings.Success : this.strings.Error,\r\n message: message.message,\r\n type: message.success ? NotificationType.Success : NotificationType.Error,\r\n selfClose: true\r\n });\r\n }\r\n });\r\n this.confEmailMessageSubscription.start();\r\n }\r\n\r\n onAnonymousContactClosed($event) {\r\n let fields = $event.fields;\r\n\r\n this.configuratorStore.contact(this.confPageSession.activeConfigurationId, this.confPageSession.confSessionId, fields)\r\n this.listenForEmailMessage(true);\r\n }\r\n\r\n onAnonymousClosed($event) {\r\n let anonymousUserEmail = $event.anonymousUserEmail;\r\n let sendEmail = $event.sendEmail;\r\n let updateEmail = $event.updateEmail; \r\n\r\n this.listenForEmailMessage(true);\r\n\r\n if (this.isEditor) {\r\n this.configuratorStore.saveConfiguration(this.confPageSession.activeConfigurationId, this.confPageSession.confSessionId, this.canExitEditor, anonymousUserEmail, sendEmail, updateEmail);\r\n }\r\n else {\r\n this.configuratorStore.emailConfiguration(this.confPageSession.activeConfigurationId, this.confPageSession.confSessionId, anonymousUserEmail, sendEmail)\r\n }\r\n }\r\n\r\n updateMandatoryPopup(): void {\r\n\r\n if (!this.activateMandatoryReason)\r\n return;\r\n\r\n let activeView = this.isEditor ? RequestViews.Editor : RequestViews.Summary;\r\n\r\n switch(this.activateMandatoryReason) {\r\n\r\n case ActivateMandatoryReason.Other:\r\n\r\n this.confUIStore.isNextStateIncluded = true;\r\n this.configuratorStore.getMandatoryInfo(this.confPageSession.activeConfigurationId, this.confPageSession.confSessionId, true, activeView);\r\n this.activateMandatoryReason = null;\r\n break;\r\n\r\n case ActivateMandatoryReason.MandatoryClick:\r\n\r\n this.confUIStore.isNextStateIncluded = true;\r\n this.configuratorStore.getMandatoryInfo(this.confPageSession.activeConfigurationId, this.confPageSession.confSessionId, true, activeView);\r\n break;\r\n\r\n case ActivateMandatoryReason.SavedClick:\r\n\r\n this.confUIStore.isNextStateIncluded = false;\r\n this.configuratorStore.getMandatoryInfo(this.confPageSession.activeConfigurationId, this.confPageSession.confSessionId, false, activeView);\r\n break;\r\n } \r\n }\r\n\r\n onMandatoryClick(): void { \r\n\r\n this.activateMandatoryReason = ActivateMandatoryReason.MandatoryClick;\r\n this.popupService.open>(PopupIdentifiers.Mandatory, Immutable.List()); \r\n this.updateMandatoryPopup();\r\n \r\n }\r\n\r\n onMandatoryClosed(): void {\r\n this.activateMandatoryReason = null;\r\n }\r\n\r\n // Returns the page identifier.\r\n get pageId(): number {\r\n return this.confPageSession.pageId;\r\n }\r\n\r\n registerMandatoryMessage(): void {\r\n\r\n if (this.mandatorySubscription)\r\n this.mandatorySubscription.unsubscribe();\r\n\r\n // Mandatory message\r\n this.mandatorySubscription = this.confMessageProvider.onMessagesRequest(this.confPageSession.confSessionId, MandatoryParamsMessage.name, {\r\n next: (messages: Immutable.List) => {\r\n\r\n if (messages == null)\r\n messages = Immutable.List();\r\n\r\n if (!(this.activateMandatoryReason && (this.activateMandatoryReason == ActivateMandatoryReason.Other || this.activateMandatoryReason == ActivateMandatoryReason.SavedAndClosedClick))) {\r\n // Store the message response in the service. \r\n // The same service is injected to this configuration's parameters and will be used to check mandatory state.\r\n this.parameterMandatoryService.setMandatoryParamsById(messages, !this.isEditor);\r\n\r\n // Don't display the popup if we're currently highlighting. But show it if the user clicked \"Save\" but had mandatory params.\r\n if (this.activateMandatoryReason || (!this.isEditor && messages.size > 0)) {\r\n if (!this.activateMandatoryReason)\r\n this.activateMandatoryReason = ActivateMandatoryReason.Other;\r\n\r\n // Note! If mandatory popup is already opened then system udpates the existing one.\r\n this.popupService.open>(PopupIdentifiers.Mandatory, messages);\r\n\r\n }\r\n\r\n // Store the isNextStateIncluded from server, and send a message to update the highlighted params.\r\n if (messages.size > 0) {\r\n\r\n let newIsNextStateIncluded = messages.first().isNextStateIncluded;\r\n if (newIsNextStateIncluded != this.confUIStore.isNextStateIncluded) {\r\n // Send message to update highlighting\r\n this.parameterMandatoryService.sendHighlightMessage(this.parameterMandatoryService.isHighlighting);\r\n this.confUIStore.isNextStateIncluded = newIsNextStateIncluded;\r\n }\r\n }\r\n }\r\n },\r\n listenNewEventsOnly: true\r\n }, false);\r\n\r\n }\r\n\r\n // If server returns an error then redirect to start\r\n protected handleConfiguratorError() {\r\n\r\n if (this.exceptionSubscription)\r\n this.exceptionSubscription.unsubscribe();\r\n\r\n this.exceptionSubscription = this.exceptionHandler.onException(exception => {\r\n\r\n if (exception instanceof ApiException) {\r\n\r\n let apiException = exception as ApiException;\r\n if (ErrorCodes.isConfiguratorErrorCode(apiException.code))\r\n {\r\n this.isRedirectingOnError = true;\r\n this.routeRedirector.redirectToStart();\r\n }\r\n }\r\n\r\n }, false);\r\n }\r\n\r\n onBeforeUnload($event, isReload?: boolean) {\r\n\r\n if (isReload)\r\n return;\r\n \r\n // TODO fix translation and add popup\r\n if (!this.canExitConfigurator) {\r\n\r\n // Mark the session for closing, if the user stays on this page then in next request the server will unmark it\r\n // If the user does not stay on this page then the server will discard it later on\r\n this.configuratorStore.markConfSessionForClosing(this.confPageSession.activeConfigurationId, this.confPageSession.confSessionId);\r\n\r\n $event.preventDefault(); \r\n \r\n $event.returnValue = this.strings.UnsavedChangesConfirmation;\r\n return this.strings.UnsavedChangesConfirmation;\r\n }\r\n }\r\n \r\n @HostListener('window:resize', ['$event'])\r\n onResize(event) {\r\n if (this.confPageSession.activeConfigurationId) {\r\n this.uiNormalizer.updateCompositeSettings(this.confPageSession.activeConfigurationId, this.confPageSession.confSessionId, this.confPageSession.pageId);\r\n this.uiNormalizer.setDefaultAccordionSettings(this.confPageSession.pageId, this.confPageSession.activeConfigurationId, this.confPageSession.confSessionId);\r\n }\r\n }\r\n}","
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n Powered by ®COMBINUM\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { ModuleWithProviders } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { AuthGuard, RouteNames } from \"../shared/providers\"\r\nimport { ConfiguratorComponent, EditorViewComponent, ConfViewRedirectorComponent, SummaryViewComponent } from \"./\";\r\nimport { ConfPageIdResolver } from \"./providers/resolvers/confPageIdResolver\";\r\nimport { ConfDataResolver } from \"./providers/resolvers/confDataResolver\";\r\nimport { ConfDataLoadedGuard } from \"./providers/confDataLoadedGuard\";\r\nimport { ConfDataDeactivateGuard } from \"./providers/confDataDeactivateGuard\";\r\nimport { ComparisonComponent, ComparisonResultsResolver } from './comparison';\r\n\r\nexport const ConfiguratorRoutes: Routes = [\r\n {\r\n path: RouteNames.Configurator,\r\n component: ConfiguratorComponent,\r\n canDeactivate: [ConfDataDeactivateGuard],\r\n resolve: { pageId: ConfPageIdResolver },\r\n children: [\r\n {\r\n path: '', redirectTo: RouteNames.Redirector, pathMatch: 'prefix'\r\n },\r\n {\r\n path: RouteNames.Editor, component: EditorViewComponent, canActivate: [ConfDataLoadedGuard]\r\n },\r\n {\r\n path: RouteNames.Redirector, component: ConfViewRedirectorComponent, runGuardsAndResolvers: 'always', resolve: [ConfDataResolver], canActivate: [AuthGuard]\r\n },\r\n {\r\n path: RouteNames.Summary, component: SummaryViewComponent, canActivate: [ConfDataLoadedGuard]\r\n } \r\n ]\r\n }\r\n];","export enum AttributeColumnType {\r\n Title = \"title\",\r\n Value = \"value\",\r\n Unit = \"unit\"\r\n}","import { Component, Inject, ElementRef } from \"@angular/core\";\r\nimport { DataCellView, DataRowView, SizeUtility } from \"../../../../shared/components/shared\";\r\nimport { AttributeDecoration, AttributeDecorationItem, ConfAttributeValue, ConfUIItem, AttributeUISettings } from \"../../../shared/models\";\r\nimport { ConfiguratorStore, ConfPageSessionService } from \"../../providers\";\r\nimport { VisualObjectVisibilityService } from \"../../shared\";\r\nimport { DecorationComponent } from \"../../shared/decorationComponent\";\r\nimport { AttributeColumnType } from \"./attributeColumnType\";\r\nimport { VisualObjectHelper } from \"../../parameters/shared\";\r\n\r\n\r\n@Component({\r\n selector: 'attribute-decoration',\r\n templateUrl: './attributeDecorationComponent.html'\r\n})\r\nexport class AttributeDecorationComponent extends DecorationComponent {\r\n public activeAttributeUISetting: AttributeUISettings;\r\n public attributeSpacing: string;\r\n public attributeStyle: string;\r\n confValueById: Map;\r\n\r\n constructor(\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfPageSessionService) public confPageSessionService: ConfPageSessionService,\r\n @Inject(VisualObjectHelper) public visualObjectHelper: VisualObjectHelper,\r\n public visualObjectVisibilityService: VisualObjectVisibilityService, private ref: ElementRef\r\n ) {\r\n super(confStore, confPageSessionService, visualObjectHelper);\r\n }\r\n\r\n ngOnInit() {\r\n \r\n this.width = this.visualObjectHelper.visualObjectWidth(this.decoration); \r\n super.ngOnInit();\r\n }\r\n\r\n ngAfterViewChecked() {\r\n this.updateActiveAttributeUISetting(); \r\n\r\n let confValueById: Map = this.confStore.getConfValues(this.configuration.longId, this.confSessionId, this.itemIds);\r\n //Object.keys(confValueById).map(key => confValueById.get(+key))\r\n // Set values on load. \r\n this.setValue(confValueById); \r\n }\r\n\r\n updateActiveAttributeUISetting(): void {\r\n\r\n // Percentage width means most likely small screen\r\n let widthAsNumber = SizeUtility.sizeAsNumber(this.width);\r\n let isFullSize = SizeUtility.fullSize(this.width);\r\n\r\n\r\n if (this.ref && this.ref.nativeElement) {\r\n let rect = this.ref.nativeElement.getBoundingClientRect();\r\n\r\n if (isFullSize || widthAsNumber > rect.width)\r\n widthAsNumber = rect.width;\r\n }\r\n\r\n this.activeAttributeUISetting = new AttributeUISettings();\r\n\r\n // Make a shallow copy by using slice method and then reverse the array, If we make direct reverse then It would change the orignal array data.\r\n let attributeuiSettings = this.uiSettings.configurator.decoration.attribute.slice().reverse();\r\n for (let x of attributeuiSettings) {\r\n\r\n let minWdithAsNumber = SizeUtility.sizeAsNumber(x.minWidth);\r\n let maxWdithAsNumber = SizeUtility.sizeAsNumber(x.maxWidth);\r\n\r\n // Condtions to get active UISetting\r\n // 1. decoration width is undefined \r\n // 2. or minWidth of decoration is defined in UISettings but not maxWidth\r\n // 3. or both minWidth, maxWidth are defined. \r\n if (!widthAsNumber || (widthAsNumber >= minWdithAsNumber && !maxWdithAsNumber) || (widthAsNumber >= minWdithAsNumber && widthAsNumber <= maxWdithAsNumber)) {\r\n if (x.decorationIds == null || x.decorationIds.length < 1 || x.decorationIds != null && x.decorationIds.indexOf(this.decoration.longId) > -1) {\r\n this.activeAttributeUISetting = x;\r\n break;\r\n }\r\n }\r\n };\r\n\r\n this.attributeSpacing = this.activeAttributeUISetting.itemVerticalSpacing;\r\n this.attributeStyle = this.activeAttributeUISetting.cssStyle;\r\n }\r\n\r\n setValue(itemValues: Map): void {\r\n\r\n this.rows = [];\r\n\r\n let confUIItem = this.visualObjectVisibilityService.findConfUIItem(this.configuration, this.decoration.longId);\r\n // Decoration\r\n let attrDecoration: AttributeDecoration = this.decoration as AttributeDecoration;\r\n\r\n // Go through all items and see if we need to display title/value/unit. \r\n // It will display only the relevant columns, but if any value has a column then all rows must add it.\r\n let showTitle = false, showValue = false, showUnit = false;\r\n attrDecoration.items.forEach(item => {\r\n\r\n if (this.isHidden(item, confUIItem))\r\n return;\r\n\r\n let confAttrValue: ConfAttributeValue = itemValues.get(+item.attributeId);\r\n\r\n if (confAttrValue == null)\r\n return;\r\n\r\n showTitle = showTitle || confAttrValue.title != null && confAttrValue.title.length > 0;\r\n showUnit = showUnit || confAttrValue.unit != null && confAttrValue.unit.length > 0;\r\n showValue = showValue || confAttrValue.value != null && confAttrValue.value.length > 0;\r\n });\r\n\r\n attrDecoration.items.forEach(item => {\r\n\r\n if (this.isHidden(item, confUIItem))\r\n return;\r\n\r\n let confAttrValue: ConfAttributeValue = itemValues.get(+item.attributeId);\r\n\r\n if (confAttrValue == null)\r\n return;\r\n\r\n // Read formatted value\r\n let value: string = (item.numericFormat && item.numericFormat.length > 0) ? confAttrValue.valueByNumericFormat.get(item.numericFormat) : confAttrValue.value;\r\n\r\n // Create row model\r\n let row: DataRowView = { cells: []};\r\n\r\n // Special case: If title is missing and value type is string then merge three columns.\r\n if (confAttrValue.valueType == \"String\" && value != \"\" && (confAttrValue.title == null || confAttrValue.title == '')) {\r\n\r\n // Fills the entire width\r\n let fillCell: DataCellView = { contents: value, classes: \"text-break\" };\r\n fillCell.tag = AttributeColumnType.Value;\r\n row.cells.push(fillCell);\r\n\r\n // Add row to list.\r\n this.rows.push(row);\r\n\r\n return;\r\n }\r\n\r\n // Add title\r\n if (showTitle) {\r\n\r\n let titleCell: DataCellView = {\r\n contents: confAttrValue.title,\r\n classes: \"title text-break \",\r\n tag: AttributeColumnType.Title\r\n };\r\n\r\n row.cells.push(titleCell);\r\n }\r\n // Add value & unit\r\n if (showValue) {\r\n\r\n // Set the value to empty string if it is undefined, because in I.E it shows null.\r\n if (!value)\r\n value = \"\";\r\n\r\n // Value\r\n let extraPaddingStyle: string = showUnit ? 'pr-2' : ''; // If unit is shown then try to move the value near to unit.\r\n let valueCell: DataCellView = { contents: value, classes: `col-value text-break ${extraPaddingStyle} text-right`, tag: AttributeColumnType.Value }; \r\n row.cells.push(valueCell);\r\n\r\n // Unit, show its value only for non-empty value \r\n if (showUnit && value) {\r\n\r\n let unit: string = confAttrValue.unit;\r\n\r\n // Set the value to empty string if it is undefined, because in I.E it shows null.\r\n if (!unit)\r\n unit = ' ';\r\n\r\n let unitCell: DataCellView = { contents: unit, classes: 'pl-0 pr-3 col-unit', tag: AttributeColumnType.Unit };\r\n row.cells.push(unitCell);\r\n }\r\n }\r\n\r\n // Add row to list.\r\n this.rows.push(row);\r\n });\r\n\r\n this.updateActiveAttributeUISetting();\r\n\r\n // Set the size classes\r\n this.setcolumnSizes(); \r\n }\r\n\r\n setcolumnSizes() {\r\n\r\n for (let rowIndex = 0; rowIndex < this.rows.length; rowIndex++) {\r\n\r\n let row = this.rows[rowIndex];\r\n for (let colIndex = 0; colIndex < row.cells.length; colIndex++) {\r\n\r\n // Don't set any style.\r\n if (row.cells.length == 1)\r\n continue;\r\n \r\n row.cells[colIndex].size = this.getColumnSize(row, colIndex); \r\n }\r\n } \r\n }\r\n\r\n getColumnSizeByType(colType: string) {\r\n\r\n switch (colType) {\r\n\r\n case AttributeColumnType.Title:\r\n return this.activeAttributeUISetting.titleSize;\r\n\r\n case AttributeColumnType.Value:\r\n return this.activeAttributeUISetting.valueSize;\r\n\r\n case AttributeColumnType.Unit:\r\n return this.activeAttributeUISetting.unitSize;\r\n\r\n default:\r\n return 0;\r\n\r\n }\r\n\r\n }\r\n\r\n getColumnSize(row: DataRowView, colIndex: number): number {\r\n\r\n let columnType = row.cells[colIndex].tag as AttributeColumnType;\r\n if (!columnType)\r\n return null;\r\n\r\n let colSizeAsNumber = this.getColumnSizeByType(columnType); \r\n if (!colSizeAsNumber)\r\n return null;\r\n\r\n return colSizeAsNumber;\r\n\r\n }\r\n\r\n public get itemIds(): number[] {\r\n\r\n return this.decoration.items.map(x => x.attributeId).toArray();\r\n }\r\n\r\n protected isHidden(item: AttributeDecorationItem, confUIItem: ConfUIItem): boolean {\r\n\r\n if (!confUIItem)\r\n return false;\r\n\r\n return !confUIItem.items.find(x => x.id == item.attributeId);\r\n }\r\n}","
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{decoration.title}}\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { forwardRef, Inject, Injectable } from '@angular/core';\r\nimport { ApiResponse, ConfDataRequest } from \"../../../shared/models\";\r\nimport { ConfDataActionCreator } from \"../../../shared/providers/configurationData\";\r\nimport { ActionStatus, AppAsyncAction, HttpAction } from \"../../../shared/state\";\r\nimport { BomController } from \"./bomController\";\r\n\r\n@Injectable()\r\nexport class BomActions {\r\n static GET_BOM_ROWS = \"@BOM_GET_BOM_ROWS\";\r\n static SEARCH_BOM = \"@BOM_SEARCH_BOM\";\r\n static CREATE_BOM = \"@BOM_CREATE_BOM\";\r\n static EDIT_BOM = \"@BOM_EDIT_BOM\";\r\n static REMOVE_BOM = \"@BOM_REMOVE_BOM\";\r\n static GET_ITEM = \"@BOM_GET_ITEM\";\r\n}\r\n\r\n@Injectable()\r\nexport class BomActionCreator {\r\n\r\n constructor(\r\n @Inject(forwardRef(() => BomController)) public bomController: BomController,\r\n @Inject(forwardRef(() => ConfDataActionCreator)) public configurationActionCreator: ConfDataActionCreator\r\n ) {\r\n }\r\n\r\n getBomGridData(model: ConfDataRequest): HttpAction {\r\n let asyncAction = >{\r\n type: BomActions.GET_BOM_ROWS,\r\n executeAsync: (dispatch, state, callback) => {\r\n return this.bomController.getBomGridData(model)\r\n .subscribe(configurationDataResult => {\r\n dispatch(this.configurationActionCreator.configurationLoaded(configurationDataResult));\r\n\r\n callback(new ActionStatus(true, configurationDataResult));\r\n });\r\n }\r\n }\r\n return asyncAction;\r\n }\r\n\r\n getBomDetailGridData(model: ConfDataRequest): HttpAction {\r\n let asyncAction = >{\r\n type: BomActions.GET_BOM_ROWS,\r\n executeAsync: (dispatch, state, callback) => {\r\n return this.bomController.getBomDetailGridData(model)\r\n .subscribe(configurationDataResult => {\r\n dispatch(this.configurationActionCreator.configurationLoaded(configurationDataResult));\r\n\r\n callback(new ActionStatus(true, configurationDataResult));\r\n });\r\n }\r\n }\r\n return asyncAction;\r\n }\r\n\r\n searchBom(model: ConfDataRequest): AppAsyncAction {\r\n let asyncAction = {\r\n type: BomActions.SEARCH_BOM,\r\n executeAsync: (dispatch, state, callback) => {\r\n this.bomController.searchBom(model)\r\n .subscribe(x => {\r\n dispatch(this.configurationActionCreator.configurationLoaded(x));\r\n\r\n callback(new ActionStatus(true, x));\r\n });\r\n }\r\n }\r\n return asyncAction;\r\n }\r\n\r\n createBom(model: ConfDataRequest): AppAsyncAction {\r\n let asyncAction = {\r\n type: BomActions.CREATE_BOM,\r\n executeAsync: (dispatch, state, callback) => {\r\n this.bomController.createBom(model)\r\n .subscribe(x => {\r\n dispatch(this.configurationActionCreator.configurationLoaded(x));\r\n\r\n callback(new ActionStatus(true, x));\r\n });\r\n }\r\n }\r\n return asyncAction;\r\n }\r\n\r\n editBom(model: ConfDataRequest): AppAsyncAction {\r\n let asyncAction = {\r\n type: BomActions.EDIT_BOM,\r\n executeAsync: (dispatch, state, callback) => {\r\n this.bomController.editBom(model)\r\n .subscribe(x => {\r\n dispatch(this.configurationActionCreator.configurationLoaded(x));\r\n\r\n callback(new ActionStatus(true, x));\r\n });\r\n }\r\n }\r\n return asyncAction;\r\n }\r\n\r\n removeBom(model: ConfDataRequest): AppAsyncAction {\r\n let asyncAction = {\r\n type: BomActions.REMOVE_BOM,\r\n executeAsync: (dispatch, state, callback) => {\r\n this.bomController.removeBom(model)\r\n .subscribe(x => {\r\n dispatch(this.configurationActionCreator.configurationLoaded(x));\r\n\r\n callback(new ActionStatus(true, x));\r\n });\r\n }\r\n }\r\n return asyncAction;\r\n }\r\n\r\n getItem(model: ConfDataRequest): AppAsyncAction {\r\n let asyncAction = {\r\n type: BomActions.GET_ITEM,\r\n executeAsync: (dispatch, state, callback) => {\r\n this.bomController.getItem(model)\r\n .subscribe(x => {\r\n dispatch(this.configurationActionCreator.configurationLoaded(x));\r\n\r\n callback(new ActionStatus(true, x));\r\n });\r\n }\r\n }\r\n return asyncAction;\r\n }\r\n}\r\n","import { ChangeDetectorRef, Component, EventEmitter, Inject, Input, Output } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\nimport { InputViewModel, PopupService } from \"../../../../shared/components\";\r\nimport { AbstractPopupComponent } from \"../../../../shared/components/popup/abstractPopupComponent\";\r\nimport { ConfiguratorStore, ConfPageSessionService } from \"../../providers\";\r\nimport { BomStore } from \"./bomStore\";\r\n\r\n\r\n@Component({ template: '' })\r\nexport abstract class BomControlComponent extends AbstractPopupComponent {\r\n public bomDecorationId: number;\r\n\r\n public itemNoView: InputViewModel;\r\n public quantityView: InputViewModel;\r\n public revisionView: InputViewModel;\r\n public revisionItemViews: InputViewModel[] = [];\r\n public quantityUnitView: InputViewModel;\r\n public quantityUnitItemViews: InputViewModel[] = [];\r\n public operationSequenceView: InputViewModel;\r\n public operationSequenceItemViews: InputViewModel[] = [];\r\n\r\n @Input()\r\n isAllowOperationSequenceEdit = false;\r\n\r\n @Output()\r\n closedEvent = new EventEmitter();\r\n\r\n constructor(\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfPageSessionService) public storeSession: ConfPageSessionService,\r\n @Inject(BomStore) public bomStore: BomStore,\r\n public cdr: ChangeDetectorRef,\r\n public popupService: PopupService,\r\n ) {\r\n super(cdr, popupService);\r\n }\r\n\r\n ngOnInit() {\r\n this.itemNoView = new InputViewModel(this.strings.ItemNumber);\r\n this.itemNoView.readOnly = true;\r\n\r\n this.revisionView = new InputViewModel(this.strings.Revision);\r\n\r\n this.quantityView = new InputViewModel(this.strings.Quantity);\r\n this.quantityView.value = 1;\r\n\r\n this.quantityUnitView = new InputViewModel(this.strings.QuantityUnit);\r\n\r\n this.operationSequenceView = new InputViewModel(this.strings.OperationSequence);\r\n\r\n super.ngOnInit();\r\n }\r\n\r\n public setupQuantityUnits(quantityUnits: Immutable.Map, quantityUnitId?: number) {\r\n this.quantityUnitItemViews = [];\r\n this.quantityUnitItemViews.push(new InputViewModel(\"\"));\r\n\r\n let selectedQuantityUnitView: InputViewModel;\r\n quantityUnits.forEach((quantityUnit: string, id: string) => {\r\n let quantityUnitChildView = new InputViewModel(quantityUnit);\r\n quantityUnitChildView.id = id;\r\n this.quantityUnitItemViews.push(quantityUnitChildView);\r\n\r\n if (quantityUnitId && id == quantityUnitId.toString()) {\r\n this.quantityUnitView.value = id;\r\n this.quantityUnitView.formattedValue = quantityUnit;\r\n }\r\n });\r\n if (quantityUnitId == null)\r\n this.quantityUnitView.formattedValue = this.quantityUnitView.value = null;\r\n }\r\n\r\n public setupOperationSequence(operationSequences: Immutable.Map, operationSequenceId?: number) {\r\n if (!this.isAllowOperationSequenceEdit)\r\n return;\r\n\r\n this.operationSequenceItemViews = [];\r\n this.operationSequenceItemViews.push(new InputViewModel(\"\"));\r\n\r\n let selectedQuantityUnitView: InputViewModel;\r\n operationSequences.forEach((operationSequence: string, id: string) => {\r\n let operationSequenceView = new InputViewModel(operationSequence);\r\n operationSequenceView.id = id;\r\n this.operationSequenceItemViews.push(operationSequenceView);\r\n\r\n if (operationSequenceId && id == operationSequenceId.toString()) {\r\n this.operationSequenceView.value = id;\r\n this.operationSequenceView.formattedValue = operationSequence;\r\n }\r\n });\r\n if (operationSequenceId == null)\r\n this.operationSequenceView.formattedValue = this.operationSequenceView.value = null;\r\n }\r\n\r\n public setupRevisions(revisions: string[], selectedRevision?: string) {\r\n this.revisionItemViews = [];\r\n\r\n let selectedRevisionView: InputViewModel;\r\n revisions.forEach((revision: string) => {\r\n let revisionView = new InputViewModel(revision);\r\n revisionView.id = revision;\r\n if (selectedRevision === revision)\r\n selectedRevisionView = revisionView;\r\n\r\n this.revisionItemViews.push(revisionView);\r\n });\r\n\r\n this.revisionView.value = this.revisionView.formattedValue = selectedRevisionView ? selectedRevisionView.id : this.revisionItemViews.length > 0 ? this.revisionItemViews[0].id : \"\";\r\n }\r\n\r\n public show(bomDecorationId: number): void {\r\n this.bomDecorationId = bomDecorationId;\r\n this.showInternal();\r\n }\r\n\r\n public onOkClick() {\r\n this.removeDomElement();\r\n }\r\n\r\n public onCancelClick() {\r\n this.removeDomElement();\r\n }\r\n\r\n removeDomElement() {\r\n super.removeDomElement();\r\n\r\n this.closedEvent.emit();\r\n }\r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpService } from \"../../../../shared/providers\";\r\nimport { ApiResponse, ConfDataRequest } from \"../../../shared/models\";\r\nimport { ApiResponseBuilder } from \"../../../shared/providers/apiResponseBuilder\";\r\nimport { ConfDataController } from \"../../../shared/providers/configurationData\";\r\nimport { GlobalDataStore } from \"../../../shared/providers/globalData\";\r\n\r\n\r\n@Injectable()\r\nexport class BomController extends ConfDataController {\r\n\r\n constructor(\r\n public httpService: HttpService,\r\n public apiResponseBuilder: ApiResponseBuilder,\r\n public globalDataStore: GlobalDataStore\r\n ) {\r\n super(httpService, apiResponseBuilder, globalDataStore);\r\n }\r\n\r\n public getBomGridData(model: ConfDataRequest): Observable {\r\n return this.getConfigurationData(model);\r\n }\r\n\r\n public getBomDetailGridData(model: ConfDataRequest): Observable {\r\n return this.getConfigurationData(model);\r\n }\r\n\r\n public searchBom(model: ConfDataRequest): Observable {\r\n return this.getConfigurationData(model);\r\n }\r\n\r\n public createBom(model: ConfDataRequest): Observable {\r\n return this.getConfigurationData(model);\r\n }\r\n\r\n public editBom(model: ConfDataRequest): Observable {\r\n return this.getConfigurationData(model);\r\n }\r\n\r\n public removeBom(model: ConfDataRequest): Observable {\r\n return this.getConfigurationData(model);\r\n }\r\n\r\n public getItem(model: ConfDataRequest): Observable {\r\n return this.getConfigurationData(model);\r\n }\r\n\r\n}","import { ChangeDetectorRef, Component, Inject, ViewChild } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\nimport { PopupService } from \"../../../../shared/components\";\r\nimport { InputViewModel } from \"../../../../shared/components/shared\";\r\nimport { ManagedSubscription } from \"../../../../shared/managedSubscription\";\r\nimport { AutoCompleteComponent } from \"../../../shared/components/autoComplete\";\r\nimport { BomAutoCompleteRow } from \"../../../shared/models\";\r\nimport { BomAutoCompleteMessage } from \"../../../shared/models/responses/messages\";\r\nimport { ConfiguratorStore, ConfPageSessionService, PopupIdentifiers } from \"../../providers\";\r\nimport { BomActionArgs } from \"./bomActionArgs\";\r\nimport { BomControlComponent } from \"./bomControlComponent\";\r\nimport { BomStore } from \"./bomStore\";\r\n\r\n\r\n@Component({\r\n selector: 'bom-create-control',\r\n templateUrl: './bomCreateControlComponent.html',\r\n})\r\nexport class BomCreateControlComponent extends BomControlComponent {\r\n public searchBomSubscription: ManagedSubscription;\r\n public items: Array = [];\r\n public autoCompleteView: InputViewModel;\r\n\r\n @ViewChild(AutoCompleteComponent)\r\n public autoCompleteComponent: AutoCompleteComponent;\r\n\r\n constructor(\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfPageSessionService) public storeSession: ConfPageSessionService,\r\n @Inject(BomStore) public bomStore: BomStore,\r\n @Inject(PopupService) public popupService: PopupService,\r\n public cdr: ChangeDetectorRef\r\n\r\n ) {\r\n super(confStore, storeSession, bomStore, cdr, popupService);\r\n }\r\n\r\n public open(tag: BomActionArgs) {\r\n this.createItem(tag.decorationId);\r\n }\r\n\r\n ngOnInit() {\r\n this.autoCompleteView = new InputViewModel(this.strings.Search);\r\n this.id = PopupIdentifiers.BomCreatePopup;\r\n\r\n super.ngOnInit();\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.searchBomSubscription)\r\n this.searchBomSubscription.unsubscribe();\r\n\r\n super.ngOnDestroy();\r\n }\r\n\r\n public createItem(bomDecorationId: number): void {\r\n this.searchBomSubscription = this.bomStore.onSearchBom(this.storeSession.confSessionId, {\r\n next: (messages: Immutable.List) => {\r\n let message = messages.first();\r\n\r\n this.items = [];\r\n\r\n this.setupQuantityUnits(message.quantityUnits);\r\n this.setupOperationSequence(message.operationSequences);\r\n\r\n message.autoCompleteRowModels.forEach((row: BomAutoCompleteRow, key) => {\r\n // Description will be the item's formatted name\r\n let rowModel = new InputViewModel(row.description);\r\n rowModel.value = row;\r\n this.items.push(rowModel);\r\n });\r\n\r\n this.cdr.detectChanges();\r\n }, listenNewEventsOnly: true\r\n });\r\n\r\n super.show(bomDecorationId);\r\n }\r\n\r\n public removeDomElement() {\r\n if (this.searchBomSubscription)\r\n this.searchBomSubscription.unsubscribe();\r\n\r\n super.removeDomElement();\r\n }\r\n\r\n public onOkClick() {\r\n this.bomStore.dispatchCreateBom(this.storeSession.activeConfigurationId, this.storeSession.confSessionId, this.bomDecorationId, this.itemNoView.value, this.revisionView.value, this.quantityView.value, parseInt(this.quantityUnitView.value), parseInt(this.operationSequenceView.value));\r\n\r\n this.autoCompleteComponent.reset();\r\n \r\n super.onOkClick();\r\n }\r\n\r\n onFilterChanged($event): void {\r\n if ($event.query !== \"\")\r\n this.bomStore.dispatchSearchBom(this.storeSession.activeConfigurationId, this.storeSession.confSessionId, this.bomDecorationId, $event.query);\r\n }\r\n\r\n onSelectionChanged($event): void {\r\n let bom: BomAutoCompleteRow = $event.item.value;\r\n\r\n this.itemNoView.value = bom.itemNo;\r\n\r\n this.setupRevisions(bom.revisions);\r\n\r\n let quantityView = this.quantityUnitItemViews.find((x) => parseInt(x.id) == bom.quantityUnitId);\r\n this.quantityUnitView.formattedValue = quantityView ? quantityView.name : \"\";\r\n this.quantityUnitView.value = quantityView ? quantityView.id : null;\r\n }\r\n}","\r\n \r\n\r\n
\r\n \r\n \r\n \r\n

{{strings.CreateBOM}}

\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n","import { Component, Inject } from \"@angular/core\";\r\nimport { PopupService } from \"../../../../shared/components\";\r\nimport { Delay, sleep } from \"../../../../shared/utils\";\r\nimport { BomDecoration, Conf, ConfBomValue } from \"../../../shared/models\";\r\nimport { ConfiguratorStore, ConfPageSessionService, PopupIdentifiers } from \"../../providers\";\r\nimport { DecorationComponent } from \"../../shared/decorationComponent\";\r\nimport { BomActionArgs } from \"./bomActionArgs\";\r\nimport { BomStore } from \"./bomStore\";\r\nimport { VisualObjectHelper } from \"../../parameters/shared\";\r\n\r\n\r\n@Component({\r\n selector: 'bom-decoration',\r\n templateUrl: './bomDecorationComponent.html' \r\n})\r\nexport class BomDecorationComponent extends DecorationComponent {\r\n\r\n public confBomValue: ConfBomValue;\r\n public compositeVisible: boolean = false;\r\n \r\n constructor(\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfPageSessionService) public confPageSessionService: ConfPageSessionService,\r\n @Inject(BomStore) public bomStore: BomStore,\r\n @Inject(VisualObjectHelper) public visualObjectHelper: VisualObjectHelper,\r\n @Inject(PopupService) public popupService: PopupService\r\n ) {\r\n super(confStore, confPageSessionService, visualObjectHelper);\r\n }\r\n\r\n ngOnInit() {\r\n\r\n // Initial value on load.\r\n this.confBomValue = this.configuration.bomValues.find((x) => x.longId == this.decoration.longId); \r\n super.ngOnInit();\r\n\r\n }\r\n \r\n public listenChanges(): void {\r\n this.confStore.onConfigurationChange(this.configurationId, this.confPageSessionService.confSessionId, (configuration: Conf): void => {\r\n this.confBomValue = this.configuration.bomValues.find((x) => x.longId == this.decoration.longId); \r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n }\r\n\r\n public onBomCompositeClick(): void { \r\n this.compositeVisible = true;\r\n sleep(Delay.MS_100).then(x => { this.popupService.open(PopupIdentifiers.BomComposite, { configurationId: this.configurationId, decorationId: this.decoration.longId }); });\r\n }\r\n\r\n public closedEvent($event) { \r\n this.compositeVisible = false;\r\n }\r\n}","
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{decoration.title}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n
","import { Component, Inject, Input, SimpleChanges, ChangeDetectionStrategy, ChangeDetectorRef } from \"@angular/core\";\r\nimport { BaseComponent } from \"../../../../../core/pages/shared\";\r\nimport { PopupService } from \"../../../../shared/components\";\r\nimport { DataRowView } from \"../../../../shared/components/shared\";\r\nimport { Delay, sleep, ImageSets } from \"../../../../shared/utils\";\r\nimport { PagerModel } from \"../../../shared/components/pager/pagerModel\";\r\nimport { BomDecoration, ConfBomValue } from \"../../../shared/models\";\r\nimport { GlobalDataStore } from \"../../../shared/providers/globalData\";\r\nimport { ProductDataStore } from \"../../../shared/providers/productData\";\r\nimport { ConfiguratorStore, ConfPageSessionService, PopupIdentifiers } from \"../../providers\";\r\nimport { BomActionArgs } from \"./bomActionArgs\";\r\nimport { BomActionCreator } from \"./bomActionCreator\";\r\nimport { BomController } from \"./bomController\";\r\nimport { BomStore } from \"./bomStore\";\r\nimport { PagerService } from \"../../../shared/components/pager/pagerService\";\r\n\r\n@Component({\r\n selector: 'bom-decoration-contents',\r\n templateUrl: './bomDecorationContentsComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [BomStore, BomActionCreator, BomController]\r\n})\r\nexport class BomDecorationContentsComponent extends BaseComponent {\r\n\r\n public selectedRow: DataRowView;\r\n\r\n public pagerModel: PagerModel;\r\n\r\n public refreshPager: boolean = false;\r\n\r\n public displayChildConfigurations = false;\r\n\r\n public allowManuallyAddedItems: boolean = false;\r\n\r\n public imageSet: string;\r\n\r\n public addVisible: boolean = false;\r\n public editVisible: boolean = false;\r\n public deleteVisible: boolean = false;\r\n public compositeVisible: boolean = false;\r\n\r\n @Input()\r\n public confBomValue: ConfBomValue;\r\n\r\n @Input()\r\n public showActionControls: boolean = true;\r\n\r\n @Input()\r\n public decoration: BomDecoration;\r\n\r\n constructor(\r\n @Inject(GlobalDataStore) public globalDataStore: GlobalDataStore,\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfPageSessionService) public confPageSessionService: ConfPageSessionService,\r\n @Inject(BomStore) public bomStore: BomStore,\r\n @Inject(PopupService) public popupService: PopupService,\r\n @Inject(ProductDataStore) public productStore: ProductDataStore,\r\n @Inject(PagerService) public pagerService: PagerService,\r\n @Inject(ChangeDetectorRef) public cdr: ChangeDetectorRef\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.allowManuallyAddedItems = this.decoration.allowManuallyAddedItems;\r\n\r\n this.imageSet = this.getImageSet(ImageSets.ConfiguratorBomActions);\r\n\r\n // the configuration might consist of an old pagination, so try to use it.\r\n this.pagerModel = this.pagerService.create(this.confBomValue.gridData.pagination.pageSize, this.confBomValue.gridData.pagination.pageIndex, this.confBomValue.gridData.pagination.noOfPages, this.confBomValue.gridData.pagination.resultCount, [\"5\", \"10\", \"20\", \"50\", \"100\", \"200\", this.strings.All]);\r\n\r\n this.setValue(null);\r\n super.ngOnInit();\r\n\r\n if (this.decoration && this.decoration.pageSize)\r\n this.pagerService.updatePageSizes(this.decoration.pageSize, this.pagerModel);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n\r\n if (changes[\"confBomValue\"] && !changes[\"confBomValue\"].firstChange) {\r\n\r\n // Set the decoration\r\n if (this.confBomValue) {\r\n this.decoration = this.productStore.getEntity(this.confBomValue.longId);\r\n }\r\n\r\n this.setValue(null);\r\n }\r\n\r\n }\r\n\r\n setValue(itemValues: Map): void {\r\n\r\n this.displayChildConfigurations = this.confBomValue.childrenGridData != null && this.confBomValue.childrenGridData.rows.size > 0;\r\n\r\n if (this.confBomValue && this.confBomValue.gridData) {\r\n this.pagerService.update(this.confBomValue.gridData.pagination, this.pagerModel);\r\n this.pagerModel = { ...this.pagerModel };\r\n this.refreshPager = !this.refreshPager;\r\n this.cdr.markForCheck();\r\n }\r\n }\r\n\r\n public refreshGrid() {\r\n let clientRequestType = this.confPageSessionService.confUIStore.PageStore.getActiveClientType();\r\n this.bomStore.dispatchGetBomGridData(clientRequestType, this.confPageSessionService.activeConfigurationId, this.confPageSessionService.confSessionId, this.decoration.longId, this.pagerModel.displayCountView.displayAll ? 0 : this.pagerModel.displayCountView.count, this.pagerModel.currentPage);\r\n }\r\n\r\n selectRow(row: DataRowView) {\r\n this.selectedRow = row;\r\n }\r\n\r\n public closedEvent($event) {\r\n this.addVisible = false;\r\n this.editVisible = false;\r\n this.deleteVisible = false;\r\n this.compositeVisible = false;\r\n }\r\n\r\n public addBom() {\r\n this.addVisible = true;\r\n sleep(Delay.MS_100).then(x => { this.popupService.open(PopupIdentifiers.BomCreatePopup, { decorationId: this.decoration.longId }); });\r\n }\r\n\r\n public editBom() {\r\n if (this.selectedRow == null)\r\n return;\r\n\r\n this.editVisible = true;\r\n sleep(Delay.MS_100).then(x => { this.popupService.open(PopupIdentifiers.BomEditPopup, { decorationId: this.decoration.longId, selectedRowId: parseInt(this.selectedRow.id) }); });\r\n }\r\n\r\n public removeBom() {\r\n if (this.selectedRow == null)\r\n return;\r\n\r\n this.deleteVisible = true;\r\n sleep(Delay.MS_100).then(x => { this.popupService.open(PopupIdentifiers.BomDeletePopup, { decorationId: this.decoration.longId, selectedRowId: parseInt(this.selectedRow.id) }); });\r\n }\r\n\r\n public onBomCompositeClick(): void {\r\n this.compositeVisible = true;\r\n sleep(Delay.MS_100).then(x => { this.popupService.open(PopupIdentifiers.BomComposite, { configurationId: this.confPageSessionService.activeConfigurationId, decorationId: this.decoration.longId }); });\r\n }\r\n}","\r\n\r\n\r\n \r\n \r\n \r\n {{strings.Add}}\r\n \r\n \r\n \r\n {{strings.Edit}}\r\n \r\n \r\n \r\n {{strings.Delete}}\r\n \r\n \r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{strings.ChildConfigurations}}\r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { ChangeDetectorRef, Component, EventEmitter, Inject, Output } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\nimport { PopupService } from \"../../../../shared/components\";\r\nimport { AbstractPopupComponent } from \"../../../../shared/components/popup/abstractPopupComponent\";\r\nimport { BomItemMessage } from \"../../../shared/models/responses/messages\";\r\nimport { ConfiguratorStore, ConfPageSessionService, PopupIdentifiers } from \"../../providers\";\r\nimport { BomActionArgs } from \"./bomActionArgs\";\r\nimport { BomStore } from \"./bomStore\";\r\n\r\n\r\n@Component({\r\n selector: 'bom-delete-popup',\r\n templateUrl: './bomDeletePopupComponent.html',\r\n})\r\nexport class BomDeletePopupComponent extends AbstractPopupComponent {\r\n\r\n public bomDecorationId: number;\r\n public bomItem: BomItemMessage;\r\n\r\n @Output()\r\n onItemDeleted = new EventEmitter();\r\n @Output()\r\n closedEvent = new EventEmitter();\r\n\r\n constructor(\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfPageSessionService) public storeSession: ConfPageSessionService,\r\n @Inject(BomStore) public bomStore: BomStore,\r\n @Inject(PopupService) public popupService: PopupService,\r\n public cdr: ChangeDetectorRef\r\n ) {\r\n super(cdr, popupService);\r\n }\r\n\r\n ngOnInit() {\r\n this.id = PopupIdentifiers.BomDeletePopup;\r\n\r\n super.ngOnInit();\r\n\r\n this.bomStore.onGetItemRequest(this.storeSession.confSessionId, (bomItemMessages: Immutable.List): void => {\r\n this.bomItem = bomItemMessages.first();\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n }\r\n\r\n public open(tag: BomActionArgs) {\r\n this.show(tag.decorationId, tag.selectedRowId);\r\n }\r\n\r\n show(bomDecorationId: number, bomItemId: number): void {\r\n this.bomDecorationId = bomDecorationId;\r\n\r\n this.bomStore.dispatchGetItem(this.storeSession.activeConfigurationId, this.storeSession.confSessionId, this.bomDecorationId, bomItemId);\r\n\r\n this.showInternal();\r\n }\r\n\r\n okClick(): void {\r\n this.bomStore.dispatchRemoveBom(this.storeSession.activeConfigurationId, this.storeSession.confSessionId, this.bomDecorationId, this.bomItem.id);\r\n this.onItemDeleted.emit();\r\n }\r\n\r\n public removeDomElement() {\r\n super.removeDomElement();\r\n\r\n this.closedEvent.emit();\r\n }\r\n}","\r\n \r\n
\r\n
\r\n {{strings.AreYouSureYouWantToDeleteTheSelectedRow}}\r\n
\r\n
\r\n {{bomItem.itemNo}}\r\n
\r\n
\r\n
\r\n
","import { ChangeDetectorRef, Component, Inject } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\nimport { PopupService } from \"../../../../shared/components\";\r\nimport { ManagedSubscription } from \"../../../../shared/managedSubscription\";\r\nimport { BomItemMessage } from \"../../../shared/models/responses/messages\";\r\nimport { ConfiguratorStore, ConfPageSessionService, PopupIdentifiers } from \"../../providers\";\r\nimport { BomActionArgs } from \"./bomActionArgs\";\r\nimport { BomControlComponent } from \"./bomControlComponent\";\r\nimport { BomStore } from \"./bomStore\";\r\n\r\n\r\n@Component({\r\n selector: 'bom-edit-control',\r\n templateUrl: './bomEditControlComponent.html',\r\n})\r\nexport class BomEditControlComponent extends BomControlComponent {\r\n public bomItem: BomItemMessage;\r\n public getItemSubscription: ManagedSubscription;\r\n\r\n constructor(\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfPageSessionService) public storeSession: ConfPageSessionService,\r\n @Inject(BomStore) public bomStore: BomStore,\r\n @Inject(PopupService) public popupService: PopupService,\r\n public cdr: ChangeDetectorRef\r\n ) {\r\n super(confStore, storeSession, bomStore, cdr, popupService);\r\n }\r\n\r\n ngOnInit() {\r\n this.id = PopupIdentifiers.BomEditPopup;\r\n super.ngOnInit();\r\n\r\n this.getItemSubscription = this.bomStore.onGetItemRequest(this.storeSession.confSessionId, (bomItemMessages: Immutable.List): void => {\r\n this.bomItem = bomItemMessages.first();\r\n this.itemNoView.value = this.bomItem.itemNo;\r\n this.quantityView.value = this.bomItem.quantity;\r\n\r\n this.setupRevisions(this.bomItem.revisions, this.bomItem.revision);\r\n this.setupQuantityUnits(this.bomItem.quantityUnits, this.bomItem.quantityUnitId);\r\n this.setupOperationSequence(this.bomItem.operationSequences, this.bomItem.operationSequenceId);\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.getItemSubscription)\r\n this.getItemSubscription.unsubscribe();\r\n\r\n super.ngOnDestroy();\r\n }\r\n\r\n public open(tag: BomActionArgs) {\r\n this.editItem(tag.decorationId, tag.selectedRowId);\r\n }\r\n\r\n public editItem(bomDecorationId: number, bomItemId: number): void {\r\n this.bomDecorationId = bomDecorationId;\r\n this.bomStore.dispatchGetItem(this.storeSession.activeConfigurationId, this.storeSession.confSessionId, this.bomDecorationId, bomItemId);\r\n\r\n super.show(bomDecorationId);\r\n }\r\n\r\n public onOkClick() {\r\n this.bomStore.dispatchEditBom(this.storeSession.activeConfigurationId, this.storeSession.confSessionId, this.bomDecorationId, this.bomItem.id, this.itemNoView.value, this.revisionView.value, this.quantityView.value, parseInt(this.quantityUnitView.value), parseInt(this.operationSequenceView.value));\r\n\r\n super.onOkClick();\r\n }\r\n}","\r\n \r\n\r\n
\r\n \r\n \r\n \r\n

{{strings.EditBOM}}

\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
","import { Inject, Injectable } from '@angular/core';\r\nimport * as Immutable from \"immutable\";\r\nimport { ManagedSubscription, SubscriptionOptions } from \"../../../../shared/managedSubscription\";\r\nimport { BomAutoCompleteMessage, BomCommand, BomDetailMessage, BomItem, BomItemMessage, BomOperationMessage, ConfDataRequest, ConfResponseFormat, GridArgument, PaginationArgument, RequestViews } from \"../../../shared/models\";\r\nimport { AppStoreSubscriptionManager, ModelFactory, RouteRedirector } from \"../../../shared/providers\";\r\nimport { GlobalDataStore } from \"../../../shared/providers/globalData\";\r\nimport { AppStore, BaseStore } from \"../../../shared/state\";\r\nimport { ConfMessageProvider, ConfiguratorStore, ConfDataMemorizer, ConfiguratorUIStore } from \"../../providers\";\r\nimport { BomActionCreator } from \"./bomActionCreator\";\r\nimport { ConfDataActionCreator } from '../../../shared/providers/configurationData';\r\n\r\n@Injectable()\r\nexport class BomStore extends ConfiguratorStore {\r\n\r\n constructor(\r\n @Inject(AppStore) public appStore: AppStore,\r\n @Inject(BomActionCreator) public actionCreator: BomActionCreator,\r\n @Inject(AppStoreSubscriptionManager) public appStoreSubscriptionManager: AppStoreSubscriptionManager,\r\n @Inject(ConfMessageProvider) public messagesProvider: ConfMessageProvider, \r\n @Inject(ConfDataActionCreator) public confActionCreator: ConfDataActionCreator, \r\n @Inject(ConfDataMemorizer) public memorizer: ConfDataMemorizer,\r\n @Inject(ConfMessageProvider) public confMessageProvider: ConfMessageProvider,\r\n @Inject(ModelFactory) public modelFactory: ModelFactory,\r\n @Inject(GlobalDataStore) public globalDataStore: GlobalDataStore,\r\n @Inject(RouteRedirector) public routeRredirector: RouteRedirector,\r\n @Inject(ConfiguratorUIStore) public confUIStore: ConfiguratorUIStore\r\n ) {\r\n super(appStore, confActionCreator, appStoreSubscriptionManager, memorizer, confMessageProvider, modelFactory, globalDataStore, routeRredirector, confUIStore);\r\n }\r\n\r\n public onRowMessageRequest(confSessionId: number, callback: (messages: Immutable.List) => void): ManagedSubscription {\r\n return this.messagesProvider.onMessagesRequest(confSessionId, BomOperationMessage.name, callback);\r\n }\r\n\r\n public onGetBomDetailGridData(confSessionId: number, subscriptionOptions: SubscriptionOptions>): ManagedSubscription {\r\n return this.messagesProvider.onMessagesRequest(confSessionId, BomDetailMessage.name, subscriptionOptions);\r\n }\r\n\r\n public onSearchBom(confSessionId: number, subscriptionOptions: SubscriptionOptions>): ManagedSubscription {\r\n return this.messagesProvider.onMessagesRequest(confSessionId, BomAutoCompleteMessage.name, subscriptionOptions);\r\n }\r\n\r\n public onGetItemRequest(confSessionId: number, callback: (messages: Immutable.List) => void): ManagedSubscription {\r\n return this.messagesProvider.onMessagesRequest(confSessionId, BomItemMessage.name, callback);\r\n }\r\n\r\n public dispatchGetBomGridData(requestClientType: RequestViews, configurationId: number, confSessionId: number, bomDecorationId: number, pageSize: number, pageIndex: number) {\r\n // Page index defaults 1\r\n pageIndex = pageIndex || 1;\r\n\r\n let model = super.createRequest();\r\n model.client = requestClientType;\r\n model.confSessionId = confSessionId;\r\n model.bom = this.modelFactory.createRequestOrCommand(BomCommand.name, { configurationId: configurationId, bomDecorationId: bomDecorationId });\r\n \r\n model.bom.responseFormat = this.globalDataStore.getConfResponseFormat(requestClientType);\r\n model.bom.gridData = this.modelFactory.createAny(GridArgument.name);\r\n model.bom.gridData.pagination = this.modelFactory.createAny(PaginationArgument.name, { pageSize: pageSize, pageIndex: pageIndex });\r\n\r\n this.appStore.dispatch(this.actionCreator.getBomGridData(model));\r\n }\r\n\r\n public dispatchGetBomDetailGridData(requestClientType: RequestViews, configurationId: number, confSessionId: number, bomDecorationId: number, pageSize?: number, pageIndex?: number) {\r\n let model = super.createRequest();\r\n model.client = requestClientType;\r\n model.confSessionId = confSessionId;\r\n\r\n model.bom = this.modelFactory.createRequestOrCommand(BomCommand.name, { configurationId: configurationId, bomDecorationId: bomDecorationId });\r\n model.bom.responseFormat = this.modelFactory.createAny(ConfResponseFormat.name, { bom: true });\r\n model.bom.detailGridData = this.modelFactory.createAny(GridArgument.name); \r\n model.bom.detailGridData.pagination = this.modelFactory.createAny(PaginationArgument.name, { pageSize: pageSize, pageIndex: pageIndex });\r\n\r\n this.appStore.dispatch(this.actionCreator.getBomDetailGridData(model));\r\n }\r\n\r\n public dispatchSearchBom(configurationId: number, confSessionId: number, bomDecorationId: number, query: string) {\r\n let model = super.createRequest();\r\n model.confSessionId = confSessionId;\r\n model.client = RequestViews.Editor;\r\n\r\n model.bom = this.modelFactory.createRequestOrCommand(BomCommand.name, { configurationId: configurationId, bomDecorationId: bomDecorationId, search: query });\r\n\r\n this.appStore.dispatch(this.actionCreator.searchBom(model));\r\n }\r\n\r\n public dispatchCreateBom(configurationId: number, confSessionId: number, bomDecorationId: number, itemNo: string, revision: string, quantity: number, quantityUnitId: number, operationSequenceId: number) {\r\n let model = super.createRequest();\r\n model.client = RequestViews.Editor;\r\n model.confSessionId = confSessionId;\r\n\r\n model.bom = this.modelFactory.createRequestOrCommand(BomCommand.name, { configurationId: configurationId, bomDecorationId: bomDecorationId });\r\n model.bom.create = this.modelFactory.createRequestOrCommand(BomItem.name, { itemNo: itemNo, revision: revision });\r\n model.bom.responseFormat = this.globalDataStore.getConfResponseFormat(RequestViews.Editor);\r\n\r\n if (quantity)\r\n model.bom.create.quantity = quantity;\r\n if (quantityUnitId)\r\n model.bom.create.quantityUnitId = quantityUnitId;\r\n if (operationSequenceId)\r\n model.bom.create.operationSequenceId = operationSequenceId;\r\n\r\n this.appStore.dispatch(this.actionCreator.createBom(model));\r\n }\r\n\r\n public dispatchEditBom(configurationId: number, confSessionId: number, bomDecorationId: number, id: number, itemNo: string, revision: string, quantity: number, quantityUnitId: number, operationSequenceId: number) {\r\n let model = super.createRequest();\r\n model.client = RequestViews.Editor;\r\n model.confSessionId = confSessionId;\r\n\r\n model.bom = this.modelFactory.createRequestOrCommand(BomCommand.name, { configurationId: configurationId, bomDecorationId: bomDecorationId });\r\n model.bom.edit = this.modelFactory.createAny(BomItem.name, { id: id, itemNo: itemNo, revision: revision });\r\n model.bom.responseFormat = this.globalDataStore.getConfResponseFormat(RequestViews.Editor);\r\n\r\n if (quantity)\r\n model.bom.edit.quantity = quantity;\r\n if (quantityUnitId)\r\n model.bom.edit.quantityUnitId = quantityUnitId;\r\n if (operationSequenceId)\r\n model.bom.edit.operationSequenceId = operationSequenceId;\r\n \r\n this.appStore.dispatch(this.actionCreator.editBom(model));\r\n }\r\n\r\n public dispatchRemoveBom(configurationId: number, confSessionId: number, bomDecorationId: number, id: number) {\r\n let model = super.createRequest();\r\n model.client = RequestViews.Editor;\r\n model.confSessionId = confSessionId;\r\n \r\n model.bom = this.modelFactory.createRequestOrCommand(BomCommand.name, { configurationId: configurationId, bomDecorationId: bomDecorationId });\r\n model.bom.responseFormat = this.globalDataStore.getConfResponseFormat(RequestViews.Editor);\r\n model.bom.remove = this.modelFactory.createAny(BomItem.name, { id: id });\r\n \r\n this.appStore.dispatch(this.actionCreator.removeBom(model));\r\n }\r\n\r\n public dispatchGetItem(configurationId: number, confSessionId: number, bomDecorationId: number, id: number) {\r\n let model = super.createRequest();\r\n model.client = RequestViews.Editor;\r\n model.confSessionId = confSessionId;\r\n\r\n model.bom = this.modelFactory.createRequestOrCommand(BomCommand.name, { configurationId: configurationId, bomDecorationId: bomDecorationId });\r\n model.bom.getItem = this.modelFactory.createAny(BomItem.name, { id: id });\r\n\r\n this.appStore.dispatch(this.actionCreator.getItem(model));\r\n }\r\n\r\n}","export * from \"./bomActionCreator\";\r\nexport * from \"./bomController\";\r\nexport * from \"./bomDecorationComponent\";\r\nexport * from \"./bomStore\";\r\nexport * from \"./bomControlComponent\";\r\nexport * from \"./bomCreateControlComponent\";\r\nexport * from \"./bomEditControlComponent\";\r\nexport * from \"./bomDeletePopupComponent\";\r\nexport * from \"./bomDecorationContentsComponent\";\r\n","import { Component, Inject } from \"@angular/core\";\r\nimport { CodeDecorationValuesModel } from \"../../../shared/components/code/codeDecorationValueModel\";\r\nimport { CodeValueModelBuilder } from \"../../../shared/components/code/providers/codeValueModelBuilder\";\r\nimport { CodeDecoration, CodeDisplayStyles, Conf } from \"../../../shared/models\";\r\nimport { ConfiguratorStore, ConfPageSessionService } from \"../../providers\";\r\nimport { VisualObjectVisibilityService } from \"../../shared\";\r\nimport { DecorationComponent } from \"../../shared/decorationComponent\";\r\nimport { VisualObjectHelper } from \"../../parameters/shared\";\r\n\r\n@Component({\r\n selector: 'code-decoration',\r\n templateUrl: './codeDecorationComponent.html'\r\n})\r\nexport class CodeDecorationComponent extends DecorationComponent {\r\n\r\n public height: string;\r\n \r\n public valuesModel: CodeDecorationValuesModel;\r\n\r\n public isRender = true;\r\n\r\n constructor(public confStore: ConfiguratorStore,\r\n public confPageSessionService: ConfPageSessionService,\r\n public visibilityService: VisualObjectVisibilityService,\r\n @Inject(VisualObjectHelper) public visualObjectHelper: VisualObjectHelper,\r\n public builder: CodeValueModelBuilder) {\r\n\r\n super(confStore, confPageSessionService, visualObjectHelper);\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.height = this.visualObjectHelper.decorationHeight(this.decoration);\r\n this.width = this.visualObjectHelper.visualObjectWidth(this.decoration);\r\n this.isRender = this.decoration.displayStyle === CodeDisplayStyles.Render;\r\n\r\n super.ngOnInit();\r\n } \r\n\r\n public listenChanges(): void {\r\n\r\n this.confStore.onConfCodeValuesChange(this.configurationId, this.confSessionId,\r\n (): void => {\r\n const uiItem = this.visibilityService.findConfUIItem(this.confPageSessionService.activeConfiguration, +this.id);\r\n\r\n // Get values model which contain the values for each decoration belonging to current \r\n if (uiItem !== null)\r\n this.valuesModel = this.builder.build(uiItem, true, [CodeDisplayStyles.Render, CodeDisplayStyles.Popup, CodeDisplayStyles.DownloadLink]).get(0);\r\n\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n }\r\n}\r\n","
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{decoration.title}}\r\n \r\n \r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n
","import { Component, Input, OnInit } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\nimport { DataCellView, DataRowView, InputViewModel } from \"../../../../shared/components/shared\";\r\nimport { BaseComponent } from \"../../../shared\";\r\nimport { PagerModel } from \"../../../shared/components/pager/pagerModel\";\r\nimport { ConfDataSelectorValue, DataSelectColumn, DataSelector, Grid, SearchInfo} from \"../../../shared/models\";\r\nimport { GridRow } from \"../../../shared/models/responses\";\r\nimport { ProductDataStore } from \"../../../shared/providers/productData\";\r\nimport { FilterItemViewModel } from \"../../components/filter/filterItemViewModel\";\r\nimport { VisualObjectHelper } from \"../../parameters/shared\";\r\nimport { ConfiguratorStore, ConfPageSessionService } from \"../../providers\";\r\nimport { ConfMessageProvider } from \"../../providers/confMessageProvider\";\r\nimport { DataSelectorStore } from \"./dataSelectorStore\";\r\nimport { GlobalDataStore } from \"../../../shared/providers/globalData\";\r\nimport { PagerService } from \"../../../shared/components/pager/pagerService\";\r\n\r\n// TODO maybe combine this with BomTable.\r\n@Component({ template: '' })\r\nexport abstract class AbstractDataSelectorGridComponent extends BaseComponent implements OnInit {\r\n\r\n @Input()\r\n decoration: DataSelector;\r\n\r\n @Input() \r\n confValue: ConfDataSelectorValue;\r\n\r\n public width: string;\r\n\r\n public pagerModel: PagerModel;\r\n public readonly defaultDisplayCount = 10;\r\n\r\n public filterItems: Array = [];\r\n\r\n /** UI rows */\r\n public rows: Array = [];\r\n /** UI columns */\r\n public columns: Array = [];\r\n public selectedValue: GridRow;\r\n\r\n /** All grid rows, stored as reference */\r\n public gridRows: Immutable.List;\r\n\r\n public showFilter = false;\r\n public isFiltered = false;\r\n public filterVisible = false;\r\n\r\n public refreshPager = false;\r\n\r\n public searchInfo: SearchInfo;\r\n\r\n public descending = false;\r\n public sortKey = null;\r\n\r\n constructor(\r\n public confMessageProvider: ConfMessageProvider,\r\n public dataSelectorStore: DataSelectorStore,\r\n public productStore: ProductDataStore,\r\n public confStore: ConfiguratorStore,\r\n public storeSession: ConfPageSessionService,\r\n public visualObjectHelper: VisualObjectHelper,\r\n public globalDataStore: GlobalDataStore,\r\n public pagerService: PagerService\r\n ) {\r\n super();\r\n\r\n this.pagerModel = this.pagerService.create(10, 1, null, null, [\"5\", \"10\", \"20\", \"50\", \"100\", \"200\", this.strings.All]);\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.filterVisible = this.globalDataStore.globalSettings.dataSelectorFilterControlsVisible;\r\n\r\n if (this.visualObjectHelper.isVisualObjectInAccordion(this.decoration)) {\r\n this.width = \"100%\";\r\n }\r\n else {\r\n if (!this.decoration.showInline) {\r\n this.width = this.decoration.dialogWidth ? this.decoration.dialogWidth + 'px' : this.uiSettings.configurator.decoration.dataSelector.dialogWidth;\r\n }\r\n }\r\n\r\n if (this.decoration && this.decoration.pageSize)\r\n this.pagerService.updatePageSizes(this.decoration.pageSize, this.pagerModel);\r\n }\r\n\r\n protected setGridData(gridData: Grid) {\r\n this.createTable(gridData);\r\n\r\n this.pagerService.update(gridData.pagination, this.pagerModel);\r\n this.refreshPager = !this.refreshPager;\r\n\r\n // Update search info. Could be changed from server.\r\n this.searchInfo = gridData.search;\r\n this.isFiltered = this.searchInfo != null;\r\n this.showFilter = this.showFilter && this.searchInfo != null;\r\n }\r\n\r\n createTable(gridData: Grid): void {\r\n this.rows = [];\r\n this.columns = [];\r\n this.filterItems = [];\r\n this.gridRows = gridData.rows;\r\n\r\n\r\n // First set up columns\r\n let dataSelectColumns: Array = [];\r\n\r\n this.productStore.getEntity(this.decoration.longId).columns.forEach(columnId => {\r\n let column = this.productStore.getEntity(columnId);\r\n dataSelectColumns.push(column);\r\n\r\n if (!column.isFilterSupported)\r\n return;\r\n\r\n let filterColumn = new FilterItemViewModel(column.title);\r\n filterColumn.id = column.longId.toString();\r\n filterColumn.type = column.type;\r\n this.filterItems.push(filterColumn);\r\n });\r\n\r\n if (gridData.rows.first() == null)\r\n return;\r\n\r\n // Get the columns in the correct order\r\n let sortedColumns = dataSelectColumns.sort((x, y) => x.order - y.order);\r\n\r\n let sortedKey = gridData.sorting?.key;\r\n let descending = gridData.sorting?.descending;\r\n\r\n sortedColumns.forEach((column: DataSelectColumn) => {\r\n let columnView: DataCellView = {\r\n id: ''+column.longId,\r\n contents: column.title,\r\n classes: `text-center ellipsis clickable ${sortedKey == ''+column.longId ? descending ? 'caret-down' : 'caret-up' : ''}`,\r\n width: column.width > 0 ? column.width : null,\r\n safeStyle: this.columnStyle(column.width, dataSelectColumns)\r\n };\r\n this.columns.push(columnView);\r\n });\r\n\r\n // Create a row model for each gridrow\r\n gridData.rows.forEach(rowData => {\r\n let setValue = this.confValue.keyId === rowData.id;\r\n let rowView: DataRowView = {\r\n cells: [],\r\n classes: `useHover clickable ${setValue ? 'setValue' : ''}`,\r\n id: rowData.id.toString()\r\n };\r\n\r\n sortedColumns.forEach((column: DataSelectColumn) => {\r\n let cellValue = rowData.values.get(column.longId.toString());\r\n\r\n // link columns have different style and behaviour.\r\n let valueCell: DataCellView = {\r\n id: column.longId.toString(),\r\n classes: `ellipsis py-2 text-${column.alignment} justify-content-${column.alignment.replace(\"left\",\"start\").replace(\"right\",\"end\")}`,\r\n width: column.width > 0 ? column.width : null,\r\n safeStyle: this.columnStyle(column.width, dataSelectColumns),\r\n contents: column.hyperLink && !column.image ? null : cellValue,\r\n image: column.image ? cellValue : null,\r\n href: column.hyperLink ? cellValue : null,\r\n };\r\n rowView.cells.push(valueCell);\r\n });\r\n\r\n this.rows.push(rowView);\r\n });\r\n }\r\n\r\n /** Calculate the column width */\r\n protected columnStyle(columnWidth: number, dataSelectColumns: Array) {\r\n let totalWidth = 0;\r\n let noOfZeroWidthColumns = 0;\r\n dataSelectColumns.forEach((column: DataSelectColumn, index: number) => {\r\n if (column.width <= 0)\r\n noOfZeroWidthColumns++;\r\n else\r\n totalWidth += column.width;\r\n });\r\n\r\n if (totalWidth == 0 && noOfZeroWidthColumns > 0)\r\n return { \"width\": 100 / noOfZeroWidthColumns + \"%\" };\r\n\r\n let defaultWidth = totalWidth / dataSelectColumns.length;\r\n\r\n if (columnWidth == null || columnWidth <= 0)\r\n columnWidth = defaultWidth;\r\n\r\n totalWidth = totalWidth + (noOfZeroWidthColumns * defaultWidth);\r\n columnWidth = (columnWidth / totalWidth) * 100;\r\n\r\n return { \"width\": columnWidth + \"%\" };\r\n }\r\n\r\n public trackRow(index: number, row: DataRowView): any {\r\n return row.id;\r\n }\r\n\r\n public abstract handleSetSelectedValueError();\r\n public abstract handleSetSelectedValueSuccess();\r\n\r\n public setSelectedValue() {\r\n if (this.selectedValue != null) {\r\n this.dataSelectorStore.setDataSelectorValue(this.storeSession.activeConfigurationId, this.storeSession.confSessionId, this.decoration.visualObjectId, this.selectedValue.id);\r\n }\r\n }\r\n\r\n public refreshPage(clearSearch: boolean = false) {\r\n this.dataSelectorStore.dispatchGetRows(this.storeSession.activeConfigurationId, this.storeSession.confSessionId, this.decoration.visualObjectId, clearSearch ? null : this.pagerModel.displayCountView.displayAll ? 0 : this.pagerModel.displayCountView.count,\r\n clearSearch, this.pagerModel.currentPage, this.sortKey, this.descending);\r\n }\r\n\r\n public columnClick(column: DataCellView) {\r\n let key = column.id;\r\n\r\n if (this.sortKey == key)\r\n this.descending = !this.descending;\r\n else\r\n this.descending = false;\r\n\r\n this.sortKey = key;\r\n\r\n this.dataSelectorStore.dispatchGetRows(this.storeSession.activeConfigurationId, this.storeSession.confSessionId, this.decoration.visualObjectId, this.pagerModel.displayCountView.displayAll ? 0 : this.pagerModel.displayCountView.count,\r\n false, this.pagerModel.currentPage, this.sortKey, this.descending);\r\n }\r\n\r\n public onValueClick(value: DataRowView) {\r\n let id = parseInt(value.id);\r\n this.selectedValue = this.gridRows.find(x => x.id === id);\r\n }\r\n\r\n public toggleShowFilter() {\r\n this.showFilter = !this.showFilter;\r\n }\r\n\r\n public onFilter(event) {\r\n let column = parseInt(event.filterItem.value);\r\n let value1 = event.value1;\r\n let value2 = event.value2;\r\n let filterType = event.filterType;\r\n\r\n this.dataSelectorStore.searchDataSelectorValues(this.storeSession.activeConfigurationId, this.storeSession.confSessionId, this.decoration.visualObjectId, column, value1, value2, filterType)\r\n\r\n this.isFiltered = true;\r\n }\r\n\r\n public onCancelFilter() {\r\n this.showFilter = false;\r\n }\r\n\r\n public clearFilter() {\r\n this.showFilter = false;\r\n this.dataSelectorStore.clearDataSelectorSearch(this.storeSession.activeConfigurationId, this.storeSession.confSessionId, this.decoration.visualObjectId);\r\n this.pagerModel.currentPage = 1;\r\n this.isFiltered = false;\r\n }\r\n}","import { Inject, Injectable } from '@angular/core';\r\nimport { ApiResponse, ConfDataRequest } from \"../../../shared/models\";\r\nimport { ConfDataResponse } from \"../../../shared/models/responses\";\r\nimport { ConfDataActionCreator } from \"../../../shared/providers/configurationData\";\r\nimport { ActionStatus, AppAsyncAction, AppStore, HttpAction } from \"../../../shared/state\";\r\nimport { DataSelectorController } from \"./dataSelectorController\";\r\n\r\n\r\n@Injectable()\r\nexport class DataSelectorActions {\r\n static GET_DATASELECTOR_ROWS = \"@DATASELECTOR_GET_DATASELECTOR_ROWS\";\r\n static GET_DATASELECTOR_KEY_DETAIL = \"@DATASELECTOR_GET_DATASELECTOR_KEY_DETAIL\";\r\n static SET_DATASELECTOR_VALUE = \"@DATASELECTOR_DATASELECTOR_VALUE\";\r\n static CLEAR_DATASELECTOR_VALUE = \"@DATASELECTOR_CLEAR_DATASELECTOR_VALUE\";\r\n static SEARCH_DATASELECTOR_VALUES = \"@DATASELECTOR_SEARCH_DATASELECTOR_VALUES\";\r\n static CLEAR_DATASELECTOR_SEARCH = \"@DATASELECTOR_CLEAR_DATASELECTOR_SEARCH\";\r\n}\r\n\r\n@Injectable()\r\nexport class DataSelectorActionCreator {\r\n\r\n constructor(\r\n @Inject(DataSelectorController) public selectorController: DataSelectorController,\r\n @Inject(ConfDataActionCreator) public configurationActionCreator: ConfDataActionCreator,\r\n @Inject(AppStore) public appStore: AppStore\r\n ) {\r\n }\r\n\r\n getDataSelectorRows(model: ConfDataRequest): HttpAction {\r\n let asyncAction = >{\r\n type: DataSelectorActions.GET_DATASELECTOR_ROWS,\r\n executeAsync: (dispatch, state, callback) => {\r\n return this.selectorController.getDataSelectorRows(model)\r\n .subscribe(configurationDataResult => {\r\n dispatch(this.configurationActionCreator.configurationLoaded(configurationDataResult));\r\n\r\n callback(new ActionStatus(true, configurationDataResult));\r\n });\r\n }\r\n }\r\n return asyncAction;\r\n }\r\n\r\n getDataSelectorKeyDetail(model: ConfDataRequest): AppAsyncAction {\r\n let asyncAction = {\r\n type: DataSelectorActions.GET_DATASELECTOR_KEY_DETAIL,\r\n executeAsync: (dispatch, state, callback) => {\r\n this.selectorController.getDataSelectorKeyDetail(model)\r\n .subscribe(x => {\r\n dispatch(this.configurationActionCreator.configurationLoaded(x));\r\n\r\n callback(new ActionStatus(true, x));\r\n });\r\n }\r\n }\r\n return asyncAction;\r\n }\r\n\r\n dispatchSetDataSelectorValue = (model: ConfDataRequest) => this.appStore.dispatch(this.setDataSelectorValue(model)) as HttpAction;\r\n setDataSelectorValue(model: ConfDataRequest): HttpAction {\r\n\r\n return >{\r\n\r\n type: DataSelectorActions.SET_DATASELECTOR_VALUE,\r\n executeAsync: (dispatch, state, callback) => {\r\n return this.selectorController.setDataSelectorValue(model).subscribe(configurationDataResult => {\r\n\r\n this.configurationActionCreator.dispatchConfigurationLoaded(configurationDataResult);\r\n\r\n // Notify result complete.\r\n callback(new ActionStatus(true, configurationDataResult));\r\n })\r\n }\r\n }\r\n }\r\n\r\n dispatchClearSelectorValue = (model: ConfDataRequest) => this.appStore.dispatch(this.clearDataSelectorValue(model)) as HttpAction;\r\n clearDataSelectorValue(model: ConfDataRequest): HttpAction {\r\n\r\n return >{\r\n\r\n type: DataSelectorActions.CLEAR_DATASELECTOR_VALUE,\r\n executeAsync: (dispatch, state, callback) => {\r\n return this.selectorController.clearDataSelectorValue(model).subscribe(configurationDataResult => {\r\n\r\n this.configurationActionCreator.dispatchConfigurationLoaded(configurationDataResult);\r\n\r\n // Notify result complete.\r\n callback(new ActionStatus(true, configurationDataResult));\r\n })\r\n }\r\n }\r\n }\r\n\r\n dispatchSearchDataSelectorValues = (model: ConfDataRequest) => this.appStore.dispatch(this.searchDataSelectorValues(model)) as HttpAction;\r\n searchDataSelectorValues(model: ConfDataRequest): AppAsyncAction {\r\n let asyncAction = {\r\n type: DataSelectorActions.SEARCH_DATASELECTOR_VALUES,\r\n executeAsync: (dispatch, state, callback) => {\r\n return this.selectorController.searchDataSelectorValues(model).subscribe(x => {\r\n dispatch(this.configurationActionCreator.configurationLoaded(x));\r\n\r\n callback(new ActionStatus(true, x));\r\n });\r\n }\r\n }\r\n return asyncAction;\r\n }\r\n\r\n dispatchClearDataSelectorSearch = (model: ConfDataRequest) => this.appStore.dispatch(this.clearDataSelectorSearch(model)) as HttpAction;\r\n clearDataSelectorSearch(model: ConfDataRequest): AppAsyncAction {\r\n let asyncAction = {\r\n type: DataSelectorActions.CLEAR_DATASELECTOR_SEARCH,\r\n executeAsync: (dispatch, state, callback) => {\r\n return this.selectorController.clearDataSelectorSearch(model).subscribe(x => {\r\n dispatch(this.configurationActionCreator.configurationLoaded(x));\r\n\r\n callback(new ActionStatus(true, x));\r\n });\r\n }\r\n }\r\n return asyncAction;\r\n }\r\n}\r\n","import { ChangeDetectorRef, Component, Inject, ViewChild, ChangeDetectionStrategy } from \"@angular/core\";\r\nimport { InputViewModel } from \"../../../../shared/components\";\r\nimport { ConfDataSelectorValue, DataSelector, Tab } from \"../../../shared/models\";\r\nimport { TabDisplayStyle } from \"../../../shared/providers\";\r\nimport { ProductDataStore } from \"../../../shared/providers/productData\";\r\nimport { ConfiguratorStore, ConfPageSessionService } from \"../../providers\";\r\nimport { DecorationComponent } from \"../../shared/decorationComponent\";\r\nimport { DataSelectorActionCreator } from \"./dataSelectorActionCreator\";\r\nimport { DataSelectorController } from \"./dataSelectorController\";\r\nimport { DataSelectorStore } from \"./dataSelectorStore\";\r\nimport { DataSelectorTableModalComponent } from \"./dataSelectorTableModalComponent\";\r\nimport { Delay, sleep } from \"../../../../shared/utils\";\r\nimport { VisualObjectHelper } from \"../../parameters/shared\";\r\n\r\n@Component({\r\n selector: 'data-selector-decoration',\r\n templateUrl: './dataSelectorComponent.html',\r\n providers: [DataSelectorStore, DataSelectorActionCreator, DataSelectorController],\r\n changeDetection: ChangeDetectionStrategy.Default\r\n})\r\nexport class DataSelectorComponent extends DecorationComponent {\r\n\r\n public confDataSelectorValue: ConfDataSelectorValue;\r\n public view: InputViewModel;\r\n\r\n public value: string = \"Empty\";\r\n public placeholder: string = \"\";\r\n public isSidebar: boolean;\r\n public showInline: boolean = false;\r\n public showTable: boolean = false;\r\n public activeConfId: number;\r\n\r\n @ViewChild(\"selectorModelComponent\")\r\n selectorModelComponent: DataSelectorTableModalComponent;\r\n\r\n constructor(\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfPageSessionService) public confPageSessionService: ConfPageSessionService,\r\n @Inject(DataSelectorStore) public dataSelectorStore: DataSelectorStore,\r\n @Inject(ProductDataStore) public productDataStore: ProductDataStore,\r\n @Inject(VisualObjectHelper) public visualObjectHelper: VisualObjectHelper,\r\n public cdr: ChangeDetectorRef,\r\n ) {\r\n super(confStore, confPageSessionService, visualObjectHelper);\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.view = new InputViewModel();\r\n this.view.icon = \"product\"; //TODO dataselector\r\n this.view.iconHeight = this.view.iconWidth = \"24px\";\r\n\r\n this.showInline = this.decoration.showInline;\r\n\r\n this.updateValue(this.confStore.getConfDataEntity(this.configuration.longId, this.confPageSessionService.confSessionId, this.decoration.visualObjectId));\r\n super.ngOnInit();\r\n\r\n this.view.iconImageSet = this.imageSet;\r\n }\r\n\r\n public clearValue() {\r\n this.dataSelectorStore.clearValue(this.confPageSessionService.activeConfigurationId, this.confPageSessionService.confSessionId, this.decoration.visualObjectId);\r\n }\r\n\r\n public listenChanges(): void {\r\n this.confStore.onConfigurationValueChange(this.confPageSessionService.activeConfigurationId, this.confPageSessionService.confSessionId, this.decoration.visualObjectId, (value: ConfDataSelectorValue) => {\r\n this.updateValue(value);\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n }\r\n\r\n public openTable() {\r\n\r\n let tab = this.productDataStore.getEntity(this.decoration.tabId) as Tab;\r\n\r\n this.isSidebar = tab.displayStyle == TabDisplayStyle.Accordion;\r\n\r\n this.showTable = true;\r\n\r\n // ChangeDectectionStrategy.Default is used in this component because this component would be loaded on demand when user clicks on\r\n // dataselector icon. It won't cause any big performance penalty.\r\n //this.cdr.detectChanges();\r\n sleep(Delay.MS_0).then(x => {\r\n this.selectorModelComponent.show();\r\n });\r\n }\r\n\r\n public closeTable() {\r\n this.showTable = false;\r\n }\r\n\r\n updateValue(confValue: ConfDataSelectorValue): void {\r\n this.confDataSelectorValue = confValue;\r\n\r\n if (this.hasValue) {\r\n this.value = this.confDataSelectorValue.value;\r\n }\r\n else {\r\n this.value = \"\";\r\n this.placeholder = (this.decoration.placeholder && this.decoration.placeholder.trim() != \"\") ? this.decoration.placeholder : this.strings.Empty;\r\n } \r\n }\r\n\r\n public get hasValue() {\r\n return this.confDataSelectorValue != null && this.confDataSelectorValue.value != null;\r\n }\r\n}","
\r\n
\r\n \r\n \r\n\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpService } from \"../../../../shared/providers\";\r\nimport { ApiResponse, ConfDataRequest } from \"../../../shared/models\";\r\nimport { ApiResponseBuilder } from \"../../../shared/providers/apiResponseBuilder\";\r\nimport { ConfDataController } from \"../../../shared/providers/configurationData\";\r\nimport { GlobalDataStore } from \"../../../shared/providers/globalData\";\r\n\r\n\r\n@Injectable()\r\nexport class DataSelectorController extends ConfDataController {\r\n\r\n constructor(\r\n @Inject(HttpService) public httpService: HttpService,\r\n public apiResponseBuilder: ApiResponseBuilder,\r\n public globalDataStore: GlobalDataStore\r\n ) {\r\n super(httpService, apiResponseBuilder, globalDataStore);\r\n }\r\n\r\n public getDataSelectorRows(model: ConfDataRequest): Observable {\r\n return this.getConfigurationData(model);\r\n }\r\n\r\n public getDataSelectorKeyDetail(model: ConfDataRequest): Observable {\r\n return this.getConfigurationData(model);\r\n }\r\n\r\n public clearDataSelectorValue(model: ConfDataRequest): Observable {\r\n return this.getConfigurationData(model);\r\n }\r\n\r\n public setDataSelectorValue(model: ConfDataRequest): Observable {\r\n return this.getConfigurationData(model);\r\n }\r\n\r\n public searchDataSelectorValues(model: ConfDataRequest) : Observable {\r\n return this.getConfigurationData(model);\r\n }\r\n\r\n public clearDataSelectorSearch(model: ConfDataRequest) : Observable {\r\n return this.getConfigurationData(model);\r\n }\r\n}","import { Inject, Injectable } from '@angular/core';\r\nimport * as Immutable from \"immutable\";\r\nimport { FilterType } from \"../../../../shared/components/shared\";\r\nimport { ICallback, IObserverOptions, ManagedSubscription, SubscriptionOptions } from \"../../../../shared/managedSubscription\";\r\nimport { ConfDataRequest, DataSelectorCommand, GridArgument, PaginationArgument, RequestViews, SearchArgument, SortingArgument } from \"../../../shared/models\";\r\nimport { DataSelectorGridMessage, DataSelectorKeyDetailMessage } from \"../../../shared/models/responses/messages\";\r\nimport { AppStoreSubscriptionManager, ModelFactory, RouteRedirector } from \"../../../shared/providers\";\r\nimport { GlobalDataStore } from \"../../../shared/providers/globalData\";\r\nimport { AppStore, BaseStore } from \"../../../shared/state\";\r\nimport { ConfiguratorStore, ConfMessageProvider, ConfPageSessionService, ConfDataMemorizer, ConfiguratorUIStore } from \"../../providers\";\r\nimport { DataSelectorActionCreator } from \"./dataSelectorActionCreator\";\r\nimport { ConfDataActionCreator } from '../../../shared/providers/configurationData';\r\n\r\n@Injectable()\r\nexport class DataSelectorStore extends ConfiguratorStore {\r\n\r\n constructor(\r\n @Inject(AppStore) public appStore: AppStore, \r\n @Inject(ConfPageSessionService) public storeSession: ConfPageSessionService,\r\n @Inject(DataSelectorActionCreator) public actionCreator: DataSelectorActionCreator,\r\n @Inject(ConfMessageProvider) public messagesProvider: ConfMessageProvider, \r\n @Inject(ConfDataActionCreator) public confActionCreator: ConfDataActionCreator,\r\n @Inject(AppStoreSubscriptionManager) public appStoreSubscriptionManager: AppStoreSubscriptionManager,\r\n @Inject(ConfDataMemorizer) public memorizer: ConfDataMemorizer,\r\n @Inject(ConfMessageProvider) public confMessageProvider: ConfMessageProvider,\r\n @Inject(ModelFactory) public modelFactory: ModelFactory,\r\n @Inject(GlobalDataStore) public globalDataStore: GlobalDataStore,\r\n @Inject(RouteRedirector) public routeRredirector: RouteRedirector,\r\n @Inject(ConfiguratorUIStore) public confUIStore: ConfiguratorUIStore\r\n ) {\r\n super(appStore, confActionCreator, appStoreSubscriptionManager, memorizer, confMessageProvider, modelFactory, globalDataStore, routeRredirector, confUIStore);\r\n }\r\n\r\n public onRowMessageRequest(confSessionId: number, dataSelectorId: number, subscriptionOptions: SubscriptionOptions): ManagedSubscription {\r\n let observer = >subscriptionOptions;\r\n if (!observer.next)\r\n observer.next = >subscriptionOptions;\r\n\r\n // Override observer and filter on dataSelectorId\r\n let originalObserver = observer.next;\r\n observer.next = (messages: Immutable.List) => {\r\n let message = messages.find(x => x.dataSelectorId === dataSelectorId);\r\n if (message)\r\n originalObserver(message);\r\n }\r\n\r\n return this.messagesProvider.onMessagesRequest(confSessionId, DataSelectorGridMessage.name, observer);\r\n }\r\n\r\n public dispatchGetRows(configurationId: number, confSessionId: number, dataSelectorId: number, pageSize: number, clearSearch?: boolean, pageIndex?: number, key?: string, descending?: boolean) {\r\n\r\n let model = super.createRequest(RequestViews.Editor);\r\n model.confSessionId = confSessionId; \r\n model.dataSelector = this.modelFactory.createRequestOrCommand(DataSelectorCommand.name, {\r\n\r\n responseFormat: this.globalDataStore.getConfResponseFormat(RequestViews.Editor),\r\n configurationId: configurationId, dataSelectorId: dataSelectorId, \r\n clearSearch: clearSearch,\r\n\r\n gridData: this.modelFactory.createAny(GridArgument.name, {\r\n\r\n pagination: this.modelFactory.createAny(PaginationArgument.name, {\r\n pageSize: pageSize,\r\n pageIndex: clearSearch ? null : pageIndex\r\n }),\r\n sorting: this.modelFactory.createAny(SortingArgument.name, {field: key, descending: descending })\r\n })\r\n });\r\n \r\n this.appStore.dispatch(this.actionCreator.getDataSelectorRows(model));\r\n }\r\n\r\n public setDataSelectorValue(configurationId: number, confSessionId: number, dataSelectorId: number, keyId: number): void {\r\n\r\n let model = super.createRequest(RequestViews.Editor, { confSessionId: confSessionId }); \r\n model.dataSelector = this.modelFactory.createRequestOrCommand(DataSelectorCommand.name, {\r\n configurationId: configurationId, dataSelectorId: dataSelectorId, setKey: keyId\r\n });\r\n\r\n model.dataSelector.responseFormat = this.globalDataStore.getConfResponseFormat(RequestViews.Editor);\r\n\r\n this.actionCreator.dispatchSetDataSelectorValue(model);\r\n }\r\n\r\n public clearValue(configurationId: number, confSessionId: number, dataSelectorId: number): void {\r\n\r\n let model = super.createRequest(RequestViews.Editor, { confSessionId: confSessionId });\r\n model.dataSelector = this.modelFactory.createRequestOrCommand(DataSelectorCommand.name, {\r\n configurationId: configurationId, dataSelectorId: dataSelectorId, clearKey: true\r\n });\r\n\r\n model.dataSelector.responseFormat = this.globalDataStore.getConfResponseFormat(RequestViews.Editor);\r\n\r\n this.actionCreator.dispatchClearSelectorValue(model);\r\n }\r\n\r\n public searchDataSelectorValues(configurationId: number, confSessionId: number, dataSelectorId: number, fieldId: number, value1: string, value2: string, filterType: FilterType): void {\r\n\r\n let model = super.createRequest(RequestViews.Editor, { confSessionId: confSessionId });\r\n model.dataSelector = this.modelFactory.createRequestOrCommand(DataSelectorCommand.name, {\r\n configurationId: configurationId, dataSelectorId: dataSelectorId \r\n });\r\n model.dataSelector.responseFormat = this.globalDataStore.getConfResponseFormat(RequestViews.Editor);\r\n\r\n model.dataSelector.search = this.modelFactory.createAny(SearchArgument.name, {\r\n fieldId: fieldId, value1: value1, value2: value2, filterType: filterType\r\n });\r\n \r\n model.dataSelector.gridData = this.modelFactory.createAny(GridArgument.name);\r\n \r\n this.actionCreator.dispatchSearchDataSelectorValues(model);\r\n }\r\n\r\n public clearDataSelectorSearch(configurationId: number, confSessionId: number, dataSelectorId: number): void {\r\n \r\n let model = super.createRequest(RequestViews.Editor, { confSessionId: confSessionId });\r\n model.dataSelector = this.modelFactory.createRequestOrCommand(DataSelectorCommand.name, {\r\n configurationId: configurationId, dataSelectorId: dataSelectorId, clearSearch: true\r\n }); \r\n model.dataSelector.responseFormat = this.globalDataStore.getConfResponseFormat(RequestViews.Editor);\r\n model.dataSelector.gridData = this.modelFactory.createAny(GridArgument.name);\r\n \r\n this.actionCreator.dispatchClearDataSelectorSearch(model);\r\n }\r\n}","import { ChangeDetectorRef, Component, Inject, SimpleChanges, ViewChild } from \"@angular/core\";\r\nimport { DataRowView } from \"../../../../shared/components/shared\";\r\nimport { ImageSets } from \"../../../../shared/utils/imageSets\";\r\nimport { GridRow } from \"../../../shared/models/responses\";\r\nimport { ProductDataStore } from \"../../../shared/providers/productData\";\r\nimport { VisualObjectHelper } from \"../../parameters/shared\";\r\nimport { ConfiguratorStore, ConfPageSessionService } from \"../../providers\";\r\nimport { ConfMessageProvider } from \"../../providers/confMessageProvider\";\r\nimport { AbstractDataSelectorGridComponent } from \"./abstractDataSelectorGridComponent\";\r\nimport { DataSelectorStore } from \"./dataSelectorStore\";\r\nimport { GlobalDataStore } from \"../../../shared/providers/globalData\";\r\nimport { PagerService } from \"../../../shared/components/pager/pagerService\";\r\n\r\n@Component({\r\n selector: 'data-selector-table-inline',\r\n templateUrl: './dataSelectorTableInlineComponent.html'\r\n})\r\nexport class DataSelectorTableInlineComponent extends AbstractDataSelectorGridComponent {\r\n\r\n public tempSelectedValue: GridRow;\r\n\r\n public tableMinWidth: string;\r\n\r\n public isDataReady: boolean = false;\r\n\r\n public imageSet: string;\r\n\r\n public hasValue = false;\r\n\r\n constructor(\r\n @Inject(ConfMessageProvider) public confMessageProvider: ConfMessageProvider,\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfPageSessionService) public storeSession: ConfPageSessionService,\r\n @Inject(DataSelectorStore) public dataSelectorStore: DataSelectorStore,\r\n @Inject(ProductDataStore) public productStore: ProductDataStore,\r\n @Inject(VisualObjectHelper) public visualObjectHelper: VisualObjectHelper,\r\n public globalDataStore: GlobalDataStore,\r\n public cdr: ChangeDetectorRef,\r\n public pagerService: PagerService\r\n ) {\r\n super(confMessageProvider, dataSelectorStore, productStore, confStore, storeSession, visualObjectHelper, globalDataStore, pagerService);\r\n }\r\n\r\n ngOnInit() {\r\n this.tableMinWidth = this.decoration.dialogWidth + \"px\";\r\n\r\n this.imageSet = this.getImageSet(ImageSets.ConfiguratorDecorationHeader);\r\n\r\n super.ngOnInit();\r\n }\r\n\r\n public clearValue() {\r\n this.dataSelectorStore.clearValue(this.storeSession.activeConfigurationId, this.storeSession.confSessionId, this.decoration.visualObjectId);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['confValue']) {\r\n let gridData = this.confValue.gridData;\r\n this.setGridData(gridData);\r\n this.isDataReady = true;\r\n this.hasValue = this.confValue.value != null;\r\n }\r\n }\r\n\r\n public onValueClick(value: DataRowView) {\r\n super.onValueClick(value);\r\n let id = parseInt(value.id);\r\n this.tempSelectedValue = this.gridRows.find(x => x.id === id);\r\n this.setSelectedValue();\r\n }\r\n\r\n public handleSetSelectedValueError() {\r\n // TODO we should use a popup dialog to display the error.\r\n }\r\n public handleSetSelectedValueSuccess() {\r\n }\r\n}","
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {{decoration.title}}\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n 0\" [isOpened]=\"showFilter\" class=\"d-flex justify-content-end\">\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {{column.contents}}\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{cell.contents}}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
","import { ChangeDetectorRef, Component, EventEmitter, Inject, Input, Output } from \"@angular/core\";\r\nimport { PopupService, DataRowView } from \"../../../../shared/components\";\r\nimport { DataSelectorGridMessage } from \"../../../shared/models\";\r\nimport { ProductDataStore } from \"../../../shared/providers/productData\";\r\nimport { VisualObjectHelper } from \"../../parameters/shared\";\r\nimport { ConfiguratorStore, ConfPageSessionService } from \"../../providers\";\r\nimport { ConfMessageProvider } from \"../../providers/confMessageProvider\";\r\nimport { AbstractDataSelectorGridComponent } from \"./abstractDataSelectorGridComponent\";\r\nimport { DataSelectorStore } from \"./dataSelectorStore\";\r\nimport { GlobalDataStore } from \"../../../shared/providers/globalData\";\r\nimport { PagerService } from \"../../../shared/components/pager/pagerService\";\r\nimport { ImageSets } from \"../../../../shared/utils\";\r\n\r\n\r\n@Component({\r\n selector: 'data-selector-table-modal',\r\n templateUrl: './dataSelectorTableModalComponent.html'\r\n})\r\nexport class DataSelectorTableModalComponent extends AbstractDataSelectorGridComponent {\r\n\r\n public id: string = \"data-selector-popup\";\r\n public visible = false;\r\n\r\n public tableMinWidth: string;\r\n\r\n public isDataReady: boolean = false;\r\n\r\n public title: string;\r\n\r\n public imageSet: string;\r\n\r\n @Input()\r\n isSidebar: boolean;\r\n\r\n @Output()\r\n onClosed = new EventEmitter();\r\n\r\n constructor(\r\n @Inject(ConfMessageProvider) public confMessageProvider: ConfMessageProvider,\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfPageSessionService) public storeSession: ConfPageSessionService,\r\n @Inject(DataSelectorStore) public dataSelectorStore: DataSelectorStore,\r\n @Inject(ProductDataStore) public productStore: ProductDataStore,\r\n @Inject(PopupService) public popupService: PopupService,\r\n @Inject(VisualObjectHelper) public visualObjectHelper: VisualObjectHelper,\r\n public cdr: ChangeDetectorRef,\r\n public globalDataStore: GlobalDataStore,\r\n public pagerService: PagerService\r\n ) {\r\n super(confMessageProvider, dataSelectorStore, productStore, confStore, storeSession, visualObjectHelper, globalDataStore, pagerService);\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.imageSet = this.getImageSet(ImageSets.ConfiguratorDataSelectorPopupHeader);\r\n\r\n this.title = this.decoration.title != '' ? this.title = this.decoration.title : this.title = this.strings.DataSelector;\r\n\r\n // standard width: if not set then 90% if popup, read from ui settings if sidebar\r\n this.width = this.decoration.dialogWidth ? this.decoration.dialogWidth + 'px' : this.isSidebar ? this.uiSettings.configurator.decoration.dataSelector.dialogWidth : '90%';\r\n // table minwidth (enables scrolling): set if width is a percentage or bigger than window size\r\n this.tableMinWidth = this.width === '90%' ? this.uiSettings.configurator.decoration.dataSelector.dialogWidth : parseInt(this.width) > window.innerWidth ? this.width : \"\";\r\n\r\n if (this.decoration && this.decoration.pageSize)\r\n this.pagerService.updatePageSizes(this.decoration.pageSize, this.pagerModel);\r\n\r\n this.filterVisible = this.globalDataStore.globalSettings.dataSelectorFilterControlsVisible;\r\n }\r\n\r\n public handleSetSelectedValueError() {\r\n // TODO we should use a popup dialog to display the error.\r\n }\r\n public handleSetSelectedValueSuccess() {\r\n // We've successfully set value -> close table -> inform\r\n }\r\n\r\n public onPopupClosed(): void {\r\n this.visible = false;\r\n this.onClosed.emit();\r\n }\r\n\r\n listenChanges() {\r\n this.dataSelectorStore.onRowMessageRequest(this.storeSession.confSessionId, this.decoration.visualObjectId, {\r\n next: (gridMessage: DataSelectorGridMessage): void => {\r\n let gridData = gridMessage.gridData;\r\n this.createTable(gridData);\r\n\r\n this.pagerService.update(gridData.pagination, this.pagerModel);\r\n this.refreshPager = !this.refreshPager;\r\n\r\n // Update search info. Could be changed from server.\r\n this.searchInfo = gridData.search;\r\n this.isFiltered = this.searchInfo != null;\r\n this.showFilter = this.showFilter && this.searchInfo != null;\r\n\r\n this.isDataReady = true;\r\n\r\n this.visible = true;\r\n\r\n setTimeout(() => {\r\n this.popupService.open(this.id);\r\n this.cdr.detectChanges();\r\n }, 100);\r\n },\r\n listenNewEventsOnly: true\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n this.refreshPage(true);\r\n }\r\n\r\n public show(): void {\r\n this.listenChanges();\r\n }\r\n\r\n public onValueClick(value: DataRowView) {\r\n super.onValueClick(value);\r\n this.setSelectedValue();\r\n this.popupService.close(this.id);\r\n }\r\n} ","\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n\r\n \r\n \r\n \r\n

{{strings.SelectValue}}

\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n 0\" [isOpened]=\"showFilter\" class=\"d-flex justify-content-end popup\">\r\n \r\n \r\n \r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {{column.contents}}\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{cell.contents}}\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
","export * from \"./abstractDataSelectorGridComponent\";\r\nexport * from \"./dataSelectorActionCreator\";\r\nexport * from \"./dataSelectorComponent\";\r\nexport * from \"./dataSelectorController\";\r\nexport * from \"./dataSelectorStore\";\r\nexport * from \"./dataSelectorTableInlineComponent\";\r\nexport * from \"./dataSelectorTableModalComponent\";\r\n","import { Component, Inject } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\nimport { ConfDocumentValue, DocumentsDecoration } from \"../../../shared/models\";\r\nimport { ConfiguratorStore, ConfPageSessionService } from \"../../providers\";\r\nimport { DecorationComponent } from \"../../shared/decorationComponent\";\r\nimport { VisualObjectVisibilityService } from \"../../shared\";\r\nimport { VisualObjectHelper } from \"../../parameters/shared\";\r\n\r\n@Component({\r\n selector: 'documents-decoration',\r\n templateUrl: './documentsDecorationComponent.html'\r\n})\r\nexport class DocumentsDecorationComponent extends DecorationComponent {\r\n\r\n public documentValues: Array;\r\n\r\n constructor(\r\n public confStore: ConfiguratorStore,\r\n public confPageSessionService: ConfPageSessionService,\r\n @Inject(VisualObjectHelper) public visualObjectHelper: VisualObjectHelper,\r\n public visualObjectVisibilityService: VisualObjectVisibilityService\r\n ) {\r\n super(confStore, confPageSessionService, visualObjectHelper);\r\n }\r\n\r\n public listenChanges(): void {\r\n\r\n this.confStore.onConfDocumentValuesChange(this.configurationId, this.confSessionId, this.decoration.longId,\r\n (documentValues: Immutable.List): void => {\r\n\r\n this.documentValues = [];\r\n\r\n const confUIItem = this.visualObjectVisibilityService.findConfUIItem(this.configuration, this.decoration.longId);\r\n if (confUIItem) {\r\n confUIItem.items.forEach(item => {\r\n const value = documentValues.find(x => x.longId === item.id);\r\n if(value)\r\n this.documentValues.push(value);\r\n });\r\n }\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n }\r\n}","
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{decoration.title}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
","import { Component, Inject, Input } from \"@angular/core\";\r\nimport { FormDecoration, ConfFormValue, ConfFormControlValue, RequestViews, UIGroup, UIElement } from \"../../../shared/models\";\r\nimport { ConfiguratorStore, ConfPageSessionService } from \"../../providers\";\r\nimport { DecorationComponent } from \"../../shared/decorationComponent\";\r\nimport { VisualObjectHelper } from \"../../parameters/shared\";\r\nimport { PushMessageSelection } from \"../../../shared/providers/pushMessage/pushMessageSelection\";\r\nimport { CodeValueModelBuilder } from \"../../../shared/components/code/providers/codeValueModelBuilder\";\r\nimport * as Immutable from \"immutable\";\r\n\r\n@Component({\r\n selector: 'form-decoration',\r\n templateUrl: './formDecorationComponent.html'\r\n})\r\nexport class FormDecorationComponent extends DecorationComponent {\r\n\r\n public confFormValue: ConfFormValue;\r\n public uiElementId: number;\r\n\r\n @Input()\r\n public showTitle = true;\r\n\r\n public showEditorMargin = true;\r\n public showSummaryMargin = true;\r\n\r\n @Input()\r\n public view = RequestViews.Editor;\r\n\r\n constructor(\r\n public confStore: ConfiguratorStore,\r\n public confPageSessionService: ConfPageSessionService,\r\n @Inject(VisualObjectHelper) public visualObjectHelper: VisualObjectHelper,\r\n\r\n public builder: CodeValueModelBuilder,\r\n\r\n ) {\r\n super(confStore, confPageSessionService, visualObjectHelper);\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.confFormValue = this.confStore.getConfDataEntity(this.configuration.longId, this.confSessionId, this.decoration.longId);\r\n\r\n this.update();\r\n super.ngOnInit();\r\n }\r\n\r\n public listenChanges(): void {\r\n this.confStore.onConfigurationValueChange(this.configurationId, this.confSessionId, this.decoration.longId, (value: ConfFormValue): void => {\r\n\r\n this.confFormValue = value;\r\n this.update();\r\n\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n }\r\n\r\n public update() {\r\n\r\n this.uiElementId = this.confFormValue.uiElements.first();\r\n\r\n this.showTitle = this.view != RequestViews.Summary && this.decoration.title != null && this.decoration.title.length > 0;\r\n this.showEditorMargin = this.view == RequestViews.Editor && this.decoration.title != null && this.decoration.title.length > 0;\r\n this.showSummaryMargin = this.view == RequestViews.Summary;\r\n }\r\n\r\n public onAction(event: PushMessageSelection) {\r\n\r\n let triggerElement: any = this.confStore.getElements(this.confSessionId).find((a) => a.id == event.key);\r\n\r\n this.confStore.setElementValue(event);\r\n\r\n if (triggerElement && triggerElement.className == \"UIInput\" && triggerElement.type == \"submit\") {\r\n let valuesById = this.confStore.getElementValuesById(this.confSessionId);\r\n\r\n let decorationValueById = Immutable.Map();\r\n\r\n let element = this.confStore.getElement(this.uiElementId, this.confSessionId);\r\n\r\n let elements = this.getAllElements(element);\r\n\r\n elements.forEach(element => {\r\n\r\n if (element.id && valuesById.has(element.id)) {\r\n decorationValueById = decorationValueById.set(element.id, valuesById.get(element.id));\r\n }\r\n\r\n });\r\n\r\n this.confStore.formControlSubmit(this.configurationId, this.confSessionId, this.decoration.visualObjectId, +triggerElement.id, decorationValueById, this.view);\r\n }\r\n\r\n }\r\n\r\n public getAllElements(rootElement: UIElement): UIElement[] {\r\n const allElements: UIElement[] = [];\r\n this.traverse(rootElement, allElements);\r\n return allElements;\r\n }\r\n\r\n public traverse(element: UIElement, allElements: UIElement[]) {\r\n allElements.push(element);\r\n\r\n if (element.className == \"UIGroup\") {\r\n let uiGroup = element as unknown as UIGroup;\r\n\r\n uiGroup.uiElements.forEach(a => {\r\n this.traverse(this.confStore.getElement(a, this.confSessionId), allElements);\r\n });\r\n\r\n }\r\n }\r\n}","
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{decoration.title}}\r\n \r\n \r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
","import { ChangeDetectorRef, Component, Inject, Input, ViewChild } from \"@angular/core\";\r\nimport { Breakpoints, ImageSets } from \"../../../../shared/utils\";\r\nimport { ConfGraphicsRequest, GraphicsDecoration, GraphicsDisplayStyle } from \"../../../shared/models\";\r\nimport { ModelFactory } from \"../../../shared/providers\";\r\nimport { ConfDataController } from \"../../../shared/providers/configurationData\";\r\nimport { PageStore } from \"../../../shared/providers/page/pageStore\";\r\nimport { ProductDataStore } from \"../../../shared/providers/productData\";\r\nimport { GraphicsPopupComponent } from \"../../popups\";\r\nimport { ConfiguratorStore, ConfPageSessionService } from \"../../providers\";\r\nimport { DecorationComponent } from \"../../shared/decorationComponent\";\r\nimport { VisualObjectHelper } from \"../../parameters/shared\";\r\n\r\n\r\n@Component({\r\n selector: 'graphics-decoration',\r\n templateUrl: './graphicsDecorationComponent.html',\r\n})\r\nexport class GraphicsDecorationComponent extends DecorationComponent {\r\n\r\n public height: string;\r\n public ngContainerStyle: CSSStyleDeclaration;\r\n public visible: boolean = true;\r\n public isAccordion: boolean = false;\r\n\r\n public title: string;\r\n public isPopup: boolean = false;\r\n\r\n @Input()\r\n public isEditor: boolean = true;\r\n\r\n @Input()\r\n showInlineTitle: boolean = true;\r\n\r\n @ViewChild(GraphicsPopupComponent)\r\n public graphicsPopup: GraphicsPopupComponent;\r\n\r\n constructor(\r\n public productStore: ProductDataStore,\r\n public confStore: ConfiguratorStore,\r\n public confPageSessionService: ConfPageSessionService, \r\n @Inject(PageStore) public pageStore: PageStore,\r\n @Inject(VisualObjectHelper) public visualObjectHelper: VisualObjectHelper,\r\n public configuratorController: ConfDataController,\r\n public modelFactory: ModelFactory,\r\n public cdr: ChangeDetectorRef \r\n ) {\r\n super(confStore, confPageSessionService, visualObjectHelper);\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.height = this.visualObjectHelper.decorationHeight(this.decoration);\r\n this.width = this.visualObjectHelper.visualObjectWidth(this.decoration);\r\n \r\n if (!this.ngContainerStyle)\r\n this.ngContainerStyle = {} as CSSStyleDeclaration;\r\n \r\n //const tab: Tab = this.productStore.getEntity(this.decoration.tabId)\r\n\r\n // Visual objects count\r\n //const vsCount: number = tab.visualObjects.size;\r\n\r\n const isAccordion: boolean = this.visualObjectHelper.isVisualObjectInAccordion(this.decoration);\r\n this.ngContainerStyle.height = isAccordion ? this.height : null; \r\n\r\n // Fix for IE-11\r\n if (isAccordion && this.browserInfo.isIE && !this.browserInfo.isEdge)\r\n this.ngContainerStyle.flexBasis = this.height;\r\n\r\n // As graphics scalling is done through calculations that's why \r\n\r\n this.isPopup = this.decoration.displayStyle === GraphicsDisplayStyle.Popup || this.decoration.displayStyle === GraphicsDisplayStyle.OpenInDownloadFormat;\r\n // Title can't be hidden for popup\r\n this.showTitle = this.isPopup || (this.decoration.title && this.decoration.title.trim() != '');\r\n // Popup must have a title, so just assign it \"Graphics\".\r\n this.title = this.decoration.title || (this.isPopup ? this.strings.Graphics : null);\r\n\r\n this.imageSet = this.getImageSet(ImageSets.ConfiguratorDecorationHeader);\r\n\r\n // This is the special case where super don't need to be called, because in graphics listening should be done after view initialization.\r\n //super.ngOnInit();\r\n\r\n }\r\n\r\n\r\n public openPopup() {\r\n\r\n if (this.decoration.displayStyle == GraphicsDisplayStyle.OpenInDownloadFormat) {\r\n let model: ConfGraphicsRequest = this.modelFactory.createAny(ConfGraphicsRequest.name) as any;\r\n model.client = this.pageStore.getActiveClientType();\r\n model.fileType = \"SVG\";\r\n model.configurationId = this.configurationId;\r\n model.confSessionId = this.confSessionId;\r\n model.graphicsDecorationId = this.decoration.visualObjectId;\r\n\r\n window.open(this.configuratorController.getConfigurationGraphicViewerUrl(model));\r\n }\r\n else\r\n this.graphicsPopup.show(this.decoration, this.configurationId, this.confSessionId);\r\n\r\n return false;\r\n }\r\n\r\n public get shouldShowSeparatedTabs() {\r\n return window.innerWidth > Breakpoints.sm.max;\r\n }\r\n\r\n public onScaledGraphics(event): void {\r\n\r\n if (this.ngContainerStyle)\r\n this.ngContainerStyle.height = event.height;\r\n\r\n // Fix for IE-11\r\n if (this.ngContainerStyle && this.browserInfo.isIE && !this.browserInfo.isEdge)\r\n this.ngContainerStyle.flexBasis = event.height;\r\n\r\n }\r\n\r\n}","
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n {{title}}\r\n \r\n \r\n \r\n {{title}}\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Component, Inject } from \"@angular/core\";\r\nimport { ConfHeaderValue, HeaderDecoration } from \"../../../shared/models\";\r\nimport { ConfiguratorStore, ConfPageSessionService } from \"../../providers\";\r\nimport { DecorationComponent } from \"../../shared/decorationComponent\";\r\nimport { VisualObjectHelper } from \"../../parameters/shared\";\r\n\r\n@Component({\r\n selector: 'header-decoration',\r\n templateUrl: './headerDecorationComponent.html'\r\n})\r\nexport class HeaderDecorationComponent extends DecorationComponent {\r\n\r\n classes: string;\r\n confHeaderValue: ConfHeaderValue;\r\n\r\n constructor(\r\n public confStore: ConfiguratorStore,\r\n public confPageSessionService: ConfPageSessionService,\r\n @Inject(VisualObjectHelper) public visualObjectHelper: VisualObjectHelper\r\n ) {\r\n super(confStore, confPageSessionService, visualObjectHelper);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.confHeaderValue = this.confStore.getConfDataEntity(this.configuration.longId, this.confSessionId, this.decoration.longId); \r\n this.update();\r\n super.ngOnInit();\r\n }\r\n\r\n public listenChanges(): void {\r\n this.confStore.onConfigurationValueChange(this.configurationId, this.confSessionId, this.decoration.longId, (value: ConfHeaderValue): void => {\r\n this.confHeaderValue = value;\r\n this.update();\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n }\r\n\r\n public update() {\r\n if (this.decoration.minorHeader)\r\n this.classes = \"minor-header\";\r\n else\r\n this.classes = \"major-header\";\r\n }\r\n}","
\r\n \r\n
\r\n {{decoration.title}}\r\n
\r\n
\r\n
\r\n
","import { Component, Inject } from \"@angular/core\";\r\nimport { ImageDecoration, ConfImageValue, Conf } from \"../../../shared/models\";\r\nimport { ConfiguratorStore, ConfPageSessionService } from \"../../providers\";\r\nimport { DecorationComponent } from \"../../shared/decorationComponent\";\r\nimport { VisualObjectHelper } from \"../../parameters/shared\";\r\n\r\n@Component({\r\n selector: 'image-decoration',\r\n templateUrl: './imageDecorationComponent.html'\r\n})\r\nexport class ImageDecorationComponent extends DecorationComponent {\r\n\r\n public confImageValue: ConfImageValue;\r\n\r\n constructor(\r\n public confStore: ConfiguratorStore,\r\n public confPageSessionService: ConfPageSessionService,\r\n @Inject(VisualObjectHelper) public visualObjectHelper: VisualObjectHelper\r\n ) {\r\n super(confStore, confPageSessionService, visualObjectHelper);\r\n }\r\n\r\n ngOnInit() {\r\n\r\n // Initial value on load.\r\n this.confImageValue = this.configuration.imageValues.find((x) => x.longId == this.decoration.longId);\r\n super.ngOnInit();\r\n\r\n }\r\n\r\n public listenChanges(): void {\r\n this.confStore.onConfigurationChange(this.configurationId, this.confPageSessionService.confSessionId, (configuration: Conf): void => {\r\n this.confImageValue = this.configuration.imageValues.find((x) => x.longId == this.decoration.longId);\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n }\r\n\r\n}","
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{decoration.title}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
","import { ChangeDetectorRef, Component, Inject } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\nimport { PopupService } from \"../../../../shared/components/popup\";\r\nimport { Conf, ConfPriceValue, PriceListDecoration, PriceReportMessage } from \"../../../shared/models\";\r\nimport { ConfDataActionCreator } from \"../../../shared/providers/configurationData\";\r\nimport { ConfiguratorStore, ConfMessageProvider, ConfPageSessionService, PopupIdentifiers } from \"../../providers\";\r\nimport { DecorationComponent } from \"../../shared/decorationComponent\";\r\nimport { VisualObjectHelper } from \"../../parameters/shared\";\r\n\r\nexport enum PriceListStatusEnum {\r\n\r\n Effective = \"effective\",\r\n Expired = \"expired\",\r\n Empty = \"empty\",\r\n\r\n}\r\n\r\n@Component({\r\n selector: 'price-list-decoration',\r\n templateUrl: './priceListDecorationComponent.html'\r\n})\r\nexport class PriceListDecorationComponent extends DecorationComponent {\r\n\r\n confPriceValue: ConfPriceValue;\r\n showSettings: boolean = false;\r\n\r\n PriceListStatus: PriceListStatusEnum;\r\n\r\n // Set the enum as an object to variable to access the enum values in html template.\r\n StatusEnumObject = PriceListStatusEnum;\r\n\r\n constructor(\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfPageSessionService) public confPageSessionService: ConfPageSessionService,\r\n @Inject(ConfMessageProvider) public confMessageProvider: ConfMessageProvider,\r\n @Inject(ConfDataActionCreator) public confActionCreator: ConfDataActionCreator,\r\n @Inject(PopupService) public popupService: PopupService,\r\n @Inject(VisualObjectHelper) public visualObjectHelper: VisualObjectHelper,\r\n @Inject(ChangeDetectorRef) public cd: ChangeDetectorRef\r\n ) {\r\n super(confStore, confPageSessionService, visualObjectHelper);\r\n }\r\n\r\n ngOnInit() {\r\n\r\n // Initial value on load.\r\n this.confPriceValue = this.configuration.priceValue;\r\n this.showSettings = this.configuration.authorization.canChangeCurrency || this.configuration.authorization.canChangePriceListCategory;\r\n this.UpdatePriceListStatus();\r\n\r\n // Price report message\r\n this.confMessageProvider.onMessagesRequest(this.confPageSessionService.confSessionId, PriceReportMessage.name, {\r\n next: (messages: Immutable.List): void => {\r\n this.popupService.open>(PopupIdentifiers.PriceList, messages);\r\n },\r\n listenNewEventsOnly: true\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n\r\n super.ngOnInit();\r\n }\r\n \r\n public listenChanges(): void {\r\n\r\n this.confStore.onConfigurationChange(this.configurationId, this.confSessionId, (configuration: Conf): void => {\r\n\r\n this.confPriceValue = configuration.priceValue;\r\n this.showSettings = this.configuration.authorization.canChangeCurrency || this.configuration.authorization.canChangePriceListCategory;\r\n this.UpdatePriceListStatus();\r\n\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n }\r\n\r\n public UpdatePriceListStatus() {\r\n\r\n if (!this.confPriceValue)\r\n return;\r\n\r\n if (this.confPriceValue.effective === true)\r\n this.PriceListStatus = PriceListStatusEnum.Effective;\r\n\r\n else if (this.confPriceValue.effective === false)\r\n this.PriceListStatus = PriceListStatusEnum.Expired;\r\n\r\n else if (this.confPriceValue.effective == null)\r\n this.PriceListStatus = PriceListStatusEnum.Empty;\r\n\r\n }\r\n \r\n onPriceDetailClick($event): void {\r\n let requestType = this.confPageSessionService.confUIStore.PageStore.getActiveClientType();\r\n this.confStore.getPriceReport(this.confSessionId, this.configurationId, requestType);\r\n }\r\n\r\n onPriceSettingsClick($event): void {\r\n let requestType = this.confPageSessionService.confUIStore.PageStore.getActiveClientType();\r\n this.confStore.getPriceSetting(this.confSessionId, this.configurationId, requestType);\r\n }\r\n\r\n}","
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{decoration.title}} \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {{confPriceValue?.priceListCategoryName}}\r\n \r\n \r\n {{confPriceValue?.price}}\r\n {{strings.Expired}}\r\n \r\n \r\n\r\n \r\n
\r\n
","import { ImmutableObject } from \"../../../../shared/immutableObject\";\r\nimport { PropertyDecorationItem, ConfPropertyValue } from \"../../../shared/models\";\r\n\r\nexport class ConfPropertyModel extends ImmutableObject {\r\n\r\n public readonly LINE_BREAK = \"lineBreak\";\r\n public readonly WIDTH = \"width\";\r\n protected readonly MIN_WIDTH = \"minWidth\";\r\n protected readonly MAX_WIDTH = \"maxWidth\";\r\n public readonly STYLES = \"styles\";\r\n public readonly AUTO_WIDTH = \"autoWidth\";\r\n protected readonly FLOATING_POSITION = \"floatingPosition\";\r\n public readonly PROPERTY_DECORATION_ITEM = \"propertyDecorationItem\";\r\n public readonly CONF_PROPERTY_VALUE = \"confPropertyValue\";\r\n\r\n // Line break for visual object\r\n get lineBreak(): boolean { return this.getInternalValue(this.LINE_BREAK); }\r\n setLineBreak(lineBreak: boolean): this { return this.setInternalValue(this.LINE_BREAK, lineBreak); }\r\n\r\n get width(): string { return this.getInternalValue(this.WIDTH); }\r\n setWidth(width: string): this { return this.setInternalValue(this.WIDTH, width); }\r\n\r\n get minWidth(): string { return this.getInternalValue(this.MIN_WIDTH); }\r\n setMinWidth(minWidth: string): this { return this.setInternalValue(this.MIN_WIDTH, minWidth); }\r\n\r\n get maxWidth(): string { return this.getInternalValue(this.MAX_WIDTH); }\r\n setMaxWidth(maxWidth: string): this { return this.setInternalValue(this.MAX_WIDTH, maxWidth); }\r\n\r\n get styles(): string { return this.getInternalValue(this.STYLES); }\r\n setStyles(styles: string): this { return this.setInternalValue(this.STYLES, styles); }\r\n\r\n get autoWidth(): boolean { return this.getInternalValue(this.AUTO_WIDTH); }\r\n setAutoWidth(autoWidth: boolean): this { return this.setInternalValue(this.AUTO_WIDTH, autoWidth); }\r\n\r\n get floatingPosition(): boolean { return this.getInternalValue(this.FLOATING_POSITION); }\r\n setFloatingPosition(floatingPosition: boolean): this { return this.setInternalValue(this.FLOATING_POSITION, floatingPosition); }\r\n\r\n get propertyDecorationItem(): PropertyDecorationItem { return this.getInternalValue(this.PROPERTY_DECORATION_ITEM); }\r\n setPropertyDecorationItem(propertyDecorationItem: PropertyDecorationItem): this { return this.setInternalValue(this.PROPERTY_DECORATION_ITEM, propertyDecorationItem); }\r\n\r\n get confPropertyValue(): ConfPropertyValue { return this.getInternalValue(this.CONF_PROPERTY_VALUE); }\r\n setConfPropertyValue(confPropertyValue: ConfPropertyValue): this { return this.setInternalValue(this.CONF_PROPERTY_VALUE, confPropertyValue); }\r\n\r\n}","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { PropertyDecorationComponent } from \"./propertyDecorationComponent\";\r\nimport { PropertyDecorationItemComponent } from \"./propertyDecorationItemComponent\";\r\nimport { ImageModule, DropdownModule, TextBoxModule, GridviewModule, FloatingModule, DatepickerModule, CheckboxModule } from \"../../../../shared/components\";\r\n\r\nexport * from \"./propertyDecorationComponent\";\r\nexport * from \"./propertyDecorationItemComponent\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n DropdownModule,\r\n TextBoxModule,\r\n CheckboxModule,\r\n FloatingModule,\r\n ImageModule,\r\n GridviewModule,\r\n DatepickerModule\r\n ],\r\n declarations: [\r\n PropertyDecorationComponent,\r\n PropertyDecorationItemComponent \r\n ],\r\n exports: [\r\n PropertyDecorationComponent,\r\n PropertyDecorationItemComponent\r\n ]\r\n})\r\nexport class PropertyDecorationModule {\r\n\r\n}","import { Component, Inject, ChangeDetectorRef, ChangeDetectionStrategy } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\nimport { ConfPropertyValue, ConfUIItem, PropertyDecoration, PropertyDecorationItem } from \"../../../shared/models\";\r\nimport { ConfiguratorStore, ConfPageSessionService } from \"../../providers\";\r\nimport { VisualObjectVisibilityService } from \"../../shared\";\r\nimport { DecorationComponent } from \"../../shared/decorationComponent\";\r\nimport { ConfPropertyModel } from \"./confPropertyModel\";\r\nimport { VisualObjectHelper } from \"../../parameters/shared\";\r\n\r\n\r\n@Component({\r\n selector: 'property-decoration',\r\n templateUrl: './propertyDecorationComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class PropertyDecorationComponent extends DecorationComponent {\r\n\r\n protected propertyModelById: Immutable.Map = Immutable.Map();\r\n public propertyModels: Immutable.List = Immutable.List();\r\n public enableParamStyle: boolean = false;\r\n\r\n constructor( \r\n public confStore: ConfiguratorStore,\r\n public confPageSessionService: ConfPageSessionService,\r\n public visualObjectVisibilityService: VisualObjectVisibilityService, \r\n public cd: ChangeDetectorRef,\r\n public visualObjectHelper: VisualObjectHelper\r\n ) {\r\n super(confStore, confPageSessionService, visualObjectHelper);\r\n }\r\n\r\n ngOnInit() {\r\n \r\n this.setPropertyModels();\r\n\r\n this.enableParamStyle = !(this.decoration.title && this.decoration.title.length > 0);\r\n\r\n super.ngOnInit();\r\n }\r\n\r\n setValue(itemValues: Map): void {\r\n this.setPropertyModels();\r\n this.cd.markForCheck();\r\n }\r\n\r\n public setPropertyModels(): void {\r\n\r\n // Clear the old models.\r\n this.propertyModelById = this.propertyModelById.clear();\r\n this.propertyModels = this.propertyModels.clear();\r\n\r\n // Define the models.\r\n this.definePropertyModels();\r\n\r\n // Calculate line break for each item.\r\n this.calculateLineBreak();\r\n\r\n let confUIItem = this.visualObjectVisibilityService.findConfUIItem(this.configuration, this.decoration.longId);\r\n // Make the a list so that we could loop through the property models in template.\r\n this.decoration.items.forEach(item => {\r\n\r\n if (this.isHidden(item, confUIItem))\r\n return;\r\n\r\n this.propertyModels = this.propertyModels.push(this.propertyModelById.get(item.propertyName));\r\n\r\n });\r\n }\r\n\r\n protected definePropertyModels(): void {\r\n\r\n let confUIItem = this.visualObjectVisibilityService.findConfUIItem(this.configuration, this.decoration.longId);\r\n // Make all items by default floated and break the floating if they are meant to be in a separate row.\r\n this.decoration.items.forEach((item: PropertyDecorationItem, index) => {\r\n\r\n if (this.isHidden(item, confUIItem))\r\n return;\r\n\r\n let model: ConfPropertyModel = new ConfPropertyModel();\r\n model = model.setPropertyDecorationItem(item);\r\n model = model.setLineBreak(true);\r\n model = model.setFloatingPosition(item.floatingPosition);\r\n model = model.setAutoWidth(item.width == 0 || item.width == undefined); // Final auto width decision would be made after calculating the line break.\r\n model = model.setConfPropertyValue(this.confStore.getConfPropertyValue(this.configurationId, this.confPageSessionService.confSessionId, item.propertyName));\r\n let colStyle: string = model.autoWidth ? 'col' : 'col-auto';\r\n let styles: string = `conf-property-item-wrapper ${colStyle} pr-0`;\r\n\r\n model = model.setStyles(styles); // Default styles.\r\n\r\n if (item.width > 0) \r\n\r\n model = model.setMaxWidth(`${item.width + 40}px`); \r\n else \r\n model = model.setMaxWidth(model.autoWidth ? '100%' : `${item.width}px`);\r\n \r\n this.propertyModelById = this.propertyModelById.set(item.propertyName, model);\r\n\r\n });\r\n\r\n }\r\n\r\n protected calculateLineBreak(): void {\r\n\r\n let confUIItem = this.visualObjectVisibilityService.findConfUIItem(this.configuration, this.decoration.longId);\r\n this.decoration.items.forEach((item: PropertyDecorationItem, index) => {\r\n\r\n if (this.isHidden(item, confUIItem))\r\n return;\r\n\r\n // Grab the corresponding model\r\n let currentModel = this.propertyModelById.get(item.propertyName);\r\n\r\n if (currentModel.floatingPosition && index > 0 && item.width > 0) {\r\n\r\n // To set the floating, first remove the line-break from previous item.\r\n let prevItem: PropertyDecorationItem = this.decoration.items.get(index - 1);\r\n let prevModel = this.propertyModelById.get(prevItem.propertyName);\r\n\r\n // Fix exception if previous item(s) are hidden\r\n for (let j = index - 2; j > 0 && prevModel == null; j--) {\r\n prevItem = this.decoration.items.get(j);\r\n prevModel = this.propertyModelById.get(prevItem.propertyName);\r\n }\r\n\r\n if (prevModel == null)\r\n return;\r\n\r\n prevModel = prevModel.setLineBreak(false);\r\n\r\n // Update the dictionary\r\n this.propertyModelById = this.propertyModelById.set(prevItem.propertyName, prevModel);\r\n\r\n // Set the line break for current model which was set to be floated.\r\n // Note! Line-break is applied right after the model if it is set 'True'\r\n currentModel = currentModel.setLineBreak(true);\r\n this.propertyModelById = this.propertyModelById.set(item.propertyName, currentModel);\r\n } \r\n\r\n \r\n\r\n });\r\n }\r\n \r\n protected isHidden(item: PropertyDecorationItem, confUIItem: ConfUIItem): boolean {\r\n\r\n if (!confUIItem)\r\n return true;\r\n\r\n if (!confUIItem.items.find(x => x.id == item.longId))\r\n return true;\r\n\r\n let propertyValue: ConfPropertyValue = this.confStore.getConfPropertyValue(this.configurationId, this.confPageSessionService.confSessionId, item.propertyName);\r\n return propertyValue == null;\r\n }\r\n\r\n public identify(model: ConfPropertyModel): PropertyDecorationItem {\r\n return model.propertyDecorationItem;\r\n }\r\n}","\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{decoration.title}}\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
","import { Component, Input, SimpleChanges } from \"@angular/core\";\r\nimport { InputViewModel, ValueChangeEventArgs } from \"../../../../shared/components/shared\";\r\nimport { ManagedSubscription } from \"../../../../shared/managedSubscription\";\r\nimport { BaseComponent } from \"../../../shared\";\r\nimport { ConfPropertyValue, ConfValueErrorMessage } from \"../../../shared/models\";\r\nimport { VisualObjectHelper } from \"../../parameters/shared\";\r\nimport { ConfiguratorStore, ConfMessageProvider, ConfPageSessionService } from \"../../providers\";\r\nimport { ConfPropertyModel } from \"./confPropertyModel\";\r\nimport { GlobalDataStore } from \"../../../shared/providers/globalData/globalDataStore\";\r\n\r\n@Component({\r\n selector: 'property-decoration-item',\r\n templateUrl: './propertyDecorationItemComponent.html',\r\n})\r\nexport class PropertyDecorationItemComponent extends BaseComponent {\r\n\r\n @Input()\r\n propertyModel: ConfPropertyModel;\r\n\r\n @Input()\r\n weekNumbersEnabled: boolean = false;\r\n\r\n errors: Array = [];\r\n\r\n viewModel: InputViewModel;\r\n itemsModel: InputViewModel[];\r\n errorSubscription: ManagedSubscription;\r\n\r\n dateFormat: string;\r\n \r\n\r\n constructor(public confStore: ConfiguratorStore,\r\n public storeSession: ConfPageSessionService,\r\n public messagesProvider: ConfMessageProvider,\r\n public visualObjectHelper: VisualObjectHelper,\r\n public globalDataStore: GlobalDataStore\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['propertyModel'] && !changes['propertyModel'].firstChange) {\r\n this.updateView();\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n \r\n this.weekNumbersEnabled = this.uiSettings.datepicker.showWeekNumbers; \r\n this.dateFormat = this.globalDataStore.globalSettings.dateFormat;\r\n\r\n // Translate the title\r\n this.viewModel = new InputViewModel(this.propertyModel.confPropertyValue.title); \r\n this.viewModel.formattedValue = this.propertyModel.confPropertyValue.title; \r\n this.viewModel.value = this.propertyModel.confPropertyValue.propertyName; \r\n this.viewModel.readOnly = this.propertyModel.confPropertyValue.isReadOnly;\r\n this.updateView();\r\n\r\n this.errorSubscription = this.messagesProvider.onMessagesRequest(this.storeSession.confSessionId, ConfValueErrorMessage.name, (x) => {\r\n // Flatten my error messages to a single array \r\n let errorMessages = Array();\r\n if (x)\r\n x.forEach(msg => {\r\n if (msg.confProprtyName === this.propertyModel.propertyDecorationItem.propertyName) {\r\n errorMessages = errorMessages.concat(msg.message);\r\n }\r\n });\r\n\r\n this.errors = errorMessages;\r\n\r\n }, false);\r\n\r\n }\r\n\r\n /**\r\n * Only updates the values in model and repopulates the dropdownlist items\r\n */\r\n public updateView() {\r\n if (!this.propertyModel)\r\n return;\r\n\r\n this.viewModel.width = '100%';\r\n \r\n this.viewModel.readOnly = this.propertyModel.confPropertyValue.isReadOnly;\r\n\r\n if (this.propertyModel.propertyDecorationItem.propertyType == \"RefToObject\") {\r\n\r\n // Value should be set by matching it against the available dropdown options\r\n this.viewModel.value = null;\r\n this.viewModel.formattedValue = null;\r\n\r\n this.itemsModel = new Array();\r\n\r\n if (this.propertyModel.confPropertyValue.selectableValues == null || this.propertyModel.confPropertyValue.selectableValues.size == 0) {\r\n\r\n this.viewModel.value = this.propertyModel.confPropertyValue.keyAndValue.key;\r\n this.viewModel.formattedValue = this.propertyModel.confPropertyValue.keyAndValue.value;\r\n\r\n }\r\n else {\r\n this.propertyModel.confPropertyValue.selectableValues.forEach((kvp) => {\r\n\r\n if (kvp.key == this.propertyModel.confPropertyValue.keyAndValue.key) {\r\n this.viewModel.value = kvp.key;\r\n this.viewModel.formattedValue = kvp.value;\r\n }\r\n\r\n let itemModel = new InputViewModel(kvp.value);\r\n itemModel.id = kvp.key;\r\n this.itemsModel.push(itemModel);\r\n\r\n })\r\n }\r\n }\r\n else if (this.propertyModel.propertyDecorationItem.propertyType == \"Boolean\") {\r\n this.viewModel.value = (this.propertyModel.confPropertyValue.keyAndValue.key == \"True\");\r\n }\r\n else {\r\n\r\n // Apply the formatting if it is set\r\n let formatting = this.propertyModel.propertyDecorationItem.numericFormat;\r\n if (this.propertyModel.confPropertyValue.valueByNumericFormat && this.propertyModel.confPropertyValue.valueByNumericFormat.has(formatting)) {\r\n\r\n this.viewModel.value = this.propertyModel.confPropertyValue.valueByNumericFormat.get(formatting);\r\n\r\n } else {\r\n\r\n // Read unformatted value\r\n this.viewModel.value = this.propertyModel.confPropertyValue.keyAndValue.key;\r\n this.viewModel = { ...this.viewModel };\r\n }\r\n }\r\n }\r\n\r\n onValueChange($event: ValueChangeEventArgs): void {\r\n if ($event.actionView) {\r\n this.confStore.setConfPropertyValue(this.storeSession.activeConfigurationId, this.storeSession.confSessionId, this.propertyModel.confPropertyValue, $event.actionView.value);\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n\r\n if (this.errorSubscription)\r\n this.errorSubscription.unsubscribe();\r\n\r\n super.ngOnDestroy();\r\n }\r\n\r\n}","\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n","import { Component, Inject } from \"@angular/core\";\r\nimport { TextDecoration } from \"../../../shared/models\";\r\nimport { ConfiguratorStore, ConfPageSessionService } from \"../../providers\";\r\nimport { DecorationComponent } from \"../../shared/decorationComponent\";\r\nimport { VisualObjectHelper } from \"../../parameters/shared\";\r\n\r\n@Component({\r\n selector: 'text-decoration',\r\n templateUrl: './textDecorationComponent.html'\r\n})\r\nexport class TextDecorationComponent extends DecorationComponent {\r\n\r\n constructor(\r\n public confStore: ConfiguratorStore,\r\n public confPageSessionService: ConfPageSessionService,\r\n @Inject(VisualObjectHelper) public visualObjectHelper: VisualObjectHelper\r\n ) {\r\n super(confStore, confPageSessionService, visualObjectHelper);\r\n }\r\n\r\n}","
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, Inject, ChangeDetectorRef, Input } from \"@angular/core\";\r\n\r\nimport { VisualizationDecoration, ConfVisualizationValue } from \"../../../shared/models\";\r\nimport { DecorationComponent } from \"../../shared/decorationComponent\";\r\nimport { ConfiguratorStore, ConfPageSessionService } from \"../../providers\";\r\nimport { VisualObjectVisibilityService } from \"../../shared\";\r\nimport { GlobalDataStore } from \"../../../shared/providers/globalData\";\r\nimport { VisualObjectHelper } from \"../../parameters/shared\";\r\n\r\n@Component({\r\n selector: 'visualization-decoration',\r\n templateUrl: './visualizationDecorationComponent.html'\r\n})\r\nexport class VisualizationDecorationComponent extends DecorationComponent {\r\n\r\n public confVisualizationValue: ConfVisualizationValue;\r\n public hasTitle: boolean = false;\r\n\r\n visualizationHeight: string;\r\n\r\n visualizationMaxHeight: string;\r\n\r\n styles: string = \"visualization-body\";\r\n\r\n @Input()\r\n public isEditor: boolean = true;\r\n\r\n constructor(\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfPageSessionService) public confPageSessionService: ConfPageSessionService,\r\n public visualObjectVisibilityService: VisualObjectVisibilityService,\r\n @Inject(VisualObjectHelper) public visualObjectHelper: VisualObjectHelper,\r\n public globalDataStore: GlobalDataStore,\r\n public cdr: ChangeDetectorRef\r\n ) {\r\n super(confStore, confPageSessionService, visualObjectHelper);\r\n }\r\n\r\n ngOnInit() {\r\n\r\n if (this.visualObjectHelper.isVisualObjectInAccordion(this.decoration)) {\r\n\r\n this.visualizationHeight = this.decoration.height ? this.decoration.height + 'px' : this.uiSettings.configurator.decoration.minHeight;\r\n this.visualizationMaxHeight = '100%';\r\n }\r\n else\r\n {\r\n if (this.decoration.responsiveSize) {\r\n this.visualizationMaxHeight = '100%';\r\n }\r\n else this.visualizationMaxHeight = this.decoration.height ? this.decoration.height + 'px' : this.uiSettings.configurator.decoration.minHeight;\r\n\r\n this.visualizationHeight = '100%';\r\n }\r\n \r\n this.styles += this.hasTitle ? \" py-2\" : \" no-gutters\";\r\n super.ngOnInit();\r\n }\r\n\r\n public listenChanges(): void {\r\n\r\n this.hasTitle = this.showTitle && this.decoration.title && this.decoration.title.trim().length > 0;\r\n this.confVisualizationValue = this.getConfVisualizationValue();\r\n\r\n this.confStore.onConfigurationValueChange(this.configurationId, this.confSessionId, this.decoration.visualObjectId,\r\n (confVisualizationValue): void => {\r\n\r\n this.confVisualizationValue = confVisualizationValue;\r\n\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n }\r\n\r\n getConfVisualizationValue() {\r\n return this.confStore.getConfDataEntity(this.configurationId, this.confSessionId, this.decoration.visualObjectId);\r\n }\r\n\r\n public cancelScrollEvent() {\r\n return false;\r\n }\r\n}","
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{decoration.title}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n","import { Component, ElementRef, ViewChild, Input, OnDestroy, ViewEncapsulation, ChangeDetectionStrategy, SimpleChanges, HostListener, OnInit, AfterViewChecked, NgZone, ChangeDetectorRef } from '@angular/core';\r\n\r\nimport { VisualizationDecoration, ConfVisualizationValue, RequestViews, EventType } from '../../../shared/models';\r\nimport { NotificationService, NotificationInfo, NotificationType, SizeUtility } from '../../../../shared/components';\r\nimport { VisualizationPluginManager, Visualization, VisualizationPlugin, JavaScriptEventResult } from '../../../../shared/providers';\r\nimport { Strings } from '../../../shared/providers/globalData';\r\nimport { PageStore } from '../../../shared/providers/page';\r\nimport { RouteNames } from '../../../shared/providers';\r\nimport { VisualObjectHelper } from '../../parameters/shared';\r\nimport { Subscription } from 'rxjs';\r\nimport { BaseComponent } from '../../../shared';\r\nimport { ConfiguratorStore, ConfPageSessionService } from '../../providers';\r\n\r\nenum VisualizationAction {\r\n UPDATE = 0,\r\n RESIZE\r\n}\r\n\r\n@Component({\r\n selector: 'visualization-plugin',\r\n templateUrl: './visualizationPluginComponent.html',\r\n encapsulation: ViewEncapsulation.Emulated,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class VisualizationPluginComponent extends BaseComponent implements OnInit, OnDestroy, AfterViewChecked {\r\n\r\n @ViewChild('rendererCanvas', { static: true })\r\n public rendererCanvas: ElementRef;\r\n\r\n @Input()\r\n public decoration: VisualizationDecoration;\r\n\r\n @Input()\r\n public confVisualizationValue: ConfVisualizationValue;\r\n\r\n @ViewChild('container', { read: ElementRef })\r\n public readonly containerElement; \r\n protected baseFilePath = \"api/configurator/visualization/file/\";\r\n protected ngZoneSubscription: Subscription;\r\n protected visualization: Visualization;\r\n protected isVisualizationReady = false;\r\n protected isMarkedForDispose = false;\r\n protected isSummaryView: boolean = false;\r\n protected isResizeActionPending: boolean = false;\r\n protected visualizationActions: VisualizationAction[] = [];\r\n\r\n public canvasWidth: number;\r\n public canvasHeight: number;\r\n\r\n public constructor(\r\n public visualizationPluginManager: VisualizationPluginManager,\r\n public notificationService: NotificationService,\r\n public pageStore: PageStore,\r\n public visualObjectHelper: VisualObjectHelper,\r\n public cd: ChangeDetectorRef, \r\n private _ngZone: NgZone,\r\n public confStore: ConfiguratorStore,\r\n public confPageSessionService: ConfPageSessionService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.isSummaryView = this.pageStore.activeRouteName === RouteNames.Summary; \r\n this.ngZoneSubscription = this._ngZone.onStable.subscribe(x => {\r\n\r\n if (this.containerElement.nativeElement) {\r\n const offsetWidth = this.containerElement.nativeElement.offsetWidth;\r\n const offsetHeight = this.containerElement.nativeElement.offsetHeight;\r\n\r\n if (offsetWidth != this.canvasWidth || offsetHeight != this.canvasHeight) {\r\n this.setCanvasSize();\r\n\r\n this.addAndExecuteAction(VisualizationAction.RESIZE);\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n\r\n this.isResizeActionPending = true; \r\n }\r\n \r\n ngAfterContentInit(): void {\r\n \r\n this.visualizationPluginManager.loadPlugin(`${this.decoration.indexFilePath}`, (visualizationPlugin: VisualizationPlugin) => {\r\n\r\n visualizationPlugin.create(this.rendererCanvas.nativeElement, this.canvasWidth, this.canvasHeight, `${this.baseFilePath}${this.decoration.indexFileDirPath}`, this.getCodeFileValue()).then((visualization) => {\r\n\r\n this.visualizationInstanceCreated(visualization);\r\n\r\n }, (error) => this.handleError(this.decoration.indexFilePath, error));\r\n\r\n }, (error: any, url: string) => this.handleError(url, error));\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['confVisualizationValue'] && !changes['confVisualizationValue'].firstChange) {\r\n this.addAndExecuteAction(VisualizationAction.UPDATE);\r\n }\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n \r\n if (this.isResizeActionPending) {\r\n\r\n this.isResizeActionPending = false;\r\n this.addAndExecuteAction(VisualizationAction.RESIZE);\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n\r\n this.isMarkedForDispose = true;\r\n\r\n if (this.visualization && this.isVisualizationReady) {\r\n this.visualization.dispose();\r\n }\r\n\r\n if (this.ngZoneSubscription)\r\n this.ngZoneSubscription.unsubscribe();\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event) {\r\n this.isResizeActionPending = true; \r\n }\r\n\r\n visualizationInstanceCreated(visualization: Visualization) {\r\n\r\n this.visualization = visualization;\r\n this.isVisualizationReady = true;\r\n this.addAndExecuteAction(VisualizationAction.UPDATE);\r\n\r\n if (this.confPageSessionService.activeRoute == RouteNames.Editor)\r\n this.visualization.addMessageHandler((eventType, json) => this.handleMessage(eventType, json));\r\n }\r\n\r\n // Handler for the JavaScript event\r\n public handleMessage(eventType: EventType, jsonData: string): Promise {\r\n return this.confStore.javaScriptAction(this.confPageSessionService.activeConfigurationId, this.confPageSessionService.confSessionId, eventType, this.decoration.longId, jsonData, RequestViews.Editor).then(x =>\r\n Promise.resolve({ Success: true, Result: 'Handled successfully' }));\r\n }\r\n\r\n addAndExecuteAction(action: VisualizationAction) {\r\n\r\n if (this.visualizationActions.indexOf(action) < 0) \r\n this.visualizationActions.push(action);\r\n\r\n this.executeNextAction();\r\n }\r\n\r\n executeNextAction() {\r\n\r\n if (!this.visualization || !this.isVisualizationReady)\r\n return;\r\n\r\n if (this.isMarkedForDispose) {\r\n this.visualization.dispose();\r\n return;\r\n }\r\n\r\n if (this.visualizationActions.length == 0)\r\n return;\r\n\r\n let action = this.visualizationActions.shift();\r\n if (action == VisualizationAction.UPDATE)\r\n this.update();\r\n else if (action == VisualizationAction.RESIZE)\r\n this.resize();\r\n }\r\n\r\n update(): void {\r\n\r\n if (!this.visualization || !this.isVisualizationReady)\r\n return;\r\n\r\n this.isVisualizationReady = false;\r\n\r\n try {\r\n\r\n this.visualization.update(this.getCodeFileValue()).then(() => {\r\n\r\n this.isVisualizationReady = true;\r\n this.executeNextAction();\r\n\r\n },\r\n (error) => {\r\n\r\n this.isVisualizationReady = true;\r\n this.handleError(`${this.baseFilePath}${this.decoration.indexFilePath}`, error);\r\n\r\n this.executeNextAction();\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.isVisualizationReady = true;\r\n this.handleError(`${this.baseFilePath}${this.decoration.indexFilePath}`, ex);\r\n\r\n this.executeNextAction();\r\n }\r\n }\r\n\r\n resize(): void {\r\n\r\n this.setCanvasSize(); \r\n if (!this.visualization || !this.isVisualizationReady)\r\n return;\r\n\r\n this.isVisualizationReady = false;\r\n\r\n try {\r\n\r\n this.visualization.resize(this.canvasWidth, this.canvasHeight).then(() => {\r\n\r\n this.isVisualizationReady = true;\r\n this.executeNextAction();\r\n\r\n },\r\n (error) => {\r\n\r\n this.isVisualizationReady = true;\r\n this.handleError(`${this.baseFilePath}${this.decoration.indexFilePath}`, error);\r\n\r\n this.executeNextAction();\r\n });\r\n\r\n } catch (ex) {\r\n\r\n this.isVisualizationReady = true;\r\n this.handleError(`${this.baseFilePath}${this.decoration.indexFilePath}`, ex);\r\n\r\n this.executeNextAction();\r\n }\r\n }\r\n\r\n setCanvasSize() {\r\n\r\n if (this.containerElement && this.containerElement.nativeElement) {\r\n\r\n let container = this.containerElement.nativeElement;\r\n\r\n this.canvasWidth = container.offsetWidth; \r\n this.canvasHeight = container.offsetHeight;\r\n\r\n if (!this.canvasHeight) {\r\n this.canvasHeight = this.decoration.height ? this.decoration.height : SizeUtility.sizeAsNumber(this.uiSettings.configurator.decoration.minHeight);\r\n }\r\n\r\n // ...then set the internal size to match\r\n container.width = this.canvasWidth;\r\n container.height = this.canvasHeight;\r\n\r\n this.rendererCanvas.nativeElement.width = this.canvasWidth;\r\n this.rendererCanvas.nativeElement.height = this.canvasHeight;\r\n\r\n this.cd.markForCheck();\r\n }\r\n }\r\n\r\n handleError(url, error: any) {\r\n\r\n this.notificationService.notify({\r\n title: this.strings.Error,\r\n message: `${this.decoration.title}: ${error}`,\r\n detail: url,\r\n rawInfo: error,\r\n type: NotificationType.Error,\r\n selfClose: false\r\n });\r\n }\r\n\r\n protected getCodeFileValue(): string {\r\n\r\n if (this.confVisualizationValue && this.confVisualizationValue.codeFileValue && this.confVisualizationValue.codeFileValue.length > 0)\r\n return this.confVisualizationValue.codeFileValue;\r\n\r\n return \"{}\";\r\n }\r\n\r\n}","
\r\n \r\n
","import { Inject, Component } from \"@angular/core\";\r\nimport { BaseViewComponent } from \"./baseViewComponent\";\r\nimport { ConfMessageHandler, ConfPageSessionService } from \"./providers\";\r\nimport { RequestViews } from \"../shared/models\";\r\n\r\n@Component({\r\n selector: 'editor-view',\r\n templateUrl: './editorViewComponent.html',\r\n providers: [ConfMessageHandler]\r\n})\r\nexport class EditorViewComponent extends BaseViewComponent {\r\n\r\n constructor(\r\n @Inject(ConfMessageHandler) public confMessageHandler: ConfMessageHandler,\r\n @Inject(ConfPageSessionService) public confPageSession: ConfPageSessionService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.confPageSession.activeRoute = RequestViews.Editor;\r\n this.updateUIStore();\r\n this.confMessageHandler.subscribeMessagesForEditor();\r\n }\r\n\r\n onSaveConfiguration(event): void {\r\n }\r\n\r\n updateUIStore(): void {\r\n this.confPageSession.confUIStore.selectedTabId = null;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.confMessageHandler.onDestroy();\r\n super.ngOnDestroy();\r\n }\r\n\r\n}","
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n
","export * from './configuratorComponent';\r\nexport * from './editorViewComponent';\r\nexport * from './summaryViewComponent';\r\nexport * from './confViewRedirectorComponent';","import { Component, Input, ComponentFactoryResolver, Inject } from \"@angular/core\";\r\nimport { ConfBoolValue, BoolParam } from \"../../../shared/models\";\r\nimport { BaseEntity } from \"../../../shared/baseEntity\";\r\nimport { InputViewModel, PopupService, ValueChangeEventArgs, RestrictValueChangeEventArgs } from \"../../../../shared/components\";\r\nimport { VisualObjectViewModelFactory } from \"../shared/visualObjectViewModelFactory\";\r\nimport { ParamComponent } from \"../../shared/paramComponent\";\r\nimport { ConfigurationSessionManager } from \"../../providers/configurationSessionManager\";\r\nimport { HelpPopupComponent } from \"../../popups\";\r\nimport { ParameterMandatoryService } from \"../shared/parameterMandatoryService\";\r\nimport { ConfiguratorStore, ConfPageSessionService, ConfMessageProvider, ConfiguratorUIStore } from \"../../providers\";\r\nimport { ChangeDetectorRef } from \"@angular/core\";\r\nimport { VisualObjectHelper } from \"../shared\";\r\n\r\n@Component({\r\n selector: 'bool-param',\r\n templateUrl: './boolParamComponent.html'\r\n})\r\nexport class BoolParamComponent extends ParamComponent {\r\n\r\n viewModel: InputViewModel;\r\n confBoolValue: ConfBoolValue;\r\n\r\n constructor(\r\n @Inject(ComponentFactoryResolver) public resolver: ComponentFactoryResolver,\r\n @Inject(VisualObjectViewModelFactory) public viewFactory: VisualObjectViewModelFactory,\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfPageSessionService) public confPageSessionService: ConfPageSessionService,\r\n @Inject(PopupService) public popupService: PopupService,\r\n @Inject(ParameterMandatoryService) public parameterMandatoryService: ParameterMandatoryService,\r\n @Inject(ConfiguratorUIStore) public configuratorUIStore: ConfiguratorUIStore,\r\n @Inject(ConfMessageProvider) public messagesProvider: ConfMessageProvider,\r\n @Inject(VisualObjectHelper) public visualObjectHelper: VisualObjectHelper,\r\n public cd: ChangeDetectorRef\r\n ) {\r\n super(confStore, confPageSessionService, popupService, visualObjectHelper, parameterMandatoryService, messagesProvider, cd);\r\n }\r\n\r\n ngOnInit() {\r\n this.viewModel = this.viewFactory.create(this.parameter);\r\n // Set value on load.\r\n this.setValue(this.confStore.getConfValue(this.configuration.longId, this.confPageSessionService.confSessionId, this.parameter.visualObjectId));\r\n\r\n super.ngOnInit();\r\n }\r\n\r\n public setValue(confValue: BaseEntity) {\r\n this.confBoolValue = confValue as ConfBoolValue;\r\n\r\n if (!this.confBoolValue)\r\n return;\r\n\r\n // Remove all readonly and disallowed states.\r\n this.viewFactory.setNormalState([this.viewModel]);\r\n\r\n this.viewFactory.setValue([this.viewModel], String(this.confBoolValue.longId), this.confBoolValue.value);\r\n\r\n // Disallow values \r\n if (this.confBoolValue.isDisallowed)\r\n this.viewModel = this.viewFactory.setDisabled([this.viewModel], String(this.confBoolValue.longId), true)[0];\r\n\r\n // Set readOnly\r\n if (this.confBoolValue.isReadOnly)\r\n this.viewModel = this.viewFactory.setReadOnly([this.viewModel], String(this.confBoolValue.longId), true)[0];\r\n }\r\n\r\n onValueChange($event: ValueChangeEventArgs): void {\r\n super.onValueChange($event);\r\n\r\n // Update value\r\n this.confStore.setConfValue(this.confBoolValue, this.confPageSessionService.confSessionId, $event.value, this.configuratorUIStore.includeMandatoryInfo, this.configuratorUIStore.isNextStateIncluded);\r\n }\r\n\r\n onReadOnly($event: RestrictValueChangeEventArgs): void {\r\n this.confStore.getReadOnlyInfo(this.configurationId, this.confSessionId, this.confBoolValue, +$event.inValidValue);\r\n }\r\n\r\n onDisallowed($event: RestrictValueChangeEventArgs): void {\r\n this.confStore.setConfValue(this.confBoolValue, this.confPageSessionService.confSessionId, $event.inValidValue, this.configuratorUIStore.includeMandatoryInfo, this.configuratorUIStore.isNextStateIncluded);\r\n }\r\n\r\n public getCurrentValue(): any {\r\n\r\n // If value is different then set it to ConfValue and return the change ConfValue to cause a value change trigger\r\n if (this.confBoolValue && this.confBoolValue.value != this.viewModel.value)\r\n return this.confBoolValue.setValue(this.viewModel.value);\r\n\r\n return this.confBoolValue; \r\n }\r\n\r\n public setError(errors: Array) {\r\n this.viewModel.errors = errors;\r\n }\r\n}","
\r\n
\r\n \r\n \r\n
\r\n
","import { Component, Inject, Input, ViewContainerRef, ComponentFactoryResolver, ViewChild, OnDestroy } from \"@angular/core\";\r\nimport { Unsubscribe } from 'redux';\r\nimport { DoubleParam, ConfDoubleValue, ConfValue } from \"../../../shared/models\";\r\nimport { BaseEntity } from \"../../../shared/baseEntity\";\r\nimport { InputViewModel, RestrictValueChangeEventArgs, ValueChangeEventArgs, PopupService } from \"../../../../shared/components\";\r\nimport { VisualObjectViewModelFactory } from \"../shared/visualObjectViewModelFactory\";\r\nimport { ParamComponent } from \"../../shared/paramComponent\";\r\nimport { ConfigurationSessionManager } from \"../../providers/configurationSessionManager\";\r\nimport { ConfiguratorStore } from \"../../providers/configuratorStore\";\r\nimport { ParameterMandatoryService } from \"../shared/parameterMandatoryService\";\r\nimport { ConfPageSessionService, ConfMessageProvider, ConfiguratorUIStore } from \"../../providers\";\r\nimport { ChangeDetectorRef } from \"@angular/core\";\r\nimport { VisualObjectHelper } from \"../shared\";\r\n\r\n@Component({\r\n selector: 'double-param',\r\n templateUrl: './doubleParamComponent.html'\r\n})\r\nexport class DoubleParamComponent extends ParamComponent {\r\n\r\n confDoubleValue: ConfDoubleValue;\r\n errors: Array;\r\n unsubscribeListener: Unsubscribe\r\n\r\n constructor(\r\n @Inject(ComponentFactoryResolver) public resolver: ComponentFactoryResolver,\r\n @Inject(VisualObjectViewModelFactory) public viewFactory: VisualObjectViewModelFactory,\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfiguratorUIStore) public confUIStore: ConfiguratorUIStore,\r\n @Inject(ConfPageSessionService) public confPageSessionService: ConfPageSessionService,\r\n @Inject(PopupService) public popupService: PopupService,\r\n @Inject(ParameterMandatoryService) public parameterMandatoryService: ParameterMandatoryService,\r\n @Inject(ConfMessageProvider) public messagesProvider: ConfMessageProvider,\r\n @Inject(VisualObjectHelper) public visualObjectHelper: VisualObjectHelper,\r\n public cd: ChangeDetectorRef\r\n ) {\r\n super(confStore, confPageSessionService, popupService, visualObjectHelper, parameterMandatoryService, messagesProvider, cd);\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.viewModel = this.viewFactory.create(this.parameter);\r\n\r\n if (this.parameter.placeholder)\r\n this.viewModel.placeholder = this.parameter.placeholder;\r\n\r\n // Set value on load.\r\n this.setValue(this.confStore.getConfValue(this.configuration.longId, this.confSessionId, this.parameter.visualObjectId));\r\n\r\n super.ngOnInit();\r\n }\r\n\r\n public setValue(confValue: BaseEntity) {\r\n this.confDoubleValue = confValue as ConfDoubleValue;\r\n\r\n if (!this.confDoubleValue)\r\n return;\r\n\r\n // Set value to view\r\n this.viewModel.value = this.confDoubleValue.value;\r\n\r\n // Set readonly status to view.\r\n this.viewModel.readOnly = this.confDoubleValue.isReadOnly;\r\n }\r\n\r\n onValueChange($event: ValueChangeEventArgs): void {\r\n super.onValueChange($event);\r\n\r\n // Update value\r\n this.confStore.setConfValue(this.confDoubleValue, this.confSessionId, $event.value, this.confUIStore.includeMandatoryInfo, this.confUIStore.isNextStateIncluded);\r\n }\r\n\r\n onReadOnly($event: RestrictValueChangeEventArgs): void {\r\n this.confStore.getReadOnlyInfo(this.configurationId, this.confSessionId, this.confDoubleValue, +$event.inValidValue);\r\n }\r\n\r\n onDisallowed($event: RestrictValueChangeEventArgs): void {\r\n // TODO: Temporary solution to trigger the events\r\n //this.appStore.dispatch(\r\n //this.confStore.setConfValue(this.confDoubleValue, $event.inValidValue);\r\n }\r\n\r\n public getCurrentValue(): any {\r\n\r\n // If value is different then set it to ConfValue and return the change ConfValue to cause a value change trigger\r\n if (this.confDoubleValue && this.confDoubleValue.value != this.viewModel.value)\r\n return this.confDoubleValue.setValue(this.viewModel.value);\r\n\r\n return this.confDoubleValue;\r\n }\r\n\r\n public setError(errors: Array) {\r\n this.errors = errors;\r\n }\r\n\r\n}","
\r\n
\r\n \r\n
\r\n
","import { Component, Inject, Input, ViewContainerRef, ComponentFactoryResolver, ViewChild, OnDestroy } from \"@angular/core\";\r\nimport { IntParam, ConfIntValue, ConfValue, ConfValueErrorMessage } from \"../../../shared/models\";\r\nimport { BaseEntity } from \"../../../shared/baseEntity\";\r\nimport { Unsubscribe } from 'redux';\r\nimport { InputViewModel, ValueChangeEventArgs, RestrictValueChangeEventArgs, PopupService } from \"../../../../shared/components\";\r\nimport { VisualObjectViewModelFactory } from \"../shared/visualObjectViewModelFactory\";\r\nimport { ParamComponent } from \"../../shared/paramComponent\";\r\nimport { ConfigurationSessionManager } from \"../../providers/configurationSessionManager\";\r\nimport { ConfiguratorStore } from \"../../providers/configuratorStore\";\r\nimport { ParameterMandatoryService } from \"../shared/parameterMandatoryService\";\r\nimport { ConfPageSessionService, ConfMessageProvider, ConfiguratorUIStore } from \"../../providers\";\r\nimport { ChangeDetectorRef } from \"@angular/core\";\r\nimport { VisualObjectHelper } from \"../shared\";\r\n\r\n@Component({\r\n selector: 'int-param',\r\n templateUrl: './intParamComponent.html'\r\n})\r\nexport class IntParamComponent extends ParamComponent {\r\n\r\n confIntValue: ConfIntValue;\r\n unsubscribeListener: Unsubscribe;\r\n errors: Array;\r\n\r\n constructor(\r\n @Inject(ComponentFactoryResolver) public resolver: ComponentFactoryResolver,\r\n @Inject(VisualObjectViewModelFactory) public viewFactory: VisualObjectViewModelFactory,\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfiguratorUIStore) public confUIStore: ConfiguratorUIStore,\r\n @Inject(ConfPageSessionService) public confPageSessionService: ConfPageSessionService,\r\n @Inject(PopupService) public popupService: PopupService,\r\n @Inject(ParameterMandatoryService) public parameterMandatoryService: ParameterMandatoryService,\r\n @Inject(ConfMessageProvider) public messagesProvider: ConfMessageProvider,\r\n @Inject(VisualObjectHelper) public visualObjectHelper: VisualObjectHelper,\r\n public cd: ChangeDetectorRef\r\n ) {\r\n super(confStore, confPageSessionService, popupService, visualObjectHelper, parameterMandatoryService, messagesProvider, cd);\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.viewModel = this.viewFactory.create(this.parameter);\r\n\r\n if (this.parameter.placeholder)\r\n this.viewModel.placeholder = this.parameter.placeholder;\r\n\r\n // Set value on load.\r\n this.setValue(this.confStore.getConfValue(this.configuration.longId, this.confSessionId, this.parameter.visualObjectId));\r\n\r\n super.ngOnInit();\r\n }\r\n\r\n public setValue(confValue: BaseEntity) {\r\n this.confIntValue = confValue as ConfIntValue;\r\n\r\n if (!this.confIntValue)\r\n return;\r\n\r\n // Update the value when coming from server.\r\n this.viewModel.value = this.confIntValue.value;\r\n\r\n // Set readonly status to view.\r\n this.viewModel.readOnly = this.confIntValue.isReadOnly; \r\n }\r\n\r\n onValueChange($event: ValueChangeEventArgs): void {\r\n super.onValueChange($event);\r\n\r\n // Update value\r\n this.confStore.setConfValue(this.confIntValue, this.confSessionId, $event.value, this.confUIStore.includeMandatoryInfo, this.confUIStore.isNextStateIncluded);\r\n }\r\n\r\n onReadOnly($event: RestrictValueChangeEventArgs): void {\r\n this.confStore.getReadOnlyInfo(this.configurationId, this.confSessionId, this.confIntValue, +$event.inValidValue);\r\n }\r\n\r\n onDisallowed($event: RestrictValueChangeEventArgs): void {\r\n }\r\n\r\n public getCurrentValue(): any { \r\n\r\n // If value is different then set it to ConfValue and return the change ConfValue to cause a value change trigger\r\n if (this.confIntValue && this.confIntValue.value != this.viewModel.value)\r\n return this.confIntValue.setValue(this.viewModel.value);\r\n\r\n return this.confIntValue;\r\n }\r\n \r\n public setError(errors: Array) {\r\n\r\n // Note! If we pass errors as an argument to the component then system updates them. View.errors is not working in this case. We might need immutable InputViewModels to prevent this issue.\r\n this.errors = errors; \r\n }\r\n}","
\r\n
\r\n \r\n
\r\n
","import { Inject, Component, ChangeDetectorRef, Input, ComponentFactoryResolver, ViewChild, ChangeDetectionStrategy } from \"@angular/core\";\r\nimport { Unsubscribe } from 'redux';\r\nimport { LookupParam, ParamValue, ConfLookupValue, ConfUIItem } from \"../../../shared/models\";\r\nimport { BaseEntity } from \"../../../shared/baseEntity\";\r\nimport { DisplayStyle, Orientation, InputViewModel, ValueChangeEventArgs, RestrictValueChangeEventArgs, RadioGroupComponent, PopupService, Positions } from \"../../../../shared/components\";\r\nimport { VisualObjectViewModelFactory, VisualObjectHelper } from \"../shared\";\r\nimport { ParamComponent } from \"../../shared/paramComponent\";\r\nimport { ProductDataStore } from \"../../../shared/providers/productData\";\r\nimport { ConfiguratorStore } from \"../../providers/configuratorStore\";\r\nimport { ConfigurationSessionManager } from \"../../providers/configurationSessionManager\";\r\nimport { ParameterMandatoryService } from \"../shared/parameterMandatoryService\";\r\nimport { ConfPageSessionService, ConfMessageProvider, ConfiguratorUIStore } from \"../../providers\";\r\nimport { VisualObjectVisibilityService } from \"../../shared\";\r\nimport * as Immutable from 'immutable';\r\n\r\n@Component({\r\n selector: 'lookup-param',\r\n templateUrl: './lookupParamComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class LookupParamComponent extends ParamComponent {\r\n\r\n paramValues: ParamValue[] = [];\r\n confLookupValue: ConfLookupValue;\r\n unsubscribeListener: Unsubscribe;\r\n\r\n itemsView: InputViewModel[] = [];\r\n\r\n displayStyle: any = DisplayStyle.Standard;\r\n orientation: any = Orientation.Vertical;\r\n\r\n // This property is added temporary until we introduce immutable views.\r\n selectedViewId: string;\r\n\r\n @ViewChild('radioGroup')\r\n private radioGroup: RadioGroupComponent;\r\n\r\n constructor(\r\n @Inject(ProductDataStore) public productStore: ProductDataStore,\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfiguratorUIStore) public confUIStore: ConfiguratorUIStore,\r\n @Inject(ConfPageSessionService) public confPageSessionService: ConfPageSessionService,\r\n @Inject(ComponentFactoryResolver) public resolver: ComponentFactoryResolver,\r\n @Inject(ChangeDetectorRef) public cdr: ChangeDetectorRef,\r\n @Inject(VisualObjectViewModelFactory) public viewFactory: VisualObjectViewModelFactory,\r\n @Inject(PopupService) public popupService: PopupService,\r\n @Inject(ParameterMandatoryService) public parameterMandatoryService: ParameterMandatoryService,\r\n @Inject(ConfMessageProvider) public messagesProvider: ConfMessageProvider,\r\n @Inject(VisualObjectHelper) public visualObjectHelper: VisualObjectHelper,\r\n @Inject(VisualObjectVisibilityService) public visualObjectVisibilityService: VisualObjectVisibilityService,\r\n ) {\r\n super(confStore, confPageSessionService, popupService, visualObjectHelper, parameterMandatoryService, messagesProvider, cdr);\r\n }\r\n\r\n ngOnInit() {\r\n // Set orientation\r\n this.orientation = (this.parameter as LookupParam).orientation.toLowerCase().trim();\r\n\r\n // Create views\r\n this.createViewModels(); \r\n\r\n this.confStore.onLookupConfValueVisibilityChange(this.configurationId, this.confPageSessionService.confSessionId, this.parameter.longId, (uiItems: string): void => {\r\n\r\n let confLookupValue = this.confStore.getConfValue(this.configurationId, this.confPageSessionService.confSessionId, this.paramId);\r\n this.setValue(confLookupValue);\r\n\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n super.ngOnInit();\r\n }\r\n\r\n createViewModels(): void {\r\n let displayHelp = false;\r\n let lookupParam: LookupParam = this.parameter as LookupParam;\r\n\r\n // Create view for children\r\n this.parameter.paramValues.forEach(x => {\r\n let paramValue: ParamValue = this.getParamValue(x);\r\n if (paramValue.obsolete)\r\n return;\r\n\r\n let itemView = this.viewFactory.create(paramValue);\r\n\r\n // Set the param-value icons width/height \r\n let hasIconWidth: boolean = lookupParam.paramValueIconWidth != null && lookupParam.paramValueIconWidth > 0;\r\n let hasIconHeight: boolean = lookupParam.paramValueIconHeight != null && lookupParam.paramValueIconHeight > 0;\r\n let isWidthOrHeightExists = hasIconWidth || hasIconHeight;\r\n\r\n let defaultIconWidth = isWidthOrHeightExists ? null : this.uiSettings.configurator.parameter.lookupValue.width;\r\n let defaultIconHeight = isWidthOrHeightExists ? null : this.uiSettings.configurator.parameter.lookupValue.height;\r\n\r\n itemView.iconWidth = hasIconWidth ? `${lookupParam.paramValueIconWidth}px` : defaultIconWidth;\r\n itemView.iconHeight = hasIconHeight ? `${lookupParam.paramValueIconHeight}px` : defaultIconHeight;\r\n itemView.hideIfDisabled = paramValue.hideIfDisabled || lookupParam.hideValuesIfDisabled;\r\n\r\n // Don't use help for items, parent will show it.\r\n displayHelp = displayHelp || itemView.enableHelp;\r\n itemView.enableHelp = false;\r\n itemView.helpImage = paramValue.helpImageRelativeUrl;\r\n\r\n this.itemsView.push(itemView);\r\n });\r\n\r\n // Create group view\r\n this.viewModel = this.viewFactory.create(this.parameter);\r\n\r\n if (this.parameter.placeholder)\r\n this.viewModel.placeholder = this.parameter.placeholder;\r\n\r\n // If there is no width defined then set the minimum to fix selected value on the right side of parameter.\r\n // minWidth is only needed if DisplaySelectedValue is set.\r\n if (!this.parameter.width || this.parameter.width == 0)\r\n this.viewModel.minWidth = this.visualObjectHelper.visualObjectWidth(this.parameter);\r\n\r\n this.viewModel.highlight = this.shouldHighlight();\r\n\r\n // Set height for everyone\r\n if (lookupParam.showHelpImageOfSelectedValue && lookupParam.selectedValueImageHeight)\r\n this.viewModel.helpImageHeight = `${lookupParam.selectedValueImageHeight}px`;\r\n\r\n // Above values\r\n if (lookupParam.showHelpImageOfSelectedValue == 1) {\r\n // In this case width would be same as parameter width. So don't need to set the width for help image.\r\n this.viewModel.helpImagePosition = Positions.Above;\r\n }\r\n\r\n // Right side of the parameter, width and height both is needed.\r\n // Right of values = 2\r\n // Inline right = 3\r\n // Inline left = 4\r\n // Below = 5\r\n else if (\r\n (\r\n lookupParam.showHelpImageOfSelectedValue == 2 ||\r\n lookupParam.showHelpImageOfSelectedValue == 3 ||\r\n lookupParam.showHelpImageOfSelectedValue == 4\r\n\r\n ) && lookupParam.selectedValueImageHeight && lookupParam.selectedValueImageWidth) {\r\n\r\n if (lookupParam.selectedValueImageWidth)\r\n this.viewModel.helpImageWidth = `${lookupParam.selectedValueImageWidth}px`;\r\n\r\n }\r\n\r\n this.viewModel.helpImagePosition = this.ImagePosition(lookupParam.showHelpImageOfSelectedValue);\r\n\r\n if (this.viewModel.helpImagePosition != Positions.None) {\r\n this.viewModel.widthIfSelectedImage = this.visualObjectHelper.getLookupWidthIfSelectedHelpImage(lookupParam) + 'px'; \r\n }\r\n\r\n this.viewModel.enableHelp = this.viewModel.enableHelp || displayHelp;\r\n this.viewModel.enableExternalLink = this.viewModel.enableExternalLink && !displayHelp;\r\n\r\n // If any child view contains icon then use the ImageLeft or ImageAbove display style based on orientation.\r\n if (this.itemsView.filter(x => x.icon).length > 0) {\r\n this.displayStyle = DisplayStyle.Image;\r\n }\r\n\r\n // If any of the image has missing icon, then set the default no-image icon.\r\n if (this.displayStyle == DisplayStyle.Image)\r\n this.itemsView.forEach(item => {\r\n\r\n if (!item.icon) {\r\n item.icon = \"noimage\";\r\n item.isVaultIcon = false;\r\n }\r\n });\r\n }\r\n\r\n protected ImagePosition(helpImagePositionId: number): string {\r\n\r\n switch (helpImagePositionId) {\r\n\r\n case 1:\r\n return Positions.Above;\r\n\r\n case 2:\r\n return Positions.Right;\r\n\r\n case 3:\r\n return Positions.InlineRight;\r\n\r\n case 4:\r\n return Positions.InlineLeft;\r\n\r\n case 5:\r\n return Positions.Below;\r\n\r\n default:\r\n return Positions.None;\r\n\r\n }\r\n\r\n }\r\n\r\n public setValue(confValue: BaseEntity) {\r\n this.confLookupValue = confValue as ConfLookupValue;\r\n\r\n if (!this.confLookupValue)\r\n return;\r\n\r\n // Remove all readonly and disallowed states before setting it.\r\n this.viewFactory.setNormalState(this.itemsView);\r\n\r\n let selectedView = this.viewFactory.setValue(this.itemsView, String(this.confLookupValue.value), this.confLookupValue.value);\r\n\r\n // Group view is used in dropdown list to show the title of the selected value.\r\n this.viewModel.formattedValue = selectedView != null ? selectedView.title : \"\";\r\n this.viewModel.value = selectedView != null ? selectedView.id : null;\r\n this.selectedViewId = selectedView != null ? selectedView.id : null;\r\n\r\n // Set selected value icon for dropdowns\r\n if (!this.parameter.displayAsRadio && this.displayStyle == DisplayStyle.Image)\r\n if (selectedView != null)\r\n this.viewModel.icon = selectedView.icon;\r\n else\r\n this.viewModel.icon = this.parameter.iconRelativeUrl;\r\n\r\n // Disallow values\r\n let dissallowedValues: any = this.confLookupValue.disallowedParamValues;\r\n\r\n dissallowedValues.entrySeq().forEach(e => {\r\n // TODO: Make map strongly typed in model classes.\r\n let key: string = e[0];\r\n let value: boolean = Boolean(e[1]);\r\n\r\n this.itemsView = this.viewFactory.setDisabled(this.itemsView, key, value);\r\n });\r\n\r\n // HIDE (disable)\r\n this.parameter.paramValues.forEach(x => {\r\n let paramValue: ParamValue = this.getParamValue(x);\r\n\r\n if (!this.visualObjectVisibilityService.isParamValueVisible(paramValue, this.configuration))\r\n this.itemsView = this.viewFactory.setDisabled(this.itemsView, paramValue.longId + \"\", true);\r\n });\r\n\r\n // Set readOnly\r\n this.itemsView = this.viewFactory.setReadOnly(this.itemsView, String(this.confLookupValue.value), this.confLookupValue.isReadOnly);\r\n\r\n // In dropdown case, read only icon should be displayed at parent level, thats why the readonly status is set to group's view.\r\n this.viewModel.readOnly = this.confLookupValue.isReadOnly; \r\n\r\n this.itemsView = [...this.itemsView];\r\n this.cd.markForCheck();\r\n\r\n }\r\n\r\n public setHighlight(highlight: boolean): void {\r\n this.viewModel.highlight = highlight;\r\n this.viewModel = { ... this.viewModel };\r\n this.cd.markForCheck();\r\n }\r\n\r\n getParamValues(): ParamValue[] {\r\n if (this.paramValues.length > 0 && this.paramValues.length === this.parameter.paramValues.count())\r\n return this.paramValues;\r\n\r\n this.parameter.paramValues.forEach((a) => {\r\n let paramValue: ParamValue = this.getParamValue(a);\r\n\r\n this.paramValues.push(paramValue);\r\n });\r\n\r\n return this.paramValues;\r\n }\r\n\r\n getParamValue(id: number): ParamValue {\r\n return this.productStore.getEntity(id) as ParamValue;\r\n }\r\n\r\n onValueChange($event: ValueChangeEventArgs): void {\r\n super.onValueChange($event);\r\n\r\n // Update value\r\n this.viewModel.value = $event.actionView.title;\r\n this.selectedViewId = $event.actionView.value ? String($event.actionView.value) : null;\r\n this.confStore.setConfValue(this.confLookupValue, this.confSessionId, +$event.actionView.value, this.confUIStore.includeMandatoryInfo, this.confUIStore.isNextStateIncluded);\r\n }\r\n\r\n onReadOnly($event: RestrictValueChangeEventArgs): void {\r\n // TODO: Currenty all messages are listened in configuratorComponent, The dispatch is only made here. Its better to return the subscription and show messages from here.\r\n this.confStore.getReadOnlyInfo(this.configurationId, this.confSessionId, this.confLookupValue, +$event.inValidValue);\r\n }\r\n\r\n onDisallowed($event: RestrictValueChangeEventArgs): void {\r\n this.confStore.setConfValue(this.confLookupValue, this.confSessionId, +$event.inValidValue, this.confUIStore.includeMandatoryInfo, this.confUIStore.isNextStateIncluded);\r\n }\r\n\r\n public getCurrentValue(): any {\r\n\r\n // If value is different then set it to ConfValue and return the change ConfValue to cause a value change trigger\r\n \r\n if (this.confLookupValue && (this.confLookupValue.value !== null ? this.confLookupValue.value : 0) !== +this.viewModel.value)\r\n return this.confLookupValue.setValue(+this.viewModel.value);\r\n\r\n return this.confLookupValue;\r\n }\r\n\r\n public setError(errors: Array) {\r\n this.viewModel.errors = errors;\r\n }\r\n}","
\r\n
0 && parameter != null\" class=\"visual-object-margin\">\r\n \r\n\r\n \r\n\r\n\r\n \r\n \r\n
\r\n
","import { Component, Inject, ComponentFactoryResolver, ChangeDetectorRef, ChangeDetectionStrategy } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\nimport { BaseEntity } from \"../../../shared/baseEntity\";\r\nimport { MultiChoiceValue, ConfMultiChoiceValue, ConfMultiSetValue, Conf, MultiChoiceParam } from \"../../../shared/models\";\r\nimport { PopupService } from \"../../../../shared/components\";\r\nimport { VisualObjectViewModelFactory, VisualObjectHelper } from \"../shared\";\r\nimport { ParamComponent } from \"../../shared/paramComponent\";\r\nimport { ProductDataStore } from \"../../../shared/providers/productData\";\r\nimport { ConfiguratorStore } from \"../../providers/configuratorStore\";\r\nimport { ManagedSubscription } from \"../../../../shared/managedSubscription\";\r\nimport { VisualObjectContainerService } from \"../../shared/visualObjectContainerService\";\r\nimport { ParameterMandatoryService } from \"../shared/parameterMandatoryService\";\r\nimport { ConfPageSessionService, ConfMessageProvider } from \"../../providers\";\r\nimport { VisualObjectVisibilityService } from \"../../shared/visualObjectVisibilityService\";\r\nimport { MultiChoiceItemViewModel } from \"../../../../shared/components/multiChoice\";\r\n\r\n@Component({\r\n selector: 'multi-choice-param',\r\n templateUrl: './multiChoiceParamComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MultiChoiceParamComponent extends ParamComponent {\r\n\r\n public confMultiChoiceValue: ConfMultiChoiceValue;\r\n\r\n // Stores the view model by Id so that we could reuse them to improve the performance.\r\n public multiChoiceItemViewById: Immutable.Map = Immutable.Map();\r\n public multiChoiceItemsViews: Immutable.List = Immutable.List();\r\n \r\n public confSubscription: ManagedSubscription;\r\n\r\n public multiChoiceParamId: number;\r\n\r\n constructor(\r\n @Inject(ProductDataStore) public productStore: ProductDataStore, \r\n @Inject(ComponentFactoryResolver) public resolver: ComponentFactoryResolver,\r\n @Inject(VisualObjectViewModelFactory) public viewFactory: VisualObjectViewModelFactory,\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfPageSessionService) public confPageSessionService: ConfPageSessionService,\r\n @Inject(VisualObjectContainerService) public visualObjectContainerService: VisualObjectContainerService,\r\n @Inject(PopupService) public popupService: PopupService,\r\n @Inject(ParameterMandatoryService) public parameterMandatoryService: ParameterMandatoryService,\r\n @Inject(ConfMessageProvider) public messagesProvider: ConfMessageProvider,\r\n @Inject(VisualObjectVisibilityService) public visualObjectVisibilityService: VisualObjectVisibilityService,\r\n @Inject(VisualObjectHelper) public visualObjectHelper: VisualObjectHelper,\r\n public cd: ChangeDetectorRef\r\n ) {\r\n super(confStore, confPageSessionService, popupService, visualObjectHelper, parameterMandatoryService, messagesProvider, cd);\r\n }\r\n\r\n ngOnInit() {\r\n this.createViewModels();\r\n\r\n this.multiChoiceParamId = this.parameter.visualObjectId;\r\n \r\n // Set value on load.\r\n this.setValue(this.confStore.getConfValue(this.configurationId, this.confSessionId, this.multiChoiceParamId));\r\n\r\n // Initialize value models on load.\r\n this.updateMultiSetValueModels();\r\n\r\n super.ngOnInit();\r\n \r\n this.confSubscription = this.confStore.onConfigurationChange(this.configurationId, this.confSessionId, (conf: Conf) => {\r\n // Update models on value change.\r\n this.updateMultiSetValueModels();\r\n this.cd.markForCheck();\r\n });\r\n }\r\n\r\n public setValue(confValue: BaseEntity): void {\r\n this.confMultiChoiceValue = confValue as ConfMultiChoiceValue;\r\n }\r\n\r\n createViewModels(): void {\r\n // Create group view\r\n this.viewModel = this.viewFactory.create(this.parameter);\r\n }\r\n\r\n updateMultiSetValueModels(): void {\r\n\r\n // Clear the cache.\r\n this.multiChoiceItemsViews = this.multiChoiceItemsViews.clear();\r\n\r\n // Go through all values, check the visibilty and update the list.\r\n let multiChoiceParam: MultiChoiceParam = this.parameter as MultiChoiceParam;\r\n multiChoiceParam.paramValues.forEach(multiChoiceValueId => {\r\n\r\n // \r\n let multiChoiceItem: MultiChoiceValue = this.productStore.getEntity(multiChoiceValueId) as MultiChoiceValue;\r\n let isVisible = this.visualObjectVisibilityService.isParamValueVisible(multiChoiceItem, this.configuration);\r\n if (!isVisible) {\r\n\r\n this.multiChoiceItemViewById = this.multiChoiceItemViewById.remove(+multiChoiceItem.longId);\r\n return;\r\n\r\n }\r\n\r\n // If view model does not exist or it is changed.\r\n if (!this.exists(multiChoiceItem)) {\r\n this.multiChoiceItemViewById = this.multiChoiceItemViewById.set(+multiChoiceItem.longId, this.createItemViewModel(multiChoiceItem));\r\n }\r\n\r\n // Copy the new values if server response is changed.\r\n if (!this.equal(multiChoiceItem))\r\n this.copyValues(multiChoiceItem);\r\n\r\n // Update the cache.\r\n this.multiChoiceItemsViews = this.multiChoiceItemsViews.push(this.multiChoiceItemViewById.get(+multiChoiceItem.longId));\r\n\r\n // Enable help if any of the param value has HelpText or HelpImage.\r\n if ((multiChoiceItem.helpText && multiChoiceItem.helpText.trim() != \"\") || (multiChoiceItem.helpImageRelativeUrl && multiChoiceItem.helpImageRelativeUrl.trim() != \"\") || (multiChoiceItem.externLink && multiChoiceItem.externLink.trim() != \"\")) {\r\n this.viewModel.enableHelp = true;\r\n this.viewModel.enableExternalLink = false;\r\n }\r\n });\r\n\r\n }\r\n\r\n /**\r\n * Creates the multiChoiceItem model.\r\n * @param valueModel\r\n */\r\n createItemViewModel(item: MultiChoiceValue): MultiChoiceItemViewModel {\r\n\r\n // Create view for children\r\n let multiChoiceValue: MultiChoiceValue = this.getMultiChoiceValue(item.longId);\r\n if (multiChoiceValue.obsolete)\r\n return;\r\n\r\n let itemView: MultiChoiceItemViewModel = this.viewFactory.create(multiChoiceValue) as MultiChoiceItemViewModel;\r\n\r\n // Factory returns the default width, make it empty, component's width is set at group level view.\r\n itemView.width = \"\";\r\n itemView.triState = multiChoiceValue.threeState;\r\n\r\n // Don't use help for items, parent will show it.\r\n itemView.enableHelp = false;\r\n itemView.id = multiChoiceValue.longId.toString();\r\n\r\n let confMultiSetValue: ConfMultiSetValue = this.getConfMultiSetValue(item);\r\n\r\n if (!confMultiSetValue)\r\n return itemView;\r\n\r\n // Set value.\r\n itemView.value = confMultiSetValue.value;\r\n\r\n // Is disabled?\r\n itemView.disabled = confMultiSetValue.isDisallowed;\r\n\r\n // Is readOnly?\r\n itemView.readOnly = confMultiSetValue.isReadOnly;\r\n \r\n return itemView;\r\n }\r\n\r\n getMultiChoiceValue(id: number): MultiChoiceValue {\r\n return this.productStore.getEntity(id) as MultiChoiceValue;\r\n }\r\n\r\n /**\r\n * Returns the confMultiSetValue\r\n * @param valueModel\r\n */\r\n getConfMultiSetValue(item: MultiChoiceValue): ConfMultiSetValue {\r\n return this.confStore.getConfValue(this.configuration.longId, this.confPageSessionService.confSessionId, item.longId) as ConfMultiSetValue;\r\n }\r\n\r\n exists(multiChoiceItem: MultiChoiceValue): boolean {\r\n return this.multiChoiceItemViewById.has(+multiChoiceItem.longId); \r\n }\r\n\r\n /**\r\n * Returns true if old and new values for ConfMultiChoiceValue are same.\r\n * @param multiChoiceItem\r\n */\r\n equal(multiChoiceItem: MultiChoiceValue): boolean {\r\n\r\n let oldItemView: MultiChoiceItemViewModel = this.multiChoiceItemViewById.get(multiChoiceItem.longId);\r\n\r\n let newConfMultisetValue = this.getConfMultiSetValue(multiChoiceItem);\r\n\r\n // First old object\r\n let firstObj = { id: oldItemView.id, value: oldItemView.value, readonly: oldItemView.readOnly, disabled: oldItemView.disabled };\r\n let secondObj = { id: newConfMultisetValue.longId.toString(), value: newConfMultisetValue.value, readonly: newConfMultisetValue.isReadOnly, disabled: newConfMultisetValue.isDisallowed };\r\n\r\n return JSON.stringify(firstObj) == JSON.stringify(secondObj);\r\n\r\n }\r\n\r\n /**\r\n * Copies the new values.\r\n * @param multiChoiceItem\r\n */\r\n copyValues(multiChoiceItem: MultiChoiceValue): void {\r\n\r\n let oldItemView: MultiChoiceItemViewModel = this.multiChoiceItemViewById.get(multiChoiceItem.longId);\r\n let newConfMultisetValue = this.getConfMultiSetValue(multiChoiceItem);\r\n\r\n oldItemView.value = newConfMultisetValue.value;\r\n oldItemView.disabled = newConfMultisetValue.isDisallowed;\r\n oldItemView.readOnly = newConfMultisetValue.isReadOnly;\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.confSubscription)\r\n this.confSubscription.unsubscribe();\r\n\r\n super.ngOnDestroy();\r\n }\r\n\r\n onItemViewChanged(itemView: MultiChoiceItemViewModel) {\r\n this.updateItemView(itemView);\r\n }\r\n\r\n updateItemView(itemView: MultiChoiceItemViewModel) {\r\n\r\n // Update map\r\n this.multiChoiceItemViewById = this.multiChoiceItemViewById.set(Number(itemView.id), itemView);\r\n\r\n let tempList = new Array();\r\n\r\n // Push into temp list and then assign this temp list to multiChoiceItemsViews.\r\n this.multiChoiceItemsViews.forEach(x => {\r\n\r\n let v = this.multiChoiceItemViewById.get(Number(x.id));\r\n tempList.push(v);\r\n\r\n });\r\n\r\n this.multiChoiceItemsViews = Immutable.List(tempList);\r\n\r\n }\r\n\r\n public getCurrentValue(): any {\r\n return null;\r\n }\r\n\r\n public setError(errors: Array) {\r\n this.viewModel.errors = errors;\r\n }\r\n}","
\r\n
\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n
","import { Component, Inject, Input, ChangeDetectorRef, ChangeDetectionStrategy, Output, EventEmitter, SimpleChanges } from \"@angular/core\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { ConfMultiChoiceValue, ConfMultiSetValue, ConfValue, ConfValueErrorMessage } from \"../../../shared/models\";\r\nimport { ValueChangeEventArgs, RestrictValueChangeEventArgs, PopupService } from \"../../../../shared/components\";\r\nimport { VisualObjectViewModelFactory, VisualObjectHelper } from \"../shared\";\r\nimport { MultiChoiceItemViewModel } from \"../../../../shared/components/multiChoice\";\r\nimport { ProductDataStore } from \"../../../shared/providers/productData\";\r\nimport { ConfiguratorStore } from \"../../providers/configuratorStore\";\r\nimport { ParameterMandatoryService } from \"../shared/parameterMandatoryService\";\r\nimport { ConfPageSessionService, ConfMessageProvider, ConfiguratorUIStore } from \"../../providers\";\r\nimport { VisualObjectComponent } from \"../../shared/visualObjectComponent\";\r\nimport { ManagedSubscription } from \"../../../../shared/managedSubscription\";\r\n\r\n@Component({\r\n selector: 'multi-choice-value',\r\n templateUrl: './multiChoiceValueComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MultiChoiceValueComponent extends VisualObjectComponent {\r\n\r\n public confChangeSubscription: ManagedSubscription;\r\n public errorSubscription: ManagedSubscription;\r\n public highlightChangeSubscription: Subscription;\r\n\r\n @Output()\r\n public viewChanged: EventEmitter = new EventEmitter();\r\n\r\n @Input()\r\n public view: MultiChoiceItemViewModel;\r\n\r\n @Input()\r\n public multiChoiceParamId: number;\r\n\r\n // Used to trigger change detection of view on value change\r\n @Input()\r\n public value: boolean;\r\n\r\n public confMultiSetValue: ConfMultiSetValue;\r\n\r\n // Store highlighting locally.. There's some problems for MultiChoiceValue which makes it not highlight in composite otherwise. TODO\r\n public highlight = false;\r\n\r\n constructor(\r\n @Inject(ProductDataStore) public productStore: ProductDataStore,\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfiguratorUIStore) public confUIStore: ConfiguratorUIStore,\r\n @Inject(ConfPageSessionService) public confPageSessionService: ConfPageSessionService,\r\n @Inject(VisualObjectViewModelFactory) public viewFactory: VisualObjectViewModelFactory,\r\n @Inject(PopupService) public popupService: PopupService,\r\n @Inject(ParameterMandatoryService) public parameterMandatoryService: ParameterMandatoryService,\r\n @Inject(VisualObjectHelper) public visualObjectHelper: VisualObjectHelper,\r\n @Inject(ConfMessageProvider) public messagesProvider: ConfMessageProvider,\r\n public cd: ChangeDetectorRef\r\n ) {\r\n super(confStore, confPageSessionService, visualObjectHelper);\r\n }\r\n\r\n onValueChange($event: ValueChangeEventArgs): void {\r\n this.setError([]);\r\n\r\n if ($event.actionView) {\r\n // Update value\r\n this.confStore.setConfValue(this.confMultiChoice, this.confSessionId, $event.actionView.value, this.confUIStore.includeMandatoryInfo, this.confUIStore.isNextStateIncluded, +$event.actionView.id);\r\n }\r\n }\r\n\r\n onReadOnly(event: RestrictValueChangeEventArgs): void {\r\n this.confStore.getReadOnlyInfo(this.configurationId, this.confSessionId, this.confMultiChoice, +event.actionView.id);\r\n }\r\n\r\n onDisallowed(event: RestrictValueChangeEventArgs): void {\r\n if (event.actionView) {\r\n // Update value\r\n this.confStore.setConfValue(this.confMultiChoice, this.confSessionId, event.inValidValue, this.confUIStore.includeMandatoryInfo, this.confUIStore.isNextStateIncluded, +event.actionView.id);\r\n }\r\n }\r\n\r\n public get confMultiChoice(): ConfMultiChoiceValue {\r\n return this.confStore.getConfValue(this.configurationId, this.confSessionId, this.multiChoiceParamId) as ConfMultiChoiceValue;\r\n }\r\n\r\n // Returns the multi\r\n public get paramId(): number {\r\n return Number(this.view.id);\r\n }\r\n\r\n public shouldHighlight(): boolean {\r\n // Override and store highlighting locally.. There's some problems for MultiChoiceValue which makes it not highlight in composite otherwise. TODO\r\n this.highlight = this.parameterMandatoryService.shouldHighlight(this.configurationId, +this.view.id);\r\n return this.highlight;\r\n }\r\n\r\n public setHighlight(highlight: boolean): void {\r\n this.view.highlight = highlight;\r\n this.viewChanged.emit(this.view);\r\n }\r\n\r\n public getCurrentValue(): any {\r\n\r\n // If value is different then set it to ConfValue and return the change ConfValue to cause a value change trigger\r\n if (this.confMultiSetValue && this.confMultiSetValue.value != this.view.value)\r\n return this.confMultiSetValue.setValue(this.view.value);\r\n\r\n return this.confMultiSetValue;\r\n }\r\n\r\n public setError(errors: Array) {\r\n if (this.view) {\r\n this.view.errors = errors;\r\n this.viewChanged.emit(this.view);\r\n }\r\n }\r\n\r\n public listenChanges(): void {\r\n // Unsubscribe the old subscription.\r\n this.unsubscribe();\r\n\r\n this.confStore.onConfigurationValueChange(this.configurationId, this.confPageSessionService.confSessionId, this.paramId, (confValue: ConfValue): void => {\r\n\r\n // Might mlso need to highlight\r\n this.setHighlight(this.shouldHighlight());\r\n\r\n },\r\n (): any => this.getCurrentValue()\r\n ).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n this.highlightChangeSubscription = this.parameterMandatoryService.getMessage().subscribe(() => {\r\n // Check if mandatory highlight\r\n this.setHighlight(this.shouldHighlight());\r\n });\r\n\r\n this.errorSubscription = this.messagesProvider.onMessagesRequest(this.confSessionId, ConfValueErrorMessage.name, (x) => {\r\n // Flatten my error messages to a single array \r\n let errorMessages = Array();\r\n if (x)\r\n x.forEach(msg => {\r\n if (msg.confValueId === this.paramId) {\r\n errorMessages = errorMessages.concat(msg.message);\r\n }\r\n });\r\n\r\n this.setError(errorMessages);\r\n }, false);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.unsubscribe();\r\n\r\n super.ngOnDestroy();\r\n }\r\n\r\n unsubscribe() {\r\n if (this.confChangeSubscription)\r\n this.confChangeSubscription.unsubscribe();\r\n\r\n if (this.highlightChangeSubscription)\r\n this.highlightChangeSubscription.unsubscribe();\r\n\r\n if (this.errorSubscription)\r\n this.errorSubscription.unsubscribe();\r\n }\r\n}","\r\n\r\n","export * from \"./visualObjectViewModelFactory\";\r\nexport * from \"./visualObjectHelper\";","import * as Immutable from \"immutable\";\r\nimport { Subject, Observable } from \"rxjs\";\r\n\r\nimport { MandatoryParamsMessage, ParamInfo } from \"../../../shared/models\";\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n@Injectable()\r\nexport class ParameterMandatoryService {\r\n\r\n //public mandatoryParamsByConfId = Immutable.Map>();\r\n public mandatoryParamsByConfId = new Map>();\r\n\r\n public _isHighlighting = false;\r\n\r\n public get isHighlighting(): boolean {\r\n return this._isHighlighting;\r\n }\r\n\r\n // Subject to subscribe the tree nodes. \r\n private subject = new Subject();\r\n\r\n public getMessage(): Observable {\r\n return this.subject.asObservable();\r\n }\r\n\r\n /**\r\n * Broadcasts the message to all subscribers\r\n * @param event\r\n */\r\n public sendMessage(event): void {\r\n this.subject.next(event);\r\n }\r\n\r\n public sendHighlightMessage(highlight: boolean): void {\r\n // Remember highlighting state.\r\n this._isHighlighting = highlight;\r\n this.sendMessage({ highlight: this._isHighlighting });\r\n }\r\n\r\n public setMandatoryParamsById(messages: Immutable.List, isSummary: boolean = false): void {\r\n this.mandatoryParamsByConfId.clear();\r\n\r\n messages.forEach(message => {\r\n this.mandatoryParamsByConfId = this.mandatoryParamsByConfId.set(message.configurationId, new Set());\r\n // Add all parameters and ParamValues to indicate that they're mandatory.\r\n message.mandatoryParams.forEach((param: ParamInfo) => {\r\n\r\n param.paramValues.forEach(paramValue => {\r\n this.mandatoryParamsByConfId.get(message.configurationId).add(paramValue.longId);\r\n });\r\n\r\n if (isSummary)\r\n this.mandatoryParamsByConfId.get(message.configurationId).add(param.visualObjectInTabId);\r\n else\r\n this.mandatoryParamsByConfId.get(message.configurationId).add(param.longId);\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * Returns the mandatory highlighting state of a parameter.\r\n Returns true if the parameter is mandatory and we're currently highlighting.\r\n */\r\n public shouldHighlight(confId: number, longId: number): boolean {\r\n // Highlight if the param is in the in the mandatory params.\r\n return this._isHighlighting && this.isMandatory(confId, longId);\r\n }\r\n\r\n /**\r\n * Returns the mandatory state of a parameter.\r\n */\r\n public isMandatory(confId: number, longId: number): boolean {\r\n // Highlight if the param is in the in the mandatory params.\r\n return this.mandatoryParamsByConfId.has(confId) && this.mandatoryParamsByConfId.get(confId).has(longId);\r\n }\r\n}","import { Injectable, Inject, Component } from \"@angular/core\";\r\nimport { BreakPointAccessor, Breakpoints, BreakpointRange, BreakpointOperator } from \"../../../../shared/utils\";\r\nimport { VisualObject, Tab, GraphicsDecoration, Param, DataSelector, BomDecoration, PropertyDecorationItem, PropertyDecoration, Decoration, HeaderDecoration, LookupParam, Conf, ConfUIItem, CodeDecoration, VisualizationDecoration } from \"../../../shared/models\";\r\nimport { TabDisplayStyle } from \"../../../shared/providers\";\r\nimport { ProductDataStore } from \"../../../shared/providers/productData\";\r\nimport { GlobalDataStore } from \"../../../shared/providers/globalData\";\r\nimport { SizeUtility } from \"../../../../shared/components\";\r\nimport { VisualObjectContainerService } from \"../../shared/visualObjectContainerService\";\r\nimport { GlobalServiceLocator } from \"../../../../shared/providers\";\r\nimport { VisualObjectUIDataService } from \"../../shared/visualObjectUIDataService\";\r\nimport { VisualObjectVisibilityService } from \"../../shared/visualObjectVisibilityService\";\r\n\r\n@Injectable()\r\nexport class VisualObjectHelper {\r\n\r\n // TODO: Read from UISettings.\r\n public readonly VISUAL_OBJECT_LEFT_MARGIN: number = 40;\r\n\r\n constructor (\r\n @Inject(BreakPointAccessor) private breakpointAccessor: BreakPointAccessor,\r\n @Inject(ProductDataStore) public productStore: ProductDataStore,\r\n @Inject(GlobalDataStore) public globalDataStore: GlobalDataStore,\r\n @Inject(VisualObjectUIDataService) public visualObjectUIDataService: VisualObjectUIDataService,\r\n public visualObjectVisibilityService: VisualObjectVisibilityService\r\n ) { }\r\n\r\n\r\n hasWidth(visual: VisualObject): boolean {\r\n return visual.width && visual.width > 0\r\n }\r\n\r\n isVisualObjectInAccordion(visual: VisualObject): boolean {\r\n\r\n // Tab linked to visual object.\r\n const tab: Tab = this.productStore.getEntity(visual.tabId);\r\n\r\n // For extra small screen, we move the normal tab objects to accordion.\r\n const accordionOrSmallScreen = tab && (tab.displayStyle == TabDisplayStyle.Accordion || tab.displayStyle == TabDisplayStyle.AccordionHeaderTab) || this.isVisualObjectInSmallScreen;\r\n\r\n return accordionOrSmallScreen;\r\n }\r\n\r\n get isVisualObjectInSmallScreen(): boolean {\r\n return this.breakpointAccessor.equal(Breakpoints.xs);\r\n }\r\n\r\n get smallSreenSize(): number {\r\n return Breakpoints.xs.max;\r\n }\r\n\r\n /**\r\n * If accordion and no width defined or extra small screen, then make it 100%. \r\n * @param visualObject\r\n */\r\n public visualObjectWidth(visualObject: VisualObject): string {\r\n\r\n if ((this.isVisualObjectInSmallScreen || this.isVisualObjectInAccordion(visualObject)) && !(visualObject instanceof BomDecoration))\r\n return '100%';\r\n \r\n if (this.hasWidth(visualObject))\r\n return `${visualObject.width}px`;\r\n\r\n // Default widths.\r\n let configuratorUISettings = this.globalDataStore.getGlobalData().uiSettings.configurator;\r\n if (visualObject instanceof Param)\r\n return configuratorUISettings.parameter.minWidth;\r\n\r\n else if (visualObject instanceof BomDecoration)\r\n return configuratorUISettings.decoration.bom.minWidth;\r\n\r\n else if (visualObject instanceof HeaderDecoration) {\r\n\r\n const isWidthDefined = this.hasWidth(visualObject);\r\n if (isWidthDefined)\r\n return `${visualObject.width}px`;\r\n\r\n // If width is not defined but next visual object is floated then set the default width\r\n else if (this.visualObjectUIDataService.isNextVisualObjectFloated(visualObject.longId) || visualObject.floatingPosition)\r\n return configuratorUISettings.decoration.header.minWidth;\r\n\r\n return \"100%\";\r\n\r\n }\r\n\r\n else if (visualObject instanceof PropertyDecoration)\r\n return \"100%\";\r\n\r\n else return configuratorUISettings.decoration.minWidth;\r\n }\r\n\r\n public decorationsMinWidth(decoration: Decoration): string {\r\n\r\n if (!decoration.width || (this.isVisualObjectInSmallScreen && decoration.width > this.smallSreenSize))\r\n return this.globalDataStore.getGlobalData().uiSettings.configurator.decoration.minWidth;\r\n\r\n return '100%';\r\n }\r\n\r\n\r\n /**\r\n * Returns the width of configuration properties. \r\n * @param confPropertyItem\r\n */\r\n public confPropertyWidth(confPropertyItem: PropertyDecorationItem): string {\r\n\r\n if (confPropertyItem.width && confPropertyItem.width > 0)\r\n return `${confPropertyItem.width}px`;\r\n\r\n // As this is the part of visual object, must be 100% to its parent.\r\n return '100%';\r\n }\r\n\r\n public decorationHeight(decoration: Decoration): string {\r\n\r\n if ((decoration instanceof GraphicsDecoration || decoration instanceof CodeDecoration || decoration instanceof VisualizationDecoration) && decoration.height)\r\n return `${decoration.height}px`;\r\n\r\n return null;\r\n }\r\n\r\n // Returns true if flex item(visual object) is allowed to grow to fill entire available space?\r\n public growVisualObject(visual: VisualObject, conf: Conf): boolean {\r\n\r\n if (visual instanceof GraphicsDecoration || visual instanceof VisualizationDecoration) {\r\n\r\n // If height is not defined and respnsive option is set to true then visual object must grow 100% \r\n const tab: Tab = this.productStore.getEntity(visual.tabId)\r\n return tab.visualObjects.count(x => this.visualObjectVisibilityService.isVisualObjectVisible(conf, this.productStore.getEntity(x))) == 1 && visual.responsiveSize;\r\n }\r\n\r\n return false; // Default value.\r\n }\r\n\r\n \r\n getVisualObjectDefaultWidth(visualObject: VisualObject): number {\r\n\r\n if (visualObject.width && visualObject.width > 0)\r\n return visualObject.width;\r\n\r\n return this.fallbackWidth(visualObject);\r\n\r\n }\r\n\r\n fallbackWidth(visualObject: VisualObject): number {\r\n\r\n let configuratorUISettings = this.globalDataStore.getGlobalData().uiSettings.configurator;\r\n\r\n if (visualObject instanceof Param)\r\n return SizeUtility.sizeAsNumber(configuratorUISettings.parameter.minWidth);\r\n\r\n else if (visualObject instanceof Decoration)\r\n return SizeUtility.sizeAsNumber(configuratorUISettings.decoration.minWidth);\r\n\r\n return 0;\r\n\r\n }\r\n\r\n private isFullWidth(visualObject: VisualObject): boolean {\r\n\r\n if ((visualObject instanceof VisualizationDecoration || visualObject instanceof GraphicsDecoration) && visualObject.responsiveSize)\r\n return true;\r\n\r\n return visualObject instanceof BomDecoration || visualObject instanceof DataSelector && visualObject.showInline;\r\n\r\n }\r\n\r\n getLookupWidthIfSelectedHelpImage(visualObject: VisualObject) {\r\n \r\n if (visualObject.width && visualObject.width > 0)\r\n return visualObject.width + this.VISUAL_OBJECT_LEFT_MARGIN;\r\n\r\n let width = this.fallbackWidth(visualObject);\r\n return width + this.VISUAL_OBJECT_LEFT_MARGIN;\r\n\r\n }\r\n\r\n getMaxWidth(visualObject: VisualObject): string {\r\n \r\n if (visualObject instanceof HeaderDecoration && !this.hasWidth(visualObject)) {\r\n\r\n let configuratorUISettings = this.globalDataStore.getGlobalData().uiSettings.configurator;\r\n if (this.visualObjectUIDataService.isNextVisualObjectFloated(visualObject.longId) || visualObject.floatingPosition)\r\n return configuratorUISettings.decoration.header.minWidth;\r\n\r\n return '100%';\r\n }\r\n\r\n let fallbackWidth = this.fallbackWidth(visualObject);\r\n if (visualObject instanceof LookupParam && visualObject.showHelpImageOfSelectedValue == 2) // 2 represents 'Right'\r\n {\r\n let selectedHelpImageWidth = visualObject.selectedValueImageWidth;\r\n if (!selectedHelpImageWidth)\r\n selectedHelpImageWidth = fallbackWidth;\r\n\r\n // If the width is zero then fallback width must be respected.\r\n // The total width of the visual object would be the width of visualObject\r\n return (visualObject.width > 0 ? visualObject.width : fallbackWidth) + selectedHelpImageWidth + this.VISUAL_OBJECT_LEFT_MARGIN * 2 + 'px';\r\n }\r\n \r\n if (visualObject.width && visualObject.width > 0)\r\n return visualObject.width + this.VISUAL_OBJECT_LEFT_MARGIN + 'px';\r\n\r\n if (this.isFullWidth(visualObject) || this.isVisualObjectInAccordion(visualObject))\r\n return '100%';\r\n \r\n return fallbackWidth ? fallbackWidth + this.VISUAL_OBJECT_LEFT_MARGIN + 'px' : '100%'; \r\n }\r\n\r\n public getMinWidth(visualObject: VisualObject): string {\r\n\r\n let visualObjectContainer = $('#' + visualObject.tabId);\r\n let containerWidth = visualObjectContainer.outerWidth();\r\n\r\n const leftMargin: number = 40; // TODO: This margin must go to UISettings file.\r\n // Available width for visual object must be visualObject width + left margin.\r\n\r\n let defaultVisualObjectWidth = this.fallbackWidth(visualObject);\r\n const availableInnerWidth = containerWidth - leftMargin;\r\n\r\n // If width is undefined or zero, make it equal to containerWidth minus leftMargin.\r\n if (!defaultVisualObjectWidth)\r\n defaultVisualObjectWidth = availableInnerWidth;\r\n\r\n // If default width + left margin exceeds by the parent container then limit its size.\r\n const visualWidthAfterMargin = defaultVisualObjectWidth + leftMargin;\r\n let calculatedWidth = visualWidthAfterMargin > containerWidth ? availableInnerWidth : defaultVisualObjectWidth;\r\n\r\n // Min width must not be greater than the default visualObject width.\r\n calculatedWidth = calculatedWidth > defaultVisualObjectWidth ? defaultVisualObjectWidth : calculatedWidth;\r\n\r\n if (calculatedWidth > containerWidth)\r\n return '100%';\r\n\r\n return calculatedWidth + 'px';\r\n\r\n }\r\n\r\n getCssStyle(visualObject: VisualObject, includeMinWidth: boolean = false): CSSStyleDeclaration {\r\n\r\n let styles = new CSSStyleDeclaration();\r\n\r\n if (includeMinWidth) {\r\n let availableRoom = this.getMinWidth(visualObject);\r\n\r\n if (availableRoom)\r\n styles.minWidth = availableRoom + 'px';\r\n\r\n styles.maxWidth = this.visualObjectWidth(visualObject);\r\n styles.width = '100%';\r\n\r\n }\r\n\r\n return styles;\r\n }\r\n\r\n}","import { Injectable, Inject, Component } from \"@angular/core\";\r\nimport { InputViewModel } from \"../../../../shared/components\";\r\nimport { MultiChoiceItemViewModel } from \"../../../../shared/components/multiChoice\";\r\nimport { VisualObject, Param, MultiChoiceValue, LookupParam, LookupValue, MultiChoiceParam } from \"../../../shared/models\";\r\nimport { BaseEntity } from \"../../../shared/baseEntity\";\r\nimport { VisualObjectHelper } from \"./visualObjectHelper\";\r\nimport { GlobalDataStore } from \"../../../shared/providers/globalData\";\r\n\r\n/**\r\n * TODO: Refactor class signature.\r\n */\r\n@Injectable()\r\nexport class VisualObjectViewModelFactory {\r\n\r\n constructor( @Inject(GlobalDataStore) private settings: GlobalDataStore \r\n ) { }\r\n\r\n create(entity: BaseEntity): InputViewModel {\r\n let view = this.getInstance(entity);\r\n\r\n // Get param\r\n let param = entity as Param;\r\n view.id = param.longId.toString();\r\n // TODO FIX issue 41 in issue list to get rid of this if check\r\n if (param instanceof Param) {\r\n view.id = param.visualObjectId.toString(); \r\n }\r\n \r\n view.name = param.name;\r\n view.title = param.title;\r\n\r\n let paramUISettings = this.settings.getGlobalData().uiSettings.configurator.parameter;\r\n view.iconWidth = paramUISettings.iconSize;\r\n view.iconHeight = paramUISettings.iconSize;\r\n view.helpIconWidth = paramUISettings.helpIconSize;\r\n view.helpIconHeight = paramUISettings.helpIconSize;\r\n\r\n let hasHelpImageOrHelpText: boolean = (param.helpImageRelativeUrl || param.helpText) ? true : false;\r\n let hasExternalLink: boolean = param.externLink && param.externLink.trim() != '';\r\n view.enableHelp = hasHelpImageOrHelpText || hasExternalLink;\r\n\r\n // Only show external link if help image or text not found. \r\n view.enableExternalLink = !hasHelpImageOrHelpText && hasExternalLink;\r\n if (view.enableExternalLink)\r\n view.externalLink = param.externLink;\r\n\r\n view.icon = param.iconRelativeUrl;\r\n view.isVaultIcon = true;\r\n\r\n return view;\r\n }\r\n\r\n private getInstance(visualObject: BaseEntity): InputViewModel {\r\n // TODO: It requires more work. Use generics.\r\n\r\n //if (visualObject instanceof LookupParam)\r\n // return new RadioGroupViewModel();\r\n\r\n //if (visualObject instanceof LookupValue)\r\n // return new RadioButtonViewModel();\r\n\r\n //if (visualObject instanceof MultiChoiceParam)\r\n // return new MultiChoiceGroupViewModel();\r\n\r\n //if (visualObject instanceof MultiChoiceValue)\r\n // return new MultiChoiceItemViewModel();\r\n\r\n return new InputViewModel();\r\n }\r\n\r\n public setNormalState(views: InputViewModel[]): void {\r\n\r\n views.forEach(x => {\r\n x.disabled = false;\r\n x.readOnly = false;\r\n x.value = null;\r\n });\r\n }\r\n\r\n public setValue(views: InputViewModel[], id: string, value: any): InputViewModel {\r\n\r\n for (let v of views) {\r\n if (v.id != id)\r\n continue;\r\n\r\n v.value = value;\r\n return v;\r\n }\r\n }\r\n\r\n public setDisabled(views: InputViewModel[], id: string, status: boolean): InputViewModel[] {\r\n\r\n let newViews: InputViewModel[] = [];\r\n for (let v of views) {\r\n if (v.id != id) {\r\n newViews.push(v);\r\n continue;\r\n }\r\n\r\n if (v.disabled == status) {\r\n newViews.push(v);\r\n }\r\n else {\r\n v.disabled = status;\r\n newViews.push({ ...v });\r\n }\r\n }\r\n\r\n return newViews;\r\n }\r\n\r\n // Returns immutable result to handle change detection.\r\n public setReadOnly(views: InputViewModel[], id: string, status: boolean): InputViewModel[] {\r\n\r\n let newViews: InputViewModel[] = [];\r\n for (let v of views) {\r\n\r\n if (v.id != id) {\r\n newViews.push(v);\r\n continue;\r\n }\r\n\r\n if (v.readOnly == status) {\r\n newViews.push(v);\r\n }\r\n else {\r\n v.readOnly = status;\r\n newViews.push({ ...v }); \r\n }\r\n \r\n }\r\n\r\n return newViews;\r\n }\r\n\r\n}","import { Component, Inject, Input, ViewContainerRef, ComponentFactoryResolver, ViewChild, OnDestroy } from \"@angular/core\";\r\nimport { Unsubscribe } from 'redux';\r\nimport { StringParam, ConfStringValue, Conf, Tab, ConfValue } from \"../../../shared/models\";\r\nimport { BaseEntity } from \"../../../shared/baseEntity\";\r\nimport { InputViewModel, ValueChangeEventArgs, RestrictValueChangeEventArgs, PopupService } from \"../../../../shared/components\";\r\nimport { VisualObjectViewModelFactory } from \"../shared/visualObjectViewModelFactory\";\r\nimport { ParamComponent } from \"../../shared/paramComponent\";\r\nimport { ProductDataStore } from \"../../../shared/providers/productData\";\r\nimport { ConfiguratorStore } from \"../../providers/configuratorStore\";\r\nimport { ConfigurationSessionManager } from \"../../providers/configurationSessionManager\";\r\nimport { ParameterMandatoryService } from \"../shared/parameterMandatoryService\";\r\nimport { ConfPageSessionService, ConfMessageProvider, ConfiguratorUIStore } from \"../../providers\";\r\nimport { ChangeDetectorRef } from \"@angular/core\";\r\nimport { VisualObjectHelper } from \"../shared\";\r\n\r\n@Component({\r\n selector: 'string-param',\r\n templateUrl: './stringParamComponent.html'\r\n})\r\nexport class StringParamComponent extends ParamComponent {\r\n\r\n confStringValue: ConfStringValue;\r\n viewModel: InputViewModel;\r\n unsubscribeListener: Unsubscribe;\r\n\r\n constructor(\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfiguratorUIStore) public confUIStore: ConfiguratorUIStore,\r\n @Inject(ConfPageSessionService) public confPageSessionService: ConfPageSessionService,\r\n @Inject(ComponentFactoryResolver) private resolver: ComponentFactoryResolver,\r\n @Inject(VisualObjectViewModelFactory) private viewFactory: VisualObjectViewModelFactory,\r\n @Inject(PopupService) public popupService: PopupService,\r\n @Inject(ParameterMandatoryService) public parameterMandatoryService: ParameterMandatoryService,\r\n @Inject(ConfMessageProvider) public messagesProvider: ConfMessageProvider,\r\n @Inject(VisualObjectHelper) public visualObjectHelper: VisualObjectHelper,\r\n public cd: ChangeDetectorRef\r\n ) {\r\n super(confStore, confPageSessionService, popupService, visualObjectHelper, parameterMandatoryService, messagesProvider, cd);\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.viewModel = this.viewFactory.create(this.parameter);\r\n\r\n if (this.parameter.placeholder)\r\n this.viewModel.placeholder = this.parameter.placeholder;\r\n\r\n // Set value on load.\r\n this.setValue(this.confStore.getConfValue(this.configuration.longId, this.confPageSessionService.confSessionId, this.parameter.visualObjectId));\r\n\r\n super.ngOnInit();\r\n }\r\n\r\n public setValue(confValue: BaseEntity) {\r\n this.confStringValue = confValue as ConfStringValue;\r\n\r\n if (!this.confStringValue)\r\n return;\r\n\r\n // Set value to view\r\n this.viewModel.value = this.confStringValue.value;\r\n\r\n // Set readonly status to view.\r\n this.viewModel.readOnly = this.confStringValue.isReadOnly;\r\n }\r\n\r\n onValueChange($event: ValueChangeEventArgs): void {\r\n super.onValueChange($event);\r\n\r\n // Update value\r\n this.confStore.setConfValue(this.confStringValue, this.confPageSessionService.confSessionId, $event.value, this.confUIStore.includeMandatoryInfo, this.confUIStore.isNextStateIncluded);\r\n }\r\n\r\n onReadOnly($event: RestrictValueChangeEventArgs): void {\r\n this.confStore.getReadOnlyInfo(this.configurationId, this.confSessionId, this.confStringValue, +$event.inValidValue);\r\n }\r\n\r\n onDisallowed($event: RestrictValueChangeEventArgs): void { \r\n }\r\n\r\n public getCurrentValue(): any {\r\n\r\n // If value is different then set it to ConfValue and return the change ConfValue to cause a value change trigger\r\n if (this.confStringValue && this.confStringValue.value != this.viewModel.value)\r\n return this.confStringValue.setValue(this.viewModel.value);\r\n\r\n return this.confStringValue;\r\n }\r\n\r\n public setError(errors: Array) {\r\n this.viewModel.errors = errors;\r\n }\r\n}","
\r\n
\r\n \r\n \r\n
\r\n
","import { Inject, Component, ChangeDetectorRef, Output, EventEmitter } from \"@angular/core\";\r\nimport { AbstractPopupComponent } from \"../../../../shared/components/popup/abstractPopupComponent\";\r\nimport { PopupService, InputViewModel } from \"../../../../shared/components\";\r\nimport { PopupIdentifiers, ConfPageSessionService } from \"../../providers\";\r\nimport { PageActionCreator } from \"../../../shared/providers/page\";\r\nimport { GlobalDataStore } from \"../../../shared/providers/globalData/globalDataStore\";\r\nimport { ContactField } from \"../../../shared/models/responses/contactField\";\r\nimport { List } from \"immutable\";\r\nimport { KeyValue } from \"../../../shared/models/responses/keyValue\";\r\n\r\n@Component({\r\n selector: 'anonymous-contact-popup',\r\n templateUrl: './anonymousContactPopupComponent.html'\r\n})\r\nexport class AnonymousContactPopupComponent extends AbstractPopupComponent {\r\n\r\n public id: string = PopupIdentifiers.AnonymousContact;\r\n\r\n public viewsSorted: Array>;\r\n public views: Array;\r\n public errorsByView: Map = new Map();\r\n public fields: Array = Array(); \r\n\r\n public title: string;\r\n public okButtonText: string;\r\n\r\n public weekNumbersEnabled: boolean = false;\r\n public dateFormat: string;\r\n\r\n @Output()\r\n onClosed = new EventEmitter();\r\n\r\n constructor(\r\n @Inject(ConfPageSessionService) public confPageSession: ConfPageSessionService,\r\n @Inject(PageActionCreator) public pageActionCreator: PageActionCreator,\r\n @Inject(PopupService) public popupService: PopupService,\r\n @Inject(GlobalDataStore) public globalDataStore: GlobalDataStore,\r\n\r\n public cdr: ChangeDetectorRef\r\n ) {\r\n super(cdr, popupService);\r\n }\r\n\r\n public open(tag: Array) {\r\n this.fields = tag;\r\n\r\n this.show();\r\n }\r\n\r\n ngOnInit() {\r\n this.weekNumbersEnabled = this.uiSettings.datepicker.showWeekNumbers;\r\n this.dateFormat = this.globalDataStore.globalSettings.dateFormat;\r\n\r\n super.ngOnInit();\r\n }\r\n\r\n show(): void {\r\n\r\n let formLabelField = this.fields.find(x => x.dataType == \"FormLabel\");\r\n this.title = formLabelField?.title;\r\n this.okButtonText = this.strings.SendEmail;\r\n\r\n // Populate the views\r\n this.views = Array();\r\n this.viewsSorted = Array>();\r\n\r\n let viewList = Array();\r\n this.viewsSorted.push(viewList);\r\n\r\n let i = 0;\r\n\r\n this.fields.forEach(field => {\r\n if (!field.isField)\r\n return;\r\n\r\n let viewModel = new InputViewModel(field.title);\r\n viewModel.tag = field;\r\n viewModel.id = i++ + \"_\" + field.title;\r\n\r\n // Create new row if viewList has two elements\r\n if (viewList.length > 1 || viewModel.tag.dataType == 'Multiline' || viewList.length > 0 && viewList[0].tag.dataType == 'Multiline') {\r\n viewList = Array();\r\n this.viewsSorted.push(viewList);\r\n }\r\n viewList.push(viewModel);\r\n\r\n this.views.push(viewModel);\r\n this.errorsByView.set(viewModel.id, Array());\r\n });\r\n \r\n this.showInternal();\r\n }\r\n\r\n okClick() {\r\n\r\n if (!this.validateInfo())\r\n return;\r\n\r\n let keyValues: KeyValue[] = [];\r\n\r\n let toEmailField = this.fields.find(x => x.dataType == \"ToEmail\");\r\n keyValues.push({ key: toEmailField.dataType, value: toEmailField.title });\r\n\r\n keyValues.push({ key: \"FormLabel\", value: this.title });\r\n\r\n for (let i = 0; i < this.views.length; i++)\r\n keyValues.push({ key: \"_\" + this.views[i].title, value: this.views[i].value });\r\n\r\n this.onClosed.emit({ fields: keyValues });\r\n }\r\n\r\n public validateInfo(): boolean {\r\n // Perform some validation on client side. Will also be done on server side.\r\n\r\n let isValidForm: boolean = true;\r\n\r\n this.views.forEach(view => {\r\n if ((view.tag as ContactField).mandatory && !view.value) {\r\n this.errorsByView.set(view.id, [this.strings.MandatoryFieldNotSet]);\r\n isValidForm = false;\r\n }\r\n else {\r\n this.errorsByView.set(view.id, []);\r\n }\r\n\r\n if ((view.tag as ContactField).dataType == \"Email\" && !view.isValid) {\r\n this.errorsByView.set(view.id, [this.strings.InvalidEmailAddress]);\r\n isValidForm = false;\r\n }\r\n\r\n if ((view.tag as ContactField).dataType == \"Date\" && !view.isValid) {\r\n this.errorsByView.set(view.id, [this.strings.NotAValidDate]);\r\n isValidForm = false;\r\n }\r\n });\r\n\r\n return isValidForm;\r\n }\r\n}","\r\n \r\n
\r\n
\r\n \r\n
1 ? 'col-md-6 pb-3' : 'col pb-3'\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Inject, Component, Input, ChangeDetectorRef, Output, EventEmitter } from \"@angular/core\";\r\nimport { AbstractPopupComponent } from \"../../../../shared/components/popup/abstractPopupComponent\";\r\nimport { PopupService, InputViewModel } from \"../../../../shared/components\";\r\nimport { PopupIdentifiers, ConfiguratorStore, ConfPageSessionService } from \"../../providers\";\r\nimport { PageActionCreator } from \"../../../shared/providers/page\";\r\n\r\n@Component({\r\n selector: 'anonymous-dialog-popup',\r\n templateUrl: './anonymousDialogPopupComponent.html',\r\n})\r\nexport class AnonymousDialogPopupComponent extends AbstractPopupComponent {\r\n\r\n public id: string = PopupIdentifiers.AnonymousDialog;\r\n\r\n public emailView: InputViewModel;\r\n public sendEmailView: InputViewModel;\r\n public showSendEmailCheckbox: boolean = false;\r\n\r\n public title: string;\r\n public okButtonText: string;\r\n public text: string;\r\n\r\n @Input()\r\n saving: boolean = false;\r\n\r\n @Output()\r\n onClosed = new EventEmitter();\r\n\r\n constructor(\r\n @Inject(ConfPageSessionService) public confPageSession: ConfPageSessionService,\r\n @Inject(PageActionCreator) public pageActionCreator: PageActionCreator,\r\n @Inject(PopupService) public popupService: PopupService,\r\n public cdr: ChangeDetectorRef\r\n ) {\r\n super(cdr, popupService);\r\n }\r\n\r\n public open(tag: any) {\r\n this.show();\r\n }\r\n\r\n ngOnInit() {\r\n this.emailView = new InputViewModel(this.strings.Email);\r\n\r\n this.sendEmailView = new InputViewModel(this.strings.SendMeALinkToTheConfiguration);\r\n\r\n super.ngOnInit();\r\n }\r\n\r\n show(): void {\r\n let conf = this.confPageSession.activeConfiguration;\r\n let confInfo = this.confPageSession.confStore.getRootConfInfo(this.confPageSession.confSessionId);\r\n\r\n // Setup texts and variables\r\n if (this.saving) {\r\n // Text for saving configuration and maybe sending mail.\r\n this.title = this.strings.SaveConfiguration;\r\n this.okButtonText = this.strings.Save;\r\n this.text = this.strings.EnterYourEmailAndPressSave;\r\n\r\n this.showSendEmailCheckbox = !this.saving || conf.authorization.canEmailLink;\r\n\r\n // New configurations will preselect sendning email.\r\n this.sendEmailView.value = conf.authorization.canEmailLink && confInfo.isNew;\r\n }\r\n else {\r\n // Texts for only sending mail\r\n\r\n this.title = this.strings.EmailThisConfiguration;\r\n this.okButtonText = this.strings.SendEmail;\r\n this.text = this.strings.EnterYourEmailAndPressSend;\r\n\r\n this.showSendEmailCheckbox = false;\r\n this.sendEmailView.value = true;\r\n }\r\n\r\n // Try to use existing value\r\n this.emailView.value = this.emailView.value || conf.anonymousAccessUserEmail;\r\n\r\n this.showInternal();\r\n }\r\n\r\n public get sendEmail(): boolean {\r\n return typeof this.sendEmailView.value === \"boolean\" ? this.sendEmailView.value : this.sendEmailView.value === \"true\";\r\n }\r\n\r\n okClick() {\r\n let anonymousUserEmail = this.emailView.value;\r\n\r\n // Update the email if we're saving and the email is different\r\n let updateEmail = this.saving && this.confPageSession.activeConfiguration.anonymousAccessUserEmail !== anonymousUserEmail;\r\n\r\n this.onClosed.emit({ anonymousUserEmail: anonymousUserEmail, sendEmail: this.sendEmail, updateEmail: updateEmail });\r\n }\r\n}","\r\n \r\n
\r\n
\r\n {{text}}\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n","import { Component, ChangeDetectorRef } from \"@angular/core\";\r\nimport { PopperContentComponent, PopoverService, PopperConfig } from \"../../../../shared/components\";\r\nimport { GlobalServiceLocator } from \"../../../../shared/providers/globalServiceLocator\";\r\nimport { BrowserInfo } from \"../../../../shared/utils/browserInfo\";\r\n\r\n@Component({\r\n selector: 'attribute-popper',\r\n templateUrl: './attributePopperComponent.html'\r\n})\r\nexport class AttributePopperComponent extends PopperContentComponent {\r\n\r\n public closing = false;\r\n public nextData: PopperConfig;\r\n public growing = false;\r\n\r\n public contentStyle: CSSStyleDeclaration;\r\n\r\n private _browserInfo: BrowserInfo;\r\n\r\n constructor(\r\n public cd: ChangeDetectorRef,\r\n public popoverService: PopoverService) {\r\n super(cd, popoverService);\r\n }\r\n\r\n public get browserInfo() {\r\n if (!this._browserInfo)\r\n this._browserInfo = GlobalServiceLocator.injector.get(BrowserInfo);\r\n return this._browserInfo;\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.messageSubscription = this.popoverService.getMessage().subscribe((info: PopperConfig) => {\r\n\r\n if (this.closing && info.open && info.tag?.id != this.data.tag?.id) {\r\n this.nextData = info;\r\n return;\r\n }\r\n else\r\n this.open(info);\r\n });\r\n }\r\n\r\n open(info: PopperConfig): void {\r\n if (info.open && this.data.open) {\r\n this.close(info);\r\n return;\r\n }\r\n\r\n this.data = info;\r\n\r\n if (this.data.open) {\r\n this.positionChange.emit(this.data);\r\n this.setStyle();\r\n\r\n this.growing = false;\r\n setTimeout(() => {\r\n this.growing = true;\r\n this.cd.markForCheck();\r\n }, 0);\r\n }\r\n\r\n this.cd.markForCheck();\r\n }\r\n\r\n setStyle(): void {\r\n this.popperStyle = {\r\n width: `${this.data.width}px`,\r\n height: \"auto\",\r\n left: `${this.data.positionX}px`,\r\n top: `${this.data.positionY}px`,\r\n maxWidth: '100%',\r\n maxHeight: `${this.data.height}px`\r\n };\r\n\r\n this.contentStyle = {\r\n marginLeft: '15px',\r\n marginTop: '5px',\r\n marginBottom: '5px',\r\n marginRight: '15px'\r\n };\r\n }\r\n\r\n close(tag?: any): void {\r\n this.closing = true;\r\n this.nextData = tag;\r\n\r\n setTimeout(() => {\r\n this.popoverService.close();\r\n this.closing = false;\r\n if (!this.browserInfo.isMobile && this.nextData) {\r\n this.open(this.nextData);\r\n }\r\n }, 400);\r\n\r\n this.cd.markForCheck();\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.messageSubscription)\r\n this.messageSubscription.unsubscribe();\r\n }\r\n\r\n}","
\r\n
\r\n \r\n \r\n
\r\n
","import { Output, EventEmitter, ElementRef, Directive, HostListener, ViewContainerRef, Input } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[attributeBackdrop]'\r\n})\r\n\r\nexport class AttributePopperDirective {\r\n\r\n @Input()\r\n attributeBackdrop: boolean;\r\n @Output()\r\n backdropClicked = new EventEmitter();\r\n\r\n constructor(private referenceElement: ViewContainerRef) { }\r\n\r\n @HostListener('document:click', ['$event'])\r\n clickout(event) {\r\n if (this.attributeBackdrop && !this.referenceElement.element.nativeElement.contains(event.target)) {\r\n this.backdropClicked.emit();\r\n }\r\n }\r\n}","import { Inject, Component, ViewChild, Input, ChangeDetectorRef, Output, EventEmitter } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\n\r\nimport { BomDetailMessage } from \"../../../shared/models/responses/messages\";\r\nimport { ConfInfo, ConfBomValue, BomColumnSetting, GlobalSettings, RequestViews, Grid, BomDecoration } from \"../../../shared/models\";\r\nimport { BomStore } from \"../../decorations/bom/bomStore\";\r\nimport { GlobalDataStore } from \"../../../shared/providers/globalData\";\r\nimport { ProductDataStore } from \"../../../shared/providers/productData\";\r\nimport { AbstractPopupComponent } from \"../../../../shared/components/popup/abstractPopupComponent\";\r\nimport { ConfPageSessionService, ConfiguratorStore, ConfiguratorUIStore, PopupIdentifiers } from \"../../providers\";\r\nimport { RouteNames } from \"../../../shared/providers\";\r\nimport { PageStore } from \"../../../shared/providers/page/pageStore\";\r\nimport { PopupService } from \"../../../../shared/components\";\r\nimport { ManagedSubscription } from \"../../../../shared\";\r\nimport { BomActionArgs } from \"../../decorations/bom/bomActionArgs\";\r\nimport { ImageSets } from \"../../../../shared/utils\";\r\n\r\n@Component({\r\n selector: 'bom-composite-popup',\r\n templateUrl: './bomCompositePopupComponent.html'\r\n})\r\nexport class BomCompositePopupComponent extends AbstractPopupComponent {\r\n\r\n public id: string = PopupIdentifiers.BomComposite;\r\n\r\n public imageSet: string;\r\n\r\n public width: string;\r\n public compositeTitle: string; // Shows configuration's title in 2nd level header's title.\r\n public mainTitle: string;\r\n public displayChildConfigurations: boolean = false;\r\n\r\n public columnSettings = Immutable.List();\r\n public childColumnSettings = Immutable.List();\r\n\r\n public bomMessages = Immutable.List();\r\n public currentBomMessage: BomDetailMessage;\r\n\r\n public isSummary = false;\r\n protected activeConfId: number;\r\n protected bomDecoration: BomDecoration;\r\n\r\n /** Stores the parent-child-childchild... stack.\r\n The active conf report is on top with its parent directly beneath it.\r\n |------------|\r\n | childchild |\r\n | child |\r\n | parent |\r\n |------------|\r\n */\r\n public stack: Immutable.Stack = Immutable.Stack();\r\n\r\n public bomSubscription: ManagedSubscription;\r\n\r\n @Output()\r\n closedEvent = new EventEmitter();\r\n\r\n constructor(\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfPageSessionService) public confPageSessionService: ConfPageSessionService,\r\n @Inject(BomStore) public bomStore: BomStore,\r\n @Inject(GlobalDataStore) public globalDataStore: GlobalDataStore,\r\n @Inject(ProductDataStore) public productDataStore: ProductDataStore,\r\n @Inject(PageStore) public pageStore: PageStore,\r\n @Inject(PopupService) public popupService: PopupService,\r\n public cdr: ChangeDetectorRef\r\n ) {\r\n super(cdr, popupService);\r\n }\r\n\r\n ngOnInit() {\r\n this.width = this.uiSettings.configurator.decoration.bom.minDialogWidth;\r\n this.imageSet = this.getImageSet(ImageSets.ConfiguratorBomPopupHeader);\r\n\r\n super.ngOnInit();\r\n }\r\n\r\n public updateBreadcrumb(confId: number): void {\r\n if (!confId)\r\n return;\r\n\r\n let confInfo: ConfInfo = this.confStore.getConfInfo(confId, this.confPageSessionService.confSessionId);\r\n\r\n this.stack = this.stack.unshift(confInfo);\r\n this.updateBreadcrumb(confInfo.parentId);\r\n }\r\n\r\n public open(tag: BomActionArgs) {\r\n\r\n if (this.bomSubscription)\r\n this.bomSubscription.unsubscribe();\r\n\r\n this.bomSubscription = this.bomStore.onGetBomDetailGridData(this.confPageSessionService.confSessionId, {\r\n next: (bomMessages: Immutable.List) => {\r\n this.showMessages(bomMessages, this.activeConfId ?? this.confPageSessionService.activeConfigurationId);\r\n }\r\n , listenNewEventsOnly: true\r\n });\r\n\r\n this.show(tag.configurationId, tag.decorationId, tag.bomMessages);\r\n }\r\n /** Shows the composite detail for the given confId and decorationId. */\r\n show(confId: number, decorationId: number): void;\r\n /** Shows the composite detail with the given messages for the given confId and decorationId. */\r\n show(confId: number, decorationId: number, bomMessages: Immutable.List): void;\r\n show(confId: number, decorationId: number, bomMessages?: Immutable.List): void {\r\n\r\n this.activeConfId = confId;\r\n this.bomDecoration = this.productDataStore.getEntity(decorationId);\r\n this.isSummary = this.pageStore.activeRouteName === RouteNames.Summary;\r\n\r\n // Show messages directly if we got some, otherwise make a request for them.\r\n if (bomMessages) {\r\n this.showMessages(bomMessages, confId);\r\n }\r\n else {\r\n\r\n let clientType = this.pageStore.getActiveClientType(); \r\n this.bomStore.dispatchGetBomDetailGridData(clientType, confId, this.confPageSessionService.confSessionId, decorationId, 0);\r\n }\r\n\r\n this.showInternal();\r\n }\r\n\r\n showMessages(messages, confId) {\r\n // Setup the tables\r\n this.bomMessages = messages;\r\n this.stack = Immutable.Stack();\r\n \r\n this.mainTitle = this.bomDecoration.title;\r\n\r\n this.columnSettings = this.bomDecoration.columnSettings;\r\n this.childColumnSettings = this.bomDecoration.childConfigurationColumnSettings;\r\n\r\n this.update(confId);\r\n }\r\n\r\n update(confIdArg: number | string): void {\r\n\r\n this.activeConfId = typeof confIdArg === \"string\" ? parseInt(confIdArg) : confIdArg;\r\n\r\n let confInfo: ConfInfo = this.confStore.getConfInfo(this.activeConfId, this.confPageSessionService.confSessionId);\r\n \r\n let bomMessage = this.bomMessages.find(x => x.configurationId === this.activeConfId);\r\n if (!bomMessage) {\r\n\r\n let clientType = this.pageStore.getActiveClientType();\r\n if (clientType == RequestViews.Editor)\r\n this.bomStore.dispatchGetBomDetailGridData(clientType, this.activeConfId, this.confPageSessionService.confSessionId, this.bomDecoration.longId, 0);\r\n\r\n return;\r\n }\r\n\r\n this.currentBomMessage = bomMessage;\r\n this.compositeTitle = confInfo.text;\r\n\r\n if (!this.currentBomMessage || this.currentBomMessage.childrenGridData == null)\r\n return;\r\n\r\n this.displayChildConfigurations = this.currentBomMessage.childrenGridData.rows.first() != null;\r\n\r\n // Make breadcrumb only If composite configurations exist\r\n let rootConfInfo: ConfInfo = this.confStore.getConfInfo(confInfo.rootId, this.confPageSessionService.confSessionId);\r\n if (rootConfInfo.children.size > 0) {\r\n this.stack = this.stack.clear();\r\n this.updateBreadcrumb(this.activeConfId);\r\n }\r\n\r\n this.cdr.markForCheck();\r\n }\r\n\r\n public get globalSettings(): GlobalSettings {\r\n return this.globalDataStore.getGlobalData().globalSettings;\r\n }\r\n\r\n public onPopupClosed() {\r\n super.onPopupClosed();\r\n\r\n this.closedEvent.emit();\r\n\r\n if (this.bomSubscription)\r\n this.bomSubscription.unsubscribe();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroy();\r\n\r\n if (this.bomSubscription)\r\n this.bomSubscription.unsubscribe();\r\n }\r\n}","\r\n \r\n\r\n
0\">\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n {{compositeTitle}}\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{strings.ChildConfigurations}}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
","import { Inject, Component, Input, Output, EventEmitter, ChangeDetectorRef, ChangeDetectionStrategy } from \"@angular/core\";\r\nimport { PopoverService, PopperConfig, PopupService, DataCellView, PopupInfo } from \"../../../../shared/components\";\r\nimport { ConfigurationSessionManager } from \"../../providers/configurationSessionManager\";\r\nimport { AbstractPopupComponent } from \"../../../../shared/components/popup/abstractPopupComponent\";\r\nimport { PopupIdentifiers, ConfiguratorStore, ConfPageSessionService } from \"../../providers\";\r\nimport { EmitterComponent, IEmitDataInfo } from \"../../shared\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { BaseComponent } from \"../../../shared\";\r\n\r\n@Component({\r\n selector: 'bom-image-popup',\r\n templateUrl: './bomImagePopupComponent.html',\r\n changeDetection: ChangeDetectionStrategy.Default\r\n})\r\nexport class BomImagePopupComponent extends EmitterComponent {\r\n\r\n public config: PopupInfo;\r\n\r\n public isLoaded: boolean = false;\r\n public image: string;\r\n public referenceElementId: string;\r\n public visible: boolean;\r\n protected referencedCell: DataCellView;\r\n\r\n @Output() public onReady = new EventEmitter();\r\n \r\n constructor(\r\n public popupService: PopupService,\r\n public storeSession: ConfPageSessionService,\r\n public cdr: ChangeDetectorRef\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.id = PopupIdentifiers.BomImage;\r\n \r\n super.ngOnInit();\r\n }\r\n\r\n protected observer(data: IEmitDataInfo): void {\r\n\r\n this.config = data.tag as PopupInfo;\r\n this.referencedCell = this.config.tag as DataCellView;\r\n\r\n // Set public properties used in template.\r\n this.image = this.referencedCell.contents;\r\n this.referenceElementId = this.referencedCell.cellId;\r\n this.visible = true;\r\n this.isLoaded = false; \r\n\r\n setTimeout(() => {\r\n this.popupService.open(this.id); \r\n\r\n }, 100);\r\n\r\n }\r\n\r\n onImageLoaded(event): void {\r\n\r\n event.target.width;\r\n event.target.height;\r\n\r\n if (event.target) {\r\n\r\n this.isLoaded = true;\r\n this.popupService.update(this.referenceElementId, this.id);\r\n this.onReady.emit(this.config); \r\n }\r\n\r\n }\r\n\r\n onPopupClosed() {\r\n this.visible = false;\r\n this.isLoaded = false;\r\n }\r\n\r\n}","\r\n \r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
","import { Inject, Component, ChangeDetectorRef } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\n\r\nimport { ProductDataStore } from \"../../../shared/providers/productData\";\r\nimport { RouteRedirector } from \"../../../shared/providers\";\r\nimport { ClearedParamMessage, ClearedParamInfo } from \"../../../shared/models/responses/messages\";\r\nimport { ConfigurationSessionManager, ConfiguratorStore, ConfPageSessionService, ConfRouteParams, PopupIdentifiers } from \"../../providers\";\r\nimport { BaseComponent } from \"../../../shared\";\r\nimport { AbstractPopupComponent } from \"../../../../shared/components/popup/abstractPopupComponent\";\r\nimport { ConfInfo } from \"../../../shared/models\";\r\nimport { PopupService } from \"../../../../shared/components\";\r\nimport { ImageSets } from \"../../../../shared/utils\";\r\n\r\n@Component({\r\n selector: 'cleared-popup',\r\n templateUrl: './clearedPopupComponent.html'\r\n})\r\nexport class ClearedPopupComponent extends AbstractPopupComponent {\r\n public clearedValueModels: Array;\r\n\r\n public id = PopupIdentifiers.ClearValue;\r\n\r\n public imageSet: string;\r\n\r\n constructor(\r\n @Inject(ProductDataStore) public productStore: ProductDataStore,\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfPageSessionService) public storeSession: ConfPageSessionService,\r\n @Inject(RouteRedirector) public routeRedirector: RouteRedirector,\r\n @Inject(PopupService) public popupService: PopupService,\r\n public cdr: ChangeDetectorRef\r\n ) {\r\n super(cdr, popupService);\r\n }\r\n\r\n ngOnInit() {\r\n this.imageSet = this.getImageSet(ImageSets.Popup);\r\n super.ngOnInit();\r\n }\r\n\r\n public open(tag: any) {\r\n this.show(tag);\r\n }\r\n\r\n show(messages: Immutable.List): void {\r\n this.clearedValueModels = [];\r\n\r\n // Setup a model for each message (aka for each configuration) with its cleared values.\r\n messages.forEach(message => {\r\n let clearedValueModel = new ClearedConfigurationModel();\r\n clearedValueModel.conf = this.confStore.getConfInfo(message.configurationId, this.storeSession.confSessionId);\r\n clearedValueModel.isActiveConf = this.storeSession.activeConfigurationId === message.configurationId;\r\n clearedValueModel.clearedParamInfos = message.clearedParamInfos.toArray();\r\n this.clearedValueModels.push(clearedValueModel);\r\n });\r\n\r\n this.showInternal();\r\n }\r\n\r\n public onAccordionOpen(configurationId: number) {\r\n // Accordion expand will route to the clicked configuration \r\n this.routeRedirector.redirectToEditor({ id: configurationId, confSessionId: this.storeSession.confSessionId })\r\n }\r\n\r\n public onPopupClosed() {\r\n this.clearedValueModels = null;\r\n super.onPopupClosed();\r\n }\r\n}\r\n\r\nexport class ClearedConfigurationModel {\r\n conf: ConfInfo;\r\n isActiveConf = false;\r\n clearedParamInfos: Array = [];\r\n}","\r\n\r\n
\r\n
\r\n \r\n
\r\n

{{strings.ParametersClearedDueToRules}}

\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n {{clearedParamInfo.ruleReason ? clearedParamInfo.ruleReason.title : clearedParamInfo.messageReason}}\r\n \r\n
\r\n
\r\n \r\n
\r\n
{{clearedParamInfo.paramInfo.title}}
\r\n
{{clearedParamInfo.paramInfo.value}}
\r\n
0\">\r\n
\r\n {{paramValue.title}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, ChangeDetectorRef } from \"@angular/core\";\r\nimport { PopupService } from \"../../../../shared/components\";\r\nimport { AbstractPopupComponent } from \"../../../../shared/components/popup/abstractPopupComponent\";\r\nimport { PopupIdentifiers } from \"../../providers\";\r\nimport { SafeHtmlPipe } from \"../../../../shared/utils/pipes\";\r\n\r\n@Component({\r\n selector: 'code-popup',\r\n templateUrl: './codePopupComponent.html'\r\n})\r\nexport class CodePopupComponent extends AbstractPopupComponent {\r\n\r\n public id: string = PopupIdentifiers.Code;\r\n\r\n public title: string;\r\n public code: string;\r\n\r\n constructor(\r\n public cdr: ChangeDetectorRef, popupService: PopupService\r\n ) {\r\n super(cdr, popupService);\r\n }\r\n\r\n\r\n public open(tag?: any) {\r\n\r\n this.show(tag.code, tag.title);\r\n\r\n }\r\n\r\n show(code: string, title: string): void {\r\n this.title = title;\r\n this.code = code;\r\n\r\n this.showInternal();\r\n }\r\n\r\n \r\n}","\r\n \r\n
\r\n

\r\n
\r\n
\r\n
","import { Inject, Component, ViewChild, Input, ChangeDetectorRef } from \"@angular/core\";\r\nimport { ConfInfo, GlobalSettings, ConfigurationSearch, ConfSearchCriteria, RequestViews, SaveSearchMessage, WorkGroup, AuthorizationGroup, RefObject } from \"../../../shared/models\";\r\nimport { AbstractPopupComponent } from \"../../../../shared/components/popup/abstractPopupComponent\";\r\nimport { PopupService, InputViewModel, NotificationService, NotificationInfo, NotificationType, BackdropComponent } from \"../../../../shared/components\";\r\nimport { SearchDataMessageProvider, SearchDataStore } from \"../../../shared/providers/searchData\";\r\nimport { AccountDataStore } from \"../../../shared/providers/accountData\";\r\nimport { ManagedSubscription } from \"../../../../shared/managedSubscription\";\r\nimport { ModelFactory } from \"../../../shared/providers\";\r\n\r\n@Component({\r\n selector: 'configuration-search-popup',\r\n templateUrl: './configurationSearchPopupComponent.html'\r\n})\r\nexport class ConfigurationSearchPopupComponent extends AbstractPopupComponent {\r\n\r\n @Input()\r\n public configurationSearch: ConfigurationSearch;\r\n\r\n public id: string = \"configuration-search-popup\";\r\n\r\n public titleView: InputViewModel;\r\n public resultsInlineView: InputViewModel;\r\n\r\n public maxInlineResultsView: InputViewModel;\r\n public maxInlineResultsViews: Array;\r\n\r\n public scopeView: InputViewModel;\r\n public scopeItemViews: Array;\r\n\r\n public workgroupView: InputViewModel;\r\n public workgroupItemViews: Array;\r\n\r\n public authorizationGroupView: InputViewModel;\r\n public authorizationGroupItemViews: Array;\r\n\r\n public saveMessageSubscription: ManagedSubscription;\r\n public serverErrors: Array = [];\r\n\r\n public title: string;\r\n\r\n public saveAsNewView: InputViewModel;\r\n\r\n @ViewChild(BackdropComponent)\r\n public backdropComponent: BackdropComponent;\r\n\r\n constructor(\r\n @Inject(PopupService) public popupService: PopupService,\r\n @Inject(SearchDataStore) public searchDataStore: SearchDataStore,\r\n @Inject(AccountDataStore) public accountStore: AccountDataStore,\r\n public searchDataMesssageProvider: SearchDataMessageProvider,\r\n public notificationService: NotificationService,\r\n public modelFactory: ModelFactory,\r\n public cdr: ChangeDetectorRef\r\n ) {\r\n super(cdr, popupService);\r\n }\r\n\r\n public open(tag: any) {\r\n this.configurationSearch = tag;\r\n this.show();\r\n }\r\n\r\n show(): void {\r\n this.title = this.isExistingSearch ? this.strings.EditSearch : this.strings.SaveSearch;\r\n\r\n this.titleView = new InputViewModel(this.strings.Title);\r\n this.titleView.value = this.configurationSearch.title;\r\n\r\n this.resultsInlineView = new InputViewModel(this.strings.ShowResultsInline);\r\n this.resultsInlineView.value = this.configurationSearch.inlineResults || false;\r\n\r\n if (this.isExistingSearch) {\r\n this.saveAsNewView = new InputViewModel(this.strings.SaveAsNew);\r\n this.saveAsNewView.value = false;\r\n }\r\n\r\n this.maxInlineResultsViews = Array();\r\n let resultCounts = [\"5\", \"10\", \"15\", \"20\"];\r\n for (let i = 0; i < resultCounts.length; i++) {\r\n let view = new InputViewModel(resultCounts[i]);\r\n view.id = resultCounts[i];\r\n this.maxInlineResultsViews.push(view);\r\n }\r\n this.maxInlineResultsView = new InputViewModel(this.strings.MaxInlineResults);\r\n this.maxInlineResultsView.formattedValue = this.maxInlineResultsView.value = this.configurationSearch.maxInlineResults ? this.configurationSearch.maxInlineResults.toString() : \"10\";\r\n \r\n this.scopeItemViews = Array();\r\n let user = this.accountStore.getUser();\r\n\r\n // Set up scopes. Superuser has more scopes.\r\n let scopes: { title: string, id: string }[] = [];\r\n\r\n if (user.systemAuthorization.canCreatePrivateSearch) {\r\n scopes.push({ title: this.strings.Private, id: \"Private\" });\r\n }\r\n\r\n if (user.systemAuthorization.canCreatePublicSearch) {\r\n scopes.push({ title: this.strings.Public, id: \"Public\" });\r\n }\r\n\r\n if (user.systemAuthorization.canCreateAnyWorkGroupSearch || user.systemAuthorization.canCreateOwnWorkGroupSearch) {\r\n scopes.push({ title: this.strings.WorkGroup, id: \"WorkGroup\" });\r\n }\r\n\r\n if (user.systemAuthorization.canCreateAuthorizationGroupSearch) {\r\n scopes.push({ title: this.strings.AuthorizationGroup, id: \"AuthorizationGroup\" });\r\n }\r\n\r\n for (let i = 0; i < scopes.length; i++) {\r\n let view = new InputViewModel(scopes[i].title);\r\n view.id = scopes[i].id;\r\n this.scopeItemViews.push(view);\r\n }\r\n\r\n this.scopeView = new InputViewModel(this.strings.Scope);\r\n let existingScope = scopes.find(x => x.id === this.configurationSearch.scope) || scopes[0];\r\n this.scopeView.value = existingScope.id;\r\n this.scopeView.formattedValue = existingScope.title;\r\n\r\n this.setScopeRelatedViews();\r\n\r\n this.showInternal();\r\n }\r\n\r\n public get resultsInline(): boolean {\r\n return typeof this.resultsInlineView.value === \"boolean\" ? this.resultsInlineView.value : this.resultsInlineView.value === \"true\";\r\n }\r\n\r\n public get saveAsNew(): boolean {\r\n return this.saveAsNewView != null && (typeof this.saveAsNewView.value === \"boolean\" ? this.saveAsNewView.value : this.saveAsNewView.value === \"true\");\r\n }\r\n\r\n public get isExistingSearch(): boolean {\r\n return this.configurationSearch && this.configurationSearch.longId > 0 && !this.saveAsNew;\r\n }\r\n\r\n public setScopeRelatedViews() {\r\n // Update related dropdown depending on current scope.\r\n this.workgroupView = null;\r\n this.workgroupItemViews = [];\r\n this.authorizationGroupView = null;\r\n this.authorizationGroupItemViews = [];\r\n\r\n let user = this.accountStore.getUser();\r\n\r\n if (this.scopeView.value === \"WorkGroup\") {\r\n\r\n if (user.systemAuthorization.canCreateAnyWorkGroupSearch) {\r\n this.accountStore.getEntities(WorkGroup.name).subscribe(response => {\r\n response.data.forEach(workgroup => {\r\n let view = new InputViewModel(workgroup.title);\r\n view.id = workgroup.longId.toString();\r\n this.workgroupItemViews.push(view);\r\n });\r\n });\r\n }\r\n else if (user.systemAuthorization.canCreateOwnWorkGroupSearch) {\r\n\r\n let userWorkGroup = user.workGroup;\r\n\r\n let view = new InputViewModel(userWorkGroup.text);\r\n view.id = userWorkGroup.longId.toString();\r\n this.workgroupItemViews.push(view);\r\n }\r\n\r\n this.workgroupView = new InputViewModel(this.strings.WorkGroup);\r\n\r\n let selectedWorkgroup = this.configurationSearch.workGroup ? this.configurationSearch.workGroup : user.workGroup;\r\n this.workgroupView.value = selectedWorkgroup.text;\r\n this.workgroupView.id = selectedWorkgroup.longId.toString();\r\n }\r\n else if (this.scopeView.value === \"AuthorizationGroup\") {\r\n this.accountStore.getEntities(AuthorizationGroup.name).subscribe(response => {\r\n response.data.forEach(authGroup => {\r\n let view = new InputViewModel(authGroup.title);\r\n view.id = authGroup.longId.toString();\r\n this.authorizationGroupItemViews.push(view);\r\n });\r\n this.authorizationGroupView = new InputViewModel(this.strings.AuthorizationGroup);\r\n this.authorizationGroupView.formattedValue = this.configurationSearch.authorizationGroup ? this.configurationSearch.authorizationGroup.text : null;\r\n this.authorizationGroupView.value = this.configurationSearch.authorizationGroup ? this.configurationSearch.authorizationGroup.longId.toString() : null;\r\n });\r\n }\r\n }\r\n\r\n public updateConfSearch() {\r\n this.configurationSearch = this.configurationSearch.setTitle(this.titleView.value || \"\");\r\n this.configurationSearch = this.configurationSearch.setInlineResults(this.resultsInline);\r\n this.configurationSearch = this.configurationSearch.setMaxInlineResults(this.maxInlineResultsView.value);\r\n this.configurationSearch = this.configurationSearch.setScope(this.scopeView.value);\r\n\r\n if (this.workgroupView) {\r\n let workgroup = this.configurationSearch.workGroup || this.modelFactory.createAny(RefObject.name);\r\n workgroup = workgroup.setLongId(parseInt(this.workgroupView.value));\r\n this.configurationSearch = this.configurationSearch.setWorkGroup(workgroup);\r\n }\r\n\r\n if (this.authorizationGroupView) {\r\n let authGroup = this.configurationSearch.authorizationGroup || this.modelFactory.createAny(RefObject.name);\r\n authGroup = authGroup.setLongId(parseInt(this.authorizationGroupView.value));\r\n this.configurationSearch = this.configurationSearch.setAuthorizationGroup(authGroup);\r\n }\r\n\r\n // Remove longId if saving as new.\r\n this.configurationSearch = this.configurationSearch.setLongId(this.saveAsNew ? null : this.configurationSearch.longId);\r\n }\r\n\r\n public listenOnChange() {\r\n this.unsubscribe();\r\n\r\n this.saveMessageSubscription = this.searchDataMesssageProvider.onMessages(SaveSearchMessage.name, {\r\n next: (messages) => {\r\n let errors: Array;\r\n let success = true;\r\n messages.forEach(message => {\r\n success = success && message.success;\r\n errors = message.messages.toArray().concat(errors);\r\n });\r\n\r\n this.configurationSearch = this.searchDataStore.getConfigurationSearch(messages.first().configurationSearchId);\r\n\r\n if (success) {\r\n this.backdropComponent.close();\r\n this.onPopupClosed();\r\n\r\n let title = this.configurationSearch.title ? `'${this.configurationSearch.title}'` : this.strings.Search;\r\n\r\n this.notificationService.notify({\r\n title: this.strings.Success,\r\n message: title + \" saved successfully.\", // TODO localize\r\n type: NotificationType.Success,\r\n selfClose: true\r\n });\r\n }\r\n else {\r\n this.serverErrors = errors;\r\n }\r\n\r\n this.unblockUI();\r\n\r\n this.unsubscribe();\r\n },\r\n listenNewEventsOnly: true\r\n });\r\n }\r\n\r\n public storeSearch() {\r\n if (!this.titleView.value) {\r\n this.titleView.errors = [this.strings.TitleIsMissing];\r\n return false;\r\n }\r\n\r\n this.blockUI();\r\n\r\n this.titleView.errors = [];\r\n\r\n this.serverErrors = [];\r\n\r\n this.updateConfSearch();\r\n\r\n this.listenOnChange();\r\n\r\n this.searchDataStore.saveConfigurationSearch(this.configurationSearch, RequestViews.Search);\r\n }\r\n\r\n public unsubscribe() {\r\n if (this.saveMessageSubscription)\r\n this.saveMessageSubscription.unsubscribe();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.unsubscribe();\r\n\r\n super.ngOnDestroy();\r\n }\r\n}","\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n
\r\n
\r\n
","import { Component } from \"@angular/core\";\r\nimport { BaseImmutableValuePopupComponent } from \"../shared/baseImmutableValuePopupComponent\";\r\nimport { AbstractImmutableValueMessage } from \"../../../shared/models/responses/messages/abstractImmutableValueMessage\";\r\nimport { PopupIdentifiers } from \"../../providers\";\r\n\r\n@Component({\r\n selector: 'disallowed-popup',\r\n templateUrl: './disallowedPopupComponent.html'\r\n})\r\nexport class DisallowedPopupComponent extends BaseImmutableValuePopupComponent {\r\n\r\n\r\n ngOnInit() {\r\n this.popupIdentifier = PopupIdentifiers.Disallowed; \r\n this.headerText = this.strings.DisallowedValue;\r\n this.caption = this.strings.DisallowedPopup_CannotSet;\r\n this.description = this.strings.DisallowedPopup_DisallowedCombinationRuleGeneralMessage;\r\n this.icon = \"disallowedpopup\";\r\n }\r\n \r\n}","\r\n","import { Inject, Component, Input, ChangeDetectorRef } from \"@angular/core\";\r\nimport { GlobalSettings, GraphicsDecoration } from \"../../../shared/models\";\r\nimport { GlobalDataStore } from \"../../../shared/providers/globalData\";\r\nimport { AbstractPopupComponent } from \"../../../../shared/components/popup/abstractPopupComponent\";\r\nimport { PopupIdentifiers } from \"../../providers\";\r\n\r\n@Component({\r\n selector: 'graphics-popup',\r\n templateUrl: './graphicsPopupComponent.html'\r\n})\r\nexport class GraphicsPopupComponent extends AbstractPopupComponent {\r\n\r\n public id: string = PopupIdentifiers.Graphics;\r\n\r\n public decoration: GraphicsDecoration;\r\n\r\n public configurationId: number;\r\n public confSessionId: number;\r\n\r\n constructor(\r\n @Inject(GlobalDataStore) public globalDataStore: GlobalDataStore,\r\n public cdr: ChangeDetectorRef\r\n ) {\r\n super(cdr);\r\n }\r\n\r\n show(decoration: GraphicsDecoration, configurationId = null, confSessionId = null): void {\r\n this.decoration = decoration;\r\n\r\n this.configurationId = configurationId;\r\n this.confSessionId = confSessionId;\r\n\r\n this.showInternal();\r\n }\r\n\r\n update(): void {\r\n }\r\n\r\n public get globalSettings(): GlobalSettings {\r\n return this.globalDataStore.getGlobalData().globalSettings;\r\n }\r\n\r\n}","\r\n \r\n
\r\n \r\n
\r\n
\r\n
","import { Inject, Component, ViewChild, Input, ChangeDetectorRef, SimpleChanges, ChangeDetectionStrategy } from \"@angular/core\";\r\nimport { ParamValue, Param, ConfLookupValue, ConfValue, ConfMultiChoiceValue, ConfMultiSetValue, LookupParam, MultiChoiceParam } from \"../../../shared/models\";\r\nimport { PopupService } from \"../../../../shared/components/popup\";\r\nimport { ProductDataStore } from \"../../../shared/providers/productData\";\r\nimport { AccordionComponent } from \"../../../../shared/components\";\r\nimport { AbstractPopupComponent } from \"../../../../shared/components/popup/abstractPopupComponent\";\r\nimport { PopupIdentifiers, ConfiguratorStore, ConfPageSessionService } from \"../../providers\";\r\n\r\n@Component({\r\n selector: 'help-popup',\r\n templateUrl: './helpPopupComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class HelpPopupComponent extends AbstractPopupComponent {\r\n\r\n public id: string = PopupIdentifiers.Help;\r\n\r\n public parameter: Param;\r\n\r\n public values: Array = [];\r\n\r\n public defaultValue: number;\r\n\r\n public helpWidth: string;\r\n\r\n public isIE = false;\r\n\r\n @ViewChild(AccordionComponent)\r\n public helpAccordion: AccordionComponent;\r\n\r\n constructor( \r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfPageSessionService) public pageSession: ConfPageSessionService,\r\n @Inject(ProductDataStore) public productStore: ProductDataStore,\r\n @Inject(PopupService) public popupService: PopupService,\r\n public cdr: ChangeDetectorRef\r\n ) {\r\n super(cdr, popupService);\r\n }\r\n\r\n public open(tag: any) {\r\n this.parameter = this.productStore.getEntity(tag);\r\n\r\n // Set default chosen accordion group\r\n let confVal = this.confStore.getConfValue(this.pageSession.activeConfigurationId, this.pageSession.confSessionId, this.parameter.visualObjectId);\r\n\r\n if (confVal && confVal instanceof ConfLookupValue) {\r\n let lookupVal = confVal as ConfLookupValue;\r\n this.defaultValue = lookupVal.value;\r\n }\r\n else\r\n this.defaultValue = null;\r\n \r\n this.showInternal();\r\n this.update();\r\n\r\n // if the default value doesn't have a help entry open the parameter accordion tab\r\n if (this.values && this.values.findIndex(x => x.longId == this.defaultValue) == -1)\r\n this.defaultValue = null;\r\n\r\n // If the help popup is already opened and we click on some other parameter's help then forcefully open the first group.\r\n if (this.helpAccordion)\r\n this.helpAccordion.openFirstGroup();\r\n\r\n this.isIE = this.browserInfo.isIE;\r\n }\r\n\r\n update(): void {\r\n this.values = [];\r\n this.parameter.paramValues.forEach((x) => {\r\n let paramValue: ParamValue = this.getParamValue(x);\r\n\r\n if (this.parameter instanceof MultiChoiceParam) {\r\n\r\n let confVal: ConfMultiSetValue = this.confStore.getConfValue(this.pageSession.activeConfigurationId, this.pageSession.confSessionId, paramValue.longId) as ConfMultiSetValue;\r\n if (!confVal || confVal.isDisallowed && paramValue.hideIfDisabled)\r\n return;\r\n\r\n }\r\n else if (this.parameter instanceof LookupParam) {\r\n\r\n let conflookUpValue: ConfLookupValue = this.confStore.getConfValue(this.pageSession.activeConfigurationId, this.pageSession.confSessionId, this.parameter.visualObjectId) as ConfLookupValue;\r\n\r\n let isDisallowedValue: boolean = false;\r\n\r\n if (conflookUpValue) {\r\n let disallowedValuesByKey = conflookUpValue.disallowedParamValues.entrySeq();\r\n\r\n disallowedValuesByKey.forEach(e => {\r\n\r\n // TODO: Make map strongly typed in model classes.\r\n let key: string = e[0];\r\n let value: boolean = Boolean(e[1]);\r\n\r\n if (key == paramValue.longId.toString()) {\r\n isDisallowedValue = value;\r\n return; // break the loop\r\n }\r\n\r\n });\r\n }\r\n\r\n // Ignore If disallowed value & hideIfDisabled\r\n if (isDisallowedValue && (paramValue.hideIfDisabled || this.parameter.hideValuesIfDisabled))\r\n return;\r\n\r\n }\r\n\r\n // Don't display values without any help info\r\n if (!paramValue.obsolete && (paramValue.helpText || paramValue.helpImageRelativeUrl || paramValue.externLink))\r\n this.values.push(paramValue);\r\n });\r\n\r\n this.setPopupSize();\r\n\r\n }\r\n\r\n setPopupSize(): void {\r\n\r\n let maxWidth: number = 0;\r\n this.values.forEach(x => {\r\n\r\n if (x.helpImageWidth > maxWidth)\r\n maxWidth = x.helpImageWidth;\r\n\r\n });\r\n\r\n if (this.parameter.helpImageWidth > maxWidth)\r\n maxWidth = this.parameter.helpImageWidth;\r\n\r\n this.helpWidth = `${maxWidth}px`;\r\n\r\n }\r\n\r\n getParamValue(id: number): ParamValue {\r\n return this.productStore.getEntity(id) as ParamValue;\r\n }\r\n\r\n get getParamIcon(): string {\r\n return this.parameter.className.toLowerCase();\r\n }\r\n\r\n getExternLink(parameter: Param) {\r\n // Get extern link as either http link or file link\r\n let result;\r\n if (parameter.externLink != null && parameter.externLink.trim().length > 0) {\r\n // Simple test for http(s) in string\r\n if (parameter.externLink.indexOf('http://') === 0 || parameter.externLink.indexOf('https://') === 0)\r\n result = parameter.externLink;\r\n else\r\n result = `file://${parameter.externLink}`;\r\n }\r\n return result;\r\n }\r\n}","\r\n \r\n
\r\n \r\n 0\">\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
","export * from \"./disallowed/disallowedPopupComponent\";\r\nexport * from \"./readonly/readOnlyPopupComponent\";\r\nexport * from \"./help/helpPopupComponent\";\r\nexport * from \"./mandatory/mandatoryPopupComponent\";\r\nexport * from \"./price/priceSettingPopupComponent\";\r\nexport * from \"./price/priceListReportPopupComponent\";\r\nexport * from \"./bom/bomCompositePopupComponent\";\r\nexport * from \"./graphics/graphicsPopupComponent\";\r\nexport * from \"./code/codePopupComponent\";\r\nexport * from \"./rule/index\";\r\nexport * from \"./configurationSearch/configurationSearchPopupComponent\";\r\nexport * from \"./anonymousDialog/anonymousDialogPopupComponent\";\r\nexport * from \"./warningAttributes/warningAttributesPopupComponent\";\r\nexport * from \"./bom/bomImagePopupComponent\";\r\nexport * from \"./attribute/attributePopperComponent\";\r\nexport * from \"./attribute/attributePopperDirective\";","import { Inject, Component, ViewChild, Input, Output, EventEmitter, ElementRef, ChangeDetectorRef, ChangeDetectionStrategy } from \"@angular/core\";\r\nimport * as Immutable from 'immutable';\r\nimport { ConfInfo, ParamInfo } from \"../../../shared/models\";\r\nimport { RegularPopupComponent, PopupInfo } from \"../../../../shared/components/popup\";\r\nimport { PageActionCreator, PageStore } from \"../../../shared/providers/page\";\r\nimport { RouteRedirector, RouteNames } from \"../../../shared/providers\";\r\nimport { InputViewModel, ValueChangeEventArgs } from \"../../../../shared/components/shared\";\r\nimport { MandatoryParamsMessage } from \"../../../shared/models/responses/messages\";\r\nimport { ConfigurationSessionManager, ConfPageSessionService, ConfiguratorStore, PopupIdentifiers, ConfRouteParams, ConfiguratorUIStore } from \"../../providers\";\r\nimport { AccordionComponent, PopupService } from \"../../../../shared/components\";\r\nimport { ParameterMandatoryService } from \"../../parameters/shared/parameterMandatoryService\";\r\nimport { AbstractPopupComponent } from \"../../../../shared/components/popup/abstractPopupComponent\";\r\nimport { EmitterService } from \"../../shared\";\r\nimport { GlobalDataStore } from \"../../../shared/providers/globalData\";\r\nimport { AccountDataStore } from \"../../../shared/providers/accountData\";\r\nimport { Router, NavigationStart, NavigationEnd, ActivatedRoute } from \"@angular/router\";\r\n\r\n@Component({\r\n selector: 'mandatory-popup',\r\n templateUrl: './mandatoryPopupComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MandatoryPopupComponent extends AbstractPopupComponent {\r\n \r\n public values: Array;\r\n public highlightView: InputViewModel;\r\n\r\n public imageSetInfo: string = \"primary-light\";\r\n public imageSetShow: string = \"success\";\r\n\r\n @ViewChild(AccordionComponent)\r\n accordionComponent: AccordionComponent;\r\n\r\n public hasValue: boolean = false;\r\n\r\n @Output()\r\n onClosed = new EventEmitter();\r\n\r\n constructor(\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfiguratorUIStore) public confUIStore: ConfiguratorUIStore,\r\n @Inject(ConfPageSessionService) public storeSession: ConfPageSessionService,\r\n @Inject(PageActionCreator) public pageActionCreator: PageActionCreator,\r\n @Inject(ParameterMandatoryService) public parameterMandatoryService: ParameterMandatoryService,\r\n @Inject(RouteRedirector) public routeRedirector: RouteRedirector,\r\n @Inject(PopupService) public popupService: PopupService,\r\n @Inject(GlobalDataStore) public globalDataStore: GlobalDataStore,\r\n @Inject(AccountDataStore) public accountDataStore: AccountDataStore,\r\n @Inject(PageStore) public pageStore: PageStore,\r\n public cdr: ChangeDetectorRef,\r\n public router: Router,\r\n public activatedRoute: ActivatedRoute\r\n ) {\r\n super(cdr, popupService);\r\n\r\n router.events.forEach((event) => {\r\n if (event instanceof NavigationStart) {\r\n\r\n\r\n }\r\n\r\n else if (event instanceof NavigationEnd) {\r\n\r\n if (this.isValidRouteEnded(event)) {\r\n\r\n }\r\n\r\n }\r\n // NavigationEnd\r\n // NavigationCancel\r\n // NavigationError\r\n // RoutesRecognized\r\n });\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.highlightView = new InputViewModel(this.strings.HighlightMandatoryParameters);\r\n this.highlightView.value = this.accountDataStore.getUser().settings.highlightMandatoryParameters || this.globalDataStore.getGlobalData().globalSettings.highlightMandatoryParameters;\r\n this.id = PopupIdentifiers.Mandatory;\r\n\r\n super.ngOnInit();\r\n }\r\n\r\n public open(tag: any) { \r\n this.setup(tag);\r\n\r\n if (!this.popup || !this.popup.isOpened)\r\n this.showInternal();\r\n\r\n this.onHighlightParametersChanged(null);\r\n }\r\n\r\n setup(messages: Immutable.List): void {\r\n\r\n this.values = [];\r\n\r\n this.hasValue = false;\r\n\r\n // Dispatching includeMandatoryInfo\r\n if (!this.confUIStore.includeMandatoryInfo)\r\n this.confUIStore.includeMandatoryInfo = true;\r\n\r\n messages.forEach(message => {\r\n // Only add configurations if it contains any mandatory params.\r\n if (message.mandatoryParams.size > 0) {\r\n let mandatoryModel = new MandatoryConfigurationModel();\r\n mandatoryModel.conf = this.confStore.getConfInfo(message.configurationId, this.storeSession.confSessionId);\r\n\r\n // Note! Don't read activeConfigurationId from StoreSession, because this listener is called before AppStore data merge and it would contain the old activeConfigurationId.\r\n // It is better to read the activeConfigurationId from route because that information is more credible. In future we will make a new service to read active configuration always\r\n // from route.\r\n let activeConfigurationId = +this.routeRedirector.searchRouteParam(ConfRouteParams.ID);\r\n mandatoryModel.isActiveConf = activeConfigurationId === message.configurationId;\r\n\r\n message.mandatoryParams.forEach((param: ParamInfo) => {\r\n let paramModel = new InputViewModel(param.title);\r\n paramModel.icon = param.parameterType.toLowerCase();\r\n paramModel.iconHeight = paramModel.iconWidth = \"24px\";\r\n paramModel.value = param;\r\n mandatoryModel.parameters.push(paramModel);\r\n });\r\n this.values.push(mandatoryModel);\r\n this.hasValue = true;\r\n }\r\n });\r\n\r\n this.cdr.markForCheck();\r\n }\r\n\r\n // Is this method needed?\r\n public trackValue(index: number, model: MandatoryConfigurationModel): any {\r\n return model.conf.longId;\r\n }\r\n\r\n public trackParam(index: number, param: InputViewModel): any {\r\n return (param.value).visualObjectInTabId;\r\n }\r\n\r\n public get isHighlighting(): boolean {\r\n return typeof this.highlightView.value === \"boolean\" ? this.highlightView.value : this.highlightView.value === \"true\";\r\n }\r\n\r\n public onHighlightParametersChanged($event: ValueChangeEventArgs) {\r\n this.parameterMandatoryService.sendHighlightMessage(this.isHighlighting);\r\n }\r\n\r\n public onPopupClosed() {\r\n this.values = null;\r\n\r\n // Dispatching includeMandatoryInfo unless if we're highlighting\r\n if (!this.isHighlighting && this.confUIStore.includeMandatoryInfo) {\r\n this.confUIStore.includeMandatoryInfo = false;\r\n this.confUIStore.isNextStateIncluded = false;\r\n }\r\n\r\n this.confUIStore.setIsMandatoryOpened(false);\r\n super.onPopupClosed();\r\n this.onClosed.emit();\r\n }\r\n\r\n //\r\n public onAccordionOpen(configurationId: number) {\r\n // Accordion expand will route to the clicked configuration \r\n // changing configuration causes popper to get wrong position\r\n this.regularPopup.detachPopper();\r\n \r\n if (this.storeSession.showChildrenInAccordionTabs) {\r\n this.emitterService.send(PopupIdentifiers.AccordionCompositeShowDetail, { confId: configurationId, reload: true });\r\n return;\r\n }\r\n\r\n let params = { id: configurationId, confSessionId: this.storeSession.confSessionId };\r\n if (this.pageStore.activeRouteName === RouteNames.Summary)\r\n this.routeRedirector.redirectToSummary(params);\r\n else\r\n this.routeRedirector.redirectToEditor(params);\r\n }\r\n\r\n public sendHighlightId(id: number) {\r\n if (this.parameterMandatoryService.isHighlighting)\r\n return;\r\n\r\n this.emitterService.send(PopupIdentifiers.Mandatory, id);\r\n }\r\n\r\n public onPopupOpen() {\r\n this.confUIStore.setIsMandatoryOpened(true);\r\n }\r\n\r\n public onAccordionToggle($event) {\r\n // TODO, I want it to scroll to the selected conf\r\n\r\n //let opened = $event.isOpened;\r\n //let clickedGroup = $event.clickedGroup;\r\n\r\n //// Remove margins for all groups\r\n //this.accordionComponent.groups.forEach(x => {\r\n // x.accordionGroupElement.nativeElement.style.marginBottom = \"\";\r\n //});\r\n\r\n //if (opened) {\r\n // // Perform in timeout so it will be opened first.\r\n // setTimeout(() => {\r\n // let scrollTop = this.body.nativeElement.parentElement.scrollTop;\r\n // let clickedOffset = clickedGroup.nativeElement.offsetTop;\r\n // let leftToScroll = this.body.nativeElement.parentElement.scrollHeight - this.body.nativeElement.parentElement.offsetHeight;\r\n\r\n // // We might need extra room to scroll to top -> add extra margin\r\n // if (clickedOffset > leftToScroll) {\r\n // clickedGroup.nativeElement.style.marginBottom = (clickedOffset - leftToScroll) + \"px\";\r\n // }\r\n // this.scrollToTop(clickedOffset);\r\n // }, 0);\r\n //}\r\n }\r\n\r\n //public get leftToScroll() {\r\n // return this.body.nativeElement.parentElement.scrollHeight - this.body.nativeElement.parentElement.offsetHeight;\r\n //}\r\n\r\n //public scrollToTop(scrollTo: number) {\r\n // let scrollStep = 5;\r\n\r\n // let scrollInterval = setInterval(() => {\r\n // let canScrollMore = this.body.nativeElement.parentElement.scrollTop < this.leftToScroll;\r\n // if (canScrollMore && (scrollTo > this.body.nativeElement.parentElement.scrollTop))\r\n // this.body.nativeElement.parentElement.scrollBy(0, scrollStep);\r\n // else\r\n // clearInterval(scrollInterval);\r\n // }, 4);\r\n //}\r\n\r\n isValidRouteEnded(event: NavigationEnd) {\r\n let urlParts = event.url.split(';');\r\n let routeName = urlParts.pop().toLowerCase();\r\n return routeName.indexOf(RouteNames.Editor) || routeName.indexOf(RouteNames.Summary); \r\n }\r\n\r\n}\r\n\r\nexport class MandatoryConfigurationModel {\r\n conf: ConfInfo;\r\n parameters: Array = [];\r\n isActiveConf = false;\r\n}","\r\n
\r\n
\r\n \r\n
\r\n

\r\n {{strings.MandatoryPopup_NoMoreParametersMessage}}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n {{parameter.title}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n","import { Inject, Component, Input, ChangeDetectorRef, Output, EventEmitter } from \"@angular/core\";\r\nimport { AbstractPopupComponent } from \"../../../../shared/components/popup/abstractPopupComponent\";\r\nimport { PopupService, InputViewModel } from \"../../../../shared/components\";\r\nimport { PopupIdentifiers, ConfiguratorStore, ConfPageSessionService } from \"../../providers\";\r\nimport { PageActionCreator } from \"../../../shared/providers/page\";\r\nimport { HttpService } from \"../../../../shared/providers/httpService\";\r\nimport { GenericMessage } from \"../../../shared/models/responses/messages/genericMessage\";\r\nimport { NotificationService } from \"../../../../shared/components/notification/notificationService\";\r\nimport { NotificationInfo, NotificationType } from \"../../../../shared/components/notification/notificationInfo\";\r\nimport { ConfDataController } from \"../../../shared/providers/configurationData/confDataController\";\r\nimport { PageStore } from \"../../../shared/providers/page/pageStore\";\r\nimport { ModelFactory } from \"../../../shared/providers/modelFactory\";\r\nimport { RequestViews } from \"../../../shared/models/requests/requestViews\";\r\nimport { BaseRequest } from \"../../../shared/models/requests/baseRequest\";\r\nimport { AbstractConfDataCommand } from \"../../../shared/models/requests/commands/abstractConfDataCommand\";\r\nimport { PopupClientChoiceRequest } from \"../../../shared/models/requests/popupClientChoiceRequest\";\r\nimport { ApiMessage } from \"../../../shared/models/responses/messages/apiMessage\";\r\nimport * as Immutable from \"immutable\";\r\nimport { CompositeActions, CompositeActionService, ICompositeDataInfo } from \"../../actions/composite/compositeActionService\";\r\nimport { CompositeHelper } from \"../../actions/composite/compositeHelper\";\r\nimport { ApiResponse, ComplexSequentialPopups } from \"../../../shared/models\";\r\nimport { SequencReference } from \"../../../shared/models/responses/messages/popupSequence\";\r\nimport { PopupObject, Purpose } from \"../../../shared/models/responses/messages/popupObject\";\r\n\r\n@Component({\r\n\tselector: 'crmIntegration-popup',\r\n\ttemplateUrl: './crmIntegrationPopupComponent.html'\r\n})\r\n\r\n// customizable popup object that shows popups pushed from server\r\nexport class CrmIntegrationPopupComponent extends AbstractPopupComponent {\r\n\r\n\tpublic id: string = PopupIdentifiers.MsCrmIntegrationPopup;\r\n\r\n\tpublic title: string;\r\n\tpublic text: string;\r\n\r\n\tpublic yesButtonText: string;\r\n\tpublic noButtonText: string;\r\n\r\n\tpublic popupWidth: string;\r\n\tpublic popupHeight: string;\r\n\r\n\tpublic popupManager: PopupManager;\r\n\r\n\tconstructor(\r\n\t\t@Inject(ConfPageSessionService) public confPageSession: ConfPageSessionService,\r\n\t\t@Inject(PageActionCreator) public pageActionCreator: PageActionCreator,\r\n\t\t@Inject(PopupService) public popupService: PopupService,\r\n\t\t@Inject(HttpService) public httpService: HttpService,\r\n\t\t@Inject(NotificationService) public notificationService: NotificationService,\r\n\t\t@Inject(ConfDataController) public configuratorController: ConfDataController,\r\n\t\t@Inject(ConfiguratorStore) public configuratorStore: ConfiguratorStore,\r\n\t\t@Inject(PageStore) public pageStore: PageStore,\r\n\t\t@Inject(ModelFactory) public modelFactory: ModelFactory,\r\n\t\t@Inject(CompositeActionService) public actionService: CompositeActionService,\r\n\t\t@Inject(CompositeHelper) public compositeHelper: CompositeHelper,\r\n\t\tpublic cdr: ChangeDetectorRef\r\n\t) {\r\n\t\tsuper(cdr, popupService);\r\n\t}\r\n\r\n\t// entry point to the popup. tag is the popup message object \r\n\tpublic open(tag: ComplexSequentialPopups) {\r\n\r\n\t\t// create instance of PopupManager\r\n\t\tthis.popupManager = new PopupManager(tag);\r\n\r\n\t\t// get the first popupObject\r\n\t\tlet popupObject = this.popupManager.getNextPopup();\r\n\r\n\t\t// initiate the popup variables to be shown according to the popup object\r\n\t\tthis.setVariablesFromPopupObject(popupObject);\r\n\r\n\t\t// show popup\r\n\t\tthis.show();\r\n\t}\r\n\r\n\t// set the popup variables to be shown according to the popup object\r\n\tsetVariablesFromPopupObject(actualPopup: PopupObject) {\r\n\t\t// initiate the yes and no buttons texts\r\n\t\tthis.yesButtonText = actualPopup.yesButtonText;\r\n\t\tthis.noButtonText = actualPopup.noButtonText;\r\n\r\n\t\t// initiate the title and the text of the popup\r\n\t\tthis.title = actualPopup.popupMessageTitle;\r\n\t\tthis.text = actualPopup.popupMessage;\r\n\r\n\t\t// initiate the width and height of the popup\r\n\t\tthis.popupWidth = actualPopup.popupWidth;\r\n\t\tthis.popupHeight = actualPopup.popupHeight;\r\n\t}\r\n\r\n\r\n\tngOnInit() { super.ngOnInit(); }\r\n\tshow(): void { this.showInternal(); }\r\n\r\n\r\n\t// -------------- user choice handlers -------------- //\r\n\r\n\tonYesClick() {\r\n\t\t// get the actual popup message object\r\n\t\tlet actualPopup = this.popupManager.actualPopup;\r\n\r\n\t\t// handle user choice by server and loacally\r\n\t\tthis.handleYesChoiceByServerAndLocally(actualPopup);\r\n\r\n\t\t// switch conditionally to next popup\r\n\t\tlet nextPopup: PopupObject;\r\n\t\tif (actualPopup.skipNextPopupIfUserAnswersYes) {\r\n\t\t\tnextPopup = this.popupManager.skipAndPop();\r\n\t\t} else\r\n\t\t\tnextPopup = this.popupManager.getNextPopup();\r\n\r\n\t\tif (nextPopup)\r\n\t\t\tthis.setVariablesFromPopupObject(nextPopup);\r\n\t\telse\r\n\t\t\tthis.popupService.close(this.id);\r\n\t}\r\n\r\n\tonNoClick() {\r\n\t\t// get the actual popup message object\r\n\t\tlet actualPopup = this.popupManager.actualPopup;\r\n\r\n\t\t// handle user choice by server and loacally\r\n\t\tthis.handleNoChoiceByServerAndLocally(actualPopup);\r\n\r\n\t\t// switch conditionally to next popup\r\n\t\tlet nextPopup: PopupObject;\r\n\t\tif (actualPopup.skipNextPopupIfUserAnswersNo) {\r\n\t\t\tnextPopup = this.popupManager.skipAndPop();\r\n\t\t} else\r\n\t\t\tnextPopup = this.popupManager.getNextPopup();\r\n\r\n\t\tif (nextPopup)\r\n\t\t\tthis.setVariablesFromPopupObject(nextPopup);\r\n\t\telse\r\n\t\t\tthis.popupService.close(this.id);\r\n\t}\r\n\r\n\t// -------------- -------------------- -------------- //\r\n\r\n\r\n\r\n\r\n\t// ----- handle user choice by server and locally ----- //\r\n\r\n\thandleYesChoiceByServerAndLocally(actualPopup: PopupObject) {\r\n\t\t// handle user choice by server and loacally\r\n\t\tlet serverRequest = this.handleYesChoiceByServer(actualPopup);\r\n\t\tserverRequest.subscribe(serverResponse => {\r\n\t\t\tlet serverResponseData: ConfPopupClientChoiceResponseDto = serverResponse.data;\r\n\t\t\tthis.handleServerResponseToUserChoice(serverResponseData);\r\n\t\t\tif (serverResponseData.success)\r\n\t\t\t\tthis.handleYesChoiceLocally(actualPopup);\r\n\t\t});\r\n\t}\r\n\r\n\thandleNoChoiceByServerAndLocally(actualPopup: PopupObject) {\r\n\t\t// handle user choice by server and loacally\r\n\t\tlet serverRequest = this.handleNoChoiceByServer(actualPopup);\r\n\t\tserverRequest.subscribe(serverResponse => {\r\n\t\t\tlet serverResponseData: ConfPopupClientChoiceResponseDto = serverResponse.data;\r\n\t\t\tthis.handleServerResponseToUserChoice(serverResponseData);\r\n\t\t\tif (serverResponseData.success)\r\n\t\t\t\tthis.handleNoChoiceLocally(actualPopup, serverResponseData.extraInfo);\r\n\t\t});\r\n\t}\r\n\r\n\t// ----- ------------------------------------------- ----- //\r\n\r\n\r\n\r\n\t// ----- handle user choice by server ----- //\r\n\r\n\thandleYesChoiceByServer(actualPopup: PopupObject) {\r\n\t\tconst requestUrl = this.constructRequestLinkFromPopupObject(actualPopup, PopupClientResponse.Yes);\r\n\t\treturn this.httpService.get(requestUrl);\r\n\t}\r\n\r\n\r\n\thandleNoChoiceByServer(actualPopup: PopupObject) {\r\n\t\tconst requestUrl = this.constructRequestLinkFromPopupObject(actualPopup, PopupClientResponse.No);\r\n\t\treturn this.httpService.get(requestUrl);\r\n\t}\r\n\r\n\t// construct server request url\r\n\tconstructRequestLinkFromPopupObject(popupObject: PopupObject, popupClientResponse: PopupClientResponse, purpose: Purpose = null, subConfId: number = null) {\r\n\t\tlet model: PopupClientChoiceRequest = this.modelFactory.createAny(PopupClientChoiceRequest.name) as any;\r\n\r\n\t\tmodel.client = this.pageStore.getActiveClientType();\r\n\r\n\t\tmodel.sequencReference = popupObject.sequencReference;\r\n\t\tmodel.purpose = purpose ?? popupObject.purpose;\r\n\t\tmodel.popupClientResponse = popupClientResponse;\r\n\t\tmodel.sessionId = popupObject.sessionId;\r\n\t\tmodel.rootConfId = popupObject.rootConfId;\r\n\t\tmodel.subConfId = subConfId ?? popupObject.subConfId;\r\n\t\tmodel.subConfIdentity = popupObject.subConfIdentity;\r\n\t\tmodel.productId = popupObject.productId;\r\n\t\tmodel.generatedProductId = popupObject.generatedProductId;\r\n\t\tmodel.quoteDetailCrmIdentity = popupObject.quoteDetailCrmIdentity;\r\n\t\tmodel.quoteDetailCombinumIdentity = popupObject.quoteDetailCombinumIdentity;\r\n\t\tmodel.args = popupObject.args;\r\n\r\n\t\treturn this.httpService.createUrl('api/configurator/popUpClientChoice', model);\r\n\t}\r\n\r\n\thandleServerResponseToUserChoice(serverResponse: ConfPopupClientChoiceResponseDto) {\r\n\t\tif (serverResponse.success) {\r\n\t\t\tif (serverResponse.showNotification)\r\n\t\t\t\tthis.notificationService.notify({ selfClose: false, title: serverResponse.notificationTitle, message: serverResponse.notificationMessage, type: serverResponse.notificationType });\r\n\t\t}\r\n\t\telse\r\n\t\t\t// optional further handling if not the handling of the client response succeeded\r\n\t\t\tthis.notificationService.notify({ selfClose: false, title: serverResponse.notificationTitle, message: serverResponse.notificationMessage, type: serverResponse.notificationType });\r\n\t}\r\n\r\n\t// ----- ------------------------------------------- ----- //\r\n\r\n\r\n\r\n\r\n\r\n\t// ----- - CUSTOMIZE HERE - handle user choice locally in client depending on its purpose as popup identifier and user choice - CUSTOMIZE HERE - ----- //\r\n\r\n\thandleYesChoiceLocally(actualPopup: PopupObject) {\r\n\r\n\t\t// user choice -> delete sub conf\r\n\t\tif (actualPopup.purpose === Purpose.DeleteConfiguration) {\r\n\t\t\tthis.deleteSubConfiguration(actualPopup.subConfId);\r\n\t\t}\r\n\r\n\t\t// user choice -> Yes, create new sub conf that corresponds to specific quote detail\r\n\t\tif (actualPopup.purpose === Purpose.QuoteDetailsExistInCrmOutOfSyncWithChildconfigurations) {\r\n\r\n\t\t\tlet generatedProductId = actualPopup.generatedProductId;\r\n\t\t\tthis.createSubConfiguration(Number(actualPopup.rootConfId), Number(generatedProductId), actualPopup.quoteDetailCrmIdentity);\r\n\r\n\t\t\t//.then(() => {\r\n\t\t\t// then let the server connect this subconf with the corresponding quote detail\r\n\t\t\t// get the id of the new conf (last child of the root)\r\n\t\t\t//let newConf = this.configuratorStore.getChildConfInfos(Number(actualPopup.rootConfId), Number(actualPopup.sessionId)).slice(-1)[0];\r\n\t\t\t//let newConfId = newConf.longId;\r\n\r\n\t\t\t//let requestUrl = this.constructRequestLinkFromPopupObject(actualPopup, PopupClientResponse.Yes, Purpose.LinkSubConfToQuoteDetail, newConfId);\r\n\r\n\t\t\t//// request the server to link the newly created subconf to the corresponding quotedetail\r\n\t\t\t//this.httpService.get(requestUrl).subscribe(x => this.handleServerResponseToUserChoice(x));\r\n\t\t\t//});\r\n\t\t}\r\n\t}\r\n\r\n\r\n\thandleNoChoiceLocally(actualPopup: PopupObject, extraInfo: string) {\r\n\r\n\t}\r\n\r\n\t// ----- ------------------------------------------- ----- //\r\n\r\n\r\n\r\n\r\n\r\n\r\n\t// -------------------- helper methods -------------------- //\r\n\r\n\t// delete sub conf\r\n\tdeleteSubConfiguration(subConfId) {\r\n\t\tthis.actionService.notify(\r\n\t\t\t>{\r\n\t\t\t\taction: CompositeActions.Delete,\r\n\t\t\t\tfocusedConfInfoId: subConfId\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t// create new sub-configuration\r\n\tcreateSubConfiguration(rootConfId, productId, quotedetailCrmId) {\r\n\t\treturn this.compositeHelper.addChildConfigurationCorrespondingToCrmQuoteDetail(rootConfId, productId, quotedetailCrmId);\r\n\t}\r\n\r\n}\r\n\r\n// ----- ------------------------------------------- ----- //\r\n\r\n// reflected in server side\r\nexport enum PopupClientResponse {\r\n\tYes,\r\n\tNo\r\n}\r\n\r\n// reflected in server side\r\nexport interface ConfPopupClientChoiceResponseDto {\r\n\tsuccess?: boolean;\r\n\tshowNotification?: boolean;\r\n\tnotificationTitle?: string;\r\n\tnotificationMessage?: string;\r\n\tnotificationType?: string;\r\n\textraInfo?: string;\r\n}\r\n\r\nexport class PopupManager {\r\n\r\n\tpublic allPopups: Array = [];\r\n\tpublic actualPopup: PopupObject;\r\n\r\n\tconstructor(complexSequentials: ComplexSequentialPopups) {\r\n\t\t// combine all popups in all sequences coming from server\r\n\t\tcomplexSequentials.popupSequences.forEach(sequence => this.allPopups = this.allPopups.concat(sequence.popupObjects.toArray()));\r\n\t\tthis.allPopups = this.allPopups.reverse();\r\n\t}\r\n\r\n\t// get the next popup\r\n\tgetNextPopup(): PopupObject {\r\n\t\tif (this.allPopups.length !== 0) {\r\n\t\t\tthis.actualPopup = this.allPopups.pop();\r\n\t\t\treturn this.actualPopup;\r\n\t\t} else {\r\n\t\t\tthis.actualPopup = null;\r\n\t\t\treturn null;\r\n\t\t}\r\n\t}\r\n\r\n\tskip() {\r\n\t\tif (this.allPopups.length !== 0)\r\n\t\t\tthis.allPopups.pop();\r\n\t}\r\n\r\n\tskipAndPop(): PopupObject {\r\n\t\tthis.skip();\r\n\t\treturn this.getNextPopup();\r\n\t}\r\n\r\n\t// check if the message object is not a simple popup\r\n\tpublic isComplexPopupMessage(complexSequentials: ComplexSequentialPopups): boolean {\r\n\t\treturn complexSequentials.popupSequences.first().popupObjects.count() > 1;\r\n\t}\r\n}\r\n","\r\n\r\n\t
\r\n\t\t
\r\n\t
\r\n\r\n\t
\r\n\t\t\r\n\t\t\r\n\t
\r\n\r\n
\r\n","import { Inject, Component, Input, ChangeDetectorRef } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\nimport { PriceReportMessage } from \"../../../shared/models/responses/messages\";\r\nimport { PopupService } from \"../../../../shared/components/popup\";\r\nimport { ConfInfo, RequestViews } from \"../../../shared/models\";\r\nimport { AbstractPopupComponent } from \"../../../../shared/components/popup/abstractPopupComponent\";\r\nimport { ConfiguratorStore, ConfPageSessionService, PopupIdentifiers, ConfMessageProvider } from \"../../providers\";\r\nimport { PriceReportRowView, PriceReportCellView } from \"../../../shared/components/priceReport/priceReportRowView\";\r\nimport { ManagedSubscription } from \"../../../../shared\";\r\nimport { ImageSets } from \"../../../../shared/utils\";\r\n\r\n@Component({\r\n selector: 'price-list-report-popup',\r\n templateUrl: './priceListReportPopupComponent.html'\r\n})\r\nexport class PriceListReportPopupComponent extends AbstractPopupComponent {\r\n\r\n public imageSet: string;\r\n \r\n public reports: Immutable.List;\r\n\r\n public errorReportsConfIds: Immutable.List;\r\n\r\n public activeReport: PriceReportMessage;\r\n public activeReportConfId: number;\r\n public rowViews: PriceReportRowView[] = [];\r\n \r\n public reportTitle: string;\r\n public reportCategoryName: string; \r\n\r\n /** Stores the parent-child-childchild... stack.\r\n The active conf report is on top with its parent directly beneath it.\r\n |------------|\r\n | childchild |\r\n | child |\r\n | parent |\r\n |------------|\r\n */\r\n public stack: Immutable.Stack = Immutable.Stack();\r\n\r\n protected readonly CATEGORY_STYLE: string = \"category align-middle\";\r\n protected readonly CHILD_STYLE: string = \"child clickable align-middle\";\r\n protected readonly ITEM_TITLE_STYLE: string = \"item align-middle\";\r\n protected readonly ITEM_PRICE_STYLE: string = \"item text-right pr-4 align-middle text-right w-100\";\r\n protected readonly TOTAL_STYLE: string = \"total align-middle\";\r\n protected readonly GRAND_TOTAL_STYLE: string = \"grand-total align-middle\";\r\n protected priceSubscription: ManagedSubscription\r\n\r\n constructor(\r\n @Inject(PopupService) public popupService: PopupService,\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfMessageProvider) public confMessageProvider: ConfMessageProvider,\r\n @Inject(ConfPageSessionService) public storeSession: ConfPageSessionService,\r\n public cdr: ChangeDetectorRef\r\n ) {\r\n super(cdr, popupService);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.id = PopupIdentifiers.PriceList;\r\n this.imageSet = this.getImageSet(ImageSets.PopupHeader);\r\n\r\n // Price report message\r\n // TODO: We might need to remove same listener from PriceListDecorationComponent\r\n this.priceSubscription = this.confMessageProvider.onMessagesRequest(this.storeSession.confSessionId, PriceReportMessage.name, {\r\n next: (messages: Immutable.List): void => {\r\n\r\n this.show(messages);\r\n\r\n },\r\n listenNewEventsOnly: true\r\n });\r\n\r\n super.ngOnInit();\r\n }\r\n\r\n public updateBreadcrumb(confId: number): void {\r\n if (!confId)\r\n return;\r\n\r\n let conf: ConfInfo = this.confStore.getConfInfo(confId, this.storeSession.confSessionId);\r\n this.stack = this.stack.unshift(conf);\r\n this.updateBreadcrumb(conf.parentId);\r\n }\r\n\r\n hasReportError(conf: ConfInfo) {\r\n return this.errorReportsConfIds.contains(conf.longId);\r\n }\r\n\r\n public open(tag: any) {\r\n this.show(tag);\r\n }\r\n\r\n show(reports: Immutable.List): void {\r\n // If activeReportInfo is not set yet, check to see if there are any reports available.\r\n // If there aren't, then just return and don't show anything.\r\n if (!this.activeReportConfId) {\r\n if (reports.count() > 0)\r\n this.activeReportConfId = reports.first().configurationId;\r\n else\r\n return;\r\n }\r\n\r\n this.reports = reports;\r\n this.stack = Immutable.Stack();\r\n this.update(this.activeReportConfId); \r\n this.showInternal();\r\n }\r\n\r\n update(confId: number): void {\r\n\r\n let report = this.reports.find(x => x.configurationId === confId);\r\n if (!report) {\r\n let requestView = this.storeSession.confUIStore.PageStore.getActiveClientType();\r\n if (requestView == RequestViews.Editor)\r\n this.confStore.getPriceReport(this.storeSession.confSessionId, confId, requestView, false);\r\n\r\n return;\r\n }\r\n\r\n this.activeReport = report;\r\n \r\n this.errorReportsConfIds = Immutable.List(this.reports.filter(x => x.warnings.size > 0).map(x => x.configurationId));\r\n let confInfo: ConfInfo = this.confStore.getConfInfo(confId, this.storeSession.confSessionId);\r\n\r\n // Set titles \r\n this.reportCategoryName = this.activeReport.priceListCategory.text;\r\n this.reportTitle = confInfo.text;\r\n\r\n // Remove the old contents\r\n this.rowViews = [];\r\n \r\n // Make breadcrumb only If composite configurations exist\r\n let rootConfInfo: ConfInfo = this.confStore.getConfInfo(confInfo.rootId, this.storeSession.confSessionId);\r\n if (rootConfInfo.children.size > 0) {\r\n this.stack = this.stack.clear();\r\n this.updateBreadcrumb(this.activeReport.configurationId);\r\n }\r\n }\r\n\r\n onReportClicked(confId: number) {\r\n\r\n if (!confId)\r\n return;\r\n\r\n this.activeReportConfId = confId;\r\n this.update(confId);\r\n\r\n }\r\n\r\n public onPopupClosed(): void {\r\n\r\n this.activeReportConfId = null;\r\n super.onPopupClosed();\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n\r\n if (this.priceSubscription)\r\n this.priceSubscription.unsubscribe();\r\n\r\n super.ngOnDestroy();\r\n\r\n }\r\n\r\n}","\r\n \r\n
0\">\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{reportTitle}}\r\n
\r\n
\r\n

{{reportCategoryName}}

\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
","import { Inject, Component, Input, ChangeDetectorRef, ChangeDetectionStrategy, ViewChild } from \"@angular/core\";\r\nimport { PriceSettingMessage } from \"../../../shared/models/responses/messages\";\r\nimport { Conf, PriceListCategory } from \"../../../shared/models\";\r\nimport { VisualObjectViewModelFactory } from \"../../parameters/shared\";\r\nimport { ConfigurationSessionManager } from \"../../providers/configurationSessionManager\";\r\nimport { AbstractPopupComponent } from \"../../../../shared/components/popup/abstractPopupComponent\";\r\nimport { PopupService, InputViewModel, Positions, MessageBoxComponent, MessageBoxConfig } from \"../../../../shared/components\";\r\nimport { ConfiguratorStore, ConfPageSessionService, PopupIdentifiers } from \"../../providers\";\r\nimport { GlobalDataStore } from \"../../../shared/providers/globalData\";\r\n\r\n@Component({\r\n selector: 'price-setting-popup',\r\n templateUrl: './priceSettingPopupComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class PriceSettingPopupComponent extends AbstractPopupComponent {\r\n\r\n public width: string;\r\n public height: string;\r\n\r\n public plcGroupView: InputViewModel;\r\n public plcItemsView: InputViewModel[] = [];\r\n\r\n public plGroupView: InputViewModel;\r\n public plItemsView: InputViewModel[] = [];\r\n\r\n public currencyGroupView: InputViewModel;\r\n public currencyItemsView: InputViewModel[] = [];\r\n\r\n public cachedSelectedPriceListByCategory: Map = new Map();\r\n\r\n public message: PriceSettingMessage;\r\n public conf: Conf;\r\n\r\n @ViewChild(MessageBoxComponent)\r\n public confirmEffectiveChangeMessageBox: MessageBoxComponent;\r\n\r\n constructor(\r\n @Inject(VisualObjectViewModelFactory) public viewFactory: VisualObjectViewModelFactory,\r\n @Inject(ConfiguratorStore) public configuratorStore: ConfiguratorStore,\r\n @Inject(GlobalDataStore) public globalDataStore: GlobalDataStore,\r\n @Inject(ConfPageSessionService) public confPageSessionService: ConfPageSessionService,\r\n @Inject(PopupService) public popupService: PopupService,\r\n public cdr: ChangeDetectorRef\r\n ) {\r\n super(cdr, popupService);\r\n }\r\n\r\n ngOnInit() {\r\n this.width = this.uiSettings.configurator.decoration.price.minWidth;\r\n this.height = this.uiSettings.configurator.decoration.price.minHeight;\r\n this.id = PopupIdentifiers.PriceSetting;\r\n\r\n super.ngOnInit();\r\n }\r\n\r\n public open(tag: any) {\r\n this.show(tag);\r\n }\r\n\r\n show(message: PriceSettingMessage): void {\r\n this.message = message;\r\n\r\n // Get active configuration\r\n this.conf = this.configuratorStore.getConf(message.configurationId, this.confPageSessionService.confSessionId);\r\n\r\n this.createCurrencyViewModels();\r\n\r\n // Create price list category and price list input view models.\r\n this.createCategoryAndPriceViewModels();\r\n this.showInternal();\r\n }\r\n\r\n createCategoryAndPriceViewModels(): void {\r\n // Create views for price list category\r\n this.plcGroupView = new InputViewModel();\r\n this.plcGroupView.title = this.strings.PriceList;\r\n this.plcGroupView.icon = \"pricetag\";\r\n this.plcGroupView.iconWidth = \"24px\";\r\n this.plcGroupView.iconHeight = \"24px\";\r\n this.plcGroupView.labelPosition = Positions.Above;\r\n this.plcGroupView.readOnly = !this.conf.authorization.canChangePriceListCategory;\r\n\r\n // Empty the list.\r\n this.plcItemsView = [];\r\n\r\n this.globalDataStore.getEntities(PriceListCategory.name).subscribe((storeResponse) => {\r\n\r\n let priceListCategories = storeResponse.data;\r\n\r\n // Children\r\n this.message.categories.forEach(x => {\r\n\r\n let priceListCategory = priceListCategories.get(+x.key);\r\n if (!priceListCategory)\r\n return;\r\n\r\n let itemView = new InputViewModel(priceListCategory.title);\r\n itemView.id = priceListCategory.longId.toString();\r\n itemView.title = priceListCategory.title;\r\n this.plcItemsView.push(itemView);\r\n });\r\n\r\n if (this.conf.priceValue) {\r\n // TODO: This is the temporary solution We need more refactoring on views.\r\n let plcView = this.viewFactory.setValue(this.plcItemsView, String(this.conf.priceValue.priceListCategoryId), String(this.conf.priceValue.priceListCategoryId));\r\n if (plcView) {\r\n this.plcGroupView.formattedValue = plcView.title.toString();\r\n this.plcGroupView.value = plcView.id.toString();\r\n }\r\n }\r\n\r\n // Create price list input view models.\r\n this.createPriceListViewModels();\r\n\r\n this.plcGroupView = { ...this.plcGroupView }; \r\n this.cdr.markForCheck();\r\n\r\n });\r\n }\r\n\r\n createPriceListViewModels(): void {\r\n // Create views for the price list.\r\n this.plGroupView = new InputViewModel();\r\n this.plGroupView.title = this.strings.EffectivityPeriod;\r\n this.plGroupView.icon = \"calendar\";\r\n this.plGroupView.iconWidth = \"24px\";\r\n this.plGroupView.iconHeight = \"24px\";\r\n this.plGroupView.labelPosition = Positions.Above;\r\n\r\n this.refreshPriceListItems();\r\n this.cdr.markForCheck();\r\n }\r\n\r\n refreshPriceListItems() {\r\n\r\n // Empty the list.\r\n this.plItemsView = [];\r\n\r\n if (!this.plcGroupView || !this.plcGroupView.value)\r\n return;\r\n\r\n this.message.prices.get(this.plcGroupView.value).forEach(x => {\r\n\r\n let itemView = new InputViewModel(x.value);\r\n itemView.id = x.key.toString();\r\n itemView.title = x.value;\r\n this.plItemsView.push(itemView);\r\n });\r\n\r\n if (this.conf.priceValue) {\r\n let plView = this.viewFactory.setValue(this.plItemsView, String(this.conf.priceValue.priceListId), String(this.conf.priceValue.priceListId));\r\n if (plView) {\r\n this.plGroupView.formattedValue = plView.title.toString();\r\n this.plGroupView.value = plView.id.toString();\r\n }\r\n }\r\n\r\n this.plGroupView = { ...this.plGroupView };\r\n this.cdr.markForCheck();\r\n }\r\n\r\n createCurrencyViewModels(): void {\r\n // Create views for currency\r\n this.currencyGroupView = new InputViewModel();\r\n this.currencyGroupView.title = this.strings.Currency;\r\n this.currencyGroupView.icon = \"dollareuroexchange\";\r\n this.currencyGroupView.iconWidth = \"24px\";\r\n this.currencyGroupView.iconHeight = \"24px\";\r\n this.currencyGroupView.labelPosition = Positions.Above;\r\n this.currencyGroupView.readOnly = !this.conf.authorization.canChangeCurrency;\r\n\r\n // Empty the list\r\n this.currencyItemsView = [];\r\n\r\n // Children\r\n this.message.currencies.forEach(x => {\r\n let itemView = new InputViewModel(x.text);\r\n itemView.title = x.text;\r\n itemView.id = x.longId.toString();\r\n this.currencyItemsView.push(itemView);\r\n });\r\n\r\n if (this.conf.priceValue) {\r\n // TODO: This is the temporary solution We need more refactoring on views.\r\n let currencyView = this.viewFactory.setValue(this.currencyItemsView, String(this.conf.priceValue.currencyId), String(this.conf.priceValue.currencyId));\r\n if (currencyView) {\r\n this.currencyGroupView.formattedValue = currencyView.title.toString();\r\n this.currencyGroupView.value = currencyView.id.toString();\r\n }\r\n }\r\n\r\n this.currencyGroupView = { ...this.currencyGroupView };\r\n this.cdr.markForCheck();\r\n }\r\n\r\n okClick(event: any): void {\r\n\r\n let priceListCategoryId: number = null;\r\n let priceListId: number = null;\r\n let currencyId: number = null;\r\n\r\n if (this.conf.authorization.canChangePriceListCategory)\r\n priceListCategoryId = this.plcGroupView ? parseInt(this.plcGroupView.value) : null;\r\n\r\n if (this.conf.authorization.canChangePriceListCategory)\r\n priceListId = this.plGroupView ? parseInt(this.plGroupView.value) : null;\r\n\r\n if (this.conf.authorization.canChangeCurrency)\r\n currencyId = this.currencyGroupView ? parseInt(this.currencyGroupView.value) : null;\r\n\r\n let requestType = this.confPageSessionService.confUIStore.PageStore.getActiveClientType();\r\n this.configuratorStore.setPriceSetting(this.conf.longId, this.confPageSessionService.confSessionId, priceListCategoryId, priceListId, currencyId, requestType);\r\n }\r\n\r\n onPriceListCategoryChange(event: any) {\r\n\r\n let selectedValue = event.value;\r\n\r\n let categoryKV = this.message.categories.find(x => x.key == selectedValue);\r\n if (categoryKV) {\r\n\r\n let currencyView = this.viewFactory.setValue(this.currencyItemsView, String(categoryKV.value), String(categoryKV.value));\r\n if (currencyView) {\r\n this.currencyGroupView.formattedValue = currencyView.title.toString();\r\n this.currencyGroupView.value = currencyView.id.toString();\r\n\r\n this.refreshPriceListItems();\r\n \r\n if (this.plItemsView && this.plItemsView.length > 0) { \r\n this.updatePriceListUI();\r\n }\r\n }\r\n\r\n // Update the currency in UI\r\n this.currencyGroupView = { ...this.currencyGroupView };\r\n this.cdr.markForCheck();\r\n }\r\n }\r\n\r\n onPriceListChange(event: any) {\r\n\r\n let execute = () => {\r\n let selectedValue = event.value;\r\n this.setPriceListValueByCategory(+this.plcGroupView.value, +selectedValue);\r\n }\r\n\r\n let confInfo = this.configuratorStore.getConfInfo(this.conf.longId, this.confPageSessionService.confSessionId);\r\n if (confInfo.rootId == confInfo.longId) {\r\n execute();\r\n }\r\n else {\r\n\r\n let isLeafNode = confInfo?.children.size == 0;\r\n let isIntermediateNode = confInfo?.children.size > 0 && confInfo.parentId;\r\n\r\n let info: MessageBoxConfig<[number, number]> = >{\r\n headerText: '',\r\n caption: null,\r\n description: isLeafNode ? this.strings.EffectivityMsgWhenChangingLeafLevel : (isIntermediateNode ? this.strings.EffectivityMsgWhenChangingIntermediateLevel : ''),\r\n icon: null\r\n };\r\n\r\n this.confirmEffectiveChangeMessageBox.show(info, () => {\r\n execute();\r\n });\r\n\r\n }\r\n }\r\n\r\n changeEffective(event: any) {\r\n\r\n }\r\n\r\n setPriceListValueByCategory(priceListCategoryId: number, priceListId: number) \r\n {\r\n // Store in cache to retreive the previous selection.\r\n this.cachedSelectedPriceListByCategory.set(priceListCategoryId, priceListId);\r\n }\r\n\r\n updatePriceListUI() {\r\n\r\n let activePlc = this.plcGroupView.value;\r\n\r\n // Default value would be first index.\r\n let selectedPl: number = this.plItemsView.length > 0 ? +this.plItemsView[0].id : null;\r\n\r\n // If previous selection is remembered then restore it\r\n if (this.cachedSelectedPriceListByCategory.has(+activePlc))\r\n selectedPl = this.cachedSelectedPriceListByCategory.get(+activePlc);\r\n\r\n else this.setPriceListValueByCategory(+this.plcGroupView.value, +selectedPl);\r\n \r\n let plItem = this.plItemsView.find(x => +x.id == selectedPl);\r\n if (plItem) {\r\n this.plGroupView.formattedValue = plItem.title;\r\n this.plGroupView.value = plItem.id.toString();\r\n }\r\n\r\n }\r\n\r\n}","\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
1\" class=\"pt-4\">\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Inject, Component, ViewChild, Input, Output, EventEmitter, ElementRef, ChangeDetectorRef } from \"@angular/core\";\r\nimport * as Immutable from 'immutable';\r\nimport { ConfInfo, AttributeInfo, WarningAttributesMessage, PriceReportMessage } from \"../../../shared/models\";\r\nimport { RegularPopupComponent } from \"../../../../shared/components/popup\";\r\nimport { PageActionCreator, PageStore } from \"../../../shared/providers/page\";\r\nimport { RouteRedirector, RouteNames } from \"../../../shared/providers\";\r\nimport { InputViewModel, ValueChangeEventArgs } from \"../../../../shared/components/shared\";\r\nimport { ConfPageSessionService, ConfiguratorStore, PopupIdentifiers, ConfRouteParams, ConfMessageProvider } from \"../../providers\";\r\nimport { AccordionComponent, PopupService } from \"../../../../shared/components\";\r\nimport { AbstractPopupComponent } from \"../../../../shared/components/popup/abstractPopupComponent\";\r\nimport { ClearedPricesMessage } from \"../../../shared/models/responses/messages/clearedPricesMessage\";\r\nimport { ManagedSubscription } from \"../../../../shared\";\r\nimport { ImageSets } from \"../../../../shared/utils\";\r\n\r\n@Component({\r\n selector: 'warning-price-popup',\r\n templateUrl: './warningPricePopupComponent.html'\r\n})\r\nexport class WarningPricePopupComponent extends AbstractPopupComponent {\r\n\r\n public clearedMessage: ClearedPricesMessage;\r\n\r\n public imageSet: string;\r\n \r\n @Output()\r\n onClosed = new EventEmitter();\r\n\r\n protected priceSubscription: ManagedSubscription\r\n\r\n constructor(\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfPageSessionService) public storeSession: ConfPageSessionService, \r\n @Inject(RouteRedirector) public routeRedirector: RouteRedirector,\r\n @Inject(ConfMessageProvider) public confMessageProvider: ConfMessageProvider,\r\n @Inject(PopupService) public popupService: PopupService,\r\n @Inject(PageStore) public pageStore: PageStore,\r\n public cdr: ChangeDetectorRef\r\n ) {\r\n super(cdr, popupService);\r\n }\r\n\r\n ngOnInit() {\r\n this.id = PopupIdentifiers.WarningPricePopup;\r\n this.imageSet = this.getImageSet(ImageSets.PopupHeader);\r\n super.ngOnInit();\r\n }\r\n\r\n public open(tag: any) {\r\n this.clearedMessage = tag.get(0);\r\n this.showInternal(); \r\n }\r\n\r\n public onPopupClosed() {\r\n this.clearedMessage = null;\r\n \r\n super.onPopupClosed();\r\n this.onClosed.emit();\r\n }\r\n\r\n public onOkClick(event) {\r\n\r\n let requestType = this.storeSession.confUIStore.PageStore.getActiveClientType();\r\n this.confStore.getPriceReport(this.storeSession.confSessionId, this.clearedMessage.configurationId, requestType);\r\n\r\n // Price report message\r\n this.priceSubscription = this.confMessageProvider.onMessagesRequest(this.storeSession.confSessionId, PriceReportMessage.name, {\r\n next: (messages: Immutable.List): void => {\r\n\r\n this.popupService.open>(PopupIdentifiers.PriceList, messages);\r\n this.priceSubscription.unsubscribe();\r\n\r\n },\r\n listenNewEventsOnly: true\r\n });\r\n\r\n }\r\n\r\n}","\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{strings.PriceItemValueCleared}}\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
{{entity.key}}
\r\n
{{entity.value}}
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n","import { Inject, Component, ViewChild, Input } from \"@angular/core\";\r\nimport { BaseImmutableValuePopupComponent } from \"../shared/baseImmutableValuePopupComponent\";\r\nimport { AbstractImmutableValueMessage } from \"../../../shared/models/responses/messages/abstractImmutableValueMessage\";\r\nimport { PopupIdentifiers } from \"../../providers\";\r\n\r\n@Component({\r\n selector: 'read-only-popup',\r\n templateUrl: './readOnlyPopupComponent.html'\r\n})\r\nexport class ReadOnlyPopupComponent extends BaseImmutableValuePopupComponent {\r\n\r\n ngOnInit() {\r\n this.popupIdentifier = PopupIdentifiers.ReadOnly;\r\n this.headerText = this.strings.ReadOnlyParameter;\r\n this.caption = this.strings.ValueIsLocked;\r\n this.description = this.strings.TheValueIsLockedDueToTheFollowingRules;\r\n this.icon = \"lock\";\r\n }\r\n \r\n}","\r\n","export * from \"./ruleActions\";\r\nexport * from \"./ruleController\";\r\nexport * from \"./ruleActionCreator\";\r\nexport * from \"./ruleConfirmationPopupComponent\";\r\nexport * from \"./ruleInformationPopupComponent\";","import { Injectable, Inject } from '@angular/core';\r\nimport { Subject, ReplaySubject } from 'rxjs';\r\nimport { Dispatch } from \"redux\";\r\n\r\nimport { AppStore, HttpAction, ActionStatus } from \"../../../shared/state\";\r\nimport { ConfDataResponse } from \"../../../shared/models/responses\";\r\nimport { RuleActions } from \"./ruleActions\"\r\nimport { ConfDataActionCreator } from \"../../../shared/providers/configurationData\";\r\nimport { RuleController } from \"./ruleController\";\r\nimport { ConfDataRequest } from \"../../../shared/models\";\r\n\r\n@Injectable()\r\nexport class RuleActionCreator {\r\n\r\n constructor( \r\n @Inject(AppStore) public appStore: AppStore,\r\n @Inject(RuleController) public ruleController: RuleController,\r\n @Inject(ConfDataActionCreator) public configurationActionCreator: ConfDataActionCreator \r\n ) { }\r\n\r\n\r\n dispatchConfirmRuleExecution = (model: ConfDataRequest) => this.appStore.dispatch(this.confirmRuleExecution(model)) as HttpAction;\r\n confirmRuleExecution(model: ConfDataRequest): HttpAction {\r\n\r\n return this.createHttpAction(\r\n\r\n RuleActions.CONFIRM_RULE_EXECUTION,\r\n\r\n (dispatch, state, callback) => {\r\n\r\n this.ruleController.confirmRuleExecution(model).subscribe((confResponse) => {\r\n\r\n // Dispatch configuration ready/loaded action.\r\n dispatch(this.configurationActionCreator.dispatchConfigurationLoaded(confResponse));\r\n\r\n callback(new ActionStatus(true, confResponse));\r\n })\r\n }\r\n );\r\n }\r\n\r\n public createHttpAction(actionType: any, executeAsync: any, payload?: T): HttpAction {\r\n\r\n let httpAction: HttpAction = {\r\n type: actionType,\r\n executeAsync: executeAsync,\r\n payload: payload\r\n }\r\n\r\n return httpAction;\r\n } \r\n\r\n}","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class RuleActions {\r\n\r\n static CONFIRM_RULE_EXECUTION = \"@CONFIRM_RULE_EXECUTION\";\r\n}","import { Inject, Component, ChangeDetectorRef } from \"@angular/core\";\r\nimport { RuleConfirmationMessage } from \"../../../shared/models/responses/messages\";\r\nimport { RuleInfo, ParamInfo } from \"../../../shared/models/responses\";\r\nimport { RuleActionCreator } from \"./ruleActionCreator\";\r\nimport { AbstractPopupComponent } from \"../../../../shared/components/popup/abstractPopupComponent\";\r\nimport { ConfPageSessionService, PopupIdentifiers } from \"../../providers\";\r\nimport { ConfDataRequest, RuleCommand, ConfResponseFormat, RequestViews } from \"../../../shared/models\";\r\nimport { ModelFactory } from \"../../../shared/providers\";\r\nimport { PopupService } from \"../../../../shared/components\";\r\nimport { GlobalDataStore } from \"../../../shared/providers/globalData\";\r\nimport { ImageSets } from \"../../../../shared/utils\";\r\n\r\n@Component({\r\n selector: 'rule-confirmation-popup',\r\n templateUrl: './ruleConfirmationPopupComponent.html'\r\n})\r\nexport class RuleConfirmationPopupComponent extends AbstractPopupComponent {\r\n\r\n public message: RuleConfirmationMessage;\r\n\r\n public id: string = PopupIdentifiers.RuleConfirm;\r\n\r\n public imageSet: string;\r\n\r\n constructor(\r\n @Inject(RuleActionCreator) public ruleActionCreator: RuleActionCreator,\r\n @Inject(ConfPageSessionService) public confPageSession: ConfPageSessionService,\r\n @Inject(ModelFactory) public modelFactory: ModelFactory,\r\n public globalDataStore: GlobalDataStore,\r\n public popupService: PopupService,\r\n public cdr: ChangeDetectorRef\r\n ) {\r\n super(cdr, popupService);\r\n }\r\n\r\n ngOnInit() {\r\n this.imageSet = this.getImageSet(ImageSets.PopupHeader);\r\n super.ngOnInit();\r\n }\r\n\r\n public open(tag: any) {\r\n this.show(tag);\r\n }\r\n\r\n show(message: RuleConfirmationMessage): void {\r\n this.message = message;\r\n this.showInternal();\r\n }\r\n\r\n getParameterIcon(pInfo: ParamInfo): string {\r\n return pInfo.parameterType.toLowerCase();\r\n }\r\n\r\n getRuleIcon(ruleInfo: RuleInfo): string {\r\n return ruleInfo.ruleType.toLowerCase();\r\n }\r\n\r\n okButtonClicked() {\r\n this.ruleActionCreator.dispatchConfirmRuleExecution(this.createRuleExecutionModel(true));\r\n }\r\n\r\n cancelButtonClicked() {\r\n this.ruleActionCreator.dispatchConfirmRuleExecution(this.createRuleExecutionModel(false));\r\n }\r\n\r\n public createRuleExecutionModel(confirmation: boolean) {\r\n let model = this.modelFactory.createAny(ConfDataRequest.name) as ConfDataRequest;\r\n model.client = RequestViews.Editor;\r\n model.confSessionId = this.confPageSession.confSessionId;\r\n model.rule = this.modelFactory.createRequestOrCommand(RuleCommand.name, { ruleId: this.message.ruleInfo.longId, configurationId: this.message.configurationId, confirmation: confirmation });\r\n model.rule.responseFormat = this.globalDataStore.getConfResponseFormat(RequestViews.Editor);\r\n return model;\r\n }\r\n}","\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

{{strings.RulesWillSetOrTriedToSetValuesBelow}}

\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n
","import { Injectable, Inject } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { ConfDataResponse } from \"../../../shared/models/responses\";\r\nimport { ConfDataController } from \"../../../shared/providers/configurationData\";\r\nimport { ConfDataRequest, ApiResponse } from \"../../../shared/models\";\r\n\r\n@Injectable()\r\nexport class RuleController {\r\n \r\n constructor( \r\n @Inject(ConfDataController) public configuratorController: ConfDataController\r\n ) { }\r\n\r\n /**\r\n * Confirms the execution of the rule\r\n */\r\n public confirmRuleExecution(model: ConfDataRequest): Observable {\r\n return this.configuratorController.getConfigurationData(model);\r\n }\r\n\r\n}","import { Component } from \"@angular/core\";\r\nimport { RuleInformationMessage } from \"../../../shared/models/responses/messages\";\r\nimport { RuleInfo, ParamInfo } from \"../../../shared/models/responses\";\r\nimport { AbstractPopupComponent } from \"../../../../shared/components/popup/abstractPopupComponent\";\r\nimport { PopupIdentifiers } from \"../../providers\";\r\nimport { ImageSets } from \"../../../../shared/utils\";\r\n\r\n@Component({\r\n selector: 'rule-information-popup',\r\n templateUrl: './ruleInformationPopupComponent.html'\r\n})\r\nexport class RuleInformationPopupComponent extends AbstractPopupComponent {\r\n\r\n public messages: RuleInformationMessage[];\r\n\r\n public id: string = PopupIdentifiers.RuleInformation;\r\n\r\n public imageSet: string;\r\n\r\n public open(tag: any) {\r\n this.messages = tag;\r\n this.showInternal();\r\n }\r\n\r\n ngOnInit() {\r\n this.imageSet = this.getImageSet(ImageSets.PopupHeader);\r\n super.ngOnInit();\r\n }\r\n\r\n getParameterIcon(pInfo: ParamInfo): string {\r\n return pInfo.parameterType.toLowerCase();\r\n }\r\n\r\n getRuleIcon(ruleInfo: RuleInfo): string {\r\n return ruleInfo.ruleType.toLowerCase();\r\n }\r\n}","\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

{{strings.RulesSetOrTriedToSetValuesBelow}}

\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n
\r\n
","import { Inject, Component, Input, ViewChild, SimpleChanges } from \"@angular/core\";\r\nimport { AppStore } from \"../../../shared/state\";\r\nimport { AbstractImmutableValueMessage } from \"../../../shared/models/responses/messages/abstractImmutableValueMessage\";\r\nimport { ParamValue, Param } from \"../../../shared/models\";\r\nimport { ParamInfo, RuleInfo } from \"../../../shared/models/responses\";\r\nimport { BaseComponent } from \"../../../shared\";\r\n\r\n@Component({ template: '' })\r\nexport abstract class BaseImmutableValuePopupComponent extends BaseComponent {\r\n\r\n public message: AbstractImmutableValueMessage;\r\n public headerText: string;\r\n public caption: string;\r\n public icon: string;\r\n public description: string;\r\n public popupIdentifier: string;\r\n\r\n}","import { Inject, Component, Input, ViewChild, SimpleChanges } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\"\r\n\r\nimport { AbstractImmutableValueMessage } from \"../../../shared/models/responses/messages/abstractImmutableValueMessage\";\r\nimport { RuleInfo, ParamInfo } from \"../../../shared/models/responses\";\r\nimport { ParamValue, ConfInfo } from \"../../../shared/models\";\r\nimport { BaseComponent } from \"../../../shared\";\r\nimport { AbstractPopupComponent } from \"../../../../shared/components/popup/abstractPopupComponent\";\r\nimport { ImageSets } from \"../../../../shared/utils\";\r\n\r\n@Component({\r\n selector: 'immutable-value-popup',\r\n templateUrl: './immutableValuePopupComponent.html'\r\n})\r\nexport class ImmutableValuePopupComponent extends AbstractPopupComponent {\r\n \r\n public message: AbstractImmutableValueMessage;\r\n\r\n public imageSet: string;\r\n\r\n @Input()\r\n public headerText: string;\r\n\r\n @Input()\r\n public caption: string;\r\n\r\n @Input()\r\n public description: string;\r\n\r\n @Input()\r\n public icon: string; \r\n \r\n public restrictingParent: ConfInfo;\r\n public restrictingChildren: Immutable.List;\r\n\r\n ngOnInit() {\r\n this.imageSet = this.getImageSet(ImageSets.PopupHeader);\r\n super.ngOnInit();\r\n }\r\n\r\n public open(tag: any) {\r\n this.message = tag as AbstractImmutableValueMessage;\r\n this.setupConfRestrictions();\r\n this.showInternal();\r\n }\r\n\r\n getDisplayableParamValues(paramValues: ParamValue[]): ParamValue[] {\r\n let filteredParamValues: ParamValue[] = [];\r\n paramValues.forEach((a) => {\r\n if (a.obsolete)\r\n return;\r\n filteredParamValues.push(a);\r\n });\r\n\r\n return filteredParamValues;\r\n }\r\n\r\n public getParameterIcon(pInfo: ParamInfo): string {\r\n return pInfo.parameterType.toLowerCase();\r\n }\r\n\r\n public getRuleIcon(ruleInfo: RuleInfo): string {\r\n return ruleInfo.ruleType.toLowerCase();\r\n }\r\n\r\n public setupConfRestrictions() {\r\n // Check if prevented by child or parent.\r\n\r\n this.restrictingChildren = null;\r\n this.restrictingParent = null;\r\n\r\n if (this.message.confInfos == null || this.message.confInfos.isEmpty())\r\n return;\r\n\r\n let firstConf = this.message.confInfos.first();\r\n\r\n let restrictedByChild = firstConf.parentId === this.message.configurationId; // TODO is this the correct way?\r\n if (restrictedByChild) {\r\n this.restrictingChildren = this.message.confInfos;\r\n }\r\n else {\r\n this.restrictingParent = firstConf;\r\n }\r\n }\r\n\r\n}","\r\n \r\n
\r\n
\r\n {{caption}}\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n 0 else parameterValue\">\r\n

{{message.paramInfo.title}}.{{message.paramInfo.paramValues.get(0).title}}

\r\n

\r\n {{message.paramInfo.paramValues.get(0).value}}\r\n

\r\n
\r\n \r\n

{{message.paramInfo.title}}

\r\n

\r\n {{message.paramInfo.value}}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n {{description}}\r\n
\r\n
\r\n\r\n \r\n
\r\n\r\n \r\n \r\n
\r\n '+message.paramInfo.title+'', restrictingParent.text)\">\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n '+message.paramInfo.title+'')\">\r\n
\r\n \r\n {{child.text}}\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n
\r\n
","import { Inject, Component, Input, ViewChild, SimpleChanges, ChangeDetectionStrategy } from \"@angular/core\";\r\n\r\nimport { RuleInfo, ParamInfo } from \"../../../shared/models/responses\";\r\nimport { ParamValue, ConfInfo, BoolParam } from \"../../../shared/models\";\r\nimport { BaseComponent } from \"../../../shared\";\r\n\r\n@Component({\r\n selector: 'rule-params-info',\r\n templateUrl: './ruleParamsInfoComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class RuleParamsInfoComponent extends BaseComponent {\r\n \r\n @Input()\r\n public ruleInfo: RuleInfo;\r\n\r\n @Input()\r\n public configurationId: number; \r\n\r\n @Input()\r\n public popupId: string; \r\n\r\n @Input()\r\n public supportNavigation: boolean = true;\r\n\r\n public ruleIcon: string;\r\n public paramIcons: Map;\r\n public paramValueIcons: Map;\r\n public paramValueImageSets: Map;\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n //set the icons\r\n this.ruleIcon = this.getRuleIcon(this.ruleInfo);\r\n\r\n this.paramIcons = new Map();\r\n this.paramValueIcons = new Map();\r\n this.paramValueImageSets = new Map();\r\n\r\n this.ruleInfo.parameterInfos.forEach(pInfo => {\r\n this.paramIcons.set(pInfo.longId, this.getParameterIcon(pInfo));\r\n\r\n if (pInfo.parameterType == BoolParam.name) {\r\n this.paramValueIcons.set(pInfo.longId, pInfo.value == null ? \"\" : pInfo.value == this.strings.Yes ? \"checkmark\" : pInfo.value == this.strings.No ? \"delete\" : \"indeterminate\");\r\n this.paramValueImageSets.set(pInfo.longId, pInfo.value == null ? \"\" : pInfo.value == this.strings.Yes ? \"green\" : pInfo.value == this.strings.No ? \"red\" : \"primary\");\r\n }\r\n\r\n pInfo.paramValues.forEach(b => {\r\n this.paramValueIcons.set(b.longId, b.value == null ? \"\" : b.value == this.strings.Yes ? \"checkmark\" : b.value == this.strings.No ? \"delete\" : \"indeterminate\");\r\n this.paramValueImageSets.set(b.longId, b.value == null ? \"\" : b.value == this.strings.Yes ? \"green\" : b.value == this.strings.No ? \"red\" : \"primary\");\r\n });\r\n });\r\n }\r\n\r\n getDisplayableParamValues(paramValues: ParamValue[]): ParamValue[] {\r\n let filteredParamValues: ParamValue[] = [];\r\n paramValues.forEach((a) => {\r\n if (a.obsolete)\r\n return;\r\n filteredParamValues.push(a);\r\n });\r\n\r\n return filteredParamValues;\r\n }\r\n\r\n public getParameterIcon(pInfo: ParamInfo): string {\r\n return pInfo.parameterType.toLowerCase();\r\n }\r\n\r\n public getRuleIcon(ruleInfo: RuleInfo): string {\r\n return ruleInfo.ruleType.toLowerCase();\r\n }\r\n\r\n}","\r\n\r\n
\r\n \r\n \r\n {{ruleInfo.description ? ruleInfo.description : ruleInfo.title}}\r\n \r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
{{pInfo.title}}
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n {{pInfo.value}}\r\n
\r\n
\r\n
\r\n\r\n
0\">\r\n
\r\n
\r\n \r\n
\r\n
{{paramValue.title}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n
","import { Inject, Component, ViewChild, Input, Output, EventEmitter, ElementRef, ChangeDetectorRef } from \"@angular/core\";\r\nimport * as Immutable from 'immutable';\r\nimport { ConfInfo, AttributeInfo, WarningAttributesMessage } from \"../../../shared/models\";\r\nimport { RegularPopupComponent } from \"../../../../shared/components/popup\";\r\nimport { PageActionCreator, PageStore } from \"../../../shared/providers/page\";\r\nimport { RouteRedirector, RouteNames } from \"../../../shared/providers\";\r\nimport { InputViewModel, ValueChangeEventArgs } from \"../../../../shared/components/shared\";\r\nimport { ConfPageSessionService, ConfiguratorStore, PopupIdentifiers, ConfRouteParams } from \"../../providers\";\r\nimport { AccordionComponent, PopupService } from \"../../../../shared/components\";\r\nimport { AbstractPopupComponent } from \"../../../../shared/components/popup/abstractPopupComponent\";\r\n\r\n@Component({\r\n selector: 'warning-attributes-popup',\r\n templateUrl: './warningAttributesPopupComponent.html'\r\n})\r\nexport class WarningAttributesPopupComponent extends AbstractPopupComponent {\r\n\r\n public values: Array;\r\n \r\n @ViewChild(AccordionComponent)\r\n accordionComponent: AccordionComponent;\r\n\r\n @Output()\r\n onClosed = new EventEmitter();\r\n\r\n constructor(\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfPageSessionService) public storeSession: ConfPageSessionService, \r\n @Inject(RouteRedirector) public routeRedirector: RouteRedirector,\r\n @Inject(PopupService) public popupService: PopupService,\r\n @Inject(PageStore) public pageStore: PageStore,\r\n public cdr: ChangeDetectorRef\r\n ) {\r\n super(cdr, popupService);\r\n }\r\n\r\n ngOnInit() {\r\n this.id = PopupIdentifiers.WarningAttributes;\r\n super.ngOnInit();\r\n }\r\n\r\n public open(tag: any) {\r\n this.setup(tag);\r\n this.showInternal(); \r\n }\r\n\r\n setup(messages: Immutable.List): void {\r\n\r\n this.values = [];\r\n\r\n messages.forEach(message => {\r\n\r\n let warningAttributeModel = new WarningAttributesModel();\r\n warningAttributeModel.conf = this.confStore.getConfInfo(message.configurationId, this.storeSession.confSessionId);\r\n warningAttributeModel.isActiveConf = this.storeSession.activeConfigurationId === message.configurationId;\r\n \r\n message.attributeInfos.forEach((attributeInfo: AttributeInfo) => {\r\n let attributeViewModel = new InputViewModel(attributeInfo.title);\r\n attributeViewModel.icon = \"attribute\";\r\n attributeViewModel.iconHeight = attributeViewModel.iconWidth = \"24px\";\r\n attributeViewModel.value = attributeInfo.value;\r\n warningAttributeModel.attributeViewModels.push(attributeViewModel);\r\n });\r\n\r\n this.values.push(warningAttributeModel);\r\n\r\n });\r\n }\r\n\r\n public onPopupClosed() {\r\n this.values = null;\r\n \r\n super.onPopupClosed();\r\n this.onClosed.emit();\r\n }\r\n\r\n public onAccordionOpen(configurationId: number) {\r\n // Accordion expand will route to the clicked configuration \r\n let params = { id: configurationId, confSessionId: this.storeSession.confSessionId };\r\n if (this.pageStore.activeRouteName === RouteNames.Summary)\r\n this.routeRedirector.redirectToSummary(params);\r\n else\r\n this.routeRedirector.redirectToEditor(params)\r\n }\r\n\r\n public onAccordionToggle($event) { \r\n } \r\n}\r\n\r\nexport class WarningAttributesModel {\r\n conf: ConfInfo;\r\n attributeViewModels: Array = [];\r\n isActiveConf = false;\r\n}","\r\n
\r\n 0\">\r\n \r\n 1\"\r\n (onOpen)=\"onAccordionOpen(value.conf.longId)\"\r\n (onToggle)=\"onAccordionToggle($event)\">\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n","import { Injectable } from '@angular/core';\r\nimport { CanDeactivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\n\r\nimport { ConfPageSessionService } from \"./confPageSessionService\";\r\nimport { ConfiguratorStore } from \"./configuratorStore\";\r\nimport { ConfiguratorComponent } from \"../configuratorComponent\";\r\nimport { Strings } from '../../shared/providers/globalData';\r\n\r\n@Injectable()\r\nexport class ConfDataDeactivateGuard implements CanDeactivate {\r\n\r\n constructor(public confPageSession: ConfPageSessionService, public configuratorStore: ConfiguratorStore, protected strings: Strings) {\r\n }\r\n\r\n canDeactivate(configuratorComponent: ConfiguratorComponent, currentRoute: ActivatedRouteSnapshot, currentState: RouterStateSnapshot, nextState?: RouterStateSnapshot): boolean {\r\n\r\n // If the ConfiguratorSession is closed then it is ok to deactivate\r\n if (this.configuratorStore.isConfiguratorSessionClosed(this.confPageSession.confSessionId))\r\n return true;\r\n\r\n // TODO fix translation and add popup\r\n if (!configuratorComponent.canExitConfigurator) {\r\n\r\n // Mark it for closing. If the user decides to stay on this page then the server will unmark it\r\n this.configuratorStore.markConfSessionForClosing(this.confPageSession.activeConfigurationId, this.confPageSession.confSessionId);\r\n\r\n if (!confirm(this.strings.UnsavedChangesConfirmation))\r\n return false; \r\n }\r\n\r\n return true;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, ActivatedRoute } from '@angular/router';\r\nimport { ConfPageSessionService, ConfRouteParams } from \"./\";\r\nimport { RouteRedirector } from \"../../shared/providers\";\r\nimport { PageStore } from \"../../shared/providers/page\";\r\n\r\n@Injectable()\r\nexport class ConfDataLoadedGuard implements CanActivate {\r\n\r\n constructor(public router: Router, public activeRoute: ActivatedRoute, public confPageSession: ConfPageSessionService, public pageStore: PageStore, public redirector: RouteRedirector) {\r\n }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\r\n\r\n //let paramMap: any = route.firstChild.paramMap;\r\n let params: ConfRouteParams = { ...route.params };\r\n\r\n // Set the current view\r\n params.view = route.url[0].path;\r\n\r\n let loaded: boolean = this.confPageSession.dataLoaded;\r\n\r\n if (loaded && this.pageStore.activeRouteName == params.view)\r\n return true;\r\n \r\n this.redirector.redirectToDataLoaderComponent(params);\r\n\r\n /*else */\r\n\r\n return false;\r\n }\r\n}","import { Inject, Injectable } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\nimport { BaseEntity } from \"../../shared/baseEntity\";\r\nimport {\r\n Conf,\r\n\r\n ConfAttachment, ConfAttributeValue, ConfCodeValue, ConfDocumentValue, ConfGraphicsValue, ConfInfo,\r\n ConfPropertyValue,\r\n ConfReport, ConfUIItem, ConfValue, UIElement\r\n} from \"../../shared/models\";\r\nimport { AbstractConfigurationMessage } from \"../../shared/models/responses/messages\";\r\nimport { ReselectorService } from \"../../shared/providers/reselectorService\";\r\nimport { AppState, ConfSessionData } from \"../../shared/state\";\r\n\r\n\r\n@Injectable()\r\nexport class ConfDataMemorizer {\r\n \r\n constructor(\r\n @Inject(ReselectorService) public reselectorService: ReselectorService \r\n ) {\r\n\r\n }\r\n\r\n /**\r\n * Configuration memorizer \r\n */\r\n public getConfMemorizer(sessionId: number, configurationId: number): () => Conf {\r\n return this.reselectorService.createMemorizer1((state) => {\r\n\r\n if (!this.hasSessionData(sessionId, state))\r\n return;\r\n\r\n return state.configurationData.dataBySessionId.get(sessionId.toString()).entitiesByConfId.get(configurationId)\r\n },\r\n (input) => {\r\n\r\n if (!input)\r\n return;\r\n \r\n return input.get(configurationId) as Conf\r\n });\r\n }\r\n\r\n /**\r\n * All active configurations memorizer \r\n */\r\n public getConfsMemorizer(sessionId: number): () => Conf[] {\r\n return this.reselectorService.createMemorizer1((state) => {\r\n\r\n if (!this.hasSessionData(sessionId, state))\r\n return;\r\n\r\n return state.configurationData.dataBySessionId.get(sessionId.toString()).entitiesByConfId;\r\n },\r\n (input) => {\r\n\r\n if (!input)\r\n return;\r\n\r\n return input.map((v, k) => v.get(k) as Conf).toArray();\r\n });\r\n }\r\n \r\n /**\r\n * Compsite structure memorizer \r\n */\r\n public getCompositeStructureMemorizer(sessionId: number): () => string {\r\n\r\n return this.reselectorService.createMemorizer((state) => {\r\n\r\n let dataBySessionId: Immutable.Map = state.configurationData.dataBySessionId;\r\n\r\n if (!this.hasSessionData(sessionId, state))\r\n return;\r\n\r\n return JSON.stringify(state.configurationData.dataBySessionId.get(sessionId.toString()).compositeStructure.keySeq());\r\n });\r\n\r\n }\r\n\r\n public getCompositeOrderChangeMemorizer(sessionId: number): () => string {\r\n\r\n return this.reselectorService.createMemorizer((state) => {\r\n \r\n if (!this.hasSessionData(sessionId, state))\r\n return;\r\n\r\n let rootId = state.configurationData.dataBySessionId.get(sessionId.toString()).rootConfId;\r\n if (!rootId)\r\n return;\r\n\r\n // System supports one root at this time in composite structure, so only grab the flattened composite Ids for only one root tree.\r\n let compositeStructureIds: Array = this.getFlattenedCompositeStructureIds(state, rootId, sessionId);\r\n\r\n return JSON.stringify(compositeStructureIds);\r\n });\r\n\r\n }\r\n \r\n public hasSessionData(sessionId: number, state: AppState): boolean {\r\n\r\n return state.configurationData.dataBySessionId.has(sessionId.toString());\r\n\r\n }\r\n\r\n /**\r\n * ConfInfo memorizer \r\n */\r\n public getConfInfoMemorizer(sessionId: number, configurationId: number): () => ConfInfo {\r\n\r\n return this.reselectorService.createMemorizer((state) => {\r\n\r\n if (!this.hasSessionData(sessionId, state))\r\n return;\r\n\r\n return state.configurationData.dataBySessionId.get(sessionId.toString()).compositeStructure.get(configurationId);\r\n });\r\n }\r\n\r\n getLookupConfValueMemorizer(confSessionId: number, configurationId: number, lookupParamId: number) {\r\n\r\n return this.reselectorService.createMemorizer((state) => {\r\n\r\n if (!this.hasSessionData(confSessionId, state))\r\n return null;\r\n\r\n let entitiesById: Immutable.Map = state.configurationData.dataBySessionId.get(confSessionId.toString()).entitiesByConfId.get(configurationId);\r\n\r\n // Get configuration.\r\n let conf: Conf = entitiesById.get(configurationId) as Conf;\r\n\r\n let uiItem = this.recursivelyFindConfUIItem(conf.uiItems, lookupParamId);\r\n if (uiItem)\r\n return JSON.stringify(uiItem.items);\r\n\r\n return null;\r\n });\r\n\r\n }\r\n\r\n private recursivelyFindConfUIItem(confUIItems: Immutable.List, longId: number): ConfUIItem {\r\n\r\n for (let i = 0; i < confUIItems.size; i++) {\r\n let confUIItem: ConfUIItem = confUIItems.get(i);\r\n let uiItemName = confUIItem.itemName;\r\n\r\n if (confUIItem.id == longId)\r\n return confUIItem;\r\n \r\n let result = this.recursivelyFindConfUIItem(confUIItem.items, longId);\r\n if (result)\r\n return result; \r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Configuration value memorizer \r\n */\r\n public getConfValueMemorizer(sessionId: number, configurationId: number, confValueId: number, currentValueFunc?: () => any): () => T {\r\n\r\n return this.reselectorService.createMemorizer2((state) => {\r\n\r\n if (!this.hasSessionData(sessionId, state))\r\n return null;\r\n\r\n let entitiesByConfId = state.configurationData.dataBySessionId.get(sessionId.toString()).entitiesByConfId;\r\n\r\n if (!entitiesByConfId.has(+configurationId))\r\n return null;\r\n\r\n return this.getEntity(state, sessionId, configurationId, confValueId);\r\n },\r\n (state) => {\r\n if (currentValueFunc)\r\n return currentValueFunc();\r\n\r\n return null;\r\n },\r\n (state) => state\r\n );\r\n }\r\n\r\n public getConfValuesMemorizer(sessionId: number, configurationId: number): () => Immutable.List {\r\n\r\n return this.reselectorService.createMemorizer((state) => {\r\n\r\n if (!this.hasSessionData(sessionId, state))\r\n return;\r\n\r\n let entitiesByConfId = state.configurationData.dataBySessionId.get(sessionId.toString()).entitiesByConfId;\r\n\r\n if (!entitiesByConfId.has(+configurationId))\r\n return;\r\n\r\n let conf = this.getEntity(state, sessionId, configurationId, configurationId);\r\n\r\n if (!conf.confValues)\r\n return Immutable.List();\r\n\r\n let result: ConfValue[] = [];\r\n conf.confValues.map(id => { this.getEntity(state, sessionId, configurationId, id) }).toArray(); \r\n return Immutable.List(result);\r\n\r\n });\r\n }\r\n\r\n public getConfGraphicsValueMemorizer(sessionId: number, configurationId: number, graphicId: number): () => string {\r\n\r\n return this.reselectorService.createMemorizer((state) => {\r\n\r\n if (!this.hasSessionData(sessionId, state))\r\n return null;\r\n\r\n let entitiesByConfId = state.configurationData.dataBySessionId.get(sessionId.toString()).entitiesByConfId;\r\n\r\n if (!entitiesByConfId.has(+configurationId))\r\n return null;\r\n\r\n let graphicsValue = this.getEntity(state, sessionId, configurationId, graphicId);\r\n\r\n // Remove the GUIDs from the comparison\r\n if (graphicsValue && graphicsValue.svg)\r\n return graphicsValue.svg.replace(/(symbol id|use xlink:href)=\"([^\"]*)\"/g, '');\r\n\r\n return null;\r\n });\r\n }\r\n\r\n public getAttributeValuesMemorizer(sessionId: number, configurationId: number): () => Immutable.List {\r\n\r\n return this.reselectorService.createMemorizer((state) => {\r\n\r\n if (!this.hasSessionData(sessionId, state))\r\n return;\r\n\r\n let entitiesByConfId = state.configurationData.dataBySessionId.get(sessionId.toString()).entitiesByConfId;\r\n\r\n if (!entitiesByConfId.has(+configurationId))\r\n return;\r\n\r\n let conf = this.getEntity(state, sessionId, configurationId, configurationId);\r\n\r\n if (!conf.attributeValues)\r\n return Immutable.List();\r\n\r\n let result: ConfAttributeValue[] = conf.attributeValues.map(id => this.getEntity(state, sessionId, configurationId, id)).toArray();\r\n\r\n return Immutable.List(result);\r\n\r\n });\r\n }\r\n\r\n /**\r\n * Decoration Items memorizer. e.g Attribute items, Code items.\r\n * @param sessionId\r\n * @param configurationId\r\n * @param entityIds\r\n */\r\n public getDecorationItemsMemorizer(sessionId: number, configurationId: number, entityIds: Array): () => Map {\r\n\r\n return this.reselectorService.createMemorizer((state) => {\r\n\r\n if (!this.hasSessionData(sessionId, state))\r\n return;\r\n\r\n let valueByItemId: Map = new Map();\r\n\r\n let confValByEntityId = state.configurationData.dataBySessionId.get(sessionId.toString()).entitiesByConfId.get(configurationId);\r\n\r\n for (let entId of entityIds)\r\n valueByItemId.set(entId, confValByEntityId.get(entId));\r\n\r\n return valueByItemId;\r\n });\r\n\r\n }\r\n\r\n /**\r\n * Configuration properties memorizer \r\n */\r\n getConfPropertyMemorizer(sessionId: number, configurationId: number): () => Immutable.List {\r\n\r\n return this.reselectorService.createMemorizer((state) => {\r\n\r\n if (!this.hasSessionData(sessionId, state))\r\n return null;\r\n\r\n let entitiesById: Immutable.Map = state.configurationData.dataBySessionId.get(sessionId.toString()).entitiesByConfId.get(configurationId);\r\n\r\n // Get configuration.\r\n let conf: Conf = entitiesById.get(configurationId) as Conf;\r\n\r\n return conf.confPropertyValues;\r\n });\r\n\r\n }\r\n\r\n getAttachmentsMemorizer(sessionId: number, configurationId: number): () => Immutable.List {\r\n\r\n return this.reselectorService.createMemorizer((state) => {\r\n\r\n if (!this.hasSessionData(sessionId, state))\r\n return null;\r\n\r\n let entitiesById: Immutable.Map = state.configurationData.dataBySessionId.get(sessionId.toString()).entitiesByConfId.get(configurationId);\r\n\r\n // Get configuration.\r\n let conf: Conf = entitiesById.get(configurationId) as Conf;\r\n\r\n return conf.attachments;\r\n });\r\n\r\n }\r\n\r\n getDocumentValueMemorizer(sessionId: number, configurationId: number): () => Immutable.List {\r\n\r\n return this.reselectorService.createMemorizer((state) => {\r\n\r\n if (!this.hasSessionData(sessionId, state))\r\n return null;\r\n\r\n let entitiesById: Immutable.Map = state.configurationData.dataBySessionId.get(sessionId.toString()).entitiesByConfId.get(configurationId);\r\n\r\n // Get configuration.\r\n let conf: Conf = entitiesById.get(configurationId) as Conf;\r\n\r\n return conf.documentValues;\r\n }, false);\r\n\r\n }\r\n\r\n getCodeValuesMemorizer(sessionId: number, configurationId: number): () => Immutable.List {\r\n\r\n return this.reselectorService.createMemorizer(\r\n (state) => {\r\n\r\n if (!this.hasSessionData(sessionId, state))\r\n return null;\r\n\r\n // Get configuration.\r\n let conf: Conf = this.getEntity(state, sessionId, configurationId, configurationId);\r\n\r\n if (!conf.codeValues)\r\n return null;\r\n\r\n return conf.codeValues.map(id => this.getEntity(state, sessionId, configurationId, id).value).toList();\r\n }, false);\r\n }\r\n\r\n getConfReportsMemorizer(sessionId: number, configurationId: number): () => Immutable.List {\r\n\r\n return this.reselectorService.createMemorizer((state) => {\r\n\r\n if (!this.hasSessionData(sessionId, state))\r\n return null;\r\n\r\n let entitiesById: Immutable.Map = state.configurationData.dataBySessionId.get(sessionId.toString()).entitiesByConfId.get(configurationId);\r\n\r\n // Get configuration.\r\n let conf: Conf = entitiesById.get(configurationId) as Conf;\r\n\r\n return conf.reports;\r\n });\r\n\r\n }\r\n\r\n public getEntity(state: AppState, sessionId: number, configurationId: number, entityId: number): T {\r\n return state.configurationData.dataBySessionId.get(sessionId.toString()).entitiesByConfId.get(+configurationId).get(+entityId) as T;\r\n }\r\n\r\n public getMessagesMemorizer(className: string, sessionId: number, ignoreNull: boolean = true): () => Immutable.List {\r\n\r\n return this.reselectorService.createMemorizer((state) => {\r\n \r\n // Note! Don't listen the messages until configurationData is found. Changing the view (e.g summary -> editor), makes the session data empty\r\n // and system throws the error if components listen the change out of the view's scope..\r\n\r\n if (!sessionId || !state.configurationData.dataBySessionId.has(sessionId.toString()))\r\n return null;\r\n\r\n let messages = state.configurationData.dataBySessionId.get(sessionId.toString()).messages;\r\n if (messages && messages.size > 0)\r\n return messages.get(className) as Immutable.List;\r\n\r\n return null;\r\n }, ignoreNull);\r\n }\r\n\r\n public getFlattenedCompositeStructureIds(state: AppState, rootId: number, confSessionId: number): Array {\r\n\r\n let compositeData: Immutable.Map = state.configurationData.dataBySessionId.get(confSessionId.toString()).compositeStructure;\r\n \r\n // Get root confInfo\r\n let rootConfInfo: ConfInfo = compositeData.get(rootId);\r\n\r\n let confInfoList: Array = [];\r\n\r\n let addConfInfos = (parent: ConfInfo) => {\r\n\r\n parent.children.forEach(childConfId => {\r\n\r\n let childConfInfo: ConfInfo = compositeData.get(childConfId);\r\n confInfoList.push(childConfInfo.longId);\r\n\r\n // Make recursive call.\r\n addConfInfos(childConfInfo);\r\n\r\n });\r\n \r\n }\r\n\r\n confInfoList.push(rootConfInfo.longId);\r\n addConfInfos(rootConfInfo);\r\n\r\n return confInfoList;\r\n }\r\n\r\n/**\r\n * UIElement memorizer\r\n */\r\n public getElementMemorizer(sessionId: number, uiElementId: number): () => UIElement {\r\n\r\n return this.reselectorService.createMemorizer((state) => {\r\n\r\n if (!sessionId || !state.configurationData.dataBySessionId.has(sessionId.toString()))\r\n return null;\r\n\r\n let uiElements = state.configurationData.dataBySessionId.get(sessionId.toString()).uiElements;\r\n if (uiElements && uiElements.size > 0) {\r\n return uiElements.get(uiElementId);\r\n }\r\n\r\n return null;\r\n });\r\n }\r\n\r\n public getElementValueMemorizer(sessionId: number, elementId: number, currentElementFunc?: () => any): () => string {\r\n return this.reselectorService.createMemorizer((state) => {\r\n\r\n if (!sessionId || !state.configurationData.dataBySessionId.has(sessionId.toString()))\r\n return null;\r\n\r\n let uiElements = state.configurationData.dataBySessionId.get(sessionId.toString()).uiElements;\r\n if (uiElements && uiElements.size > 0) {\r\n\r\n let element = uiElements.get(elementId);\r\n\r\n let valueByElementId = state.configurationData.dataBySessionId.get(sessionId.toString()).valueByElementId;\r\n if (valueByElementId && valueByElementId.size > 0) {\r\n // Should not ignore null.\r\n let elementValue = valueByElementId.get(element.id);\r\n if (!elementValue)\r\n return \"\";\r\n }\r\n\r\n }\r\n\r\n return null;\r\n });\r\n }\r\n\r\n}","import { Conf, ApiResponse } from \"../../shared/models\";\r\nimport { RouteNames } from \"../../shared/providers\";\r\n\r\nexport class ConfDataResolveResponse {\r\n\r\n confSessionId: number;\r\n\r\n conf: Conf;\r\n\r\n // Represents the target/next page view.\r\n view: RouteNames\r\n\r\n confData: ApiResponse;\r\n\r\n // Products \r\n productData: Array = [];\r\n\r\n /*\r\n * Reloads the page again with corrected url parameters.\r\n * e.g If child configuration is requested as a main active configuration then system redirects to root configuration.\r\n */\r\n invalidateUrl: boolean = false;\r\n\r\n isFirstLoad: boolean = false;\r\n}","import { Injectable, Inject } from '@angular/core';\r\nimport { Subscription, ReplaySubject } from 'rxjs';\r\n\r\nimport { Conf } from \"../../shared/models\";\r\n\r\nexport class ConfEvent\r\n{\r\n confSessionId: number;\r\n conf: Conf;\r\n}\r\n\r\n@Injectable()\r\nexport class ConfEventService {\r\n\r\n public confSubject: ReplaySubject = new ReplaySubject(1);\r\n\r\n public registerConfChangeListener(callBack: (confEvent: ConfEvent) => void): Subscription {\r\n return this.confSubject.subscribe(callBack);\r\n }\r\n\r\n public triggerConfigurationChange(confSessionId: number, conf: Conf)\r\n {\r\n let event = new ConfEvent();\r\n event.confSessionId = confSessionId;\r\n event.conf = conf;\r\n\r\n this.confSubject.next(event);\r\n }\r\n\r\n public destroy() {\r\n this.confSubject.complete();\r\n }\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport * as Immutable from 'immutable';\r\nimport { Strings } from \"../../shared/providers/globalData\";\r\nimport { DisallowedValueMessage, ReadOnlyParamMessage, ClearedParamMessage, MandatoryParamsMessage, ConfSaveMessage, PriceReportMessage, PriceSettingMessage, RuleConfirmationMessage, RuleInformationMessage, ConfErrorMessage, AbstractImmutableValueMessage, MultiChoiceValue, MultiChoiceParam, Param } from \"../../shared/models\";\r\nimport { ConfMessageProvider } from \"./confMessageProvider\";\r\nimport { NotificationService, NotificationInfo, NotificationType, PopupService, NotificationCell, NotificationRow } from \"../../../shared/components\";\r\nimport { ConfPageSessionService } from \"./confPageSessionService\";\r\nimport { PopupIdentifiers } from \"./popupIdentifiers\";\r\nimport { ParameterMandatoryService } from \"../parameters/shared/parameterMandatoryService\";\r\nimport { ConfiguratorStore } from \"./configuratorStore\";\r\nimport { ManagedSubject } from \"../../../shared/managedSubject\";\r\nimport { ConfiguratorUIStore } from \"./configuratorUIStore\";\r\nimport { PageActionCreator } from \"../../shared/providers/page\";\r\nimport { WarningAttributesMessage, ClearedPricesMessage, DataSelectorKeyDetailMessage } from \"../../shared/models/responses\";\r\nimport { ProductDataStore } from \"../../shared/providers/productData\";\r\n\r\n@Injectable()\r\nexport class ConfMessageHandler {\r\n\r\n public unsubscribeSubject: ManagedSubject = new ManagedSubject(null, true);\r\n\r\n constructor(\r\n @Inject(ConfMessageProvider) public confMessageProvider: ConfMessageProvider,\r\n @Inject(Strings) public strings: Strings,\r\n @Inject(ConfPageSessionService) public confPageSession: ConfPageSessionService,\r\n @Inject(PopupService) public popupService: PopupService,\r\n @Inject(ParameterMandatoryService) public parameterMandatoryService: ParameterMandatoryService,\r\n @Inject(ConfiguratorStore) public configuratorStore: ConfiguratorStore,\r\n @Inject(PageActionCreator) public pageActionCreator: PageActionCreator,\r\n @Inject(NotificationService) public notificationService: NotificationService,\r\n @Inject(ProductDataStore) public productDataStore: ProductDataStore,\r\n\r\n ) {\r\n }\r\n\r\n subscribeMessagesForEditor(): void {\r\n if (!this.confPageSession.confSessionId)\r\n return;\r\n\r\n // Start listening for WarningAttributesMessage\r\n this.listenForWarningAttributesMessages();\r\n\r\n // Disallowed message \r\n this.confMessageProvider.onMessagesRequest(this.confPageSession.confSessionId, DisallowedValueMessage.name,\r\n {\r\n next: (messages: Immutable.List) => {\r\n this.popupService.open(PopupIdentifiers.Disallowed, messages.get(0));\r\n },\r\n listenNewEventsOnly: true\r\n }\r\n ).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n // Read only message\r\n this.confMessageProvider.onMessagesRequest(this.confPageSession.confSessionId, ReadOnlyParamMessage.name, {\r\n next: (messages: Immutable.List) => {\r\n this.popupService.open(PopupIdentifiers.ReadOnly, messages.get(0));\r\n },\r\n listenNewEventsOnly: true\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n this.confMessageProvider.onMessagesRequest(this.confPageSession.confSessionId, ClearedParamMessage.name, {\r\n next: (messages: Immutable.List) => {\r\n this.popupService.open>(PopupIdentifiers.ClearValue, messages);\r\n },\r\n listenNewEventsOnly: true\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n // Price setting message\r\n this.confMessageProvider.onMessagesRequest(this.confPageSession.confSessionId, PriceSettingMessage.name, {\r\n next: (messages: Immutable.List): void => {\r\n this.popupService.open(PopupIdentifiers.PriceSetting, messages.get(0));\r\n },\r\n listenNewEventsOnly: true\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n // Rule confirmation message\r\n this.confMessageProvider.onMessagesRequest(this.confPageSession.confSessionId, RuleConfirmationMessage.name, {\r\n next: (messages: Immutable.List): void => {\r\n this.popupService.open(PopupIdentifiers.RuleConfirm, messages.get(0));\r\n },\r\n listenNewEventsOnly: true\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n // Rule information message\r\n this.confMessageProvider.onMessagesRequest(this.confPageSession.confSessionId, RuleInformationMessage.name, {\r\n next: (messages: Immutable.List): void => {\r\n this.popupService.open>(PopupIdentifiers.RuleInformation, messages);\r\n },\r\n listenNewEventsOnly: true\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n this.confMessageProvider.onMessagesRequest(this.confPageSession.confSessionId, ClearedPricesMessage.name, {\r\n next: (messages: Immutable.List): void => {\r\n this.popupService.open>(PopupIdentifiers.WarningPricePopup, messages);\r\n },\r\n listenNewEventsOnly: true\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n // Listen the message for data select key details\r\n this.confMessageProvider.onMessagesRequest(this.confPageSession.confSessionId, DataSelectorKeyDetailMessage.name, {\r\n listenNewEventsOnly: true, next: (messages: Immutable.List) => {\r\n\r\n let rows: Array=[];\r\n\r\n messages.get(0).details.forEach((value, key) => {\r\n\r\n let baseModel = this.productDataStore.getEntity(parseInt(key));\r\n\r\n let titleCell = new NotificationCell();\r\n\r\n if (baseModel instanceof MultiChoiceValue) {\r\n let multiChoiceValue = baseModel as MultiChoiceValue;\r\n let param = this.productDataStore.getEntity(multiChoiceValue.parameterId) as MultiChoiceParam;\r\n titleCell.message = `${param.title}, ${multiChoiceValue.title}`;\r\n }\r\n else {\r\n let param = baseModel as Param;\r\n titleCell.message = param.title;\r\n }\r\n\r\n let valueCell = new NotificationCell();\r\n\r\n valueCell.message = value;\r\n valueCell.classes = \"notification-value\";\r\n\r\n let row = new NotificationRow();\r\n\r\n row.cells.push(titleCell);\r\n row.cells.push(valueCell);\r\n\r\n rows.push(row);\r\n });\r\n\r\n this.notificationService.notify({\r\n title: this.strings.TheFollowingValuesWereSet,\r\n rows: rows,\r\n type: NotificationType.Info,\r\n identifier: DataSelectorKeyDetailMessage.name,\r\n \r\n selfClose: true,\r\n delay: 10000,\r\n sync: true\r\n });\r\n\r\n }\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n }\r\n\r\n subscribeMessagesForSummary(): void {\r\n // Start listening for WarningAttributesMessage\r\n this.listenForWarningAttributesMessages();\r\n }\r\n\r\n subscribeErrorMessages(): void {\r\n //this.confMessageProvider.onMessagesRequest(this.confPageSession.confSessionId, ErrorMessage.name, (messages: Immutable.List): void => {\r\n // let exception = messages.first();\r\n // this.notificationService.notify({\r\n // title: this.strings.Error,\r\n // message: exception.errorMessage,\r\n // detail: exception.stackTrace,\r\n // type: NotificationType.Error,\r\n // selfClose: false,\r\n // identifier: \"error-message\"\r\n // });\r\n //});\r\n }\r\n\r\n listenForWarningAttributesMessages() {\r\n\r\n // Listen for WarningAttributesMessage and show popup \r\n this.confMessageProvider.onMessagesRequest(this.confPageSession.confSessionId, WarningAttributesMessage.name, {\r\n listenNewEventsOnly: true, \r\n next: (messages) => { \r\n this.popupService.open>(PopupIdentifiers.WarningAttributes, messages);\r\n }\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n }\r\n\r\n onDestroy() {\r\n this.unsubscribeSubject.nextValue(null);\r\n }\r\n\r\n}","import { Injectable, Inject } from '@angular/core';\r\nimport * as Immutable from \"immutable\";\r\n\r\nimport { AbstractConfigurationMessage } from \"../../shared/models/responses/messages\";\r\nimport { ConfDataMemorizer } from \"./confDataMemorizer\";\r\nimport { ManagedSubscription, SubscriptionOptions } from \"../../../shared/managedSubscription\";\r\nimport { ManagedSubject } from \"../../../shared/managedSubject\";\r\nimport { AppStoreSubscriptionManager } from \"../../shared/providers/appStoreSubscriptionManager\";\r\n\r\n@Injectable()\r\nexport class ConfMessageProvider {\r\n\r\n constructor(\r\n public appStoreSubscriptionManager: AppStoreSubscriptionManager,\r\n @Inject(ConfDataMemorizer) public confDatamemorizer: ConfDataMemorizer\r\n ) {\r\n }\r\n\r\n public onMessagesRequest(confSessionId: number, messageClassName: string, subscriptionOptions: SubscriptionOptions>, ignoreNull: boolean = true): ManagedSubscription {\r\n return this.createStoreSubscription>(messageClassName + confSessionId, this.confDatamemorizer.getMessagesMemorizer(messageClassName, confSessionId, ignoreNull), subscriptionOptions);\r\n }\r\n\r\n public createStoreSubscription(identifier: string, memorizer: () => T, subscriptionOptions: SubscriptionOptions): ManagedSubscription {\r\n let managedSubject: ManagedSubject = this.appStoreSubscriptionManager.getOrCreateStoreSubject(identifier, memorizer, false, 1, false);\r\n return managedSubject.subscribe(subscriptionOptions);\r\n }\r\n\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport { ConfiguratorStore } from \"./configuratorStore\";\r\nimport { ConfDataActionCreator } from \"../../shared/providers/configurationData\";\r\nimport { ConfiguratorUIStore } from \"./configuratorUIStore\";\r\nimport { Conf, Product } from \"../../shared/models\";\r\nimport { ConfiguratorPageUIData, PageConfIdentifier } from \"../../shared/state\";\r\nimport { ProductDataStore } from \"../../shared/providers/productData\";\r\n\r\n@Injectable()\r\nexport class ConfPageSessionService {\r\n \r\n public referralLink: string;\r\n public activeRoute: string; \r\n private _showChildrenInAccordionTabs: boolean = false;\r\n \r\n constructor(\r\n @Inject(ConfiguratorUIStore) public confUIStore: ConfiguratorUIStore,\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ProductDataStore) public productStore: ProductDataStore,\r\n @Inject(ConfDataActionCreator) public confActionCreator: ConfDataActionCreator\r\n ) { }\r\n\r\n public get pageId(): number { return this.confUIStore.pageId; }\r\n\r\n public get dataLoaded(): boolean {\r\n\r\n if (!this.pageId)\r\n return false;\r\n\r\n let pageIdentifier: PageConfIdentifier = this.confUIStore.getConfiguratorPageUIState(this.pageId).pageConfIdentifier;\r\n\r\n return pageIdentifier && pageIdentifier.confSessionId != null && pageIdentifier.selectedConfId != null && pageIdentifier.selectedConfId == this.activeConfigurationId;\r\n\r\n }\r\n\r\n public get activeConfigurationId(): number {\r\n this.errorIfPageIdNotInitialized();\r\n\r\n return this.confUIStore.getConfiguratorPageUIState(this.pageId).pageConfIdentifier.selectedConfId;\r\n }\r\n\r\n public get activeConfiguration(): Conf {\r\n let confId: number = this.activeConfigurationId;\r\n\r\n if (!confId)\r\n return null;\r\n\r\n return this.confStore.entity(this.confSessionId, confId, confId);\r\n }\r\n\r\n public get confSessionId(): number {\r\n this.errorIfPageIdNotInitialized();\r\n\r\n return this.confUIStore.getConfiguratorPageUIState(this.pageId).pageConfIdentifier.confSessionId;\r\n }\r\n\r\n public errorIfPageIdNotInitialized(): void {\r\n if (!this.pageId)\r\n throw new Error(\"Page id must be set at the time of page component initialization.\");\r\n }\r\n\r\n public setPageId(pageId: number): void {\r\n this.confUIStore.setPageId(pageId);\r\n }\r\n\r\n public get showChildrenInAccordionTabs(): boolean {\r\n return this.confStore.getConfInfo(this.activeConfiguration.rootId, this.confSessionId)?.showChildrenInAccordionTabs;\r\n }\r\n \r\n\r\n public setChildrenInAccordionTabs(showChildrenInAccordionTabs: boolean) {\r\n this._showChildrenInAccordionTabs = showChildrenInAccordionTabs;\r\n }\r\n\r\n dispose(): void {\r\n this.confUIStore.setPageId(null);\r\n this.setChildrenInAccordionTabs(false);\r\n this.activeRoute = null;\r\n }\r\n\r\n}","import { RouteNames } from \"../../shared/providers\";\r\n\r\nexport class ConfRouteParams {\r\n \r\n public static readonly ID = \"id\";\r\n public static readonly CONF_SESSION_ID = \"confSessionId\";\r\n public static readonly PRODUCT_ID = \"productId\";\r\n public static readonly VIEW = \"view\";\r\n public static readonly REVISE = \"revise\";\r\n public static readonly REUSE = \"reuse\";\r\n public static readonly SUB_CONF_ID = \"subConfId\";\r\n public static readonly CONF_PARAMS = \"confParams\";\r\n public static readonly EXTRA_ARGS = \"extraArgs\";\r\n\r\n // As nullable properties cannot be read, that's why properties names are added into list.\r\n public static readonly ALL_PROPERTIES: string[] =\r\n [\r\n ConfRouteParams.ID,\r\n ConfRouteParams.CONF_SESSION_ID,\r\n ConfRouteParams.PRODUCT_ID,\r\n ConfRouteParams.VIEW,\r\n ConfRouteParams.REVISE,\r\n ConfRouteParams.REUSE,\r\n ConfRouteParams.SUB_CONF_ID,\r\n ConfRouteParams.CONF_PARAMS,\r\n ConfRouteParams.EXTRA_ARGS,\r\n ]\r\n\r\n public id?: number;\r\n public confSessionId?: number;\r\n public subConfId?: number;\r\n public productId?: number;\r\n public view?: RouteNames;\r\n public reuse?: number;\r\n public revise?: number;\r\n public confParams?: Map;\r\n public extraArgs?: Map;\r\n}\r\n\r\n","import { Injectable, Inject } from \"@angular/core\";\r\nimport * as Immutable from 'immutable';\r\nimport { Conf, RequestViews, GetCommand, ConfDataResponse, ApiResponse, ConfInfo, ProductCommand, ProductDataResponse, TabOptions, VisualObjectOptions, CreateCommand, Product } from \"../../shared/models\";\r\nimport { ConfiguratorStore } from \"./configuratorStore\";\r\nimport { ProductDataStore, ProductDataController } from \"../../shared/providers/productData\";\r\nimport { ConfRouteParams } from \"./confRouteParams\";\r\nimport { ConfDataResolveResponse } from \"./confDataResolveResponse\";\r\nimport { PageActionCreator } from \"../../shared/providers/page\";\r\nimport { ConfiguratorUIStore } from \"./configuratorUIStore\";\r\nimport { PageStore } from \"../../shared/providers/page/pageStore\";\r\nimport { ConfDataController } from \"../../shared/providers/configurationData\";\r\nimport { ModelFactory, RouteNames, RouteRedirector } from \"../../shared/providers\";\r\nimport { GlobalDataStore } from \"../../shared/providers/globalData\";\r\nimport { ConfPageSessionService } from \"./confPageSessionService\";\r\nimport { param } from \"jquery\";\r\n\r\n@Injectable()\r\nexport class ConfigurationSessionManager {\r\n\r\n constructor(\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfiguratorUIStore) public confUIStore: ConfiguratorUIStore,\r\n @Inject(PageActionCreator) public pageActionCreator: PageActionCreator,\r\n @Inject(ProductDataStore) public productStore: ProductDataStore,\r\n @Inject(ConfDataController) public controller: ConfDataController,\r\n @Inject(ConfPageSessionService) public confSessionService: ConfPageSessionService, \r\n @Inject(ModelFactory) public modelFactory: ModelFactory,\r\n @Inject(PageStore) public pageStore: PageStore,\r\n @Inject(GlobalDataStore) public globalDataStore: GlobalDataStore,\r\n @Inject(ProductDataController) public productController: ProductDataController,\r\n @Inject(RouteRedirector) public routeRedirector: RouteRedirector\r\n ) { }\r\n\r\n\r\n public async setupLazyLoadingData(params: ConfRouteParams): Promise {\r\n\r\n if (params.id) {\r\n const response = await this.getLoadConfigurationPromise(params);\r\n return await this.getResolvedDataModel(response, params);\r\n }\r\n\r\n if (params.productId) {\r\n const newConfResponse = await this.getCreateConfigurationPromise(params);\r\n return await this.getResolvedDataModel(newConfResponse, params);\r\n }\r\n\r\n // Handle reuse case\r\n if (params.reuse) {\r\n const reuseResponse = await this.getReusePromise(params);\r\n\r\n let confResponse = (reuseResponse.data as ConfDataResponse);\r\n params.confSessionId = confResponse.confSessionId;\r\n params.id = confResponse.rootConfId;\r\n\r\n // Resolve the data.\r\n return await this.getResolvedDataModel(reuseResponse, params);\r\n }\r\n\r\n // Handle revise case\r\n if (params.revise) {\r\n\r\n const reviseResponse = await this.getRevisePromise(params);\r\n\r\n let confResponse = (reviseResponse.data as ConfDataResponse);\r\n params.confSessionId = confResponse.confSessionId;\r\n params.id = confResponse.rootConfId;\r\n\r\n // Resolve the data.\r\n return await this.getResolvedDataModel(reviseResponse, params);\r\n\r\n }\r\n\r\n }\r\n\r\n /**\r\n * Returns the load configuration promise.\r\n * @param pageId\r\n * @param params\r\n */\r\n getLoadConfigurationPromise(params: ConfRouteParams): Promise {\r\n\r\n // Active view must be updated to store\r\n let clientType: RequestViews = this.pageStore.translateRouteToClientType(params.view);\r\n\r\n // Async request, but request Id must be returned. \r\n let model = this.confStore.createRequest(clientType, { confSessionId: params.confSessionId });\r\n model.confSessionId = params.confSessionId;\r\n model.get = this.modelFactory.createRequestOrCommand(GetCommand.name, { configurationId: params.id, extraArgs: Immutable.Map(params.extraArgs) });\r\n model.get.responseFormat = this.globalDataStore.getConfResponseFormat(clientType);\r\n\r\n\r\n return this.controller.getConfigurationData(model).toPromise();\r\n\r\n }\r\n\r\n /**\r\n * Creates configuration promise.\r\n * @param params\r\n */\r\n getCreateConfigurationPromise(params: ConfRouteParams): Promise {\r\n\r\n let model = this.confStore.createRequest(RequestViews.Editor);\r\n model.create = this.modelFactory.createRequestOrCommand(CreateCommand.name, { productId: params.productId, confSessionId: params.confSessionId, confParams: Immutable.Map(params.confParams), extraArgs: Immutable.Map(params.extraArgs) }); \r\n model.create.responseFormat = this.globalDataStore.getConfResponseFormat(RequestViews.Editor);\r\n\r\n if (params.confSessionId)\r\n model.confSessionId = params.confSessionId;\r\n\r\n return this.controller.getConfigurationData(model).toPromise();\r\n \r\n }\r\n\r\n /**\r\n * Creates the promise for reuse.\r\n * @param params\r\n */\r\n getReusePromise(params: ConfRouteParams): Promise {\r\n\r\n let model = this.confStore.createRequest(RequestViews.Editor);\r\n model.get = this.modelFactory.createRequestOrCommand(GetCommand.name, { reuse: true, configurationId: params.reuse, extraArgs: Immutable.Map(params.extraArgs) });\r\n model.get.responseFormat = this.globalDataStore.getConfResponseFormat(RequestViews.Editor);\r\n\r\n return this.controller.getConfigurationData(model).toPromise();\r\n }\r\n\r\n /**\r\n * Creates the promise for revise.\r\n * @param params\r\n */\r\n getRevisePromise(params: ConfRouteParams): Promise {\r\n\r\n let model = this.confStore.createRequest(RequestViews.Editor);\r\n model.get = this.modelFactory.createRequestOrCommand(GetCommand.name, { revise: true, configurationId: params.revise, extraArgs: Immutable.Map(params.extraArgs) });\r\n model.get.responseFormat = this.globalDataStore.getConfResponseFormat(RequestViews.Editor);\r\n\r\n return this.controller.getConfigurationData(model).toPromise();\r\n }\r\n\r\n /**\r\n * Returns the resolver data model which contains configuration and product api response.\r\n * @param apiResponse\r\n * @param params\r\n */\r\n protected getResolvedDataModel(apiResponse: ApiResponse, params: ConfRouteParams): Promise {\r\n\r\n return new Promise((resolve, reject) => {\r\n\r\n let data: ConfDataResolveResponse = new ConfDataResolveResponse();\r\n if (params.productId || params.reuse || params.revise || !params.confSessionId)\r\n data.isFirstLoad = true;\r\n\r\n // Stores all product promises.\r\n let productsPromises: Promise[] = [];\r\n let confResponse = apiResponse.data as ConfDataResponse;\r\n\r\n if (!confResponse || !confResponse.entities || confResponse.entities.size == 0) {\r\n resolve(data);\r\n return;\r\n }\r\n\r\n // In create case, only product id is available, read the confId from response.\r\n if (!params.id)\r\n params.id = confResponse.rootConfId;\r\n\r\n // Requested conf\r\n let conf: Conf = confResponse.entities.get(+params.id).get(+params.id) as Conf;\r\n\r\n // Set values.\r\n data.confData = apiResponse;\r\n data.conf = conf;\r\n data.confSessionId = confResponse.confSessionId;\r\n data.view = params.view;\r\n this.confSessionService.referralLink = confResponse.referralLink;\r\n\r\n let rootConfInfo: ConfInfo = confResponse.confInfos.entities.get(+conf.rootId);\r\n\r\n if (rootConfInfo.showChildrenInAccordionTabs && rootConfInfo.longId != conf.longId && data.view != RouteNames.Summary) {\r\n data.invalidateUrl = true;\r\n resolve(data);\r\n\r\n // Don't need to continue as requested configurationId is not a valid root active configuration.\r\n return;\r\n }\r\n\r\n // Request to load product data. \r\n let productIds = [rootConfInfo.productId];\r\n let activeConfProductId = confResponse.confInfos.entities.get(+params.id)?.productId;\r\n if (activeConfProductId && rootConfInfo.productId != activeConfProductId)\r\n productIds.push(activeConfProductId);\r\n\r\n if (params.subConfId) {\r\n let subConf = confResponse.confInfos.entities.get(+params.subConfId);\r\n if (subConf && productIds.indexOf(activeConfProductId) < 0) {\r\n productIds.push(subConf.productId);\r\n }\r\n }\r\n\r\n // Load requested configuration's product data\r\n productsPromises.push(this.tabsDataResponse(productIds));\r\n \r\n Promise.all(productsPromises).then(responses => { \r\n data.productData = responses;\r\n // Note: We have to set the accordion composite state before data merge with 'Store' to prevent component listenings.\r\n this.setShowChildrenInAccordionTabs(responses, rootConfInfo.productId);\r\n resolve(data)\r\n });\r\n \r\n });\r\n }\r\n\r\n public setShowChildrenInAccordionTabs(responses: any[], productId: number) {\r\n\r\n for (let res of responses) {\r\n\r\n if (res) { \r\n let product = res.data.entities.get(productId);\r\n if (product && product.showChildrenInAccordionTabs) {\r\n this.confSessionService.setChildrenInAccordionTabs(true);\r\n return;\r\n }\r\n\r\n }\r\n\r\n }\r\n }\r\n\r\n public tabsDataResponse(productIds: number[]): Promise {\r\n\r\n // Is data already loaded?.\r\n if (this.isProductDataLoaded(productIds)) {\r\n return new Promise(resolve => resolve(null));\r\n }\r\n\r\n let model = this.productStore.createProductRequestModel();\r\n model.product = this.modelFactory.createRequestOrCommand(ProductCommand.name, { ids: productIds, includeNonEffective: true });\r\n model.product.tab = this.modelFactory.createAny(TabOptions.name, {});\r\n model.product.tab.visualObject = this.modelFactory.createAny(VisualObjectOptions.name, {}); \r\n \r\n return this.productController.getProductData(model).toPromise();\r\n\r\n }\r\n\r\n public isProductDataLoaded(productIds: number[]): boolean {\r\n\r\n let isProductDataLoaded = false;\r\n productIds.forEach(pid => {\r\n\r\n let loaded = this.productStore.productTabsLoaded(pid);\r\n if (!loaded) {\r\n isProductDataLoaded = false;\r\n return;\r\n }\r\n\r\n isProductDataLoaded = true;\r\n });\r\n\r\n return isProductDataLoaded;\r\n }\r\n\r\n}\r\n","import { Injectable, Inject } from \"@angular/core\";\r\nimport { ConfiguratorUIStore } from \"./configuratorUIStore\";\r\nimport { Breakpoints, BreakPointAccessor } from \"../../../shared/utils\";\r\nimport { SizeUtility } from \"../../../shared/components/shared\";\r\nimport { ConfiguratorPageUIData, CompositeUIData } from \"../../shared/state\";\r\nimport { ConfUIData } from \"../../shared/state/shared/confUIData\";\r\nimport { ProductDataStore } from \"../../shared/providers/productData\";\r\nimport { Product, Tab, ConfInfo, VisualObject, RequestViews } from \"../../shared/models\";\r\nimport { Subject } from \"rxjs\";\r\nimport { Observable } from \"rxjs\";\r\nimport { ConfiguratorStore } from \"./configuratorStore\";\r\nimport { GlobalDataStore } from \"../../shared/providers/globalData\";\r\nimport { TabDisplayStyle } from \"../../shared/providers\";\r\nimport { AccountDataStore } from \"../../shared/providers/accountData\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\n\r\n// Normalizes the configurator UI in following ways.\r\n// 1. Composite manager is collapsed by default unless the user has it set to auto sticky,\r\n// 2. Accordion tabs should be sticky by default in large screens.\r\n// 3. Sticky option for composite manager shall only be visible If there is enough room available to accomodate it.\r\n// 4. If there is only room for one side bar (composite or accordion tabs) then Accordion sticky option wins over composite manger and kicks off the composite.\r\n\r\n@Injectable()\r\nexport class ConfiguratorLayoutManager {\r\n\r\n constructor(\r\n @Inject(ConfiguratorUIStore) public confUIStore: ConfiguratorUIStore,\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ProductDataStore) public productStore: ProductDataStore, \r\n @Inject(GlobalDataStore) public globalDataStore: GlobalDataStore,\r\n @Inject(BreakPointAccessor) public breakPointAccessor: BreakPointAccessor,\r\n @Inject(AccountDataStore) private accountDataStore: AccountDataStore,\r\n @Inject(ActivatedRoute) public activatedRoute: ActivatedRoute,\r\n ) {\r\n\r\n }\r\n\r\n\r\n initLayoutSettings(configurationId: number, confSessionId: number, pageId: number): void {\r\n \r\n this.updateCompositeSettings(configurationId, confSessionId, pageId);\r\n this.setDefaultAccordionSettings(pageId, configurationId, confSessionId);\r\n\r\n }\r\n\r\n /**\r\n * Sets the default settings on load.\r\n * @param accordionTabsCount\r\n */\r\n setDefaultAccordionSettings(pageId: number, configurationId: number, confSessionId: number): void {\r\n\r\n // As the behavior of accordion is changed. Now system handles the sticky/unsticky by itself. If there is some room left after rendering the composite, normal tabs and separated\r\n // tabs then we show the accordion otherise It must be collapsed.\r\n \r\n let activeConfInfo: ConfInfo = this.confStore.getConfInfo(configurationId, confSessionId);\r\n\r\n let product: Product = this.productStore.getEntity(activeConfInfo.productId);\r\n let tabs: Tab[] = [];\r\n\r\n if (!product)\r\n return;\r\n\r\n product.tabs.forEach(tabId => { tabs.push(this.productStore.getEntity(tabId)); });\r\n let accordionTabsLength: number = tabs.filter(x => x.displayStyle === \"Accordion\").length;\r\n\r\n let collapseAccordionAtWindowWidth: number = SizeUtility.sizeAsNumber(this.globalDataStore.getGlobalData().uiSettings.configurator.tab.collapseAccordionAtWindowWidth);\r\n if (accordionTabsLength > 0 && collapseAccordionAtWindowWidth) {\r\n // Keep accordion opened until threshold value.\r\n let calcSticky: boolean = window.innerWidth > collapseAccordionAtWindowWidth;\r\n // Set accordion default state, It must be sticky by default. Visibility must be same as calcSticky.\r\n this.confUIStore.updateAccordionUIState(pageId, calcSticky, calcSticky, accordionTabsLength);\r\n return;\r\n }\r\n\r\n let separatedTabs: Tab[] = tabs.filter(x => x.displayStyle === \"Separated\" && (x.separatedTabPosition === 'Left' || x.separatedTabPosition === 'Right'));\r\n let totalWidths: number = 0;\r\n\r\n separatedTabs.forEach(x => {\r\n\r\n totalWidths += x.separatedWidth ? x.separatedWidth : SizeUtility.sizeAsNumber(this.globalDataStore.getGlobalData().uiSettings.configurator.tab.minSeparatedTabWidth);\r\n\r\n });\r\n\r\n let hasNormalTabs: boolean = tabs.filter(x => x.displayStyle === \"Normal\").length > 0;\r\n if (hasNormalTabs)\r\n totalWidths += this.globalDataStore.getGlobalData().globalSettings.minTabWidth;\r\n\r\n let compositeUI: CompositeUIData = this.confUIStore.getConfiguratorPageUIState(pageId).compositeUI;\r\n if (compositeUI && compositeUI.calcSticky != null && compositeUI.calcSticky)\r\n totalWidths += SizeUtility.sizeAsNumber(compositeUI.calcWidth);\r\n\r\n // Add accordion width\r\n totalWidths += SizeUtility.sizeAsNumber(this.globalDataStore.getGlobalData().uiSettings.configurator.tab.minAccordionTabWidth);\r\n let calcSticky: boolean = totalWidths < window.innerWidth;\r\n \r\n // Set accordion default state, It must be sticky by default. Visibility must be same as calcSticky.\r\n this.confUIStore.updateAccordionUIState(pageId, calcSticky, calcSticky, accordionTabsLength);\r\n }\r\n \r\n /**\r\n * Calculates the min width for .\r\n * @param tabs\r\n */\r\n calculateMiniumWidthForTabsManager(configurationId: number, confSessionId: number): number {\r\n\r\n let confInfo: ConfInfo = this.confStore.getConfInfo(configurationId, confSessionId);\r\n let tabs: Tab[] = this.productStore.getLoadedTabs(confInfo.productId);\r\n\r\n // If the normal tabs exist then read the minimum width from global settings.\r\n let normalTabs: Tab[] = tabs.filter(x => x.displayStyle == \"Normal\");\r\n if (normalTabs.length > 0)\r\n return this.globalDataStore.getGlobalData().globalSettings.minTabWidth;\r\n\r\n // If no normal tab then get the width of first separated tab. \r\n let separateTabs: Tab[] = tabs.filter(x => x.displayStyle == \"Separate\");\r\n if (separateTabs.length > 0) {\r\n\r\n if (separateTabs[0].separatedWidth != null && separateTabs[0].separatedWidth > 0)\r\n return separateTabs[0].separatedWidth;\r\n\r\n // Else return the default mininum width for separated tab.\r\n return SizeUtility.sizeAsNumber(this.globalDataStore.getGlobalData().uiSettings.configurator.tab.minSeparatedTabWidth);\r\n\r\n }\r\n }\r\n\r\n updateCompositeSettings(configurationId, confSessionId, pageId, reusePrevSettings: boolean = false): void {\r\n\r\n // Read the active view i.e editor/summary.\r\n let isEditor: boolean = true;\r\n let firstChild = this.activatedRoute.snapshot.firstChild;\r\n if (firstChild && firstChild.params) \r\n isEditor = this.activatedRoute.snapshot.firstChild.params.view == RequestViews.Editor;\r\n\r\n //See the support for composite structure.\r\n let activeConfInfo: ConfInfo = this.confStore.getConfInfo(configurationId, confSessionId);\r\n let rootConfInfo: ConfInfo = this.confStore.getConfInfo(activeConfInfo.rootId, confSessionId);\r\n let hasCompositeProductStructure: boolean = this.productStore.hasCompositeStructure(rootConfInfo.productId);\r\n let showComposite: boolean = isEditor ? hasCompositeProductStructure : hasCompositeProductStructure || rootConfInfo.children.size > 0;\r\n if (!showComposite) {\r\n\r\n // Don't show composite.\r\n this.confUIStore.updateCompositeUIState(pageId, \"0px\", false, false);\r\n return;\r\n\r\n }\r\n\r\n let calcSticky: boolean = this.accountDataStore.getUser().settings.compositeControlSticky;\r\n let visible: boolean = calcSticky;\r\n let sidebarExtended: boolean = false;\r\n\r\n if (reusePrevSettings) {\r\n\r\n // Get previous state If exists otherwise calculate new calcSticky\r\n let prevConfPageData: ConfiguratorPageUIData = this.confUIStore.getConfiguratorPageUIState(pageId);\r\n let composite: CompositeUIData = prevConfPageData.compositeUI;\r\n if (composite && composite.calcSticky != null) {\r\n calcSticky = composite.calcSticky;\r\n visible = composite.visible;\r\n sidebarExtended = composite.sidebarExtended;\r\n }\r\n }\r\n\r\n let compositeCalcWidth: string = `${this.globalDataStore.getGlobalData().globalSettings.compositeSidebarDefaultWidth}px`;\r\n\r\n // Calculate the range where composite would remain sticky.\r\n if (this.accountDataStore.getUser().settings.compositeControlSticky) {\r\n\r\n let minBreakpoint: number = this.globalDataStore.getGlobalData().globalSettings.compositeSidebarCollapseAtWindowWidth;\r\n let maxBreakpoint: number = this.globalDataStore.getGlobalData().globalSettings.compositeSidebarCompressedAtWindowWidth;\r\n\r\n if (window.innerWidth > minBreakpoint && window.innerWidth < maxBreakpoint)\r\n compositeCalcWidth = `${this.globalDataStore.getGlobalData().globalSettings.compositeSidebarCompressedWidth}px`;\r\n\r\n else if (window.innerWidth < minBreakpoint) {\r\n\r\n compositeCalcWidth = \"0px\";\r\n\r\n // Don't toggle visibility if the sidebar is extended in mobile mode after clicking on a menu item of another configuration\r\n visible = sidebarExtended;\r\n calcSticky = false;\r\n\r\n }\r\n\r\n }\r\n else if (window.innerWidth < Breakpoints.sm.min) \r\n compositeCalcWidth = \"100%\";\r\n \r\n this.confUIStore.updateCompositeUIState(pageId, compositeCalcWidth, calcSticky, visible);\r\n \r\n }\r\n\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport * as Immutable from 'immutable';\r\nimport { BaseEntity } from \"../../shared/baseEntity\";\r\nimport { AppStore, AppAction, HttpAction, StoreResponse } from \"../../shared/state\";\r\nimport { ConfDataActionCreator } from \"../../shared/providers/configurationData/confDataActionCreator\";\r\nimport { ConfDataState, ConfSessionData, ActionInfo, RequestStatus } from \"../../shared/state\";\r\nimport { AppStoreSubscriptionManager } from \"../../shared/providers/appStoreSubscriptionManager\";\r\nimport { ConfDataMemorizer } from \"./confDataMemorizer\";\r\nimport { ManagedSubject } from \"../../../shared/managedSubject\";\r\nimport { BaseStore } from \"../../shared/state/baseStore\";\r\nimport {\r\n ConfDataResponse, ConfInfo, Conf, ConfPropertyValue, ConfGraphicsValue,\r\n ConfDocumentValue, ConfValue, ConfBoolValue, ConfDoubleValue, ConfIntValue,\r\n ConfLookupValue, ConfMultiChoiceValue, ConfStringValue, ConfSaveMessage, RequestViews, OrderCommand, ConfResponseFormat, CreateCommand, ConfDeleteCommand, CopyCommand, ConfSessionCommand, GetCommand, UpdateCommand, PriceCommand, ReadOnlyParamCommand, MandatoryParamsCommand, StoredConfResponseFormat, WebSettings, ChangeOwnershipCommand, ApiResponse, ConfAttributeValue, ConfReport, CodeCommand, KeyValue, ImportCommand, ConfCodeValue, FormCommand, ConfUIItem, LookupParam, ContactCommand, UIElement, JavaScriptCommand, EventType\r\n} from \"../../shared/models\";\r\n\r\nimport { ManagedSubscription, SubscriptionOptions } from \"../../../shared/managedSubscription\";\r\nimport { BaseObject } from \"../../../shared/baseObject\";\r\nimport { ConfMessageProvider } from \"./confMessageProvider\";\r\nimport { ConfDataRequest } from \"../../shared/models/requests/confDataRequest\";\r\nimport { ModelFactory } from \"../../shared/providers/modelFactory\";\r\nimport { ConfValueArgument, ConfPropertyValueArgument } from \"../../shared/models/requests/arguments\";\r\nimport { GlobalDataStore } from \"../../shared/providers/globalData\";\r\nimport { ConfRouteParams } from \"./confRouteParams\";\r\nimport { ConfiguratorUIStore } from \"./configuratorUIStore\";\r\nimport { RouteRedirector } from \"../../shared/providers\";\r\nimport { ElementStore } from \"../../shared/providers/elementStore\";\r\nimport { PushMessageSelection } from \"../../shared/providers/pushMessage/pushMessageSelection\";\r\n\r\n@Injectable()\r\nexport class ConfiguratorStore extends BaseStore implements ElementStore {\r\n\r\n constructor(\r\n @Inject(AppStore) public appStore: AppStore,\r\n @Inject(ConfDataActionCreator) public confActionCreator: ConfDataActionCreator,\r\n @Inject(AppStoreSubscriptionManager) public appStoreSubscriptionManager: AppStoreSubscriptionManager,\r\n @Inject(ConfDataMemorizer) public memorizer: ConfDataMemorizer,\r\n @Inject(ConfMessageProvider) public confMessageProvider: ConfMessageProvider,\r\n @Inject(ModelFactory) public modelFactory: ModelFactory,\r\n @Inject(GlobalDataStore) public globalDataStore: GlobalDataStore,\r\n @Inject(RouteRedirector) public routeRredirector: RouteRedirector, \r\n @Inject(ConfiguratorUIStore) public confUIStore: ConfiguratorUIStore\r\n ) {\r\n super(appStore, appStoreSubscriptionManager, modelFactory, confActionCreator);\r\n }\r\n\r\n public createRequest(client?: RequestViews, rawObject?: Partial): ConfDataRequest {\r\n\r\n let request = this.modelFactory.createRequestOrCommand(ConfDataRequest.name, rawObject);\r\n request.client = client;\r\n\r\n request.includeNextStateMandatoryParams = this.confUIStore.includeMandatoryInfo;\r\n\r\n if (this.confUIStore.confParams) {\r\n\r\n if (this.confUIStore.confParams.id)\r\n request.activeConfigurationIds.push(+this.confUIStore.confParams.id);\r\n\r\n if (this.confUIStore.confParams.subConfId)\r\n request.activeConfigurationIds.push(+this.confUIStore.confParams.subConfId);\r\n }\r\n\r\n if (this.confUIStore.includeMandatoryInfo) {\r\n\r\n request.mandatoryParam = this.modelFactory.createRequestOrCommand(MandatoryParamsCommand.name, {});\r\n request.mandatoryParam.includeNextState = this.confUIStore.isNextStateIncluded;\r\n request.mandatoryParam.configurationId = this.confUIStore.confParams.id;\r\n\r\n }\r\n\r\n return request;\r\n }\r\n\r\n public getConfData() {\r\n return this.appStore.getState().configurationData;\r\n }\r\n\r\n public getEditorResponseFormat(): ConfResponseFormat {\r\n return this.globalDataStore.getConfResponseFormat(RequestViews.Editor);\r\n }\r\n\r\n public listenRequestCompletion(requestId: number): ManagedSubject {\r\n return this.appStoreSubscriptionManager.createSubject((appStore) => {\r\n\r\n let actionInfo: ActionInfo = appStore.getActionInfo(requestId);\r\n if (actionInfo.status == RequestStatus.SUCCESS) {\r\n if (actionInfo.payload && actionInfo.payload.data instanceof ConfDataResponse) {\r\n return actionInfo.payload.data;\r\n }\r\n }\r\n return ManagedSubject.IGNORE_VALUE;\r\n }, true);\r\n }\r\n\r\n /**\r\n * Creates a new child configuration.\r\n */\r\n createChildConfiguration(configurationId: number, childProductId: number, sessionId: number, parentTabId?: number): Promise {\r\n\r\n let model = this.createRequest(RequestViews.Editor, { confSessionId: sessionId });\r\n model.create = this.modelFactory.createRequestOrCommand(CreateCommand.name, {\r\n productId: childProductId, configurationId: configurationId,\r\n parentTabId: parentTabId\r\n });\r\n model.create.responseFormat = this.getEditorResponseFormat();\r\n \r\n let requestId: number = this.confActionCreator.dispatchCreateChildConfiguration(model).id;\r\n return this.listenRequestCompletion(requestId).toPromise();\r\n }\r\n\r\n\r\n /**\r\n * CRM Customization\r\n * Creates a new child configuration.\r\n */\r\n createChildConfigurationCorrespondingToCrmQuoteDetail(configurationId: number, childProductId: number, sessionId: number, quoteDetailCrmId: string): Promise {\r\n\r\n let model = this.createRequest(RequestViews.Editor, { confSessionId: sessionId });\r\n\r\n // customized here to add quoteDetailCrmId as extra args\r\n let extraArgs = Immutable.Map();\r\n extraArgs = extraArgs.set('quoteDetailCrmId', quoteDetailCrmId);\r\n\r\n model.create = this.modelFactory.createRequestOrCommand(CreateCommand.name, {\r\n productId: childProductId, configurationId: configurationId, extraArgs: extraArgs\r\n });\r\n model.create.responseFormat = this.getEditorResponseFormat();\r\n\r\n let requestId: number = this.confActionCreator.dispatchCreateChildConfiguration(model).id;\r\n return this.listenRequestCompletion(requestId).toPromise();\r\n }\r\n\r\n\r\n getImportIdentitiesHint(keywords: string, productId: number, confSessionId: number): Promise {\r\n\r\n let model = this.createRequest(RequestViews.Editor, { confSessionId: confSessionId});\r\n model.import = this.modelFactory.createRequestOrCommand(ImportCommand.name, {\r\n\r\n getSuggestionsKeywords: keywords,\r\n getSuggestionsProductId: productId,\r\n getSuggestionsAutoComplete: true\r\n\r\n });\r\n\r\n model.import.responseFormat = this.getEditorResponseFormat();\r\n let requestId: number = this.confActionCreator.dispatchImportIdentitiesHints(model).id;\r\n return this.listenRequestCompletion(requestId).toPromise();\r\n\r\n }\r\n\r\n importConfiguration(activeConfigurationId: number, sourceConfId: number, identity: string, revision: string, sessionId: number): Promise {\r\n\r\n let model = this.createRequest(RequestViews.Editor, { confSessionId: sessionId });\r\n model.import = this.modelFactory.createRequestOrCommand(ImportCommand.name, {\r\n\r\n sourceConfId: sourceConfId,\r\n configurationId: activeConfigurationId,\r\n sourceConfIdentity: identity,\r\n sourceConfRevision: revision\r\n\r\n });\r\n\r\n model.import.responseFormat = this.getEditorResponseFormat();\r\n let requestId: number = this.confActionCreator.dispatchCreateChildConfiguration(model).id;\r\n return this.listenRequestCompletion(requestId).toPromise();\r\n }\r\n \r\n formControlSubmit(activeConfigurationId: number, confSessionId: number, formDecorationId: number, formControlId: number, valuesById: Immutable.Map, view: RequestViews) {\r\n\r\n let model = this.createRequest(view, { confSessionId: confSessionId });\r\n model.form = this.modelFactory.createRequestOrCommand(FormCommand.name, {\r\n\r\n configurationId: activeConfigurationId,\r\n formDecorationId: formDecorationId,\r\n formControlId: formControlId,\r\n valuesById: valuesById\r\n\r\n });\r\n\r\n model.form.responseFormat = this.getEditorResponseFormat();\r\n this.confActionCreator.dispatchCreateDynamicIndexes(model).id;\r\n }\r\n\r\n javaScriptAction(activeConfigurationId: number, confSessionId: number, eventType: EventType, sourceId: number, json: string, view: RequestViews): Promise {\r\n\r\n let model = this.createRequest(view, { confSessionId: confSessionId });\r\n model.javaScript = this.modelFactory.createRequestOrCommand(JavaScriptCommand.name, {\r\n configurationId: activeConfigurationId,\r\n eventType: eventType,\r\n sourceId: sourceId,\r\n json: json\r\n });\r\n\r\n model.javaScript.responseFormat = this.getEditorResponseFormat();\r\n\r\n let requestId: number = this.confActionCreator.dispatchJavaScriptAction(model).id;\r\n return this.listenRequestCompletion(requestId).toPromise(); \r\n }\r\n\r\n moveUpConfiguration(configurationId: number, sessionId: number): Promise {\r\n let model = this.createRequest(RequestViews.Editor, { confSessionId: sessionId });\r\n model.order = this.modelFactory.createRequestOrCommand(OrderCommand.name, { configurationId: configurationId, moveDown: false });\r\n model.order.responseFormat = this.getEditorResponseFormat();\r\n\r\n let requestId: number = this.confActionCreator.dispatchChangeConfigurationsOrder(model).id;\r\n return this.listenRequestCompletion(requestId).toPromise();\r\n }\r\n\r\n moveDownConfiguration(configurationId: number, sessionId: number) {\r\n let model = this.createRequest(RequestViews.Editor, { confSessionId: sessionId });\r\n model.order = this.modelFactory.createRequestOrCommand(OrderCommand.name, { configurationId: configurationId, moveDown: true });\r\n model.order.responseFormat = this.getEditorResponseFormat();\r\n\r\n let requestId: number = this.confActionCreator.dispatchChangeConfigurationsOrder(model).id;\r\n return this.listenRequestCompletion(requestId).toPromise();\r\n }\r\n\r\n deleteConfiguration(configurationId: number, sessionId: number, requestView: RequestViews): Promise {\r\n let model = this.createRequest(RequestViews.Editor, { confSessionId: sessionId });\r\n model.client = requestView;\r\n model.delete = this.modelFactory.createRequestOrCommand(ConfDeleteCommand.name, { configurationId: configurationId });\r\n model.delete.responseFormat = this.getEditorResponseFormat();\r\n\r\n let requestId: number = this.confActionCreator.dispatchDeleteConfiguration(model).id;\r\n return this.listenRequestCompletion(requestId).toPromise();\r\n }\r\n\r\n contact(configurationId: number, sessionId: number, fields: KeyValue[]) {\r\n let model = this.createRequest(RequestViews.Summary, { confSessionId: sessionId });\r\n model.contact = this.modelFactory.createRequestOrCommand(ContactCommand.name, { configurationId: configurationId, fields: fields });\r\n this.confActionCreator.dispatchContact(model).id;\r\n }\r\n\r\n changeOwnership(configurationId: number, sessionId: number, workGroupId: number, applyToAllRevisions: boolean): Promise {\r\n let model = this.createRequest(RequestViews.Summary, { confSessionId: sessionId });\r\n model.changeOwnership = this.modelFactory.createRequestOrCommand(ChangeOwnershipCommand.name, { configurationId: configurationId });\r\n model.changeOwnership.applyToAllRevisions = applyToAllRevisions;\r\n model.changeOwnership.toWorkGroupId = workGroupId;\r\n model.changeOwnership.responseFormat = this.globalDataStore.getConfResponseFormat(RequestViews.Summary);\r\n\r\n let requestId = this.confActionCreator.dispatchChangeOwnership(model).id; \r\n return this.listenRequestCompletion(requestId).toPromise();\r\n }\r\n\r\n requestCopyDestinations(configurationId: number, sessionId: number) {\r\n let model = this.createRequest(RequestViews.Editor, { confSessionId: sessionId });\r\n model.copy = this.modelFactory.createRequestOrCommand(CopyCommand.name, { configurationId: configurationId, getDestinationList: true });\r\n model.copy.responseFormat = this.getEditorResponseFormat();\r\n\r\n this.confActionCreator.dispatchRequestCopyDestinations(model);\r\n }\r\n\r\n copyConfiguration(configurationId: number, destinationId: number, noOfCopies: number, sessionId: number) {\r\n let model = this.createRequest(RequestViews.Editor, { confSessionId: sessionId });\r\n model.copy = this.modelFactory.createRequestOrCommand(CopyCommand.name, { configurationId: configurationId, destinationId: destinationId, noOfCopies: noOfCopies });\r\n model.copy.responseFormat = this.getEditorResponseFormat();\r\n\r\n this.confActionCreator.dispatchCopyConfiguration(model);\r\n }\r\n\r\n saveConfiguration(configurationId: number, confSessionId: number, exitEditing: boolean, anonymousUserEmail?: string, sendEmail?: boolean, updateEmail?: boolean): void {\r\n let model = this.createEmailModel(configurationId, confSessionId, anonymousUserEmail, sendEmail, updateEmail, RequestViews.Editor);\r\n model.session.save = true;\r\n model.session.exitEditing = exitEditing;\r\n model.mandatoryParam = null;\r\n\r\n this.confActionCreator.dispatchSaveConfiguration(model);\r\n }\r\n\r\n closeConfSession(configurationId: number, confSessionId: number) {\r\n\r\n // If ConfiguratorSession is already closed then skip sending request\r\n if (this.isConfiguratorSessionClosed(confSessionId))\r\n return;\r\n\r\n let model = this.createRequest(RequestViews.Editor, { confSessionId: confSessionId });\r\n model.session = this.modelFactory.createRequestOrCommand(ConfSessionCommand.name, { configurationId: configurationId, close: true });\r\n model.session.responseFormat = this.getEditorResponseFormat();\r\n\r\n this.confActionCreator.dispatchCloseConfSession(model);\r\n }\r\n\r\n isConfiguratorSessionClosed(confSessionId: number) {\r\n return this.getConfSessionData(confSessionId).isClosed; \r\n }\r\n\r\n markConfSessionForClosing(configurationId: number, sessionId: number) {\r\n let model = this.createRequest(RequestViews.Editor, { confSessionId: sessionId });\r\n model.session = this.modelFactory.createRequestOrCommand(ConfSessionCommand.name, { configurationId: configurationId, markForClosing: true });\r\n model.session.responseFormat = this.getEditorResponseFormat();\r\n\r\n this.confActionCreator.dispatchMarkConfSessionForClosing(model);\r\n }\r\n\r\n emailConfiguration(configurationId: number, confSessionId: number, anonymousUserEmail: string, sendEmail: boolean): void {\r\n let model = this.createEmailModel(configurationId, confSessionId, anonymousUserEmail, sendEmail, false, RequestViews.Summary);\r\n\r\n this.confActionCreator.dispatchSaveConfiguration(model);\r\n }\r\n\r\n protected createEmailModel(configurationId: number, confSessionId: number, anonymousUserEmail: string, sendEmail: boolean, updateEmail: boolean, view: RequestViews): ConfDataRequest {\r\n let model = this.createRequest(view, { confSessionId: confSessionId });\r\n model.session = this.modelFactory.createRequestOrCommand(ConfSessionCommand.name, { configurationId: configurationId });\r\n model.session.responseFormat = this.getEditorResponseFormat();\r\n\r\n if (sendEmail) {\r\n model.session.email = anonymousUserEmail;\r\n }\r\n\r\n if (updateEmail) {\r\n model.update = this.modelFactory.createRequestOrCommand(UpdateCommand.name, { configurationId: configurationId });\r\n model.update.confPropertyValue = this.modelFactory.createAny(ConfPropertyValueArgument.name, {\r\n propertyName: \"AnonymousUserEmail\",\r\n keyAndValue: this.modelFactory.createAny>(KeyValue.name, { key: anonymousUserEmail })\r\n }); \r\n model.update.responseFormat = this.getEditorResponseFormat();\r\n }\r\n\r\n return model;\r\n }\r\n\r\n public entity(sessionId: number, confId: number, longId: number): T {\r\n let confDataState: ConfDataState = this.appStore.getState().configurationData;\r\n\r\n if (confDataState.dataBySessionId.get(sessionId.toString()).entitiesByConfId.get(+confId))\r\n return confDataState.dataBySessionId.get(sessionId.toString()).entitiesByConfId.get(+confId).get(+longId) as T;\r\n else\r\n return null;\r\n }\r\n\r\n /**\r\n * Creates the new configuration session.\r\n * @param productId\r\n */\r\n createConfiguratorSession(params: ConfRouteParams): Promise {\r\n // Async request, but request Id must be returned. \r\n let model = this.createRequest(RequestViews.Editor);\r\n\r\n model.create = this.modelFactory.createRequestOrCommand(CreateCommand.name, { productId: params.productId, confParams: Immutable.Map(params.confParams), extraArgs: Immutable.Map(params.extraArgs) });\r\n model.create.responseFormat = this.getEditorResponseFormat();\r\n\r\n let requestId: number = this.confActionCreator.dispatchCreateConfiguration(model).id;\r\n\r\n return this.listenRequestCompletion(requestId).toPromise();\r\n }\r\n\r\n confSessionData(confSessionId: number): ConfSessionData {\r\n let confDataState: ConfDataState = this.appStore.getState().configurationData;\r\n return confDataState.dataBySessionId.get(confSessionId.toString());\r\n }\r\n\r\n public hasUnsavedChanges(confSessionId: number): boolean {\r\n let confDataState: ConfDataState = this.appStore.getState().configurationData;\r\n let dataBySession = confDataState.dataBySessionId.get(confSessionId.toString());\r\n return dataBySession && dataBySession.hasUnsavedChanges;\r\n }\r\n\r\n public getConfInfo(confId: number, confSessionId: number): ConfInfo {\r\n return this.confSessionData(confSessionId).compositeStructure.get(confId);\r\n }\r\n\r\n public getElement(elementId: number, sessionId: number): UIElement {\r\n return this.confSessionData(sessionId).uiElements.get(elementId);\r\n }\r\n\r\n public getElementValue(id: string, sessionId: number) {\r\n let valuesBySessionId = this.getElementValuesById(sessionId);\r\n\r\n if (valuesBySessionId) {\r\n let value = valuesBySessionId.get(id);\r\n\r\n // If value was found return it.\r\n if (value) {\r\n return value;\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n onElementChange(sessionId: number, elementId: number, callback: (uiElement: UIElement) => void, currentValueFunc?: () => any): ManagedSubscription {\r\n\r\n let memorizer: () => UIElement = this.memorizer.getElementMemorizer(sessionId, elementId);\r\n let identifier = `onConfElementChange_${sessionId}_${elementId}`;\r\n\r\n if (currentValueFunc)\r\n identifier += \"_match_current_value\";\r\n\r\n return this.createStoreSubscription(identifier, memorizer, callback);\r\n }\r\n\r\n onElementValueChange(sessionId: number, elementId: number, callback: (value: string) => void, currentValueFunc?: () => any): ManagedSubscription {\r\n let memorizer: () => string = this.memorizer.getElementValueMemorizer(sessionId, elementId, currentValueFunc);\r\n\r\n let identifier = `onConfElementValueChange_${sessionId}_${elementId}`;\r\n\r\n if (currentValueFunc)\r\n identifier += \"_match_current_value\";\r\n\r\n return this.createStoreSubscription(identifier, memorizer, callback);\r\n }\r\n\r\n public getElements(sessionId: number): Immutable.Map {\r\n return this.confSessionData(sessionId).uiElements;\r\n }\r\n\r\n public getElementValuesById(confSessionId: number): Immutable.Map {\r\n return this.confSessionData(confSessionId).valueByElementId;\r\n }\r\n\r\n public setElementValue(pushMessageSelection: PushMessageSelection) {\r\n this.confActionCreator.dispatchValueChanged(pushMessageSelection);\r\n }\r\n\r\n public getChildConfInfos(parentId: number, confSessionId: number): ConfInfo[] {\r\n\r\n if (!parentId)\r\n return [];\r\n\r\n let infos: ConfInfo[] = [];\r\n\r\n // Get parent ConfInfo to see its children.\r\n let compositeStructure = this.confSessionData(confSessionId).compositeStructure;\r\n let parentConfInfo: ConfInfo = compositeStructure.get(parentId);\r\n\r\n if (!parentConfInfo)\r\n return [];\r\n\r\n // Add all children infos.\r\n parentConfInfo.children.forEach(resultId => infos.push(compositeStructure.get(resultId)));\r\n\r\n return infos;\r\n }\r\n\r\n onCompositeStructureChange(confSessionId: number, subscriptionOptions: SubscriptionOptions, oneTime: boolean = false): ManagedSubscription {\r\n let memorizer: () => string = this.memorizer.getCompositeStructureMemorizer(confSessionId);\r\n return this.createStoreSubscription(`onCompositeStructureChange_${confSessionId}`, memorizer, subscriptionOptions, oneTime);\r\n }\r\n\r\n onCompositeOrderChange(confSessionId: number, callback: () => void): ManagedSubscription {\r\n let memorizer: () => string = this.memorizer.getCompositeOrderChangeMemorizer(confSessionId);\r\n return this.createStoreSubscription(`onCompositeOrderChange_${confSessionId}`, memorizer, callback);\r\n }\r\n\r\n onConfInfoChange(configurationId: number, confSessionId: number, callback: (conf: ConfInfo) => void): ManagedSubscription {\r\n let memorizer: () => ConfInfo = this.memorizer.getConfInfoMemorizer(confSessionId, configurationId);\r\n return this.createStoreSubscription(`onConfInfoChange_${confSessionId}_${configurationId}`, memorizer, callback);\r\n }\r\n\r\n public createStoreSubscription(identifier: string, memorizer: () => T, subscriptionOptions: SubscriptionOptions, oneTime: boolean = false): ManagedSubscription {\r\n\r\n let managedSubject: ManagedSubject = this.appStoreSubscriptionManager.getOrCreateStoreSubject(identifier, memorizer, oneTime, 1, true);\r\n return managedSubject.subscribe(subscriptionOptions);\r\n }\r\n\r\n /**\r\n * Reuses the configuration.\r\n * @param configurationId\r\n */\r\n reuseConfiguration(params: ConfRouteParams): Promise {\r\n let model = this.createRequest(RequestViews.Editor);\r\n model.get = this.modelFactory.createRequestOrCommand(GetCommand.name, { reuse: true, configurationId: params.reuse, extraArgs: Immutable.Map(params.extraArgs) });\r\n model.get.responseFormat = this.getEditorResponseFormat();\r\n\r\n // Async request, but request Id must be returned.\r\n let requestId: number = this.confActionCreator.dispatchReuseConfiguration(model).id;\r\n\r\n return this.listenRequestCompletion(requestId).toPromise();\r\n }\r\n\r\n /**\r\n * Revises the configuration.\r\n * @param configurationId\r\n */\r\n reviseConfiguration(params: ConfRouteParams): Promise {\r\n let model = this.createRequest(RequestViews.Editor);\r\n model.get = this.modelFactory.createRequestOrCommand(GetCommand.name, { revise: true, configurationId: params.revise, extraArgs: Immutable.Map(params.extraArgs) });\r\n model.get.responseFormat = this.getEditorResponseFormat();\r\n\r\n // Async request, but request Id must be returned. \r\n let requestId: number = this.confActionCreator.dispatchReviseConfiguration(model).id;\r\n\r\n return this.listenRequestCompletion(requestId).toPromise();\r\n }\r\n\r\n /**\r\n * Triggers on configuration change.\r\n * @param configurationId\r\n * @param callback\r\n */\r\n onConfigurationChange(configurationId: number, confSessionId: number, callback: (conf: Conf) => void): ManagedSubscription {\r\n let memorizer: () => Conf = this.memorizer.getConfMemorizer(confSessionId, configurationId);\r\n\r\n return this.createStoreSubscription(`onConfigurationChange_${confSessionId}_${configurationId}`, memorizer, callback);\r\n }\r\n\r\n /**\r\n * Triggers on configurations change. \r\n * @param callback\r\n */\r\n onConfigurationsChange(confSessionId: number, callback: (confs: Array) => void): ManagedSubscription {\r\n let memorizer: () => Conf[] = this.memorizer.getConfsMemorizer(confSessionId);\r\n\r\n return this.createStoreSubscription(`onConfigurationsChange_${confSessionId}`, memorizer, callback);\r\n }\r\n\r\n onConfReportsChange(configurationId: number, confSessionId: number, callback: (reports: Immutable.List) => void): ManagedSubscription {\r\n\r\n return this.createStoreSubscription>(`onConfigurationReportsChange_${confSessionId}_${configurationId}`, this.memorizer.getConfReportsMemorizer(confSessionId, configurationId), callback);\r\n\r\n }\r\n\r\n /**\r\n * Triggers on configuration value change.\r\n * @param configurationId\r\n * @param confValueId\r\n * @param callback\r\n */\r\n onConfigurationValueChange(configurationId: number, confSessionId: number, confValueId: number, callback: (confValue: T) => void, currentValueFunc?: () => any): ManagedSubscription {\r\n let identifier = `${confSessionId}_${configurationId}_${confValueId}`;\r\n\r\n if (currentValueFunc)\r\n identifier += \"_match_current_value\";\r\n\r\n return this.createStoreSubscription(identifier, this.memorizer.getConfValueMemorizer(confSessionId, configurationId, confValueId, currentValueFunc), callback);\r\n }\r\n\r\n /**\r\n * Triggers on configuration value change.\r\n * @param configurationId\r\n * @param confValueId\r\n * @param callback\r\n */\r\n onLookupConfValueVisibilityChange(configurationId: number, confSessionId: number, loopupParamId: number, callback: (uiItems: string) => void): ManagedSubscription {\r\n let identifier = `${confSessionId}_${configurationId}_${loopupParamId}_visibility`;\r\n\r\n let memorizer = this.memorizer.getLookupConfValueMemorizer(confSessionId, configurationId, loopupParamId);\r\n return this.createStoreSubscription(identifier, memorizer, callback);\r\n } \r\n\r\n /**\r\n * Triggers when any configuration values is changed\r\n * @param configurationId\r\n * @param confSessionId\r\n * @param callback \r\n */\r\n onConfigurationValuesChange(configurationId: number, confSessionId: number, callback: (confValues: Immutable.List) => void): ManagedSubscription {\r\n let identifier = `${confSessionId}_${configurationId}_confValues`;\r\n\r\n return this.createStoreSubscription>(identifier, this.memorizer.getConfValuesMemorizer(confSessionId, configurationId), callback);\r\n }\r\n\r\n /**\r\n * Triggers when any configuration attribute values is changed\r\n * @param configurationId\r\n * @param confSessionId\r\n * @param callback \r\n */\r\n onConfigurationAttributeValuesChange(configurationId: number, confSessionId: number, callback: (confValues: Immutable.List) => void): ManagedSubscription {\r\n let identifier = `${confSessionId}_${configurationId}_attributeValues`;\r\n \r\n return this.createStoreSubscription>(identifier, this.memorizer.getAttributeValuesMemorizer(confSessionId, configurationId), callback);\r\n }\r\n\r\n onConfPropertyValuesChange(configurationId: number, confSessionId: number, callback: (propValues: Immutable.List) => void): ManagedSubscription {\r\n let identifier = `${confSessionId}_${configurationId}_configurationProperties`;\r\n\r\n return this.createStoreSubscription>(identifier, this.memorizer.getConfPropertyMemorizer(confSessionId, configurationId), callback);\r\n }\r\n\r\n onConfDecorationValueChange(configurationId: number, confSessionId: number, entityId: number, callback: (decorationItemValue: T) => void): ManagedSubscription {\r\n return this.onConfigurationValueChange(configurationId, confSessionId, entityId, callback);\r\n }\r\n\r\n onConfDecorationValuesChange(configurationId: number, confSessionId: number, decorationId: number, entryIds: Array, callback: (decorationItemValue: Map) => void): ManagedSubscription {\r\n //TODO can cause problem\r\n let identifier = `${confSessionId}_${configurationId}_${decorationId}_values`;\r\n return this.createStoreSubscription>(identifier, this.memorizer.getDecorationItemsMemorizer(confSessionId, configurationId, entryIds), callback);\r\n }\r\n\r\n onConfGraphicValueChange(configurationId: number, confSessionId: number, graphicId: number, callback: (graphicValue: string) => void): ManagedSubscription {\r\n let identifier = `${confSessionId}_${configurationId}_${graphicId}`;\r\n return this.createStoreSubscription(identifier, this.memorizer.getConfGraphicsValueMemorizer(confSessionId, configurationId, graphicId), callback);\r\n }\r\n\r\n onConfDocumentValuesChange(configurationId: number, confSessionId: number, decorationId: number, callback: (documentValueList: Immutable.List) => void): ManagedSubscription {\r\n let identifier = `${confSessionId}_${configurationId}_${decorationId}`;\r\n return this.createStoreSubscription>(identifier, this.memorizer.getDocumentValueMemorizer(confSessionId, configurationId), callback);\r\n }\r\n\r\n onConfCodeValuesChange(configurationId: number, confSessionId: number, callback: (codeValueList: Immutable.List) => void): ManagedSubscription {\r\n let identifier = `${confSessionId}_${configurationId}`;\r\n return this.createStoreSubscription>(identifier, this.memorizer.getCodeValuesMemorizer(confSessionId, configurationId), callback);\r\n }\r\n\r\n public getConf(confId: number, confSessionId: number): Conf {\r\n return this.getConfDataEntity(confId, confSessionId, confId);\r\n }\r\n\r\n public loadConf(confId: number, confSessionId: number, clientType: RequestViews, isMandatoryOpened: boolean = false): Promise {\r\n \r\n let request = this.createRequest(clientType, { confSessionId: confSessionId }); \r\n request.get = this.modelFactory.createRequestOrCommand(GetCommand.name, { configurationId: +confId }); \r\n request.get.responseFormat = this.globalDataStore.getConfResponseFormat(clientType, false);\r\n\r\n if (this.confUIStore.includeMandatoryInfo) {\r\n\r\n request.mandatoryParam = this.modelFactory.createRequestOrCommand(MandatoryParamsCommand.name, {});\r\n request.mandatoryParam.configurationId = confId;\r\n request.mandatoryParam.includeNextState = this.confUIStore.isNextStateIncluded;\r\n\r\n }\r\n\r\n // Async request, but request Id must be returned.\r\n let requestId: number = this.confActionCreator.dispatchGetConfiguration(request).id;\r\n\r\n return this.listenRequestCompletion(requestId).toPromise();\r\n\r\n }\r\n\r\n public getConfValue(confId: number, confSessionId: number, entityId: number): BaseEntity {\r\n return this.getConfDataEntity(confId, confSessionId, entityId);\r\n }\r\n\r\n public getConfValues(confId: number, confSessionId: number, itemIds: Array): Map {\r\n let valById: Map = new Map();\r\n for (let id of itemIds)\r\n valById.set(id, this.getConfValue(confId, confSessionId, id) as T);\r\n\r\n return valById;\r\n }\r\n\r\n public getConfDataEntity(confId: number, confSessionId: number, longId: number): T {\r\n return this.entity(confSessionId, confId, longId);\r\n }\r\n\r\n getConfPropertyValue(confId: number, confSessionId: number, propertyName: string): ConfPropertyValue {\r\n return this.getConf(confId, confSessionId).confPropertyValues.find((value) => value.propertyName == propertyName);\r\n }\r\n\r\n public setConfValue(confValue: ConfValue, confSessionId: number, value: any, includeMandatoryInfo: boolean, includeNextState: boolean, paramValueId?: number): void {\r\n\r\n let configurationId = confValue.configurationId;\r\n let confValueLongId = confValue.longId;\r\n\r\n let model = this.createRequest(RequestViews.Editor, { confSessionId: confSessionId });\r\n model.update = this.modelFactory.createRequestOrCommand(UpdateCommand.name, { configurationId: configurationId });\r\n model.update.confValue = this.modelFactory.createAny(ConfValueArgument.name, { longId: confValueLongId });\r\n model.update.responseFormat = this.getEditorResponseFormat();\r\n\r\n // For BoolParam or MultiChoiceValue try the next possible value if the value to be set is not allowed\r\n model.update.tryNextPossibleValue = confValue instanceof ConfBoolValue || confValue instanceof ConfMultiChoiceValue;\r\n\r\n model.confSessionId = confSessionId;\r\n\r\n if (value && value.length != 0) \r\n model.update.confValue.value = value;\r\n\r\n if (includeMandatoryInfo)\r\n model = this.getMandatoryModel(model, configurationId, includeNextState);\r\n\r\n if (confValue instanceof ConfBoolValue || confValue instanceof ConfDoubleValue || confValue instanceof ConfIntValue || confValue instanceof ConfLookupValue) {\r\n this.confActionCreator.dispatchSetConfigurationPrimitiveValue(model);\r\n }\r\n else if (confValue instanceof ConfMultiChoiceValue) {\r\n let valueParam: any;\r\n if (value && value.length != 0)\r\n valueParam = [{ value: value, longId: paramValueId }]\r\n else\r\n valueParam = [{ longId: paramValueId }]\r\n\r\n model.update.confValue = this.modelFactory.createAny(ConfValueArgument.name, { longId: confValue.longId, value: valueParam });\r\n\r\n this.confActionCreator.dispatchSetConfigurationMultiSetValue(model);\r\n }\r\n else if (confValue instanceof ConfStringValue) {\r\n this.confActionCreator.dispatchSetConfigurationStringValue(model);\r\n }\r\n }\r\n\r\n public setConfPropertyValue(confId: number, confSessionId: number, confPropertyValue: ConfPropertyValue, key: any): void {\r\n let model = this.createRequest(RequestViews.Editor, { confSessionId: confSessionId });\r\n\r\n model.update = this.modelFactory.createRequestOrCommand(UpdateCommand.name, { configurationId: confId });\r\n model.update.confPropertyValue = this.modelFactory.createAny(ConfPropertyValueArgument.name, {\r\n propertyName: confPropertyValue.propertyName,\r\n keyAndValue: this.modelFactory.createAny>(KeyValue.name)\r\n });\r\n model.update.responseFormat = this.getEditorResponseFormat();\r\n model.confSessionId = confSessionId\r\n\r\n if (key && key.length > 0)\r\n model.update.confPropertyValue.keyAndValue.key = key;\r\n\r\n this.confActionCreator.dispatchSetConfigurationPropertyValue(model);\r\n }\r\n\r\n public getRootConfInfo(confSessionId: number): ConfInfo {\r\n \r\n // Add all root configuration infos.\r\n let sessionData = this.confSessionData(confSessionId);\r\n return sessionData.compositeStructure.get(sessionData.rootConfId); \r\n }\r\n\r\n \r\n public getCodeFile(confSessionId: number, confId: number, codeFileId: number, client: RequestViews): HttpAction {\r\n\r\n let model = this.createRequest(client, { confSessionId: confSessionId }); \r\n model.code = this.modelFactory.createRequestOrCommand(CodeCommand.name, { codeFileId: codeFileId, configurationId: confId });\r\n\r\n return this.confActionCreator.dispatchGetCodeFile(model);\r\n }\r\n\r\n public getPriceReport(confSessionId: number, confId: number, requestType: RequestViews, isStored: boolean = false): HttpAction { \r\n let model = this.createRequest(requestType, { confSessionId: confSessionId });\r\n model.confSessionId = confSessionId;\r\n model.price = this.modelFactory.createRequestOrCommand(PriceCommand.name,\r\n {\r\n getPriceReport: !isStored,\r\n getStoredPriceReport: isStored,\r\n configurationId: confId\r\n });\r\n\r\n return this.confActionCreator.dispatchGetPriceReport(model);\r\n }\r\n\r\n public updatePriceReport(confSessionId: number, activeConfId: number, reportConfId: number, requestType: RequestViews, manualPriceValues?: Immutable.List>): HttpAction {\r\n\r\n let model: ConfDataRequest = this.createRequest(requestType, { confSessionId: confSessionId });\r\n model.confSessionId = confSessionId;\r\n model.price = this.modelFactory.createRequestOrCommand(PriceCommand.name,\r\n {\r\n getPriceReport: true, \r\n getStoredPriceReport: false,\r\n manualPriceValues: manualPriceValues,\r\n configurationId: reportConfId\r\n });\r\n\r\n model.get = this.modelFactory.createRequestOrCommand(GetCommand.name);\r\n model.get.configurationId = activeConfId; \r\n model.get.responseFormat = this.getEditorResponseFormat();\r\n model.get.responseFormat.price = true;\r\n\r\n return this.confActionCreator.dispatchGetPriceReport(model);\r\n \r\n }\r\n\r\n public getPriceSetting(confSessionId: number, confId: number, requestType: RequestViews) { \r\n let model = this.createRequest(requestType, { confSessionId: confSessionId });\r\n model.confSessionId = confSessionId;\r\n model.price = this.modelFactory.createRequestOrCommand(PriceCommand.name, { getPriceSetting: true, configurationId: confId });\r\n\r\n return this.confActionCreator.dispatchGetPriceSetting(model);\r\n }\r\n\r\n setPriceSetting(confId: number, confSessionId: number, priceListCategoryId?: number, priceListId?: number, currencyId?: number, requestType?: RequestViews): void { \r\n let model = this.createRequest(requestType, { confSessionId: confSessionId });\r\n model.confSessionId = confSessionId;\r\n model.price = this.modelFactory.createRequestOrCommand(PriceCommand.name, { configurationId: confId });\r\n model.price.responseFormat = this.globalDataStore.getConfResponseFormat(requestType);\r\n\r\n if (priceListCategoryId)\r\n model.price.setPriceListCategory = priceListCategoryId;\r\n\r\n if (priceListId)\r\n model.price.setPriceList = priceListId;\r\n\r\n if (currencyId)\r\n model.price.setCurrency = currencyId;\r\n\r\n this.confActionCreator.dispatchSetPriceSetting(model);\r\n }\r\n\r\n public getReadOnlyInfo(confId: number, confSessionId: number, confValue: ConfValue, paramValueId?: number) {\r\n let model = this.createRequest(RequestViews.Editor, { confSessionId: confSessionId }); \r\n model.readOnly = this.modelFactory.createRequestOrCommand(ReadOnlyParamCommand.name, { confValueId: confValue.longId, configurationId: confId });\r\n\r\n if (paramValueId)\r\n model.readOnly.paramValueId = paramValueId;\r\n\r\n return this.confActionCreator.dispatchGetReadOnlyInfo(model);\r\n }\r\n\r\n public getMandatoryModel(model: ConfDataRequest, confId: number, includeNextState: boolean): ConfDataRequest {\r\n model.mandatoryParam = this.modelFactory.createRequestOrCommand(MandatoryParamsCommand.name, { configurationId: confId });\r\n model.mandatoryParam.includeNextState = includeNextState;\r\n return model;\r\n }\r\n\r\n public getMandatoryInfo(confId: number, confSessionId: number, includeNextState: boolean, view: RequestViews): void {\r\n let model = this.createRequest(view, { confSessionId: confSessionId });\r\n model.confSessionId = confSessionId;\r\n model = this.getMandatoryModel(model, confId, includeNextState);\r\n this.confActionCreator.dispatchGetMandatoryInfo(model);\r\n }\r\n\r\n public getConfSessionData(confSessionId: number) {\r\n return this.getConfData().dataBySessionId.get(confSessionId.toString());\r\n }\r\n\r\n public getConfSessionIds(rootConfigurationId: number) {\r\n\r\n let confSessionIds: number[] = [];\r\n\r\n this.getConfData().dataBySessionId.forEach((value, key) => {\r\n if (value.rootConfId == rootConfigurationId)\r\n confSessionIds.push(value.confSessionId);\r\n });\r\n\r\n return confSessionIds;\r\n }\r\n\r\n /**\r\n * Removes all ConfSessionData from store which contains the Root configuration id\r\n */\r\n public removeConfiguratorSessions(rootConfigurationId: number) {\r\n\r\n let confSessionIds = this.getConfSessionIds(rootConfigurationId);\r\n this.confActionCreator.dispatchRemoveConfiguratorSessions(confSessionIds);\r\n }\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport { AppStore, StoreResponse, AppAction } from \"../../shared/state\";\r\nimport { PageUIStore } from \"../../shared/providers/page/pageUIStore\";\r\nimport { PageStore } from \"../../shared/providers/page/pageStore\";\r\nimport { PageActionCreator } from \"../../shared/providers/page/pageActionCreator\";\r\nimport { ReselectorService, ReselectorResult } from \"../../shared/providers/reselectorService\";\r\nimport { ConfiguratorPageUIData, PageConfIdentifier, PageActions, PageUIData, ConfUIData } from \"../../shared/state\";\r\nimport { ManagedSubscription, SubscriptionOptions } from \"../../../shared/managedSubscription\";\r\nimport { ManagedSubject } from \"../../../shared/managedSubject\";\r\nimport { AppStoreSubscriptionManager } from \"../../shared/providers/appStoreSubscriptionManager\";\r\nimport { RouteNames } from \"../../shared/providers/routeNames\";\r\nimport { CompositeUIData } from \"../../shared/state/shared/compositeUIData\";\r\nimport { AccordionUIData } from \"../../shared/state/shared/accordionUIData\";\r\nimport { ModelFactory } from \"../../shared/providers/modelFactory\";\r\nimport { ConfRouteParams } from \"./confRouteParams\";\r\nimport { GlobalDataStore } from \"../../shared/providers/globalData\";\r\n\r\n@Injectable()\r\nexport class ConfiguratorUIStore extends PageUIStore {\r\n\r\n public _pageId: number;\r\n private _confParams: ConfRouteParams;\r\n private _isNextStateIncluded: boolean;\r\n private _includeMandatoryInfo: boolean;\r\n private _isMandatoryOpened: boolean = false; \r\n\r\n constructor(\r\n @Inject(AppStore) public appStore: AppStore,\r\n @Inject(PageStore) public PageStore: PageStore,\r\n @Inject(PageActionCreator) public pageActionCreator: PageActionCreator,\r\n @Inject(ReselectorService) public reselectorService: ReselectorService,\r\n @Inject(ModelFactory) public modelFactory: ModelFactory,\r\n @Inject(AppStoreSubscriptionManager) public appStoreSubscriptionManager: AppStoreSubscriptionManager,\r\n public globalDataStore: GlobalDataStore\r\n ) {\r\n super(appStore, pageActionCreator, appStoreSubscriptionManager, modelFactory, globalDataStore);\r\n }\r\n\r\n public get pageId(): number { return this._pageId; }\r\n\r\n public setPageId(pageId: number): void {\r\n this._pageId = pageId;\r\n }\r\n\r\n public get confParams(): ConfRouteParams { return this._confParams; }\r\n public setConfParams(confParams: ConfRouteParams): void {\r\n this._confParams = confParams;\r\n }\r\n\r\n public get isMandatoryOpened(): boolean { return this._isMandatoryOpened; }\r\n public setIsMandatoryOpened(isMandatoryOpened: boolean): void {\r\n this._isMandatoryOpened = isMandatoryOpened;\r\n }\r\n\r\n public setSubConfId(subConfId: number): void {\r\n\r\n if (this._confParams)\r\n this._confParams.subConfId = subConfId;\r\n }\r\n\r\n // Keep remember the selected tabId, and select the same tab as before configuration selection change.Note: It works only for same product's configurations.\r\n public selectedTabId: number; \r\n\r\n /** Defines if mandatory info should be included in requests. */\r\n public get includeMandatoryInfo(): boolean {\r\n return this._includeMandatoryInfo;\r\n }\r\n\r\n public set includeMandatoryInfo(includeMandatoryInfo: boolean) {\r\n this._includeMandatoryInfo = includeMandatoryInfo;\r\n }\r\n\r\n public get isNextStateIncluded(): boolean {\r\n return this._isNextStateIncluded;\r\n }\r\n\r\n public set isNextStateIncluded(isNextStateIncluded: boolean) {\r\n this._isNextStateIncluded = isNextStateIncluded;\r\n }\r\n\r\n public createConfiguratorUI(): Promise> {\r\n let nextPageId: number = this.nextPageIdentifier();\r\n\r\n // Create request object\r\n let response: StoreResponse = new StoreResponse();\r\n\r\n // Subscribe to store and return the results on request complete. \r\n let promiseResult = this.appStoreSubscriptionManager.createSubject((appStore) => {\r\n\r\n if (appStore.getState().uiData.configuratorUI.has(nextPageId.toString())) {\r\n\r\n response.requestId = nextPageId;\r\n response.data = appStore.getState().uiData.configuratorUI.get(nextPageId.toString());\r\n return response;\r\n }\r\n\r\n return ManagedSubject.IGNORE_VALUE;\r\n }, true).toPromise();\r\n\r\n this.pageActionCreator.dispatchAddConfiguratorPageUIData(nextPageId);\r\n\r\n return promiseResult;\r\n }\r\n\r\n public getConfiguratorPageUIState(pageId: number): ConfiguratorPageUIData {\r\n return this.appStore.getState().uiData.configuratorUI.get(pageId.toString());\r\n }\r\n\r\n setConfId(confId: number, pageId: number): void {\r\n let confData: ConfUIData = this.getConfUIState(confId, pageId);\r\n\r\n if (confData)\r\n return;\r\n\r\n confData = new ConfUIData();\r\n confData = confData.setConfId(confId);\r\n\r\n this.pageActionCreator.dispatchUpdateState(pageId, PageActions.UPDATE_CONF_UI_DATA, confData);\r\n }\r\n\r\n public setPageConfIdentifier(pageId: number, configurationId: number, sessionId: number): void {\r\n let pageConfIdentifier: PageConfIdentifier = new PageConfIdentifier();\r\n pageConfIdentifier = pageConfIdentifier.setConfSessionId(sessionId);\r\n pageConfIdentifier = pageConfIdentifier.setSelectedConfId(configurationId);\r\n this.pageActionCreator.dispatchUpdateState(pageId, PageActions.CONFIGURATION_SELECT, pageConfIdentifier);\r\n }\r\n\r\n public updateCompositeUIState(pageId: number, calcWidth: string, calcSticky: boolean, visible: boolean, sidebarExtended: boolean = false): void {\r\n let composite: CompositeUIData = new CompositeUIData();\r\n composite = composite.setCalcSticky(calcSticky); \r\n composite = composite.setCalcWidth(calcWidth);\r\n composite = composite.setVisible(visible);\r\n composite = composite.setSidebarExtended(sidebarExtended);\r\n this.pageActionCreator.dispatchUpdateState(pageId, PageActions.COMPOSITE_UI_CHANGE, composite);\r\n }\r\n\r\n public updateAccordionUIState(pageId: number, calcSticky: boolean, visible: boolean, numberOfTabs: number): void {\r\n let accordion: AccordionUIData = new AccordionUIData();\r\n accordion = accordion.setCalcSticky(calcSticky);\r\n accordion = accordion.setVisible(visible);\r\n accordion = accordion.setTabsCount(numberOfTabs);\r\n\r\n this.pageActionCreator.dispatchUpdateState(pageId, PageActions.TABS_ACCORDION_UI_CHANGE, accordion);\r\n }\r\n\r\n\r\n public getConfUIState(confId: number, pageId): ConfUIData {\r\n let pageState = this.getPageUIState(pageId) as ConfiguratorPageUIData;\r\n\r\n if (pageState.confUIDataById.has(+confId)) {\r\n return pageState.confUIDataById.get(+confId);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n public onCompositeCalcStickyChange(pageId: number, subscriptionOptions: SubscriptionOptions): ManagedSubscription {\r\n if (!pageId)\r\n return;\r\n\r\n let activeConfMemorizer: () => boolean = this.reselectorService.createMemorizer1((state) =>\r\n state.uiData.configuratorUI.get(pageId.toString()).compositeUI, (input) => input.calcSticky\r\n );\r\n\r\n return this.createStoreSubscription(pageId + '__calc_sticky_change', activeConfMemorizer, subscriptionOptions);\r\n }\r\n\r\n /**\r\n * TODO: We might need to move this method to SessionManagerService\r\n * @param pageId\r\n * @param subscriptionOptions\r\n */\r\n public onActiveConfChange(pageId: number, subscriptionOptions: SubscriptionOptions): ManagedSubscription {\r\n if (!pageId)\r\n return;\r\n\r\n let activeConfMemorizer: () => number = this.reselectorService.createMemorizer1((state) => state.uiData.configuratorUI.get(pageId.toString()).pageConfIdentifier, (input) => input.selectedConfId);\r\n\r\n return this.createStoreSubscription(pageId + '__active', activeConfMemorizer, subscriptionOptions);\r\n }\r\n\r\n /**\r\n * TODO: We might need to move this method to SessionManagerService\r\n * @param pageId\r\n * @param subscriptionOptions\r\n */\r\n public onSessionAvailable(pageId: number, subscriptionOptions: SubscriptionOptions): ManagedSubscription {\r\n if (!pageId)\r\n return;\r\n\r\n let sessionConfMemorizer: () => number = this.reselectorService.createMemorizer1((state) => state.uiData.configuratorUI.get(pageId.toString()).pageConfIdentifier, (input) => input.confSessionId);\r\n return this.createStoreSubscription(pageId + '__session_available', sessionConfMemorizer, subscriptionOptions);\r\n }\r\n\r\n public compositeUIChange(pageId: number, subscriptionOptions: SubscriptionOptions): ManagedSubscription {\r\n let compositeMemorizer: () => CompositeUIData = this.reselectorService.createMemorizer((state) => state.uiData.configuratorUI.get(pageId.toString()).compositeUI);\r\n\r\n return this.createStoreSubscription(pageId + '__composite', compositeMemorizer, subscriptionOptions);\r\n }\r\n\r\n public getMemorizer(pageId: number): () => PageUIData {\r\n return this.reselectorService.createMemorizer((state) => state.uiData.configuratorUI.get(pageId.toString()));\r\n }\r\n\r\n public getActiveConfigurationMemorizer(pageId: number): () => number {\r\n return this.reselectorService.createMemorizer((state) => state.uiData.configuratorUI.get(pageId.toString()).pageConfIdentifier.selectedConfId);\r\n }\r\n\r\n public getPageUIState(pageId: number): PageUIData {\r\n return this.getConfiguratorPageUIState(pageId);\r\n }\r\n\r\n}","export * from './confDataMemorizer';\r\nexport * from './confDataResolveResponse';\r\nexport * from './confEventService';\r\nexport * from './configurationSessionManager';\r\nexport * from './configuratorStore';\r\nexport * from './configuratorLayoutManager';\r\nexport * from './configuratorUIStore';\r\nexport * from './confMessageHandler';\r\nexport * from './confMessageProvider';\r\nexport * from './confPageSessionService';\r\nexport * from './confRouteParams';\r\nexport * from './popupIdentifiers';\r\nexport * from './uiEventService';","// TODO: Refactor enum name\r\nexport enum PopupIdentifiers {\r\n Disallowed = \"disallowed-popup\",\r\n Help = \"help-popup\",\r\n ReadOnly = \"read-only-popup\",\r\n ClearValue = \"clear-value-popup\",\r\n PriceList = \"price-list-popup\",\r\n PriceSetting = \"price-setting-popup\",\r\n Mandatory = \"mandatory-popup\",\r\n RuleConfirm = \"rule-confirm-popup\",\r\n Graphics = \"graphics-popup\",\r\n Code = \"code-popup\",\r\n RuleInformation = \"rule-information-popup\",\r\n ConfigurationSearch = \"configuration-search-popup\",\r\n BomComposite = \"bom-composite-popup\",\r\n BomImage = \"bom-image-popup\",\r\n BomCreatePopup = \"bom-create-popup\",\r\n BomEditPopup = \"bom-edit-popup\",\r\n BomDeletePopup = \"bom-delete-popup\",\r\n AnonymousDialog = \"anonymous-dialog-popup\",\r\n AnonymousContact = \"anonymous-contact-popup\",\r\n ChangePassword = \"change-password-popup\",\r\n ChangeOwnership = \"change-ownership-popup\",\r\n WarningAttributes = \"warning-attributes-popup\",\r\n WarningPricePopup = \"warning-price-popup\",\r\n PlainUIBlock = \"plain-ui-block\",\r\n ChangeSelectedTab = \"change-selected-tab\",\r\n //MSCRM\r\n MsCrmIntegrationPopup = 'mscrm-integration-popup',\r\n AccordionCompositeShowDetail = \"accordion-composite-show-detail\",\r\n AccordionCompositeHideDetail = \"accordion-composite-hide-detail\",\r\n AccordionNodesUpdate = \"accordion-nodes-update\"\r\n}","import { Injectable, Inject } from '@angular/core';\r\nimport { Router, Resolve, RouterStateSnapshot, ActivatedRouteSnapshot } from '@angular/router';\r\nimport { Conf } from \"../../../shared/models\";\r\nimport { ConfigurationSessionManager } from \"../configurationSessionManager\";\r\nimport { ConfDataResolveResponse } from \"../confDataResolveResponse\";\r\nimport { ConfRouteParams } from \"../confRouteParams\";\r\nimport { RouteRedirector } from '../../../shared/providers';\r\nimport { ConfPageSessionService } from '../confPageSessionService';\r\nimport { ConfiguratorUIStore } from '..';\r\nimport { setRouteConfParamValue, extractRouteParams } from '../../../../shared/utils/routeParamsUtils';\r\n\r\n@Injectable()\r\nexport class ConfDataResolver implements Resolve {\r\n\r\n constructor(\r\n @Inject(ConfigurationSessionManager) public sessesionManager: ConfigurationSessionManager,\r\n @Inject(RouteRedirector) public routeRedirector: RouteRedirector,\r\n @Inject(ConfPageSessionService) public confPageSession: ConfPageSessionService,\r\n @Inject(ConfiguratorUIStore) public configuratorUIStore: ConfiguratorUIStore,\r\n ) { }\r\n\r\n resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise {\r\n \r\n let confParams: ConfRouteParams = new ConfRouteParams();\r\n\r\n // Copy the route params to confParams\r\n extractRouteParams(confParams, route);\r\n \r\n this.configuratorUIStore.setConfParams(confParams);\r\n return new Promise((resolve, reject) => {\r\n\r\n this.sessesionManager.setupLazyLoadingData(confParams).then(response => {\r\n\r\n if (!response || !response.conf) {\r\n reject();\r\n }\r\n else {\r\n // If active configuration in URL is not correct then redirect it to root configuration. This scenaio only works when ShowChildrenInAccordion is enabled for root product.\r\n if (response.invalidateUrl) {\r\n let subConfId = confParams.id;\r\n confParams.id = response.conf.rootId;\r\n this.routeRedirector.redirectToDataLoaderComponent(confParams, null, subConfId);\r\n reject();\r\n }\r\n\r\n resolve(response);\r\n }\r\n }, (error) => reject(error));\r\n });\r\n }\r\n}","import { Injectable, Inject } from '@angular/core';\r\nimport { Resolve, RouterStateSnapshot, ActivatedRouteSnapshot } from '@angular/router';\r\nimport { ConfiguratorUIStore } from \"../configuratorUIStore\";\r\nimport { ConfigurationSessionManager } from \"../configurationSessionManager\";\r\n\r\n@Injectable()\r\nexport class ConfPageIdResolver implements Resolve {\r\n\r\n constructor(\r\n @Inject(ConfiguratorUIStore) public confUIStore: ConfiguratorUIStore,\r\n @Inject(ConfigurationSessionManager) public sessesionManager: ConfigurationSessionManager\r\n ) { }\r\n\r\n resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise {\r\n return new Promise(resolve => {\r\n this.confUIStore.createConfiguratorUI().then(response => {\r\n // Send the page id\r\n resolve(response.requestId);\r\n });\r\n });\r\n }\r\n}","import { Injectable, Inject } from '@angular/core';\r\nimport { Subscription, ReplaySubject, Subject } from 'rxjs';\r\n\r\nexport class UIEvent\r\n{\r\n identifier: string;\r\n source: any;\r\n}\r\n\r\n@Injectable()\r\nexport class UIEventService {\r\n\r\n public uiSubject: Subject = new Subject();\r\n\r\n public register(callBack: (confEvent: UIEvent) => void): Subscription {\r\n return this.uiSubject.subscribe(callBack);\r\n }\r\n\r\n public publishEvent(source: any, identifier: string)\r\n {\r\n let event = new UIEvent();\r\n event.identifier = identifier;\r\n event.source = source;\r\n\r\n this.uiSubject.next(event);\r\n }\r\n \r\n public destroy() {\r\n this.uiSubject.complete();\r\n }\r\n \r\n}","import { Injectable, Inject } from '@angular/core';\r\nimport { ConfigurationSearch, SortingArgument } from \"../../shared/models\";\r\nimport { PagerModel } from \"../../shared/components/pager/pagerModel\";\r\nimport { QuerySourceTypes } from \"../../shared/models/responses/searchResult\";\r\n\r\n// Servie used to provide the data to search resolver. \r\n// TODO: Need more work to limit the scope of this class. Right now it registered globally, because it is used in resolver and resolver is global.\r\n// We can't limit the scope of resolver to search component until registering search component as module.\r\n@Injectable()\r\nexport class ConfSearchModelCacheService {\r\n\r\n // Reads the models results from server response.\r\n // Note! If we use the same model for posting data and reading from server response then would be triggered everytime when we set the value to this property.\r\n searchModel: ConfigurationSearch;\r\n\r\n // This model is only used when sending the data to server.\r\n querySearchModel: ConfigurationSearch;\r\n\r\n pagerModel: PagerModel;\r\n\r\n searchSessionId: number = null;\r\n\r\n sortingArgument: SortingArgument;\r\n\r\n // Indicates either data is loaded or not.\r\n dataLoaded: boolean = false;\r\n\r\n // Indicates either the data is in loading state.\r\n dataLoading: boolean = false;\r\n\r\n querySourceType: QuerySourceTypes = QuerySourceTypes.Database;\r\n\r\n /**\r\n * We need this method as this service is a global singleton and would otherwise never reset...\r\n */\r\n public reset() {\r\n this.searchModel = null;\r\n this.querySearchModel = null;\r\n this.pagerModel = null;\r\n this.searchSessionId = null;\r\n this.sortingArgument = null;\r\n this.dataLoaded = false;\r\n this.dataLoading = false;\r\n this.querySourceType = QuerySourceTypes.Database;\r\n }\r\n}\r\n","import { Component, Input, Output, EventEmitter, SimpleChanges } from \"@angular/core\";\r\nimport { BaseComponent } from \"../../../../shared\";\r\nimport { SearchCriteriaModel, SearchCriteriaValueEventArgs, SearchCriteriaRegion } from \"../models\";\r\nimport { ConfSearchCriteria } from \"../../../../shared/models\";\r\nimport { SearchCriteriaHelper } from \"../providers\";\r\n\r\n@Component({ template: '' })\r\nexport abstract class BaseSearchInputComponent extends BaseComponent {\r\n\r\n @Input()\r\n public criteria: SearchCriteriaModel;\r\n\r\n @Input()\r\n public width: string;\r\n\r\n constructor(protected searchCriteriaHelper: SearchCriteriaHelper) {\r\n super();\r\n }\r\n\r\n protected get region(): SearchCriteriaRegion {\r\n return this.criteria.selectedAttribute.region;\r\n }\r\n\r\n @Output()\r\n onValueChange = new EventEmitter();\r\n \r\n /** Returns true if the this criteria has a value, otherwise false. */\r\n public abstract get hasValue(): boolean;\r\n\r\n /** Returns the current user input value. */\r\n public abstract get value(): any;\r\n\r\n // Reads server value \r\n protected get extractValue(): any {\r\n\r\n if (!this.criteria.value || this.criteria.value.size == 0)\r\n return null;\r\n\r\n return this.criteria.value.map(x => x.value).join(',');\r\n\r\n }\r\n\r\n public notifyValueChange($event) { \r\n this.onValueChange.emit({ criteria: this.criteria, value: this.value });\r\n } \r\n \r\n public get valueAsSearchCriteria(): Array {\r\n\r\n switch (this.region) {\r\n\r\n case SearchCriteriaRegion.ConfProperty:\r\n {\r\n return [this.searchCriteriaHelper.createConfSearchProperty(this.criteria.controlId, this.criteria.selectedAttribute.id.toString(), this.value)];\r\n }\r\n\r\n case SearchCriteriaRegion.Parameter:\r\n {\r\n return [this.searchCriteriaHelper.createConfSearchParameter(this.criteria.controlId, +this.criteria.selectedAttribute.id, this.value, null)];\r\n }\r\n\r\n default:\r\n return [];\r\n }\r\n }\r\n\r\n}","import { Component, Inject } from \"@angular/core\";\r\n\r\nimport { ConfSearchCriteria, ConfSearchProperty } from \"../../../../../shared/models\";\r\nimport { isNumeric } from \"../../../../../../shared/utils/isNumeric\";\r\nimport { BaseSearchInputComponent } from \"../baseSearchInputComponent\";\r\nimport { SearchTimeSpan } from \"./searchTimeSpan\";\r\nimport { DateRangeOptions, Range, DateValueModel, PresetItem, TimeSpanType, ConfigDatepickerService, RangeDatepickerService } from \"../../../../../../shared/components/dateRangePicker\";\r\nimport { GlobalServiceLocator } from \"../../../../../../shared/providers\";\r\nimport { SearchCriteriaHelper, DateRangeCalculator } from \"../../providers\";\r\nimport { ImageSets } from \"../../../../../../shared/utils/imageSets\";\r\nimport { GlobalDataStore } from \"../../../../../shared/providers/globalData\";\r\n\r\n@Component({\r\n selector: 'search-calendar-input',\r\n templateUrl: './searchCalendarInputComponent.html',\r\n})\r\n// Refactor this class.\r\nexport class SearchCalendarInputComponent extends BaseSearchInputComponent {\r\n\r\n public defaultRanges: Array = [];\r\n public rangeModelBySearchTimeSpan = new Map(); // TODO remove this map.\r\n public chosenDate: Range = { fromDate: null, toDate: null }; \r\n public options: DateRangeOptions;\r\n public imageSet: string;\r\n\r\n constructor(public globalDataStore: GlobalDataStore, protected searchCriteriaHelper: SearchCriteriaHelper, protected dateRangeCalculator: DateRangeCalculator) { super(searchCriteriaHelper); }\r\n\r\n ngOnInit() {\r\n\r\n this.imageSet = this.getImageSet(ImageSets.Control);\r\n\r\n this.setDefaultRanges();\r\n\r\n const dateFormat = this.globalDataStore.globalSettings.dateFormat;\r\n this.options = {\r\n\r\n predefinedItems: this.defaultRanges,\r\n format: dateFormat ? dateFormat : 'yyyy-MM-dd',\r\n range: this.chosenDate, // No range defined in beginning.\r\n emptyValueLabel: \"\" \r\n };\r\n\r\n }\r\n\r\n public setDefaultRanges(): void {\r\n\r\n // Store all predefined ranges in a map so that we could retreive them back easily.\r\n this.rangeModelBySearchTimeSpan.set(SearchTimeSpan.Today, this.presetItem(SearchTimeSpan.Today, this.dateRangeCalculator.todayRange));\r\n this.rangeModelBySearchTimeSpan.set(SearchTimeSpan.Yesterday, this.presetItem(SearchTimeSpan.Yesterday, this.dateRangeCalculator.yesterdayRange));\r\n this.rangeModelBySearchTimeSpan.set(SearchTimeSpan.Last7Days, this.presetItem(SearchTimeSpan.Last7Days, this.dateRangeCalculator.last7DaysRange));\r\n this.rangeModelBySearchTimeSpan.set(SearchTimeSpan.Last30Days, this.presetItem(SearchTimeSpan.Last30Days, this.dateRangeCalculator.last30DaysRange));\r\n this.rangeModelBySearchTimeSpan.set(SearchTimeSpan.ThisQuarter, this.presetItem(SearchTimeSpan.ThisQuarter, this.dateRangeCalculator.thisQuaterRange));\r\n this.rangeModelBySearchTimeSpan.set(SearchTimeSpan.PreviousQuarter, this.presetItem(SearchTimeSpan.PreviousQuarter, this.dateRangeCalculator.previousQuaterRange));\r\n this.rangeModelBySearchTimeSpan.set(SearchTimeSpan.ThisYear, this.presetItem(SearchTimeSpan.ThisYear, this.dateRangeCalculator.thisYearRange));\r\n this.rangeModelBySearchTimeSpan.set(SearchTimeSpan.PreviousYear, this.presetItem(SearchTimeSpan.PreviousYear, this.dateRangeCalculator.previousYearRange));\r\n\r\n // Default ranges in array format.\r\n this.defaultRanges = Array.from(this.rangeModelBySearchTimeSpan.values());\r\n\r\n \r\n // Set value from the model.\r\n // Try to match the current value with the defined range models.\r\n if (this.extractValue) {\r\n if (isNumeric(this.extractValue)) {\r\n let presetItem = this.rangeModelBySearchTimeSpan.get((+this.extractValue));\r\n this.chosenDate = presetItem.range;\r\n }\r\n else {\r\n\r\n let [fromDateStr, toDateStr] = (this.extractValue).split(\"...\");\r\n if (fromDateStr && toDateStr) {\r\n\r\n // Model has value but not numberic -> must be custom -> just assign it.\r\n const from = new Date(fromDateStr);\r\n const to = new Date(toDateStr);\r\n this.chosenDate = { fromDate: from, toDate: to };\r\n }\r\n }\r\n\r\n }\r\n }\r\n\r\n public presetItem(searchTimeSpan: SearchTimeSpan, range: Range): PresetItem {\r\n\r\n return {\r\n\r\n predefinedLabel: this.localizedTimeSpanLabel(searchTimeSpan),\r\n identifier: searchTimeSpan.toString(),\r\n range: range\r\n\r\n }\r\n }\r\n\r\n public localizedTimeSpanLabel(searchTimeSpan: SearchTimeSpan) {\r\n return this.strings.getString(SearchTimeSpan[searchTimeSpan]);\r\n }\r\n\r\n\r\n /** Returns true if the this criteria has a value, otherwise false. */\r\n public get hasValue(): boolean {\r\n return this._value != null && this._value != \"\";\r\n }\r\n\r\n public _value = \"\";\r\n /** Returns the current user input value. */\r\n public get value(): any {\r\n return this._value;\r\n }\r\n \r\n onRangeChanged(valModel: DateValueModel) {\r\n this._value = valModel.value;\r\n this.notifyValueChange(null);\r\n }\r\n\r\n}","\r\n\r\n\r\n","export enum SearchTimeSpan {\r\n Today = 0,\r\n Yesterday = 1,\r\n Last7Days = 2,\r\n Last30Days = 3,\r\n ThisQuarter = 4,\r\n PreviousQuarter = 5,\r\n ThisYear = 6,\r\n PreviousYear = 7 \r\n}","import { Component, Inject, Input } from \"@angular/core\";\r\nimport { BaseSearchInputComponent } from \"../baseSearchInputComponent\";\r\nimport { InputViewModel } from \"../../../../../../shared/components\";\r\nimport { SearchCriteriaModelsProvider, SearchCriteriaHelper } from \"../../providers\";\r\nimport { AttributeField, SearchValueControlType } from \"../../models\";\r\nimport { ConfDataProperty, ConfSearchProperty } from \"../../../../../shared/models\";\r\nimport { ConfSearchCriteria } from \"../../../../../shared/models\";\r\n\r\n@Component({\r\n selector: 'search-checkbox-input',\r\n templateUrl: './searchCheckboxInputComponent.html',\r\n})\r\nexport class SearchCheckboxInputComponent extends BaseSearchInputComponent {\r\n\r\n @Input()\r\n public queryView: InputViewModel;\r\n\r\n constructor(\r\n @Inject(SearchCriteriaModelsProvider) public modelsProvider: SearchCriteriaModelsProvider,\r\n protected searchCriteriaHelper: SearchCriteriaHelper\r\n ) {\r\n super(searchCriteriaHelper);\r\n }\r\n\r\n ngOnInit() {\r\n\r\n let attr: AttributeField = this.criteria.selectedAttribute;\r\n\r\n let icon: string; \r\n if (attr.tag && attr.tag instanceof ConfDataProperty) {\r\n let confProp: ConfDataProperty = attr.tag as ConfDataProperty;\r\n let type = confProp.propertyType;\r\n let icon: string = type === 'Integer' || type === 'Boolean' || type === 'Double' ? 'unicodestring' : type.toLowerCase(); \r\n }\r\n\r\n this.queryView = this.searchCriteriaHelper.createInputView(attr.id, attr.id, \"\", this.extractValue, icon, this.width);\r\n this.queryView.disabled = attr.valueControlType == SearchValueControlType.None;\r\n\r\n // Set default value\r\n if (this.queryView.value == null)\r\n this.queryView.value = false;\r\n \r\n }\r\n\r\n /** Returns true if the this criteria has a value, otherwise false. */\r\n public get hasValue(): boolean {\r\n return this.queryView.value;\r\n }\r\n\r\n /** Returns the current user input value. */\r\n public get value(): any {\r\n return this.queryView.value;\r\n }\r\n\r\n}","\r\n\r\n","import { Component, Inject, ChangeDetectorRef, ChangeDetectionStrategy } from \"@angular/core\";\r\nimport { BaseSearchInputComponent } from \"../baseSearchInputComponent\";\r\nimport { InputViewModel } from \"../../../../../../shared/components\";\r\nimport { GlobalDataStore } from \"../../../../../shared/providers/globalData\";\r\nimport { AccountDataStore } from \"../../../../../shared/providers/accountData\";\r\nimport { ModelLabelService } from \"../../../../../shared/providers/modelLabelService\";\r\nimport { ProductDataStore } from \"../../../../../shared/providers/productData\";\r\nimport { Product, Assortment, ConfSearchProperty, LookupParam, ParamValue, ConfDataProperty } from \"../../../../../shared/models\";\r\nimport { ConfSearchCriteria } from \"../../../../../shared/models\";\r\nimport { SearchCriteriaHelper } from \"../../providers\";\r\nimport { SearchCriteriaDataProvider } from \"../../providers/searchCriteriaDataProvider\";\r\n\r\n@Component({\r\n selector: 'search-dropdown-input',\r\n templateUrl: './searchDropDownInputComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SearchDropDownInputComponent extends BaseSearchInputComponent {\r\n\r\n public groupView: InputViewModel;\r\n public itemsView: Array = [];\r\n\r\n constructor(\r\n protected cdr: ChangeDetectorRef,\r\n protected globalDataStore: GlobalDataStore,\r\n protected accountDataStore: AccountDataStore,\r\n protected productDataStore: ProductDataStore,\r\n protected searchCriteriaHelper: SearchCriteriaHelper, \r\n @Inject(SearchCriteriaDataProvider) protected searchCriteriaDataProvider: SearchCriteriaDataProvider,\r\n @Inject(ModelLabelService) protected modelLabelService: ModelLabelService,\r\n ) {\r\n super(searchCriteriaHelper);\r\n }\r\n\r\n ngOnInit() {\r\n\r\n // Loop ref objects here and set up views.\r\n let refClassName = this.criteria.selectedAttribute.refClassName;\r\n \r\n if (refClassName) {\r\n this.groupView = new InputViewModel();\r\n this.groupView.width = this.width;\r\n \r\n this.itemsView = [];\r\n \r\n if (refClassName == LookupParam.name) {\r\n\r\n let param = this.criteria.selectedAttribute.tag as LookupParam;\r\n this.itemsView = [];\r\n\r\n this.groupView.value = null; // Setting to null\r\n \r\n param.paramValues.forEach(valueId =>\r\n {\r\n \r\n let lookupValue: ParamValue = this.productDataStore.getEntity(valueId) as ParamValue;\r\n\r\n let itemView: InputViewModel = this.searchCriteriaHelper.createInputView(lookupValue.longId.toString(), lookupValue.name, lookupValue.title, lookupValue.longId == this.extractValue);\r\n\r\n this.itemsView.push(itemView); \r\n\r\n if (itemView.id == this.extractValue) {\r\n\r\n // Set the group view to show the selected value title.\r\n this.groupView.formattedValue = itemView.title; // Selected value\r\n this.groupView.value = itemView.id; // Selected value\r\n\r\n } \r\n });\r\n \r\n }\r\n else if (this.accountDataStore.isAccountData(refClassName)) {\r\n\r\n this.accountDataStore.getEntities(refClassName).subscribe((storeResponse) => {\r\n storeResponse.data.forEach(x => {\r\n let viewModel = new InputViewModel(this.modelLabelService.getLabel(x));\r\n viewModel.id = x.longId.toString();\r\n this.itemsView.push(viewModel);\r\n\r\n // If model contains a value (longId) then try to get its label.\r\n if (this.criteria.value && this.extractValue == x.longId) {\r\n this.groupView.value = this.extractValue;\r\n this.groupView.formattedValue = viewModel.title;\r\n }\r\n });\r\n\r\n if (!this.cdr['destroyed'])\r\n this.cdr.markForCheck();\r\n });\r\n } \r\n else {\r\n this.globalDataStore.getEntities(refClassName).subscribe((storeResponse) => {\r\n storeResponse.data.forEach(x => {\r\n let viewModel = new InputViewModel(this.modelLabelService.getLabel(x));\r\n viewModel.id = x.longId.toString();\r\n this.itemsView.push(viewModel);\r\n\r\n // If model contains a value (longId) then try to get its label.\r\n if (this.criteria.value && this.extractValue == x.longId) {\r\n this.groupView.value = this.extractValue;\r\n this.groupView.formattedValue = viewModel.title;\r\n }\r\n }); \r\n\r\n if (!this.cdr['destroyed'])\r\n this.cdr.markForCheck();\r\n });\r\n }\r\n }\r\n }\r\n\r\n\r\n /** Returns true if the this criteria has a value, otherwise false. */\r\n public get hasValue(): boolean {\r\n return !!this.groupView.value;\r\n }\r\n\r\n /** Returns the current user input value. */\r\n public get value(): any {\r\n return this.groupView.value;\r\n }\r\n \r\n}","\r\n\r\n","export * from \"./searchCriteriaComponent\";\r\nexport * from \"./calendar/searchCalendarInputComponent\";\r\nexport * from \"./dropDown/searchDropDownInputComponent\";\r\nexport * from \"./text/searchTextInputComponent\";\r\nexport * from \"./multiSelect/multiSelectInputComponent\";\r\nexport * from \"./rangeTextbox/searchRangeTextboxComponent\";\r\nexport * from \"./checkbox/searchCheckboxInputComponent\";","import { Component, Inject, ChangeDetectorRef } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\"\r\nimport { BaseSearchInputComponent } from \"../baseSearchInputComponent\";\r\nimport { InputViewModel } from \"../../../../../../shared/components/shared\";\r\nimport { ModelLabelService } from \"../../../../../shared/providers/modelLabelService\";\r\nimport { ProductDataStore } from \"../../../../../shared/providers/productData\";\r\nimport { Product, Assortment, ConfSearchProperty, MultiChoiceParam, ParamValue, ConfSearchParameter, State, LookupParam, Param, ProductFamily } from \"../../../../../shared/models\";\r\nimport { MultiSelectItem, ItemStateType } from \"../../../../../../shared/components/multiSelectDropdown\";\r\nimport { SearchCriteriaValueEventArgs, SearchCriteriaRegion, AttributeField } from \"../../models\";\r\nimport { SearchCriteriaDataProvider } from \"../../providers/searchCriteriaDataProvider\";\r\nimport { BaseEntity } from \"../../../../../shared/baseEntity\";\r\nimport { ConfSearchCriteria } from \"../../../../../shared/models\";\r\nimport { SearchCriteriaHelper } from \"../../providers\";\r\nimport { GlobalDataStore } from \"../../../../../shared/providers/globalData\";\r\n\r\n@Component({\r\n selector: 'multi-select-input',\r\n templateUrl: './multiSelectInputComponent.html',\r\n})\r\nexport class MultiSelectInputComponent extends BaseSearchInputComponent {\r\n\r\n public items: Immutable.List = Immutable.List();\r\n\r\n public selectedItems: Array = [];\r\n\r\n public refClassName: string;\r\n\r\n public emptyTitle: string;\r\n\r\n public checkedIcon: string = 'checkmark';\r\n\r\n public uncheckedIcon: string = '';\r\n\r\n public enableInputItemIcon: boolean = false;\r\n\r\n public removeUncheckedItem: boolean = true;\r\n\r\n public triState: boolean = false;\r\n\r\n public iconImageSet: string = 'green';\r\n\r\n constructor(\r\n protected globalDataStore: GlobalDataStore,\r\n protected productDataStore: ProductDataStore,\r\n @Inject(ModelLabelService) protected modelLabelService: ModelLabelService,\r\n @Inject(SearchCriteriaDataProvider) protected searchCriteriaDataProvider: SearchCriteriaDataProvider,\r\n\r\n protected searchCriteriaHelper: SearchCriteriaHelper,\r\n public cd: ChangeDetectorRef\r\n ) {\r\n super(searchCriteriaHelper);\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.refClassName = this.criteria.selectedAttribute.valueType;\r\n if (this.refClassName == Product.name) {\r\n\r\n this.createItemsFromProducts();\r\n }\r\n else if (this.refClassName == MultiChoiceParam.name) {\r\n\r\n this.emptyTitle = this.strings.SelectValue;\r\n\r\n let param = this.criteria.selectedAttribute.tag as MultiChoiceParam;\r\n\r\n let paramValues: ParamValue[] = param.paramValues.map(valueId => this.productDataStore.getEntity(valueId) as ParamValue).toArray();\r\n\r\n this.checkedIcon = 'checked';\r\n this.uncheckedIcon = 'unchecked';\r\n this.enableInputItemIcon = true;\r\n this.removeUncheckedItem = false;\r\n this.triState = true;\r\n this.iconImageSet = 'primary';\r\n\r\n this.createItems(paramValues);\r\n }\r\n else if (this.criteria.selectedAttribute.id == 'StateId') {\r\n\r\n this.globalDataStore.getEntities(State.name).subscribe((storeResponse) => {\r\n\r\n let states: Set = new Set();\r\n\r\n storeResponse.data.forEach(x => states.add(x as State));\r\n\r\n // Create multi select items. \r\n this.createItems(Array.from(states));\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n }\r\n else if (this.refClassName == LookupParam.name) {\r\n\r\n let paramValues: Array = [];\r\n\r\n Array.from(this.criteria.selectedAttribute.tag.paramValues).forEach((longId) => {\r\n paramValues.push(this.createParamValue(longId));\r\n });\r\n\r\n this.createItems(paramValues);\r\n\r\n }\r\n\r\n super.ngOnInit();\r\n }\r\n \r\n public createParamValue(paramValue: any): ParamValue {\r\n return this.productDataStore.getEntity(paramValue as number) as ParamValue;\r\n }\r\n\r\n public createItemsFromProducts(): void {\r\n if (this.refClassName != Product.name)\r\n return;\r\n\r\n this.emptyTitle = this.strings.SelectProduct;\r\n\r\n // Make promised call to fetch out all products.\r\n this.searchCriteriaDataProvider.getProductMultiSelectModels(this.globalDataStore.globalSettings.allowSearchForChildConfigurations).then(multiSelectModels => {\r\n\r\n let serverSelectedValuesMap = new Map();\r\n this.criteria.value.toArray().forEach(x => {\r\n\r\n serverSelectedValuesMap.set(x.value, x);\r\n\r\n });\r\n\r\n // Set the server value, if page is reloaded or saved search is opened.\r\n this.setSelectedState(multiSelectModels, serverSelectedValuesMap);\r\n\r\n //Create multi select items.\r\n this.items = Immutable.List(multiSelectModels);\r\n\r\n if (!this.cd['destroyed'])\r\n this.cd.detectChanges();\r\n\r\n });\r\n\r\n }\r\n\r\n setSelectedState(multiSelectModels: Array, serverValues: Map) {\r\n\r\n multiSelectModels.forEach(x => {\r\n\r\n if (serverValues.has(x.id)) {\r\n x.state = ItemStateType.Checked;\r\n x.icon = this.checkedIcon;\r\n }\r\n\r\n if (x.children)\r\n this.setSelectedState(x.children, serverValues);\r\n\r\n });\r\n\r\n }\r\n\r\n createItems(entities: BaseEntity[]): void {\r\n\r\n let map: Map = new Map();\r\n\r\n if (this.criteria.value) {\r\n if (this.criteria.region == SearchCriteriaRegion.ConfProperty) {\r\n\r\n // In productId case, conf.value contains the ProductId.\r\n this.criteria.value.forEach(conf => map.set(+conf.value, conf));\r\n }\r\n else if (this.criteria.region == SearchCriteriaRegion.Parameter) {\r\n\r\n this.criteria.value.forEach(conf => {\r\n\r\n if (conf instanceof ConfSearchParameter)\r\n map.set(+conf.paramValueId, conf);\r\n\r\n });\r\n\r\n }\r\n }\r\n\r\n let newItems = Immutable.List();\r\n\r\n entities.forEach(entity => {\r\n\r\n let item = this.createItem(entity)\r\n\r\n let oldItem = this.items.find(x => x.id == item.id);\r\n\r\n // Restore previous value\r\n if (!oldItem && map.has(entity.longId)) {\r\n\r\n // Handle multi choice values.\r\n if (this.criteria.region == SearchCriteriaRegion.Parameter)\r\n item.state = map.get(entity.longId).value != null && map.get(entity.longId).value.toLowerCase() == 'true' ? ItemStateType.Checked : ItemStateType.Unchecked;\r\n\r\n else item.state = ItemStateType.Checked; // Selected ProductIds\r\n\r\n if (item.state == ItemStateType.Checked)\r\n item.icon = this.checkedIcon;\r\n else if (item.state == ItemStateType.Unchecked)\r\n item.icon = this.uncheckedIcon;\r\n }\r\n\r\n newItems = oldItem ? newItems.push(oldItem) : newItems.push(item);\r\n });\r\n\r\n this.items = newItems;\r\n\r\n // check that the selected items are still part of the list\r\n let newSelectedItems: Array = [];\r\n\r\n this.selectedItems.forEach(x => {\r\n let item = this.items.find(y => y.id == x.id);\r\n if (item)\r\n newSelectedItems.push(item);\r\n });\r\n\r\n this.cd.detectChanges();\r\n }\r\n\r\n createItem(entity: BaseEntity): MultiSelectItem {\r\n\r\n return {\r\n title: this.modelLabelService.getLabel(entity),\r\n id: entity.longId.toString(),\r\n state: this.triState ? ItemStateType.Inderminate : ItemStateType.Unchecked,\r\n selectable: entity.className != ProductFamily.name\r\n };\r\n }\r\n\r\n public onSelectionChange(selectedItems: Array): void {\r\n // compare the arrays by checking their sizes and ids of items\r\n let different = false;\r\n if (this.selectedItems.length == selectedItems.length)\r\n this.selectedItems.forEach(x => {\r\n if (!selectedItems.find(y => y.id == x.id))\r\n different = true;\r\n })\r\n else\r\n different = true;\r\n\r\n if (different) {\r\n this.selectedItems = selectedItems;\r\n this.notifyValueChange(null);\r\n }\r\n }\r\n\r\n /** Returns true if the this criteria has a value, otherwise false. */\r\n public get hasValue(): boolean {\r\n return this.selectedItems.length > 0;\r\n }\r\n\r\n /** Returns the current user input value. */\r\n public get value(): any {\r\n return this.selectedItems.map(item => item.id);\r\n }\r\n\r\n /**\r\n * Returns true if the selected items contains atleast one child.\r\n * If there is no child, false is returned.\r\n * @returns\r\n */\r\n public isChildSelected(): boolean {\r\n return this.selectedItems.some(item => item.isChild);\r\n }\r\n\r\n public get valueAsSearchCriteria(): Array {\r\n\r\n switch (this.region) {\r\n\r\n case SearchCriteriaRegion.ConfProperty:\r\n {\r\n return this.selectedItems.map(item => this.searchCriteriaHelper.createConfSearchProperty(this.criteria.controlId, this.criteria.selectedAttribute.id, item.id));\r\n }\r\n\r\n case SearchCriteriaRegion.Parameter:\r\n {\r\n return this.selectedItems.map(item => this.searchCriteriaHelper.createConfSearchParameter(this.criteria.controlId, +this.criteria.selectedAttribute.id, this.getValueAsBoolean(item), +item.id));\r\n }\r\n\r\n default:\r\n return [];\r\n }\r\n }\r\n\r\n getValueAsBoolean(item: MultiSelectItem): boolean {\r\n\r\n switch (item.state) {\r\n\r\n case ItemStateType.Checked:\r\n return true;\r\n\r\n case ItemStateType.Unchecked:\r\n return false;\r\n\r\n default:\r\n return null;\r\n\r\n }\r\n\r\n }\r\n\r\n}","
\r\n \r\n
","import { Component, Inject, Input } from \"@angular/core\";\r\nimport { BaseSearchInputComponent } from \"../baseSearchInputComponent\";\r\nimport { InputViewModel } from \"../../../../../../shared/components\";\r\nimport { SearchCriteriaModelsProvider, SearchCriteriaHelper } from \"../../providers\";\r\nimport { AttributeField, SearchValueControlType } from \"../../models\";\r\nimport { RangeOperator, RangeInputViewModel } from \"../../../../../../shared/components/textboxRange/rangeInputViewModel\";\r\nimport { ConfSearchCriteria, ConfSearchProperty } from \"../../../../../shared/models\";\r\n\r\n@Component({\r\n selector: 'search-range-textbox',\r\n templateUrl: './searchRangeTextboxComponent.html',\r\n})\r\nexport class SearchRangeTextboxComponent extends BaseSearchInputComponent {\r\n\r\n public rangeView: RangeInputViewModel;\r\n\r\n constructor(\r\n @Inject(SearchCriteriaModelsProvider) public modelsProvider: SearchCriteriaModelsProvider,\r\n protected searchCriteriaHelper: SearchCriteriaHelper\r\n ) {\r\n super(searchCriteriaHelper);\r\n }\r\n\r\n ngOnInit() {\r\n\r\n let attr: AttributeField = this.criteria.selectedAttribute;\r\n\r\n this.rangeView = new RangeInputViewModel();\r\n this.rangeView.name = 'Range';\r\n this.rangeView.placeHolder1 = 'Min value'; // TODO: localize it\r\n this.rangeView.placeHolder2 = 'Max value'; // // TODO: localize it \r\n this.rangeView.placeholder = this.strings.Value;\r\n this.rangeView.width = this.width;\r\n this.rangeView.id = this.criteria.selectedAttribute.id;\r\n this.rangeView.Operator = RangeOperator.Range; // Default operator.\r\n\r\n let value: string = this.extractValue;\r\n if (value) {\r\n\r\n // Set the value and operator\r\n if (value.indexOf('..') >= 0) {\r\n let arr: string[] = value.split('..');\r\n this.rangeView.value1 = arr[0];\r\n if (arr.length > 1)\r\n this.rangeView.value2 = arr[1];\r\n\r\n }\r\n else {\r\n\r\n let operator = this.extractOperator(value);\r\n\r\n // Remove operator from value.\r\n let arr = value.split(operator);\r\n\r\n // Second index contains the value\r\n if (arr.length > 1)\r\n this.rangeView.value = arr[1];\r\n\r\n this.rangeView.Operator = operator; \r\n }\r\n }\r\n\r\n }\r\n\r\n extractOperator(value: string): RangeOperator {\r\n\r\n if (value.indexOf(RangeOperator.Greater) >= 0)\r\n return RangeOperator.Greater;\r\n\r\n else if (value.indexOf(RangeOperator.GreaterOrEqual) >= 0)\r\n return RangeOperator.GreaterOrEqual\r\n\r\n else if (value.indexOf(RangeOperator.Less) >= 0)\r\n return RangeOperator.Less;\r\n\r\n else if (value.indexOf(RangeOperator.LessOrEqual) >= 0)\r\n return RangeOperator.LessOrEqual;\r\n\r\n return RangeOperator.Equal;\r\n }\r\n\r\n /** Returns true if the this criteria has a value, otherwise false. */\r\n public get hasValue(): boolean {\r\n return this.value;\r\n }\r\n\r\n /** Returns the current user input value. */\r\n public get value(): any {\r\n\r\n switch (this.rangeView.Operator) {\r\n\r\n case RangeOperator.Range:\r\n\r\n if (this.rangeView.value1 && this.rangeView.value2)\r\n return `${this.rangeView.value1}..${this.rangeView.value2}`;\r\n\r\n case RangeOperator.Less:\r\n case RangeOperator.LessOrEqual:\r\n case RangeOperator.Greater:\r\n case RangeOperator.GreaterOrEqual:\r\n case RangeOperator.Equal:\r\n\r\n if (this.rangeView.value)\r\n return `${this.rangeView.Operator} ${this.rangeView.value}`;\r\n\r\n }\r\n\r\n return this.rangeView.value;\r\n }\r\n\r\n\r\n}"," \r\n","import { Component, Inject, Input, Output, EventEmitter, SimpleChanges, ViewChild, ChangeDetectionStrategy, ChangeDetectorRef } from \"@angular/core\";\r\nimport { BaseComponent } from \"../../../../shared\";\r\nimport { InputViewModel, ValueChangeEventArgs } from \"../../../../../shared/components\";\r\nimport { SearchCriteriaModel } from \"../models/searchCriteriaModel\";\r\nimport { BaseSearchInputComponent } from \"./baseSearchInputComponent\";\r\nimport { SearchCriteriaModelsProvider, SearchCriteriaHelper } from \"../providers\";\r\nimport { SearchValueControlType } from \"../models\";\r\nimport { ConfSearchCriteria } from \"../../../../shared/models\";\r\nimport { EmitterService, IEmitDataInfo } from \"../../../shared\";\r\nimport { PopupIdentifiers } from \"../../../providers\";\r\n\r\n@Component({\r\n selector: 'search-criteria',\r\n templateUrl: './searchCriteriaComponent.html', \r\n})\r\nexport class SearchCriteriaComponent extends BaseComponent {\r\n\r\n @Input()\r\n public criteria: SearchCriteriaModel;\r\n\r\n @Input()\r\n public width: string;\r\n\r\n @Input()\r\n public showAdd: boolean;\r\n\r\n @Input()\r\n public showRemove: boolean;\r\n\r\n @Output()\r\n selectionChanged = new EventEmitter();\r\n\r\n @Output()\r\n onAdd = new EventEmitter();\r\n\r\n @Output()\r\n onRemove = new EventEmitter();\r\n\r\n @Output()\r\n onValueChange = new EventEmitter();\r\n\r\n controlType: SearchValueControlType;\r\n\r\n public selectorGroupView: InputViewModel;\r\n public selectorAttributeViews: Array = [];\r\n\r\n @ViewChild(\"input\")\r\n public inputComponent: BaseSearchInputComponent;\r\n\r\n constructor(\r\n @Inject(SearchCriteriaHelper) public searchCriteriaHelper: SearchCriteriaHelper,\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.createView();\r\n\r\n // Listen the Criteria changes.\r\n //this.emitterService.getMessage().subscribe((info: IEmitDataInfo) => {\r\n\r\n // if (PopupIdentifiers.SearchPageCriteria == info.id && info.tag.identifier == this.criteria.identifier) {\r\n\r\n // this.createView();\r\n // this.cd.detectChanges();\r\n\r\n // }\r\n\r\n //}).unsubscribeOn(this.unsubscribeSubject);\r\n \r\n }\r\n\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n\r\n if (changes['criteria']) {\r\n this.setSelectorAttributes(); \r\n }\r\n }\r\n\r\n public createView(): void {\r\n\r\n this.setSelectorAttributes();\r\n this.setValueControlType();\r\n\r\n this.selectorGroupView = new InputViewModel();\r\n this.selectorGroupView.width = this.width;\r\n this.selectorGroupView.formattedValue = this.criteria.selectedAttribute.title;\r\n this.selectorGroupView.value = this.criteria.selectedAttribute.title;\r\n\r\n }\r\n\r\n public setSelectorAttributes() {\r\n\r\n this.selectorAttributeViews = [];\r\n\r\n this.criteria.selectorAttributes.forEach(attributeField => {\r\n\r\n let attributeView = this.searchCriteriaHelper.createInputView(attributeField.id, attributeField.id, attributeField.title, null, null, this.width);\r\n\r\n attributeView.disabled = !attributeField.enabled;\r\n this.selectorAttributeViews.push(attributeView);\r\n\r\n });\r\n\r\n // Translate the title\r\n //this.criteriaView.value = this.strings.getString(this.model.dataProperty.title);\r\n }\r\n \r\n public setValueControlType(): void {\r\n if (this.criteria.selectedAttribute.valueType == \"LookupParam\") \r\n this.criteria.selectedAttribute.valueControlType = SearchValueControlType.MultiSelectDropdown;\r\n\r\n this.controlType = this.criteria.selectedAttribute.valueControlType;\r\n }\r\n\r\n /** Returns true if the this criteria has a value, otherwise false. */\r\n public get hasValue(): boolean {\r\n return this.inputComponent.hasValue;\r\n }\r\n\r\n public get value(): Array {\r\n return this.inputComponent.valueAsSearchCriteria; \r\n }\r\n\r\n public onCriteriaChanged($event: ValueChangeEventArgs) {\r\n this.selectionChanged.emit({ criteria: this.criteria, attributeName: $event.actionView.name });\r\n }\r\n}","
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
","import { Component, Inject, Input } from \"@angular/core\";\r\nimport { BaseSearchInputComponent } from \"../baseSearchInputComponent\";\r\nimport { InputViewModel } from \"../../../../../../shared/components\";\r\nimport { SearchCriteriaModelsProvider, SearchCriteriaHelper } from \"../../providers\";\r\nimport { AttributeField, SearchValueControlType } from \"../../models\";\r\nimport { ConfDataProperty, ConfSearchProperty } from \"../../../../../shared/models\";\r\nimport { ConfSearchCriteria } from \"../../../../../shared/models\";\r\n\r\n@Component({\r\n selector: 'search-text-input',\r\n templateUrl: './searchTextInputComponent.html',\r\n})\r\nexport class SearchTextInputComponent extends BaseSearchInputComponent {\r\n\r\n @Input()\r\n public queryView: InputViewModel;\r\n\r\n constructor(\r\n @Inject(SearchCriteriaModelsProvider) public modelsProvider: SearchCriteriaModelsProvider,\r\n protected searchCriteriaHelper: SearchCriteriaHelper\r\n ) {\r\n super(searchCriteriaHelper);\r\n }\r\n\r\n ngOnInit() {\r\n\r\n let attr: AttributeField = this.criteria.selectedAttribute;\r\n\r\n let icon: string; \r\n if (attr.tag && attr.tag instanceof ConfDataProperty) {\r\n let confProp: ConfDataProperty = attr.tag as ConfDataProperty;\r\n let type = confProp.propertyType;\r\n let icon: string = type === 'Integer' || type === 'Boolean' || type === 'Double' ? 'unicodestring' : type.toLowerCase(); \r\n }\r\n\r\n this.queryView = this.searchCriteriaHelper.createInputView(attr.id, attr.id, attr.id, null, icon, this.width);\r\n this.queryView.disabled = attr.valueControlType == SearchValueControlType.None;\r\n this.queryView.value = attr.valueControlType == SearchValueControlType.None ? '' : this.extractValue;\r\n\r\n }\r\n\r\n /** Returns true if the this criteria has a value, otherwise false. */\r\n public get hasValue(): boolean {\r\n return this.queryView.value;\r\n }\r\n\r\n /** Returns the current user input value. */\r\n public get value(): any {\r\n return this.queryView.value;\r\n }\r\n\r\n}","\r\n","export * from './searchCriteriaModel';\r\nexport * from './searchAtttributeModel';\r\nexport * from './searchCriteriaValueModel';","export interface ServerConfSearchCriteriaHolder {\r\n\r\n\r\n\r\n}\r\n\r\n\r\nexport interface AttributeField {\r\n\r\n // Name of the search attrbute e.g OwnerId, CreationDate, ProductId etc\r\n // If selector attribute is EoObject then set the longId. e.g ParameterId, AttributeId.\r\n id: string;\r\n\r\n title: string;\r\n\r\n region: SearchCriteriaRegion;\r\n\r\n // Represents string, refToObject ...\r\n valueType?: string;\r\n\r\n // Represents value control's type\r\n valueControlType: SearchValueControlType;\r\n\r\n refClassName?: string;\r\n\r\n tag: any;\r\n\r\n isEmpty?: boolean;\r\n\r\n enabled?: boolean;\r\n\r\n}\r\n\r\nexport enum SearchValueControlType {\r\n Textbox = 'textbox',\r\n Dropdown = 'dropdown',\r\n DateRange = 'daterange',\r\n MultiSelectDropdown = 'multiselect',\r\n Checkbox = 'checkbox',\r\n RangeTextbox = 'rangetextbox',\r\n None = 'none'\r\n}\r\n\r\nexport enum SearchCriteriaRegion {\r\n ConfProperty,\r\n Parameter,\r\n Attribute\r\n}","import * as Immutable from \"immutable\";\r\nimport { ImmutableObject } from \"../../../../../shared/immutableObject\";\r\nimport { InputViewModel } from \"../../../../../shared/components\";\r\nimport { AttributeField, SearchCriteriaRegion } from \"./\";\r\nimport { ConfSearchCriteria } from \"../../../../shared/models\";\r\n\r\nexport class SearchCriteriaModel extends ImmutableObject {\r\n\r\n public readonly CONTROL_ID = \"controlId\";\r\n public readonly ADD_BUTTON = \"addButton\";\r\n public readonly REMOVE_BUTTON = \"removeButton\";\r\n public readonly SELECTOR_ATTRIBUTES = \"selectorAttributes\";\r\n public readonly VALUE = \"value\"; \r\n public readonly INPUT_VIEW = \"inputView\";\r\n public readonly REGION = \"region\";\r\n public readonly SELECTED_ATTRIBUTE = \"selectedAttribute\"; \r\n\r\n get controlId(): string { return this.getInternalValue(this.CONTROL_ID); }\r\n setControlId(controlId: string): this { return this.setInternalValue(this.CONTROL_ID, controlId); }\r\n\r\n get addButton(): boolean { return this.getInternalValue(this.ADD_BUTTON); }\r\n setAddButton(addButton: boolean): this { return this.setInternalValue(this.ADD_BUTTON, addButton); }\r\n\r\n get removeButton(): boolean { return this.getInternalValue(this.REMOVE_BUTTON); }\r\n setRemoveButton(removeButton: boolean): this { return this.setInternalValue(this.REMOVE_BUTTON, removeButton); }\r\n\r\n get region(): SearchCriteriaRegion { return this.getInternalValue(this.REGION); }\r\n setRegion(region: SearchCriteriaRegion): this { return this.setInternalValue(this.REGION, region); }\r\n\r\n get selectedAttribute(): AttributeField { return this.getInternalValue(this.SELECTED_ATTRIBUTE); }\r\n setSelectedAttribute(selectedAttribute: AttributeField): this { return this.setInternalValue(this.SELECTED_ATTRIBUTE, selectedAttribute); }\r\n\r\n get selectorAttributes(): Immutable.List { return this.getInternalValue>(this.SELECTOR_ATTRIBUTES); }\r\n setSelectorAttributes(attributeSelector: Immutable.List): this { return this.setInternalValue(this.SELECTOR_ATTRIBUTES, attributeSelector); }\r\n\r\n get value(): Immutable.List { return this.getInternalValue>(this.VALUE); }\r\nsetValue(value: Immutable.List): this { return this.setInternalValue(this.VALUE, value); }\r\n\r\n get inputView(): InputViewModel { return this.getInternalValue(this.INPUT_VIEW); }\r\n setInputView(inputView: InputViewModel): this { return this.setInternalValue(this.INPUT_VIEW, inputView); }\r\n\r\n\r\n}","import { Injectable } from \"@angular/core\";\r\n\r\nimport { Range } from \"../../../../../shared/components/dateRangePicker\";\r\n\r\n@Injectable()\r\nexport class DateRangeCalculator {\r\n\r\n protected thisYearQuaterRanges: Range[] = [];\r\n protected lastYearQuarter4Range: Range;\r\n protected todayDate = new Date();\r\n\r\n public todayRange: Range;\r\n public yesterdayRange: Range;\r\n public last7DaysRange: Range;\r\n public last30DaysRange: Range;\r\n public thisYearRange: Range;\r\n public previousYearRange: Range;\r\n public thisQuaterRange: Range;\r\n public previousQuaterRange: Range;\r\n\r\n constructor() {\r\n this.initialize();\r\n }\r\n\r\n protected initialize() {\r\n\r\n let currentYear = new Date().getFullYear();\r\n \r\n let yesterdayDate = new Date(new Date().setDate(this.todayDate.getDate() - 1));\r\n let last7DaysStart = new Date(new Date().setDate(this.todayDate.getDate() - 6));\r\n let last30DaysStart = new Date(new Date().setDate(this.todayDate.getDate() - 29));\r\n let thisYearStart = new Date(currentYear, 0, 1);\r\n let lastYearStart = new Date(currentYear - 1, 0, 1);\r\n let lastYearEnd = new Date(currentYear - 1, 11, 31);\r\n\r\n let quarter1 = new Range(new Date(currentYear, 0, 1), new Date(currentYear, 2, 31));\r\n let quarter2 = new Range(new Date(currentYear, 3, 1), new Date(currentYear, 5, 30));\r\n let quarter3 = new Range(new Date(currentYear, 6, 1), new Date(currentYear, 8, 30));\r\n let quarter4 = new Range(new Date(currentYear, 9, 1), new Date(currentYear, 11, 31));\r\n this.thisYearQuaterRanges = [quarter1, quarter2, quarter3, quarter4];\r\n this.lastYearQuarter4Range = new Range(new Date(currentYear - 1, 9, 1), new Date(currentYear - 1, 11, 31));\r\n\r\n this.todayRange = new Range(this.todayDate, this.todayDate);\r\n this.yesterdayRange = new Range(yesterdayDate, yesterdayDate);\r\n this.last7DaysRange = new Range(last7DaysStart, this.todayDate);\r\n this.last30DaysRange = new Range(last30DaysStart, this.todayDate);\r\n this.thisYearRange = new Range(thisYearStart, this.todayDate);\r\n this.previousYearRange = new Range(lastYearStart, lastYearEnd);\r\n this.thisQuaterRange = this.getCurrentQuarterRange();\r\n this.previousQuaterRange = this.getLastQuarterRange();\r\n\r\n }\r\n\r\n getCurrentQuarterRange() { \r\n return this.thisYearQuaterRanges[Math.floor(this.todayDate.getMonth() / 3)];\r\n }\r\n \r\n getLastQuarterRange() {\r\n\r\n let currentQuaterIndex = Math.floor(this.todayDate.getMonth() / 3);\r\n if (currentQuaterIndex == 0)\r\n return this.lastYearQuarter4Range;\r\n\r\n return this.thisYearQuaterRanges[currentQuaterIndex - 1];\r\n }\r\n\r\n}","export * from './searchCriteriaModelsProvider';\r\nexport * from './searchCriteriaDataProvider';\r\nexport * from './searchCriteriaHelper';\r\nexport * from './dateRangeCalculator';","import { Injectable, Inject } from \"@angular/core\";\r\nimport { SearchValueControlType, SearchCriteriaRegion, AttributeField } from \"../models\";\r\nimport { GlobalDataStore } from \"../../../../shared/providers/globalData\";\r\nimport { AccountDataStore } from \"../../../../shared/providers/accountData\";\r\nimport { ProductDataStore } from \"../../../../shared/providers/productData\";\r\nimport { Product, Assortment, Param, Tab, VisualObject, ProductFamily } from \"../../../../shared/models\";\r\nimport { MultiSelectItem, ItemStateType } from \"../../../../../shared/components/multiSelectDropdown\";\r\nimport { BaseEntity } from \"../../../../shared/baseEntity\";\r\nimport { ModelLabelService } from \"../../../../shared/providers/modelLabelService\";\r\n\r\n@Injectable()\r\nexport class SearchCriteriaDataProvider {\r\n\r\n constructor(\r\n protected globalDataStore: GlobalDataStore,\r\n protected accountDataStore: AccountDataStore,\r\n protected productDataStore: ProductDataStore, \r\n protected modelLabelService: ModelLabelService\r\n ) {}\r\n\r\n\r\n /**\r\n * Returns all products.\r\n * */\r\n public getProductMultiSelectModels(showChildren: boolean = true): Promise> {\r\n\r\n return new Promise>(resolve => {\r\n\r\n // Promise for root assortments.\r\n let rootAssortmentsPromise = this.productDataStore.getRootAssortments().toPromise();\r\n\r\n const isTreeStructureData = this.globalDataStore.globalSettings.groupProductsByFamilyInFilterControl;\r\n\r\n if (showChildren) {\r\n // Response is null when data is retreived from cache. This is the bug in our system when we convert the 'subject' to 'Promise' It does not transfer the data to promise.\r\n // that's why we are not reading data from 'response'\r\n // Promise for missing ids.\r\n let missingIdsPromise = rootAssortmentsPromise.then(response => this.getMissingProductIds(this.productDataStore.getProductData().rootAssortments.toArray()));\r\n\r\n // Promise to retreive the missing products.\r\n let fetchMissingProductsPromise = missingIdsPromise.then(ids => this.productDataStore.fetchProductsWithoutData(ids).toPromise());\r\n\r\n // All promises.\r\n Promise.all([rootAssortmentsPromise, missingIdsPromise, fetchMissingProductsPromise]).then(x => {\r\n\r\n // Get all products.\r\n let rootIds = this.productDataStore.getProductData().rootAssortments.toArray();\r\n let assortments = this.getAllAssortmentsData(rootIds, isTreeStructureData);\r\n resolve(assortments);\r\n\r\n });\r\n }\r\n else {\r\n rootAssortmentsPromise.then(x => {\r\n\r\n // Get all products.\r\n let rootIds = this.productDataStore.getProductData().rootAssortments.toArray();\r\n let assortments = this.getAllAssortmentsData(rootIds, isTreeStructureData);\r\n resolve(assortments);\r\n\r\n });\r\n\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Returns all products from cached data.\r\n * @param rootIds\r\n */\r\n protected getAllAssortmentsData(rootIds: number[], includeProductFamilies: boolean = false): Array {\r\n\r\n let models: MultiSelectItem[] = [];\r\n rootIds.forEach(assortmentId => {\r\n\r\n let assortment: Assortment = this.productDataStore.getEntity(assortmentId);\r\n\r\n let item: MultiSelectItem = this.convertToModel(assortment);\r\n\r\n if (includeProductFamilies || assortment.className == Product.name) {\r\n models.push(item);\r\n }\r\n\r\n if (includeProductFamilies)\r\n item.children = this.getChildProductsModels(assortment, includeProductFamilies);\r\n\r\n else {\r\n \r\n let children = this.getChildProductsModels(assortment, includeProductFamilies);\r\n models.push(...children);\r\n }\r\n\r\n });\r\n\r\n return this.sort(models);\r\n }\r\n\r\n protected sort(models: MultiSelectItem[]): MultiSelectItem[] {\r\n\r\n let result: MultiSelectItem[]\r\n let uniqueItems: Set = new Set();\r\n models.forEach(item => uniqueItems.add(item));\r\n\r\n // Convet back to array to array\r\n result = Array.from(uniqueItems);\r\n\r\n // Sort the products.\r\n result = result.sort(function (a, b) {\r\n if (a.title.toUpperCase() < b.title.toUpperCase()) { return -1; }\r\n if (a.title.toUpperCase() > b.title.toUpperCase()) { return 1; }\r\n return 0;\r\n });\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Returns child products.\r\n * @param assortment\r\n */\r\n protected getChildProductsModels(assortment: Assortment, includeProductFamilies: boolean) {\r\n\r\n let assortmentsModels: MultiSelectItem[] = [];\r\n\r\n if (assortment.children && assortment.children.size > 0) {\r\n assortment.children.forEach(id => {\r\n let childAssortment = this.productDataStore.getEntity(id);\r\n if (childAssortment) {\r\n\r\n let childModel = this.convertToModel(childAssortment);\r\n\r\n childModel.isChild = assortment instanceof Product && childAssortment instanceof Product;\r\n\r\n // If product families are included then we will show the entire tree including all children.\r\n if (includeProductFamilies || childAssortment.className == Product.name) {\r\n assortmentsModels.push(childModel);\r\n }\r\n \r\n if (includeProductFamilies) {\r\n childModel.children = this.getChildProductsModels(childAssortment, includeProductFamilies);\r\n }\r\n else assortmentsModels.push(...this.getChildProductsModels(childAssortment, includeProductFamilies));\r\n\r\n }\r\n });\r\n }\r\n\r\n return assortmentsModels;\r\n }\r\n\r\n /**\r\n * Returns only missing product ids which are not available in store.\r\n * @param assortmentIds\r\n */\r\n protected getMissingProductIds(assortmentIds: number[]): Array {\r\n\r\n let productIds: number[] = [];\r\n assortmentIds.forEach(id =>\r\n {\r\n let assortment = this.productDataStore.getEntity(id);\r\n productIds.push(...this.getMissingChildrenIds(assortment));\r\n });\r\n\r\n return productIds;\r\n }\r\n\r\n /**\r\n * Returns missing child product ids which are not available in store.\r\n * @param assortment\r\n */\r\n protected getMissingChildrenIds(assortment: Assortment) {\r\n\r\n let children: number[] = [];\r\n\r\n if (assortment.children && assortment.children.size > 0) {\r\n\r\n assortment.children.forEach(id => {\r\n\r\n let childAssortment = this.productDataStore.getEntity(id);\r\n if (!childAssortment)\r\n children.push(id);\r\n\r\n else children.push(...this.getMissingChildrenIds(childAssortment));\r\n\r\n });\r\n }\r\n\r\n return children;\r\n }\r\n\r\n getMatchingParams(productIds: Array): Promise> {\r\n\r\n return new Promise>(resolve => {\r\n\r\n let params = new Array();\r\n\r\n if (productIds.length == 0) {\r\n resolve(params);\r\n return;\r\n }\r\n\r\n this.getParamsByProduct(productIds).then(paramsByProd => {\r\n\r\n if (paramsByProd.size == 1) {\r\n\r\n // As it contains only one list, return the same list.\r\n resolve(paramsByProd.values().next().value);\r\n }\r\n else {\r\n\r\n let productKey: number = this.getSmallestSetOfParamsProduct(paramsByProd);\r\n\r\n // Smallest set of params.\r\n let params: Array = paramsByProd.get(+productKey);\r\n\r\n let matchedParams: Array = new Array();\r\n\r\n params.forEach(param => {\r\n\r\n if (this.existsInEachProduct(param, paramsByProd, productKey)) {\r\n matchedParams.push(param);\r\n }\r\n\r\n });\r\n resolve(matchedParams);\r\n }\r\n });\r\n });\r\n }\r\n\r\n existsInEachProduct(param: Param, paramsByProd: Map>, ignoreKey: number): boolean {\r\n\r\n for (let key of Array.from(paramsByProd.keys())) {\r\n\r\n if (ignoreKey == +key)\r\n continue;\r\n\r\n let params = paramsByProd.get(+key);\r\n if (this.exists(param, params))\r\n return true;\r\n\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Returns the productKey having smallest set of parameters in the dictionary.\r\n * @param paramsByProd\r\n */\r\n getSmallestSetOfParamsProduct(paramsByProd: Map>): number {\r\n\r\n let keys = Array.from(paramsByProd.keys());\r\n let optimizedKey: any = keys.pop();\r\n\r\n for (let key of keys) {\r\n\r\n let smallestArraySize = paramsByProd.get(optimizedKey).length;\r\n let currentArraySize = paramsByProd.get(+key).length;\r\n if (currentArraySize < smallestArraySize)\r\n optimizedKey = key; \r\n }\r\n\r\n return optimizedKey;\r\n }\r\n\r\n exists(which: Param, list: Array): boolean {\r\n return list.findIndex(p => p.visualObjectId == which.visualObjectId) >= 0;\r\n }\r\n\r\n getParamsByProduct(productIds: Array): Promise>> {\r\n\r\n return new Promise>>(resolve => {\r\n \r\n this.productDataStore.fetchProductsWidthData(productIds).subscribe(storeResponse => {\r\n\r\n let mapData = new Map>();\r\n\r\n // Add all product params\r\n storeResponse.data.map(product => mapData.set(product.longId, this.getAllParams(product)));\r\n\r\n resolve(mapData);\r\n });\r\n\r\n });\r\n }\r\n\r\n getAllParams(product: Product): Array {\r\n\r\n let params = new Array();\r\n product.tabs.map(tabId => params.push(...this.getParamsByTabId(tabId)));\r\n\r\n return params;\r\n }\r\n\r\n getParamsByTabId(tabId: number): Array {\r\n\r\n let tab = this.productDataStore.getEntity(tabId);\r\n let params = new Array();\r\n tab.visualObjects.forEach(id => {\r\n\r\n let visualObject = this.productDataStore.getEntity(id);\r\n if (visualObject instanceof Param)\r\n params.push(visualObject);\r\n\r\n });\r\n\r\n return params;\r\n }\r\n\r\n convertToModel(entity: Assortment): MultiSelectItem {\r\n\r\n return {\r\n\r\n title: this.modelLabelService.getLabel(entity),\r\n id: entity.longId.toString(),\r\n state: ItemStateType.Unchecked,\r\n selectable: entity.className != ProductFamily.name,\r\n };\r\n }\r\n\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\nimport { Strings } from \"../../../../shared/providers/globalData\";\r\nimport { SearchValueControlType, SearchCriteriaRegion, AttributeField } from \"../models\";\r\nimport { LookupParam, MultiChoiceParam, StringParam, IntParam, DoubleParam, BoolParam, ConfSearchProperty, ConfSearchCriteria, ConfSearchParameter } from \"../../../../shared/models\";\r\nimport { ModelFactory } from \"../../../../shared/providers\";\r\nimport { InputViewModel } from \"../../../../../shared/components\";\r\n\r\n@Injectable()\r\nexport class SearchCriteriaHelper {\r\n\r\n constructor(@Inject(ModelFactory) protected modelFactory: ModelFactory, protected strings: Strings) { }\r\n\r\n getValueControlType(type: string, attributeName: string): SearchValueControlType {\r\n\r\n if (attributeName == 'ProductId' || attributeName == 'StateId')\r\n return SearchValueControlType.MultiSelectDropdown;\r\n\r\n switch (type) {\r\n\r\n case 'UnicodeString':\r\n return SearchValueControlType.Textbox;\r\n\r\n case 'RefToObject':\r\n return SearchValueControlType.Dropdown;\r\n\r\n case 'DateTime':\r\n case 'Date':\r\n return SearchValueControlType.DateRange;\r\n\r\n case 'Parameter':\r\n return SearchValueControlType.MultiSelectDropdown;\r\n\r\n case LookupParam.name:\r\n return SearchValueControlType.Dropdown;\r\n\r\n case BoolParam.name:\r\n return SearchValueControlType.Checkbox;\r\n\r\n case MultiChoiceParam.name:\r\n return SearchValueControlType.MultiSelectDropdown;\r\n\r\n case StringParam.name:\r\n return SearchValueControlType.Textbox;\r\n\r\n case DoubleParam.name:\r\n case IntParam.name:\r\n case \"Integer\": // Integer configuration property\r\n return SearchValueControlType.RangeTextbox;\r\n\r\n default:\r\n return SearchValueControlType.None;\r\n }\r\n }\r\n\r\n uniqueIdentifier(name: string): string {\r\n return `${name}_${(new Date()).getMilliseconds()}_${Math.floor((Math.random() * 999) + 1)}`;\r\n }\r\n\r\n /**\r\n * Returns the selector attribute field\r\n * @param id\r\n * @param longId\r\n * @param region\r\n * @param type ReferenceClassName e.g Product, LookupParam or primitive data type integar, string, datetime etc.\r\n * @param tag\r\n */\r\n getAttributeField(id: string, title: string, region: SearchCriteriaRegion, type?: string, tag?: any, emptyField: boolean = false, refClassName?: string): AttributeField {\r\n return { id: id, title: title, region: region, valueControlType: this.getValueControlType(type, id), tag: tag, valueType: type, isEmpty: emptyField, enabled: true, refClassName: refClassName };\r\n }\r\n\r\n public createConfSearchProperty(controlId: string, name: string, value: any): ConfSearchProperty {\r\n\r\n let confSearchProperty = this.modelFactory.createAny(ConfSearchProperty.name);\r\n confSearchProperty = confSearchProperty.setName(name); \r\n confSearchProperty = confSearchProperty.setValue(value);\r\n confSearchProperty = confSearchProperty.setControlId(controlId);\r\n \r\n return confSearchProperty;\r\n }\r\n\r\n /**\r\n * Creates the confSearchParameter model.\r\n * @param longId parameter longId\r\n * @param value value If parameter type is StringParam, IntParam or BoolParam.\r\n * @param paramValueId If parameter is lookup or multichoice.\r\n */\r\n public createConfSearchParameter(controlId: string, parameterId: number, value: any, paramValueId: number): ConfSearchParameter {\r\n\r\n let confSearchParam = this.modelFactory.createAny(ConfSearchParameter.name); \r\n confSearchParam = confSearchParam.setParameterId(parameterId);\r\n confSearchParam = confSearchParam.setValue(value);\r\n confSearchParam = confSearchParam.setControlId(controlId);\r\n confSearchParam = confSearchParam.setParamValueId(paramValueId);\r\n\r\n return confSearchParam;\r\n }\r\n\r\n /**\r\n * Groups the confSearchCriterias by region and inner data is grouped by client criterias.\r\n * Example date: {confProperty: { [Identify], [Name], [ProductId, ProductId]}}\r\n * @param confSearchCriterias\r\n */\r\n public groupConfSearchCriteria(confSearchCriterias: Immutable.List): Map>> {\r\n\r\n if (!confSearchCriterias || confSearchCriterias.size == 0)\r\n return new Map>>();\r\n\r\n let result = new Map>>(); \r\n\r\n // common control ids for grouping products and states\r\n let newGroupedControlIds = new Map();\r\n\r\n confSearchCriterias.forEach((x, index) => {\r\n\r\n let region: SearchCriteriaRegion = x instanceof ConfSearchProperty ? SearchCriteriaRegion.ConfProperty : SearchCriteriaRegion.Parameter;\r\n\r\n if (!result.has(region))\r\n result.set(region, new Map>());\r\n\r\n // group product, state and multi choice search criterias (has a paramvalueid) if their control ids aren't set\r\n if ((x.name == 'ProductId' || x.name == 'StateId') && !x.controlId && !newGroupedControlIds.has(x.name)) {\r\n newGroupedControlIds.set(x.name, this.uniqueIdentifier(x.name));\r\n }\r\n else if (x instanceof ConfSearchParameter && x.paramValueId && !newGroupedControlIds.has(\"\" + x.parameterId)) {\r\n newGroupedControlIds.set(\"\" + x.parameterId, this.uniqueIdentifier(\"\" + x.parameterId));\r\n }\r\n\r\n // If saved search is opened then controlId would be null, is assigned here and stored in the key of the map belonging to a region\r\n let controlId: string = x.controlId ? x.controlId : (x.name == 'ProductId' || x.name == 'StateId') ? newGroupedControlIds.get(x.name) :\r\n x instanceof ConfSearchParameter && newGroupedControlIds.has(\"\" + x.parameterId) ? newGroupedControlIds.get(\"\" + x.parameterId) : this.uniqueIdentifier(\"\" + x.longId); \r\n\r\n if (!result.get(region).has(controlId))\r\n result.get(region).set(controlId, []); // Empty array\r\n\r\n result.get(region).get(controlId).push(x);\r\n \r\n });\r\n\r\n return result;\r\n }\r\n\r\n public createInputView(id: string, name: string, title: string, value: any, icon?: string, width?: string): InputViewModel {\r\n let view = new InputViewModel();\r\n view.name = name;\r\n view.title = this.strings.getString(title);\r\n view.value = value;\r\n view.icon = icon;\r\n view.width = width;\r\n view.iconImageSet = 'primary-darker';\r\n view.id = id;\r\n return view;\r\n }\r\n\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\nimport { SearchCriteriaRegion, AttributeField, SearchCriteriaModel } from \"../models\";\r\nimport { SearchCriteriaHelper } from \"./searchCriteriaHelper\";\r\nimport { Strings, GlobalDataStore } from \"../../../../shared/providers/globalData\";\r\nimport { InputViewModel } from \"../../../../../shared/components\";\r\nimport { ConfSearchCriteria } from \"../../../../shared/models/entities/confSearchCriteria\";\r\n\r\n// TODO: Merge search data providers.\r\n@Injectable() \r\nexport class SearchCriteriaModelsProvider {\r\n\r\n protected criteriasByRegion: Immutable.Map> = Immutable.Map>();\r\n\r\n constructor(@Inject(GlobalDataStore) public globalDataStore: GlobalDataStore, \r\n public criteriaHelper: SearchCriteriaHelper\r\n ) { }\r\n\r\n /**\r\n * \r\n * @param index\r\n * @param name\r\n * @param selected // TODO: remove it.\r\n * @param selectorAttributes\r\n * @param region\r\n * @param addAfterIdentifier\r\n */\r\n addCriteria(controlId: string, name: string, selectorAttributes: Array, region: SearchCriteriaRegion, addAfterIdentifier?: string, existingValue?: Array): void {\r\n \r\n let criteria: SearchCriteriaModel = this.createCriteria(controlId, name, region, selectorAttributes, existingValue);\r\n this.addAfter(criteria, addAfterIdentifier);\r\n\r\n }\r\n\r\n\r\n public setValue(controlId: string, region: SearchCriteriaRegion, val: Array): void {\r\n\r\n let criterias: Immutable.List = this.criteriasByRegion.get(region);\r\n\r\n let index: number = criterias.findIndex(x => x.controlId == controlId);\r\n\r\n if (index < 0) {\r\n console.log(`Control Id ${controlId} is not found`);\r\n return;\r\n }\r\n\r\n let criteria = criterias.get(index);\r\n if (criteria) {\r\n\r\n // Don't set value if it is same, It prevents extra refreshes.\r\n if (JSON.stringify(criteria.value) == JSON.stringify(Immutable.List(val)))\r\n return;\r\n\r\n criteria = criteria.setValue(Immutable.List(val));\r\n }\r\n\r\n criterias = criterias.remove(index);\r\n criterias = criterias.insert(index, criteria);\r\n\r\n this.criteriasByRegion = this.criteriasByRegion.set(criteria.region, criterias);\r\n\r\n }\r\n\r\n protected createCriteria(controlId: string, name: string, region: SearchCriteriaRegion, selectorAttributes: Array, value: Array): SearchCriteriaModel {\r\n\r\n if (!controlId)\r\n controlId = this.criteriaHelper.uniqueIdentifier(region.toString());\r\n\r\n let criteria: SearchCriteriaModel = new SearchCriteriaModel();\r\n\r\n criteria = criteria.setControlId(controlId);\r\n criteria = criteria.setSelectorAttributes(Immutable.List(selectorAttributes));\r\n criteria = criteria.setRegion(region);\r\n criteria = criteria.setValue(Immutable.List(value)); \r\n\r\n let selectedAttribute = selectorAttributes.find(x => x.id === name);\r\n if (selectedAttribute)\r\n criteria = criteria.setSelectedAttribute(selectedAttribute);\r\n else if (selectorAttributes.length > 0) {\r\n criteria = criteria.setSelectedAttribute(selectorAttributes[0]); // First value would be the default one.\r\n }\r\n \r\n return criteria;\r\n }\r\n\r\n \r\n /**\r\n * Makes the clone from provided criteria, but it does not copy the selected values, only makes the structure clone.\r\n * @param from\r\n */\r\n clone(from: SearchCriteriaModel): void {\r\n\r\n let regionalCriterias: Immutable.List = this.getCriteriasByRegion(from.region);\r\n\r\n let position: number = regionalCriterias.findIndex(x => x.selectedAttribute.id == from.selectedAttribute.id) + 1;\r\n\r\n // Make a clone\r\n let cloned: SearchCriteriaModel = this.createCriteria(this.criteriaHelper.uniqueIdentifier(from.region.toString()), from.region.toString(), from.region, from.selectorAttributes.toArray(), null);\r\n\r\n // Insert into list\r\n regionalCriterias = regionalCriterias.insert(position, cloned) \r\n\r\n // Update map.\r\n this.criteriasByRegion = this.criteriasByRegion.set(from.region, regionalCriterias);\r\n }\r\n\r\n addAfter(toBeAdded: SearchCriteriaModel, addAfterIdentifier: string) {\r\n\r\n if (this.criteriasByRegion.has(toBeAdded.region)) {\r\n\r\n let criterias = this.criteriasByRegion.get(toBeAdded.region);\r\n\r\n if (addAfterIdentifier) {\r\n\r\n let findIndex = this.criteriasByRegion.get(toBeAdded.region).findIndex(x => x.controlId === addAfterIdentifier);\r\n criterias = criterias.insert(findIndex, toBeAdded);\r\n\r\n }\r\n else {\r\n criterias = criterias.push(toBeAdded);\r\n }\r\n\r\n this.criteriasByRegion = this.criteriasByRegion.set(toBeAdded.region, criterias);\r\n }\r\n else {\r\n\r\n this.criteriasByRegion = this.criteriasByRegion.set(toBeAdded.region, Immutable.List([toBeAdded]));\r\n\r\n }\r\n\r\n }\r\n\r\n exists(controlId: string, region: SearchCriteriaRegion): boolean {\r\n\r\n if (!this.criteriasByRegion.has(region))\r\n return false;\r\n\r\n return this.criteriasByRegion.get(region).findIndex(x => x.controlId == controlId) > -1;\r\n }\r\n\r\n existsCriteriaAttribute(selectedAttributeName: string, region: SearchCriteriaRegion): boolean {\r\n\r\n if (!this.criteriasByRegion.has(region))\r\n return false;\r\n\r\n return this.criteriasByRegion.get(region).findIndex(x => x.selectedAttribute.id == selectedAttributeName) > -1;\r\n }\r\n\r\n /** \r\n * Enables/Disables the selector attributes.\r\n * @param attributeName\r\n * @param except ignores the criteria when updating the enable status\r\n * @param status\r\n */\r\n enableAttributeExcept(attributeName: string, except: SearchCriteriaModel, status: boolean): void {\r\n\r\n let criterias: Immutable.List = this.criteriasByRegion.get(except.region);\r\n let newCriteriasList: Immutable.List = Immutable.List();\r\n criterias.forEach((c, index) => {\r\n\r\n if (c.controlId != except.controlId) {\r\n\r\n let index = c.selectorAttributes.findIndex(x => x.id == attributeName);\r\n let indexedAttribute = c.selectorAttributes.get(index);\r\n indexedAttribute.enabled = status;\r\n\r\n let newCriteria = c.setControlId(c.controlId);\r\n newCriteriasList = newCriteriasList.push(newCriteria);\r\n\r\n } else newCriteriasList = newCriteriasList.push(c);\r\n \r\n\r\n });\r\n\r\n this.criteriasByRegion = this.criteriasByRegion.set(except.region, newCriteriasList);\r\n\r\n }\r\n\r\n isAttributeSelected(attributeName: string, region: SearchCriteriaRegion): boolean {\r\n\r\n return !!this.getCriteriasByRegion(region).find(x => x.selectedAttribute.id == attributeName);\r\n\r\n }\r\n\r\n emptyCriterias(): void {\r\n this.criteriasByRegion = this.criteriasByRegion.clear();\r\n }\r\n\r\n hasMatchingData(confPropertiesserverCriterias: Map>): boolean {\r\n\r\n if (confPropertiesserverCriterias.size == 0 && this.getCriteriasByRegion(SearchCriteriaRegion.ConfProperty).size == 0)\r\n return true;\r\n\r\n let confPropertyCriterias = this.getCriteriasByRegion(SearchCriteriaRegion.ConfProperty);\r\n let keys = Array.from(confPropertiesserverCriterias.keys());\r\n for (let key of keys) {\r\n\r\n if (confPropertyCriterias.findIndex(x => x.controlId == key) < 0)\r\n return false;\r\n }\r\n \r\n return true;\r\n }\r\n\r\n /**\r\n * TODO: Need more refactoring.\r\n * @param attributeName\r\n * @param region\r\n * @param selectorAttributes\r\n * @param controlId\r\n */\r\n updateSelectedAttributeField(attributeName: string, region: SearchCriteriaRegion, selectorAttributes?: Array, controlId?: string): void {\r\n\r\n let criterias = this.criteriasByRegion.get(region);\r\n if (!criterias)\r\n return;\r\n\r\n let newCriterias: Immutable.List = Immutable.List();\r\n\r\n let updateCriteria: (ct: SearchCriteriaModel) => SearchCriteriaModel = (ct) => {\r\n\r\n // Update the selector attributes if they provided.\r\n if (selectorAttributes)\r\n ct = ct.setSelectorAttributes(Immutable.List(selectorAttributes));\r\n\r\n let prevSelectedAttrName = attributeName ? attributeName : ct.selectedAttribute.id;\r\n\r\n // Fetch out the new selected attribute field and set it to criteria.\r\n let newSelectedAttribute = ct.selectorAttributes.find(x => x.id === prevSelectedAttrName);\r\n\r\n if (newSelectedAttribute)\r\n ct = ct.setSelectedAttribute(newSelectedAttribute);\r\n\r\n else ct = ct.setSelectedAttribute(selectorAttributes[0]);\r\n\r\n return ct;\r\n };\r\n\r\n if (controlId) {\r\n\r\n let index = criterias.findIndex(x => x.controlId == controlId);\r\n\r\n if (index < 0)\r\n return;\r\n\r\n let ct = criterias.get(index);\r\n ct = updateCriteria(ct);\r\n\r\n criterias = criterias.remove(index);\r\n criterias = criterias.insert(index, ct);\r\n this.criteriasByRegion = this.criteriasByRegion.set(region, criterias);\r\n\r\n return;\r\n }\r\n\r\n\r\n for (let index = 0; index < criterias.size; index++) {\r\n\r\n let ct = criterias.get(index);\r\n\r\n if (ct.selectedAttribute.id === attributeName)\r\n ct = updateCriteria(ct);\r\n \r\n newCriterias = newCriterias.push(ct);\r\n }\r\n\r\n this.criteriasByRegion = this.criteriasByRegion.set(region, newCriterias);\r\n }\r\n\r\n\r\n removeCriteria(criteria: SearchCriteriaModel): void {\r\n\r\n let region = criteria.region;\r\n let criterias = this.criteriasByRegion.get(criteria.region);\r\n\r\n let index = criterias.findIndex(x => x.controlId == criteria.controlId);\r\n\r\n if (index < 0)\r\n return;\r\n \r\n criterias = criterias.remove(index); \r\n this.criteriasByRegion = this.criteriasByRegion.set(region, criterias);\r\n \r\n }\r\n\r\n removeParameters(): void {\r\n this.criteriasByRegion = this.criteriasByRegion.remove(SearchCriteriaRegion.Parameter);\r\n }\r\n\r\n updateSelectorAttributesByRegion(region: SearchCriteriaRegion, selectorAttributes: Array): void {\r\n\r\n let criterias = this.getCriteriasByRegion(region);\r\n criterias.forEach(criteria => {\r\n\r\n this.updateSelectedAttributeField(criteria.selectedAttribute.id, region, selectorAttributes);\r\n\r\n });\r\n\r\n }\r\n\r\n getCriteriasByRegion(region: SearchCriteriaRegion): Immutable.List {\r\n return this.criteriasByRegion.get(region) || Immutable.List();\r\n }\r\n\r\n \r\n\r\n}","import {\r\n Component, Inject, ContentChildren, QueryList, ViewChildren,\r\n Output, EventEmitter, Input, SimpleChanges, ViewChild,\r\n ChangeDetectionStrategy, ChangeDetectorRef\r\n} from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport * as Immutable from \"immutable\";\r\n\r\nimport { BaseComponent } from \"../../../shared\";\r\nimport { SearchCriteriaModel, AttributeField, SearchCriteriaRegion, SearchValueControlType, SearchCriteriaValueEventArgs } from \"./models\";\r\nimport { SearchCriteriaModelsProvider } from \"./providers/searchCriteriaModelsProvider\";\r\nimport { SearchCriteriaHelper } from \"./providers/searchCriteriaHelper\";\r\nimport { DateRangeCalculator } from \"./providers/dateRangeCalculator\";\r\nimport { SearchCriteriaDataProvider } from \"./providers/searchCriteriaDataProvider\";\r\nimport { SearchDataStore } from \"../../../shared/providers/searchData\";\r\nimport { SearchCriteriaComponent } from \"./criteria/searchCriteriaComponent\";\r\nimport { ModelFactory, RouteNames } from \"../../../shared/providers\";\r\nimport { ConfigurationSearch, ConfSearchCriteria, ConfDataProperty, Param, ConfSearchProperty, ConfSearchParameter, Product } from \"../../../shared/models\";\r\nimport { InputViewModel, NotificationService, NotificationInfo, NotificationType } from \"../../../../shared/components\";\r\nimport { ConfigurationSearchPopupComponent } from \"../../popups\";\r\nimport { GlobalDataStore } from \"../../../shared/providers/globalData\";\r\nimport { MultiSelectInputComponent } from \"./criteria\";\r\nimport { CoCheckboxComponent } from \"../../../../shared/components/checkbox\";\r\nimport { AccountDataStore } from \"../../../shared/providers/accountData\";\r\n\r\n@Component({\r\n selector: 'search-filter',\r\n templateUrl: './searchFilterComponent.html',\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n providers: [SearchCriteriaModelsProvider, SearchCriteriaHelper, SearchCriteriaDataProvider, DateRangeCalculator]\r\n})\r\nexport class SearchFilterComponent extends BaseComponent {\r\n\r\n private groupedServerCriterias: Map>> = new Map>>();\r\n\r\n @Input()\r\n public configurationSearch: ConfigurationSearch;\r\n\r\n @Input()\r\n public searchSessionId: number;\r\n\r\n public static readonly CONF_PROPERTY_PRODUCT_ID = 'ProductId';\r\n\r\n @Output()\r\n performSearch = new EventEmitter();\r\n\r\n @Output()\r\n filterChanged = new EventEmitter();\r\n\r\n public confPropertyCriterias: Immutable.List = Immutable.List();\r\n public paramCriterias: Immutable.List = Immutable.List();\r\n\r\n public searchAttributes: Array = [];\r\n\r\n public width: string = \"100%\";\r\n\r\n public saveSearchText: string;\r\n public saveSearchIcon: string;\r\n public canSaveSearch = true;\r\n\r\n public modelsReady = false;\r\n\r\n public showIncludeChildren = false;\r\n public includeChildrenView: InputViewModel;\r\n\r\n public showIncludePreviousRevisions = false;\r\n public includePreviousRevisionsView: InputViewModel;\r\n\r\n @ViewChildren(SearchCriteriaComponent)\r\n public criteriaComponents: QueryList;\r\n\r\n @ViewChild(ConfigurationSearchPopupComponent)\r\n public saveSearchPopup: ConfigurationSearchPopupComponent;\r\n\r\n @ViewChild(CoCheckboxComponent)\r\n protected checkbox: CoCheckboxComponent;\r\n\r\n constructor(\r\n @Inject(SearchCriteriaModelsProvider) public modelsProvider: SearchCriteriaModelsProvider,\r\n @Inject(SearchCriteriaDataProvider) public searchCriteriaDataProvider: SearchCriteriaDataProvider,\r\n @Inject(SearchCriteriaHelper) public criteriaHelper: SearchCriteriaHelper,\r\n @Inject(SearchDataStore) public searchDataStore: SearchDataStore,\r\n @Inject(ModelFactory) public modelFactory: ModelFactory,\r\n @Inject(ChangeDetectorRef) public cd: ChangeDetectorRef,\r\n @Inject(GlobalDataStore) public globalDataStore: GlobalDataStore,\r\n @Inject(ActivatedRoute) public activatedRoute: ActivatedRoute,\r\n @Inject(NotificationService) public notificationService: NotificationService,\r\n @Inject(AccountDataStore) public accountDataStore: AccountDataStore,\r\n ) {\r\n super();\r\n }\r\n\r\n trackCriteria(index, criteria: SearchCriteriaModel) {\r\n return criteria ? criteria.controlId + \"_\" + criteria.selectedAttribute?.id : undefined;\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.configurationSearch = this.configurationSearch || this.modelFactory.createAny(ConfigurationSearch.name);\r\n\r\n this.setIncludeChildrenSearch();\r\n //// If parameters exist in sub routing It means server request is made, ngOnChanges must be called for subscequent requests and that method must update the criterias.\r\n //let isServerRequest = subRoute && subRoute.url && subRoute.url.length > 0;\r\n //if (isServerRequest) { \r\n\r\n this.setLabels(); \r\n this.createIncludeChildrenView(this.configurationSearch && this.configurationSearch.searchChildren ? true : false);\r\n this.createIncludePreviousRevisionsView(this.configurationSearch && this.configurationSearch.includePreviousRevisions ? true : false);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n\r\n // This code is used to update after the user has saved a search.\r\n if (changes['configurationSearch']) {\r\n\r\n this.setLabels();\r\n\r\n // Don't need to repopulate on 'configurationSearch' data change\r\n if (this.modelsProvider.getCriteriasByRegion(SearchCriteriaRegion.ConfProperty).size > 0)\r\n return;\r\n\r\n this.updateConfSearch();\r\n\r\n if (this.configurationSearch && this.configurationSearch.searchCriterias) {\r\n this.updateCriterias(); \r\n this.createIncludeChildrenView(this.configurationSearch.searchChildren);\r\n this.createIncludePreviousRevisionsView(this.configurationSearch.includePreviousRevisions);\r\n }\r\n \r\n this.addDefaultCriterias(this.defaultCriteriaNames);\r\n }\r\n\r\n }\r\n\r\n protected createIncludeChildrenView(value: boolean) {\r\n\r\n this.includeChildrenView = new InputViewModel();\r\n this.includeChildrenView.value = value;\r\n this.includeChildrenView.title = this.strings.IncludeChildren;\r\n\r\n }\r\n\r\n protected createIncludePreviousRevisionsView(value: boolean) {\r\n this.showIncludePreviousRevisions = !this.globalSettings.disableRevisionManagement;\r\n this.includePreviousRevisionsView = new InputViewModel();\r\n this.includePreviousRevisionsView.value = value && this.showIncludePreviousRevisions;\r\n this.includePreviousRevisionsView.title = this.strings.IncludePreviousRevisions;\r\n }\r\n\r\n public setIncludeChildrenSearch(anyProductSelected: boolean = false) {\r\n\r\n let user = this.accountDataStore.getUser();\r\n this.showIncludeChildren = user ? user.systemAuthorization.canSearchChildren && this.globalSettings.allowSearchForChildConfigurations : false;\r\n\r\n if (!anyProductSelected)\r\n return;\r\n\r\n this.criteriaComponents.forEach(component => {\r\n\r\n if (component && component.inputComponent instanceof MultiSelectInputComponent && component.inputComponent.refClassName == Product.name) {\r\n this.includeChildrenView.value = component.inputComponent.isChildSelected();\r\n return;\r\n }\r\n\r\n });\r\n\r\n this.showIncludeChildren = false;\r\n\r\n }\r\n\r\n public updateConfSearch() {\r\n let result = this.searchDataStore.getSearchDataSession(this.searchSessionId);\r\n if (result) {\r\n this.configurationSearch = result.query;\r\n }\r\n }\r\n\r\n addDefaultCriterias(confPropertyNames: Array): void {\r\n\r\n confPropertyNames.forEach((property, index) => {\r\n\r\n if (!this.modelsProvider.existsCriteriaAttribute(property, SearchCriteriaRegion.ConfProperty))\r\n this.modelsProvider.addCriteria(this.criteriaHelper.uniqueIdentifier(SearchCriteriaRegion.ConfProperty.toString()), property, this.confPropertySelectorAttributes, SearchCriteriaRegion.ConfProperty);\r\n\r\n });\r\n\r\n this.updateAllInternalCriterias();\r\n }\r\n\r\n updateCriterias() {\r\n\r\n if (!this.configurationSearch)\r\n return;\r\n\r\n // Format the existing results e.g \r\n this.groupedServerCriterias = this.criteriaHelper.groupConfSearchCriteria(this.configurationSearch.searchCriterias || Immutable.List());\r\n\r\n // Restore criterias.\r\n if (this.groupedServerCriterias.size > 0) {\r\n\r\n let serverCriterias: Map> = this.groupedServerCriterias.get(SearchCriteriaRegion.ConfProperty) || new Map>();\r\n\r\n if (!this.modelsProvider.hasMatchingData(serverCriterias))\r\n this.modelsProvider.emptyCriterias();\r\n\r\n let searchConfProperties: Immutable.List = this.globalSettings.searchConfigurationAttributes;\r\n serverCriterias.forEach((confs, key) => {\r\n\r\n let confSearchCritier: ConfSearchCriteria = confs[0];\r\n\r\n if (searchConfProperties.find(x => x.name == confSearchCritier.name)) {\r\n\r\n // Create new criteria if not exists, It happens only If page is refreshed.\r\n if (!this.modelsProvider.exists(key, SearchCriteriaRegion.ConfProperty))\r\n this.modelsProvider.addCriteria(key, confSearchCritier.name, this.confPropertySelectorAttributes, SearchCriteriaRegion.ConfProperty, null, confs);\r\n\r\n // Set the value\r\n else this.modelsProvider.setValue(key, SearchCriteriaRegion.ConfProperty, confs);\r\n\r\n }\r\n \r\n });\r\n\r\n }\r\n\r\n this.updateAllInternalCriterias();\r\n }\r\n\r\n get confPropertySelectorAttributes(): Array {\r\n\r\n let searchConfProperties: Immutable.List = this.globalSettings.searchConfigurationAttributes;\r\n let selectorAttributes: Array = new Array();\r\n\r\n // Create selector attributes for configuration properties.\r\n searchConfProperties.forEach(confProperty => {\r\n\r\n // All other configuration property values are dealt with primitive datatypes except productId.\r\n let valueType: string = confProperty.attributeType;\r\n let title: string = this.strings.getString(confProperty.title);\r\n\r\n if (confProperty.name == SearchFilterComponent.CONF_PROPERTY_PRODUCT_ID) {\r\n valueType = 'Product';\r\n //title = this.strings.Products;\r\n }\r\n\r\n selectorAttributes.push(this.criteriaHelper.getAttributeField(confProperty.name, title, SearchCriteriaRegion.ConfProperty, valueType, confProperty, false, confProperty.refClassName));\r\n\r\n });\r\n\r\n return selectorAttributes;\r\n }\r\n\r\n\r\n get defaultCriteriaNames(): Array {\r\n\r\n const visibleAttributesCount = this.globalSettings.searchAttributesImmediatelyVisible;\r\n const visibleAttributes = this.globalSettings.searchConfigurationAttributes;\r\n\r\n let resultProperties: Array;\r\n if (visibleAttributes.size < visibleAttributesCount)\r\n resultProperties = visibleAttributes.toArray();\r\n else {\r\n resultProperties = visibleAttributes.slice(0, visibleAttributesCount).toArray();\r\n }\r\n\r\n return resultProperties.map(x => x.name);\r\n }\r\n\r\n protected get globalSettings() { return this.globalDataStore.getGlobalData().globalSettings; }\r\n\r\n public setLabels() {\r\n if (this.isExistingSearch) {\r\n this.saveSearchText = this.strings.EditThisSearch;\r\n this.saveSearchIcon = \"heartfilled\";\r\n this.canSaveSearch = this.configurationSearch.authorization.canEdit;\r\n }\r\n else {\r\n this.saveSearchText = this.strings.SaveThisSearch;\r\n this.saveSearchIcon = \"heart\";\r\n this.canSaveSearch = true;\r\n }\r\n }\r\n\r\n public get isExistingSearch(): boolean {\r\n return this.configurationSearch && this.configurationSearch.longId > 0;\r\n }\r\n\r\n public addCriteria(model: SearchCriteriaModel) {\r\n\r\n this.modelsProvider.clone(model);\r\n this.enableProductAttributeStateExcept(model, false);\r\n this.updateInternalCriterias(model.region);\r\n\r\n }\r\n\r\n /**\r\n * Removes the given search criteria model.\r\n * @param model\r\n */\r\n public removeCriteria(model: SearchCriteriaModel) {\r\n\r\n this.enableProductAttributeStateExcept(model, true);\r\n this.modelsProvider.removeCriteria(model);\r\n\r\n if (!this.modelsProvider.isAttributeSelected(SearchFilterComponent.CONF_PROPERTY_PRODUCT_ID, SearchCriteriaRegion.ConfProperty)) {\r\n this.modelsProvider.removeParameters();\r\n this.setIncludeChildrenSearch();\r\n }\r\n\r\n this.updateAllInternalCriterias();\r\n\r\n }\r\n\r\n enableProductAttributeStateExcept(except: SearchCriteriaModel, enable: boolean): void {\r\n\r\n // Enable the product selection from other criterias if the removing criteria has ProductId selected.\r\n if (except.selectedAttribute && except.selectedAttribute.id == SearchFilterComponent.CONF_PROPERTY_PRODUCT_ID) {\r\n this.modelsProvider.enableAttributeExcept(SearchFilterComponent.CONF_PROPERTY_PRODUCT_ID, except, enable);\r\n }\r\n\r\n }\r\n\r\n /**\r\n * Creates a ConfigurationSearch model for the current criterias and options.\r\n */\r\n public createConfigurationSearchModel(): ConfigurationSearch {\r\n\r\n this.modelsReady = true;\r\n let searchCriterias: ConfSearchCriteria[] = [];\r\n\r\n this.criteriaComponents.forEach(component => {\r\n\r\n component.value.forEach(x => {\r\n\r\n // Push values only if parameters(MultiChoice, Bool) or ConfigProperty has value.\r\n if ((x instanceof ConfSearchParameter && x.paramValueId != null && x.paramValueId > 0) || (x.value != null && x.value !== '' && !(!x.name && (x as ConfSearchParameter).parameterId < 1))) \r\n searchCriterias.push(x); \r\n\r\n });\r\n\r\n });\r\n\r\n let includeChidConfigurations = false;\r\n // If ParentId is null, then it would only search the root configurations,\r\n includeChidConfigurations = this.globalSettings.allowSearchForChildConfigurations && (this.includeChildrenView && this.includeChildrenView.value || !this.showIncludeChildren);\r\n\r\n // If child configurations are not included then parentId = null\r\n if (!includeChidConfigurations)\r\n searchCriterias.push(this.modelFactory.createAny(ConfSearchProperty.name, { name: \"ParentId\", value: \"null\" }));\r\n\r\n if (!this.configurationSearch)\r\n this.configurationSearch = new ConfigurationSearch();\r\n\r\n this.configurationSearch = this.configurationSearch.setSearchCriterias(Immutable.List(searchCriterias));\r\n this.configurationSearch = this.configurationSearch.setSearchChildren(includeChidConfigurations);\r\n this.configurationSearch = this.configurationSearch.setIncludePreviousRevisions(this.includePreviousRevisionsView.value === \"true\");\r\n\r\n return this.configurationSearch;\r\n }\r\n\r\n public onValueChange($event: SearchCriteriaValueEventArgs) {\r\n this.executePostActionOnValueChange($event);\r\n //this.cd.markForCheck();\r\n //this.filterChanged.emit();\r\n }\r\n\r\n public onSelectorAttributeChanged($event: any) {\r\n\r\n // Active criteria & selected attribute name\r\n let criteria: SearchCriteriaModel = $event.criteria;\r\n let attributeName = $event.attributeName;\r\n\r\n // Prevent multiple products attribute selection.\r\n if (attributeName == SearchFilterComponent.CONF_PROPERTY_PRODUCT_ID || criteria.selectedAttribute.id == SearchFilterComponent.CONF_PROPERTY_PRODUCT_ID) {\r\n\r\n // Enable status for other criteria's attribute. If the is not 'ProductId', It means ProductId is no longer selected and it would \r\n // make enabled for all and vice versa.\r\n let enableStatus: boolean = attributeName != SearchFilterComponent.CONF_PROPERTY_PRODUCT_ID;\r\n this.modelsProvider.enableAttributeExcept(SearchFilterComponent.CONF_PROPERTY_PRODUCT_ID, criteria, enableStatus);\r\n this.updateInternalCriterias(SearchCriteriaRegion.ConfProperty);\r\n\r\n }\r\n \r\n // Update changed attribute.\r\n this.modelsProvider.updateSelectedAttributeField(attributeName, criteria.region, null, criteria.controlId);\r\n\r\n // Remove the previous selected attribute's value.\r\n this.modelsProvider.setValue(criteria.controlId, criteria.region, null);\r\n\r\n // Remove parameters criterias If productId is no longer selected.\r\n if (!this.modelsProvider.isAttributeSelected(SearchFilterComponent.CONF_PROPERTY_PRODUCT_ID, SearchCriteriaRegion.ConfProperty)) {\r\n this.modelsProvider.removeParameters(); \r\n }\r\n this.setIncludeChildrenSearch();\r\n\r\n // Update internal lists.\r\n this.updateAllInternalCriterias();\r\n this.filterChanged.emit();\r\n //this.cd.markForCheck();\r\n }\r\n\r\n protected updateAllInternalCriterias(): void {\r\n\r\n // System only support one product attribute selected at a time, If one product attribute is already selected then product attribute for rest of the criterias would be disabled.\r\n let attributeCriterias = this.modelsProvider.getCriteriasByRegion(SearchCriteriaRegion.ConfProperty);\r\n let productCriteria = attributeCriterias.filter(x => x.selectedAttribute.id == SearchFilterComponent.CONF_PROPERTY_PRODUCT_ID).first();\r\n if (productCriteria) {\r\n // Disable product attribute for each criteria except the one where the product attribute is selected.\r\n this.enableProductAttributeStateExcept(productCriteria, false);\r\n }\r\n\r\n this.setIncludeChildrenSearch();\r\n\r\n // As criterias are immutable, update the local data members.\r\n this.allRegions.forEach(region => this.updateInternalCriterias(region));\r\n \r\n }\r\n\r\n protected get allRegions(): Array {\r\n return [SearchCriteriaRegion.ConfProperty, SearchCriteriaRegion.Parameter];\r\n }\r\n\r\n protected updateInternalCriterias(region: SearchCriteriaRegion): void {\r\n\r\n // Update the local list to reflect these changes on DOM.\r\n switch (region) {\r\n case SearchCriteriaRegion.ConfProperty:\r\n this.confPropertyCriterias = this.modelsProvider.getCriteriasByRegion(region);\r\n break;\r\n\r\n case SearchCriteriaRegion.Parameter:\r\n this.paramCriterias = this.modelsProvider.getCriteriasByRegion(region);\r\n break;\r\n }\r\n\r\n if (!this.cd['destroyed'])\r\n this.cd.detectChanges();\r\n }\r\n\r\n\r\n protected executePostActionOnAttributeChange(attributeName: string): void {\r\n\r\n //if (attributeName == 'ProductId' && this.paramCriterias.size == 0) {\r\n\r\n // this.modelsProvider.addCriteria(this.criteriaHelper.uniqueIdentifier(Param.name), this.strings.SelectParameter, [this.emptyParamField], SearchCriteriaRegion.Parameter);\r\n // this.updateInternalCriterias(SearchCriteriaRegion.Parameter);\r\n\r\n //}\r\n }\r\n\r\n protected executePostActionOnValueChange(event: SearchCriteriaValueEventArgs) {\r\n\r\n let selectorAttributeName = event.criteria.selectedAttribute.id;\r\n if (selectorAttributeName == SearchFilterComponent.CONF_PROPERTY_PRODUCT_ID) {\r\n\r\n // If no products are selected.\r\n if (event.value.length == 0) {\r\n this.modelsProvider.removeParameters();\r\n this.setIncludeChildrenSearch(false);\r\n this.updateAllInternalCriterias();\r\n return;\r\n }\r\n else\r\n this.setIncludeChildrenSearch(true);\r\n\r\n // Read matched parameters.\r\n this.searchCriteriaDataProvider.getMatchingParams(event.value).then(params => {\r\n\r\n // Sort the parameters.\r\n params = params.sort(function (a, b) {\r\n if (a.title < b.title) { return -1; }\r\n if (a.title > b.title) { return 1; }\r\n return 0;\r\n });\r\n\r\n // Create attribute fields.\r\n let selectorAttributes: Array = new Array(this.emptyParamField);\r\n params.forEach(param => selectorAttributes.push(this.criteriaHelper.getAttributeField(param.visualObjectId.toString(), param.title, SearchCriteriaRegion.Parameter, param.className, param, false, param.className)));\r\n\r\n this.modelsProvider.updateSelectorAttributesByRegion(SearchCriteriaRegion.Parameter, selectorAttributes);\r\n\r\n let paramServerCriterias = this.groupedServerCriterias.get(SearchCriteriaRegion.Parameter);\r\n if (paramServerCriterias && paramServerCriterias.size > 0) {\r\n\r\n paramServerCriterias.forEach((confs, index) => {\r\n\r\n let confParamCriteria: ConfSearchParameter = confs[0] as ConfSearchParameter;\r\n\r\n if (!this.modelsProvider.exists(index, SearchCriteriaRegion.Parameter))\r\n this.modelsProvider.addCriteria(index, this.strings.SelectParameter, selectorAttributes, SearchCriteriaRegion.Parameter);\r\n\r\n // TODO: Add, update and set values can be done in one go.\r\n this.modelsProvider.updateSelectedAttributeField(confParamCriteria.parameterId.toString(), SearchCriteriaRegion.Parameter, selectorAttributes, index);\r\n this.modelsProvider.setValue(index, SearchCriteriaRegion.Parameter, confs);\r\n \r\n });\r\n }\r\n else {\r\n\r\n // Create parameter criteria, This part would only be executed if ConfProperty.ProductId and values are selected first time.\r\n let clientCriterias = this.modelsProvider.getCriteriasByRegion(SearchCriteriaRegion.Parameter);\r\n if (!clientCriterias || clientCriterias.size == 0) {\r\n this.modelsProvider.addCriteria(this.criteriaHelper.uniqueIdentifier(SearchCriteriaRegion.Parameter.toString()), this.strings.SelectParameter, selectorAttributes, SearchCriteriaRegion.Parameter);\r\n }\r\n }\r\n\r\n this.updateInternalCriterias(SearchCriteriaRegion.Parameter);\r\n });\r\n }\r\n }\r\n\r\n protected get emptyParamField() { return this.criteriaHelper.getAttributeField('-1', this.strings.SelectParameter, SearchCriteriaRegion.Parameter, null, null, true); };\r\n\r\n public search() {\r\n let confSearchModel = this.createConfigurationSearchModel();\r\n this.performSearch.emit(confSearchModel);\r\n }\r\n\r\n public saveSearch() {\r\n this.createConfigurationSearchModel();\r\n this.saveSearchPopup.show();\r\n }\r\n}","
\r\n
\r\n \r\n \r\n 0\"\r\n (onAdd)=\"addCriteria(criteria)\"\r\n (onRemove)=\"removeCriteria(criteria)\"\r\n (onValueChange)=\"onValueChange($event)\"\r\n (selectionChanged)=\"onSelectorAttributeChanged($event)\"\r\n class=\"col-auto px-0 pb-4\">\r\n\r\n
0\">
\r\n\r\n 0\"\r\n (onAdd)=\"addCriteria(criteria)\"\r\n (onRemove)=\"removeCriteria(criteria)\"\r\n (onValueChange)=\"onValueChange($event)\"\r\n (selectionChanged)=\"onSelectorAttributeChanged($event)\"\r\n class=\"col-auto px-0 pb-4\">\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, ViewEncapsulation, Inject, ViewChild, ElementRef, ChangeDetectorRef, HostListener, ChangeDetectionStrategy, Output } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { RouteRedirector } from \"../../../shared/providers\";\r\nimport { DataRowView, DataCellView, ValueChangeEventArgs, InputViewModel, SizeUtility } from \"../../../../shared/components/shared\";\r\nimport { BaseComponent } from \"../../../shared\";\r\nimport { GlobalSettings, ConfDataProperty, ConfSearchResultItem } from \"../../../shared/models\";\r\nimport { ConfiguratorStore, ConfRouteParams } from \"../../providers\";\r\nimport { SearchDataStore } from \"../../../shared/providers/searchData\";\r\nimport { GlobalDataStore } from \"../../../shared/providers/globalData\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { SearchSessionData } from \"../../../shared/state\";\r\nimport { ConfSearchModelCacheService } from \"../confSearchModelCacheService\";\r\nimport { QuerySourceTypes } from \"../../../shared/models/responses/searchResult\";\r\nimport { ComparisonUrlParams } from \"../../comparison/components/dragDrop/models/comparisonUrlParams\";\r\nimport { ComparisonHelper } from \"../../comparison\";\r\nimport { NotificationService, NotificationInfo, NotificationType } from \"../../../../../core/shared/components\";\r\nimport { SearchSelectionCacheService } from \"./searchSelectionCacheService\";\r\nimport { SearchDataRowView } from \"./searchDataRowView\";\r\nimport { SearchResultsDataHandler } from \"./searchResultsDataHandler\";\r\nimport { PagerModel } from \"../../../shared/components/pager/pagerModel\";\r\nimport { PagerService } from \"../../../shared/components/pager/pagerService\";\r\n\r\n@Component({\r\n selector: 'search-result',\r\n templateUrl: './searchResultComponent.html'\r\n})\r\nexport class SearchResultComponent extends BaseComponent {\r\n\r\n public rows: Immutable.List = Immutable.List();\r\n public columns: Array = [];\r\n public databaseMode: boolean;\r\n public searchSessionId: number = null;\r\n public showCompareButton: boolean = false;\r\n public enableComparison: boolean = false;\r\n\r\n public pagerModel: PagerModel;\r\n\r\n public messageSubscription: Subscription;\r\n\r\n constructor(\r\n @Inject(ActivatedRoute) public activatedRoute: ActivatedRoute, \r\n @Inject(SearchDataStore) public searchDataStore: SearchDataStore,\r\n @Inject(GlobalDataStore) public globalDataStore: GlobalDataStore,\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ComparisonHelper) public helper: ComparisonHelper,\r\n @Inject(SearchResultsDataHandler) public searchDataHandler: SearchResultsDataHandler,\r\n @Inject(NotificationService) public notificationService: NotificationService,\r\n public routeRedirector: RouteRedirector,\r\n public searchModelCache: ConfSearchModelCacheService,\r\n public comparisonSelection: SearchSelectionCacheService,\r\n public cd: ChangeDetectorRef,\r\n public pagerService: PagerService\r\n ) {\r\n super();\r\n this.pagerModel = this.pagerService.create();\r\n }\r\n\r\n ngOnInit() {\r\n let result: SearchSessionData;\r\n\r\n let searchSessionId = this.activatedRoute.snapshot.params[\"searchSessionId\"];\r\n\r\n this.unblockUI();\r\n\r\n if (isNaN(parseInt(searchSessionId))) {\r\n result = this.activatedRoute.snapshot.data['searchResult'] as SearchSessionData;\r\n if (result === null || result.searchSessionId == null)\r\n return;\r\n\r\n searchSessionId = result.searchSessionId;\r\n }\r\n else {\r\n // TODO: Do we need to redirect, because resolver won't let it through this fuction.\r\n if (this.searchModelCache && !this.searchModelCache.dataLoaded)\r\n return;\r\n\r\n result = this.searchDataStore.getSearchDataSession(parseInt(searchSessionId));\r\n\r\n if (result === null)\r\n return;\r\n }\r\n\r\n this.loadData(result);\r\n this.databaseMode = this.searchModelCache.querySourceType == QuerySourceTypes.Database;\r\n\r\n this.enableComparison = this.globalSettings.enableCompareConfigurations;\r\n }\r\n\r\n /** Calculate the column width */\r\n protected columnStyle(colIndex: number) {\r\n let totalWidth = 0;\r\n let noOfZeroWidthColumns = 0;\r\n\r\n let columnWidth = this.uiSettings.search.columnSizes.length > colIndex ? this.uiSettings.search.columnSizes[colIndex] : null;\r\n\r\n for (let i = 0; i < this.globalSettings.searchResultAttributes.count(); i++) {\r\n let colSize = this.uiSettings.search.columnSizes.length > i ? this.uiSettings.search.columnSizes[i] : 0;\r\n totalWidth += colSize;\r\n if (colSize <= 0)\r\n noOfZeroWidthColumns++;\r\n }\r\n\r\n if (totalWidth == 0 && noOfZeroWidthColumns > 0)\r\n return { \"width\": 100 / noOfZeroWidthColumns + \"%\" };\r\n\r\n let defaultWidth = totalWidth / this.globalSettings.searchResultAttributes.count();\r\n\r\n if (columnWidth == null || columnWidth <= 0)\r\n columnWidth = defaultWidth;\r\n\r\n totalWidth = totalWidth + (noOfZeroWidthColumns * defaultWidth);\r\n columnWidth = (columnWidth / totalWidth) * 100;\r\n\r\n return { \"width\": columnWidth + \"%\" };\r\n }\r\n\r\n loadData(searchSessionData: SearchSessionData): void {\r\n this.columns = [];\r\n\r\n this.globalSettings.searchResultAttributes.forEach((property, index: number) => {\r\n let classes = \"clickable\";\r\n if (property.name === this.searchModelCache.sortingArgument.field) {\r\n classes += this.searchModelCache.sortingArgument.descending ? \" caret-down\" : \" caret-up\"\r\n }\r\n\r\n let columnView: DataCellView = {\r\n contents: this.strings.getString(property.title),\r\n classes: classes,\r\n safeStyle: this.columnStyle(index),\r\n tag: property,\r\n };\r\n\r\n this.columns.push(columnView);\r\n });\r\n \r\n this.rows = this.rows.clear();\r\n\r\n this.searchModelCache.sortingArgument.descending = searchSessionData.sortingInfo.descending;\r\n this.searchModelCache.sortingArgument.field = searchSessionData.sortingInfo.key;\r\n this.searchSessionId = searchSessionData.searchSessionId;\r\n\r\n this.pagerService.update(searchSessionData.paginationInfo, this.pagerModel);\r\n\r\n if (searchSessionData.confSearchResultItems) {\r\n\r\n // Show comparison buttons if results found.\r\n this.showCompareButton = searchSessionData.confSearchResultItems.size > 0;\r\n\r\n searchSessionData.confSearchResultItems.forEach(confSearchResultItem => {\r\n let conf = this.confStore.getConf(confSearchResultItem.configurationId, confSearchResultItem.confSessionId);\r\n let rowView: SearchDataRowView;\r\n rowView = { cells: [], classes: \"configuration-link\" };\r\n rowView.tag = confSearchResultItem;\r\n rowView.id = confSearchResultItem.configurationId.toString();\r\n rowView.view = { id: rowView.id, value: this.comparisonSelection.selected(Number(rowView.id))} as InputViewModel;\r\n\r\n this.globalSettings.searchResultAttributes.forEach(searchResultProperty => {\r\n\r\n let value = \"\";\r\n let confPropertyValue = conf.confPropertyValues.find(confPropertyValue => confPropertyValue.propertyName == searchResultProperty.name);\r\n if (confPropertyValue)\r\n value = confPropertyValue.keyAndValue.value;\r\n\r\n rowView.cells.push({ contents: value, classes: \"ellipsis-wrap link-detail\" } as DataCellView)\r\n });\r\n\r\n this.rows = this.rows.push(rowView);\r\n });\r\n\r\n this.setCompareButtonVisibility();\r\n }\r\n\r\n if (!this.cd['destroyed'])\r\n this.cd.markForCheck();\r\n }\r\n\r\n public sort(property: ConfDataProperty) {\r\n\r\n // Sort on the property.\r\n this.searchModelCache.sortingArgument.field = property.name;\r\n this.searchModelCache.sortingArgument.descending = !this.searchModelCache.sortingArgument.descending;\r\n\r\n this.searchDataHandler.performSearch(this.searchModelCache.searchModel);\r\n\r\n \r\n }\r\n\r\n public pagerUpdated() {\r\n this.searchModelCache.pagerModel = this.pagerModel;\r\n this.comparisonSelection.pagingScope = true;\r\n this.searchDataHandler.performSearch(this.searchModelCache.searchModel);\r\n\r\n }\r\n\r\n public trackHeader(index: number, headerColumn: DataCellView): any {\r\n // contents + classes is an unique pair.\r\n return headerColumn.contents + headerColumn.classes;\r\n } \r\n\r\n public trackRow(index: number, row: DataRowView): any {\r\n return (row.tag as ConfSearchResultItem).configurationId;\r\n }\r\n\r\n public get globalSettings(): GlobalSettings {\r\n return this.globalDataStore.getGlobalData().globalSettings;\r\n }\r\n\r\n /**\r\n * Triggers on configuration selection change for comparison.\r\n * @param event\r\n */\r\n onCompareSelectionChanged(event: ValueChangeEventArgs, row: SearchDataRowView): void {\r\n\r\n if (Boolean(event.value) && this.hasReachedTheLimit()) {\r\n\r\n this.notifyMaxLimit(); \r\n event.component.cancelValue(false);\r\n \r\n return;\r\n }\r\n\r\n // Update the checked status.\r\n row.view.value = Boolean(event.value);\r\n\r\n // Add into cache\r\n this.comparisonSelection.add(Number(event.actionView.id), Boolean(event.value));\r\n\r\n // Sets the visibility for compare button\r\n this.setCompareButtonVisibility();\r\n }\r\n\r\n /**\r\n * Sets the visibility of compare button.\r\n * */\r\n setCompareButtonVisibility() {\r\n\r\n this.showCompareButton = this.comparisonSelection.selectedIds.length > 1;\r\n\r\n }\r\n\r\n /**\r\n * Redirects to comparison page.\r\n * @param event\r\n */\r\n onCompareConfigurations(event): void {\r\n\r\n this.blockUI();\r\n\r\n let selectedConfIds: Array = this.comparisonSelection.selectedIds;\r\n\r\n // Define params\r\n let params = new ComparisonUrlParams();\r\n params.ids = this.helper.comparisonId(selectedConfIds);\r\n params.path = '0';\r\n \r\n // Redirect\r\n this.routeRedirector.redirectToComparison(params);\r\n\r\n }\r\n\r\n /**\r\n * Notifies if the length of selected configurations does not meet the requirements.\r\n * @param selectedConfs\r\n */\r\n hasReachedTheLimit(): boolean {\r\n return this.comparisonSelection.selectedIds.length == this.globalSettings.maxConfigurationsInComparison; \r\n }\r\n\r\n notifyMaxLimit() {\r\n\r\n this.notificationService.notify( {\r\n title: this.strings.Warning,\r\n message: this.strings.MaximumLimitForComparingConfigurations.replace('{0}', this.globalSettings.maxConfigurationsInComparison.toString()),\r\n type: NotificationType.Warning,\r\n selfClose: true,\r\n identifier: \"warning-compare\",\r\n sync: true\r\n });\r\n\r\n }\r\n\r\n onConfigurationClick($event, row: ConfSearchResultItem) {\r\n // Avoid navigation on checkbox click\r\n if($event && $event.target && $event.target.nodeName == 'TD')\r\n this.routeRedirector.redirectToSummary({ id: row.configurationId, confSessionId: row.confSessionId });\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.messageSubscription)\r\n this.messageSubscription.unsubscribe();\r\n\r\n // Clear the cache only if user quits the search results.\r\n if (!this.comparisonSelection.pagingScope)\r\n this.comparisonSelection.clear();\r\n\r\n else this.comparisonSelection.pagingScope = false;\r\n\r\n }\r\n\r\n}","
\r\n\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n

{{strings.SearchResult}}

\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n 0; else empty\">\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {{column.contents}}\r\n \r\n
\r\n
\r\n {{cell.contents}}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
{{this.strings.SorryNoResultsPleaseTryAgain}}.
\r\n
\r\n
\r\n \r\n \r\n
{{this.strings.Loading}}
\r\n
\r\n\r\n
","import { Injectable, Inject } from '@angular/core';\r\nimport { SearchDataStore } from '../../../shared/providers/searchData';\r\nimport { ConfigurationSearch, SortingArgument } from '../../../shared/models';\r\nimport { ConfSearchModelCacheService } from '../confSearchModelCacheService';\r\nimport { PagerModel } from '../../../shared/components/pager/pagerModel';\r\nimport { Strings } from '../../../shared/providers/globalData';\r\nimport { ModelFactory, RouteRedirector } from '../../../shared/providers';\r\nimport { EmitterService } from '../../shared';\r\nimport { PopupIdentifiers } from '../../providers';\r\nimport { BlockUIService } from '../../../../shared/components/blockUI';\r\nimport { PagerService } from '../../../shared/components/pager/pagerService';\r\n\r\n@Injectable()\r\nexport class SearchResultsDataHandler {\r\n\r\n constructor(\r\n @Inject(SearchDataStore) public searchDataStore: SearchDataStore,\r\n @Inject(Strings) public strings: Strings,\r\n @Inject(RouteRedirector) public routeRedirector: RouteRedirector,\r\n @Inject(ConfSearchModelCacheService) public searchModelCache: ConfSearchModelCacheService,\r\n @Inject(ModelFactory) public modelFactory: ModelFactory,\r\n @Inject(EmitterService) public emitterService: EmitterService,\r\n @Inject(BlockUIService) public blockUIService: BlockUIService,\r\n @Inject(PagerService) public pagerService: PagerService\r\n ) { }\r\n\r\n public performSearch(configurationSearch: ConfigurationSearch) {\r\n this.emitterService.send(PopupIdentifiers.PlainUIBlock, false);\r\n this.blockUIService.start(\"blockui\");\r\n\r\n if (this.searchModelCache.dataLoading)\r\n return;\r\n\r\n // Set the data to use it in resolver.\r\n this.searchModelCache.querySearchModel = configurationSearch;\r\n\r\n if (!this.searchModelCache.pagerModel)\r\n this.searchModelCache.pagerModel = this.pagerService.create();\r\n\r\n if (!this.searchModelCache.sortingArgument)\r\n this.searchModelCache.sortingArgument = this.modelFactory.createAny(SortingArgument.name);\r\n\r\n this.searchModelCache.dataLoaded = false;\r\n this.searchModelCache.dataLoading = true;\r\n\r\n this.routeRedirector.redirectToSearch().then(x => {\r\n\r\n this.routeRedirector.redirectToSearchResult({ searchSessionId: this.searchModelCache.searchSessionId });\r\n\r\n });\r\n\r\n }\r\n\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport * as Immutable from \"immutable\";\r\n\r\n@Injectable()\r\nexport class SearchSelectionCacheService {\r\n\r\n public confsMap: Immutable.Map = Immutable.Map();\r\n\r\n public pagingScope = false;\r\n\r\n public add(id: number, value: boolean): void {\r\n this.confsMap = this.confsMap.set(id, value);\r\n }\r\n\r\n public remove(id: number) {\r\n this.confsMap = this.confsMap.remove(id);\r\n }\r\n\r\n public get selectedIds(): Array {\r\n return this.confsMap.filter((value, key) => value).keySeq().toArray(); \r\n }\r\n\r\n public selected(id: number): boolean {\r\n return this.confsMap.has(id) && this.confsMap.get(id);\r\n }\r\n\r\n public clear(): void {\r\n this.confsMap = this.confsMap.clear();\r\n }\r\n\r\n}\r\n","import { Component, ViewEncapsulation, Inject, ChangeDetectorRef } from \"@angular/core\";\r\nimport { ActivatedRoute, Router, NavigationStart } from '@angular/router';\r\n\r\nimport { AppStoreSubscriptionManager, RouteRedirector, ModelFactory, RouteNames } from \"../../shared/providers\";\r\nimport { PageComponent } from \"../../shared\";\r\nimport { SaveSearchMessage } from \"../../shared/models\";\r\nimport { ConfSearchModelCacheService } from \"./confSearchModelCacheService\";\r\n\r\nimport { SearchDataStore, SearchDataMessageProvider } from \"../../shared/providers/searchData\";\r\nimport { PageStore } from \"../../shared/providers/page\";\r\nimport { ManagedSubscription } from \"../../../shared/managedSubscription\";\r\nimport { AccountDataStore } from \"../../shared/providers/accountData\";\r\nimport { QuerySourceTypes } from \"../../shared/models/responses/searchResult\";\r\nimport { SearchSelectionCacheService } from \"./result/searchSelectionCacheService\";\r\nimport { SearchResultsDataHandler } from \"./result/searchResultsDataHandler\";\r\n\r\n@Component({\r\n encapsulation: ViewEncapsulation.None,\r\n templateUrl: './searchComponent.html',\r\n providers: [AppStoreSubscriptionManager, SearchSelectionCacheService, SearchResultsDataHandler]\r\n})\r\nexport class SearchComponent extends PageComponent {\r\n\r\n public saveMessageSubscription: ManagedSubscription;\r\n public databaseMode: boolean;\r\n public dataLoaded: boolean = true;\r\n \r\n constructor(\r\n @Inject(AppStoreSubscriptionManager) public appStoreSubscriptionManager: AppStoreSubscriptionManager,\r\n @Inject(RouteRedirector) public routeRedirector: RouteRedirector,\r\n @Inject(ConfSearchModelCacheService) public searchModelCache: ConfSearchModelCacheService,\r\n @Inject(ModelFactory) public modelFactory: ModelFactory,\r\n @Inject(SearchDataStore) public searchDataStore: SearchDataStore,\r\n @Inject(PageStore) public pageStore: PageStore,\r\n @Inject(SearchDataMessageProvider) public searchDataMesssageProvider: SearchDataMessageProvider,\r\n @Inject(AccountDataStore) public accountDataStore: AccountDataStore,\r\n @Inject(ActivatedRoute) public activatedRoute: ActivatedRoute,\r\n @Inject(SearchResultsDataHandler) public searchDataHandler: SearchResultsDataHandler,\r\n protected router: Router,\r\n protected cd: ChangeDetectorRef\r\n ) {\r\n super();\r\n \r\n }\r\n\r\n ngOnInit() {\r\n\r\n super.ngOnInit();\r\n \r\n // User can't search -> redirect to selector page.\r\n if (!this.accountDataStore.getUser().systemAuthorization.canSearchConfigurations) {\r\n this.routeRedirector.redirectToSelector();\r\n // TODO show notification or?\r\n return;\r\n }\r\n\r\n this.router.events.forEach((event) => {\r\n if (event instanceof NavigationStart) {\r\n\r\n // If the search page is opened for unsaved configurations, then databaseMode must be false, In this case we hide the Major title & search criteria for unsaved results.\r\n // But if the \"Search\" button from top header is clicked then we need to switch the databaseMode \"True\" to perform the real search.\r\n // If the \"Search\" button is clicked then Routing would be like \"search/\".\r\n if (event.url.indexOf(RouteNames.Result) < 0)\r\n this.databaseMode = true;\r\n\r\n }\r\n \r\n });\r\n\r\n this.pageStore.updateActiveRoute(RouteNames.Search);\r\n\r\n this.saveMessageSubscription = this.searchDataMesssageProvider.onMessages(SaveSearchMessage.name, {\r\n next: (messages) => {\r\n let configurationSearch = this.searchDataStore.getConfigurationSearch(messages.first().configurationSearchId);\r\n // After save perform search so that the SearchSession is updated with the latest ConfigurationSearchDto\r\n\r\n this.searchDataHandler.performSearch(configurationSearch);\r\n },\r\n listenNewEventsOnly: true\r\n });\r\n\r\n this.databaseMode = this.searchModelCache.querySourceType == QuerySourceTypes.Database;\r\n }\r\n \r\n public get subTitle() { \r\n return this.isExistingSearch ? `\"${this.searchModelCache.searchModel.title}\"` : null;\r\n }\r\n \r\n public get isExistingSearch(): boolean {\r\n return this.searchModelCache.searchModel != null && this.searchModelCache.searchModel.longId > 0;\r\n }\r\n\r\n public filterCriteriaChanged() {\r\n // Filter criteria is changed -> needs new session.\r\n //this.searchModelCache.searchSessionId = null;\r\n this.cd.detectChanges();\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.saveMessageSubscription)\r\n this.saveMessageSubscription.unsubscribe();\r\n\r\n this.searchModelCache.reset();\r\n\r\n this.appStoreSubscriptionManager.dispose();\r\n super.ngOnDestroy();\r\n }\r\n\r\n\r\n}","
\r\n \r\n
\r\n

{{strings.Search}}

\r\n {{subTitle}}\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n \r\n
\r\n\r\n \r\n
\r\n","import { Component, ViewEncapsulation, Inject, ViewChild } from \"@angular/core\";\r\nimport { BaseComponent } from \"../../shared\";\r\n\r\n@Component({\r\n templateUrl: './searchInfoComponent.html'\r\n})\r\nexport class SearchInfoComponent extends BaseComponent {\r\n\r\n \r\n}","
{{strings.ChooseFilterAndClickSearch}}
","import { Injectable, Inject } from '@angular/core';\r\nimport { Resolve, RouterStateSnapshot, ActivatedRouteSnapshot, ActivatedRoute } from '@angular/router';\r\nimport { RequestViews, SortingArgument, ConfigurationSearch } from \"../../shared/models\";\r\nimport { SearchDataStore } from \"../../shared/providers/searchData\";\r\nimport { ConfSearchModelCacheService } from \"./confSearchModelCacheService\";\r\nimport { SearchSessionData } from \"../../shared/state\";\r\nimport { PagerModel } from \"../../shared/components/pager/pagerModel\";\r\nimport { Strings } from \"../../shared/providers/globalData\";\r\nimport { ModelFactory, RouteRedirector } from \"../../shared/providers\";\r\nimport { PagerService } from '../../shared/components/pager/pagerService';\r\n\r\n@Injectable()\r\nexport class SearchResultsResolver implements Resolve {\r\n\r\n constructor(\r\n @Inject(SearchDataStore) public searchDataStore: SearchDataStore,\r\n @Inject(Strings) public strings: Strings,\r\n @Inject(ConfSearchModelCacheService) public searchModelCache: ConfSearchModelCacheService,\r\n @Inject(RouteRedirector) public routeRedirector: RouteRedirector,\r\n @Inject(ModelFactory) public modelFactory: ModelFactory,\r\n @Inject(PagerService) public pagerService: PagerService,\r\n ) { }\r\n\r\n resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise {\r\n\r\n return new Promise(resolver => {\r\n\r\n let returnEmpty = () => { return resolver(new SearchSessionData()); }\r\n\r\n // Return if data is already loaded\r\n if (this.searchModelCache && this.searchModelCache.dataLoaded) {\r\n returnEmpty();\r\n return;\r\n }\r\n\r\n // Read the configurationSearch from server if the cache is not available. eg. after refreshing.\r\n if (!this.searchModelCache || !this.searchModelCache.pagerModel) {\r\n if (!route || !route.params) {\r\n returnEmpty();\r\n return;\r\n }\r\n\r\n if (route.params.searchSessionId) {\r\n // Get the conf search from server.\r\n let searchSessionId = parseInt(route.params.searchSessionId);\r\n\r\n this.query(resolver, null, searchSessionId);\r\n }\r\n else if (route.params.confSearchId) {\r\n // Get the conf search from server.\r\n let confSearchId = parseInt(route.params.confSearchId);\r\n let confSearch = this.searchDataStore.getConfigurationSearch(confSearchId);\r\n\r\n this.query(resolver, confSearch, null);\r\n }\r\n else {\r\n returnEmpty();\r\n }\r\n }\r\n else {\r\n\r\n let sessionId: number = this.searchModelCache.searchSessionId;\r\n if (!sessionId && route.params.searchSessionId) {\r\n sessionId = parseInt(route.params.searchSessionId);\r\n }\r\n\r\n this.query(resolver, this.searchModelCache.querySearchModel, sessionId);\r\n }\r\n });\r\n }\r\n\r\n public query(resolver, configurationSearch: ConfigurationSearch, searchSessionId: number) {\r\n this.searchDataStore.queryConfs(\r\n configurationSearch,\r\n RequestViews.Search,\r\n this.searchModelCache.pagerModel ? this.searchModelCache.pagerModel.displayCountView.count : null,\r\n this.searchModelCache.pagerModel ? this.searchModelCache.pagerModel.currentPage : null,\r\n this.searchModelCache.sortingArgument,\r\n searchSessionId).subscribe(storeResponse => {\r\n\r\n this.searchModelCache.dataLoaded = true;\r\n this.searchModelCache.dataLoading = false;\r\n this.searchModelCache.pagerModel = null;\r\n this.searchModelCache.sortingArgument = null;\r\n\r\n if (!storeResponse.data) {\r\n resolver();\r\n return;\r\n }\r\n\r\n this.setData(storeResponse.data.query, storeResponse.data.searchSessionId);\r\n\r\n this.searchModelCache.querySourceType = storeResponse.data.querySourceType;\r\n // TODO: Remove the sortingArgument from cache or change the datatype to sortingInfo in cache.\r\n this.searchModelCache.sortingArgument = { field: storeResponse.data.sortingInfo.key, descending: storeResponse.data.sortingInfo.descending };\r\n\r\n resolver(storeResponse.data);\r\n\r\n // Redirect to update route data with correct search session id if it is not set\r\n if (searchSessionId === null || isNaN(searchSessionId))\r\n this.routeRedirector.redirectToSearchResult({ searchSessionId: storeResponse.data.searchSessionId });\r\n });\r\n }\r\n\r\n public setData(configurationSearch: ConfigurationSearch, searchSessionId: number) {\r\n // Set the data to use it in resolver.\r\n this.searchModelCache.searchModel = configurationSearch;\r\n this.searchModelCache.searchSessionId = searchSessionId;\r\n\r\n if (!this.searchModelCache.pagerModel)\r\n this.searchModelCache.pagerModel = this.pagerService.create();\r\n\r\n if (!this.searchModelCache.sortingArgument)\r\n this.searchModelCache.sortingArgument = this.modelFactory.createAny(SortingArgument.name);\r\n }\r\n}","import { Routes } from '@angular/router';\r\nimport { AuthGuard, RouteNames } from \"../../shared/providers\"\r\nimport { SearchResultsResolver } from \"./searchResultsResolver\";\r\nimport { SearchComponent } from \"./searchComponent\";\r\nimport { SearchResultComponent } from \"./result/searchResultComponent\";\r\nimport { SearchInfoComponent } from \"./searchInfoComponent\";\r\n\r\nexport const SearchRoutes: Routes = [\r\n {\r\n path: RouteNames.Search,\r\n component: SearchComponent,\r\n children: [\r\n {\r\n path: '', component: SearchInfoComponent, pathMatch: 'prefix', canActivate: [AuthGuard]\r\n }, \r\n {\r\n path: RouteNames.Result, component: SearchResultComponent\r\n , resolve: { searchResult: SearchResultsResolver }, runGuardsAndResolvers: \"always\", \r\n } \r\n ]\r\n }\r\n];\r\n","import * as Immutable from \"immutable\";\r\n\r\nimport { ConfUIItem, Conf } from \"../../shared/models\";\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n@Injectable()\r\nexport abstract class AbstractUIVisibilityService {\r\n\r\n public findConfUIItem(conf: Conf, longId: number): ConfUIItem; \r\n public findConfUIItem(conf: Conf, longId: number, uiItemNamesToRecurse: string[]): ConfUIItem; \r\n public findConfUIItem(conf: Conf, longId: number, uiItemNamesToRecurse: string[], uiItemNameToMatch: string): ConfUIItem\r\n public findConfUIItem(conf: Conf, longId: number, uiItemNamesToRecurse?: string[], uiItemNameToMatch?: string): ConfUIItem\r\n {\r\n if (!conf || !longId)\r\n return null;\r\n \r\n let ignoreUIItemNameCheck: boolean = false;\r\n if (!uiItemNameToMatch)\r\n ignoreUIItemNameCheck = true;\r\n \r\n return this.recursivelyFindConfUIItem(conf.uiItems, longId, uiItemNamesToRecurse, ignoreUIItemNameCheck, uiItemNameToMatch);\r\n }\r\n \r\n private recursivelyFindConfUIItem(confUIItems: Immutable.List, longId: number, uiItemNamesToRecurse: string[], ignoreUIItemNameCheck: boolean, uiItemNameToMatch: string): ConfUIItem\r\n {\r\n for (let i = 0; i < confUIItems.size; i++)\r\n {\r\n let confUIItem: ConfUIItem = confUIItems.get(i);\r\n let uiItemName = confUIItem.itemName;\r\n \r\n if ((ignoreUIItemNameCheck || uiItemName === uiItemNameToMatch) && confUIItem.id == longId)\r\n return confUIItem; \r\n\r\n if (!uiItemNamesToRecurse || uiItemNamesToRecurse.indexOf(uiItemName) > -1) {\r\n let result = this.recursivelyFindConfUIItem(confUIItem.items, longId, uiItemNamesToRecurse, ignoreUIItemNameCheck, uiItemNameToMatch);\r\n if (result)\r\n return result;\r\n } \r\n }\r\n\r\n return null;\r\n }\r\n}","import { Component, Input, ViewChild, Inject, SimpleChanges, Output, EventEmitter } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\n\r\nimport { BomColumnSetting } from \"../../../shared/models\";\r\nimport { BaseComponent } from \"../../../shared\";\r\nimport { Grid } from \"../../../shared/models/responses\";\r\nimport { GlobalDataStore } from \"../../../shared/providers/globalData\";\r\nimport { DataRowView, DataCellView } from \"../../../../shared/components\";\r\n\r\n@Component({\r\n selector: 'bom-grand-total',\r\n templateUrl: './bomGrandTotalComponent.html',\r\n})\r\nexport class BomGrandTotalComponent extends BaseComponent {\r\n\r\n @Input()\r\n public grid: Grid;\r\n\r\n public columnSettings: Immutable.List;\r\n\r\n public rows: Array = [];\r\n public columns: Array = [];\r\n\r\n constructor(\r\n @Inject(GlobalDataStore) public globalDataStore: GlobalDataStore\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void { \r\n if (changes['grid'] && this.grid) {\r\n this.createTable()\r\n }\r\n }\r\n\r\n createTable(): void {\r\n this.rows = [];\r\n this.columns = [];\r\n\r\n if (!this.columnSettings)\r\n this.columnSettings = this.globalDataStore.getGlobalData().globalSettings.bomGrandTotalColumnSettings;\r\n\r\n // GrandTotal is sent as one row containing multiple values.\r\n let grandTotal = this.grid.rows.first();\r\n if (grandTotal) {\r\n // Create a row for each grandtotal value\r\n grandTotal.values.forEach((value: string, property: string) => {\r\n let rowView: DataRowView = { cells: [], classes: \"\" };\r\n let titleCell: DataCellView = {\r\n contents: this.columnSettings.find(x => x.property == property).title,\r\n classes: 'ellipsis-wrap text-left'\r\n };\r\n rowView.cells.push(titleCell);\r\n\r\n let valueCell: DataCellView = {\r\n contents: value,\r\n classes: 'ellipsis-wrap text-left'\r\n };\r\n rowView.cells.push(valueCell);\r\n this.rows.push(rowView);\r\n });\r\n\r\n let headerColumn: DataCellView = {\r\n contents: this.strings.GrandTotal,\r\n classes: '',\r\n };\r\n this.columns.push(headerColumn);\r\n }\r\n }\r\n}"," 0\" classes=\"bom-table useBorder text-center mt-3\">\r\n \r\n \r\n \r\n {{column.contents}}\r\n \r\n \r\n \r\n \r\n \r\n {{cell.contents}}\r\n \r\n \r\n","import { Component, Input, ViewChild, Inject, SimpleChanges, Output, ChangeDetectorRef, EventEmitter } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\nimport { BomColumnSetting } from \"../../../shared/models\";\r\nimport { DataRowView, DataCellView, PopupService, PopperConfig, PopoverService, PopupInfo, PopupActions, IdentifierUtility } from \"../../../../shared/components\";\r\nimport { BaseComponent } from \"../../../shared\";\r\nimport { Grid } from \"../../../shared/models/responses\";\r\nimport { BomImagePopupComponent } from \"../../popups\";\r\nimport { PopupIdentifiers } from \"../../providers\";\r\nimport { GlobalDataStore } from \"../../../shared/providers/globalData\";\r\nimport { EmitterService } from \"..\";\r\nimport { Subscription } from \"rxjs\";\r\n\r\n@Component({\r\n selector: 'bom-table',\r\n templateUrl: './bomTableComponent.html',\r\n})\r\nexport class BomTableComponent extends BaseComponent {\r\n\r\n @Input()\r\n public detailsMode: boolean = false;\r\n\r\n @Input()\r\n public width: \"100%\";\r\n\r\n @Input()\r\n public grid: Grid;\r\n\r\n @Input()\r\n public columnSettings: Immutable.List;\r\n\r\n @Output()\r\n selectionChanged = new EventEmitter();\r\n\r\n public rows: Array = [];\r\n public columns: Array = [];\r\n public totalRow: DataRowView;\r\n public selectedRow: DataRowView;\r\n public messageSubscription: Subscription;\r\n\r\n constructor(public popupService: PopupService,\r\n public cd: ChangeDetectorRef,\r\n private globalDataStore: GlobalDataStore \r\n ) {\r\n super();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['columnSettings'] || changes['grid']) {\r\n if (this.grid && this.columnSettings)\r\n this.createTable()\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.messageSubscription = this.popupService.getMessage().subscribe((info: PopupInfo) => {\r\n\r\n if (info.id == PopupIdentifiers.BomImage && info.action == PopupActions.Closed) {\r\n this.clearIconSelection();\r\n this.cd.markForCheck();\r\n }\r\n\r\n });\r\n\r\n super.ngOnInit();\r\n }\r\n\r\n createTable(): void {\r\n this.rows = [];\r\n this.columns = [];\r\n\r\n let sortedColumns = this.columnSettings.sortBy(x => x.order);\r\n // If it is not details mode then skip columns which are details only\r\n if (!this.detailsMode)\r\n sortedColumns = sortedColumns.filter(x => !x.detailsOnly);\r\n\r\n // Get the columns in the correct order\r\n sortedColumns.forEach((column: BomColumnSetting) => {\r\n let columnView: DataCellView = {\r\n contents: column.property != \"Icon\" ? column.title : \"\",\r\n classes: 'ellipsis',\r\n width: column.width > 0 ? column.width : null,\r\n safeStyle: this.columnStyle(column.width)\r\n };\r\n this.columns.push(columnView);\r\n });\r\n\r\n this.grid.rows.forEach(rowData => {\r\n // Create a row model for each item\r\n let editableItem = !rowData.readOnly;\r\n\r\n // Create editable item row with its object ID and class to make it selectable.\r\n let rowView: DataRowView;\r\n if (editableItem) {\r\n let id = rowData.values.has(\"id\") ? rowData.values.get(\"id\") : rowData.id ? rowData.id.toString() : null\r\n rowView = { id: id, cells: [], classes: \"editableItem\" };\r\n }\r\n else\r\n rowView = { cells: [], classes: \"\" };\r\n\r\n\r\n if (rowData.warningMessage)\r\n rowView.classes += \" warning\";\r\n\r\n sortedColumns.forEach((column: BomColumnSetting) => {\r\n let valueCell: DataCellView = {\r\n id: column.property,\r\n contents: (column.property == \"Property2\" && rowData.warningMessage ? rowData.warningMessage : \"\") + rowData.values.get(column.property),\r\n classes: 'ellipsis-wrap text-' + column.columnAlignment.toLowerCase(),\r\n width: column.width > 0 ? column.width : null,\r\n safeStyle: this.columnStyle(column.width)\r\n };\r\n\r\n if (valueCell.id == \"Icon\") {\r\n valueCell.cellId = IdentifierUtility.uniqueId;\r\n }\r\n\r\n rowView.cells.push(valueCell);\r\n });\r\n\r\n this.rows.push(rowView);\r\n });\r\n\r\n this.totalRow = { cells: [], classes: 'useHover total' };\r\n\r\n sortedColumns.forEach((column: BomColumnSetting) => {\r\n let valueCell: DataCellView = {\r\n classes: 'ellipsis-wrap text-' + column.columnAlignment.toLowerCase(),\r\n width: column.width > 0 ? column.width : null,\r\n safeStyle: this.columnStyle(column.width)\r\n };\r\n // TODO - Total data is only included in this.grid.total when both cost+price is included,\r\n // should be possible to just show cost without price.\r\n valueCell.contents = this.grid.additionalData.get(column.property) || \"\";\r\n\r\n this.totalRow.cells.push(valueCell);\r\n });\r\n // Don't display empty row\r\n let hasValue = this.totalRow.cells.some(x => x.contents != null && x.contents !== \"\");\r\n if (hasValue)\r\n this.rows.push(this.totalRow);\r\n }\r\n\r\n /** Calculate the column width */\r\n public columnStyle(columnWidth: number) {\r\n let totalWidth = 0;\r\n let noOfZeroWidthColumns = 0;\r\n let noOfColumns = 0;\r\n this.columnSettings.forEach((column: BomColumnSetting, index: number) => {\r\n\r\n // don't include the non-detailsonly in normal mode.\r\n if (!this.detailsMode && column.detailsOnly)\r\n return;\r\n noOfColumns++;\r\n\r\n if (column.width <= 0)\r\n noOfZeroWidthColumns++;\r\n else\r\n totalWidth += column.width;\r\n });\r\n\r\n if (totalWidth == 0 && noOfZeroWidthColumns > 0)\r\n return { \"width\": 100 / noOfZeroWidthColumns + \"%\" };\r\n\r\n let defaultWidth = totalWidth / noOfColumns;\r\n\r\n if (columnWidth == null || columnWidth <= 0)\r\n columnWidth = defaultWidth;\r\n\r\n totalWidth = totalWidth + (noOfZeroWidthColumns * defaultWidth);\r\n columnWidth = (columnWidth / totalWidth) * 100;\r\n\r\n return { \"width\": columnWidth + \"%\" };\r\n }\r\n\r\n selectRow(row: DataRowView) {\r\n // Only editable items are clickable, otherwise null.\r\n this.selectedRow = row.id ? row : null;\r\n this.selectionChanged.emit(this.selectedRow);\r\n }\r\n\r\n public showImageRequest(event: any, cell: DataCellView) {\r\n\r\n this.clearIconSelection();\r\n cell.selected = true;\r\n\r\n // Prepare context menu Info.\r\n let info = >{\r\n id: PopupIdentifiers.BomImage,\r\n tag: cell,\r\n referenceElementId: cell.cellId,\r\n action: PopupActions.Open,\r\n containerId: \"configuratorContainer\"\r\n };\r\n\r\n this.emitterService.send>(PopupIdentifiers.BomImage, info);\r\n event.stopPropagation();\r\n \r\n }\r\n\r\n clearIconSelection(): void {\r\n \r\n for (let row of this.rows)\r\n row.cells.forEach(c => {\r\n if (c.id == 'Icon')\r\n c.selected = false;\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.messageSubscription.unsubscribe();\r\n super.ngOnDestroy();\r\n }\r\n\r\n}","
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n\r\n \r\n
\r\n {{column.contents}}\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
{{grid.warningMessage}}
\r\n
","import { Inject, Injectable } from \"@angular/core\";\r\nimport { Conf, Tab, Param } from \"../../shared/models\";\r\nimport { ConfRouteParams } from \"../providers/confRouteParams\";\r\nimport { ConfPageSessionService } from \"../providers/confPageSessionService\";\r\nimport { AbstractUIVisibilityService } from \"./abstractUIVisibilityService\";\r\nimport { RouteRedirector } from \"../../shared/providers/routeRedirector\";\r\nimport { TabDisplayStyle } from \"../../shared/providers/tabDisplayStyle\";\r\nimport { ProductDataStore } from \"../../shared/providers/productData\";\r\nimport { searchUrlQueryParam } from \"../../../shared/utils/routeParamsUtils\";\r\n\r\n@Injectable()\r\nexport class ConfVisiblityService extends AbstractUIVisibilityService {\r\n \r\n constructor(private pageSession: ConfPageSessionService, private routeRedirector: RouteRedirector, private productStore: ProductDataStore) {\r\n super();\r\n }\r\n\r\n public isVisible(confId: number): boolean {\r\n\r\n if (this.pageSession.activeConfigurationId == confId)\r\n return true;\r\n\r\n let subConfId = searchUrlQueryParam(ConfRouteParams.SUB_CONF_ID);\r\n return +subConfId == confId;\r\n }\r\n\r\n public isRoot(confId: number): boolean {\r\n return this.pageSession.activeConfigurationId == confId;\r\n }\r\n\r\n public isParamInAccordion(visualObjectId: number): boolean {\r\n\r\n let param: Param = this.productStore.getEntity(visualObjectId);\r\n if (!param)\r\n return false;\r\n\r\n let tab: Tab = this.productStore.getEntity(param.tabId);\r\n return tab && tab.displayStyle == TabDisplayStyle.Accordion || tab.displayStyle == TabDisplayStyle.AccordionChildren || tab.displayStyle == TabDisplayStyle.AccordionHeaderTab;\r\n\r\n }\r\n\r\n isSubConfVisible(): boolean {\r\n let subConfId = searchUrlQueryParam(ConfRouteParams.SUB_CONF_ID);\r\n return !!subConfId;\r\n }\r\n\r\n}","import { Inject, Component, Input, ViewContainerRef, ViewChild } from \"@angular/core\";\r\nimport { BaseComponent } from \"../../shared\";\r\nimport { RouteRedirector } from \"../../shared/providers\";\r\nimport { ConfRouteParams } from \"../providers\";\r\n\r\n@Component({\r\n selector: 'configuration-link',\r\n templateUrl: './configurationLinkComponent.html'\r\n})\r\nexport class ConfigurationLinkComponent extends BaseComponent {\r\n\r\n @Input()\r\n configurationId: number;\r\n\r\n @Input()\r\n sessionId: number;\r\n\r\n // View could be summary, compare or configurator. \r\n @Input()\r\n view: string;\r\n\r\n constructor(\r\n @Inject(RouteRedirector) public routeRedirector: RouteRedirector) {\r\n super();\r\n }\r\n\r\n public onConfigurationClick() {\r\n switch (this.view) {\r\n case \"summary\":\r\n this.routeRedirector.redirectToSummary({ id: this.configurationId, confSessionId: this.sessionId });\r\n return;\r\n case \"configurator\":\r\n this.routeRedirector.redirectToEditor({ id: this.configurationId, confSessionId: this.sessionId });\r\n return;\r\n default:\r\n throw this.strings.ErrorInvalidView;\r\n }\r\n }\r\n}","
\r\n \r\n
","import { Input, Component } from \"@angular/core\";\r\nimport { Decoration } from \"../../shared/models\";\r\nimport { VisualObjectComponent } from \"./visualObjectComponent\";\r\nimport { ConfigurationSessionManager } from \"../providers/configurationSessionManager\";\r\nimport { BaseEntity } from \"../../shared/baseEntity\";\r\nimport { DataRowView, DataCellView } from \"../../../shared/components/shared\";\r\nimport { ManagedSubscription } from \"../../../shared/managedSubscription\";\r\nimport { ConfiguratorStore, ConfPageSessionService } from \"../providers\";\r\nimport { ImageSets } from \"../../../shared/utils/imageSets\";\r\nimport { VisualObjectHelper } from \"../parameters/shared\";\r\n\r\n@Component({ template: '' })\r\nexport abstract class DecorationComponent extends VisualObjectComponent {\r\n\r\n @Input()\r\n public decoration: T;\r\n\r\n // Note! Move it to visualObjectComponent if parameters are also expandable.\r\n @Input()\r\n public growVisualObject: boolean = false;\r\n\r\n public width: string;\r\n public minWidth: string;\r\n public rows: Array = [];\r\n\r\n @Input()\r\n public showTitle?: boolean;\r\n\r\n public confDecorationSubscription: ManagedSubscription;\r\n\r\n public imageSet: string;\r\n\r\n constructor(public confStore: ConfiguratorStore,\r\n public confPageSessionService: ConfPageSessionService,\r\n public visualObjectHelper: VisualObjectHelper\r\n) {\r\n super(confStore, confPageSessionService, visualObjectHelper);\r\n }\r\n\r\n ngOnInit() {\r\n this.width = this.visualObjectHelper.visualObjectWidth(this.decoration);\r\n this.minWidth = this.visualObjectHelper.decorationsMinWidth(this.decoration);\r\n\r\n this.imageSet = this.getImageSet(ImageSets.ConfiguratorDecorationHeader);\r\n\r\n if (this.showTitle == null)\r\n this.showTitle = this.decoration.title != null && this.decoration.title.trim() != '';\r\n\r\n super.ngOnInit();\r\n }\r\n\r\n public listenChanges(): void {\r\n\r\n this.confStore.onConfDecorationValuesChange(this.configurationId, this.confPageSessionService.confSessionId, this.decoration.visualObjectId, this.itemIds,\r\n (valuesById: Map): void => {\r\n this.setValue(valuesById);\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n }\r\n\r\n ngOnDestroy() { \r\n super.ngOnDestroy();\r\n }\r\n \r\n public get itemIds(): number[] {\r\n return [];\r\n }\r\n\r\n setValue(itemValues: Map): void {\r\n\r\n }\r\n}","import { Component, Input, Inject } from \"@angular/core\";\r\n\r\nimport { DocumentsDecoration, ConfDocumentValue, Conf, RequestViews, ConfDocumentRequest } from \"../../shared/models\";\r\nimport { WebSettings } from \"../../shared/models\";\r\nimport { GlobalDataStore } from \"../../shared/providers/globalData\";\r\nimport { BaseComponent } from \"../../shared\";\r\nimport { ConfPageSessionService, ConfiguratorStore } from \"../providers\";\r\nimport { ModelFactory } from \"../../shared/providers/modelFactory\";\r\nimport { ConfDataController } from \"../../shared/providers/configurationData\";\r\nimport { PageStore } from \"../../shared/providers/page\";\r\nimport { ImageSets } from \"../../../shared/utils/imageSets\";\r\nimport { RouteNames } from \"../../shared/providers/routeNames\";\r\n\r\n@Component({\r\n selector: 'documents-link',\r\n templateUrl: './documentsLinkComponent.html'\r\n})\r\nexport class DocumentsLinkComponent extends BaseComponent {\r\n\r\n @Input()\r\n public document: ConfDocumentValue;\r\n\r\n @Input()\r\n public activeConfigurationId: number;\r\n\r\n @Input()\r\n public confSessionId: number;\r\n\r\n public fileType: string = \"\";\r\n\r\n public documentLink: string = \"\";\r\n\r\n public clickable: boolean = true;\r\n\r\n public icon: string = \"\";\r\n\r\n public isRemote = false;\r\n\r\n public imageSet: string;\r\n\r\n constructor(@Inject(GlobalDataStore) public globalDataStore: GlobalDataStore,\r\n @Inject(ModelFactory) public modelFactory: ModelFactory,\r\n @Inject(ConfDataController) public configuratorController: ConfDataController,\r\n @Inject(PageStore) public pageStore: PageStore\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this.isRemote = this.document.fileUrl != null;\r\n this.clickable = this.isRemote || this.document.fileExists;\r\n this.icon = this.document.fileType ? this.document.fileType : \"document\";\r\n this.documentLink = this.document.fileUrl ? this.document.fileUrl : this.getDocumentLink(this.document.longId);\r\n\r\n this.imageSet = this.getImageSet(this.pageStore.activeRouteName === RouteNames.Editor ? ImageSets.ConfiguratorDecoration : ImageSets.SummaryActionDetail);\r\n }\r\n \r\n public getDocumentLink(documentId: number): string {\r\n let model: ConfDocumentRequest = this.modelFactory.createAny(ConfDocumentRequest.name) as any;\r\n\r\n model.client = this.pageStore.getActiveClientType();\r\n model.documentId = documentId;\r\n model.configurationId = this.activeConfigurationId;\r\n model.confSessionId = this.confSessionId;\r\n return this.configuratorController.getConfigurationDocumentUrl(model);\r\n }\r\n\r\n}","","import { Input, Component } from \"@angular/core\";\r\nimport { VisualObject } from \"../../shared/models\";\r\nimport { GlobalServiceLocator } from \"../../../shared/providers/globalServiceLocator\";\r\nimport { BaseComponent } from \"../../shared\";\r\nimport { EmitterService, IEmitDataInfo } from \"./emitterService\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { ManagedSubscription } from \"../../../shared\";\r\n\r\n@Component({ template: '' })\r\nexport abstract class EmitterComponent extends BaseComponent {\r\n\r\n private messageSubscription: ManagedSubscription;\r\n \r\n @Input()\r\n public id: string;\r\n\r\n ngOnInit() {\r\n\r\n this.messageSubscription = this.emitterService.getMessage().subscribe((info: IEmitDataInfo) => {\r\n if (info.id == this.id) {\r\n this.observer(info);\r\n }\r\n });\r\n\r\n super.ngOnInit();\r\n }\r\n\r\n protected abstract observer(data: IEmitDataInfo): void;\r\n\r\n ngOnDestroy() {\r\n\r\n if (this.messageSubscription)\r\n this.messageSubscription.unsubscribe();\r\n\r\n }\r\n\r\n}","import { Subject, Observable } from \"rxjs\";\r\nimport { ManagedSubject } from \"../../../shared/managedSubject\";\r\n\r\nexport interface IEmitDataInfo {\r\n id: string;\r\n tag: T;\r\n}\r\n\r\nexport class EmitterService {\r\n \r\n private subject = new ManagedSubject(null, false, 0, false, false); \r\n\r\n public send(id: string, tag?: T): void {\r\n\r\n let info: IEmitDataInfo = >{\r\n id: id, \r\n tag: tag\r\n }\r\n\r\n this.subject.nextValue(info);\r\n }\r\n\r\n public getMessage(): ManagedSubject {\r\n return this.subject;\r\n }\r\n\r\n}","export * from \"./emitterComponent\";\r\nexport * from \"./emitterService\";\r\nexport * from \"./visualObjectVisibilityService\";\r\nexport * from \"./tabVisibilityService\";","import { Input, ViewChild, ElementRef, Component } from \"@angular/core\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { Conf, ConfValue, Param, ConfValueErrorMessage, ConfUIItem } from \"../../shared/models\";\r\nimport { BaseEntity } from \"../../shared/baseEntity\";\r\nimport { ConfEventService, ConfEvent } from \"../providers/confEventService\";\r\nimport { InputViewModel, ValueChangeEventArgs, RestrictValueChangeEventArgs, PopupService } from \"../../../shared/components\";\r\nimport { UIEvent, UIEventService } from \"../providers/uiEventService\";\r\nimport { ConfigurationSessionManager } from \"../providers/configurationSessionManager\";\r\nimport { VisualObjectComponent } from \"./visualObjectComponent\";\r\nimport { ManagedSubscription } from \"../../../shared/managedSubscription\";\r\nimport { ParameterMandatoryService } from \"../parameters/shared/parameterMandatoryService\";\r\nimport { ConfiguratorStore, ConfPageSessionService, ConfMessageProvider } from \"../providers\";\r\nimport { AppState } from \"../../shared/state\";\r\nimport { ChangeDetectorRef } from \"@angular/core\";\r\nimport { VisualObjectHelper } from \"../parameters/shared\";\r\n\r\n@Component({ template: '' })\r\nexport abstract class ParamComponent extends VisualObjectComponent {\r\n\r\n public confChangeSubscription: ManagedSubscription;\r\n public errorSubscription: ManagedSubscription;\r\n public highlightChangeSubscription: Subscription;\r\n viewModel: InputViewModel;\r\n \r\n @Input()\r\n public parameter: T;\r\n\r\n constructor(public confStore: ConfiguratorStore,\r\n public confPageSessionService: ConfPageSessionService,\r\n public popupService: PopupService,\r\n public visualObjectHelper: VisualObjectHelper,\r\n public parameterMandatoryService: ParameterMandatoryService,\r\n public messagesProvider: ConfMessageProvider,\r\n public cd: ChangeDetectorRef\r\n ) {\r\n super(confStore, confPageSessionService, visualObjectHelper);\r\n }\r\n\r\n public listenChanges(): void {\r\n // Unsubscribe the old subscription.\r\n this.unsubscribe();\r\n\r\n this.confStore.onConfigurationValueChange(this.configurationId, this.confPageSessionService.confSessionId, this.paramId, (confValue: ConfValue): void => {\r\n this.setValue(confValue);\r\n\r\n // Might mlso need to highlight\r\n this.setHighlight(this.shouldHighlight());\r\n\r\n },\r\n (): any => this.getCurrentValue()\r\n ).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n this.highlightChangeSubscription = this.parameterMandatoryService.getMessage().subscribe(() => {\r\n // Check if mandatory highlight\r\n this.setHighlight(this.shouldHighlight());\r\n });\r\n\r\n this.errorSubscription = this.messagesProvider.onMessagesRequest(this.confSessionId, ConfValueErrorMessage.name, (x) => {\r\n // Flatten my error messages to a single array \r\n let errorMessages = Array();\r\n\r\n if (x)\r\n x.forEach(msg => {\r\n if (msg.confValueId === this.paramId) {\r\n errorMessages = errorMessages.concat(msg.message);\r\n }\r\n });\r\n\r\n this.setError(errorMessages);\r\n }, false);\r\n }\r\n\r\n onValueChange($event: ValueChangeEventArgs): void {\r\n this.setError([]);\r\n }\r\n\r\n onReadOnly($event: RestrictValueChangeEventArgs): void {\r\n }\r\n\r\n onDisallowed($event: RestrictValueChangeEventArgs): void {\r\n }\r\n\r\n onHelpClick($event): void {\r\n\r\n if (this.viewModel.enableExternalLink)\r\n return;\r\n\r\n this.popupService.open(\"help-popup\", this.parameter.longId);\r\n\r\n }\r\n\r\n /**\r\n * Toggles highlighing for this parameter.\r\n * @param highlight\r\n */\r\n public setHighlight(highlight: boolean): void {\r\n this.viewModel.highlight = highlight;\r\n this.cd.markForCheck();\r\n }\r\n\r\n\r\n /**\r\n * Returns the mandatory highlighting for this parameter.\r\n */\r\n public shouldHighlight(): boolean {\r\n return this.parameterMandatoryService.shouldHighlight(this.configurationId, this.paramId);\r\n }\r\n\r\n public setValue(confValue: BaseEntity): void {\r\n this.setError([]);\r\n }\r\n\r\n /**\r\n Returns the parameter Id. It can be overriden for param values.\r\n */\r\n public get paramId(): number {\r\n return this.parameter.visualObjectId;\r\n }\r\n\r\n public abstract getCurrentValue(): any;\r\n\r\n public abstract setError(errors: Array): void;\r\n\r\n ngOnDestroy() {\r\n this.unsubscribe();\r\n super.ngOnDestroy();\r\n }\r\n\r\n unsubscribe() {\r\n if (this.confChangeSubscription)\r\n this.confChangeSubscription.unsubscribe();\r\n\r\n if (this.highlightChangeSubscription)\r\n this.highlightChangeSubscription.unsubscribe();\r\n\r\n if (this.errorSubscription)\r\n this.errorSubscription.unsubscribe();\r\n }\r\n}","import { Input, Inject, ViewChild, Component } from \"@angular/core\";\r\nimport { UIComponent } from \"../../shared\";\r\nimport { StickableUIData, PageUIData } from \"../../shared/state\";\r\nimport { ConfiguratorUIStore, ConfigurationSessionManager, ConfPageSessionService } from \"../providers\";\r\nimport { BackdropComponent } from \"../../../shared/components\";\r\n\r\n@Component({ template: '' })\r\nexport abstract class StickableSideBarComponent extends UIComponent {\r\n\r\n // More styles\r\n public moreStyles: string = \"\";\r\n\r\n public ui: StickableUIData;\r\n\r\n @ViewChild(BackdropComponent)\r\n public backdrop: BackdropComponent;\r\n\r\n constructor(\r\n public confUIStore: ConfiguratorUIStore,\r\n public storeSession: ConfPageSessionService) {\r\n super(confUIStore);\r\n }\r\n\r\n public ngOnInit(): void {\r\n\r\n // Get the store ui state, so that we could set the default settings.\r\n this.ui = this.uiState;\r\n\r\n super.ngOnInit();\r\n }\r\n\r\n public onClosed(): void {\r\n this.updateVisibility(false);\r\n }\r\n\r\n public onOpenStart(): void {\r\n // this.expanded = true;\r\n }\r\n\r\n public show(): void {\r\n this.setBackdrop();\r\n this.backdrop.popup.open();\r\n }\r\n\r\n public hide(): void {\r\n this.setBackdrop();\r\n this.backdrop.popup.close();\r\n }\r\n\r\n beforeUILoad(uiData: PageUIData): void {\r\n this.onUIDataChange(uiData);\r\n }\r\n\r\n onUIDataChange(uiData: PageUIData): void {\r\n\r\n // Update the local data member.\r\n this.ui = this.uiState;\r\n\r\n this.updateExtraStyles();\r\n this.toggleTo(this.ui.visible);\r\n }\r\n\r\n updateExtraStyles(): void {\r\n this.moreStyles = this.ui.calcSticky ? \"inline-dock h-100\" : \"\";\r\n }\r\n\r\n /**\r\n * Sets the backdrop only If composite manager is docked inline.\r\n * TODO: Need more refactoring\r\n */\r\n setBackdrop(): void {\r\n\r\n if (this.backdrop) {\r\n\r\n // TODO: Need more investigation -> why it is coming undefined.\r\n if (this.ui.calcSticky == undefined)\r\n return;\r\n\r\n // If not sticky (i.e floated) and visible then show the backdrop.\r\n this.backdrop.visible = !this.ui.calcSticky && this.ui.visible;\r\n }\r\n }\r\n\r\n /**\r\n * Toggles the sticky option\r\n */\r\n public toggleSticky(): void {\r\n }\r\n\r\n\r\n /**\r\n * Toggles the visibility\r\n */\r\n public toggleVisibility(event): void {\r\n\r\n // Toggle the visibility\r\n // TODO: Need more refactoring\r\n this.updateVisibility(!this.ui.visible);\r\n }\r\n\r\n /**\r\n * Toggles the visibility to target value.\r\n * @param targetValue\r\n */\r\n toggleTo(targetValue: boolean): void {\r\n\r\n // Temporary timeout check.\r\n // TODO: Need more refactoring\r\n setTimeout(() => {\r\n\r\n if (targetValue == undefined || this.backdrop == undefined)\r\n return;\r\n\r\n this.setBackdrop();\r\n this.backdrop.popup.toggleTo(targetValue);\r\n\r\n }, 100);\r\n }\r\n\r\n get pageId(): number {\r\n return this.storeSession.pageId;\r\n }\r\n\r\n // Returns corresponding UI State. \r\n abstract get uiState(): StickableUIData;\r\n\r\n /**\r\n * Updates the ui state.\r\n * @param sticky\r\n * @param visible\r\n */\r\n abstract updateVisibility(visible: boolean): void;\r\n\r\n abstract updateUserSticky(userSticky: boolean): void;\r\n\r\n}","import { Inject, Component, Input, ViewContainerRef, ViewChild, ChangeDetectionStrategy, ChangeDetectorRef } from \"@angular/core\";\r\nimport { BaseComponent } from \"../../shared\";\r\nimport { RouteRedirector, RouteNames } from \"../../shared/providers\";\r\nimport { ConfRouteParams, PopupIdentifiers, ConfiguratorStore, ConfPageSessionService } from \"../providers\";\r\nimport { ManagedSubscription } from \"../../../shared/managedSubscription\";\r\nimport { IEmitDataInfo } from \"./emitterService\";\r\nimport * as Immutable from \"immutable\";\r\nimport { ConfInfo, Product, ConfDataResponse, Tab, RequestViews, ConfDeleteMessage } from \"../../shared/models\";\r\nimport { ProductDataStore } from \"../../shared/providers/productData\";\r\nimport { NotificationInfo, NotificationService, NotificationType } from \"../../../shared/components\";\r\nimport { AccordionCompositeParams } from \"../components/tabs\";\r\n\r\n@Component({\r\n selector: 'tab-composite-configurations',\r\n templateUrl: './tabCompositeConfigurationsComponent.html' \r\n})\r\nexport class TabCompositeConfigurationsComponent extends BaseComponent {\r\n\r\n @Input()\r\n configurationId: number;\r\n\r\n @Input()\r\n tab: Tab;\r\n\r\n sessionId: number;\r\n isVaultIcon: boolean = false;\r\n iconKey: string;\r\n addChildLinkTitle: string;\r\n \r\n private messageSubscription: ManagedSubscription;\r\n\r\n childConfInfos: Immutable.List = Immutable.List();\r\n\r\n constructor(\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ProductDataStore) public productDataStore: ProductDataStore,\r\n @Inject(ConfPageSessionService) public storeSession: ConfPageSessionService,\r\n @Inject(NotificationService) public notificationService: NotificationService,\r\n @Inject(RouteRedirector) public routeRedirector: RouteRedirector, \r\n public cd: ChangeDetectorRef\r\n ) {\r\n super();\r\n this.sessionId = this.storeSession.confSessionId;\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.messageSubscription = this.emitterService.getMessage().subscribe((info: IEmitDataInfo) => {\r\n\r\n if (info.id == PopupIdentifiers.AccordionNodesUpdate) {\r\n this.updateChildConfigurations();\r\n }\r\n\r\n });\r\n\r\n this.updateChildConfigurations();\r\n\r\n this.productDataStore.getProduct(this.tab.productStructureId, (product: Product) => {\r\n this.addChildLinkTitle = `${this.strings.AddChildConfiguration} ${product.title}`;\r\n\r\n // To prevent the error message \"Attempt to use a destroyed view: detectChanges message\" on page reload.\r\n if(!this.cd['destroyed'])\r\n {\r\n this.cd.detectChanges();\r\n } \r\n });\r\n\r\n super.ngOnInit();\r\n }\r\n\r\n updateChildConfigurations() {\r\n\r\n let parentConfInfo = this.confStore.getConfInfo(this.configurationId, this.sessionId);\r\n if (!parentConfInfo)\r\n return; \r\n\r\n let confInfos = this.confStore.getChildConfInfos(parentConfInfo.longId, this.sessionId).filter(x => x.parentTabId == this.tab.longId || (x.parentTabId == null && x.productId == this.tab.productStructureId));\r\n this.childConfInfos = Immutable.List(confInfos);\r\n\r\n if (!this.cd['destroyed'])\r\n this.cd.detectChanges();\r\n\r\n this.unblockUI();\r\n }\r\n\r\n createConfiguration(event: any): void {\r\n \r\n if (!this.tab)\r\n return;\r\n\r\n this.confStore.createChildConfiguration(this.configurationId, this.tab.productStructureId, this.sessionId, this.tab.longId)\r\n .then((data: ConfDataResponse) => {\r\n\r\n // TODO: rejection here if needed.\r\n this.updateChildConfigurations();\r\n this.showConfigurationDetail(event, this.childConfInfos.last().longId);\r\n });\r\n\r\n event.preventDefault();\r\n }\r\n\r\n deleteConfiguration(confId: number): void {\r\n\r\n this.blockUI();\r\n this.confStore.deleteConfiguration(confId, this.sessionId, RequestViews.Editor).\r\n then(x => {\r\n\r\n let displayStyle = (x.messages.get(0) as ConfDeleteMessage)?.displayStyle;\r\n let title = (x.messages.get(0) as ConfDeleteMessage)?.title;\r\n let message = (x.messages.get(0) as ConfDeleteMessage)?.message;\r\n\r\n this.routeRedirector.changeParamValue(ConfRouteParams.SUB_CONF_ID, null);\r\n // Notify delete action.\r\n this.notificationService.notify({ title: title || displayStyle ? title : this.strings.Delete, message: message ? message : this.strings.ConfigurationIsDeleted, type: displayStyle ? displayStyle : NotificationType.Warning, selfClose: true });\r\n\r\n // TODO: Load the root configuration in same delete request.\r\n this.confStore.loadConf(this.storeSession.activeConfigurationId, this.storeSession.confSessionId, RequestViews.Editor).then(x => this.updateChildConfigurations());\r\n\r\n this.unblockUI();\r\n });\r\n\r\n event.preventDefault()\r\n }\r\n\r\n showConfigurationDetail(event, confId: number): void {\r\n \r\n this.routeRedirector.changeParamValue(ConfRouteParams.SUB_CONF_ID, confId.toString()); \r\n this.emitterService.send(PopupIdentifiers.AccordionCompositeShowDetail, new AccordionCompositeParams(confId, true));\r\n event.preventDefault();\r\n }\r\n\r\n ngOnDestroy() {\r\n\r\n if (this.messageSubscription)\r\n this.messageSubscription.unsubscribe();\r\n\r\n super.ngOnDestroy();\r\n }\r\n\r\n}","
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{conf.text}}\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n

\r\n {{addChildLinkTitle}}\r\n

\r\n
\r\n
","import { Inject, Injectable } from \"@angular/core\";\r\n\r\nimport { Conf, Tab } from \"../../shared/models\";\r\nimport { ConfPageSessionService } from \"../providers\";\r\nimport { AbstractUIVisibilityService } from \"./abstractUIVisibilityService\";\r\n\r\n@Injectable()\r\nexport class TabVisibilityService extends AbstractUIVisibilityService {\r\n\r\n constructor() {\r\n super(); \r\n }\r\n\r\n public isVisible(tab: Tab, conf: Conf): boolean;\r\n public isVisible(tabLongId: number, conf: Conf): boolean;\r\n public isVisible(tabObj: any, conf: Conf): boolean {\r\n\r\n if (!tabObj)\r\n return false;\r\n\r\n let longId: number;\r\n if (tabObj instanceof Tab)\r\n longId = tabObj.longId;\r\n else\r\n longId = tabObj;\r\n \r\n return this.findConfUIItem(conf, longId, [], Tab.name) != null;\r\n }\r\n}","import { Input, ViewChild, ElementRef, Component, Inject } from \"@angular/core\";\r\nimport { Conf, } from \"../../shared/models\"\r\nimport { ConfPageSessionService } from \"../providers\";\r\nimport { ConfigurationSessionManager } from \"../providers/configurationSessionManager\";\r\nimport { BaseComponent } from \"../../shared\";\r\nimport { ConfiguratorStore } from \"../providers\";\r\nimport { VisualObjectHelper } from \"../parameters/shared\";\r\nimport { GlobalServiceLocator } from \"../../../shared/providers\";\r\n\r\n@Component({ template: '' })\r\nexport abstract class VisualObjectComponent extends BaseComponent {\r\n\r\n @Input()\r\n public id: string;\r\n\r\n @Input()\r\n public configurationId: number;\r\n\r\n @ViewChild('visualObjectContainer')\r\n public visualObjectContainer: ElementRef;\r\n\r\n ngOnInit() {\r\n this.listenChanges(); \r\n }\r\n\r\n public get configuration(): Conf {\r\n return this.confStore.getConf(this.configurationId, this.confPageSessionService.confSessionId);\r\n }\r\n\r\n public get confSessionId(): number {\r\n return this.confPageSessionService.confSessionId;\r\n }\r\n\r\n constructor(public confStore: ConfiguratorStore, public confPageSessionService: ConfPageSessionService, @Inject(VisualObjectHelper) public visualObjectHelper: VisualObjectHelper) {\r\n super();\r\n }\r\n\r\n get pageId(): number {\r\n return this.confPageSessionService.pageId;\r\n }\r\n\r\n public listenChanges(): void {\r\n }\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\nimport { Tab, VisualObject, Conf, GraphicsDecoration, VisualizationDecoration } from \"../../shared/models\";\r\nimport { VisualObjectGroup } from \"./visualObjectGroup\";\r\nimport { VisualObjectGroupWrapper } from \"./visualObjectGroupWrapper\";\r\nimport { ProductDataStore } from \"../../shared/providers/productData\";\r\nimport { TabDisplayStyle } from \"../../shared/providers\";\r\nimport { VisualObjectVisibilityService } from \"./visualObjectVisibilityService\";\r\nimport { VisualObjectHelper } from \"../parameters/shared/visualObjectHelper\";\r\nimport { VisualObjectUIDataService } from \"./visualObjectUIDataService\";\r\nimport { L } from \"@angular/cdk/keycodes\";\r\n\r\n@Injectable()\r\nexport class VisualObjectContainerService {\r\n \r\n constructor(\r\n @Inject(VisualObjectVisibilityService) public visualObjectVisibilityService: VisualObjectVisibilityService,\r\n @Inject(ProductDataStore) public productStore: ProductDataStore,\r\n @Inject(VisualObjectHelper) public visualObjectHelper: VisualObjectHelper,\r\n @Inject(VisualObjectUIDataService) public visualObjectUIDataService: VisualObjectUIDataService\r\n ) { \r\n }\r\n\r\n /**\r\n * Creates the .\r\n * @param visualObjectId\r\n */\r\n create(visualObjectId: number, tab: Tab, conf: Conf): void {\r\n\r\n // Retreive visual object.\r\n let entity: VisualObject = this.productStore.getEntity(visualObjectId) as VisualObject;\r\n\r\n // Get visibility\r\n let isVisible: boolean = this.visualObjectVisibilityService.isVisualObjectVisible(conf, entity);\r\n\r\n // Deal with cached data If cache alraedy have it.\r\n if (this.visualObjectUIDataService.has(+visualObjectId)) {\r\n let cachedWrapper = this.visualObjectUIDataService.get(+visualObjectId);\r\n\r\n // Only update the object if visibility changed.\r\n if (cachedWrapper.visible != isVisible) {\r\n cachedWrapper = cachedWrapper.setVisible(isVisible);\r\n this.visualObjectUIDataService.addOrUpdate(cachedWrapper);\r\n }\r\n return;\r\n }\r\n\r\n // Deal with new models.\r\n let group = new VisualObjectGroup();\r\n group = group.setId(visualObjectId);\r\n group = group.setName(entity.title);\r\n group = group.setGrowVisualObject(this.visualObjectHelper.growVisualObject(entity, conf));\r\n group = group.setCssClass(this.getVisualObjectCssClass(entity, tab, group.growVisualObject));\r\n group = group.setHangings(Immutable.List());\r\n group = group.setVisualObject(entity);\r\n\r\n let wrapper: VisualObjectGroupWrapper = new VisualObjectGroupWrapper();\r\n wrapper = wrapper.setHanging(entity.hanging);\r\n wrapper = wrapper.setVisible(isVisible);\r\n wrapper = wrapper.setVisualObjectGroup(group);\r\n wrapper = wrapper.setLineBreak(true);\r\n wrapper = wrapper.setNewHangings(Immutable.List()); // Empty list\r\n\r\n this.visualObjectUIDataService.addOrUpdate(wrapper);\r\n }\r\n\r\n protected getVisualObjectCssClass(visualObject: VisualObject, tab: Tab, grow = false): string {\r\n\r\n let styles: string = '';\r\n if (grow) {\r\n styles = 'grow-visual-object w-100'\r\n }\r\n\r\n if (this.visualObjectHelper.visualObjectWidth(visualObject) == \"100%\") {\r\n styles += ' w-100 ';\r\n }\r\n\r\n // Distribute the room equally among all floated parameters if they don't have width.\r\n // 'col' distributes the room equally. In contrast 'col-auto' makes the width same as parameter's width.\r\n if (tab.displayStyle == TabDisplayStyle.Accordion || tab.displayStyle == TabDisplayStyle.AccordionHeaderTab) {\r\n\r\n styles += visualObject.width && visualObject.width > 0 ? ' col-auto' : ' col';\r\n\r\n } else styles += ' col-auto';\r\n \r\n return `visual-object ${visualObject.hanging ? 'hanging' : ''} ${styles} ${visualObject.className}`;\r\n }\r\n\r\n get(visualObjectId: number): VisualObjectGroupWrapper {\r\n return this.visualObjectUIDataService.get(+visualObjectId);\r\n }\r\n\r\n /**\r\n * Setup the visual object models.\r\n * @param tab\r\n */\r\n setup(tab: Tab, conf: Conf): void {\r\n // Visual objects are setup in three steps.\r\n // 1- Create the visual object models and put them in cache.\r\n // 2- Set the hangings.\r\n // 3- set the line break.\r\n\r\n // Create visual objects.\r\n tab.visualObjects.forEach(id => this.create(id, tab, conf));\r\n\r\n // Set the hangings.\r\n this.makeHangings(tab);\r\n\r\n // Set the line break. \r\n this.applyLineBreak(tab.visualObjects, true);\r\n }\r\n\r\n /**\r\n * Makes the hanging groups.\r\n * @param tab\r\n */\r\n public makeHangings(tab: Tab): void { \r\n // Make empty all hangings\r\n tab.visualObjects.forEach(vId => {\r\n let wrapper = this.visualObjectUIDataService.get(+vId);\r\n if (wrapper.newHangings.size > 0) {\r\n wrapper = wrapper.setNewHangings(Immutable.List());\r\n this.visualObjectUIDataService.addOrUpdate(wrapper);\r\n }\r\n });\r\n\r\n // Set the hangings.\r\n tab.visualObjects.forEach((vId, index) => {\r\n let wrapper = this.visualObjectUIDataService.get(+vId);\r\n if (!wrapper.visible)\r\n return;\r\n\r\n let removeHanging: boolean = false;\r\n\r\n // Group the hangings.\r\n if (index > 0 && wrapper.hanging) {\r\n let prevVisibleWrapper: VisualObjectGroupWrapper = this.getPreviousVisibleModel(tab.visualObjects, index, true);\r\n\r\n if (prevVisibleWrapper) {\r\n // Update the hanging list of previous visual object model.\r\n let hangings: Immutable.List = prevVisibleWrapper.newHangings.push(wrapper.visualObjectGroup.id);\r\n prevVisibleWrapper = prevVisibleWrapper.setNewHangings(hangings);\r\n\r\n // Update the cache.\r\n this.visualObjectUIDataService.addOrUpdate(prevVisibleWrapper);\r\n }\r\n\r\n // If all previous visual objects are invisible then move this object to root level by changing its hanging status.\r\n else removeHanging = true;\r\n } else removeHanging = true;\r\n\r\n if (removeHanging && wrapper.hanging) {\r\n wrapper = wrapper.setHanging(false);\r\n this.visualObjectUIDataService.addOrUpdate(wrapper);\r\n }\r\n });\r\n\r\n // Compare the old and new hangings If they are changed then update the group.\r\n tab.visualObjects.forEach((vId, index) => {\r\n let wrapper = this.visualObjectUIDataService.get(+vId);\r\n\r\n // Comparison\r\n if (JSON.stringify(wrapper.newHangings) != JSON.stringify(wrapper.visualObjectGroup.hangings)) {\r\n\r\n // Set the new hangings.\r\n let group: VisualObjectGroup = wrapper.visualObjectGroup.setHangings(wrapper.newHangings);\r\n wrapper = wrapper.setVisualObjectGroup(group);\r\n\r\n // Update cache.\r\n this.visualObjectUIDataService.addOrUpdate(wrapper);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Sets the line break for visual objects.\r\n * By default all visual objects are floated. In this method we read the floating position for each visual object and update the previous visual object line-break.\r\n * \r\n * Example: Input data -> V1(floating: false, line-break: true), V2(floating: true, line-break: true), V3(floating: false, line-break: true)\r\n * Expected output -> V1(floating: false, line-break: false), V2(floating: true, line-break: true), V3(floating: false, line-break: true)\r\n *\r\n * In above example, you can see that the line-break is only updated for previous element(V1) to accomodate V3 in the same row.\r\n *\r\n * @param visualObjectIds\r\n * @param isRootVisualObject\r\n */\r\n public applyLineBreak(visualObjectIds: Immutable.List, isRootVisualObject: boolean): void {\r\n\r\n // Reset line break before applying.\r\n visualObjectIds.forEach(vId => {\r\n\r\n let currentWrapper: VisualObjectGroupWrapper = this.visualObjectUIDataService.get(+vId); \r\n currentWrapper = currentWrapper.setLineBreak(true);\r\n this.visualObjectUIDataService.addOrUpdate(currentWrapper);\r\n\r\n });\r\n\r\n // Update the line-break.\r\n visualObjectIds.forEach((vId, index) => {\r\n\r\n let currentWrapper: VisualObjectGroupWrapper = this.visualObjectUIDataService.get(+vId);\r\n let entity: VisualObject = this.productStore.getEntity(+vId);\r\n\r\n // Don't continue If it is hanging or hidden or index is zero.\r\n if (index == 0 || (isRootVisualObject && currentWrapper.hanging) || !currentWrapper.visible)\r\n return;\r\n\r\n if (entity.floatingPosition) {\r\n\r\n // As floating is set by default to all elements, just remove line break from previous element to make it functional.\r\n let prevWrapper: VisualObjectGroupWrapper = this.getPreviousVisibleModel(visualObjectIds, index, isRootVisualObject);\r\n\r\n if (prevWrapper) {\r\n\r\n // Remove the line break from previous element so that current one could appear in same row.\r\n if (prevWrapper.lineBreak) {\r\n\r\n // Update value and cache.\r\n prevWrapper = prevWrapper.setLineBreak(false);\r\n this.visualObjectUIDataService.addOrUpdate(prevWrapper);\r\n }\r\n\r\n }\r\n\r\n else {\r\n // if the first is set 'floating' then would be null.\r\n }\r\n }\r\n\r\n // Apply floating within hanging list.\r\n if (currentWrapper.visualObjectGroup.hangings.size > 0)\r\n this.applyLineBreak(currentWrapper.visualObjectGroup.hangings, false);\r\n });\r\n }\r\n\r\n /**\r\n * Clears the cached objects. It forces all visual objects to be rerendered.\r\n */\r\n public clear(): void {\r\n this.visualObjectUIDataService.clear();\r\n }\r\n\r\n /**\r\n * Evaluates the responsivenss of visual objects. It is called by onConfigurationChange.\r\n * Note: visualObjectHelper.growVisualObject method is used for evaulation, which checks for graphics and visualization decorations only.\r\n */\r\n public evaluateResponsiveness(conf: Conf)\r\n {\r\n let allWrappers: Map = this.visualObjectUIDataService.getAll();\r\n allWrappers.forEach((value, key) => {\r\n\r\n let visualObject = value.visualObjectGroup.visualObject;\r\n\r\n let currentGrowValue = value.visualObjectGroup.growVisualObject;\r\n let newGrowValue = this.visualObjectHelper.growVisualObject(visualObject, conf);\r\n\r\n if (currentGrowValue != newGrowValue) {\r\n\r\n let visualObjectGroup = value.visualObjectGroup.setGrowVisualObject(newGrowValue);\r\n let visualObjectGroupWrapper = value.setVisualObjectGroup(visualObjectGroup);\r\n this.visualObjectUIDataService.addOrUpdate(visualObjectGroupWrapper);\r\n }\r\n });\r\n }\r\n\r\n\r\n /**\r\n * Returns the previous visible visualObject model.\r\n * @param list\r\n * @param indexLimit\r\n * @param isRootVisualObject\r\n */\r\n public getPreviousVisibleModel(list: Immutable.List, indexLimit: number, isRootVisualObject: boolean): VisualObjectGroupWrapper {\r\n\r\n for (let index = indexLimit - 1; index >= 0; index--) {\r\n let visualObjectId: number = list.get(+index);\r\n let model: VisualObjectGroupWrapper = this.visualObjectUIDataService.get(+visualObjectId);\r\n\r\n if (isRootVisualObject && model.hanging)\r\n continue;\r\n\r\n if (model.visible)\r\n return model;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Returns the root visual object groups.\r\n * @param tab\r\n */\r\n getRootVisualObjectGroups(tab: Tab): VisualObjectGroup[] {\r\n\r\n let groups: VisualObjectGroup[] = [];\r\n tab.visualObjects.forEach(vId => {\r\n\r\n let wrapper: VisualObjectGroupWrapper = this.visualObjectUIDataService.get(vId);\r\n if (!wrapper.hanging && wrapper.visible)\r\n groups.push(wrapper.visualObjectGroup);\r\n });\r\n\r\n return groups;\r\n }\r\n\r\n /**\r\n * Returns the hanging VisualObjectGroup.\r\n * @param vId\r\n */\r\n hangings(vId: number): VisualObjectGroup[] {\r\n \r\n let hangingList: VisualObjectGroup[] = [];\r\n let wrapper: VisualObjectGroupWrapper = this.visualObjectUIDataService.get(vId);\r\n wrapper.visualObjectGroup.hangings.forEach(vId => {\r\n\r\n let wrapper: VisualObjectGroupWrapper = this.visualObjectUIDataService.get(vId);\r\n if (wrapper.visible)\r\n hangingList.push(wrapper.visualObjectGroup);\r\n });\r\n\r\n return hangingList;\r\n }\r\n\r\n // Note! This is a temporary method introduced to control the flex layout at root level.\r\n hasFlexContainer(tab: Tab): boolean {\r\n \r\n let isFlexObject: boolean = false;\r\n this.visualObjectUIDataService.getAll().forEach(x => {\r\n\r\n const group: VisualObjectGroup = x.visualObjectGroup;\r\n if (group) {\r\n\r\n let entity: VisualObject = this.productStore.getEntity(group.id) as VisualObject;\r\n if (tab.longId == entity.tabId && x.visualObjectGroup.growVisualObject)\r\n isFlexObject = true;\r\n\r\n }\r\n });\r\n\r\n return isFlexObject;\r\n }\r\n\r\n}","import { Component, Input, Inject } from \"@angular/core\";\r\nimport { VisualObject, } from \"../../shared/models\";\r\nimport { BaseComponent } from \"../../shared\";\r\nimport { ProductDataStore } from \"../../shared/providers/productData\";\r\n\r\n@Component({\r\n selector: 'visual-object-factory',\r\n templateUrl: './visualObjectFactoryComponent.html'\r\n})\r\nexport class VisualObjectFactoryComponent extends BaseComponent {\r\n\r\n constructor(\r\n @Inject(ProductDataStore) public productStore: ProductDataStore\r\n ) {\r\n super();\r\n }\r\n\r\n @Input()\r\n public visualObjectId: number;\r\n\r\n @Input()\r\n public configurationId: number;\r\n\r\n @Input()\r\n public growVisualObject: boolean = false;\r\n\r\n public visualObject: VisualObject;\r\n\r\n ngOnInit() {\r\n this.visualObject = this.productStore.getEntity(+this.visualObjectId); \r\n } \r\n}","
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
","import { ImmutableObject } from \"../../../shared/immutableObject\";\r\nimport * as Immutable from \"immutable\";\r\nimport { VisualObject } from \"../../shared/models\";\r\n\r\nexport class VisualObjectGroup extends ImmutableObject {\r\n\r\n public readonly ID = \"Id\";\r\n public readonly NAME = \"name\";\r\n public readonly GROW_VISUAL_OBJECT = \"growVisualObject\"; \r\n public readonly CSS_CLASS = \"cssClass\"; \r\n public readonly HANGINGS = \"hangings\";\r\n public readonly VISUAL_OBJECT = \"visualObject\";\r\n\r\n // Visual object id\r\n get id(): number { return this.getInternalValue(this.ID); }\r\n setId(id: number): this { return this.setInternalValue(this.ID, id); }\r\n\r\n // Name of the visual object\r\n get name(): string { return this.getInternalValue(this.NAME); }\r\n setName(name: string): this { return this.setInternalValue(this.NAME, name); }\r\n\r\n // CSS style\r\n get cssClass(): string { return this.getInternalValue(this.CSS_CLASS); }\r\n setCssClass(css: string): this { return this.setInternalValue(this.CSS_CLASS, css); }\r\n\r\n // Grows the visual object to all available space.\r\n get growVisualObject(): boolean { return this.getInternalValue(this.GROW_VISUAL_OBJECT); }\r\n setGrowVisualObject(growVisualObject: boolean): this { return this.setInternalValue(this.GROW_VISUAL_OBJECT, growVisualObject); }\r\n\r\n // Hangings to this object.\r\n get hangings(): Immutable.List { return this.getInternalValue>(this.HANGINGS); }\r\n setHangings(hangings: Immutable.List): this { return this.setInternalValue(this.HANGINGS, hangings); }\r\n\r\n get visualObject(): VisualObject { return this.getInternalValue(this.VISUAL_OBJECT); }\r\n setVisualObject(visualObject: VisualObject): this { return this.setInternalValue(this.VISUAL_OBJECT, visualObject); }\r\n\r\n}","import { Inject, Component, Input, SimpleChanges } from \"@angular/core\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { VisualObjectGroup } from \"./visualObjectGroup\";\r\nimport { VisualObjectContainerService } from \"./visualObjectContainerService\";\r\nimport { BaseComponent } from \"../../shared\";\r\n\r\n@Component({\r\n selector: 'visual-object-group',\r\n templateUrl: './visualObjectGroupComponent.html'\r\n})\r\nexport class VisualObjectGroupComponent extends BaseComponent {\r\n\r\n @Input() public group: VisualObjectGroup;\r\n @Input() public service: VisualObjectContainerService;\r\n @Input() public configurationId: number;\r\n\r\n public hangings: VisualObjectGroup[] = [];\r\n\r\n public activeConfSubscription: Subscription;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['group']) {\r\n this.hangings = this.service.hangings(this.group.id);\r\n }\r\n }\r\n\r\n}","
\r\n \r\n 0\" >\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n
\r\n
\r\n
","import { Directive, ElementRef, Input, HostListener, Renderer2 } from \"@angular/core\";\r\nimport { VisualObject, Decoration } from \"../../shared/models\";\r\nimport { VisualObjectHelper } from \"../parameters/shared\";\r\n\r\n@Directive({\r\n selector: '[visualStyle]'\r\n})\r\nexport class VisualObjectGroupDirective {\r\n\r\n @Input('visualStyle')\r\n public visualObject: VisualObject;\r\n \r\n constructor(public element: ElementRef, public renderer: Renderer2, public visualObjectHelper: VisualObjectHelper) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.setStyles();\r\n\r\n }\r\n\r\n setStyles(): void {\r\n \r\n let maxWidth = this.visualObjectHelper.getMaxWidth(this.visualObject); \r\n this.renderer.setStyle(this.element.nativeElement, 'width', '100%');\r\n this.renderer.setStyle(this.element.nativeElement, 'max-width', maxWidth);\r\n }\r\n \r\n @HostListener('window:resize', ['$event'])\r\n onResize(event) {\r\n this.setStyles();\r\n }\r\n\r\n}","import * as Immutable from \"immutable\";\r\n\r\nimport { VisualObject } from \"../../shared/models\";\r\nimport { ImmutableObject } from \"../../../shared/immutableObject\";\r\nimport { VisualObjectGroup } from \"./visualObjectGroup\";\r\n\r\n/**\r\n * This class contains volatile data where the changes occur very frequently.\r\n */\r\nexport class VisualObjectGroupWrapper extends ImmutableObject {\r\n\r\n public readonly LINE_BREAK = \"lineBreak\";\r\n public readonly VISIBLE = \"visible\";\r\n public readonly HANGING = \"hanging\";\r\n public readonly VISUAL_OBJECT_GROUP = \"visualObjectGroup\";\r\n public readonly HANGINGS = \"hangings\";\r\n public readonly NEW_HANGINGS = \"newHangings\";\r\n\r\n // Line break for visual object\r\n get lineBreak(): boolean { return this.getInternalValue(this.LINE_BREAK); }\r\n setLineBreak(lineBreak: boolean): this { return this.setInternalValue(this.LINE_BREAK, lineBreak); }\r\n\r\n // Visibility of visual object\r\n get visible(): boolean { return this.getInternalValue(this.VISIBLE); }\r\n setVisible(visible: boolean): this { return this.setInternalValue(this.VISIBLE, visible); }\r\n\r\n // It is hanged? \r\n // Note! It has the calculated hanging value. It sometimes won't be same as visual object value. e.g If the first visual object is set 'hanged' then hanging won't work. In this case calculated hanging would be false.\r\n get hanging(): boolean { return this.getInternalValue(this.HANGING); }\r\n setHanging(hanging: boolean): this { return this.setInternalValue(this.HANGING, hanging); }\r\n\r\n // New hangings to current visual object.\r\n // Reason: To avoid the unnecessary updates, first we store the new hangings in this list, later we make the comparison with if both hangings are not same then we update the immutable .\r\n get newHangings(): Immutable.List { return this.getInternalValue>(this.NEW_HANGINGS); }\r\n setNewHangings(newHangings: Immutable.List): this { return this.setInternalValue(this.NEW_HANGINGS, newHangings); }\r\n\r\n // Visual object\r\n get visualObjectGroup(): VisualObjectGroup { return this.getInternalValue(this.VISUAL_OBJECT_GROUP); }\r\n setVisualObjectGroup(visualObjectGroup: VisualObjectGroup): this { return this.setInternalValue(this.VISUAL_OBJECT_GROUP, visualObjectGroup); }\r\n\r\n}","import { Inject, Component, Input } from \"@angular/core\";\r\nimport { BaseComponent } from \"../../shared\";\r\nimport { VisualObjectNavigatorService } from \"./visualObjectNavigatorService\";\r\nimport { ParamInfo } from \"../../shared/models/responses\";\r\nimport { VisualObjectVisibilityService } from \"./visualObjectVisibilityService\";\r\nimport { Conf, VisualObject, RequestViews } from \"../../shared/models\";\r\nimport { ConfiguratorStore, ConfPageSessionService, ConfRouteParams, PopupIdentifiers } from \"../providers\";\r\nimport { ConfVisiblityService } from \"./confVisibilityService\";\r\nimport { ProductDataStore } from \"../../shared/providers/productData\";\r\nimport { RouteRedirector } from \"../../shared/providers\";\r\nimport { AccordionCompositeParams } from \"../components/tabs\";\r\nimport { searchUrlQueryParam } from \"../../../shared/utils/routeParamsUtils\";\r\n\r\n@Component({\r\n selector: 'visual-object-link',\r\n templateUrl: './visualObjectLinkComponent.html'\r\n})\r\nexport class VisualObjectLinkComponent extends BaseComponent {\r\n\r\n // Input is either confId + visualObjectId, or confId+paramInfo\r\n\r\n @Input()\r\n configurationId: number;\r\n\r\n @Input()\r\n visualObjectInTabId: number;\r\n\r\n @Input()\r\n paramInfo: ParamInfo;\r\n\r\n @Input()\r\n popupId: string;\r\n\r\n @Input()\r\n classes: string = \"\";\r\n\r\n public canNavigateToVisualObject = false;\r\n\r\n constructor(@Inject(VisualObjectNavigatorService) public visualObjectNavigatorService: VisualObjectNavigatorService,\r\n @Inject(VisualObjectVisibilityService) public visualObjectVisibilityService: VisualObjectVisibilityService,\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfPageSessionService) public storeSession: ConfPageSessionService,\r\n @Inject(ConfVisiblityService) public confVisiblityService: ConfVisiblityService, \r\n @Inject(ProductDataStore) public productStore: ProductDataStore,\r\n @Inject(RouteRedirector) public routeRedirector: RouteRedirector \r\n )\r\n {\r\n super();\r\n }\r\n\r\n public ngOnInit() {\r\n this.updateCanNavigateToVisualObject();\r\n }\r\n\r\n public updateCanNavigateToVisualObject(): void {\r\n\r\n let conf: Conf = this.confStore.getConf(this.configurationId, this.storeSession.confSessionId);\r\n if (conf)\r\n this.updateInternalCanNavigateToVisualObject(conf);\r\n\r\n else {\r\n\r\n this.confStore.loadConf(this.configurationId, this.storeSession.confSessionId, RequestViews.Editor).then(x => {\r\n\r\n conf = this.confStore.getConf(this.configurationId, this.storeSession.confSessionId);\r\n this.updateInternalCanNavigateToVisualObject(conf);\r\n\r\n });\r\n\r\n }\r\n \r\n }\r\n\r\n updateInternalCanNavigateToVisualObject(conf: Conf): void {\r\n\r\n // If visual object is in accordion and sub configuration detail is shown over it then remove the sub configuration detail and show the requested configuration parameters in accordion.\r\n if (this.storeSession.showChildrenInAccordionTabs && this.storeSession.activeRoute == RequestViews.Editor) {\r\n\r\n // If configurationId is root configuration id and visual object is located in accordion and accordion for root configuration is not visible\r\n // because of accordion child configuration visiblility, then remove the child configuration visiblity and make the root configuration accordion visible\r\n // so that navigation could be made for mandatory popup to accordion's visual object.\r\n let id = this.visualObjectInTabId || (this.paramInfo ? this.paramInfo.visualObjectInTabId : null);\r\n if (!id)\r\n return;\r\n\r\n const isParamInAccordion = this.confVisiblityService.isParamInAccordion(id);\r\n const isSubConfVisible = this.confVisiblityService.isSubConfVisible();\r\n if (this.confVisiblityService.isRoot(this.configurationId)) {\r\n\r\n if (isParamInAccordion && isSubConfVisible)\r\n this.emitterService.send(PopupIdentifiers.AccordionCompositeHideDetail, new AccordionCompositeParams(this.configurationId, false));\r\n }\r\n\r\n // Parameter belongs to child configuration.\r\n else {\r\n\r\n // Is sub configuration visible?\r\n let subConfId: number = +searchUrlQueryParam(ConfRouteParams.SUB_CONF_ID);\r\n\r\n // Show child configuration if it is not visible.\r\n if (subConfId && subConfId != conf.longId)\r\n this.emitterService.send(PopupIdentifiers.AccordionCompositeShowDetail, new AccordionCompositeParams(conf.longId, true));\r\n else {\r\n this.emitterService.send(PopupIdentifiers.AccordionCompositeShowDetail, new AccordionCompositeParams(conf.longId, true));\r\n this.routeRedirector.changeParamValue(ConfRouteParams.SUB_CONF_ID, conf.longId.toString());\r\n }\r\n }\r\n\r\n this.canNavigateToVisualObject = true;\r\n return;\r\n }\r\n\r\n if (this.paramInfo)\r\n this.canNavigateToVisualObject = this.visualObjectVisibilityService.isParameterVisible(conf, this.paramInfo.visualObjectInTabId, this.paramInfo.parameterType);\r\n else if (this.visualObjectInTabId)\r\n this.canNavigateToVisualObject = this.visualObjectVisibilityService.isParameterVisible(conf, this.visualObjectInTabId);\r\n else\r\n this.canNavigateToVisualObject = false;\r\n\r\n\r\n }\r\n\r\n public onVisualObjectClick() {\r\n\r\n // If we show child configurations in accordion then \r\n if (this.storeSession.showChildrenInAccordionTabs && this.storeSession.activeRoute == RequestViews.Editor)\r\n this.updateCanNavigateToVisualObject();\r\n\r\n if (!this.canNavigateToVisualObject) \r\n return;\r\n \r\n let id = this.visualObjectInTabId || (this.paramInfo ? this.paramInfo.visualObjectInTabId : null);\r\n if (!id) {\r\n return;\r\n }\r\n\r\n this.visualObjectNavigatorService.navigate(this.configurationId, id, this.popupId);\r\n }\r\n\r\n}","
\r\n \r\n
\r\n","import { Inject, Injectable } from \"@angular/core\";\r\nimport { Subject } from \"rxjs\";\r\n\r\nimport { ConfigurationSessionManager, ConfPageSessionService, ConfiguratorUIStore, ConfRouteParams, PopupIdentifiers } from \"../providers\";\r\nimport { VisualObject, Tab, Product } from \"../../shared/models\";\r\nimport { ProductDataStore } from \"../../shared/providers/productData\";\r\nimport { PopupService } from \"../../../shared/components\";\r\nimport { RouteRedirector, RouteNames } from \"../../shared/providers\";\r\nimport { ManagedSubject } from \"../../../shared/managedSubject\";\r\nimport { PageStore } from \"../../shared/providers/page\";\r\nimport { EmitterService } from \"./emitterService\";\r\nimport { ConfVisiblityService } from \"./confVisibilityService\";\r\n\r\n@Injectable()\r\nexport class VisualObjectNavigatorService {\r\n\r\n private accordionChangeSubject = new ManagedSubject(null, false, 0, false);\r\n\r\n constructor(\r\n @Inject(ConfPageSessionService) public confPageSession: ConfPageSessionService,\r\n @Inject(ProductDataStore) public productDataStore: ProductDataStore,\r\n @Inject(ConfiguratorUIStore) public confUIStore: ConfiguratorUIStore,\r\n @Inject(PopupService) public popupService: PopupService,\r\n @Inject(RouteRedirector) public routeRedirector: RouteRedirector,\r\n @Inject(PageStore) public pageStore: PageStore,\r\n @Inject(EmitterService) public emitterService: EmitterService,\r\n @Inject(ConfVisiblityService) public confVisiblityService: ConfVisiblityService\r\n ) {\r\n }\r\n\r\n public navigate(configurationId: number, visualObjectId: number, popupId: string): void {\r\n\r\n if (!this.confPageSession.showChildrenInAccordionTabs && configurationId != this.confPageSession.activeConfigurationId) {\r\n this.navigateToConfiguration(configurationId, visualObjectId, popupId);\r\n }\r\n else {\r\n this.navigateToTab(configurationId, visualObjectId, popupId);\r\n }\r\n\r\n }\r\n\r\n public navigateToConfiguration(configurationId: number, visualObjectId: number, popupId: string) {\r\n let confChangeSubscription = this.confUIStore.onActiveConfChange(this.confPageSession.pageId, {\r\n next: (x: number) => {\r\n if (configurationId === x) {\r\n // We got what we wanted -> unsubscribe.\r\n confChangeSubscription.unsubscribe();\r\n\r\n // Use timeout so the DOM is refreshed and the visual object has a position.\r\n setTimeout(() => {\r\n this.navigateToTab(configurationId, visualObjectId, popupId);\r\n }, 0);\r\n }\r\n },\r\n startOnDemand: true\r\n });\r\n\r\n confChangeSubscription.start();\r\n let params = { id: configurationId, confSessionId: this.confPageSession.confSessionId };\r\n\r\n if (this.pageStore.activeRouteName === RouteNames.Summary)\r\n this.routeRedirector.redirectToSummary(params);\r\n else\r\n this.routeRedirector.redirectToEditor(params);\r\n }\r\n\r\n public navigateToTab(configurationId: number, visualObjectId: number, popupId: string) {\r\n\r\n let visualObject: VisualObject = this.productDataStore.getEntity(visualObjectId) as VisualObject;\r\n let visualObjectContainerTab = this.productDataStore.getEntity(visualObject.tabId);\r\n\r\n // If navigation belongs to child configuratoin and children are shown in accordion...\r\n let showChildrenInAccordion = false;\r\n let confInfo = this.confPageSession.confStore.getConfInfo(configurationId, this.confPageSession.confSessionId); \r\n if (confInfo.rootId != confInfo.longId) {\r\n showChildrenInAccordion = this.confPageSession.showChildrenInAccordionTabs\r\n }\r\n\r\n // Navigate directly to if active tab or separate tab, otherwise change active tab.\r\n // For accordion we send a message and hope TabsManagerComponent will change active accordion.\r\n if (this.pageStore.activeRouteName === RouteNames.Summary) {\r\n\r\n this.popupService.applyPopper(visualObjectId.toString(), popupId);\r\n }\r\n else {\r\n if (showChildrenInAccordion || visualObjectContainerTab.displayStyle === \"Accordion\") {\r\n this.sendMessage(visualObject.tabId);\r\n this.emitterService.send(PopupIdentifiers.ChangeSelectedTab, visualObject.tabId);\r\n }\r\n // Otherwise we need more logic to switch to its tab and then locate it.\r\n else\r\n this.emitterService.send(PopupIdentifiers.ChangeSelectedTab, visualObject.tabId);\r\n\r\n setTimeout(() => {\r\n this.popupService.applyPopper(visualObjectId.toString(), popupId);\r\n }, 0);\r\n }\r\n }\r\n\r\n /**\r\n * Gets the new popup position for the given visual object.\r\n */\r\n public getPopupPosition(visualObjectId: number) {\r\n let visualObject = document.getElementById(visualObjectId.toString());\r\n // Return null for undefined visual object OR if it's hidden.\r\n // Check hidden by offsetParent (https://stackoverflow.com/a/21696585).\r\n if (visualObject == null || visualObject.offsetParent == null)\r\n return { x: 0, y: 0 };\r\n\r\n const margin = 20;\r\n // Use getBoundingClientRect to get the \"global\" position for left and offsetTop to get top within its parent.\r\n let pos = visualObject.getBoundingClientRect();\r\n let x = pos.left + pos.width + margin; // X is to the right of the visualobject\r\n let y = visualObject.offsetTop;\r\n return { x: x, y: y };\r\n }\r\n\r\n /**\r\n * Message about selected accordion is changed,\r\n the accordion tab ID is passed as an argument.\r\n */\r\n public getAccordionChangeMessage(): ManagedSubject {\r\n return this.accordionChangeSubject;\r\n }\r\n\r\n /**\r\n * Broadcasts the message to all subscribers\r\n * @param event\r\n */\r\n public sendMessage(info: number): void {\r\n this.accordionChangeSubject.nextValue(info);\r\n }\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport { VisualObjectGroupWrapper } from \"./visualObjectGroupWrapper\";\r\nimport { ProductDataStore } from \"../../shared/providers/productData\";\r\nimport { Tab } from \"../../shared/models\";\r\nimport * as Immutable from \"immutable\";\r\n\r\n@Injectable()\r\nexport class VisualObjectUIDataService {\r\n\r\n constructor(@Inject(ProductDataStore) public productStore: ProductDataStore) { }\r\n\r\n public groupWrappersById: Map = new Map();\r\n\r\n addOrUpdate(visualObjectWrapper: VisualObjectGroupWrapper): void {\r\n this.groupWrappersById.set(+visualObjectWrapper.visualObjectGroup.id, visualObjectWrapper);\r\n }\r\n\r\n delete(visualObjectId: number): void {\r\n this.groupWrappersById.delete(visualObjectId);\r\n }\r\n\r\n get(id: number): VisualObjectGroupWrapper\r\n {\r\n return this.groupWrappersById.get(id);\r\n }\r\n\r\n has(id: number): boolean {\r\n return this.groupWrappersById.has(id);\r\n }\r\n\r\n clear(): void {\r\n this.groupWrappersById.clear();\r\n }\r\n\r\n getAll(): Map {\r\n return this.groupWrappersById;\r\n }\r\n\r\n isNextVisualObjectFloated(visualObjectId: number): boolean {\r\n \r\n let wrapper: VisualObjectGroupWrapper = this.groupWrappersById.get(visualObjectId);\r\n if (!wrapper)\r\n return false;\r\n\r\n let tab = this.productStore.getEntity(wrapper.visualObjectGroup.visualObject.tabId);\r\n if (!tab)\r\n return false;\r\n\r\n // Get next non hanging visible object\r\n let startedIndex = tab.visualObjects.indexOf(visualObjectId);\r\n if (startedIndex < 0)\r\n return false;\r\n\r\n for (let index = startedIndex; index < tab.visualObjects.size; index++) {\r\n\r\n let currentVisualObjectId = tab.visualObjects.indexOf(index);\r\n\r\n if (!currentVisualObjectId || visualObjectId == currentVisualObjectId)\r\n continue;\r\n\r\n let wrp: VisualObjectGroupWrapper = this.groupWrappersById.get(+currentVisualObjectId);\r\n if (!wrp || !wrp.visible)\r\n continue;\r\n\r\n // If the current visual object is in the hanging list of requested visual object, then ignore it.\r\n if (wrapper.visualObjectGroup.hangings.indexOf(wrp.visualObjectGroup.id) > -1)\r\n continue;\r\n\r\n return wrp.visualObjectGroup.visualObject.floatingPosition;\r\n }\r\n\r\n return false;\r\n }\r\n}","import { Inject, Injectable } from \"@angular/core\";\r\n\r\nimport { Conf, Tab, Param, Decoration, ParamValue, LookupParam, MultiChoiceParam, LookupValue, MultiChoiceValue, VisualObject } from \"../../shared/models\";\r\nimport { ConfPageSessionService } from \"../providers\";\r\nimport { AbstractUIVisibilityService } from \"./abstractUIVisibilityService\";\r\n\r\n@Injectable()\r\nexport class VisualObjectVisibilityService extends AbstractUIVisibilityService {\r\n\r\n constructor(@Inject(ConfPageSessionService) public confPageSessionService: ConfPageSessionService) {\r\n super();\r\n }\r\n\r\n public isVisualObjectVisible(conf: Conf, visualObject: VisualObject) {\r\n\r\n if (visualObject instanceof Decoration)\r\n return this.isDecorationVisible(conf, visualObject as Decoration);\r\n else if (visualObject instanceof Param)\r\n return this.isParameterVisible(conf, visualObject as Param);\r\n \r\n return false;\r\n }\r\n\r\n public isDecorationVisible(conf: Conf, decoration: Decoration): boolean {\r\n\r\n if (!decoration)\r\n return false;\r\n\r\n return this.isVisible(decoration.longId, conf, [Tab.name], decoration.className)\r\n }\r\n\r\n public isParameterVisible(conf: Conf, parameter: Param): boolean\r\n public isParameterVisible(conf: Conf, parameter: number, className?: string): boolean\r\n public isParameterVisible(conf: Conf, parameter: any, className?: any): boolean {\r\n\r\n let parameterIdToUse: number;\r\n let parameterClassToUse: string;\r\n if (parameter instanceof Param) {\r\n parameterIdToUse = parameter.longId;\r\n parameterClassToUse = parameter.className;\r\n }\r\n else {\r\n parameterIdToUse = parameter as number;\r\n parameterClassToUse = className as string;\r\n }\r\n\r\n if (!parameterIdToUse)\r\n return false;\r\n\r\n return this.isVisible(parameterIdToUse, conf, [Tab.name], parameterClassToUse)\r\n }\r\n\r\n public isParamValueVisible(paramValue: ParamValue, conf: Conf): boolean {\r\n\r\n if (!paramValue)\r\n return false;\r\n\r\n let uiItemNamesToRecurse: string[] = [Tab.name];\r\n \r\n if (paramValue instanceof LookupValue)\r\n uiItemNamesToRecurse.push(LookupParam.name);\r\n else if (paramValue instanceof MultiChoiceValue)\r\n uiItemNamesToRecurse.push(MultiChoiceParam.name);\r\n\r\n return this.isVisible(paramValue.longId, conf, uiItemNamesToRecurse, paramValue.className);\r\n }\r\n\r\n public isVisible(longId: number, conf: Conf, uiItemNamesToRecurse: string[] = null, uiItemNameToMatch: string = null): boolean {\r\n \r\n return this.findConfUIItem(conf, longId, uiItemNamesToRecurse, uiItemNameToMatch) != null;\r\n\r\n }\r\n}","import { Component, Input, ViewChild, Inject, Host, ChangeDetectorRef, ChangeDetectionStrategy, SimpleChanges, EventEmitter, Output } from \"@angular/core\";\r\nimport { Tab, Conf } from \"../../shared/models\";\r\nimport { ConfMessageProvider, ConfiguratorStore, ConfPageSessionService } from \"../providers\";\r\nimport { VisualObjectGroup } from \"./visualObjectGroup\";\r\nimport { VisualObjectContainerService } from \"./visualObjectContainerService\";\r\nimport { ManagedSubscription } from \"../../../shared/managedSubscription\";\r\nimport { BaseComponent } from \"../../shared\";\r\nimport { ElementRef } from \"@angular/core\";\r\nimport { HostListener } from \"@angular/core\";\r\nimport { Breakpoints, BreakPointAccessor } from \"../../../shared/utils\";\r\nimport { TabDisplayStyle } from \"../../shared/providers\";\r\nimport { VisualObjectHelper } from \"../parameters/shared\";\r\nimport { VisualObjectUIDataService } from \"./visualObjectUIDataService\";\r\n\r\n@Component({\r\n selector: 'visual-object-container',\r\n templateUrl: './visualObjectsContainerComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [VisualObjectContainerService, ConfMessageProvider, VisualObjectHelper, VisualObjectUIDataService]\r\n})\r\nexport class VisualObjectsContainerComponent extends BaseComponent {\r\n\r\n @Input()\r\n public tab: Tab;\r\n\r\n public showTabComposite: boolean = false;\r\n\r\n public groups: VisualObjectGroup[] = [];\r\n\r\n @ViewChild('container')\r\n public container: ElementRef;\r\n\r\n public styles: string;\r\n public innerStyles: string;\r\n\r\n @Input()\r\n public configurationId: number;\r\n\r\n @Input()\r\n public pageId: number;\r\n\r\n public isFlexContainer: boolean = false;\r\n\r\n public activeConfSubscription: ManagedSubscription;\r\n\r\n public loadingComplete: boolean = false;\r\n\r\n public productId: number;\r\n\r\n @Output()\r\n public accordionComposite = new EventEmitter();\r\n\r\n constructor(\r\n @Host() @Inject(VisualObjectContainerService) public visualObjectService: VisualObjectContainerService,\r\n @Host() @Inject(ConfMessageProvider) public confMessageProvider: ConfMessageProvider,\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfPageSessionService) public storeSession: ConfPageSessionService,\r\n @Inject(BreakPointAccessor) public breakPointAccessor: BreakPointAccessor,\r\n public cd: ChangeDetectorRef \r\n ) {\r\n super();\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n if (this.showTabComposite)\r\n this.accordionComposite.emit();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['configurationId']) {\r\n\r\n this.unsubscribe();\r\n // Clear the cache to always rerender the visual objects on configuration change.\r\n this.visualObjectService.clear();\r\n\r\n let conf: Conf = this.confStore.getConf(this.configurationId, this.storeSession.confSessionId);\r\n if (this.productId && this.productId == conf.productId)\r\n {\r\n // The param controls can not detect a conf-id change, when a tab for the same product is loaded.\r\n // This code is only run when switching sibling configurations through push messages within the composite accordion.\r\n // Mandatory popup could possibly also trigger this same code.\r\n this.groups = [];\r\n this.cd.detectChanges();\r\n }\r\n else\r\n this.productId = conf.productId;\r\n\r\n this.setCompositeConfigurationTabInfo();\r\n this.loadingComplete = false;\r\n // Listen the configuration values changes\r\n this.activeConfSubscription = this.confStore.onConfigurationChange(this.configurationId, this.storeSession.confSessionId, (conf: Conf) => {\r\n\r\n if (!this.loadingComplete) {\r\n\r\n this.loadingComplete = true;\r\n return;\r\n }\r\n\r\n this.visualObjectService.evaluateResponsiveness(conf);\r\n this.setCompositeConfigurationTabInfo();\r\n });\r\n }\r\n else if (changes['tab']) {\r\n\r\n if (this.tab) {\r\n this.visualObjectService.clear();\r\n this.setCompositeConfigurationTabInfo();\r\n }\r\n \r\n }\r\n }\r\n\r\n public setCompositeConfigurationTabInfo() {\r\n \r\n this.showTabComposite = this.tab.displayStyle == TabDisplayStyle.AccordionChildren;\r\n let conf: Conf = this.confStore.getConf(this.configurationId, this.storeSession.confSessionId);\r\n this.visualObjectService.setup(this.tab, conf);\r\n this.groups = this.visualObjectService.getRootVisualObjectGroups(this.tab); \r\n this.isFlexContainer = this.visualObjectService.hasFlexContainer(this.tab);\r\n this.setStyles();\r\n this.cd.markForCheck();\r\n }\r\n\r\n public trackGroup(index: number, group: VisualObjectGroup): any {\r\n return group.id;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.unsubscribe();\r\n\r\n super.ngOnDestroy();\r\n }\r\n\r\n unsubscribe() {\r\n if (this.activeConfSubscription)\r\n this.activeConfSubscription.unsubscribe();\r\n }\r\n\r\n setStyles(): void {\r\n\r\n if (!this.isFlexContainer)\r\n this.styles = '';\r\n\r\n if (this.breakPointAccessor.equalOrDown(Breakpoints.xs) || (this.container && this.container.nativeElement && this.container.nativeElement.offsetWidth <= Breakpoints.xs)) {\r\n this.styles += ' small-container';\r\n }\r\n else this.styles += '';\r\n\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event) {\r\n this.setStyles();\r\n }\r\n\r\n}","
\r\n\r\n \r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
","import { ChangeDetectorRef, Component, ViewChildren, QueryList } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\nimport { ListItemModel, ListModel, ListComponent } from \"../../../shared/components/list\";\r\nimport { AttributeDecoration, ConfAttributeValue, AttributeDecorationItem, GroupConfUIItem, StoredAttributeValue } from \"../../../shared/models\";\r\nimport { ProductDataStore } from \"../../../shared/providers/productData\";\r\nimport { ConfiguratorStore, ConfPageSessionService } from \"../../providers\";\r\nimport { ListModelCacheService } from \"../providers/listModelCacheService\";\r\nimport { BaseDetailItemComponent } from \"../shared/baseDetailItemComponent\";\r\nimport { ListRowModel } from \"../shared/listRowModel\";\r\nimport { PopupService, PopperConfig, PopoverService } from \"../../../../shared/components\";\r\nimport { GlobalDataStore } from \"../../../shared/providers/globalData\";\r\n\r\n@Component({ template: '' })\r\nexport class AbstractAttributesDetailComponent extends BaseDetailItemComponent {\r\n\r\n public attributesValues: Array = [];\r\n public storedAttributesValues: Array = [];\r\n protected row = new ListRowModel();\r\n public detailTitle: string = this.strings.Attributes;\r\n\r\n @ViewChildren(ListComponent)\r\n public criteriaComponents: QueryList;\r\n\r\n constructor(\r\n public cdr: ChangeDetectorRef,\r\n public confStore: ConfiguratorStore,\r\n public confPageSessionService: ConfPageSessionService,\r\n public productStore: ProductDataStore,\r\n public modelsService: ListModelCacheService,\r\n public popupService: PopupService,\r\n public globalDataStore: GlobalDataStore,\r\n public popoverService: PopoverService\r\n ) {\r\n super(confPageSessionService);\r\n }\r\n \r\n onDataReady(): void {\r\n // overriden\r\n }\r\n \r\n init(): void {\r\n\r\n let conf = this.confPageSessionService.activeConfiguration; \r\n let values = conf.attributeValues;\r\n\r\n if (!values) {\r\n this.visible = false;\r\n return;\r\n }\r\n\r\n this.rows = this.rows.clear();\r\n this.row.cells = [];\r\n\r\n let visibleAttributeItemById: Map = new Map();\r\n\r\n let attributeDecorationItems = Immutable.List();\r\n\r\n let setDecorationItemByItem = (attrDecorationId: number) => {\r\n\r\n let attrDec: AttributeDecoration = this.productStore.getEntity(attrDecorationId);\r\n if (!attrDec)\r\n return;\r\n\r\n attributeDecorationItems = attrDec.items;\r\n\r\n attrDec.items.forEach(x => {\r\n\r\n visibleAttributeItemById.set(x.attributeId, x);\r\n\r\n });\r\n\r\n }\r\n\r\n if (this.confUIItem) {\r\n\r\n // Grouped attribute decorations.\r\n if (this.confUIItem instanceof GroupConfUIItem) {\r\n\r\n this.detailTitle = this.globalDataStore.getGlobalData().globalSettings.showCurrentOrStoredAttributes.startsWith(\"Current\") ? this.strings.CalculatedData : this.strings.Attributes;\r\n\r\n // Decorations are available at items level. Loop through them and get all decoration items\r\n this.confUIItem.items.forEach(y => { \r\n setDecorationItemByItem(y.id);\r\n });\r\n\r\n }\r\n\r\n // Ungrouped attribute decorations.\r\n else {\r\n\r\n this.detailTitle = this.strings.Attributes;\r\n\r\n setDecorationItemByItem(this.confUIItem.id);\r\n\r\n let attributeDecoration: AttributeDecoration = this.productStore.getEntity(this.confUIItem.id);\r\n if (attributeDecoration && attributeDecoration.title && attributeDecoration.title != \"\")\r\n this.detailTitle = attributeDecoration.title;\r\n }\r\n }\r\n\r\n attributeDecorationItems.forEach(decorationItem => {\r\n let id = decorationItem.attributeId;\r\n if (!values.contains(id) || !visibleAttributeItemById.has(id))\r\n return;\r\n\r\n // Add into cells.\r\n let listModel = this.getAttributesDetail(id, visibleAttributeItemById);\r\n\r\n if (listModel)\r\n this.row.cells.push(listModel);\r\n else\r\n this.visible = false;\r\n });\r\n\r\n // Add empty cell to complete the border\r\n if (this.shouldAddEmptyCell(this.row.cells.length)) {\r\n this.row.cells.push(new ListModel());\r\n }\r\n\r\n this.visible = this.row.cells.length > 0;\r\n this.rows = this.rows.push(this.row);\r\n }\r\n\r\n getAttributesDetail(id: number, decorationIdById: Map, isPopup = false): ListModel {\r\n\r\n let conf = this.confPageSessionService.activeConfiguration;\r\n let attrValue = this.confStore.getConfValue(conf.longId, this.confPageSessionService.confSessionId, id);\r\n\r\n // Make it visible If it contains any attributes.\r\n if (!(attrValue instanceof ConfAttributeValue)) {\r\n return;\r\n }\r\n\r\n // Create list model, set attributes detail\r\n let list: ListModel = this.modelsService.getCachedIfValueEqual(id.toString(), attrValue);\r\n if (list) {\r\n\r\n // Add into cells.\r\n return list;\r\n\r\n } else list = new ListModel();\r\n\r\n list = list.setTitle(attrValue.title);\r\n list = list.setIcon(`${attrValue.valueType.toLowerCase()}param`);\r\n list = list.setBackgroundImage(\"attributedecoration\");\r\n list = list.setEmptyValueText(\"\"); // TODO: Localize it.\r\n list = list.setIsPrintView(this.isPrintView);\r\n list = list.setId(attrValue.longId.toString());\r\n\r\n\r\n // Set conf value.\r\n let itemModel: ListItemModel = new ListItemModel();\r\n let storedItemModel: ListItemModel = new ListItemModel();\r\n\r\n if (decorationIdById && decorationIdById.has(attrValue.longId)) {\r\n\r\n let decorationItem: AttributeDecorationItem = decorationIdById.get(attrValue.longId);\r\n\r\n // TODO: Used in modelsservice for caching???\r\n list = list.setTag(decorationItem);\r\n }\r\n\r\n let value: string;\r\n let unit: string;\r\n\r\n // If the stored value should be shown first, the calculated value in a popup\r\n let storedFirst = this.globalDataStore.getGlobalData().globalSettings.showCurrentOrStoredAttributes.startsWith(\"Stored\");\r\n\r\n // Create a stored value list item\r\n if (storedFirst || isPopup) {\r\n if (conf.storedData.attributeValues) {\r\n let storedAttrVal = conf.storedData.attributeValues.find(x => x.longId == id);\r\n if (storedAttrVal) {\r\n if (storedAttrVal.value != null && attrValue.valueType == \"Bool\")\r\n value = storedAttrVal.value == '1' ? this.strings.Yes : this.strings.No;\r\n else\r\n value = storedAttrVal.value;\r\n\r\n unit = isPopup && storedAttrVal.value ? `${this.nullAsEmptyStringOrAddSpace(storedAttrVal.unit)}(${this.strings.Stored})` : storedAttrVal.value ? storedAttrVal.unit : \"\";\r\n }\r\n }\r\n storedItemModel = this.initItemModel(value, unit, storedItemModel, !storedFirst && isPopup);\r\n }\r\n\r\n // Create a calculated value list item\r\n if (!storedFirst || isPopup) {\r\n // Read formatted value\r\n if (list.tag instanceof AttributeDecorationItem && list.tag.numericFormat)\r\n value = attrValue.valueByNumericFormat.get(list.tag.numericFormat);\r\n else\r\n value = attrValue.value;\r\n\r\n unit = isPopup && attrValue.value ? `${this.nullAsEmptyStringOrAddSpace(attrValue.unit)}(${this.strings.Calculated})` : attrValue.value ? attrValue.unit : \"\";\r\n itemModel = this.initItemModel(value, unit, itemModel, storedFirst && isPopup);\r\n }\r\n\r\n let items: Immutable.List = list.items;\r\n\r\n if (!items)\r\n items = Immutable.List();\r\n\r\n if (storedFirst) {\r\n items = items.push(storedItemModel);\r\n if (isPopup)\r\n items = items.push(itemModel);\r\n }\r\n else {\r\n items = items.push(itemModel);\r\n if (isPopup)\r\n items = items.push(storedItemModel);\r\n }\r\n\r\n list = list.setItems(items);\r\n\r\n // Add into cells.\r\n return list;\r\n }\r\n\r\n nullAsEmptyStringOrAddSpace(value: string): string {\r\n if (value == null)\r\n return \"\";\r\n else\r\n return value + \" \";\r\n }\r\n\r\n initItemModel(value: string, unit: string, itemModel: ListItemModel, isItalic = false): ListItemModel {\r\n const valueAndUnit = unit ? `${this.nullAsEmptyStringOrAddSpace(value)}${unit}` : value;\r\n itemModel = itemModel.setTitle(isItalic && valueAndUnit != null ? `${valueAndUnit}` : valueAndUnit);\r\n itemModel = itemModel.setIsPrintView(this.isPrintView);\r\n return itemModel;\r\n }\r\n\r\n openAttributePopup(list: ListModel): void {\r\n if (!this.globalDataStore.getGlobalData().globalSettings.showCurrentOrStoredAttributes.endsWith(\"Popup\"))\r\n return;\r\n\r\n let attributeDecorationItem = new Map();\r\n\r\n if (list.tag instanceof AttributeDecorationItem)\r\n attributeDecorationItem.set(list.tag.attributeId, list.tag);\r\n\r\n let popupList = this.getAttributesDetail(+list.id, attributeDecorationItem, true);\r\n\r\n let refElement = this.criteriaComponents.find(x => x.list == list)?.listDiv.nativeElement;\r\n\r\n if (!refElement)\r\n return;\r\n\r\n let info = {\r\n title: popupList.title,\r\n subTitle: this.globalDataStore.getGlobalData().globalSettings.showCurrentOrStoredAttributes.startsWith(\"Current\") ? this.strings.StoredData : this.strings.CalculatedData,\r\n open: true,\r\n refElement: refElement,\r\n tag: popupList\r\n };\r\n\r\n this.popoverService.show(info);\r\n }\r\n\r\n subscribeDataChange(): void {\r\n\r\n this.confStore.onConfigurationAttributeValuesChange(this.configurationId, this.confSessionId, (propValues) => {\r\n\r\n this.init();\r\n this.cdr.markForCheck();\r\n\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n }\r\n\r\n}","import { ChangeDetectorRef, Component, Inject } from \"@angular/core\";\r\nimport { ProductDataStore } from \"../../../shared/providers/productData\";\r\nimport { ConfiguratorStore, ConfPageSessionService } from \"../../providers\";\r\nimport { ListModelCacheService } from \"../providers/listModelCacheService\";\r\nimport { AbstractAttributesDetailComponent } from \"./abstractAttributesDetailComponent\";\r\nimport { PopupService } from \"../../../../shared/components/popup/popupService\";\r\nimport { GlobalDataStore } from \"../../../shared/providers/globalData/globalDataStore\";\r\nimport { PopoverService } from \"../../../../shared/components\";\r\n\r\n\r\n@Component({\r\n selector: 'attributes-detail',\r\n templateUrl: './attributesDetailComponent.html'\r\n})\r\nexport class AttributesDetailComponent extends AbstractAttributesDetailComponent {\r\n\r\n constructor(@Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfPageSessionService) public confPageSessionService: ConfPageSessionService,\r\n @Inject(ProductDataStore) public productStore: ProductDataStore,\r\n @Inject(ChangeDetectorRef) public cdr: ChangeDetectorRef, \r\n @Inject(ListModelCacheService) public modelsService: ListModelCacheService,\r\n public popupService: PopupService,\r\n public globalDataStore: GlobalDataStore,\r\n public popoverService: PopoverService\r\n ) {\r\n super(cdr, confStore, confPageSessionService, productStore, modelsService, popupService, globalDataStore, popoverService);\r\n }\r\n\r\n}","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
","export * from './attributesDetailComponent';","import { Inject, Component, ViewChild, ChangeDetectorRef, Input } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\nimport { ConfiguratorStore, ConfPageSessionService, ConfiguratorUIStore, PopupIdentifiers } from \"../../providers\";\r\nimport { BaseDetailItemComponent } from \"../shared/baseDetailItemComponent\";\r\nimport { BomStore, BomActionCreator, BomController } from \"../../decorations/bom\";\r\nimport { BomColumnSetting, Conf, RequestViews, Product, Tab, BomDecoration, Decoration, Grid, GlobalSettings, ConfBomValue, GroupConfUIItem } from \"../../../shared/models\";\r\nimport { BomCompositePopupComponent } from \"../../popups\";\r\nimport { PagerModel } from \"../../../shared/components/pager/pagerModel\";\r\nimport { ChangeDetectionStrategy } from \"@angular/core\";\r\nimport { PopupService } from \"../../../../shared/components\";\r\nimport { ProductDataStore } from \"../../../../../core/pages/shared/providers/productData\";\r\nimport { BomActionArgs } from \"../../decorations/bom/bomActionArgs\";\r\nimport { sleep, Delay } from \"../../../../shared/utils\";\r\n\r\nexport class UIBomModel {\r\n decoration: BomDecoration;\r\n confBomValue: ConfBomValue;\r\n}\r\n\r\n@Component({\r\n selector: 'bom-detail',\r\n templateUrl: './bomDetailComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class BomDetailComponent extends BaseDetailItemComponent {\r\n\r\n public displayChildConfigurations: boolean = false;\r\n\r\n public columnSettings = Immutable.List();\r\n public childColumnSettings = Immutable.List();\r\n\r\n public pagerModel: PagerModel;\r\n public compositeVisible: boolean = false;\r\n\r\n public mainTitle: string;\r\n public isInnerTitleVisible: boolean = false;\r\n\r\n public models: Array = [];\r\n\r\n public get configuration(): Conf {\r\n return this.confStore.getConf(this.configurationId, this.confPageSessionService.confSessionId);\r\n }\r\n\r\n @ViewChild(BomCompositePopupComponent)\r\n bomCompositePopup: BomCompositePopupComponent;\r\n\r\n constructor(@Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfiguratorUIStore) public configuratorUIStore: ConfiguratorUIStore,\r\n @Inject(ConfPageSessionService) public confPageSessionService: ConfPageSessionService,\r\n @Inject(BomStore) public bomStore: BomStore,\r\n @Inject(ProductDataStore) public productStore: ProductDataStore,\r\n @Inject(ChangeDetectorRef) public cd: ChangeDetectorRef,\r\n @Inject(PopupService) public popupService: PopupService\r\n ) {\r\n super(confPageSessionService);\r\n }\r\n\r\n onDataReady(): void {\r\n\r\n this.initUIModels();\r\n\r\n this.visible = this.models.length > 0;\r\n\r\n if (!this.visible)\r\n return;\r\n\r\n this.mainTitle = this.strings.BillOfMaterials;\r\n this.isInnerTitleVisible = this.models.length > 1;\r\n\r\n if (!this.isInnerTitleVisible) {\r\n let firstDecoration = this.models[0].decoration;\r\n if (firstDecoration.title && firstDecoration.title.trim().length > 0)\r\n this.mainTitle = firstDecoration.title;\r\n // For individually displayed decoration if there is no title then hide the whole header row\r\n else if (typeof this.confUIItem != typeof GroupConfUIItem)\r\n this.showHeader = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this.listenChanges();\r\n }\r\n\r\n public listenChanges(): void {\r\n this.confStore.onConfigurationChange(this.configurationId, this.confPageSessionService.confSessionId, (configuration: Conf): void => {\r\n this.models.forEach(model => {\r\n model.confBomValue = configuration.bomValues.find((x) => x.longId == model.decoration.longId);\r\n });\r\n\r\n this.cd.markForCheck();\r\n\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n }\r\n\r\n public initUIModels(): void {\r\n\r\n this.models = [];\r\n\r\n // In grouped case Id would be null and children are only used but in ungrouped case Id is not null and children are null.\r\n let ids: Array = this.confUIItem.id ? [this.confUIItem.id] : this.confUIItem.items.map(x => x.id).toArray();\r\n\r\n ids.forEach(decorationId => {\r\n\r\n let uiModel: UIBomModel = new UIBomModel();\r\n uiModel.decoration = this.productStore.getEntity(decorationId);\r\n this.models.push(uiModel);\r\n\r\n });\r\n\r\n }\r\n\r\n public onDetailsClick(decoration: Decoration): void {\r\n this.compositeVisible = true;\r\n sleep(Delay.MS_100).then(x => { this.popupService.open(PopupIdentifiers.BomComposite, { configurationId: this.configurationId, decorationId: decoration.longId }); });\r\n }\r\n\r\n onDecorationHeaderIconClicked(): void {\r\n\r\n // If the click event is triggered outside the bomDecorations loop's scope then we don't know which decoration is clicked.\r\n // But It would only happen if there is only one decoration in the list.\r\n if (this.models.length == 0)\r\n return;\r\n\r\n this.onDetailsClick(this.models[0].decoration);\r\n }\r\n\r\n}","\r\n
\r\n \r\n
\r\n
{{model.decoration.title}}
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
","import { Component, Inject, Optional } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\nimport { CodeDecorationValuesModel } from \"../../../shared/components/code/codeDecorationValueModel\";\r\nimport { CodeValueModelBuilder } from \"../../../shared/components/code/providers/codeValueModelBuilder\";\r\nimport { CodeDisplayStyles, Conf, GroupConfUIItem } from \"../../../shared/models\";\r\nimport { ConfiguratorStore, ConfPageSessionService } from \"../../providers\";\r\nimport { BaseDetailItemComponent } from \"../shared/baseDetailItemComponent\";\r\n\r\n@Component({\r\n selector: 'code-detail',\r\n templateUrl: './codeDetailComponent.html' \r\n})\r\nexport class CodeDetailComponent extends BaseDetailItemComponent {\r\n\r\n // Major title represents the section title.\r\n public majorTitle: string;\r\n public showInlineTitle: boolean = false;\r\n\r\n public valuesModels: Immutable.List;\r\n\r\n public calcVisible: boolean = false;\r\n public storedVisible: boolean = false;\r\n\r\n constructor(@Optional() @Inject(ConfPageSessionService) public storeSession: ConfPageSessionService, \r\n @Inject(CodeValueModelBuilder) public builder: CodeValueModelBuilder,\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore\r\n ) {\r\n super(storeSession);\r\n }\r\n\r\n ngOnInit() {\r\n\r\n super.ngOnInit();\r\n\r\n this.confStore.onConfigurationChange(this.configurationId, this.confSessionId, (conf: Conf) => {\r\n\r\n this.onDataReady();\r\n\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n }\r\n\r\n onDataReady(): void {\r\n\r\n this.visible = true;\r\n this.majorTitle = this.strings.Code;\r\n\r\n // Get values model which contain the values for each decoration belonging to current \r\n this.valuesModels = this.builder.build(this.confUIItem, false, [CodeDisplayStyles.Render]);\r\n\r\n this.visible = this.valuesModels.size > 0;\r\n\r\n if (!this.visible)\r\n return;\r\n\r\n this.showInlineTitle = this.valuesModels.size > 1;\r\n\r\n if (!this.showInlineTitle) {\r\n\r\n // Move the decoration title to action-box because there is only one decoration found to be rendered.\r\n // Grab the visible confUIItem.\r\n let codeModel: CodeDecorationValuesModel = this.calcVisible ? this.valuesModels.get(0) : this.valuesModels.get(0);\r\n\r\n let firstDecoration = this.builder.calculatedDataProvider.getCodeDecoration(codeModel.decorationId);\r\n if (firstDecoration.title && firstDecoration.title.trim().length > 0)\r\n this.majorTitle = firstDecoration.title;\r\n // For individually displayed decoration if there is no title then hide the whole header row\r\n else if (typeof this.confUIItem != typeof GroupConfUIItem)\r\n this.showHeader = false;\r\n }\r\n\r\n }\r\n\r\n}","\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
","import { Component, Input, Output, EventEmitter, OnInit, Inject, ChangeDetectorRef, ChangeDetectionStrategy } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\n\r\nimport { ConfiguratorStore, ConfPageSessionService } from \"../../providers\";\r\nimport { Conf, PropertyDecoration, ConfPropertyValue, PropertyDecorationItem, GroupConfUIItem, ConfInfo } from \"../../../shared/models\";\r\nimport { ListRowModel } from \"../shared/listRowModel\";\r\nimport { ListModel, ListItemModel } from \"../../../shared/components/list\";\r\nimport { BaseDetailItemComponent } from \"../shared/baseDetailItemComponent\";\r\nimport { ListModelCacheService } from \"../providers/listModelCacheService\";\r\nimport { ProductDataStore } from \"../../../shared/providers/productData\";\r\n\r\n@Component({\r\n selector: 'conf-properties-detail',\r\n templateUrl: './confPropertiesDetailComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ConfPropertiesDetailComponent extends BaseDetailItemComponent {\r\n\r\n public name: string = \"\";\r\n\r\n constructor(@Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ProductDataStore) public productDataStore: ProductDataStore,\r\n @Inject(ConfPageSessionService) public confPageSessionService: ConfPageSessionService,\r\n @Inject(ListModelCacheService) public modelsService: ListModelCacheService,\r\n public cdr: ChangeDetectorRef,\r\n ) {\r\n super(confPageSessionService);\r\n }\r\n \r\n onDataReady(): void {\r\n //this.rows = this.rows.clear();\r\n //let conf = this.confStore.getConf(this.confPageSessionService.activeConfigurationId, this.confPageSessionService.confSessionId);\r\n //this.setup(conf);\r\n }\r\n \r\n public setup(conf: Conf) {\r\n\r\n if (!conf || !conf.confPropertyValues)\r\n return;\r\n\r\n this.rows = this.rows.clear();\r\n this.name = null;\r\n\r\n let availableConfPropertyByNames = conf.confPropertyValues.reduce((map, value) => map.set(value.propertyName, value), Immutable.Map()); \r\n let selectedConfProperties: ConfPropertyValue[] = [];\r\n let selectedFormattedValueByConfProperty = new Map();\r\n \r\n // If Id is available then we are working with PropertyDecoration\r\n // Otherwise we are displaying properties defined by global settings\r\n if (this.confUIItem.id && !(this.confUIItem instanceof GroupConfUIItem)) {\r\n let propertyDecoration = this.productDataStore.getEntity(this.confUIItem.id);\r\n if (propertyDecoration) {\r\n\r\n if (propertyDecoration.title && propertyDecoration.title.trim().length > 0)\r\n this.name = propertyDecoration.title;\r\n\r\n // Get the visible\r\n if (this.confUIItem.items && propertyDecoration.items) {\r\n\r\n let visibleItemIds = this.confUIItem.items.map(x => x.id).toArray();\r\n let visiblePropertyItems = propertyDecoration.items.filter(x => visibleItemIds.indexOf(x.longId) > -1);\r\n \r\n visiblePropertyItems.forEach(x => {\r\n\r\n if (availableConfPropertyByNames.has(x.propertyName)) {\r\n let confProperty = availableConfPropertyByNames.get(x.propertyName);\r\n selectedConfProperties.push(confProperty);\r\n\r\n // Read formatted value\r\n if (confProperty.valueByNumericFormat.has(x.numericFormat))\r\n selectedFormattedValueByConfProperty.set(confProperty, confProperty.valueByNumericFormat.get(x.numericFormat));\r\n }\r\n });\r\n }\r\n } \r\n }\r\n else {\r\n // Properties coming from global settings\r\n // Display it in the same order as it came from server\r\n\r\n this.confUIItem.items.forEach(uiItem => {\r\n\r\n if (availableConfPropertyByNames.has(uiItem.itemName))\r\n selectedConfProperties.push(availableConfPropertyByNames.get(uiItem.itemName)); \r\n\r\n });\r\n\r\n } \r\n\r\n if (!this.name) {\r\n let confInfo: ConfInfo = this.confStore.getConfInfo(conf.longId, this.confSessionId);\r\n this.name = confInfo ? confInfo.compact : conf.name && conf.name.trim().length > 0 ? conf.name : conf.identity;\r\n }\r\n\r\n // Create row and column models\r\n // Only one row consisting of all properties\r\n\r\n let row = new ListRowModel();\r\n selectedConfProperties.forEach((confProperty) => {\r\n\r\n let keyForConfProperty = `${confProperty.keyAndValue.key}_kv_${confProperty.keyAndValue.value}`;\r\n\r\n let list: ListModel = this.modelsService.getCachedIfValueEqual(confProperty.propertyName, keyForConfProperty);\r\n\r\n if (list) {\r\n row.cells.push(list); \r\n return;\r\n }\r\n else\r\n list = new ListModel();\r\n\r\n list = list.setTitle(confProperty.title);\r\n list = list.setEmptyValueText(this.strings.NoValue);\r\n list = list.setTag(keyForConfProperty);\r\n\r\n let item: ListItemModel = new ListItemModel();\r\n\r\n // See if there's a formatted value\r\n if (selectedFormattedValueByConfProperty.has(confProperty))\r\n item = item.setTitle(selectedFormattedValueByConfProperty.get(confProperty)); \r\n else\r\n item = item.setTitle(confProperty.keyAndValue.value); \r\n\r\n let items: Immutable.List = list.items;\r\n\r\n if (!items)\r\n items = Immutable.List();\r\n\r\n items = items.push(item);\r\n list = list.setItems(items);\r\n\r\n row.cells.push(list);\r\n\r\n });\r\n\r\n // Add empty cell(s) to complete the border\r\n for (var i = 0; i < row.cells.length % 3; i++) {\r\n row.cells.push(new ListModel());\r\n }\r\n\r\n this.rows = this.rows.push(row);\r\n\r\n }\r\n\r\n subscribeDataChange(): void {\r\n\r\n this.confStore.onConfigurationChange(this.configurationId, this.confSessionId, (conf: Conf) => {\r\n\r\n this.setup(conf);\r\n this.cdr.markForCheck();\r\n\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n }\r\n\r\n}","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
","import { Component, Inject } from \"@angular/core\";\r\nimport { Conf, DataSelector } from \"../../../shared/models\";\r\nimport { ProductDataStore } from \"../../../shared/providers/productData\";\r\nimport { ConfPageSessionService } from \"../../providers\";\r\nimport { BaseDetailItemComponent } from \"../shared/baseDetailItemComponent\";\r\n\r\n@Component({\r\n selector: 'data-selector-detail',\r\n templateUrl: './dataSelectorDetailComponent.html'\r\n})\r\nexport class DataSelectorDetailComponent extends BaseDetailItemComponent {\r\n\r\n public selectedValue: string;\r\n public actionBoxTitle: string;\r\n \r\n constructor(@Inject(ConfPageSessionService) public storeSession: ConfPageSessionService, \r\n @Inject(ProductDataStore) public productStore: ProductDataStore\r\n ) {\r\n super(storeSession);\r\n }\r\n\r\n onDataReady(): void {\r\n\r\n let decoration = this.productStore.getEntity(this.confUIItem.id);\r\n\r\n this.actionBoxTitle = decoration.title ? decoration.title : this.strings.DataSelector;\r\n\r\n let conf: Conf = this.storeSession.activeConfiguration;\r\n \r\n if (!conf.storedData.dataSelectorValues) \r\n return;\r\n \r\n const storedDataSelectorValue = conf.storedData.dataSelectorValues.find(x => x.longId == decoration.visualObjectId);\r\n\r\n if (storedDataSelectorValue)\r\n this.selectedValue = storedDataSelectorValue.value;\r\n\r\n }\r\n}","\r\n\r\n \r\n \r\n \r\n {{selectedValue}}\r\n \r\n \r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n","import { Component, Input, ViewContainerRef, ComponentFactoryResolver, ViewChild, Inject, ElementRef } from \"@angular/core\";\r\nimport { DocumentsDecoration, ConfDocumentValue, Conf, RequestViews, ConfDocumentRequest, GroupConfUIItem, ConfUIItem } from \"../../../shared/models\";\r\nimport { DecorationComponent } from \"../../shared/decorationComponent\";\r\nimport { ConfigurationSessionManager } from \"../../providers/configurationSessionManager\";\r\nimport { ConfPageSessionService, ConfiguratorStore } from \"../../providers\";\r\nimport { BaseDetailItemComponent } from \"../shared/baseDetailItemComponent\";\r\nimport { Optional } from \"@angular/core\";\r\nimport { GlobalDataStore } from \"../../../shared/providers/globalData\";\r\nimport { ModelFactory } from \"../../../shared/providers/modelFactory\";\r\nimport { ConfDataController } from \"../../../shared/providers/configurationData\";\r\nimport { VisualObjectVisibilityService } from \"../../shared\";\r\nimport { ProductDataStore } from \"../../../shared/providers/productData/productDataStore\";\r\n\r\n@Component({\r\n selector: 'documents-detail',\r\n templateUrl: './documentsDetailComponent.html'\r\n})\r\nexport class DocumentsDetailComponent extends BaseDetailItemComponent {\r\n\r\n public detailTitle: string;\r\n public documentValues: Array = [];\r\n\r\n constructor(@Optional() @Inject(ConfPageSessionService) public storeSession: ConfPageSessionService,\r\n @Inject(GlobalDataStore) public globalDataStore: GlobalDataStore,\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ModelFactory) public modelFactory: ModelFactory,\r\n @Inject(ConfDataController) public configuratorController: ConfDataController,\r\n @Inject(VisualObjectVisibilityService) public visualObjectVisibilityService: VisualObjectVisibilityService,\r\n @Inject(ProductDataStore) public productStore: ProductDataStore\r\n ) {\r\n super(storeSession);\r\n }\r\n\r\n onDataReady(): void {\r\n\r\n this.documentValues = [];\r\n\r\n if (!this.storeSession.activeConfiguration.documentValues || !this.confUIItem) {\r\n this.visible = false;\r\n return;\r\n }\r\n\r\n if (this.confUIItem.id == null)\r\n this.confUIItem.items.forEach(decoration => {\r\n this.addDocumentValues(decoration)\r\n });\r\n else\r\n this.addDocumentValues(this.confUIItem);\r\n\r\n if (this.documentValues.length > 0)\r\n this.visible = true;\r\n\r\n let grouped = this.confUIItem.items && this.confUIItem.items.count() > 1;\r\n this.detailTitle = this.strings.Documents;\r\n\r\n if (!grouped) {\r\n let firstDecorationId = this.confUIItem.id ?? this.confUIItem.items.first().id;\r\n let firstDecoration = this.productStore.getEntity(firstDecorationId);\r\n\r\n if (firstDecoration.title && firstDecoration.title.trim().length > 0)\r\n this.detailTitle = firstDecoration.title;\r\n // For individually displayed decoration if there is no title then hide the whole header row\r\n else if (typeof this.confUIItem != typeof GroupConfUIItem)\r\n this.showHeader = false;\r\n }\r\n }\r\n\r\n public addDocumentValues(decorationUIItem: ConfUIItem)\r\n {\r\n const documentValues = this.storeSession.activeConfiguration.documentValues.toArray();\r\n\r\n decorationUIItem.items.forEach(item => {\r\n const value = documentValues.find(x => x.longId === item.id);\r\n if (value && this.documentValues.findIndex(x => x.longId === value.longId) === -1)\r\n this.documentValues.push(value);\r\n });\r\n }\r\n\r\n public get vaultUrl(): string {\r\n return this.globalDataStore.getGlobalData().webSettings.vaultUrl;\r\n }\r\n\r\n public getDocumentLink(documentId: number): string {\r\n let model: ConfDocumentRequest = this.modelFactory.createAny(ConfDocumentRequest.name) as any;\r\n\r\n model.client = RequestViews.Summary;//this.pageStore.getActiveClientType();\r\n model.documentId = documentId;\r\n model.configurationId = this.configurationId;\r\n model.confSessionId = this.confSessionId;\r\n return this.configuratorController.getConfigurationDocumentUrl(model);\r\n }\r\n}","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n","import { ChangeDetectorRef, Component, Inject } from \"@angular/core\";\r\nimport { ProductDataStore } from \"../../../shared/providers/productData\";\r\nimport { ConfiguratorStore, ConfPageSessionService } from \"../../providers\";\r\nimport { ListModelCacheService } from \"../providers/listModelCacheService\";\r\nimport { PopupService } from \"../../../../shared/components/popup/popupService\";\r\nimport { GlobalDataStore } from \"../../../shared/providers/globalData/globalDataStore\";\r\nimport { PopoverService } from \"../../../../shared/components\";\r\nimport { BaseDetailItemComponent } from \"../shared/baseDetailItemComponent\";\r\nimport { FormDecoration, ConfUIItem, GroupConfUIItem, RequestViews, PageLocation } from \"../../../shared/models\";\r\n\r\n@Component({\r\n selector: 'form-detail',\r\n templateUrl: './formDetailComponent.html'\r\n})\r\nexport class FormDetailComponent extends BaseDetailItemComponent {\r\n\r\n formDecorations: Array;\r\n actionBoxTitle: string;\r\n showInlineTitle: boolean = false;\r\n RequestViews = RequestViews;\r\n\r\n constructor(@Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfPageSessionService) public confPageSessionService: ConfPageSessionService,\r\n @Inject(ProductDataStore) public productStore: ProductDataStore,\r\n \r\n ) {\r\n super(confPageSessionService);\r\n }\r\n\r\n onDataReady(): void {\r\n\r\n this.formDecorations = [];\r\n this.actionBoxTitle = \"\";\r\n\r\n if (this.confUIItem) {\r\n if (this.confUIItem.items) {\r\n if (this.confUIItem.id) {\r\n this.addFormDecoration(this.confUIItem);\r\n }\r\n else\r\n this.confUIItem.items.forEach(uiItem => {\r\n this.addFormDecoration(uiItem);\r\n });\r\n }\r\n }\r\n\r\n this.visible = this.formDecorations.length > 0;\r\n if (!this.visible)\r\n return;\r\n\r\n this.showInlineTitle = this.formDecorations.length > 1;\r\n\r\n if (!this.showInlineTitle) {\r\n let firstDecoration = this.formDecorations[0];\r\n if (firstDecoration.title && firstDecoration.title.trim().length > 0)\r\n this.actionBoxTitle = firstDecoration.title;\r\n // For individually displayed decoration if there is no title then hide the whole header row\r\n else if (typeof this.confUIItem != typeof GroupConfUIItem)\r\n this.showHeader = false;\r\n }\r\n }\r\n\r\n addFormDecoration(x: ConfUIItem) {\r\n const visualObject = this.productStore.getEntity(x.id);\r\n\r\n if (visualObject instanceof FormDecoration) {\r\n\r\n let formDecoration = visualObject as FormDecoration;\r\n\r\n const displayStyle = formDecoration.pageLocation as PageLocation;\r\n\r\n if (displayStyle == PageLocation.Tab)\r\n this.formDecorations.push(formDecoration);\r\n \r\n }\r\n }\r\n\r\n}","\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
","import { Inject, Component, Optional } from \"@angular/core\";\r\n\r\nimport { ConfiguratorStore, ConfPageSessionService } from \"../../providers\";\r\nimport { BaseDetailItemComponent } from \"../shared/baseDetailItemComponent\";\r\nimport { GraphicsDecoration, ConfGraphicsValue, GraphicsDisplayStyle, ConfUIItem, VisualObject, GroupConfUIItem } from \"../../../shared/models\";\r\nimport { ProductDataStore } from \"../../../shared/providers/productData\";\r\n\r\n@Component({\r\n selector: 'graphics-detail',\r\n templateUrl: './graphicsDetailComponent.html',\r\n})\r\nexport class GraphicsDetailComponent extends BaseDetailItemComponent {\r\n\r\n public actionBoxTitle: string;\r\n public showInlineTitle: boolean = false;\r\n\r\n public graphicDecorations: Array;\r\n constructor(@Optional() @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfPageSessionService) public confPageSessionService: ConfPageSessionService,\r\n @Inject(ProductDataStore) public productStore: ProductDataStore\r\n ) {\r\n super(confPageSessionService);\r\n }\r\n\r\n addGraphicsDecoration(x: ConfUIItem) {\r\n const visualObject = this.productStore.getEntity(x.id);\r\n // We only care about render graphics, popup graphic will be shown in side menu.\r\n if (visualObject instanceof GraphicsDecoration && visualObject.displayStyle === GraphicsDisplayStyle.Render) {\r\n // TODO check if visible, this code is copied from DecorationVisibilityService, needs to be combined or something.\r\n if (visualObject.showInSummary && (!visualObject.hideEmptyDecoration || this.confStore.getConfDataEntity(this.confPageSessionService.activeConfigurationId, this.confPageSessionService.confSessionId, visualObject.visualObjectId).svg))\r\n this.graphicDecorations.push(visualObject);\r\n }\r\n }\r\n\r\n onDataReady(): void {\r\n this.graphicDecorations = [];\r\n this.actionBoxTitle = this.strings.Graphics;\r\n\r\n if (this.confUIItem) {\r\n if (this.confUIItem.items) {\r\n if (this.confUIItem.id) {\r\n this.addGraphicsDecoration(this.confUIItem);\r\n }\r\n else\r\n this.confUIItem.items.forEach(uiItem => {\r\n this.addGraphicsDecoration(uiItem);\r\n });\r\n }\r\n }\r\n\r\n this.visible = this.graphicDecorations.length > 0;\r\n if (!this.visible)\r\n return;\r\n\r\n this.showInlineTitle = this.graphicDecorations.length > 1;\r\n\r\n if (!this.showInlineTitle) {\r\n let firstDecoration = this.graphicDecorations[0];\r\n if (firstDecoration.title && firstDecoration.title.trim().length > 0)\r\n this.actionBoxTitle = firstDecoration.title;\r\n // For individually displayed decoration if there is no title then hide the whole header row\r\n else if (typeof this.confUIItem != typeof GroupConfUIItem)\r\n this.showHeader = false;\r\n }\r\n }\r\n}","\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
","import { Component, Input, ViewContainerRef, ComponentFactoryResolver, ViewChild, Inject, ElementRef } from \"@angular/core\";\r\nimport { ConfPageSessionService, ConfiguratorStore } from \"../../providers\";\r\nimport { BaseDetailItemComponent } from \"../shared/baseDetailItemComponent\";\r\nimport { Optional } from \"@angular/core\";\r\nimport { GlobalDataStore } from \"../../../shared/providers/globalData\";\r\nimport { ModelFactory } from \"../../../shared/providers/modelFactory\";\r\nimport { ConfDataController } from \"../../../shared/providers/configurationData\";\r\nimport { VisualObjectVisibilityService } from \"../../shared\";\r\nimport { ProductDataStore } from \"../../../shared/providers/productData/productDataStore\";\r\nimport { ImageDecoration } from \"../../../shared/models/entities/imageDecoration\";\r\nimport { ConfUIItem } from \"../../../shared/models/entities/confUIItem\";\r\nimport { GroupConfUIItem } from \"../../../shared/models/entities/groupConfUIItem\";\r\nimport { Conf } from \"../../../shared/models\";\r\n\r\n@Component({\r\n selector: 'image-detail',\r\n templateUrl: './imageDetailComponent.html'\r\n})\r\nexport class ImageDetailComponent extends BaseDetailItemComponent {\r\n\r\n public detailTitle: string;\r\n public showInlineTitle = false;\r\n public vaultImageFilePath: string;\r\n\r\n public imageDecorations: Array;\r\n constructor(@Optional() @Inject(ConfPageSessionService) public storeSession: ConfPageSessionService,\r\n @Inject(GlobalDataStore) public globalDataStore: GlobalDataStore,\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ModelFactory) public modelFactory: ModelFactory,\r\n @Inject(ConfDataController) public configuratorController: ConfDataController,\r\n @Inject(VisualObjectVisibilityService) public visualObjectVisibilityService: VisualObjectVisibilityService,\r\n @Inject(ProductDataStore) public productStore: ProductDataStore\r\n ) {\r\n super(storeSession);\r\n }\r\n\r\n addImageDecoration(x: ConfUIItem) {\r\n const visualObject = this.productStore.getEntity(x.id);\r\n if (visualObject instanceof ImageDecoration) {\r\n\r\n let decoration = visualObject as ImageDecoration;\r\n let conf: Conf = this.confStore.getConf(this.configurationId, this.confSessionId);\r\n if (conf) {\r\n\r\n // Read conf image value\r\n let confImageVal = conf.imageValues.find((x) => x.longId == decoration.longId);\r\n\r\n // Set the image.\r\n if (confImageVal)\r\n decoration = decoration.setImageFileName(confImageVal.value);\r\n }\r\n\r\n\r\n this.imageDecorations.push(decoration);\r\n }\r\n }\r\n\r\n onDataReady(): void {\r\n this.imageDecorations = [];\r\n this.detailTitle = this.strings.Images;\r\n\r\n if (this.confUIItem) {\r\n if (this.confUIItem.items) {\r\n if (this.confUIItem.id) {\r\n this.addImageDecoration(this.confUIItem);\r\n }\r\n else\r\n this.confUIItem.items.forEach(uiItem => {\r\n this.addImageDecoration(uiItem);\r\n });\r\n }\r\n }\r\n\r\n this.visible = this.imageDecorations.length > 0;\r\n if (!this.visible)\r\n return;\r\n\r\n this.showInlineTitle = this.imageDecorations.length > 1;\r\n if (this.showInlineTitle)\r\n return;\r\n else {\r\n let firstDecoration = this.imageDecorations[0];\r\n if (firstDecoration.title && firstDecoration.title.trim().length > 0)\r\n this.detailTitle = firstDecoration.title;\r\n // For individually displayed decoration if there is no title then hide the whole header row\r\n else if (typeof this.confUIItem != typeof GroupConfUIItem)\r\n this.showHeader = false;\r\n }\r\n }\r\n\r\n}","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{imageDecoration.title}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n","export * from './summaryActionsBoxesComponent';\r\nexport * from './summaryDetailComponent';\r\nexport * from './confPropertiesDetail/confPropertiesDetailComponent';\r\nexport * from './tab/tabDetailComponent';\r\nexport * from './tab/summaryParamDetailComponent';\r\nexport * from './attributes';\r\nexport * from './bom/bomDetailComponent';\r\nexport * from './graphics/graphicsDetailComponent';\r\nexport * from './prices';\r\nexport * from './documents/documentsDetailComponent';\r\nexport * from './code/codeDetailComponent';\r\nexport * from './image/imageDetailComponent';\r\nexport * from './visualization/visualizationDetailComponent';\r\nexport * from './form/formDetailComponent';","\r\n// TODO: Rename this enum because Calculated is used in both editor and summary. we can use some abstract name\r\nexport enum SummaryDisplayStyles {\r\n\r\n Stored = \"Stored\",\r\n\r\n Calculated = \"Calculated\",\r\n\r\n Both = \"Both\"\r\n\r\n}","export * from './pricesDetailComponent';","import { Component, Inject, Optional } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\nimport { PopupService } from \"../../../../shared/components\";\r\nimport { Conf, ConfPriceValue, PriceListDecoration, PriceReportMessage, StoredPriceValue, StoredPriceReportMessage } from \"../../../shared/models\";\r\nimport { ProductDataStore } from \"../../../shared/providers/productData\";\r\nimport { ConfiguratorStore, ConfMessageProvider, ConfPageSessionService, PopupIdentifiers } from \"../../providers\";\r\nimport { BaseDetailItemComponent } from \"../shared/baseDetailItemComponent\";\r\nimport { SummaryDisplayStyles } from \"./SummaryDisplayStyle\";\r\n\r\n@Component({\r\n selector: 'prices-detail',\r\n templateUrl: './pricesDetailComponent.html',\r\n})\r\nexport class PricesDetailComponent extends BaseDetailItemComponent {\r\n\r\n public confPriceValue: ConfPriceValue;\r\n public storedPriceValue: StoredPriceValue;\r\n public showPriceType = false;\r\n public isCurrentPriceVisible = false;\r\n public isStoredPriceVisible = false;\r\n \r\n constructor( @Optional() @Inject(ConfPageSessionService) public storeSession: ConfPageSessionService,\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfMessageProvider) public confMessageProvider: ConfMessageProvider,\r\n @Inject(PopupService) public popupService: PopupService,\r\n @Inject(ProductDataStore) public productStore: ProductDataStore,\r\n ) {\r\n super(storeSession);\r\n }\r\n\r\n onDataReady(): void {\r\n \r\n }\r\n\r\n\r\n init(): void {\r\n\r\n if (!this.configurationId || !this.confSessionId)\r\n return;\r\n\r\n let conf = this.storeSession.activeConfiguration;\r\n this.confPriceValue = conf.priceValue;\r\n this.storedPriceValue = conf.storedData ? conf.storedData.priceValue : null;\r\n\r\n let decoration = this.productStore.getEntity(this.confUIItem.id);\r\n\r\n if (!decoration || !decoration.showInSummary || !decoration.summaryDisplayStyle)\r\n return;\r\n\r\n this.isCurrentPriceVisible = (decoration.summaryDisplayStyle == SummaryDisplayStyles.Both || decoration.summaryDisplayStyle == SummaryDisplayStyles.Calculated) &&\r\n this.confPriceValue != null &&\r\n this.confPriceValue.priceListCategoryId != null;\r\n\r\n this.isStoredPriceVisible = (decoration.summaryDisplayStyle == SummaryDisplayStyles.Both || decoration.summaryDisplayStyle == SummaryDisplayStyles.Stored) &&\r\n this.storedPriceValue != null &&\r\n this.storedPriceValue.priceListCategoryId != null;\r\n\r\n this.visible = this.isCurrentPriceVisible || this.isStoredPriceVisible;\r\n\r\n this.showPriceType = this.isCurrentPriceVisible && this.isStoredPriceVisible;\r\n\r\n }\r\n\r\n public onDetailsClick($event, isStoredReport: boolean = false): void {\r\n // TODO this will crash, price popup is not included in summary.\r\n let requestType = this.confPageSessionService.confUIStore.PageStore.getActiveClientType();\r\n this.confStore.getPriceReport(this.confSessionId, this.configurationId, requestType, isStoredReport);\r\n }\r\n\r\n subscribeDataChange(): void {\r\n\r\n // Price report message\r\n this.confMessageProvider.onMessagesRequest(this.confPageSessionService.confSessionId, PriceReportMessage.name, {\r\n next: (messages: Immutable.List): void => {\r\n\r\n this.popupService.open>(PopupIdentifiers.PriceList, messages);\r\n },\r\n listenNewEventsOnly: true\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n // Stored price report message\r\n this.confMessageProvider.onMessagesRequest(this.confPageSessionService.confSessionId, StoredPriceReportMessage.name, {\r\n next: (messages: Immutable.List): void => {\r\n\r\n this.popupService.open>(PopupIdentifiers.PriceList, messages);\r\n },\r\n listenNewEventsOnly: true\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n this.confStore.onConfigurationChange(this.configurationId, this.confSessionId, (conf: Conf) => {\r\n\r\n this.init();\r\n\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n }\r\n \r\n}","\r\n \r\n \r\n \r\n
{{confPriceValue?.priceListCategoryName || storedPriceValue?.priceListCategoryName}}
\r\n
\r\n \r\n \r\n \r\n
{{strings.Stored}}
\r\n \r\n
\r\n \r\n
{{strings.Current}}
\r\n
\r\n {{confPriceValue.price}}\r\n
{{strings.Expired}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n","import * as Immutable from \"immutable\";\r\nimport { ListModel } from \"../../../shared/components\";\r\n\r\nexport class ListModelCacheService {\r\n\r\n /**\r\n * Each listModel represents one single visual object, or entity\r\n */\r\n public listModelById = Immutable.Map();\r\n\r\n constructor() {\r\n\r\n }\r\n\r\n /**\r\n * Returns true if list model exists otherwise false.\r\n * @param id\r\n */\r\n public has(id: string): boolean {\r\n return this.listModelById.has(id);\r\n }\r\n\r\n public getCachedIfValueEqual(id: string, value: any): ListModel {\r\n\r\n if (!this.has(id))\r\n return null;\r\n\r\n if (this.listModelById.get(id).tag === value) \r\n return this.listModelById.get(id);\r\n\r\n return null;\r\n\r\n }\r\n\r\n public addIntoCache(list: ListModel): void {\r\n this.listModelById = this.listModelById.set(list.id, list);\r\n }\r\n\r\n\r\n //public get(visual: VisualObject): ListModel {\r\n\r\n // let id = visual.visualObjectId.toString();\r\n // let confValue: ConfValue = this.confStore.getConfValue(confId, sessionId, visual.visualObjectId) as ConfValue;\r\n\r\n // if (this.has(id)) {\r\n\r\n // // Comparison the old and new reference if equal then return the previous model otherwise create a new one.\r\n // let listModel = this.listModelById.get(id);\r\n\r\n // // ListModel.tag contains the old visual object reference.\r\n // if (confValue === listModel.tag)\r\n // return listModel;\r\n\r\n // // If hidden remove from repository.\r\n // if (confValue.isHidden) {\r\n // this.listModelById = this.listModelById.remove(id);\r\n // return null;\r\n // }\r\n // }\r\n \r\n //}\r\n\r\n //create(title: string, helpIcon: string, backgroundImage: string, id: string, isPrint: boolean, emptyValueText?: string, tag?: any): ListModel {\r\n\r\n // let list: ListModel = new ListModel();\r\n // list = list.setTitle(title);\r\n // list = list.setEmptyValueText(emptyValueText);\r\n // list = list.setIsPrintView(isPrint);\r\n // list = list.setId(id);\r\n\r\n //}\r\n\r\n ////addChildItems(id: string, children: Immutable.List): ListModel {\r\n\r\n\r\n\r\n //}\r\n\r\n \r\n\r\n}","import { Inject, Component, Input, SimpleChanges } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\nimport { SummaryBaseComponent } from \"../summaryBaseComponent\";\r\nimport { ListRowModel } from \"./listRowModel\";\r\nimport { ConfPageSessionService } from \"../../providers\";\r\nimport { ValueChangeEventArgs } from \"../../../../shared/components\";\r\nimport { ConfUIItem } from \"../../../shared/models\";\r\n\r\n@Component({ template: '' })\r\nexport abstract class BaseDetailItemComponent extends SummaryBaseComponent {\r\n\r\n public rows: Immutable.List = Immutable.List();\r\n public visible: boolean = false; // Controls the visiblity for entire detail item.\r\n public contentVisible: boolean = true; // Controls the visiblity only for contents, header would be shown if the value is set 'false'.\r\n public extraStyles: string = \"\";\r\n\r\n public showHeader: boolean = true;\r\n\r\n @Input()\r\n public isPrintView: boolean = false;\r\n\r\n @Input()\r\n public confUIItem: ConfUIItem;\r\n\r\n public includedInPrint: boolean = true;\r\n\r\n constructor(public confPageSessionService: ConfPageSessionService \r\n ) {\r\n super(confPageSessionService);\r\n }\r\n\r\n /**\r\n * Returns true if the given cell count needs to add an empty cell.\r\n Should add a cell if its an odd number of cells.\r\n * @param cellCount\r\n */\r\n public shouldAddEmptyCell(cellCount: number) {\r\n return cellCount > 1 && cellCount % 2 == 1;\r\n }\r\n\r\n onPrintValueChange(event: ValueChangeEventArgs) {\r\n this.includedInPrint = event.value == 'true';\r\n this.setPrintItemDetail();\r\n }\r\n\r\n setPrintItemDetail(): void {\r\n\r\n if (!this.isPrintView)\r\n return;\r\n\r\n this.contentVisible = !this.isPrintView || (this.isPrintView && this.includedInPrint);\r\n this.extraStyles = this.isPrintView && this.includedInPrint? 'print-detail-item-show' : 'print-detail-item-hide';\r\n }\r\n\r\n}","import { ListModel } from \"../../../shared/components/list\";\r\n\r\nexport class ListRowModel {\r\n\r\n public cells: Array = [];\r\n\r\n public classes: string;\r\n\r\n}","import { Inject, Component } from \"@angular/core\";\r\nimport { ConfigurationSessionManager, ConfiguratorStore, ConfPageSessionService } from \"../providers\";\r\nimport * as Immutable from 'immutable';\r\nimport { SummaryBaseComponent } from \"./summaryBaseComponent\";\r\nimport { ConfUIItem, CodeDisplayStyles, CodeDecoration, GroupConfUIItem, DocumentsDecoration, ConfFormValue, FormDecoration } from \"../../shared/models\";\r\nimport { ProductDataStore } from \"../../shared/providers/productData\";\r\nimport { CodeValueModelBuilder } from \"../../shared/components/code/providers/codeValueModelBuilder\";\r\nimport { CodeDecorationValuesModel } from \"../../shared/components/code/codeDecorationValueModel\";\r\nimport { GlobalDataStore } from \"../../shared/providers/globalData/globalDataStore\";\r\nimport { VisualObjectUIDataService } from \"../shared/visualObjectUIDataService\";\r\nimport { FormValueModelBuilder } from \"../../shared/components/form\";\r\nimport { VisualObjectHelper } from \"../parameters/shared\";\r\n\r\n\r\nexport enum ActionBoxNames {\r\n Operations = 'operations',\r\n States = 'states',\r\n Revisions = 'revisions',\r\n Reports = 'reports',\r\n Forms = 'forms',\r\n Code = 'code',\r\n Documents = 'documents',\r\n Graphics = 'graphics',\r\n Attachments = 'attachments'\r\n}\r\n\r\n@Component({\r\n selector: 'summary-action-boxes',\r\n templateUrl: './summaryActionsBoxesComponent.html',\r\n providers: [VisualObjectUIDataService, VisualObjectHelper]\r\n})\r\nexport class SummaryActionsBoxesComponent extends SummaryBaseComponent {\r\n actionBoxNames = ActionBoxNames;\r\n\r\n/* codeUIItems: Immutable.List = Immutable.List();*/\r\n documentsUIItems: Immutable.List = Immutable.List();\r\n\r\n formDecorations: Immutable.List = Immutable.List();\r\n\r\n orderList: Immutable.List = Immutable.List();\r\n\r\n // List of each decoration values.\r\n decorationValuesModels: Immutable.List = Immutable.List();\r\n\r\n constructor(@Inject(ConfPageSessionService) public confPageSessionService: ConfPageSessionService,\r\n @Inject(CodeValueModelBuilder) public codeValueModelBuilder: CodeValueModelBuilder,\r\n @Inject(FormValueModelBuilder) public formValueModelBuilder: FormValueModelBuilder,\r\n @Inject(GlobalDataStore) public globalDataStore: GlobalDataStore) {\r\n super(confPageSessionService);\r\n }\r\n\r\n onDataReady(): void {\r\n\r\n this.orderList = this.globalDataStore.globalSettings.summaryActionBoxesDisplayOrder;\r\n\r\n // TODO: This part requires more improvement.\r\n const uiItems: Array = this.confPageSessionService.activeConfiguration.uiItems\r\n .filter(uiItem => uiItem.itemName == CodeDecoration.name).toArray();\r\n\r\n if (this.globalDataStore.globalSettings.displayDocumentsInOperationsColumn)\r\n this.documentsUIItems = this.confPageSessionService.activeConfiguration.uiItems\r\n .filter(uiItem => uiItem.itemName == DocumentsDecoration.name).toList();\r\n\r\n const formUIItems: Array = this.confPageSessionService.activeConfiguration.uiItems\r\n .filter(uiItem => uiItem.itemName == FormDecoration.name).toArray();\r\n\r\n const codeFilteredStyles = [CodeDisplayStyles.DownloadLink, CodeDisplayStyles.Popup];\r\n\r\n this.decorationValuesModels = this.decorationValuesModels.clear();\r\n uiItems.forEach(x => {\r\n\r\n // Note! Grouping is not supported yet for action boxes. We need more work on this part.\r\n let ValuesModels = this.codeValueModelBuilder.build(x, false, codeFilteredStyles).toArray();\r\n this.decorationValuesModels = this.decorationValuesModels.push(...ValuesModels);\r\n\r\n });\r\n\r\n this.formDecorations = this.formDecorations.clear();\r\n formUIItems.forEach(x => {\r\n\r\n // Note! Grouping is not supported yet for action boxes. We need more work on this part.\r\n let formDecoration = this.formValueModelBuilder.build(x, false);\r\n\r\n if (formDecoration)\r\n this.formDecorations = this.formDecorations.push(formDecoration);\r\n\r\n });\r\n\r\n }\r\n\r\n}","\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n","import { Component, Input, SimpleChanges } from \"@angular/core\";\r\nimport { BaseComponent } from \"../../shared\";\r\nimport { ConfPageSessionService } from \"../providers\";\r\n\r\n@Component({ template: '' })\r\nexport abstract class SummaryBaseComponent extends BaseComponent {\r\n\r\n @Input()\r\n public configurationId: number;\r\n\r\n @Input()\r\n public confSessionId: number;\r\n\r\n constructor(public confPageSessionService: ConfPageSessionService) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.configurationId = this.confPageSessionService.activeConfigurationId;\r\n this.confSessionId = this.confPageSessionService.confSessionId;\r\n this.onDataReady(); \r\n this.subscribeDataChange();\r\n this.setPrintItemDetail();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n\r\n if (changes['configurationId'] || changes['confSessionId']) {\r\n this.onDataReady();\r\n this.setPrintItemDetail(); \r\n }\r\n\r\n }\r\n\r\n abstract onDataReady(): void;\r\n\r\n subscribeDataChange(): void {}\r\n\r\n setPrintItemDetail(): void { }\r\n\r\n}","import { Inject, Component, Input, ChangeDetectionStrategy, ChangeDetectorRef } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\"\r\nimport { ConfPageSessionService, ConfiguratorStore } from \"../providers\";\r\nimport { SummaryBaseComponent } from \"./summaryBaseComponent\";\r\nimport { Conf, ConfUIItem, DocumentsDecoration } from \"../../shared/models\";\r\nimport { ListModelCacheService } from \"./providers/listModelCacheService\";\r\nimport { GlobalDataStore } from \"../../shared/providers/globalData\";\r\nimport { VisualObjectHelper } from \"../parameters/shared/visualObjectHelper\";\r\nimport { VisualObjectUIDataService } from \"../shared/visualObjectUIDataService\";\r\n\r\n@Component({\r\n selector: 'summary-detail',\r\n templateUrl: './summaryDetailComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [ListModelCacheService, VisualObjectHelper, VisualObjectUIDataService]\r\n})\r\nexport class SummaryDetailComponent extends SummaryBaseComponent {\r\n \r\n public tabIds: Immutable.List;\r\n\r\n @Input()\r\n public isPrintView: boolean = false;\r\n\r\n public showPrices: boolean = true;\r\n\r\n public items: Immutable.List = Immutable.List();\r\n\r\n constructor( @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfPageSessionService) public confPageSessionService: ConfPageSessionService, \r\n @Inject(ChangeDetectorRef) public cdr: ChangeDetectorRef,\r\n @Inject(GlobalDataStore) public globalDataStore) {\r\n super(confPageSessionService);\r\n }\r\n\r\n onDataReady(): void {\r\n \r\n let conf = this.confPageSessionService.activeConfiguration;\r\n this.items = conf.uiItems;\r\n\r\n\r\n // Don't display documents decorations if displayed as action boxes\r\n if (this.globalDataStore.globalSettings.displayDocumentsInOperationsColumn)\r\n this.items = this.items.filter(x => x.itemName != DocumentsDecoration.name).toList();\r\n\r\n }\r\n\r\n subscribeDataChange(): void {\r\n\r\n this.confStore.onConfigurationChange(this.configurationId, this.confPageSessionService.confSessionId, (configuration: Conf) => {\r\n\r\n this.onDataReady(); \r\n\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n }\r\n\r\n}","\r\n\r\n
\r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n
\r\n\r\n
","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, Input } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { PopupInfo } from \"../../../../shared/components\";\r\nimport { Delay, sleep } from \"../../../../shared/utils\";\r\nimport { BaseComponent } from \"../../../shared\";\r\nimport { ListModel } from \"../../../shared/components\";\r\nimport { ParameterMandatoryService } from \"../../parameters/shared/parameterMandatoryService\";\r\nimport { ConfiguratorStore, ConfPageSessionService, PopupIdentifiers } from \"../../providers\";\r\nimport { ListRowModel } from \"../shared/listRowModel\";\r\n\r\n@Component({\r\n selector: 'summary-param-detail',\r\n templateUrl: './summaryParamDetailComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SummaryParamDetailComponent extends BaseComponent {\r\n\r\n @Input() public list: ListModel;\r\n\r\n readonly HighlighFadeIn: string = 'highlight fade-in';\r\n readonly HighlighFadeOut: string = 'highlight fade-out';\r\n\r\n public highlight: boolean = false;\r\n public highlightStyles: string;\r\n\r\n public highlightChangeSubscription: Subscription;\r\n public emitterSubscription: Subscription;\r\n\r\n public rows: Immutable.List = Immutable.List();\r\n public configurationId: number;\r\n\r\n constructor(\r\n public confPageSessionService: ConfPageSessionService,\r\n public confStore: ConfiguratorStore,\r\n @Inject(ChangeDetectorRef) public cd: ChangeDetectorRef, \r\n @Inject(ParameterMandatoryService) public parameterMandatoryService: ParameterMandatoryService) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.configurationId = this.confPageSessionService.activeConfigurationId;\r\n this.listenChanges();\r\n }\r\n\r\n public listenChanges(): void {\r\n\r\n // Unsubscribe the old subscription.\r\n this.unsubscribe();\r\n\r\n this.highlightChangeSubscription = this.parameterMandatoryService.getMessage().subscribe(() => {\r\n \r\n this.highlight = this.parameterMandatoryService.shouldHighlight(this.configurationId, Number(this.list.id)); \r\n\r\n if (this.highlight) {\r\n this.setHighlight(this.HighlighFadeIn);\r\n }\r\n else {\r\n this.setHighlight(this.HighlighFadeOut);\r\n }\r\n\r\n });\r\n \r\n this.emitterService.getMessage().subscribe((info: PopupInfo) => {\r\n\r\n if (info.id == PopupIdentifiers.Mandatory && info.tag == Number(this.list.id)) {\r\n\r\n // Flash highligh\r\n this.setHighlight(this.HighlighFadeIn); // Fades in\r\n sleep(Delay.MS_600).then(x => this.setHighlight(this.HighlighFadeOut)); // Fades out\r\n sleep(Delay.MS_600).then(x => this.setHighlight(\"\")); // Removes the css from DOM \r\n\r\n }\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n }\r\n\r\n setHighlight(style) {\r\n this.highlightStyles = style;\r\n this.cd.markForCheck(); \r\n }\r\n \r\n ngOnDestroy() {\r\n this.unsubscribe();\r\n }\r\n\r\n unsubscribe() {\r\n if (this.highlightChangeSubscription)\r\n this.highlightChangeSubscription.unsubscribe();\r\n\r\n if (this.emitterSubscription)\r\n this.emitterSubscription.unsubscribe();\r\n\r\n }\r\n\r\n}","","import { Inject, Component, Input, ChangeDetectorRef } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\nimport { ConfiguratorStore, ConfPageSessionService } from \"../../providers\";\r\nimport { ListRowModel } from \"../shared/listRowModel\";\r\nimport { ListModel, ListItemModel } from \"../../../shared/components/list\";\r\nimport { ConfValue, Param, Tab, VisualObject, ConfIntValue, ConfBoolValue, ConfDoubleValue, ConfStringValue, ConfMultiChoiceValue, ConfLookupValue, ParamValue, ConfMultiSetValue, MultiChoiceValue, ConfBomValue, ConfUIItem, ConfAttributeValue, AttributeDecoration, AttributeDecorationItem } from \"../../../shared/models\";\r\nimport { ProductDataStore } from \"../../../shared/providers/productData\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { ChangeDetectionStrategy } from \"@angular/core\";\r\nimport { ListModelCacheService } from \"../providers/listModelCacheService\";\r\nimport { IconTools } from \"../../../shared/providers/iconTools\";\r\nimport { AbstractAttributesDetailComponent } from \"../attributes/abstractAttributesDetailComponent\";\r\nimport { PopupService, PopoverService } from \"../../../../shared/components\";\r\nimport { GlobalDataStore } from \"../../../shared/providers/globalData\";\r\n\r\n@Component({\r\n selector: 'tab-detail',\r\n templateUrl: './tabDetailComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class TabDetailComponent extends AbstractAttributesDetailComponent {\r\n\r\n public tab: Tab;\r\n public icon: string;\r\n public isVault: boolean = false;\r\n\r\n @Input() public tabId: number;\r\n public activeParamId: number = -1;\r\n\r\n public highlightChangeSubscription: Subscription; \r\n\r\n constructor(\r\n public cdr: ChangeDetectorRef,\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfPageSessionService) public confPageSessionService: ConfPageSessionService,\r\n @Inject(ProductDataStore) public productStore: ProductDataStore,\r\n @Inject(IconTools) public iconTools: IconTools,\r\n @Inject(ListModelCacheService) public modelsService: ListModelCacheService,\r\n public popupService: PopupService,\r\n public globalDataStore: GlobalDataStore,\r\n public popoverService: PopoverService\r\n ) {\r\n super(cdr, confStore, confPageSessionService, productStore, modelsService, popupService, globalDataStore, popoverService);\r\n }\r\n\r\n init(): void {\r\n\r\n this.rows = this.rows.clear();\r\n this.tab = this.productStore.getEntity(this.confUIItem.id); // Read the tab.\r\n this.setVisibleParamsAndAttributes();\r\n\r\n // Set tab icon \r\n this.isVault = !!this.tab.iconRelativeUrl;\r\n this.icon = this.tab.iconRelativeUrl ? this.tab.iconRelativeUrl : 'folder';\r\n }\r\n\r\n setVisibleParamsAndAttributes(): void {\r\n\r\n // Create row and column models\r\n // Only one row consisting of all parameters\r\n let row = new ListRowModel();\r\n this.rows = this.rows.push(row);\r\n\r\n // Grab all children(params)\r\n this.confUIItem.items.forEach(visualObjectUIItem => {\r\n\r\n let visualObject: VisualObject = this.productStore.getEntity(visualObjectUIItem.id);\r\n\r\n if (visualObject instanceof Param) {\r\n row.cells.push(this.getParamUIObject(visualObject))\r\n }\r\n\r\n if (visualObject instanceof AttributeDecoration) {\r\n row.cells.push(...this.getAttributeUIObjects(visualObject));\r\n }\r\n });\r\n\r\n // Add empty cell to complete the border\r\n if (this.shouldAddEmptyCell(row.cells.length)) {\r\n row.cells.push(new ListModel());\r\n }\r\n }\r\n\r\n public getParamUIObject(param: Param): ListModel {\r\n\r\n let confValue: ConfValue = this.confStore.getConfValue(this.configurationId, this.confSessionId, param.visualObjectId) as ConfValue;\r\n\r\n // TODO: Temporary fix. Remove after configurator refactoring.\r\n if (!confValue)\r\n return;\r\n\r\n let list: ListModel = this.modelsService.getCachedIfValueEqual(param.longId.toString(), confValue);\r\n if (list)\r\n return list;\r\n\r\n list = new ListModel();\r\n list = list.setTitle(param.title);\r\n list = param.iconRelativeUrl ? list.setIcon(param.iconRelativeUrl) : list.setIcon(param.className.toLowerCase());\r\n if (param.iconRelativeUrl) {\r\n list = list.setImageSet(\"primary\");\r\n list = list.setIsVaultIcon(true);\r\n }\r\n list = list.setEmptyValueText(this.strings.NoValue);\r\n list = list.setIsPrintView(this.isPrintView);\r\n list = list.setId(param.longId.toString());\r\n list = list.setTag(confValue);\r\n\r\n let items: Immutable.List = list.items;\r\n if (!items)\r\n items = Immutable.List();\r\n\r\n // Special case for multi choice.\r\n if (confValue instanceof ConfMultiChoiceValue) {\r\n\r\n // Find the corresponding UIItem to check the visibility of the parameter\r\n let uiVisibleItem: ConfUIItem = this.confUIItem.items.find(item => item.id == param.longId);\r\n let confMCValue: ConfMultiChoiceValue = confValue as ConfMultiChoiceValue;\r\n\r\n if (confMCValue.value)\r\n confMCValue.value.forEach((confMultSetValueId: number) => {\r\n\r\n // Don't continue if the confMultiSetValue is not found in the uiVisibleItem's list.\r\n if (!uiVisibleItem || uiVisibleItem.items.findIndex(x => x.id == confMultSetValueId) < 0)\r\n return;\r\n\r\n // Multiset conf value\r\n let confMultiSetValue: ConfMultiSetValue = this.confStore.getConfValue(this.configurationId, this.confPageSessionService.confSessionId, confMultSetValueId) as ConfMultiSetValue;\r\n\r\n // \r\n let paramValue: MultiChoiceValue = this.productStore.getEntity(confMultSetValueId) as MultiChoiceValue;\r\n\r\n let item: ListItemModel = new ListItemModel();\r\n item = item.setTitle(paramValue.title);\r\n\r\n item = item.setIcon(this.iconTools.boolValueIcon(confMultiSetValue.value));\r\n item = item.setImageSet(this.iconTools.boolValueTheme(confMultiSetValue.value));\r\n item = item.setClasses(\"pl-0\");\r\n item = item.setIsPrintView(this.isPrintView);\r\n\r\n // Add into list.\r\n items = items.push(item);\r\n list = list.setItems(items);\r\n\r\n });\r\n }\r\n \r\n else {\r\n // Set conf value.\r\n let item: ListItemModel = new ListItemModel();\r\n \r\n if (confValue instanceof ConfBoolValue) {\r\n \r\n item = item.setIcon(this.iconTools.boolValueIcon(confValue.value));\r\n item = item.setImageSet(this.iconTools.boolValueTheme(confValue.value));\r\n item = item.setShowIconOnly(true);\r\n item = item.setClasses(\"pl-0 pt-2\");\r\n\r\n }\r\n else item = item.setTitle(this.getValue(confValue));\r\n\r\n // Add into list.\r\n items = items.push(item);\r\n list = list.setItems(items);\r\n }\r\n\r\n // Add into cells.\r\n this.modelsService.addIntoCache(list);\r\n return list;\r\n }\r\n\r\n public getValue(confValue: ConfValue): any {\r\n if (confValue instanceof ConfIntValue)\r\n return (confValue as ConfIntValue).formattedValue;\r\n\r\n if (confValue instanceof ConfBoolValue)\r\n return (confValue as ConfBoolValue).value;\r\n\r\n if (confValue instanceof ConfDoubleValue)\r\n return (confValue as ConfDoubleValue).formattedValue;\r\n\r\n if (confValue instanceof ConfStringValue)\r\n return (confValue as ConfStringValue).value;\r\n\r\n if (confValue instanceof ConfLookupValue) {\r\n\r\n let selectedId = (confValue as ConfLookupValue).value\r\n if (selectedId) {\r\n let paramValue = this.productStore.getEntity(selectedId);\r\n if (paramValue) \r\n return paramValue.title;\r\n else\r\n return \"\";\r\n }\r\n return selectedId\r\n }\r\n\r\n }\r\n\r\n public getAttributeUIObjects(attributeDecoration: AttributeDecoration): ListModel[] {\r\n\r\n let conf = this.confPageSessionService.activeConfiguration;\r\n\r\n // check if stored or both? don't send any attribute values if only stored attribute values should be shown?\r\n\r\n let listModels = [];\r\n\r\n let visibleAttributeItemById: Map = new Map();\r\n\r\n attributeDecoration.items.forEach(x => {\r\n\r\n visibleAttributeItemById.set(x.attributeId, x);\r\n\r\n let listModel = this.getAttributesDetail(x.attributeId, visibleAttributeItemById);\r\n\r\n if (listModel)\r\n listModels.push(listModel);\r\n });\r\n\r\n return listModels;\r\n }\r\n\r\n subscribeDataChange(): void {\r\n\r\n this.confStore.onConfigurationValuesChange(this.configurationId, this.confSessionId, (propValues) => {\r\n\r\n this.init();\r\n this.cdr.markForCheck();\r\n\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n super.subscribeDataChange();\r\n }\r\n\r\n\r\n}","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
","import { Inject, Component, Optional } from \"@angular/core\";\r\n\r\nimport { ConfiguratorStore, ConfPageSessionService } from \"../../providers\";\r\nimport { BaseDetailItemComponent } from \"../shared/baseDetailItemComponent\";\r\nimport { VisualizationDecoration, GroupConfUIItem } from \"../../../shared/models\";\r\nimport { ProductDataStore } from \"../../../shared/providers/productData\";\r\nimport { type } from \"jquery\";\r\n\r\n@Component({\r\n selector: 'visualization-detail',\r\n templateUrl: './visualizationDetailComponent.html',\r\n})\r\nexport class VisualizationDetailComponent extends BaseDetailItemComponent {\r\n\r\n public showDetailBoxHeader: boolean = true;\r\n public detailBoxTitle: string;\r\n public showDecorationTitle: boolean = false;\r\n public visualizationDecorations: VisualizationDecoration[] = [];\r\n\r\n constructor(@Optional() @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfPageSessionService) public confPageSessionService: ConfPageSessionService,\r\n @Inject(ProductDataStore) public productStore: ProductDataStore\r\n ) {\r\n super(confPageSessionService);\r\n }\r\n\r\n onDataReady(): void {\r\n\r\n this.visualizationDecorations = this.getDecorations();\r\n if (this.visualizationDecorations && this.visualizationDecorations.length > 0) {\r\n\r\n this.visible = true;\r\n this.detailBoxTitle = this.strings.Visualizations;\r\n if (this.visualizationDecorations.length > 1)\r\n this.showDecorationTitle = true;\r\n else {\r\n\r\n this.showDecorationTitle = false;\r\n\r\n let firstDecoration = this.visualizationDecorations[0];\r\n if (firstDecoration.title && firstDecoration.title.trim().length > 0)\r\n this.detailBoxTitle = firstDecoration.title;\r\n // For individually displayed decoration if there is no title then hide the whole header row\r\n else if (typeof this.confUIItem != typeof GroupConfUIItem)\r\n this.showDetailBoxHeader = false;\r\n }\r\n }\r\n }\r\n\r\n getDecorations() {\r\n\r\n let decorations: VisualizationDecoration[] = [];\r\n\r\n if (this.confUIItem && this.confUIItem.id) {\r\n\r\n let decoration = this.productStore.getEntity(this.confUIItem.id);\r\n if (decoration)\r\n decorations.push(decoration);\r\n }\r\n else if (this.confUIItem.items && this.confUIItem.items.size > 0) {\r\n\r\n if (this.confUIItem.items && this.confUIItem.items.size > 0) {\r\n this.confUIItem.items.forEach(x => {\r\n\r\n let decoration = this.productStore.getEntity(x.id);\r\n if (decoration)\r\n decorations.push(decoration);\r\n });\r\n }\r\n\r\n }\r\n\r\n return decorations;\r\n }\r\n}","\r\n \r\n\r\n \r\n\r\n \r\n
\r\n \r\n
\r\n
","import { Inject, Component, ViewChild, SimpleChanges, ChangeDetectorRef } from \"@angular/core\";\r\nimport { ConfigurationSessionManager, ConfiguratorStore, ConfPageSessionService, ConfMessageHandler } from \"./providers\";\r\nimport { SummaryBaseComponent } from \"./summary/summaryBaseComponent\";\r\nimport { BreakPointAccessor, Breakpoints } from \"../../shared/utils\";\r\nimport { BackdropComponent, MessageBoxConfig, MessageBoxComponent } from \"../../shared/components\";\r\nimport { ProductDataStore } from \"../shared/providers/productData\";\r\nimport { Product, ConfInfo, RequestViews } from \"../shared/models\";\r\nimport { BaseViewComponent } from \"./baseViewComponent\";\r\n\r\n@Component({\r\n selector: 'summary-view',\r\n templateUrl: './summaryViewComponent.html',\r\n providers: [ConfMessageHandler]\r\n})\r\nexport class SummaryViewComponent extends BaseViewComponent {\r\n\r\n @ViewChild(BackdropComponent)\r\n public backdrop: BackdropComponent;\r\n\r\n @ViewChild(MessageBoxComponent)\r\n public recoverInfoMessage: MessageBoxComponent;\r\n\r\n\r\n public showComposite: boolean = false;\r\n public showSideBar: boolean = false; \r\n \r\n constructor(\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfPageSessionService) public pageSession: ConfPageSessionService,\r\n @Inject(BreakPointAccessor) public breakPointAccessor: BreakPointAccessor,\r\n @Inject(ProductDataStore) public productStore: ProductDataStore, \r\n @Inject(ConfMessageHandler) public confMessageHandler: ConfMessageHandler,\r\n public cdr: ChangeDetectorRef\r\n ) {\r\n\r\n super();\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.pageSession.activeRoute = RequestViews.Summary;\r\n this.confMessageHandler.subscribeMessagesForSummary();\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.pageSession.activeConfiguration.authorization.canRecover) {\r\n let info: MessageBoxConfig<[number, number]> = >{\r\n headerText: this.strings.YourConfigurationHasUnsavedChanges,//\"Your configuration has unsaved changes.\",\r\n description: this.strings.RecoverConfigurationPopupDescription, //\"To continue editing press the Recover button. To discard changes close this page.\",\r\n icon: \"info\",\r\n }\r\n\r\n this.recoverInfoMessage.show(info);\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.confMessageHandler.onDestroy();\r\n super.ngOnDestroy();\r\n }\r\n\r\n public get largeUp() {\r\n return this.breakPointAccessor.activeBreakPoint.min > Breakpoints.lg.max;\r\n }\r\n\r\n public openActions() {\r\n this.showSideBar = true;\r\n this.cdr.detectChanges();\r\n this.backdrop.popup.open();\r\n }\r\n\r\n public onActionsClosed(): void {\r\n if (this.backdrop.visible)\r\n this.backdrop.popup.close();\r\n this.showSideBar = false;\r\n }\r\n}","
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n\r\n","import { Component, ViewEncapsulation, Inject } from \"@angular/core\";\r\nimport { Router, ActivatedRoute, ParamMap } from \"@angular/router\";\r\n\r\nimport { Routing } from \"../../shared/route/routeDecorator\";\r\nimport { RouteRedirector } from \"../shared/providers\";\r\nimport { BaseComponent } from \"../shared\";\r\nimport { ManagedSubject } from \"../../shared/managedSubject\";\r\n\r\n@Routing({ path: 'redirector' })\r\n@Component({\r\n encapsulation: ViewEncapsulation.None,\r\n templateUrl: './redirectorComponent.html',\r\n})\r\nexport class RedirectorComponent extends BaseComponent {\r\n\r\n constructor(\r\n @Inject(Router) public router: Router,\r\n @Inject(RouteRedirector) public routeRedirector: RouteRedirector,\r\n @Inject(ActivatedRoute) public activatedRoute: ActivatedRoute,\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n new ManagedSubject(this.activatedRoute.params).subscribe(params => {\r\n // Redirect to url\r\n let paramObj = { ...params };\r\n let url = paramObj[\"url\"];\r\n if (url) {\r\n delete paramObj[\"url\"];\r\n\r\n // Start over the request\r\n if (paramObj['type'] == 'new')\r\n window.location.href = url; \r\n\r\n else\r\n this.routeRedirector.redirect([url, paramObj]);\r\n }\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n }\r\n}","
\r\n
\r\n
\r\n
\r\n
Redirecting
\r\n
\r\n
","import { Inject, Component, Input, ViewEncapsulation } from \"@angular/core\";\r\nimport { Assortment, Product } from \"../shared/models\";\r\nimport { Breakpoints, BreakPointAccessor } from \"../../shared/utils\";\r\nimport { BaseComponent } from \"../shared\";\r\nimport { RouteRedirector } from \"../shared/providers\";\r\nimport { ConfRouteParams } from \"../configurator/providers\";\r\n\r\n@Component({\r\n selector: 'product-detail',\r\n encapsulation: ViewEncapsulation.None,\r\n templateUrl: './detailComponent.html'\r\n})\r\nexport class DetailComponent extends BaseComponent {\r\n\r\n public readonly DEFAULT_IMAGE = \"configuration\";\r\n public image: string = \"\";\r\n public imageType: string = \"svg\";\r\n public isVault: boolean = false;\r\n public imageSet: string;\r\n\r\n public isProduct = false;\r\n\r\n _assortment: Assortment;\r\n detailStyle: CSSStyleDeclaration;\r\n @Input() set product(value: Assortment) {\r\n this._assortment = value;\r\n this.isProduct = value instanceof Product;\r\n this.image = this.hasImage ? this._assortment.imageRelativeUrl : this.DEFAULT_IMAGE;\r\n this.isVault = this.hasImage;\r\n this.imageType = this.hasImage ? 'png' : 'svg';\r\n this.imageSet = this.hasImage ? '' : 'primary-light';\r\n\r\n this.updateStyle();\r\n };\r\n\r\n constructor(\r\n @Inject(RouteRedirector) public routeRedirector: RouteRedirector,\r\n @Inject(BreakPointAccessor) public breakPointAccessor: BreakPointAccessor,\r\n ) {\r\n super();\r\n }\r\n\r\n updateStyle(): void {\r\n let calMinWidth: string;\r\n\r\n if (this.breakPointAccessor.equalOrDown(Breakpoints.md)) {\r\n calMinWidth = \"100%\";\r\n }\r\n else {\r\n calMinWidth = \"600px\";\r\n }\r\n\r\n this.detailStyle = {\r\n maxWidth: calMinWidth\r\n }\r\n\r\n }\r\n\r\n get hasImage(): boolean {\r\n return this._assortment.imageRelativeUrl != \"\";\r\n }\r\n\r\n onConfigure(): void {\r\n this.createConfiguration(this._assortment.longId);\r\n }\r\n\r\n /**\r\n * Create the configuration\r\n * @param productId\r\n */\r\n createConfiguration(productId: number) {\r\n this.routeRedirector.redirectToEditor({ productId: productId });\r\n }\r\n}","\r\n
\r\n
\r\n

{{_assortment.title}}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
","import { Injectable, Inject } from '@angular/core';\r\n\r\nimport { AppStore, AppAction, UIAction, StoreResponse, ActionInfo, PageActions, GlobalDataActions, Actions } from \"../../shared/state\";\r\n\r\n@Injectable()\r\nexport class SelectorActionCreator {\r\n\r\n constructor( \r\n @Inject(AppStore) public appStore: AppStore\r\n ) {\r\n }\r\n\r\n dispatcAddSelectorUIData = (pageIdentifier) => this.appStore.dispatch(this.addSelectorUIData(pageIdentifier)) as AppAction;\r\n addSelectorUIData(pageIdentifier: number): UIAction {\r\n return {\r\n type: PageActions.CREATE_SELECTOR_UI_DATA, pageId: pageIdentifier, executeAsync: null\r\n //executeAsync: (dispatch) => {\r\n // dispatch({ type: PageActions.CREATE_SELECTOR_UI_DATA, requestId: pageIdentifier });\r\n //}\r\n }\r\n }\r\n \r\n dispatchSetSelectedAssortments = (assortmentIds: number[], pageIdentifier: number, requestId: number) => this.appStore.dispatch(this.setSelectedAssortments(assortmentIds, pageIdentifier, requestId)) as AppAction;\r\n setSelectedAssortments(assortmentIds: number[], pageIdentifier: number, requestId: number): UIAction {\r\n return {\r\n\r\n type: PageActions.SET_SELECTED_ASSORTMENTS, id: requestId, payload: assortmentIds, pageId: pageIdentifier, \r\n executeAsync: (dispatch) => {\r\n dispatch({ type: Actions.UPDATE_ACTION_STATUS, requestId: requestId });\r\n }\r\n\r\n }\r\n }\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\n\r\nimport { PageActionCreator } from \"../../shared/providers/page\";\r\nimport { AppStore, StoreResponse, AppAction, ActionInfo, RequestStatus } from \"../../shared/state\";\r\nimport { SelectorActionCreator } from \"./selectorActionCreator\";\r\nimport { PageUIStore } from \"../../shared/providers/page\";\r\nimport { ReselectorService, ReselectorResult } from \"../../shared/providers/reselectorService\";\r\nimport { PageUIData, SelectorPageUIData } from \"../../shared/state\";\r\nimport { AppStoreSubscriptionManager } from \"../../shared/providers/appStoreSubscriptionManager\";\r\nimport { ManagedSubject } from \"../../../shared/managedSubject\";\r\nimport { GlobalDataStore } from \"../../shared/providers/globalData/globalDataStore\";\r\nimport { ModelFactory } from \"../../shared/providers/modelFactory\";\r\n\r\n@Injectable()\r\nexport class SelectorStore extends PageUIStore {\r\n\r\n constructor(\r\n @Inject(AppStore) appStore: AppStore,\r\n @Inject(GlobalDataStore) public globalDataStore: GlobalDataStore,\r\n @Inject(PageActionCreator) pageActionCreator: PageActionCreator,\r\n @Inject(SelectorActionCreator) public selectorActionCreator: SelectorActionCreator,\r\n @Inject(ReselectorService) public reselectorService: ReselectorService,\r\n @Inject(ModelFactory) public modelFactory: ModelFactory,\r\n public appStoreSubscriptionManager: AppStoreSubscriptionManager\r\n ) {\r\n super(appStore, pageActionCreator, appStoreSubscriptionManager, modelFactory, globalDataStore);\r\n }\r\n\r\n public createSelectorUI(): ManagedSubject> {\r\n\r\n let nextPageId: number = this.nextPageIdentifier()\r\n this.selectorActionCreator.dispatcAddSelectorUIData(nextPageId);\r\n\r\n // Create request object\r\n let response: StoreResponse = new StoreResponse();\r\n\r\n // Subscribe to store and return the results on request complete. \r\n return this.appStoreSubscriptionManager.createSubject(() => {\r\n\r\n if (this.appStore.getState().uiData.selectorUI.has(nextPageId.toString())) {\r\n\r\n response.requestId = nextPageId;\r\n return response;\r\n }\r\n\r\n return ManagedSubject.IGNORE_VALUE;\r\n }, true);\r\n }\r\n\r\n public getSelectorUIState(pageId: number): SelectorPageUIData {\r\n return this.appStore.getState().uiData.selectorUI.get(pageId.toString());\r\n }\r\n\r\n public getMemorizer(pageId: number): () => PageUIData {\r\n return this.reselectorService.createMemorizer((state) => state.uiData.selectorUI.get(pageId.toString()));\r\n }\r\n\r\n public getPageUIState(pageId: number): PageUIData {\r\n return this.getSelectorUIState(pageId);\r\n }\r\n\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\nimport { NodeData, TreeDataProvider } from \"../../../shared/components/treeView\";\r\nimport { Assortment, Product } from \"../../shared/models\";\r\nimport { ProductDataStore } from \"../../shared/providers/productData\";\r\nimport { GlobalDataStore } from \"../../shared/providers/globalData\";\r\n\r\n@Injectable()\r\nexport class SelectorTreeDataProvider extends TreeDataProvider {\r\n\r\n constructor\r\n (\r\n @Inject(ProductDataStore) public productStore: ProductDataStore,\r\n @Inject(GlobalDataStore) public globalDataStore: GlobalDataStore\r\n ) {\r\n super();\r\n }\r\n\r\n /**\r\n * Loads the root nodes.\r\n * @param callback\r\n */\r\n loadRoots(callback: (children: NodeData[]) => void): void {\r\n\r\n this.productStore.getRootAssortments().subscribe(request => {\r\n\r\n let roots: NodeData[] = [];\r\n request.data.forEach(assortment => {\r\n\r\n // Create node data.\r\n let node: NodeData = this.setupNode(assortment);\r\n roots.push(node);\r\n\r\n });\r\n\r\n // Call back to tree component.\r\n callback(roots);\r\n });\r\n\r\n }\r\n\r\n /**\r\n * Loads the children.\r\n * @param parent\r\n * @param callback\r\n */\r\n loadChildren(parent: NodeData, callback: (children: NodeData[]) => void): void {\r\n\r\n let assortment = this.productStore.getEntity(parent.id);\r\n if (assortment && assortment instanceof Product) {\r\n return;\r\n }\r\n\r\n let children: NodeData[] = [];\r\n this.productStore.getAssortments(parent.id).subscribe(request => {\r\n\r\n request.data.forEach(assortment => {\r\n\r\n let node = this.setupNode(assortment, parent.id);\r\n children.push(node);\r\n\r\n });\r\n\r\n callback(children);\r\n\r\n });\r\n }\r\n\r\n /**\r\n * Sets up the node.\r\n * @param assortment\r\n * @param parentId\r\n */\r\n public setupNode(assortment: Assortment, parentId?: number) {\r\n\r\n let imageKey: string;\r\n let isVaultIcon: boolean = false;\r\n imageKey = assortment.iconRelativeUrl || (assortment instanceof Product ? \"configuration\" : \"folder\");\r\n isVaultIcon = assortment.iconRelativeUrl ? true : false;\r\n\r\n return this.createNode(assortment.longId, assortment.title, imageKey, isVaultIcon, parentId);\r\n }\r\n\r\n /**\r\n * Returns tree If node contains any child/children.\r\n * @param node\r\n */\r\n isNodeExpandable(node: NodeData): boolean {\r\n\r\n let assortment = this.productStore.getEntity(node.id);\r\n\r\n // Don't show the product's children.\r\n return !(assortment instanceof Product);\r\n }\r\n\r\n /**\r\n * Should tree node be collapse when making click on node title.\r\n * @param node\r\n */\r\n enableExpandCollapseOnTitleClick(node: NodeData): boolean { return true; }\r\n\r\n get showExpandCollapseIcon(): boolean {\r\n return this.globalDataStore.getGlobalData().globalSettings.showExpandCollapseIconsCreate;\r\n }\r\n\r\n}","import { Component, Inject } from \"@angular/core\";\r\nimport { Assortment } from \"../shared/models\";\r\nimport { NodeEvent } from \"../../shared/components/treeView\";\r\nimport { SelectorTreeDataProvider } from './providers/selectorTreeDataProvider';\r\nimport { Routing } from \"../../shared/route/routeDecorator\";\r\nimport { Breakpoints, BreakPointAccessor, ImageSets } from \"../../shared/utils\";\r\nimport { PageComponent } from \"../shared\";\r\nimport { StoreResponse } from \"../shared/state\";\r\nimport { SelectorStore } from \"./providers/selectorStore\";\r\nimport { ProductDataStore } from \"../shared/providers/productData\";\r\nimport { ManagedSubject } from \"../../shared/managedSubject\";\r\nimport { AppStoreSubscriptionManager, RouteNames } from \"../shared/providers\";\r\nimport { PageStore } from \"../shared/providers/page\";\r\n\r\n// TODO add resolver to load root assortments and create selector ui data/assign page id\r\n\r\n@Routing({ path: 'selector' })\r\n@Component({\r\n selector: 'selector-view',\r\n templateUrl: './selectorComponent.html',\r\n providers: [AppStoreSubscriptionManager]\r\n})\r\nexport class SelectorComponent extends PageComponent {\r\n\r\n public BREAK_POINTS: typeof Breakpoints = Breakpoints;\r\n public selectedAssortment: Assortment = null;\r\n\r\n public imageSet: string = \"primary\";\r\n\r\n constructor(\r\n @Inject(SelectorTreeDataProvider) public treeDataProvider: SelectorTreeDataProvider,\r\n @Inject(BreakPointAccessor) public breakPointAccessor: BreakPointAccessor,\r\n @Inject(SelectorStore) public selectorStore: SelectorStore,\r\n @Inject(ProductDataStore) public productStore: ProductDataStore,\r\n @Inject(PageStore) public pageStore: PageStore,\r\n public appStoreSubscriptionManager: AppStoreSubscriptionManager\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this.imageSet = this.getImageSet(ImageSets.SelectorTree);\r\n\r\n this.pageStore.updateActiveRoute(RouteNames.Selector); \r\n }\r\n\r\n public onNodeSelected(e: NodeEvent): void {\r\n let assortment: Assortment = this.productStore.getEntity(e.node.id);\r\n\r\n if (!assortment)\r\n return;\r\n\r\n this.selectedAssortment = assortment;\r\n\r\n }\r\n\r\n public onNodeExpanded(e: NodeEvent): void {\r\n // this.logEvent(e, 'Expanded');\r\n }\r\n\r\n public returnToSelector() {\r\n this.selectedAssortment = null;\r\n }\r\n\r\n public pathToArray(path: string) {\r\n if (path === undefined || path === null)\r\n return [];\r\n\r\n return path.split('/').map((str) => +str);\r\n }\r\n\r\n public logEvent(e: NodeEvent, message: string): void {\r\n console.log(e);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.appStoreSubscriptionManager.dispose();\r\n super.ngOnDestroy();\r\n }\r\n\r\n}","
\r\n \r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
","import { Component, Input, ViewEncapsulation, Inject, Output, EventEmitter } from \"@angular/core\";\r\nimport { BaseComponent } from \"../shared\";\r\n\r\n@Component({\r\n selector: 'selector-header', \r\n templateUrl: './SelectorHeaderComponent.html', \r\n})\r\nexport class SelectorHeaderComponent extends BaseComponent {\r\n \r\n @Input()\r\n displayReturnButton: boolean = false;\r\n\r\n @Output()\r\n returnButtonClicked = new EventEmitter();\r\n\r\n public returnToSelector() {\r\n this.returnButtonClicked.emit();\r\n }\r\n}","
\r\n
{{strings.SelectProduct}}
\r\n
\r\n \r\n \r\n \r\n
\r\n
","import { Component, Inject } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\"\r\n\r\nimport { InputViewModel, NotificationService, NotificationType, NotificationInfo } from \"../../../shared/components\";\r\nimport { BaseComponent } from \"../../shared\";\r\nimport { AccountDataStore, AccountDataMessageProvider } from \"../../shared/providers/accountData\";\r\nimport { UserUpdateMessage, User, AccountDataResponse } from \"../../shared/models\";\r\nimport { ManagedSubscription } from \"../../../shared/managedSubscription\";\r\nimport { ApplicationLifeCycleService } from \"../../shared/providers\";\r\n\r\n@Component({ template: '' })\r\nexport abstract class AbstractUserSettingsComponent extends BaseComponent {\r\n\r\n public user: User;\r\n public visible: boolean = false;\r\n public messageSubscription: ManagedSubscription;\r\n\r\n constructor(\r\n public accountStore: AccountDataStore,\r\n public notificationService: NotificationService,\r\n public accountMessageProvider: AccountDataMessageProvider,\r\n public applicationLifeCycleService: ApplicationLifeCycleService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.setValues();\r\n this.visible = this.shouldBeVisible();\r\n }\r\n\r\n protected abstract shouldBeVisible(): boolean;\r\n\r\n public setValues() {\r\n this.user = this.accountStore.getUser();\r\n\r\n this.unblockUI();\r\n }\r\n\r\n public isChecked(view: InputViewModel): boolean {\r\n return typeof view.value === \"boolean\" ? view.value : view.value === \"true\";\r\n }\r\n\r\n public listenOnChange() {\r\n this.unsubscribe();\r\n\r\n this.messageSubscription = this.accountMessageProvider.onMessages(UserUpdateMessage.name, {\r\n next: (messages) => {\r\n\r\n this.unsubscribe();\r\n\r\n this.applicationLifeCycleService.reloadAppData(() => {\r\n\r\n this.setValues();\r\n\r\n let errors: Array;\r\n let success = true;\r\n messages.forEach(message => {\r\n success = success && message.success;\r\n errors = message.errors.toArray().concat(errors);\r\n });\r\n\r\n this.notificationService.notify({\r\n title: success ? this.strings.Success : this.strings.Error,\r\n message: success ? \"User updated successfully.\" : errors.join(', '), // TODO: localize.\r\n type: success ? NotificationType.Success : NotificationType.Error,\r\n selfClose: true\r\n });\r\n });\r\n\r\n },\r\n listenNewEventsOnly: true\r\n });\r\n }\r\n\r\n public unsubscribe() {\r\n if (this.messageSubscription)\r\n this.messageSubscription.unsubscribe();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.unsubscribe();\r\n\r\n super.ngOnDestroy();\r\n }\r\n\r\n public updateSettings() {\r\n this.blockUI();\r\n this.listenOnChange();\r\n }\r\n\r\n}","export * from './userSettingsComponent';\r\nexport * from './userProfileComponent';","import { Component, Inject } from \"@angular/core\";\r\n\r\nimport { AccountDataStore, AccountDataMessageProvider } from \"../../shared/providers/accountData\";\r\nimport { User, UserUpdateMessage, UserSettings, RequestViews, ApiResponse } from \"../../shared/models\";\r\nimport { NotificationService, NotificationInfo, NotificationType, PopupService, InputViewModel } from \"../../../shared/components\";\r\nimport { AbstractUserSettingsComponent } from \"./abstractUserSettingsComponent\";\r\nimport { ApplicationLifeCycleService } from \"../../shared/providers\";\r\n\r\n@Component({\r\n selector: 'user-profile',\r\n templateUrl: './userProfileComponent.html',\r\n})\r\nexport class UserProfileComponent extends AbstractUserSettingsComponent {\r\n\r\n public dateReady: boolean = false;\r\n\r\n public username: string;\r\n public nameView: InputViewModel;\r\n public emailView: InputViewModel;\r\n public companyView: InputViewModel;\r\n public phoneNumberView: InputViewModel;\r\n public mobileNumberView: InputViewModel;\r\n\r\n constructor(\r\n @Inject(AccountDataStore) public accountStore: AccountDataStore,\r\n public accountMessageProvider: AccountDataMessageProvider,\r\n public notificationService: NotificationService,\r\n public popupService: PopupService,\r\n public applicationLifeCycleService: ApplicationLifeCycleService\r\n ) {\r\n super(accountStore, notificationService, accountMessageProvider, applicationLifeCycleService);\r\n }\r\n\r\n ngOnInit() {\r\n this.nameView = new InputViewModel(this.strings.Name);\r\n this.nameView.icon = \"user\";\r\n\r\n this.emailView = new InputViewModel(this.strings.Email);\r\n this.emailView.icon = \"email\";\r\n\r\n this.companyView = new InputViewModel(this.strings.Company);\r\n this.companyView.icon = \"organization\";\r\n\r\n this.phoneNumberView = new InputViewModel(this.strings.Phone);\r\n this.phoneNumberView.icon = \"phone\";\r\n\r\n this.mobileNumberView = new InputViewModel(this.strings.Mobile);\r\n this.mobileNumberView.icon = \"mobile\";\r\n\r\n super.ngOnInit();\r\n }\r\n\r\n protected shouldBeVisible(): boolean {\r\n return this.user.systemAuthorization.canChangeUserProfile;\r\n }\r\n\r\n public setValues() {\r\n super.setValues();\r\n\r\n this.username = this.user.username;\r\n this.nameView.value = this.user.name;\r\n this.emailView.value = this.user.email;\r\n this.companyView.value = this.user.company;\r\n this.phoneNumberView.value = this.user.phoneNumber;\r\n this.mobileNumberView.value = this.user.mobileNumber;\r\n\r\n this.dateReady = true;\r\n }\r\n\r\n public validateSettings(): boolean {\r\n // Perform some validation on client side. Will also be done on server side.\r\n\r\n // Name, email and company are required.\r\n if (!this.nameView.value) {\r\n this.nameView.errors = [this.strings.NameIsRequired];\r\n return false;\r\n }\r\n\r\n if (!this.emailView.value) {\r\n this.emailView.errors = [this.strings.InvalidEmailAddress];\r\n return false;\r\n }\r\n\r\n if (!this.companyView.value) {\r\n this.companyView.errors = [this.strings.CompanyNameIsRequired];\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n public updateSettings() {\r\n\r\n // Validate on client\r\n if (this.validateSettings()) {\r\n super.updateSettings();\r\n this.accountStore.updateProfile(this.nameView.value, this.emailView.value, this.companyView.value, this.phoneNumberView.value, this.mobileNumberView.value);\r\n }\r\n\r\n // Example: Example code to access the Api message.\r\n\r\n // let request = { id: 23, value: 'combinum' };\r\n // this.accountStore.getDefaultData(request, true).then((x: ApiResponse) => {\r\n\r\n // if (x.messages.size > 0) {\r\n\r\n // let message = x.messages.first();\r\n\r\n // let info = new NotificationInfo();\r\n // info.title = 'Warning';\r\n // info.message = message.title;\r\n // info.type = NotificationType.Warning;\r\n // info.selfClose = true;\r\n // info.identifier = 'custom';\r\n\r\n // this.notificationService.notify(info);\r\n\r\n // }\r\n\r\n // });\r\n\r\n }\r\n\r\n public showChangePassword(): void {\r\n this.popupService.open(\"change-password-popup\");\r\n }\r\n\r\n}","
\r\n

{{strings.Profile}}

\r\n
\r\n
{{strings.Username}}:
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n {{strings.ChangePassword}}\r\n
\r\n
\r\n
\r\n
","import { Component, Inject, ChangeDetectorRef, ChangeDetectionStrategy } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\"\r\nimport { InputViewModel, NotificationService, NotificationType, NotificationInfo } from \"../../../shared/components\";\r\nimport { AccountDataStore, AccountDataMessageProvider } from \"../../shared/providers/accountData\";\r\nimport { UserUpdateMessage, Language, User, AccountDataResponse, PriceListCategory } from \"../../shared/models\";\r\nimport { GlobalDataStore } from \"../../shared/providers/globalData\";\r\nimport { ModelLabelService } from \"../../shared/providers/modelLabelService\";\r\nimport { ManagedSubscription } from \"../../../shared/managedSubscription\";\r\nimport { AbstractUserSettingsComponent } from \"./abstractUserSettingsComponent\";\r\nimport { ApplicationLifeCycleService } from \"../../shared/providers\";\r\nimport { ImageSets } from \"../../../shared/utils\";\r\n\r\n@Component({\r\n selector: 'user-settings',\r\n templateUrl: './userSettingsComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class UserSettingsComponent extends AbstractUserSettingsComponent {\r\n\r\n public hightlightMandatoryParamsView: InputViewModel;\r\n\r\n public languageView: InputViewModel;\r\n public languagesView: Array = [];\r\n\r\n public priceListCategoryView: InputViewModel;\r\n public priceListCategoriesView: Array = [];\r\n\r\n constructor(\r\n @Inject(AccountDataStore) public accountStore: AccountDataStore,\r\n @Inject(ChangeDetectorRef) public cdr: ChangeDetectorRef,\r\n public globalDataStore: GlobalDataStore,\r\n public notificationService: NotificationService,\r\n public accountMessageProvider: AccountDataMessageProvider,\r\n public applicationLifeCycleService: ApplicationLifeCycleService\r\n ) {\r\n super(accountStore, notificationService, accountMessageProvider, applicationLifeCycleService);\r\n }\r\n\r\n ngOnInit() {\r\n this.hightlightMandatoryParamsView = new InputViewModel(this.strings.HighlightMandatoryParameters);\r\n\r\n super.ngOnInit();\r\n\r\n // Language and DefaultPriceListCategory is actually in userProfile, so need to check its systemAuth here.\r\n if (this.user.systemAuthorization.canChangeUserProfile) {\r\n this.setupLanguageUI();\r\n this.setupPriceListCategoryUI();\r\n }\r\n }\r\n\r\n protected setupLanguageUI() {\r\n this.languageView = new InputViewModel();\r\n this.languagesView = [];\r\n\r\n this.languageView.iconImageSet = this.getImageSet(ImageSets.Control);\r\n this.languageView.icon = \"worldmap\";\r\n this.languageView.title = this.strings.Language;\r\n\r\n this.globalDataStore.getEntities(Language.name).subscribe((storeResponse) => {\r\n storeResponse.data.forEach(x => {\r\n let viewModel = new InputViewModel(x.title);\r\n viewModel.id = x.longId.toString(); \r\n this.languagesView.push(viewModel);\r\n });\r\n\r\n this.setUserLanguage();\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n }\r\n\r\n protected setupPriceListCategoryUI() {\r\n this.priceListCategoryView = new InputViewModel();\r\n this.priceListCategoriesView = [];\r\n\r\n this.priceListCategoryView.icon = \"pricelistcategory\";\r\n this.priceListCategoryView.iconImageSet = this.getImageSet(ImageSets.Control);\r\n this.priceListCategoryView.title = this.strings.DefaultPriceListCategory;\r\n\r\n this.globalDataStore.getEntities(PriceListCategory.name).subscribe((storeResponse) => {\r\n storeResponse.data.forEach(x => {\r\n let viewModel = new InputViewModel(x.title);\r\n viewModel.id = x.longId.toString();\r\n this.priceListCategoriesView.push(viewModel);\r\n });\r\n\r\n this.setUserDefaultPriceListCategory();\r\n\r\n if(!this.cdr['destroyed'])\r\n this.cdr.detectChanges();\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n }\r\n\r\n protected shouldBeVisible(): boolean {\r\n return this.user.systemAuthorization.canChangeUserSettings;\r\n }\r\n\r\n public setValues() {\r\n super.setValues();\r\n\r\n this.hightlightMandatoryParamsView.value = this.user.settings.highlightMandatoryParameters || false;\r\n this.setUserLanguage();\r\n }\r\n\r\n public setUserLanguage() {\r\n\r\n let localizedData = this.globalDataStore.getGlobalData().localizeData;\r\n\r\n if (localizedData && this.languagesView.length > 0) {\r\n\r\n // Language codes\r\n //let codes: Array = \r\n\r\n for (let itemView of this.languagesView) {\r\n\r\n if (itemView.title == localizedData.languageTitle) {\r\n\r\n this.languageView.formattedValue = itemView.title;\r\n this.languageView.value = itemView.id;\r\n this.languageView = { ...this.languageView };\r\n this.cdr.markForCheck();\r\n break;\r\n \r\n }\r\n }\r\n\r\n if(!this.cdr['destroyed'])\r\n this.cdr.detectChanges();\r\n }\r\n }\r\n\r\n public setUserDefaultPriceListCategory() {\r\n if (this.user && this.user.defaultPriceListCategory && this.priceListCategoriesView.length > 0) {\r\n let userPlcView = this.priceListCategoriesView.find(x => x.id === this.user.defaultPriceListCategory.longId.toString());\r\n this.priceListCategoryView.formattedValue = userPlcView.title;\r\n this.priceListCategoryView.value = userPlcView.id;\r\n this.priceListCategoryView = { ... this.priceListCategoryView };\r\n this.cdr.markForCheck();\r\n }\r\n }\r\n\r\n public updateSettings() {\r\n super.updateSettings();\r\n let languageId = this.languageView ? this.languageView.value : null;\r\n let defaultPriceListCategoryId = this.priceListCategoryView ? this.priceListCategoryView.value : null;\r\n this.accountStore.updateUserSettings(this.isChecked(this.hightlightMandatoryParamsView), languageId, defaultPriceListCategoryId);\r\n // Note: Small trick to fix this issue, the better option is to listen the language change \r\n // in settings and header component and update them without page reload. \r\n // In future we might need to go to that direction.\r\n location.reload();\r\n }\r\n\r\n}","
\r\n

{{strings.UserSettings}}

\r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n
","export * from './settingsComponent';\r\nexport * from './components';","import { Injectable, Inject } from \"@angular/core\";\r\nimport { AppStore, AppAction, HttpAction, StoreResponse, ActionInfo, RequestStatus } from \"../../shared/state\";\r\nimport { AppStoreSubscriptionManager } from \"../../shared/providers/appStoreSubscriptionManager\";\r\nimport { BaseStore } from \"../../shared/state\";\r\nimport { ModelFactory } from \"../../shared/providers/modelFactory\";\r\nimport { AppActionCreator } from \"../../shared/providers\";\r\nimport { ManagedSubject } from \"../../../shared\";\r\nimport { GlobalDataStore } from \"../../shared/providers/globalData/globalDataStore\";\r\n\r\n@Injectable()\r\nexport class SettingsStore extends BaseStore {\r\n\r\n constructor(\r\n @Inject(AppStore) public appStore: AppStore,\r\n @Inject(AppActionCreator) public appActionCreator: AppActionCreator,\r\n @Inject(AppStoreSubscriptionManager) public appStoreSubscriptionManager: AppStoreSubscriptionManager,\r\n @Inject(ModelFactory) public modelFactory: ModelFactory,\r\n public globalDataStore: GlobalDataStore\r\n ) {\r\n super(appStore, appStoreSubscriptionManager, modelFactory, appActionCreator);\r\n }\r\n\r\n reloadCache(userDataOnly: any): Promise {\r\n let requestId: number = this.appActionCreator.dispatchReloadCaches(userDataOnly).id;\r\n\r\n return this.listenRequestCompletion(requestId).toPromise();\r\n }\r\n\r\n public listenRequestCompletion(requestId: number): ManagedSubject {\r\n return this.appStoreSubscriptionManager.createSubject((appStore) => {\r\n\r\n let actionInfo: ActionInfo = appStore.getActionInfo(requestId);\r\n if (actionInfo.status == RequestStatus.SUCCESS) {\r\n if (actionInfo.payload) {\r\n return actionInfo.payload.data;\r\n }\r\n }\r\n return ManagedSubject.IGNORE_VALUE;\r\n }, true);\r\n }\r\n}","import { Component, ViewEncapsulation, Inject } from \"@angular/core\";\r\n\r\nimport { Routing } from \"../../shared/route/routeDecorator\";\r\nimport { AppStoreSubscriptionManager, ApplicationLifeCycleService, ApiMessageProvider, AppActionCreator, RouteNames, IHttpDataInfo, BroadcastChannelService, BroadcastChannelMessageType } from \"../shared/providers\";\r\nimport { PageComponent } from \"../shared\";\r\nimport { GlobalDataStore } from \"../shared/providers/globalData\";\r\nimport { AccountDataStore } from \"../shared/providers/accountData\";\r\nimport { NotificationService, NotificationInfo, NotificationType } from \"../../shared/components\";\r\nimport { CacheReloadMessage } from \"../shared/models\";\r\nimport { PageStore } from \"../shared/providers/page\";\r\n\r\n@Routing({ path: 'settings' })\r\n@Routing({ path: '**' })\r\n@Component({\r\n encapsulation: ViewEncapsulation.None,\r\n templateUrl: './settingsComponent.html',\r\n providers: [AppStoreSubscriptionManager]\r\n})\r\nexport class SettingsComponent extends PageComponent {\r\n\r\n public databaseConnectionInfo: string = \"\";\r\n\r\n public showAdminSection: boolean = false;\r\n\r\n private enableDefaultLifeCycleUpdate = true;\r\n\r\n constructor(\r\n public appActionCreator: AppActionCreator,\r\n public appLifeCycleService: ApplicationLifeCycleService,\r\n public appStoreSubscriptionManager: AppStoreSubscriptionManager,\r\n public globalDataStore: GlobalDataStore,\r\n public accountStore: AccountDataStore,\r\n public notificationService: NotificationService,\r\n @Inject(ApiMessageProvider) public apiMessageProvider: ApiMessageProvider,\r\n public pageStore: PageStore,\r\n @Inject(BroadcastChannelService) public broadcastChannelService: BroadcastChannelService,\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n this.pageStore.updateActiveRoute(RouteNames.Settings);\r\n\r\n this.setInfo();\r\n\r\n this.apiMessageProvider.onMessages(CacheReloadMessage.name, {\r\n next: (messages) => {\r\n let cacheReloadMessage = messages.first();\r\n if (cacheReloadMessage.success) {\r\n\r\n this.appLifeCycleService.cacheReloaded(() => {\r\n this.notificationService.notify({\r\n title: this.strings.Success,\r\n message: this.strings.ReloadCaches_Message,\r\n type: NotificationType.Success,\r\n selfClose: true\r\n });\r\n\r\n this.broadcastChannelService.send(BroadcastChannelMessageType.ReloadCache);\r\n this.setInfo();\r\n this.enableDefaultLifeCycleUpdate = true;\r\n this.unblockUI();\r\n });\r\n }\r\n else {\r\n // Handle server errors in message\r\n this.notificationService.notify({\r\n title: this.strings.Error,\r\n message: cacheReloadMessage.messages.join(\". \"), // TODO handle in better way\r\n type: NotificationType.Error,\r\n selfClose: true\r\n });\r\n\r\n this.enableDefaultLifeCycleUpdate = true;\r\n this.unblockUI();\r\n }\r\n }, listenNewEventsOnly: true\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n }\r\n\r\n public reloadCaches() {\r\n this.reload(false);\r\n }\r\n\r\n public reloadUserCaches() {\r\n this.reload(true);\r\n }\r\n\r\n public reload(userDataOnly: boolean) {\r\n this.blockUI();\r\n this.enableDefaultLifeCycleUpdate = false;\r\n this.appActionCreator.dispatchReloadCaches(userDataOnly);\r\n }\r\n\r\n setInfo() {\r\n let webSettings = this.globalDataStore.getGlobalData().webSettings;\r\n this.databaseConnectionInfo = webSettings.databaseConnectionInfo;\r\n\r\n let user = this.accountStore.getUser();\r\n\r\n // TODO authorization\r\n this.showAdminSection = user.systemAuthorization.canReloadCache;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.appStoreSubscriptionManager.dispose();\r\n super.ngOnDestroy();\r\n }\r\n\r\n onHttpLifeCycleUpdate(http: IHttpDataInfo) {\r\n if (this.enableDefaultLifeCycleUpdate)\r\n super.onHttpLifeCycleUpdate(http);\r\n }\r\n}","
\r\n
\r\n \r\n \r\n \r\n

{{strings.Settings}}

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n

{{strings.Administration}}

\r\n
\r\n {{strings.Database}}:\r\n {{databaseConnectionInfo}}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Inject, Input, SimpleChanges, Component } from \"@angular/core\";\r\nimport { BaseComponent } from \"./baseComponent\";\r\nimport { ConfigurationSessionManager, ConfiguratorStore } from \"../configurator/providers\";\r\nimport { Conf, RequestViews } from \"./models\";\r\nimport { ManagedSubscription } from \"../../shared/managedSubscription\";\r\nimport { ImageSets } from \"../../shared/utils/imageSets\";\r\n\r\n@Component({ template: '' })\r\nexport abstract class BaseActionBoxComponent extends BaseComponent {\r\n\r\n @Input()\r\n public configurationId: number;\r\n\r\n @Input()\r\n public confSessionId: number;\r\n\r\n @Input()\r\n public searchSessionId: number;\r\n\r\n @Input()\r\n public showHeader: boolean = true;\r\n\r\n public imageSet: string;\r\n\r\n public conf: Conf;\r\n\r\n public visible: boolean = false;\r\n\r\n constructor(public configuratorStore: ConfiguratorStore) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.imageSet = this.getImageSet(ImageSets.SummaryActionDetail);\r\n\r\n this.initialize();\r\n }\r\n\r\n public initialize() {\r\n this.setConf();\r\n this.setup();\r\n this.visible = this.shouldBeVisible();\r\n }\r\n public setConf(): void {\r\n if (this.configurationId != null && this.confSessionId != null)\r\n this.conf = this.configuratorStore.getConf(this.configurationId, this.confSessionId);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['configurationId']) {\r\n // onConfigurationChange will be called directly and do the initialization..\r\n if (!changes['configurationId'].firstChange)\r\n this.initialize();\r\n }\r\n }\r\n\r\n /**\r\n * Sets up the action box with relevant data\r\n */\r\n public abstract setup(): void;\r\n\r\n /** Defines if this action box should be visible, \r\n eg. by checking if it has any relevant data to display. */\r\n public abstract shouldBeVisible(): boolean;\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { BaseRequest } from \"./models\";\r\nimport { BaseController } from \"./providers/baseController\";\r\nimport { ActionStatus } from \"./state/shared/actionStatus\";\r\nimport { HttpAction } from \"./state/shared/httpAction\";\r\nimport { Actions } from \"./state/shared/actions\";\r\nimport { AppAction } from \"./state\";\r\n\r\n@Injectable()\r\nexport abstract class BaseActionCreator {\r\n\r\n constructor(public baseController: BaseController){}\r\n\r\n public createHttpAction(actionType: any, executeAsync: any, payload: T = null): HttpAction {\r\n\r\n let httpAction: HttpAction = {\r\n type: actionType,\r\n executeAsync: executeAsync,\r\n payload: payload\r\n }\r\n\r\n return httpAction;\r\n }\r\n\r\n sendDefaultDataAction(model: REQUEST): HttpAction {\r\n\r\n let asyncAction = >{\r\n type: Actions.DEFAULT_DATA_ACCESS,\r\n executeAsync: (dispatch, state, callback) => {\r\n return this.baseController.getDefaultData(model)\r\n .subscribe(result => {\r\n\r\n if (dispatch) {\r\n dispatch(this.afterDefaultAction(result));\r\n callback(new ActionStatus(true, result));\r\n }\r\n else\r\n callback(new ActionStatus(true, result));\r\n }, (error) => callback(new ActionStatus(false, error)));\r\n }\r\n }\r\n return asyncAction;\r\n }\r\n \r\n afterDefaultAction(apiResponse: any): AppAction {\r\n return {\r\n type: Actions.CONFIGURATION_LOADED,\r\n payload: apiResponse\r\n };\r\n }\r\n\r\n afterServerResponse(result) {\r\n\r\n }\r\n\r\n}","import { Inject, OnDestroy, SimpleChanges, Component } from \"@angular/core\";\r\nimport { ManagedSubject } from \"../../shared/managedSubject\";\r\nimport { Strings, GlobalDataStore } from \"./providers/globalData\";\r\nimport { GlobalServiceLocator } from \"../../shared/providers/globalServiceLocator\";\r\nimport { BlockUIService } from \"../../shared/components/blockUI\";\r\nimport { BrowserInfo } from \"../../shared/utils\";\r\nimport { UISettings } from \"./models\";\r\nimport { PopupIdentifiers } from \"../configurator/providers/popupIdentifiers\";\r\nimport { EmitterService } from \"../configurator/shared/emitterService\";\r\nimport { ImageSetAccessor } from \"../../shared/utils/imageSetAccessor\";\r\nimport { Timer } from \"../../shared/utils/Timer\";\r\n\r\n@Component({ template: '' })\r\nexport abstract class BaseComponent implements OnDestroy {\r\n\r\n public unsubscribeSubject: ManagedSubject = new ManagedSubject(null, true);\r\n private _strings: Strings;\r\n\r\n private _blockUIService: BlockUIService;\r\n private _browserInfo: BrowserInfo;\r\n private _uiSettings: UISettings;\r\n\r\n /*private t: Timer;*/\r\n\r\n /** Gets the string instance. Is lazy loaded so it's not injected unless it's needed. */\r\n public get strings() {\r\n if (!this._strings)\r\n this._strings = GlobalServiceLocator.injector.get(Strings);\r\n return this._strings;\r\n }\r\n\r\n /** Gets the string instance. Is lazy loaded so it's not injected unless it's needed. */\r\n public get blockUIService() {\r\n if (!this._blockUIService)\r\n this._blockUIService = GlobalServiceLocator.injector.get(BlockUIService);\r\n return this._blockUIService;\r\n }\r\n\r\n public get browserInfo() {\r\n if (!this._browserInfo)\r\n this._browserInfo = GlobalServiceLocator.injector.get(BrowserInfo);\r\n return this._browserInfo;\r\n }\r\n\r\n public get uiSettings() {\r\n if (!this._uiSettings)\r\n this._uiSettings = GlobalServiceLocator.injector.get(GlobalDataStore).getGlobalData().uiSettings;\r\n return this._uiSettings;\r\n }\r\n\r\n private _emitterService: EmitterService;\r\n public get emitterService() {\r\n if (!this._emitterService)\r\n this._emitterService = GlobalServiceLocator.injector.get(EmitterService);\r\n return this._emitterService;\r\n }\r\n\r\n private _imageSetAccessor: ImageSetAccessor;\r\n public get imageSetAccessor() {\r\n if (!this._imageSetAccessor)\r\n this._imageSetAccessor = GlobalServiceLocator.injector.get(ImageSetAccessor);\r\n return this._imageSetAccessor;\r\n }\r\n\r\n protected getImageSet(key: string): string {\r\n return this.imageSetAccessor.get(key);\r\n }\r\n\r\n /**\r\n * Formats the input string, like\r\n format(\"{0} is {1}\", \"a\", \"b\") => \"a is b\"\r\n From https://stackoverflow.com/a/4673436\r\n * @param string\r\n * @param args\r\n */\r\n format(string, ...args): string {\r\n if (!string)\r\n return \"\";\r\n return string.replace(/{(\\d+)}/g, function (match, number) {\r\n return typeof args[number] != 'undefined'\r\n ? args[number]\r\n : match\r\n ;\r\n });\r\n }\r\n\r\n blockUI(): void {\r\n // Apply the block UI and remove plain UI CSS\r\n this.emitterService.send(PopupIdentifiers.PlainUIBlock, false);\r\n this.blockUIService.start(\"blockui\");\r\n }\r\n\r\n unblockUI(): void {\r\n // Remove plain UI CSS\r\n this.emitterService.send(PopupIdentifiers.PlainUIBlock, false);\r\n this.blockUIService.stop(\"blockui\");\r\n }\r\n\r\n plainBlockUI(): void {\r\n // Apply only plain UI blocker css.\r\n this.emitterService.send(PopupIdentifiers.PlainUIBlock, true);\r\n\r\n // Start blocking\r\n this.blockUIService.start(\"blockui\");\r\n }\r\n\r\n /**\r\n * Respond when Angular (re)sets data-bound input properties. The method receives a SimpleChanges object of current and previous property values.\r\n * Called before ngOnInit() and whenever one or more data-bound input properties change.\r\n */\r\n ngOnChanges(changes: SimpleChanges) {\r\n }\r\n\r\n /**\r\n * Initialize the directive/component after Angular first displays the data-bound properties and sets the directive/component's input properties.\r\n * Called once, after the first ngOnChanges().\r\n */\r\n ngOnInit() {\r\n }\r\n\r\n /**\r\n * Detect and act upon changes that Angular can't or won't detect on its own.\r\n * Called during every change detection run, immediately after ngOnChanges() and ngOnInit().\r\n */\r\n ngDoCheck() {\r\n /*this.t = new Timer('component render ' + this.constructor.name);*/\r\n }\r\n\r\n /** \r\n * Respond after Angular projects external content into the component's view / the view that a directive is in.\r\n * Called once after the first ngDoCheck().\r\n */\r\n ngAfterContentInit() {\r\n }\r\n\r\n /**\r\n * Respond after Angular checks the content projected into the directive/component. \r\n * Called after the ngAfterContentInit() and every subsequent ngDoCheck().\r\n */\r\n ngAfterContentChecked() {\r\n }\r\n\r\n /**\r\n * Respond after Angular initializes the component's views and child views / the view that a directive is in.\r\n * Called once after the first ngAfterContentChecked().\r\n */\r\n ngAfterViewInit() {\r\n }\r\n\r\n /**\r\n * Respond after Angular checks the component's views and child views / the view that a directive is in.\r\n * Called after the ngAfterViewInit and every subsequent ngAfterContentChecked().\r\n */\r\n ngAfterViewChecked() {\r\n //this.t.stop(); // Prints the time elapsed to the JS console.\r\n }\r\n\r\n /**\r\n * Cleanup just before Angular destroys the directive/component. Unsubscribe Observables and detach event handlers to avoid memory leaks.\r\n * Called just before Angular destroys the directive/component.\r\n */\r\n ngOnDestroy() {\r\n this.unsubscribeSubject.nextValue(null);\r\n }\r\n\r\n}","import * as Immutable from \"immutable\"\r\n\r\nimport { ImmutableObject } from \"../../shared/immutableObject\";\r\n\r\nexport abstract class BaseEntity extends ImmutableObject {\r\n\r\n public readonly LONG_ID = \"longId\"; \r\n \r\n get longId(): number { return this.getInternalValue(this.LONG_ID); }\r\n setLongId(longId: number): this { return this.setInternalValue(this.LONG_ID, longId); } \r\n}","import * as Immutable from \"immutable\"\r\nimport { ImmutableObject } from \"../../shared/immutableObject\";\r\nimport { ValueSyncType } from \"./valueSyncType\";\r\nimport { BaseEntity } from \"./baseEntity\";\r\n\r\nexport abstract class BaseSyncObject extends BaseEntity {\r\n \r\n public static readonly SYNC_TYPE_BY_PROPERTY = \"syncTypeByProperty\"; \r\n\r\n get syncTypeByProperty(): Immutable.Map { return this.getInternalValue>(BaseSyncObject.SYNC_TYPE_BY_PROPERTY); }\r\n setSyncTypeByProperty(syncTypeByProperty: Immutable.Map): this { return this.setInternalValue(BaseSyncObject.SYNC_TYPE_BY_PROPERTY, syncTypeByProperty); } \r\n \r\n}","import { Inject, Component, Input, EventEmitter, Output } from \"@angular/core\";\r\nimport { BaseComponent } from \"../..\";\r\nimport { ImageSets } from \"../../../../shared/utils/imageSets\";\r\n\r\n@Component({\r\n selector: 'action-box',\r\n templateUrl: './actionBoxComponent.html'\r\n})\r\nexport class ActionBoxComponent extends BaseComponent {\r\n\r\n @Input()\r\n public showHeader: boolean = true;\r\n\r\n @Input()\r\n public iconLeft: string;\r\n\r\n @Input()\r\n public isIconLeftVault: boolean = false;\r\n\r\n @Input()\r\n public textLeft: string;\r\n\r\n @Input()\r\n public iconRight: string;\r\n\r\n @Input()\r\n public iconRightImageSet: string;\r\n\r\n @Input()\r\n public iconLeftImageSet: string;\r\n\r\n @Input()\r\n public textRight: string;\r\n\r\n @Output()\r\n onRightIconClick = new EventEmitter();\r\n\r\n ngOnInit() {\r\n if (!this.iconRightImageSet)\r\n this.iconRightImageSet = this.getImageSet(ImageSets.SummaryDetailHeader);\r\n\r\n if (!this.iconLeftImageSet)\r\n this.iconLeftImageSet = this.getImageSet(ImageSets.SummaryDetailHeader);\r\n }\r\n\r\n}","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

{{textLeft}}

\r\n
\r\n\r\n
\r\n {{textRight}}\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { ImageModule } from \"../../../../shared/components/image\";\r\nimport { ActionBoxComponent } from \"./actionBoxComponent\";\r\n\r\nexport * from \"./actionBoxComponent\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ImageModule\r\n ],\r\n declarations: [\r\n ActionBoxComponent \r\n ],\r\n exports: [\r\n ActionBoxComponent\r\n ],\r\n\r\n providers: []\r\n})\r\nexport class ActionBoxModule {\r\n\r\n}","import { Inject, Component, Input, Optional, ViewChild } from \"@angular/core\";\r\nimport * as Immutable from 'immutable';\r\n\r\nimport { BaseActionBoxComponent } from \"../..\";\r\nimport { ConfiguratorStore } from \"../../../configurator/providers\";\r\nimport { AttachmentsUploadPopupComponent } from \"./attachmentsUploadPopupComponent\";\r\nimport { DeleteAttachmentPopupComponent } from \"./deleteAttachmentPopupComponent\";\r\nimport { NotificationInfo, NotificationType, NotificationService } from \"../../../../shared/components\";\r\nimport { ManagedSubscription } from \"../../../../shared/managedSubscription\";\r\nimport { AttachmentsStore } from \"./attachmentsStore\";\r\nimport { ConfAttachment, AttachmentOperationMessage } from \"../../models\";\r\n\r\n@Component({\r\n selector: 'attachments-action-box',\r\n templateUrl: './attachmentsActionBoxComponent.html'\r\n})\r\nexport class AttachmentsActionBoxComponent extends BaseActionBoxComponent {\r\n\r\n public canAddFiles = false;\r\n public canDelete = false;\r\n public attachments: Array;\r\n\r\n protected deleteAttachmentSubscription: ManagedSubscription;\r\n //protected confChangeSubscription: ManagedSubscription;\r\n\r\n @ViewChild(AttachmentsUploadPopupComponent)\r\n protected uploadPopup: AttachmentsUploadPopupComponent;\r\n\r\n @ViewChild(DeleteAttachmentPopupComponent)\r\n protected deleteAttachmentPopup: DeleteAttachmentPopupComponent;\r\n\r\n constructor(\r\n @Inject(AttachmentsStore) public attachmentsStore: AttachmentsStore,\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n public notificationService: NotificationService,\r\n ) {\r\n super(confStore);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this.configuratorStore.onConfigurationChange(this.configurationId, this.confSessionId, conf => {\r\n this.initialize();\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n }\r\n\r\n public setup(): void {\r\n this.attachments = [];\r\n this.canAddFiles = this.conf != null && this.conf.authorization.canAddAttachment;\r\n this.canDelete = this.conf != null && this.conf.authorization.canDeleteAttachment;\r\n\r\n if (!this.conf || !this.conf.attachments)\r\n return;\r\n\r\n if (this.conf.authorization.canViewAttachments) {\r\n this.conf.attachments.forEach(attachment => {\r\n this.attachments.push({ link: this.attachmentsStore.getAttachmentLink(attachment.longId), attachment: attachment });\r\n });\r\n }\r\n }\r\n\r\n public shouldBeVisible(): boolean {\r\n return this.conf && this.conf.authorization.canViewAttachments;\r\n }\r\n\r\n public onUploadClick() {\r\n this.uploadPopup.show();\r\n }\r\n\r\n public onDeleteClick(attachment: ConfAttachment) {\r\n\r\n if (this.deleteAttachmentSubscription)\r\n this.deleteAttachmentSubscription.unsubscribe();\r\n\r\n this.deleteAttachmentSubscription = this.attachmentsStore.onAttachmentOperationMessage({\r\n next: (messages: Immutable.List): void => {\r\n let message = messages.first();\r\n if (message.name === \"Delete\") {\r\n this.notificationService.notify({\r\n title: message.success ? this.strings.Success : this.strings.Error,\r\n message: message.success ? \"Attachment was deleted\" /* TODO localize */ : message.message,\r\n type: message.success ? NotificationType.Info : NotificationType.Error,\r\n selfClose: true\r\n });\r\n }\r\n },\r\n listenNewEventsOnly: true\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n this.deleteAttachmentPopup.show(attachment, this.configurationId, this.confSessionId);\r\n }\r\n\r\n unsubscribe() {\r\n if (this.deleteAttachmentSubscription)\r\n this.deleteAttachmentSubscription.unsubscribe();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.unsubscribe();\r\n\r\n super.ngOnDestroy();\r\n }\r\n}\r\n\r\nexport class AttachmentLinkView {\r\n public attachment: ConfAttachment;\r\n public link: string;\r\n}","\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpEventType, HttpResponse } from \"@angular/common/http\";\r\n\r\nimport { AppStore, AccountDataActions, AppAsyncAction, HttpAction, ActionStatus, AppAction, RequestStatus } from \"../../state\";\r\nimport { AccountDataController } from \"../../providers/accountData/accountDataController\";\r\nimport { AccountDataRequest, ApiResponse, AccountDataResponse, AttachmentCommand, ConfDataResponse, ConfDataRequest } from \"../../models\";\r\nimport { AttachmentsDataController } from \"./attachmentsDataController\";\r\nimport { BaseActionCreator } from '../../baseActionCreator';\r\n\r\n@Injectable()\r\nexport class AttachmentsDataActionCreator extends BaseActionCreator {\r\n\r\n static CONF_ATTACHMENT_DELETE = \"@CONF_ATTACHMENT_DELETE\";\r\n static CONF_ATTACHMENT_DELETE_RESULT = \"@CONF_ATTACHMENT_DELETE_RESULT\";\r\n static CONF_ATTACHMENT_UPLOAD = \"@CONF_ATTACHMENT_UPLOAD\";\r\n static CONF_ATTACHMENT_UPLOAD_RESULT = \"@CONF_ATTACHMENT_UPLOAD_RESULT\";\r\n\r\n constructor(\r\n @Inject(AppStore) protected appStore: AppStore,\r\n @Inject(AttachmentsDataController) protected attachmentsDataController: AttachmentsDataController\r\n ) {\r\n super(attachmentsDataController);\r\n }\r\n\r\n dispatchDeleteAttachment = (model: ConfDataRequest) => this.appStore.dispatch(this.deleteAttachment(model)) as HttpAction;\r\n deleteAttachment(model: ConfDataRequest): HttpAction {\r\n\r\n return this.createHttpAction(\r\n\r\n AttachmentsDataActionCreator.CONF_ATTACHMENT_DELETE,\r\n\r\n (dispatch, state, callback) => {\r\n\r\n this.attachmentsDataController.deleteAttachment(model).subscribe((confResponse) => {\r\n\r\n dispatch({ type: AttachmentsDataActionCreator.CONF_ATTACHMENT_DELETE_RESULT, payload: confResponse });\r\n\r\n // Update complete request status\r\n callback({ completed: true, payload: confResponse });\r\n })\r\n }\r\n );\r\n }\r\n\r\n dispatchUploadFile = (model: ConfDataRequest, file: File, progressCallback, errorCallback?: (error) => void) => this.appStore.dispatch(this.uploadFile(model, file, progressCallback, errorCallback));\r\n uploadFile(model: ConfDataRequest, file: File, progressCallback, errorCallback?: (error) => void) {\r\n return this.createHttpAction(\r\n\r\n AttachmentsDataActionCreator.CONF_ATTACHMENT_UPLOAD,\r\n\r\n (dispatch, state, callback) => {\r\n\r\n this.attachmentsDataController.uploadFile(model, file).subscribe(event => {\r\n\r\n // Check if done, otherwise call progress callback.\r\n if (event instanceof ApiResponse) {\r\n\r\n progressCallback({ type: HttpEventType.Response });\r\n\r\n dispatch({ type: AttachmentsDataActionCreator.CONF_ATTACHMENT_UPLOAD_RESULT, payload: event });\r\n // Update complete request status \r\n callback(new ActionStatus(true, event));\r\n }\r\n else {\r\n progressCallback(event);\r\n }\r\n },\r\n error => {\r\n if (errorCallback)\r\n errorCallback(error);\r\n\r\n callback(new ActionStatus(true, error, RequestStatus.ERROR));\r\n }\r\n );\r\n }\r\n );\r\n }\r\n\r\n public createHttpAction(actionType: any, executeAsync: any, payload: T = null): HttpAction {\r\n let httpAction: HttpAction = {\r\n type: actionType,\r\n executeAsync: executeAsync,\r\n payload: payload\r\n }\r\n\r\n return httpAction;\r\n }\r\n}","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpParams, HttpRequest, HttpResponse } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { HttpService, JsonConvert } from \"../../../../shared/providers\"\r\nimport { ApiResponse, ConfDataRequest } from \"../../models\";\r\nimport { ApiResponseBuilder } from \"../../providers/apiResponseBuilder\";\r\nimport { BaseController } from '../../providers/baseController';\r\n\r\n@Injectable()\r\nexport class AttachmentsDataController extends BaseController {\r\n\r\n public configuratorControllerUrl = 'api/configurator';\r\n\r\n constructor(\r\n public httpService: HttpService,\r\n public jsonConvert: JsonConvert,\r\n public apiResponseBuilder: ApiResponseBuilder,\r\n ) {\r\n super(httpService, apiResponseBuilder);\r\n }\r\n\r\n public buildResponseObject = map((response, index) => this.apiResponseBuilder.build(response));\r\n\r\n public buildProgressResponseObject = map((response, index) => {\r\n // Build API response if we're done, otherwise just return it (progress event).\r\n if (response instanceof HttpResponse) {\r\n return this.apiResponseBuilder.build(response.body);\r\n }\r\n return response;\r\n });\r\n\r\n public uploadFile(confData: ConfDataRequest, file: File): Observable {\r\n let formData = new FormData();\r\n formData.append('json', this.jsonConvert.stringify(confData));\r\n formData.append('attachment', file, file.name);\r\n\r\n return this.httpService.postWithProgress(this.configuratorControllerUrl, formData).pipe(this.buildProgressResponseObject);\r\n }\r\n\r\n public deleteAttachment(requestModel: ConfDataRequest) {\r\n return this.httpService.get(this.configuratorControllerUrl, requestModel).pipe(this.buildResponseObject);\r\n }\r\n\r\n public getControllerUrl(): string {\r\n return this.configuratorControllerUrl;\r\n }\r\n\r\n}","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpEvent } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport * as Immutable from \"immutable\";\r\n\r\nimport { AppStore, BaseStore } from \"../../state\"\r\nimport { ConfMessageProvider, ConfPageSessionService, ConfiguratorStore, ConfDataMemorizer } from \"../../../configurator/providers\";\r\nimport { AppStoreSubscriptionManager } from \"../../providers\";\r\nimport { ConfDataRequest, RequestViews, AttachmentCommand, AttachmentOperationMessage, ConfAttachmentRequest, ConfAttachment } from \"../../models\";\r\nimport { ManagedSubscription, SubscriptionOptions } from \"../../../../shared/managedSubscription\";\r\nimport { ModelFactory } from \"../../providers/modelFactory\";\r\nimport { GlobalDataStore } from \"../../providers/globalData\";\r\nimport { PageStore } from \"../../providers/page\";\r\nimport { AttachmentsDataActionCreator } from \"./attachmentsDataActionCreator\";\r\nimport { AttachmentsDataController } from \"./attachmentsDataController\";\r\nimport { ConfDataController } from \"../../providers/configurationData\";\r\nimport { ManagedSubject } from \"../../../../shared/managedSubject\";\r\n\r\n@Injectable()\r\nexport class AttachmentsStore extends BaseStore {\r\n\r\n constructor(\r\n @Inject(AppStore) public appStore: AppStore,\r\n @Inject(AppStoreSubscriptionManager) public appStoreSubscriptionManager: AppStoreSubscriptionManager,\r\n @Inject(ConfPageSessionService) public storeSession: ConfPageSessionService,\r\n @Inject(ConfMessageProvider) public messagesProvider: ConfMessageProvider,\r\n @Inject(ModelFactory) public modelFactory: ModelFactory,\r\n @Inject(ConfDataController) public configuratorController: ConfDataController,\r\n @Inject(PageStore) public pageStore: PageStore,\r\n @Inject(AttachmentsDataActionCreator) public attachmentsDataActionCreator: AttachmentsDataActionCreator,\r\n @Inject(AttachmentsDataController) public attachmentsDataController: AttachmentsDataController,\r\n @Inject(ConfDataMemorizer) public memorizer: ConfDataMemorizer,\r\n public globalDataStore: GlobalDataStore\r\n ) {\r\n super(appStore, appStoreSubscriptionManager, modelFactory, attachmentsDataActionCreator);\r\n }\r\n\r\n public getAttachmentLink(attachmentId: number): string {\r\n let model: ConfAttachmentRequest = this.modelFactory.createAny(ConfAttachmentRequest.name) as any;\r\n\r\n model.client = this.pageStore.getActiveClientType();\r\n model.attachmentId = attachmentId;\r\n model.configurationId = this.storeSession.activeConfigurationId;\r\n model.confSessionId = this.storeSession.confSessionId;\r\n return this.configuratorController.getConfigurationAttachmentUrl(model);\r\n }\r\n\r\n onConfAttachmentsChange(configurationId: number, confSessionId: number, callback: (attachmentValueList: Immutable.List) => void): ManagedSubscription {\r\n let identifier = `${confSessionId}_${configurationId}_attachments`;\r\n\r\n return this.createStoreSubscription>(identifier, this.memorizer.getAttachmentsMemorizer(confSessionId, configurationId), callback);\r\n }\r\n\r\n public createStoreSubscription(identifier: string, memorizer: () => T, callback: (data: T) => void): ManagedSubscription {\r\n let managedSubject: ManagedSubject = this.appStoreSubscriptionManager.getOrCreateStoreSubject(identifier, memorizer, false, 1, false);\r\n\r\n return managedSubject.subscribe((data: T) => callback(data));\r\n }\r\n\r\n public onAttachmentOperationMessage(subscriptionOptions: SubscriptionOptions>): ManagedSubscription {\r\n return this.messagesProvider.onMessagesRequest(this.storeSession.confSessionId, AttachmentOperationMessage.name, subscriptionOptions);\r\n }\r\n\r\n public uploadFile(file: File, progressCallback, errorCallback?: (error) => void) {\r\n return this.attachmentsDataActionCreator.dispatchUploadFile(this.createModel(), file, progressCallback, errorCallback);\r\n }\r\n\r\n public createModel() {\r\n let model = this.modelFactory.createAny(ConfDataRequest.name) as ConfDataRequest;\r\n model.client = this.pageStore.getActiveClientType();\r\n model.confSessionId = this.storeSession.confSessionId;\r\n model.attachment = this.modelFactory.createAny(AttachmentCommand.name) as AttachmentCommand;\r\n model.attachment.configurationId = this.storeSession.activeConfigurationId;\r\n model.attachment.responseFormat = this.globalDataStore.getConfResponseFormat(model.client);\r\n return model;\r\n }\r\n\r\n public deleteAttachment(attachmentId: number) {\r\n let model = this.modelFactory.createAny(ConfDataRequest.name) as ConfDataRequest;\r\n model.client = this.pageStore.getActiveClientType();\r\n model.confSessionId = this.storeSession.confSessionId;\r\n model.attachment = this.modelFactory.createRequestOrCommand(AttachmentCommand.name);\r\n model.attachment.delete = true;\r\n model.attachment.attachmentId = attachmentId;\r\n model.attachment.configurationId = this.storeSession.activeConfigurationId;\r\n model.attachment.responseFormat = this.globalDataStore.getConfResponseFormat(model.client);\r\n\r\n this.attachmentsDataActionCreator.dispatchDeleteAttachment(model);\r\n }\r\n}","import { Inject, Component, Input, ChangeDetectorRef, ViewChild } from \"@angular/core\";\r\n\r\nimport { AbstractPopupComponent } from \"../../../../shared/components/popup/abstractPopupComponent\";\r\nimport { NotificationService, NotificationInfo, NotificationType, BackdropComponent } from \"../../../../shared/components\";\r\nimport { ConfPageSessionService } from \"../../../configurator/providers\";\r\nimport { AttachmentsStore } from \"./attachmentsStore\";\r\nimport { UploadComponent } from \"./uploadComponent\";\r\n\r\n@Component({\r\n selector: 'attachments-upload-popup',\r\n templateUrl: './attachmentsUploadPopupComponent.html'\r\n})\r\nexport class AttachmentsUploadPopupComponent extends AbstractPopupComponent {\r\n\r\n public id: string = \"attachments-upload-popup\";\r\n public configurationId: number;\r\n public confSessionId: number;\r\n\r\n @ViewChild(UploadComponent)\r\n protected uploader: UploadComponent;\r\n\r\n @ViewChild(BackdropComponent)\r\n protected backdropComponent: BackdropComponent;\r\n\r\n public uploadButtonDisabled = true;\r\n\r\n constructor(\r\n @Inject(ConfPageSessionService) public storeSession: ConfPageSessionService,\r\n public notificationService: NotificationService,\r\n public cdr: ChangeDetectorRef\r\n ) {\r\n super(cdr);\r\n }\r\n\r\n show() {\r\n this.uploadButtonDisabled = true;\r\n this.configurationId = this.storeSession.activeConfigurationId;\r\n this.confSessionId = this.storeSession.confSessionId;\r\n this.showInternal();\r\n }\r\n\r\n public uploadDone() {\r\n this.backdropComponent.close();\r\n this.onPopupClosed();\r\n\r\n this.notificationService.notify({\r\n title: this.strings.Success,\r\n message: this.strings.UploadCompleted,\r\n type: NotificationType.Success,\r\n selfClose: true\r\n });\r\n }\r\n\r\n public okClick() {\r\n this.uploadButtonDisabled = true;\r\n\r\n this.uploader.uploadFiles();\r\n }\r\n\r\n}","\r\n \r\n
\r\n \r\n
\r\n
\r\n
","import { Inject, Component, ChangeDetectorRef } from \"@angular/core\";\r\nimport { AbstractPopupComponent } from \"../../../../shared/components/popup/abstractPopupComponent\";\r\nimport { PopupService } from \"../../../../shared/components\";\r\nimport { AttachmentsStore } from \"./attachmentsStore\";\r\nimport { ConfAttachment } from \"../../models\";\r\n\r\n@Component({\r\n selector: 'delete-attachment-popup',\r\n templateUrl: './deleteAttachmentPopupComponent.html',\r\n})\r\nexport class DeleteAttachmentPopupComponent extends AbstractPopupComponent {\r\n\r\n public id = \"delete-attachment-popup\";\r\n\r\n public configurationId: number;\r\n public confSessionId: number;\r\n public attachment: ConfAttachment;\r\n\r\n constructor(\r\n @Inject(PopupService) public popupService: PopupService,\r\n @Inject(AttachmentsStore) public attachmentsStore: AttachmentsStore,\r\n public cdr: ChangeDetectorRef\r\n ) {\r\n super(cdr, popupService);\r\n }\r\n\r\n show(attachment: ConfAttachment, configurationId: number, confSessionId: number): void {\r\n this.configurationId = configurationId;\r\n this.confSessionId = confSessionId;\r\n this.attachment = attachment;\r\n\r\n this.showInternal();\r\n }\r\n\r\n public okClick() {\r\n this.attachmentsStore.deleteAttachment(this.attachment.longId);\r\n }\r\n}","\r\n \r\n\r\n
\r\n
\r\n {{strings.AreYouSureYouWantToDelete}}\r\n
\r\n
\r\n {{attachment.title}}\r\n
\r\n
\r\n
\r\n
","export * from \"./attachmentsActionBoxComponent\";\r\nexport * from \"./attachmentsUploadPopupComponent\";\r\nexport * from \"./deleteAttachmentPopupComponent\";\r\nexport * from \"./attachmentsDataActionCreator\";\r\nexport * from \"./attachmentsDataController\";\r\nexport * from \"./attachmentsStore\";\r\nexport * from \"./uploadComponent\";","import { Component, Input, Output, EventEmitter, ViewChild, ElementRef, Inject } from \"@angular/core\";\r\nimport { HttpEventType, HttpResponse } from \"@angular/common/http\";\r\nimport * as Immutable from 'immutable';\r\n\r\nimport { Strings } from \"../../providers/globalData\";\r\nimport { AttachmentCommand, ApiResponse, AttachmentOperationMessage } from \"../../models\";\r\nimport { AttachmentsStore } from \"./attachmentsStore\";\r\nimport { ConfMessageProvider } from \"../../../configurator/providers\";\r\nimport { BaseComponent } from \"../..\";\r\nimport { NotificationService, NotificationInfo, NotificationType } from \"../../../../shared/components/notification\";\r\n\r\n@Component({\r\n templateUrl: './uploadComponent.html',\r\n selector: 'upload',\r\n})\r\nexport class UploadComponent extends BaseComponent {\r\n\r\n @Input()\r\n multiple: boolean = false;\r\n\r\n @Input()\r\n public configurationId: number;\r\n\r\n @Input()\r\n public confSessionId: number;\r\n\r\n @Output()\r\n uploadDone = new EventEmitter();\r\n\r\n @Output()\r\n selectedFilesChanged = new EventEmitter();\r\n\r\n @ViewChild(\"upload\")\r\n private _uploadElement: ElementRef;\r\n\r\n public files: FileInfo[] = [];\r\n\r\n constructor(\r\n protected confMessageProvider: ConfMessageProvider,\r\n protected attachmentsStore: AttachmentsStore,\r\n protected notificationService: NotificationService\r\n ) {\r\n super();\r\n }\r\n\r\n protected get uploader(): HTMLInputElement {\r\n return this._uploadElement.nativeElement as HTMLInputElement;\r\n }\r\n\r\n add() {\r\n this.uploader.click();\r\n }\r\n\r\n // At the drag drop area\r\n // (drop)=\"onDropFile($event)\"\r\n onDropFile(event: DragEvent) {\r\n event.preventDefault();\r\n // TODO\r\n //this.uploadFiles(event.dataTransfer.files);\r\n }\r\n\r\n // At the drag drop area\r\n // (dragover)=\"onDragOverFile($event)\"\r\n onDragOverFile(event) {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n }\r\n\r\n // At the file input element\r\n // (change)=\"selectFile($event)\"\r\n selectFile(event) {\r\n let fileList: FileList = event.target.files\r\n this.setupFiles(fileList);\r\n this.selectedFilesChanged.emit();\r\n }\r\n\r\n protected setupFiles(fileList: FileList) {\r\n this.files = [];\r\n for (let i = 0; i < fileList.length; i++) {\r\n let fileInfo = new FileInfo();\r\n fileInfo.file = fileList[i];\r\n fileInfo.text = this.strings.UploadNotStarted;\r\n this.files.push(fileInfo);\r\n }\r\n }\r\n\r\n protected uploadFile(file: FileInfo) {\r\n file.resetUpload();\r\n file.running = true;\r\n\r\n this.attachmentsStore.uploadFile(file.file, event => {\r\n if (event.type == HttpEventType.UploadProgress) {\r\n const percentDone = Math.round(100 * event.loaded / event.total);\r\n file.percentDone = percentDone;\r\n file.text = percentDone + \"%\";\r\n\r\n if (percentDone == 100) {\r\n file.running = false; \r\n file.text = this.strings.UploadCompleted; \r\n }\r\n }\r\n else if (event.type == HttpEventType.Response) {\r\n\r\n // Listen for success or failure event\r\n let managedSubscription = this.confMessageProvider.onMessagesRequest(this.confSessionId, AttachmentOperationMessage.name, {\r\n next: (messages: Immutable.List): void => {\r\n\r\n file.running = false;\r\n\r\n let message = messages.get(0);\r\n if (!message.success) {\r\n \r\n this.notificationService.notify(\r\n {\r\n selfClose: false,\r\n title: this.strings.Error,\r\n message: message.message,\r\n type: message.displayStyle ? message.displayStyle : NotificationType.Error,\r\n });\r\n\r\n file.error = true;\r\n file.done = false;\r\n }\r\n else {\r\n file.done = true;\r\n }\r\n\r\n this.afterUpload();\r\n\r\n managedSubscription.unsubscribe();\r\n\r\n }, startOnDemand: true,\r\n listenNewEventsOnly: true\r\n });\r\n\r\n managedSubscription.unsubscribeOn(this.unsubscribeSubject);\r\n managedSubscription.start(); \r\n }\r\n },\r\n error => {\r\n console.log(\"Upload Error:\", error);\r\n file.text = this.strings.UploadFailed;\r\n file.running = false;\r\n file.error = true;\r\n }\r\n );\r\n }\r\n\r\n uploadFiles() {\r\n if (this.files.length == 0) {\r\n console.log(\"No file selected!\");\r\n return;\r\n }\r\n\r\n for (let i = 0; i < this.files.length; i++) {\r\n let file = this.files[i];\r\n if (!file.done)\r\n this.uploadFile(file);\r\n }\r\n }\r\n\r\n protected afterUpload() {\r\n let uploadSucceeded = this.files.every(x => x.done);\r\n if (uploadSucceeded) {\r\n this.uploadDone.emit();\r\n }\r\n }\r\n\r\n onDeleteClick(file: FileInfo) {\r\n this.files.splice(this.files.indexOf(file), 1);\r\n if (this._uploadElement)\r\n this._uploadElement.nativeElement.value = \"\";\r\n }\r\n}\r\n\r\nexport class FileInfo {\r\n public file: File;\r\n public percentDone: number = 0;\r\n public done: boolean = false;\r\n public running: boolean = false;\r\n public error: boolean = false;\r\n public text: string;\r\n\r\n public resetUpload() {\r\n this.percentDone = 0;\r\n //this.done = false;\r\n this.running = false;\r\n this.error = false;\r\n this.text = \"\";\r\n }\r\n}","\r\n
\r\n
\r\n {{file.file.name}}\r\n
\r\n
\r\n
\r\n
{{file.text}}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n","import { Component, Input, ViewChild, Output, EventEmitter, ElementRef, SimpleChanges } from \"@angular/core\";\r\ndeclare var jQuery: any;\r\nimport { AutoCompleteModel } from \"./autoCompleteModel\";\r\nimport { InputViewModel, ValueChangeEventArgs } from \"../../../../shared/components/shared\";\r\nimport { DebouncedTextBoxComponent } from \"../../../../shared/components/debouncedTextBox\";\r\nimport { BaseComponent } from \"../..\";\r\n\r\n@Component({\r\n selector: 'autocomplete',\r\n templateUrl: './autocompleteComponent.html'\r\n})\r\nexport class AutoCompleteComponent extends BaseComponent {\r\n // TODO should this be combined with filterComponent in some way?\r\n\r\n @Input()\r\n public autoCompleteView: InputViewModel;\r\n @Input()\r\n public clientSideFiltering = false;\r\n\r\n @Input()\r\n public items: Array;\r\n public filteredItems: Array = [];\r\n public selectedItem: AutoCompleteModel;\r\n\r\n @Input()\r\n public minimumLength = 0;\r\n\r\n @Input()\r\n public matchOnce = false;\r\n\r\n @Output()\r\n public selectionChanged = new EventEmitter();\r\n @Output()\r\n public filterChanged = new EventEmitter();\r\n\r\n @ViewChild('dropdown')\r\n public dropdownElement: ElementRef;\r\n @ViewChild('inputQuery')\r\n public textBoxElement: DebouncedTextBoxComponent;\r\n\r\n @ViewChild('inputQueryNative')\r\n public nativeTextBoxElement: ElementRef;\r\n\r\n public showNoMatches = false;\r\n public previousFilter = \"\";\r\n\r\n public dropdownWidth = \"\";\r\n\r\n ngOnInit() {\r\n this.showNoMatches = false;\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['items'] && this.items != null) {\r\n // We recieved new items -> setup new result list\r\n this.showNoMatches = this.items.length == 0;\r\n this.previousFilter = this.textBoxElement && this.textBoxElement.view ? this.textBoxElement.view.value : \"\";\r\n\r\n this.filteredItems = [];\r\n\r\n // Go through all given items, set the matched part, and add them to the result.\r\n this.items.forEach((model: InputViewModel, key) => {\r\n let rowModel = new AutoCompleteModel(model.title, this.matchOnce);\r\n rowModel.value = model.value;\r\n rowModel.name = model.name;\r\n rowModel.matchedPart = this.textBoxElement && this.textBoxElement.view ? this.textBoxElement.view.value : \"\";\r\n this.filteredItems.push(rowModel);\r\n });\r\n }\r\n }\r\n\r\n public showMenu() {\r\n // Make sure the dropdown menu is opened.\r\n // It requires jquery to open, but it's not a hard requirement but it's useful if the user closes the menu while searching.\r\n if (this.dropdownElement.nativeElement.className.indexOf(\"show\") == -1)\r\n jQuery(\".autocomplete .toggler\").dropdown(\"toggle\")\r\n }\r\n\r\n public reset() {\r\n this.previousFilter = \"\";\r\n this.textBoxElement.view.value = \"\";\r\n this.filteredItems = [];\r\n this.items = [];\r\n this.showNoMatches = false;\r\n }\r\n\r\n select(item: AutoCompleteModel) {\r\n this.selectedItem = item;\r\n this.textBoxElement.view.value = item.name;\r\n //this.textBoxElement.view.displayValueText = item.name;\r\n //this.filteredItems = [];\r\n\r\n this.selectionChanged.emit({ item: this.selectedItem });\r\n }\r\n\r\n public filter($event: ValueChangeEventArgs) {\r\n this.dropdownWidth = this.nativeTextBoxElement.nativeElement.clientWidth + \"px\";\r\n\r\n // Make sure the dropdown menu is opened.\r\n this.showMenu();\r\n\r\n let query = $event.value;\r\n if (this.filterOnClientSide)\r\n this.filterOnClientSide(query);\r\n else\r\n this.filterOnCaller(query);\r\n }\r\n\r\n public filterOnCaller(query: string) {\r\n // Filtering will be done on caller side -> raise filterChanged.\r\n if (query !== \"\" && query.length >= this.minimumLength) {\r\n this.filterChanged.emit({ query: query });\r\n }\r\n else {\r\n this.filteredItems = [];\r\n }\r\n }\r\n\r\n public filterOnClientSide(query: string) {\r\n this.filteredItems = [];\r\n\r\n if (query !== \"\" && query.length >= this.minimumLength) {\r\n this.items.forEach((model: InputViewModel, key) => {\r\n // TODO should it search from start or search anywhere? Old web used the latter approach. Maybe support both and chose from input param?\r\n //if (el.toUpperCase().startsWith(searchText) {\r\n if (model.title.toUpperCase().indexOf(query.toUpperCase()) > -1) {\r\n let rowModel = new AutoCompleteModel(model.title, this.matchOnce);\r\n rowModel.matchedPart = query;\r\n rowModel.name = model.name;\r\n this.filteredItems.push(rowModel);\r\n }\r\n });\r\n }\r\n else {\r\n this.showNoMatches = false;\r\n }\r\n\r\n this.filterChanged.emit({ query: query });\r\n }\r\n\r\n trackByName(index: number, item: AutoCompleteModel): any {\r\n // Help angular tracking the items so the whole dropdown isn't re-rendered.\r\n // NOTE! This requires unique names.\r\n return item.name;\r\n }\r\n}","\r\n
\r\n \r\n \r\n
\r\n
0; else empty\">\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
","import { InputViewModel } from \"../../../../shared/components/shared\";\r\n\r\nexport class AutoCompleteModel extends InputViewModel {\r\n private _matchedPart: string;\r\n public nameParts: Array;\r\n public matchOnce = false;\r\n\r\n public constructor(text?: string, matchOnce?: boolean) {\r\n super(text);\r\n\r\n this.matchOnce = matchOnce;\r\n }\r\n\r\n set matchedPart(match: string) {\r\n this._matchedPart = match.replace(\"*\",\"\");\r\n this.nameParts = this.formatName();\r\n }\r\n\r\n /**\r\n * Gets the formatted name for this autocomplete model.\r\n * Will split up matches with non-matches.\r\n */\r\n public formatName() {\r\n let result = new Array();\r\n // Nothing to format\r\n if (this._matchedPart.length == 0) {\r\n result.push(new AutoCompleteNamePart(this.title, false));\r\n return result;\r\n }\r\n\r\n // Get the index of all matches\r\n let regex = new RegExp(this._matchedPart, \"gi\"), match, indices = [];\r\n while ((match = regex.exec(this.title))) {\r\n indices.push(match.index);\r\n\r\n if (this.matchOnce)\r\n break;\r\n }\r\n\r\n if (indices.length == 0)\r\n return result;\r\n\r\n // Add start to first match\r\n if (indices[0] > 0)\r\n result.push(new AutoCompleteNamePart(this.title.substr(0, indices[0]), false));\r\n\r\n // Add all matches\r\n for (let i = 0; i < indices.length; i++) {\r\n let lower = indices[i];\r\n let length = this._matchedPart.length;\r\n let upper = lower + length;\r\n // Add match\r\n result.push(new AutoCompleteNamePart(this.title.substr(lower, length), true));\r\n\r\n // We have more matches -> Add everything up to the next match\r\n if ((i + 1) < indices.length)\r\n result.push(new AutoCompleteNamePart(this.title.substr(upper, indices[i + 1] - lower - 1), false));\r\n // This is the last match -> Add rest\r\n else\r\n result.push(new AutoCompleteNamePart(this.title.substr(upper, this.title.length), false));\r\n }\r\n return result;\r\n }\r\n}\r\n\r\nexport class AutoCompleteNamePart {\r\n constructor(\r\n public value: string,\r\n public isMatch: boolean) {\r\n }\r\n}","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\n\r\nimport { AutoCompleteComponent } from \"./autoCompleteComponent\";\r\nimport { DebouncedTextBoxModule } from \"../../../../shared/components/debouncedTextBox\";\r\n\r\nexport * from \"./autoCompleteComponent\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n DebouncedTextBoxModule,\r\n ],\r\n declarations: [\r\n AutoCompleteComponent,\r\n ],\r\n exports: [\r\n AutoCompleteComponent\r\n ]\r\n})\r\nexport class AutoCompleteModule {\r\n\r\n}","import { Component, Inject, ChangeDetectorRef, ViewChild, Input, Output, EventEmitter } from \"@angular/core\";\r\n\r\nimport { InputViewModel, PopupService, NotificationService, NotificationInfo, NotificationType, BackdropComponent } from \"../../../../shared/components\";\r\nimport { BaseComponent } from \"../..\";\r\nimport { AccountDataStore, AccountDataMessageProvider } from \"../../providers/accountData\";\r\nimport { PasswordChangeMessage } from \"../../models\";\r\nimport { AbstractPopupComponent } from \"../../../../shared/components/popup/abstractPopupComponent\";\r\nimport { ManagedSubscription } from \"../../../../shared/managedSubscription\";\r\n\r\n@Component({\r\n selector: 'change-password-popup',\r\n templateUrl: './changePasswordPopupComponent.html',\r\n})\r\nexport class ChangePasswordPopupComponent extends AbstractPopupComponent {\r\n\r\n public id: string = \"change-password-popup\";\r\n public currentPasswordView: InputViewModel;\r\n public newPasswordView: InputViewModel;\r\n public confirmNewPasswordView: InputViewModel;\r\n\r\n public message: string;\r\n\r\n public serverErrors: Array = [];\r\n public passwordChangeMessage: ManagedSubscription;\r\n\r\n @Input()\r\n username: string;\r\n\r\n @Output()\r\n passwordChanged = new EventEmitter();\r\n\r\n @ViewChild(BackdropComponent)\r\n public backdropComponent: BackdropComponent;\r\n\r\n constructor(\r\n @Inject(AccountDataStore) public accountStore: AccountDataStore,\r\n public accountMessageProvider: AccountDataMessageProvider,\r\n public popupService: PopupService,\r\n public notificationService: NotificationService,\r\n public cdr: ChangeDetectorRef,\r\n ) {\r\n super(cdr, popupService);\r\n }\r\n\r\n ngOnInit() {\r\n this.currentPasswordView = new InputViewModel(this.strings.OldPassword);\r\n this.newPasswordView = new InputViewModel(this.strings.NewPassword);\r\n this.confirmNewPasswordView = new InputViewModel(this.strings.ConfirmNewPassword);\r\n\r\n this.currentPasswordView.name = this.newPasswordView.name = this.confirmNewPasswordView.name = \"password\";\r\n this.currentPasswordView.icon = this.newPasswordView.icon = this.confirmNewPasswordView.icon = \"password\";\r\n\r\n super.ngOnInit();\r\n }\r\n\r\n public open(tag: any) {\r\n this.show(tag);\r\n }\r\n\r\n show(username?: string) {\r\n this.username = username;\r\n\r\n this.showInternal();\r\n }\r\n\r\n public listenOnChange() {\r\n this.unsubscribe();\r\n\r\n this.passwordChangeMessage = this.accountMessageProvider.onMessages(PasswordChangeMessage.name, {\r\n next: (messages) => {\r\n let message = messages.first();\r\n\r\n if (message.success) {\r\n this.passwordChanged.emit(this.newPasswordView.value);\r\n\r\n this.resetValues();\r\n this.backdropComponent.close();\r\n this.onPopupClosed();\r\n\r\n this.notificationService.notify({\r\n title: this.strings.Success,\r\n message: this.strings.ChangePassword_SaveSuccess,\r\n type: NotificationType.Success,\r\n selfClose: true\r\n });\r\n }\r\n else {\r\n // Don't close popup and show the errors.\r\n this.serverErrors = message.errors;\r\n }\r\n\r\n this.unsubscribe();\r\n },\r\n listenNewEventsOnly: true\r\n });\r\n }\r\n\r\n public resetValues() {\r\n this.currentPasswordView.value = this.newPasswordView.value = this.confirmNewPasswordView.value = \"\";\r\n }\r\n\r\n public validatePassword(): boolean {\r\n // Perform some validation on client side. Will also be done on server side.\r\n\r\n // Reset any old errors\r\n this.currentPasswordView.errors = this.newPasswordView.errors = this.confirmNewPasswordView.errors = [];\r\n\r\n // Old password is mandatory\r\n if (!this.currentPasswordView.value) {\r\n this.currentPasswordView.errors = [this.strings.ChangePasswordErrorMessage_SpecifyOldPassword];\r\n return false;\r\n }\r\n\r\n // New password is mandatory\r\n if (!this.newPasswordView.value) {\r\n this.newPasswordView.errors = [this.strings.ChangePasswordErrorMessage_SpecifyNewPassword];\r\n return false;\r\n }\r\n\r\n // Confirm new password is mandatory\r\n if (!this.confirmNewPasswordView.value) {\r\n this.confirmNewPasswordView.errors = [this.strings.ChangePasswordErrorMessage_SpecifyNewPassword];\r\n return false;\r\n }\r\n\r\n // New passwords must match\r\n if (this.newPasswordView.value !== this.confirmNewPasswordView.value) {\r\n this.confirmNewPasswordView.errors = [this.strings.ChangePasswordErrorMessage_NewPasswordsNoMatch];\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n public changePassword() {\r\n this.serverErrors = [];\r\n\r\n if (this.validatePassword()) {\r\n this.listenOnChange();\r\n\r\n let username = this.username || this.accountStore.getUser().username;\r\n\r\n this.accountStore.changeUserPassword(username, this.currentPasswordView.value, this.newPasswordView.value);\r\n }\r\n }\r\n\r\n public unsubscribe() {\r\n if (this.passwordChangeMessage)\r\n this.passwordChangeMessage.unsubscribe();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.unsubscribe();\r\n\r\n super.ngOnDestroy();\r\n }\r\n}","\r\n \r\n
\r\n
\r\n {{message}}\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
","export * from \"./changePasswordPopupComponent\";","import { Inject, Component, Optional, Input } from \"@angular/core\";\r\nimport { BaseActionBoxComponent } from \"../..\";\r\nimport { ConfiguratorStore } from \"../../../configurator/providers\";\r\nimport { CodeDecorationValuesModel } from \"./codeDecorationValueModel\";\r\nimport { ProductDataStore } from \"../../providers/productData\";\r\nimport { CodeDecoration } from \"../../models\";\r\n\r\n\r\n@Component({\r\n selector: 'code-action-box',\r\n templateUrl: './codeActionBoxComponent.html'\r\n})\r\nexport class CodeActionBoxComponent extends BaseActionBoxComponent {\r\n \r\n\r\n @Input()\r\n valuesModel: CodeDecorationValuesModel;\r\n\r\n actionBoxTitle: string;\r\n\r\n constructor(\r\n @Optional() @Inject(ConfiguratorStore) configuratorStore: ConfiguratorStore,\r\n @Inject(ProductDataStore) private productStore: ProductDataStore) {\r\n super(configuratorStore);\r\n }\r\n\r\n public setup(): void {\r\n\r\n let decoation: CodeDecoration = this.productStore.getEntity(this.valuesModel.decorationId);\r\n this.actionBoxTitle = decoation.title ? decoation.title : this.strings.Code;\r\n \r\n }\r\n\r\n // TODO: Need to remove this\r\n public shouldBeVisible(): boolean {\r\n return true;\r\n }\r\n\r\n \r\n\r\n}","\r\n \r\n \r\n\r\n\r\n","import { AbstractCodeValue, CodeDecoration, ConfCodeValue, StoredCodeValue } from \"../../models\";\r\nimport * as Immutable from 'immutable';\r\n\r\n// Represents the model for one decoration and its values.\r\nexport class CodeDecorationValuesModel {\r\n\r\n decorationId: number;\r\n\r\n values: Immutable.List\r\n\r\n}\r\n\r\nexport class FileCodeValueModel {\r\n\r\n calcValue: ConfCodeValue;\r\n\r\n storedValue: StoredCodeValue;\r\n\r\n}","import { Component, Input } from \"@angular/core\";\r\nimport { BaseComponent } from \"../..\";\r\nimport { CodeDecorationValuesModel } from \"./codeDecorationValueModel\";\r\nimport { ProductDataStore } from \"../../providers/productData\";\r\nimport { CodeDecoration } from \"../../models\";\r\n\r\n@Component({\r\n selector: 'decoration-codes-builder',\r\n templateUrl: './decorationCodesBuilderComponent.html',\r\n})\r\nexport class DecorationCodesBuilderComponent extends BaseComponent {\r\n\r\n public calcVisible: boolean = false;\r\n public storedVisible: boolean = false;\r\n\r\n @Input()\r\n public showInlineTitle: boolean = false;\r\n\r\n public decorationTitle: string;\r\n \r\n @Input()\r\n public valuesModel: CodeDecorationValuesModel\r\n\r\n constructor(public productStore: ProductDataStore) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n\r\n // Set the visibility\r\n\r\n this.storedVisible = !!this.valuesModel.values.find(x => x.storedValue != null);\r\n this.calcVisible = !!this.valuesModel.values.find(x => x.calcValue != null);\r\n\r\n let decoration = this.productStore.getEntity(this.valuesModel.decorationId);\r\n\r\n this.decorationTitle = decoration.title;\r\n\r\n }\r\n \r\n}","

{{decorationTitle}}

\r\n\r\n \r\n
\r\n\r\n
\r\n\r\n \r\n\r\n \r\n\r\n
\r\n\r\n
\r\n\r\n \r\n\r\n \r\n\r\n
\r\n\r\n
\r\n
\r\n","import { Component, Input } from \"@angular/core\";\r\nimport { BaseComponent } from \"../..\";\r\nimport { CodeDecorationValuesModel } from \"./codeDecorationValueModel\";\r\nimport { CodeDisplayStyles, CodeDecoration, AbstractCodeValue } from \"../../models\";\r\nimport { ProductDataStore } from \"../../providers/productData\";\r\n\r\n@Component({\r\n selector: 'decoration-codes-renderer',\r\n templateUrl: './decorationCodesRendererComponent.html',\r\n})\r\nexport class DecorationCodesRendererComponent extends BaseComponent {\r\n\r\n constructor(public productStore: ProductDataStore) {\r\n super();\r\n }\r\n\r\n @Input()\r\n codeValue: AbstractCodeValue;\r\n\r\n @Input()\r\n subHeading: string;\r\n\r\n decoration: CodeDecoration;\r\n\r\n displayStyles = CodeDisplayStyles;\r\n\r\n displayStyle: string;\r\n\r\n @Input()\r\n decorationId: number;\r\n\r\n @Input()\r\n isStored: boolean;\r\n\r\n ngOnInit() {\r\n \r\n this.decoration = this.productStore.getEntity(this.decorationId);\r\n\r\n this.codeValue.isBinary == true ? this.displayStyle = this.displayStyles.DownloadLink : this.displayStyle = this.decoration.displayStyle;\r\n\r\n }\r\n \r\n}","\r\n\r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n","import { Input, Component } from \"@angular/core\";\r\nimport { CodeDecoration, AbstractCodeValue } from \"../../../models\";\r\nimport { BaseComponent } from \"../../../baseComponent\";\r\nimport { ProductDataStore } from \"../../../providers/productData\";\r\nimport { PageStore } from \"../../../providers/page\";\r\nimport { ConfPageSessionService } from \"../../../../configurator/providers\";\r\nimport { RouteNames } from \"../../../providers/routeNames\";\r\nimport { ImageSets } from \"../../../../../shared/utils/imageSets\";\r\n\r\n@Component({ template: '' })\r\nexport abstract class BaseCodeDisplayStyleComponent extends BaseComponent {\r\n\r\n @Input()\r\n subHeading: string;\r\n\r\n @Input()\r\n codeValue: AbstractCodeValue;\r\n \r\n @Input()\r\n decorationId: number;\r\n\r\n @Input()\r\n isStored: boolean = false;\r\n\r\n decoration: CodeDecoration;\r\n \r\n isSummary: boolean = false;\r\n\r\n configurationId: number;\r\n\r\n confSessionId: number;\r\n\r\n public imageSet: string;\r\n\r\n constructor(public productStore: ProductDataStore, public pageStore: PageStore, public confPageSession: ConfPageSessionService) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.imageSet = this.getImageSet(this.pageStore.activeRouteName === RouteNames.Editor ? ImageSets.ConfiguratorDecoration : ImageSets.SummaryActionDetail);\r\n\r\n this.decoration = this.productStore.getEntity(this.decorationId);\r\n this.configurationId = this.confPageSession.activeConfigurationId;\r\n this.confSessionId = this.confPageSession.confSessionId;\r\n \r\n super.ngOnInit();\r\n }\r\n\r\n}","import { Component } from \"@angular/core\";\r\nimport { BaseCodeDisplayStyleComponent } from \"./baseCodeDisplayStyleComponent\";\r\nimport { ProductDataStore } from \"../../../providers/productData\";\r\nimport { ConfCodeRequest } from \"../../../models\";\r\nimport { ModelFactory } from \"../../../providers\";\r\nimport { PageStore } from \"../../../providers/page\";\r\nimport { ConfPageSessionService } from \"../../../../configurator/providers\";\r\nimport { ConfDataController } from \"../../../providers/configurationData\";\r\n\r\n@Component({\r\n selector: 'code-download-link-style',\r\n templateUrl: './codeDownloadLinkStyleComponent.html'\r\n})\r\nexport class CodeDownloadLinkStyleComponent extends BaseCodeDisplayStyleComponent {\r\n\r\n public downloadLinkUrl: string;\r\n\r\n constructor(public productStore: ProductDataStore,\r\n public modelFactory: ModelFactory,\r\n public pageStore: PageStore,\r\n public confPageSession: ConfPageSessionService,\r\n public controller: ConfDataController) {\r\n super(productStore, pageStore, confPageSession);\r\n }\r\n\r\n ngOnInit() {\r\n\r\n super.ngOnInit();\r\n\r\n this.downloadFileLink();\r\n }\r\n\r\n\r\n downloadFileLink() {\r\n\r\n let model: ConfCodeRequest = this.modelFactory.createAny(ConfCodeRequest.name) as any;\r\n\r\n model.getStored = this.isStored;\r\n model.client = this.pageStore.getActiveClientType();\r\n model.codeFileId = this.codeValue.longId;\r\n model.configurationId = this.configurationId;\r\n model.confSessionId = this.confSessionId;\r\n this.downloadLinkUrl = this.controller.getConfigurationCodeUrl(model);\r\n\r\n }\r\n}","","import { Component, ViewChild } from \"@angular/core\";\r\nimport { BaseCodeDisplayStyleComponent } from \"./baseCodeDisplayStyleComponent\";\r\nimport { ProductDataStore } from \"../../../providers/productData\";\r\nimport { PageStore } from \"../../../providers/page\";\r\nimport { ConfPageSessionService, ConfiguratorStore, PopupIdentifiers } from \"../../../../configurator/providers\";\r\nimport { ModelFactory } from \"../../../providers\";\r\nimport { ConfDataController } from \"../../../providers/configurationData\";\r\nimport { ConfCodeRequest } from \"../../../models\";\r\nimport { HttpService } from \"../../../../../shared/providers\";\r\nimport { CodePopupComponent } from \"../../../../configurator/popups\";\r\nimport { PopupService } from \"../../../../../shared/components\";\r\n\r\n\r\n@Component({\r\n selector: 'code-popup-style',\r\n templateUrl: './codePopupStyleComponent.html'\r\n})\r\nexport class CodePopupStyleComponent extends BaseCodeDisplayStyleComponent {\r\n\r\n public data: string;\r\n public icon = \"code\";\r\n\r\n @ViewChild(CodePopupComponent)\r\n protected codePopup: CodePopupComponent;\r\n\r\n constructor(public productStore: ProductDataStore,\r\n public modelFactory: ModelFactory,\r\n public controller: ConfDataController,\r\n public pageStore: PageStore,\r\n public popupService: PopupService,\r\n public httpService: HttpService,\r\n public confPageSession: ConfPageSessionService) {\r\n super(productStore, pageStore, confPageSession);\r\n }\r\n\r\n ngOnInit() {\r\n this.icon = this.codeValue.icon;\r\n\r\n super.ngOnInit();\r\n }\r\n\r\n showPopup(event): void {\r\n\r\n let url = this.getURL();\r\n\r\n this.httpService.readContents(url, \"UTF-16\").then(data => {\r\n\r\n this.popupService.open(PopupIdentifiers.Code, { code: data, title: this.codeValue.title });\r\n\r\n });\r\n\r\n }\r\n\r\n getURL(): string {\r\n\r\n let model: ConfCodeRequest = this.modelFactory.createAny(ConfCodeRequest.name) as any;\r\n\r\n model.getStored = this.isStored;\r\n model.client = this.pageStore.getActiveClientType();\r\n model.codeFileId = this.codeValue.longId;\r\n model.configurationId = this.configurationId;\r\n model.confSessionId = this.confSessionId;\r\n model.getStored = this.isStored;\r\n\r\n return this.controller.getConfigurationCodeUrl(model);\r\n\r\n }\r\n\r\n}","\r\n\r\n
\r\n \r\n
\r\n
{{codeValue.title}} {{subHeading}}
\r\n\r\n
","import { Inject, Component, Input } from \"@angular/core\";\r\nimport { BaseCodeDisplayStyleComponent } from \"./baseCodeDisplayStyleComponent\";\r\nimport { ProductDataStore } from \"../../../providers/productData\";\r\nimport { ConfPageSessionService } from \"../../../../configurator/providers\";\r\nimport { PageStore } from \"../../../providers/page\";\r\n\r\n@Component({\r\n selector: 'code-render-style',\r\n templateUrl: './codeRenderStyleComponent.html'\r\n})\r\nexport class CodeRenderStyleComponent extends BaseCodeDisplayStyleComponent {\r\n \r\n constructor(public productStore: ProductDataStore, public pageStore: PageStore, public confPageSession: ConfPageSessionService) {\r\n super(productStore, pageStore, confPageSession);\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n}","
\r\n\r\n

{{codeValue.title}}

\r\n\r\n
{{codeValue.title}} {{subHeading}}
\r\n\r\n
\r\n\r\n
","export * from \"./codeActionBoxComponent\";\r\nexport * from \"./decorationCodesRendererComponent\";\r\nexport * from \"./providers/calculatedCodeValuesProvider\";\r\nexport * from \"./providers/storedCodeValuesProvider\";\r\nexport * from \"./displayStyles/codeRenderStyleComponent\";\r\nexport * from \"./displayStyles/codeDownloadLinkStyleComponent\";\r\nexport * from \"./displayStyles/codePopupStyleComponent\";\r\nexport * from \"./decorationCodesBuilderComponent\";\r\n","import { Injectable } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\nimport { CodeDecoration, ConfUIItem, GroupConfUIItem, ConfCodeValue, AbstractCodeValue, CodeDisplayStyles } from \"../../../models\";\r\nimport { ConfPageSessionService } from \"../../../../configurator/providers\";\r\nimport { ProductDataStore } from \"../../../providers/productData\";\r\nimport { CodeDecorationValuesModel } from \"../codeDecorationValueModel\";\r\nimport { SummaryDisplayStyles } from \"../../../../configurator/summary/prices/SummaryDisplayStyle\";\r\n\r\n@Injectable()\r\nexport abstract class BaseCodeValuesProvider {\r\n\r\n constructor(public productStore: ProductDataStore, public storeSession: ConfPageSessionService) {\r\n\r\n }\r\n\r\n /**\r\n * Returns the list. Each decoration model contains own values.\r\n * @param confUIItem\r\n * @param isEditor\r\n * @param displayStyleIfSummary\r\n */\r\n public getFilteredItems(confUIItem: ConfUIItem, isEditor: boolean, filterDisplayStyles: Array, displayStyleIfSummary?: SummaryDisplayStyles): Array {\r\n\r\n // Grab the items where the decorationId defined.\r\n const confUIitems: Array = this.extractDecorationConfUIItems(confUIItem);\r\n\r\n // Filter the confUIItems \r\n const filteredItems = confUIitems.filter(uiItem => this.isValid(uiItem, isEditor, displayStyleIfSummary));\r\n\r\n return filteredItems;\r\n }\r\n\r\n\r\n isGrouped(confUIItem: ConfUIItem): boolean {\r\n return confUIItem instanceof GroupConfUIItem;\r\n }\r\n\r\n\r\n /**\r\n * Validates the decorationCode's visibility by request display style.\r\n * @param codeUIItem\r\n * @param isEditor\r\n * @param summaryDisplayStyle\r\n */\r\n isValid(codeUIItem: ConfUIItem, isEditor: boolean, summaryDisplayStyle: SummaryDisplayStyles): boolean {\r\n\r\n if (isEditor)\r\n return this.isValidForEditor(codeUIItem);\r\n\r\n return this.isValidForSummary(codeUIItem, summaryDisplayStyle);\r\n }\r\n\r\n isValidForEditor(codeUIItem: ConfUIItem): boolean {\r\n\r\n let dec: CodeDecoration = this.getCodeDecoration(codeUIItem.id);\r\n return dec.showInConfigurator\r\n\r\n }\r\n\r\n\r\n /**\r\n * Validates the decorationCode's visibility by request display style for summary page.\r\n * @param codeUIItem\r\n * @param isEditor\r\n * @param summaryDisplayStyle\r\n */\r\n isValidForSummary(codeUIItem: ConfUIItem, summaryDisplayStyle: SummaryDisplayStyles): boolean {\r\n\r\n let dec: CodeDecoration = this.getCodeDecoration(codeUIItem.id);\r\n\r\n return dec.showInSummary && (dec.summaryDisplayStyle == summaryDisplayStyle || dec.summaryDisplayStyle == SummaryDisplayStyles.Both);\r\n\r\n }\r\n\r\n /**\r\n * Return the requested \r\n * @param id\r\n */\r\n getCodeDecoration(id: number): CodeDecoration {\r\n return this.productStore.getEntity(id);\r\n }\r\n\r\n \r\n /**\r\n * Extracts the (s) where the decorationId defined. \r\n * Note! In Editor case we don't support grouping so decorationId would be at root level.\r\n * @param confUIItem\r\n */\r\n public extractDecorationConfUIItems(confUIItem: ConfUIItem): Array {\r\n\r\n // In group case decorationId exists at children level so grab the items where the decorationId defined.\r\n const confUIitems: Array = this.isGrouped(confUIItem) ? confUIItem.items.toArray() : [confUIItem];\r\n\r\n return confUIitems;\r\n }\r\n\r\n\r\n protected get configurationId(): number { return this.storeSession.activeConfigurationId; }\r\n\r\n protected get sessionId(): number { return this.storeSession.confSessionId; }\r\n\r\n abstract getCodeValue(fileId: number): AbstractCodeValue;\r\n\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { AbstractCodeValue, ConfUIItem, CodeDecoration } from \"../../../models\";\r\nimport { ProductDataStore } from \"../../../providers/productData\";\r\nimport { ConfPageSessionService } from \"../../../../configurator/providers\";\r\nimport { BaseCodeValuesProvider } from \"./baseCodeValuesProvider\";\r\n\r\n\r\n@Injectable()\r\nexport class CalculatedCodeValuesProvider extends BaseCodeValuesProvider {\r\n \r\n constructor(public productStore: ProductDataStore, public storeSession: ConfPageSessionService) {\r\n super(productStore, storeSession);\r\n }\r\n\r\n /**\r\n * Returns the by fileId\r\n * @param fileId\r\n */\r\n getCodeValue(fileId: number): AbstractCodeValue {\r\n\r\n let codeValue = this.storeSession.confStore.getConfValue(this.configurationId, this.sessionId, fileId);\r\n return codeValue as AbstractCodeValue;\r\n\r\n }\r\n\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { CalculatedCodeValuesProvider, StoredCodeValuesProvider } from \"..\";\r\nimport { CodeDecorationValuesModel, FileCodeValueModel } from \"../codeDecorationValueModel\";\r\nimport { ConfUIItem, CodeDisplayStyles, CodeDecoration } from \"../../../models\";\r\nimport { SummaryDisplayStyles } from \"../../../../configurator/summary/prices/SummaryDisplayStyle\";\r\nimport * as Immutable from \"immutable\";\r\nimport { ProductDataStore } from \"../../../providers/productData\";\r\nimport { ConfPageSessionService } from \"../../../../configurator/providers\";\r\n\r\n@Injectable()\r\nexport class CodeValueModelBuilder {\r\n\r\n constructor(\r\n public calculatedDataProvider: CalculatedCodeValuesProvider,\r\n public storedDataProvider: StoredCodeValuesProvider,\r\n public productStore: ProductDataStore,\r\n public storeSession: ConfPageSessionService) {\r\n\r\n }\r\n\r\n /**\r\n * Returns the list of values for each decoration. \r\n * Note! if is the instance of then list must contain the multiple decorations models.\r\n * @param confUIItem\r\n * @param isEditor\r\n * @param filterDisplayStyles\r\n */\r\n public build(confUIItem: ConfUIItem, isEditor: boolean, filterDisplayStyles: Array): Immutable.List {\r\n\r\n // Each confUIItem represents one decoration.\r\n let confUIItems = this.calculatedDataProvider.extractDecorationConfUIItems(confUIItem);\r\n\r\n let valueModels: Array = [];\r\n confUIItems.forEach(uiItem => {\r\n \r\n let model = this.createDecorationValueModel(uiItem, isEditor, filterDisplayStyles);\r\n if (model)\r\n valueModels.push(model);\r\n\r\n });\r\n\r\n return Immutable.List(valueModels);\r\n }\r\n\r\n\r\n createDecorationValueModel(uiItem: ConfUIItem, isEditor: boolean, filterDisplayStyles: Array): CodeDecorationValuesModel {\r\n\r\n let decoration = this.productStore.getEntity(uiItem.id);\r\n\r\n if ((isEditor && !decoration.showInConfigurator) || (!isEditor && !decoration.showInSummary))\r\n return;\r\n\r\n const displayStyle = decoration.displayStyle as CodeDisplayStyles;\r\n\r\n // Must match the filter criteria if it is defined.\r\n if (filterDisplayStyles && filterDisplayStyles.indexOf(displayStyle) == -1)\r\n return;\r\n \r\n let model = new CodeDecorationValuesModel();\r\n model.decorationId = uiItem.id;\r\n\r\n // Supported display styles for current decoration.\r\n // In editor mode system only supports calculated but in summary page it could have all possible options.\r\n const valuesDisplayPattern = isEditor ? SummaryDisplayStyles.Calculated : decoration.summaryDisplayStyle as SummaryDisplayStyles;\r\n\r\n\r\n let codeValues = uiItem.items.map(codeUIItem => this.createCodeFileValueModel(codeUIItem, valuesDisplayPattern));\r\n\r\n model.values = Immutable.List(codeValues);\r\n\r\n return model;\r\n }\r\n\r\n createCodeFileValueModel(fileItem: ConfUIItem, displayStyle: SummaryDisplayStyles): FileCodeValueModel {\r\n\r\n let codeValue = new FileCodeValueModel();\r\n\r\n switch (displayStyle) {\r\n\r\n case SummaryDisplayStyles.Calculated:\r\n {\r\n codeValue.calcValue = this.calculatedDataProvider.getCodeValue(fileItem.id);\r\n break;\r\n }\r\n\r\n case SummaryDisplayStyles.Stored:\r\n {\r\n codeValue.storedValue = this.storedDataProvider.getCodeValue(fileItem.id);\r\n break;\r\n }\r\n\r\n case SummaryDisplayStyles.Both:\r\n {\r\n codeValue.calcValue = this.calculatedDataProvider.getCodeValue(fileItem.id);\r\n codeValue.storedValue = this.storedDataProvider.getCodeValue(fileItem.id);\r\n break;\r\n }\r\n }\r\n\r\n\r\n return codeValue;\r\n }\r\n\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { ConfUIItem, AbstractCodeValue } from \"../../../models\";\r\nimport { ProductDataStore } from \"../../../providers/productData\";\r\nimport { SummaryDisplayStyles } from \"../../../../configurator/summary/prices/SummaryDisplayStyle\";\r\nimport { ConfPageSessionService } from \"../../../../configurator/providers\";\r\nimport { BaseCodeValuesProvider } from \"./baseCodeValuesProvider\";\r\n\r\n@Injectable()\r\nexport class StoredCodeValuesProvider extends BaseCodeValuesProvider {\r\n\r\n constructor(public productStore: ProductDataStore, public storeSession: ConfPageSessionService) {\r\n super(productStore, storeSession);\r\n }\r\n\r\n isValid(codeUIItem: ConfUIItem, isEditor: boolean, summaryDisplayStyle: SummaryDisplayStyles): boolean {\r\n\r\n // StoredCodeValues are not supported for Editor.\r\n if (isEditor)\r\n return false;\r\n\r\n return super.isValidForSummary(codeUIItem, summaryDisplayStyle);\r\n }\r\n\r\n\r\n /**\r\n * Returns the \r\n * @param fileId\r\n */\r\n getCodeValue(fileId: number): AbstractCodeValue {\r\n\r\n let conf = this.storeSession.activeConfiguration;\r\n\r\n return conf.storedData.codeValues.find(x => x.longId == fileId);\r\n }\r\n\r\n}","import { Inject, Component, Input, Optional } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\nimport { BaseActionBoxComponent } from \"../..\";\r\n\r\nimport { ConfDataController } from \"../../providers/configurationData\";\r\nimport { ConfiguratorStore, ConfPageSessionService } from \"../../../configurator/providers\";\r\nimport { ModelFactory } from \"../../providers\";\r\nimport { PageStore } from \"../../providers/page/pageStore\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { ConfDocumentValue } from \"../../models/entities/confDocumentValue\";\r\nimport { Conf } from \"../../models/entities/conf\";\r\nimport { RequestViews } from \"../../models/requests/requestViews\";\r\nimport { ConfDocumentRequest } from \"../../models/requests/confDocumentRequest\";\r\nimport { GlobalDataStore } from \"../../providers/globalData/globalDataStore\";\r\nimport { ConfUIItem, DocumentsDecoration, GroupConfUIItem } from \"../../models\";\r\nimport { ProductDataStore } from \"../../providers/productData/productDataStore\";\r\n\r\n@Component({\r\n selector: 'documents-action-box',\r\n templateUrl: './documentsActionBoxComponent.html'\r\n})\r\nexport class DocumentsActionBoxComponent extends BaseActionBoxComponent {\r\n\r\n @Input()\r\n confUIItem: ConfUIItem;\r\n\r\n actionBoxTitle: string;\r\n public documentValues: Array = [];\r\n\r\n constructor(@Optional() @Inject(ConfPageSessionService) public storeSession: ConfPageSessionService,\r\n @Inject(GlobalDataStore) public globalDataStore: GlobalDataStore,\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ModelFactory) public modelFactory: ModelFactory,\r\n @Inject(ConfDataController) public configuratorController: ConfDataController,\r\n @Inject(ProductDataStore) public productStore: ProductDataStore\r\n ) {\r\n super(confStore);\r\n }\r\n\r\n public shouldBeVisible(): boolean {\r\n return this.documentValues && this.documentValues.length > 0 && this.conf != null && this.conf.authorization.canViewDocuments;\r\n }\r\n \r\n public setup(): void {\r\n\r\n if (!this.conf)\r\n return;\r\n\r\n const decoration: DocumentsDecoration = this.productStore.getEntity(this.confUIItem.id);\r\n this.actionBoxTitle = decoration && decoration.title ? decoration.title : this.strings.Documents;\r\n\r\n this.subscribeDataChange();\r\n }\r\n\r\n subscribeDataChange() {\r\n\r\n this.confStore.onConfigurationChange(this.configurationId, this.confSessionId, (conf: Conf) => {\r\n\r\n this.documentValues = [];\r\n\r\n if (!this.storeSession.activeConfiguration.documentValues) {\r\n this.visible = false;\r\n return;\r\n }\r\n\r\n if (this.confUIItem) {\r\n if (this.confUIItem instanceof GroupConfUIItem)\r\n this.confUIItem.items.forEach(decoration => {\r\n this.addDocumentValues(decoration)\r\n });\r\n else\r\n this.addDocumentValues(this.confUIItem);\r\n }\r\n\r\n if (this.documentValues.length > 0)\r\n this.visible = true;\r\n\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n }\r\n\r\n public addDocumentValues(decorationUIItem: ConfUIItem) {\r\n const documentValues = this.storeSession.activeConfiguration.documentValues.toArray();\r\n\r\n decorationUIItem.items.forEach(item => {\r\n const value = documentValues.find(x => x.longId === item.id);\r\n if (value && this.documentValues.findIndex(x => x.longId === value.longId) === -1)\r\n this.documentValues.push(value);\r\n });\r\n }\r\n\r\n public get vaultUrl(): string {\r\n return this.globalDataStore.getGlobalData().webSettings.vaultUrl;\r\n }\r\n\r\n public getDocumentLink(documentId: number): string {\r\n let model: ConfDocumentRequest = this.modelFactory.createAny(ConfDocumentRequest.name) as any;\r\n\r\n model.client = RequestViews.Summary;//this.pageStore.getActiveClientType();\r\n model.documentId = documentId;\r\n model.configurationId = this.configurationId;\r\n model.confSessionId = this.confSessionId;\r\n return this.configuratorController.getConfigurationDocumentUrl(model);\r\n }\r\n}","\r\n
\r\n \r\n
\r\n
","export * from \"./documentsActionBoxComponent\";","import { Inject, Component, Optional, Input } from \"@angular/core\";\r\nimport { BaseActionBoxComponent } from \"../..\";\r\nimport { ConfiguratorStore } from \"../../../configurator/providers\";\r\nimport { ProductDataStore } from \"../../providers/productData\";\r\nimport { CodeDecoration, FormDecoration, RequestViews } from \"../../models\";\r\n\r\n\r\n@Component({\r\n selector: 'form-action-box',\r\n templateUrl: './formActionBoxComponent.html'\r\n})\r\nexport class FormActionBoxComponent extends BaseActionBoxComponent {\r\n\r\n @Input()\r\n formDecoration: FormDecoration;\r\n\r\n actionBoxTitle: string;\r\n\r\n RequestViews = RequestViews;\r\n\r\n constructor(\r\n @Optional() @Inject(ConfiguratorStore) configuratorStore: ConfiguratorStore,\r\n @Inject(ProductDataStore) private productStore: ProductDataStore) {\r\n super(configuratorStore);\r\n }\r\n\r\n public setup(): void {\r\n\r\n let decoration: FormDecoration = this.productStore.getEntity(this.formDecoration.longId);\r\n this.actionBoxTitle = decoration.title ? decoration.title : this.strings.FormDecoration;\r\n \r\n }\r\n\r\n // TODO: Need to remove this\r\n public shouldBeVisible(): boolean {\r\n return true;\r\n }\r\n\r\n}","\r\n \r\n\r\n","export * from \"./formActionBoxComponent\";\r\nexport * from \"./providers/formValueModelBuilder\";","import { Injectable } from \"@angular/core\";\r\nimport { ConfUIItem, CodeDisplayStyles, CodeDecoration, FormDecoration, PageLocation } from \"../../../models\";\r\nimport { SummaryDisplayStyles } from \"../../../../configurator/summary/prices/SummaryDisplayStyle\";\r\nimport * as Immutable from \"immutable\";\r\nimport { ProductDataStore } from \"../../../providers/productData\";\r\nimport { ConfPageSessionService } from \"../../../../configurator/providers\";\r\n\r\n@Injectable()\r\nexport class FormValueModelBuilder {\r\n\r\n constructor(\r\n public productStore: ProductDataStore) {\r\n }\r\n\r\n /**\r\n * Returns the list of values for each decoration. \r\n * Note! if is the instance of then list must contain the multiple decorations models.\r\n * @param confUIItem\r\n * @param isEditor\r\n * @param filterDisplayStyles\r\n */\r\n public build(confUIItem: ConfUIItem, isDecoration: boolean): FormDecoration {\r\n\r\n let decoration = this.productStore.getEntity(confUIItem.id);\r\n\r\n const displayStyle = decoration.pageLocation as PageLocation;\r\n\r\n if (!isDecoration && displayStyle == PageLocation.SummaryNewActionPanel)\r\n return decoration;\r\n\r\n return null;\r\n }\r\n\r\n addFormDecoration(formDecorations: Array, x: ConfUIItem) {\r\n const visualObject = this.productStore.getEntity(x.id);\r\n if (visualObject instanceof FormDecoration) {\r\n formDecorations.push(visualObject);\r\n }\r\n }\r\n\r\n}","import { Inject, Component, Optional, ViewChild, ChangeDetectorRef } from \"@angular/core\";\r\nimport { BaseActionBoxComponent } from \"../..\";\r\nimport { GraphicsDecoration, ConfGraphicsValue, ConfGraphicsRequest, GraphicsDisplayStyle, ConfUIItem } from \"../../models\";\r\nimport { GraphicsPopupComponent } from \"../../../configurator/popups\";\r\n\r\n// MOVE ConfiguratorController TO PAGES/SHARED/PROVIDERS\r\nimport { ConfDataController } from \"../../providers/configurationData\";\r\nimport { ConfiguratorStore, ConfPageSessionService } from \"../../../configurator/providers\";\r\nimport { ProductDataStore } from \"../../providers/productData\";\r\nimport { ModelFactory, RouteNames } from \"../../providers\";\r\nimport { PageStore } from \"../../providers/page/pageStore\";\r\nimport { ImageSets } from \"../../../../shared/utils\";\r\nimport { VisualObjectHelper } from \"../../../configurator/parameters/shared/visualObjectHelper\";\r\n//import { window } from \"d3\";\r\n\r\n@Component({\r\n selector: 'graphics-action-box',\r\n templateUrl: './graphicsActionBoxComponent.html',\r\n providers: [VisualObjectHelper]\r\n})\r\nexport class GraphicsActionBoxComponent extends BaseActionBoxComponent {\r\n\r\n public graphicDecorations: Array;\r\n\r\n @ViewChild(GraphicsPopupComponent)\r\n public graphicsPopup: GraphicsPopupComponent;\r\n\r\n public imageSet: string;\r\n\r\n constructor(\r\n @Optional() @Inject(ConfiguratorStore) configuratorStore: ConfiguratorStore,\r\n @Inject(ProductDataStore) public productStore: ProductDataStore,\r\n @Inject(ConfDataController) public configuratorController: ConfDataController,\r\n @Inject(ConfPageSessionService) public confPageSessionService: ConfPageSessionService,\r\n @Inject(ChangeDetectorRef) public cdr: ChangeDetectorRef,\r\n public modelFactory: ModelFactory,\r\n public pageStore: PageStore\r\n ) {\r\n super(configuratorStore);\r\n }\r\n\r\n public shouldBeVisible(): boolean {\r\n return this.graphicDecorations.length > 0;\r\n }\r\n\r\n public setup(): void {\r\n\r\n this.imageSet = this.getImageSet(ImageSets.SummaryActionDetail);\r\n\r\n this.graphicDecorations = [];\r\n\r\n if (!this.conf)\r\n return;\r\n\r\n if (this.pageStore.activeRouteName == RouteNames.Summary) {\r\n const uiItems: Array = this.confPageSessionService.activeConfiguration.uiItems.filter(uiItem => uiItem.itemName === GraphicsDecoration.name).toArray();\r\n\r\n uiItems.forEach(x => {\r\n\r\n // Note! Grouping is not supported yet for action boxes. We need more work on this part.\r\n const visualObject = this.productStore.getEntity(x.id);\r\n // We only care about render graphics, popup graphic will be shown in side menu.\r\n if (visualObject instanceof GraphicsDecoration && (visualObject.displayStyle === GraphicsDisplayStyle.Popup || visualObject.displayStyle === GraphicsDisplayStyle.OpenInDownloadFormat)) {\r\n // TODO check if visible, this code is copied from DecorationVisibilityService, needs to be combined or something.\r\n if (!visualObject.hideEmptyDecoration || this.configuratorStore.getConfDataEntity(this.configurationId, this.confSessionId, visualObject.visualObjectId).svg)\r\n this.graphicDecorations.push(visualObject);\r\n }\r\n });\r\n }\r\n else if (this.pageStore.activeRouteName == RouteNames.Start) {\r\n\r\n this.configuratorStore.onConfigurationChange(this.configurationId, this.confSessionId, (conf) => {\r\n\r\n if (!conf.graphicsValues)\r\n return;\r\n\r\n this.conf.graphicsValues.forEach(x => {\r\n let graphicValue = this.configuratorStore.getConfDataEntity(this.configurationId, this.confSessionId, x);\r\n\r\n if (graphicValue && graphicValue.graphicsDecoration)\r\n this.graphicDecorations.push(graphicValue.graphicsDecoration);\r\n });\r\n\r\n this.visible = this.graphicDecorations.length > 0;\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n }\r\n }\r\n\r\n public openPopup(decoration: GraphicsDecoration) {\r\n\r\n if (decoration.displayStyle == GraphicsDisplayStyle.OpenInDownloadFormat) {\r\n let model: ConfGraphicsRequest = this.modelFactory.createAny(ConfGraphicsRequest.name) as any;\r\n model.client = this.pageStore.getActiveClientType();\r\n model.fileType = \"SVG\";\r\n model.configurationId = this.configurationId;\r\n model.confSessionId = this.confSessionId;\r\n model.graphicsDecorationId = decoration.visualObjectId;\r\n\r\n window.open(this.configuratorController.getConfigurationGraphicViewerUrl(model));\r\n }\r\n else\r\n this.graphicsPopup.show(decoration, this.configurationId, this.confSessionId);\r\n\r\n return false;\r\n }\r\n\r\n}","\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
","import { Component, Input, Inject, EventEmitter, Output } from \"@angular/core\";\r\nimport { BaseComponent } from \"../..\";\r\nimport { SvgActions } from \"./svgActions\";\r\nimport { ImageSets } from \"../../../../shared/utils\";\r\n\r\n@Component({\r\n selector: 'graphics-icons',\r\n templateUrl: './graphicsControlIconsComponent.html',\r\n})\r\nexport class GraphicsControlIconsComponent extends BaseComponent {\r\n\r\n public imageSet: string;\r\n\r\n @Output()\r\n action = new EventEmitter();\r\n\r\n ngOnInit() {\r\n this.imageSet = this.getImageSet(ImageSets.ConfiguratorDecorationGraphicsControl);\r\n super.ngOnInit();\r\n }\r\n\r\n zoomIn(): void {\r\n this.action.emit(SvgActions.Plus);\r\n }\r\n\r\n reset(): void {\r\n this.action.emit(SvgActions.Reset);\r\n }\r\n\r\n zoomOut(): void {\r\n this.action.emit(SvgActions.Minus);\r\n }\r\n\r\n}","
\r\n
\r\n
\r\n
\r\n
","import { Component, Input, Inject } from \"@angular/core\";\r\n\r\nimport { BaseComponent } from \"../..\";\r\nimport { ConfGraphicsRequest, GraphicsDecoration } from \"../../models\";\r\nimport { ConfPageSessionService } from \"../../../configurator/providers\";\r\nimport { ConfDataController } from \"../../providers/configurationData\";\r\nimport { ModelFactory, RouteNames } from \"../../providers\";\r\nimport { PageStore } from \"../../providers/page/pageStore\";\r\n\r\n@Component({\r\n selector: 'graphics-download',\r\n templateUrl: './graphicsDownloadComponent.html',\r\n})\r\nexport class GraphicsDownloadComponent extends BaseComponent {\r\n\r\n graphics = [];\r\n\r\n @Input()\r\n decoration: GraphicsDecoration;\r\n\r\n @Input()\r\n public imageSet: string;\r\n\r\n @Input()\r\n public confId: number;\r\n\r\n @Input()\r\n public sessionId: number;\r\n\r\n constructor(\r\n @Inject(ConfPageSessionService) public confPageSessionService: ConfPageSessionService,\r\n @Inject(ConfDataController) public configuratorController: ConfDataController,\r\n @Inject(ModelFactory) public modelFactory: ModelFactory,\r\n @Inject(PageStore) public pageStore: PageStore,\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setup();\r\n }\r\n\r\n public setup(): void {\r\n this.graphics.push({ name: \"SVG\", url: this.getGraphicLink(\"SVG\") });\r\n this.graphics.push({ name: \"PNG\", url: this.getGraphicLink(\"PNG\") });\r\n this.graphics.push({ name: \"PDF\", url: this.getGraphicLink(\"PDF\") });\r\n this.graphics.push({ name: \"DXF\", url: this.getGraphicLink(\"DXF\") });\r\n }\r\n\r\n public getGraphicLink(format: string): string {\r\n let model: ConfGraphicsRequest = this.modelFactory.createAny(ConfGraphicsRequest.name) as any;\r\n model.client = this.pageStore.getActiveClientType();\r\n model.fileType = format;\r\n model.configurationId = this.pageStore.activeRouteName == RouteNames.Start ? this.confId : this.confPageSessionService.activeConfigurationId;\r\n model.confSessionId = this.pageStore.activeRouteName == RouteNames.Start ? this.sessionId : this.confPageSessionService.confSessionId;\r\n model.graphicsDecorationId = this.decoration.visualObjectId;\r\n return this.configuratorController.getConfigurationGraphicUrl(model);\r\n }\r\n}","
\r\n \r\n \r\n \r\n\r\n
\r\n \r\n
\r\n
","\r\nimport { Injectable } from \"@angular/core\";\r\nimport { PanZoomConfig } from \"./panZoomConfig\";\r\n\r\n@Injectable()\r\nexport class GraphicsHelper {\r\n\r\n\r\n getZoom(panZoom: PanZoomConfig, nativeElement: any): number {\r\n\r\n const containerWidth: number = nativeElement.offsetWidth;\r\n const containerHeight: number = nativeElement.offsetHeight;\r\n\r\n // Default initial zoom factor if not responsive.\r\n if (!panZoom.responsive || panZoom.realWidth == 0 || containerWidth == 0)\r\n return panZoom.initialZoomFactor;\r\n\r\n let factor = containerWidth / panZoom.realWidth;\r\n\r\n if (!isNaN(panZoom.realHeight) && panZoom.realHeight != 0 && containerHeight != 0 && !isNaN(containerHeight) && containerHeight / panZoom.realHeight < factor)\r\n factor = containerHeight / panZoom.realHeight;\r\n\r\n let level = factor * panZoom.initialZoomFactor;\r\n\r\n return level;\r\n }\r\n\r\n public getPositionCoordates(panZoom: PanZoomConfig, nativeElement: any) {\r\n\r\n let position = panZoom.initialOrigoPosition;\r\n let size = this.visibleHeight(nativeElement);\r\n\r\n if (!panZoom.responsive)\r\n size = nativeElement.getBoundingClientRect() as ClientRect;\r\n\r\n let point = { x: 0, y: 0 }; // Default position, Top left\r\n switch (position) {\r\n case 1: // Top center\r\n point.x = size.width / 2;\r\n point.y = 0;\r\n break;\r\n case 2: // Top right\r\n point.x = size.width\r\n point.y = 0;\r\n break;\r\n case 3: // Center left\r\n point.x = 0;\r\n point.y = size.height / 2;\r\n break;\r\n case 4: // Center\r\n point.x = size.width / 2;\r\n point.y = size.height / 2;\r\n break;\r\n case 5: // Center right\r\n point.x = size.width;\r\n point.y = size.height / 2;\r\n break;\r\n case 6: // Bottom left\r\n point.x = 0;\r\n point.y = size.height;\r\n break;\r\n case 7: // Bottom center\r\n point.x = size.width / 2;\r\n point.y = size.height;\r\n break;\r\n case 8: // Bottom right\r\n point.x = size.width;\r\n point.y = size.height;\r\n break;\r\n }\r\n return point;\r\n }\r\n\r\n visibleHeight(element: any): ClientRect {\r\n\r\n // Working body area height, this area starts below the major header\r\n let scrollableBodyArea = document.getElementsByClassName('scrollable-view')[0];\r\n\r\n // Normal tab, separated tab or any container height including container's header.\r\n let contentsOuterContainer = $(element).closest('separated-tab, normal-tabs');\r\n\r\n // graphics size\r\n let graphicsSize = element.getBoundingClientRect() as ClientRect;\r\n\r\n if (!scrollableBodyArea || !contentsOuterContainer) \r\n return graphicsSize; \r\n\r\n // If the contents exceeds the body area, It means scrollbar is visible.\r\n let hasScrollbar = contentsOuterContainer.outerHeight() > scrollableBodyArea.scrollHeight;\r\n if (!hasScrollbar)\r\n return graphicsSize; \r\n\r\n /* \r\n * ------------------\r\n * |____Top Header___| ___ __________\r\n * | | | | | |\r\n * | | | | | |\r\n * | | | | Body | \r\n * | | | | | |\r\n * | | | | | Tab contents area \r\n * | | | | | |\r\n * -| ------------|- --- |\r\n * | | |\r\n * | | |\r\n * | | |\r\n * ------------- ----------\r\n * \r\n * Note: Visible area is the part of tab contents which are only shown in a body. Graphics alignment must be respected within the visible area.\r\n * There could be more separated tabs in rows, then visible area for the graphics would be with respect to their tabs container where they belong to.\r\n * \r\n */\r\n\r\n // Available area for graphics, Area above the graphics.Y position is not useful for current graphics.\r\n let availableHeight: number = scrollableBodyArea.scrollHeight - graphicsSize.top; \r\n if (hasScrollbar)\r\n return {\r\n height: availableHeight,\r\n left: graphicsSize.left,\r\n top: graphicsSize.top,\r\n width: graphicsSize.width,\r\n bottom: graphicsSize.bottom,\r\n right: graphicsSize.right\r\n } \r\n \r\n return graphicsSize;\r\n }\r\n\r\n}","import { Component, Input, Inject, EventEmitter, ElementRef, ViewChild, HostListener, Output, SimpleChanges } from \"@angular/core\";\r\nimport { BaseComponent } from \"../..\";\r\nimport { ConfGraphicsValue, GraphicsDecoration, ConfValue, LookupParam, ConfLookupValue, ParamValue, Tab, GraphicsDisplayStyle, ConfGraphicsRequest, RequestViews, EventType } from \"../../models\";\r\nimport { GlobalDataStore } from \"../../providers/globalData\";\r\nimport { ConfPageSessionService, ConfiguratorStore } from \"../../../configurator/providers\";\r\nimport { ProductDataStore } from \"../../providers/productData\";\r\nimport { GraphicsHelper } from \"./graphicsHelper\";\r\nimport { PanZoomConfig } from \"./panZoomConfig\";\r\nimport { EmitterService } from \"../../../configurator/shared\";\r\nimport { SvgActions } from \"./svgActions\";\r\nimport { VisualObjectHelper } from \"../../../configurator/parameters/shared\";\r\nimport { PageStore } from \"../../providers/page\";\r\nimport { RouteNames, ModelFactory } from \"../../providers\";\r\nimport { ConfDataController } from \"../../providers/configurationData\";\r\nimport { HttpService } from \"../../../../shared/providers\";\r\n\r\n@Component({\r\n selector: 'graphics-renderer',\r\n templateUrl: './graphicsRendererComponent.html',\r\n})\r\nexport class GraphicsRendererComponent extends BaseComponent {\r\n\r\n public svg: string = \"\";\r\n\r\n public containerStyle: CSSStyleDeclaration;\r\n public isSummary = false;\r\n\r\n protected previousWidth = window.innerWidth;\r\n protected previousScale = 1;\r\n protected firstCall = true;\r\n\r\n public config: PanZoomConfig;\r\n\r\n @Input()\r\n width: string;\r\n\r\n @Input()\r\n height: string;\r\n\r\n calcHeight: number;\r\n\r\n @Input()\r\n paddingLeft: number = 0;\r\n\r\n @Input()\r\n paddingTop: number = 0;\r\n\r\n @Input()\r\n decoration: GraphicsDecoration;\r\n\r\n @Input()\r\n public confId: number;\r\n\r\n @Input()\r\n public sessionId: number;\r\n\r\n @ViewChild('container')\r\n public container: ElementRef;\r\n\r\n // Events\r\n mouseDownMS: number;\r\n lastClickMS: number;\r\n initialMouseX: number;\r\n initialMouseY: number;\r\n\r\n lastTouchX: number = NaN;\r\n lastTouchY: number = NaN;\r\n\r\n selectedElement: any;\r\n offset: any;\r\n\r\n lastDx: number;\r\n lastDy: number;\r\n scale: number;\r\n panX: number;\r\n panY: number;\r\n\r\n constructor(\r\n @Inject(ConfPageSessionService) public confPageSessionService: ConfPageSessionService,\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(GlobalDataStore) public globalDataStore: GlobalDataStore,\r\n @Inject(ProductDataStore) public productStore: ProductDataStore,\r\n @Inject(GraphicsHelper) public graphicsHelper: GraphicsHelper,\r\n @Inject(PageStore) public pageStore: PageStore,\r\n @Inject(VisualObjectHelper) public visualObjectHelper: VisualObjectHelper,\r\n @Inject(ModelFactory) public modelFactory: ModelFactory,\r\n @Inject(ConfDataController) public configuratorController: ConfDataController,\r\n @Inject(HttpService) public httpService: HttpService,\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.isSummary = this.pageStore.activeRouteName === RouteNames.Summary;\r\n this.config =\r\n {\r\n identifier: this.decoration.longId,\r\n initialOrigoPosition: this.decoration.initialOrigoPosition,\r\n initialX: this.decoration.initialOffsetX + this.paddingLeft,\r\n initialY: this.decoration.initialOffsetY + this.paddingTop,\r\n initialZoomFactor: this.decoration.initialZoomFactor || 1,\r\n responsive: this.decoration.responsiveSize,\r\n realWidth: this.decoration.width,\r\n realHeight: this.decoration.height\r\n } as PanZoomConfig;\r\n\r\n this.updateStyles();\r\n }\r\n\r\n getURL(): string {\r\n\r\n let model: ConfGraphicsRequest = this.modelFactory.createAny(ConfGraphicsRequest.name) as any;\r\n model.client = this.pageStore.getActiveClientType();\r\n model.fileType = \"svg\";\r\n model.configurationId = this.confId;\r\n model.confSessionId = this.pageStore.activeRouteName == RouteNames.Start ? this.sessionId : this.confPageSessionService.confSessionId;\r\n model.graphicsDecorationId = this.decoration.visualObjectId;\r\n return this.configuratorController.getConfigurationGraphicUrl(model);\r\n }\r\n\r\n init(): void {\r\n\r\n // TODO: Need to improve this part, sessionId must be passed through arguments, this method won't work if it is called while viewing the graphics from start page.\r\n let value = this.confStore.getConfDataEntity(this.confId, this.confPageSessionService.confSessionId, this.decoration.visualObjectId);\r\n\r\n if (value)\r\n this.svg = value.svg;\r\n\r\n this.updateHtml();\r\n if (this.firstCall) {\r\n this.firstCall = false;\r\n setTimeout(() => { this.emitterService.send(SvgActions.Render, this.config.identifier); }, 0);\r\n }\r\n else\r\n this.emitterService.send(SvgActions.Render, this.config.identifier);\r\n\r\n setTimeout(() => {\r\n this.BindSvgEvents();\r\n }, 0);\r\n }\r\n\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event) {\r\n this.updateStyles();\r\n }\r\n\r\n protected updateStyles() {\r\n\r\n this.containerStyle = {} as CSSStyleDeclaration;\r\n\r\n if (this.decoration.responsiveSize) {\r\n\r\n if (this.decoration.height && this.visualObjectHelper.isVisualObjectInAccordion(this.decoration))\r\n this.containerStyle.height = `${this.decoration.height}px`;\r\n\r\n this.containerStyle.width = '100%';\r\n\r\n }\r\n else {\r\n\r\n this.containerStyle.maxWidth = this.isSummary || this.decoration.displayStyle === GraphicsDisplayStyle.Popup ? '100%' : this.visualObjectHelper.visualObjectWidth(this.decoration);\r\n this.containerStyle.width = '100%';\r\n\r\n if (this.decoration.height && this.decoration.displayStyle !== GraphicsDisplayStyle.Popup)\r\n this.containerStyle.height = `${this.decoration.height}px`;\r\n\r\n }\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.decoration.displayStyle == GraphicsDisplayStyle.Render)\r\n this.confStore.onConfGraphicValueChange(this.confId, this.confPageSessionService.confSessionId, this.decoration.visualObjectId, (graphic => {\r\n this.init();\r\n })).unsubscribeOn(this.unsubscribeSubject)\r\n else if (this.decoration.displayStyle == GraphicsDisplayStyle.Popup) {\r\n // make call to server\r\n let url = this.getURL();\r\n\r\n this.httpService.readContents(url).then(data => {\r\n\r\n this.svg = data;\r\n this.updateHtml();\r\n this.emitterService.send(SvgActions.Render, this.config.identifier);\r\n });\r\n }\r\n }\r\n\r\n public updateHtml() {\r\n if (this.container) {\r\n\r\n if (this.svg) {\r\n\r\n // Append unique id to toplevel and composite graphic to make it function properly. (match IDs like \"topLevel\", \"CompositeGraphic\", \"PG[0-9]\")\r\n let uniquenessRegex = /(svg|use|symbol) ((href|id)=\\\"#?(topLevel|CompositeGraphic|PG\\d[^\\\"]+))/g;\r\n let uniqueSvg = this.svg.replace(uniquenessRegex, \"$&_\" + this.decoration.longId /* Use longId to make sure its unique for clones */);\r\n this.container.nativeElement.innerHTML = uniqueSvg;\r\n\r\n }\r\n else {\r\n this.container.nativeElement.innerHTML = \"\";\r\n }\r\n\r\n }\r\n }\r\n\r\n svgControlIconsAction(event): void {\r\n this.emitterService.send(event, this.config.identifier);\r\n }\r\n\r\n // Svg events\r\n public BindSvgEvents() {\r\n // TODO: Unbind necessary?\r\n\r\n if (this.confPageSessionService.activeRoute != RouteNames.Editor)\r\n return;\r\n\r\n // Listen for custom svg events\r\n let baseSvgElement = this.container.nativeElement.firstElementChild;\r\n\r\n baseSvgElement.addEventListener('custommousedown', (event) => {\r\n this.startDrag(event);\r\n });\r\n\r\n baseSvgElement.addEventListener('customclick', (event) => {\r\n this.attributeClicked(event);\r\n });\r\n\r\n // Workaround for when touch move get cancelled when applying a transformation to the dragged element, also requires a touch move listener on the base svg.\r\n baseSvgElement.addEventListener('custommove', (event) => {\r\n if (event?.detail?.clientX) {\r\n this.drag(event);\r\n }\r\n }, { passive: true } as AddEventListenerOptions);\r\n\r\n baseSvgElement.addEventListener('custommoveend', (event) => {\r\n this.endDrag(event);\r\n }, { passive: true } as AddEventListenerOptions);\r\n\r\n baseSvgElement.onmousedown = (e) => this.onMouseDown(e);\r\n baseSvgElement.addEventListener('ontouchstart', (e) => this.onMouseDown(e), { passive: true } as AddEventListenerOptions);\r\n baseSvgElement.ontouchend = (e) => this.endDrag(e);\r\n baseSvgElement.onmouseup = (e) => this.endDrag(e);\r\n baseSvgElement.onmousemove = (e) => this.drag(e);\r\n baseSvgElement.addEventListener('touchmove', (e) => this.drag(e), { passive: true } as AddEventListenerOptions);\r\n }\r\n\r\n public onMouseDown($event): void {\r\n this.mouseDownMS = Date.now();\r\n this.initialMouseX = $event.clientX;\r\n this.initialMouseY = $event.clientY;\r\n }\r\n\r\n public attributeClicked($event): void {\r\n if (Date.now() - this.lastClickMS < 500)\r\n return;\r\n\r\n this.lastClickMS = Date.now();\r\n\r\n if (!this.isClickValid($event))\r\n return;\r\n\r\n if ($event.target) {\r\n let target = $event.target;\r\n\r\n let argument = target?.getAttribute(\"click-attribute\");\r\n let symbolId = +target?.getAttribute(\"symbol-id\");\r\n let graphicsConfId = +target?.getAttribute(\"conf-id\");\r\n\r\n this.emitterService.send(SvgActions.SetZoom, this.config.identifier);\r\n\r\n if (argument) {\r\n let json = JSON.stringify({ argument: argument });\r\n\r\n this.confStore.javaScriptAction(graphicsConfId, this.confPageSessionService.confSessionId, EventType.Clicked, symbolId, json, RequestViews.Editor);\r\n }\r\n }\r\n }\r\n\r\n public startDrag($event) {\r\n if (this.selectedElement)\r\n return;\r\n\r\n this.onMouseDown($event);\r\n\r\n let target = $event.target;\r\n\r\n if (!target)\r\n return;\r\n\r\n this.selectedElement = target;\r\n this.offset = null;\r\n\r\n this.emitterService.send(SvgActions.DisablePan, this.config.identifier);\r\n }\r\n\r\n public drag($event) {\r\n if (this.selectedElement) {\r\n if (!this.offset) {\r\n this.offset = this.getMousePosition($event);\r\n return;\r\n }\r\n\r\n var coord = this.getMousePosition($event);\r\n var dx = coord.x - this.offset.x;\r\n var dy = coord.y - this.offset.y;\r\n\r\n this.scale = this.container.nativeElement.firstElementChild.lastElementChild.transform.baseVal[0].matrix.a;\r\n this.panX = this.container.nativeElement.firstElementChild.lastElementChild.transform.baseVal[0].matrix.e;\r\n this.panY = this.container.nativeElement.firstElementChild.lastElementChild.transform.baseVal[0].matrix.f;\r\n\r\n this.lastDx = dx / this.scale;\r\n this.lastDy = dy / this.scale;\r\n\r\n if (this.selectedElement) {\r\n // Apply transformation to the last nested element\r\n let elems = this.container.nativeElement.querySelectorAll(\"#\" + this.selectedElement.id);\r\n if (elems.length > 0)\r\n elems[elems.length - 1].setAttribute(\"transform\", `translate(${this.lastDx}, ${this.lastDy})`);\r\n }\r\n }\r\n }\r\n\r\n public endDrag($event) {\r\n if (!this.selectedElement)\r\n return;\r\n\r\n if (!this.isClickValid($event) && this.isDragValid()) {\r\n let argument = this.selectedElement.getAttribute(\"click-attribute\");\r\n\r\n let symbolId = +this.selectedElement.getAttribute(\"symbol-id\");\r\n\r\n let graphicsConfId = +this.selectedElement.getAttribute(\"conf-id\");\r\n\r\n this.lastClickMS = Date.now();\r\n\r\n let getZeroIfNan = (x) => isNaN(x) ? 0 : x; \r\n\r\n let json = JSON.stringify({ argument: argument, dx: getZeroIfNan(this.lastDx), dy: getZeroIfNan(this.lastDy) });\r\n\r\n this.confStore.javaScriptAction(graphicsConfId, this.confPageSessionService.confSessionId, EventType.Dropped, symbolId, json, RequestViews.Editor);\r\n }\r\n\r\n this.selectedElement = false;\r\n\r\n this.emitterService.send(SvgActions.EnablePan, this.config.identifier);\r\n\r\n this.emitterService.send(SvgActions.SetZoom, this.config.identifier);\r\n }\r\n\r\n // Svg events helper methods\r\n private isDragValid(): boolean {\r\n\r\n let clickTime = new Date().getTime() - this.mouseDownMS;\r\n\r\n if (clickTime > 300)\r\n return true;\r\n\r\n if (this.offset)\r\n this.restorePosition();\r\n return false;\r\n }\r\n\r\n private restorePosition() {\r\n this.drag({ clientX: this.initialMouseX, clientY: this.initialMouseY });\r\n }\r\n\r\n private isClickValid($event): boolean {\r\n\r\n let clickTime = new Date().getTime() - this.mouseDownMS;\r\n let xDelta = 0;\r\n let yDelta = 0;\r\n\r\n if ($event.clientX) {\r\n xDelta = Math.abs(this.initialMouseX - $event.clientX);\r\n yDelta = Math.abs(this.initialMouseY - $event.clientY);\r\n }\r\n else if (!isNaN(this.lastTouchX)) {\r\n xDelta = Math.abs(this.initialMouseX - this.lastTouchX);\r\n yDelta = Math.abs(this.initialMouseY - this.lastTouchY);\r\n\r\n this.lastTouchX = NaN;\r\n this.lastTouchY = NaN;\r\n }\r\n\r\n if (clickTime > 500 || xDelta > 2 || yDelta > 2)\r\n return false;\r\n else\r\n return true;\r\n }\r\n\r\n private getMousePosition($event) {\r\n let CTM = this.container.nativeElement.children[0].getScreenCTM();\r\n if ($event.touches) { $event = $event.touches[0]; }\r\n if ($event.detail) { $event = $event.detail; }\r\n return {\r\n x: ($event.clientX - CTM.e) / CTM.a,\r\n y: ($event.clientY - CTM.f) / CTM.d\r\n };\r\n }\r\n}","\r\n
","export * from \"./graphicsDownloadComponent\";\r\nexport * from \"./graphicsRendererComponent\";\r\nexport * from \"./graphicsActionBoxComponent\";\r\nexport * from \"./graphicsHelper\";\r\nexport * from \"./graphicsControlIconsComponent\";\r\nexport * from \"./panZoomConfig\";\r\nexport * from \"./svgPanZoomDirective\";\r\n\r\n\r\n","export enum SvgActions {\r\n Reset = 'reset',\r\n Plus = 'plus',\r\n Minus = 'minus',\r\n Render = 'render',\r\n SetZoom = 'setZoom',\r\n ClearZoom = 'clearZoom',\r\n DisablePan = 'disablePan',\r\n EnablePan = 'enablePan'\r\n}","import { Directive, Component, NgZone, EventEmitter, ViewChild, ElementRef, ViewContainerRef, Input, HostListener } from \"@angular/core\";\r\nimport { PanZoomConfig } from \"./panZoomConfig\";\r\nimport { EmitterService, IEmitDataInfo } from \"../../../configurator/shared\";\r\nimport { SvgActions } from \"./svgActions\";\r\nimport { ManagedSubscription } from \"../../../../shared/managedSubscription\";\r\nimport { GraphicsHelper } from \"./graphicsHelper\";\r\nimport { BrowserInfo } from \"../../../../shared/utils\";\r\nimport { GlobalServiceLocator } from \"../../../../shared/providers\";\r\nimport { GlobalDataStore } from \"../../providers/globalData\";\r\nvar svgPanZoom = require('svg-pan-zoom');\r\n\r\n@Directive({\r\n selector: '[panZoom]'\r\n})\r\nexport class SvgPanZoomDirective {\r\n\r\n @Input()\r\n public panZoom: PanZoomConfig;\r\n\r\n private panZoomTiger: any;\r\n private subscription: ManagedSubscription;\r\n\r\n private autoBehavior = false;\r\n private zoom;\r\n\r\n constructor(private container: ElementRef, private emitterService: EmitterService, private graphicsHelper: GraphicsHelper, public browserInfo: BrowserInfo) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.autoBehavior = this.panZoom.responsive;\r\n\r\n this.subscription = this.emitterService.getMessage().subscribe((x: IEmitDataInfo) => {\r\n\r\n if (this.panZoom.identifier != x.tag || !this.panZoomTiger && x.id != SvgActions.Render)\r\n return;\r\n\r\n switch (x.id) {\r\n\r\n case SvgActions.SetZoom:\r\n this.zoom = this.container?.nativeElement?.querySelector(\"#allSymbols\")?.getCTM()?.a;\r\n break;\r\n\r\n case SvgActions.ClearZoom:\r\n this.resetZoomAndAutoBehavior();\r\n break;\r\n\r\n case SvgActions.Render:\r\n this.init();\r\n break;\r\n\r\n case SvgActions.DisablePan:\r\n this.panZoomTiger.disablePan();\r\n break;\r\n\r\n case SvgActions.EnablePan:\r\n this.panZoomTiger.enablePan();\r\n break;\r\n\r\n case SvgActions.Reset:\r\n this.panZoomTiger.newPosition = null;\r\n this.resetSvg();\r\n break;\r\n\r\n case SvgActions.Plus:\r\n this.panZoomTiger.zoomIn();\r\n\r\n // Sets initial origo position after zoom action\r\n if (!this.autoBehavior)\r\n this.panZoomTiger.pan(this.initialPosition);\r\n break;\r\n\r\n case SvgActions.Minus:\r\n this.panZoomTiger.zoomOut();\r\n\r\n // Sets initial origo position after zoom action\r\n if (!this.autoBehavior)\r\n this.panZoomTiger.pan(this.initialPosition);\r\n break;\r\n\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n protected init(): void {\r\n\r\n let zoomFactor = this.panZoomTiger ? this.panZoomTiger.getZoom() : this.graphicsHelper.getZoom(this.panZoom, this.container.nativeElement);\r\n let oldPosition = this.panZoomTiger ? this.panZoomTiger.getPan() : this.initialPosition;\r\n\r\n if (this.zoom) {\r\n this.autoBehavior = false;\r\n zoomFactor = this.zoom;\r\n }\r\n\r\n this.disposePanZoom();\r\n\r\n if (!this.container.nativeElement.firstElementChild || this.container.nativeElement.firstElementChild.childElementCount === 0) {\r\n this.resetZoomAndAutoBehavior();\r\n return;\r\n }\r\n\r\n // Let pan zoom pan and zoom by itself, or use the old setting decided by uisettings, pan zoom auto behavior (true) or existing behavior\r\n this.panZoomTiger = svgPanZoom(this.container.nativeElement.firstElementChild,\r\n {\r\n fit: this.autoBehavior,\r\n zoomEnabled: true,\r\n center: this.autoBehavior,\r\n minZoom: 0.01,\r\n customEventsHandler: {\r\n\r\n init: function (options) {\r\n\r\n this.listeners = {\r\n\r\n // Triggers when mouse up.\r\n click: function () {\r\n\r\n // This new position must be used when resizing.\r\n options.instance.newPosition = options.instance.getPan();\r\n\r\n }\r\n }\r\n\r\n for (let eventName in this.listeners) {\r\n options.svgElement.addEventListener(eventName, this.listeners[eventName])\r\n }\r\n }\r\n , destroy: function (options) {\r\n for (let eventName in this.listeners) {\r\n options.svgElement.removeEventListener(eventName, this.listeners[eventName])\r\n }\r\n }\r\n }\r\n\r\n });\r\n\r\n if (!this.autoBehavior) {\r\n this.panZoomTiger.zoom(zoomFactor);\r\n this.panZoomTiger.pan(oldPosition);\r\n this.panZoomTiger.newPosition = oldPosition;\r\n\r\n // Reset the auto behavior if disabled due to a graphics action\r\n this.resetZoomAndAutoBehavior();\r\n }\r\n\r\n // Set to visibible after applying pan zoom\r\n this.container.nativeElement.style.opacity = 1;\r\n\r\n }\r\n\r\n private resetZoomAndAutoBehavior(): void {\r\n this.autoBehavior = this.panZoom.responsive;\r\n this.zoom = null;\r\n }\r\n\r\n protected resetSvg(): void {\r\n if (!this.panZoomTiger)\r\n return;\r\n\r\n this.resetZoomAndAutoBehavior();\r\n\r\n if (this.autoBehavior) {\r\n this.panZoomTiger.resize(); // update SVG cached size and controls positions\r\n this.panZoomTiger.fit();\r\n this.panZoomTiger.center();\r\n }\r\n else {\r\n let zoomFactor = this.graphicsHelper.getZoom(this.panZoom, this.container.nativeElement);\r\n this.panZoomTiger.zoom(zoomFactor);\r\n this.panZoomTiger.pan(this.initialPosition);\r\n }\r\n\r\n }\r\n\r\n get initialPosition() {\r\n\r\n // Return new active position.\r\n if (this.panZoomTiger && this.panZoomTiger.newPosition)\r\n return this.panZoomTiger.newPosition;\r\n\r\n // Default position.\r\n let intialOrigoPosition = this.graphicsHelper.getPositionCoordates(this.panZoom, this.container.nativeElement);\r\n return { x: intialOrigoPosition.x + this.panZoom.initialX, y: intialOrigoPosition.y + this.panZoom.initialY };\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event) {\r\n this.resetSvg();\r\n }\r\n\r\n ngOnDestroy() {\r\n\r\n if (this.subscription)\r\n this.subscription.unsubscribe();\r\n\r\n this.disposePanZoom();\r\n }\r\n\r\n // Causes performance issues if not disposed of manually\r\n public disposePanZoom() {\r\n if (this.panZoomTiger) {\r\n this.panZoomTiger.destroy();\r\n delete this.panZoomTiger;\r\n }\r\n }\r\n\r\n}","import { Component, Inject, ViewEncapsulation, ViewChild, ElementRef, HostListener } from '@angular/core';\r\n\r\nimport { BaseComponent } from \"../..\";\r\nimport { RouteRedirector, RouteNames, ApplicationLifeCycleService } from \"../../providers\";\r\nimport { AccountDataStore } from \"../../providers/accountData\";\r\nimport { GlobalDataStore } from '../../providers/globalData';\r\nimport { ImageSets } from '../../../../shared/utils';\r\n\r\n@Component({\r\n selector: 'top-header',\r\n templateUrl: './headerComponent.html'\r\n})\r\nexport class HeaderComponent extends BaseComponent {\r\n\r\n public links: any[];\r\n public logoType: string;\r\n public imageSet: string;\r\n public maxWidth: string;\r\n public iconsImageSet: string;\r\n public showSecondLogo: boolean = false;\r\n public logoTypeSecondLogo: string;\r\n public imageSetSecondLogo: string;\r\n public maxWidthSecondLogo: string;\r\n\r\n public canViewHeader: boolean = false;\r\n\r\n @ViewChild('navbarToggler')\r\n public navbarTogglerElement: ElementRef;\r\n\r\n @ViewChild('navbarSupportedContent')\r\n public navbarElement: ElementRef;\r\n\r\n @ViewChild('topHeader')\r\n protected topHeader: ElementRef;\r\n\r\n constructor(\r\n @Inject(RouteRedirector) public routeRedirector: RouteRedirector,\r\n @Inject(GlobalDataStore) public globalDataStore: GlobalDataStore,\r\n public applicationLifeCycleService: ApplicationLifeCycleService,\r\n public accountDataStore: AccountDataStore\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n\r\n // Read logo type & image set.\r\n this.logoType = this.uiSettings.appHeader.logoType; \r\n this.imageSet = this.uiSettings.appHeader.imageSet;\r\n this.maxWidth = this.uiSettings.appHeader.maxWidth;\r\n\r\n this.showSecondLogo = this.uiSettings.appHeader.showSecondLogo;\r\n this.logoTypeSecondLogo = this.uiSettings.appHeader.logoTypeSecondLogo;\r\n this.imageSetSecondLogo = this.uiSettings.appHeader.imageSetSecondLogo;\r\n this.maxWidthSecondLogo = this.uiSettings.appHeader.maxWidthSecondLogo;\r\n\r\n this.iconsImageSet = this.getImageSet(ImageSets.MainMenu);\r\n\r\n this.canViewHeader = false;\r\n if (this.accountDataStore && this.accountDataStore.getUser()) {\r\n this.canViewHeader = this.accountDataStore.getUser().systemAuthorization.canViewWebAppHeader;\r\n } \r\n\r\n if (this.canViewHeader) {\r\n\r\n this.populateLinks();\r\n // On user update we need to re-populate the links, so that localization changes take effect\r\n this.applicationLifeCycleService.onUserUpdated((user) => {\r\n\r\n this.populateLinks();\r\n\r\n });\r\n\r\n }\r\n }\r\n\r\n public populateLinks() {\r\n\r\n this.links = [];\r\n\r\n if (!this.visible || !this.accountDataStore.getUser().systemAuthorization.canViewWebAppHeader)\r\n return;\r\n\r\n if (this.globalDataStore.getGlobalData().globalSettings.webMainMenuStart)\r\n this.links.push({\r\n routerLink: \"start\",\r\n routerLinkActive: 'active',\r\n imageName: 'home',\r\n imageType: 'svg',\r\n text: this.strings.Home,\r\n tooltip: ''\r\n });\r\n\r\n if (this.globalDataStore.getGlobalData().globalSettings.webMainMenuCreate)\r\n this.links.push({\r\n routerLink: \"selector\",\r\n routerLinkActive: 'active',\r\n imageName: 'create',\r\n imageType: 'svg',\r\n text: this.strings.Create,\r\n tooltip: ''\r\n });\r\n\r\n if (this.globalDataStore.getGlobalData().globalSettings.webMainMenuSearch)\r\n this.links.push({\r\n routerLink: \"search\",\r\n routerLinkActive: 'active',\r\n imageName: 'search',\r\n imageType: 'svg',\r\n text: this.strings.Search,\r\n tooltip: ''\r\n });\r\n\r\n if (this.globalDataStore.getGlobalData().globalSettings.webMainMenuSettings)\r\n this.links.push({\r\n routerLink: \"settings\",\r\n routerLinkActive: 'active',\r\n imageName: 'setting',\r\n imageType: 'svg',\r\n text: this.strings.Settings,\r\n tooltip: ''\r\n });\r\n\r\n if (this.globalDataStore.getGlobalData().globalSettings.webMainMenuLogout)\r\n this.links.push({\r\n routerLink: \"logout\",\r\n routerLinkActive: 'active',\r\n imageName: 'logout',\r\n imageType: 'svg',\r\n text: this.strings.Logout,\r\n tooltip: ''\r\n });\r\n }\r\n\r\n public get visible(): boolean { \r\n return this.accountDataStore.isUserLoggedIn();\r\n }\r\n\r\n public navigate(routerLink: string): boolean {\r\n\r\n if (!this.accountDataStore.getUser().systemAuthorization.canViewWebAppHeader) {\r\n this.routeRedirector.redirect([RouteNames.Logout]);\r\n return false;\r\n }\r\n\r\n // Close the navbar \r\n this.closeNavbarMenu();\r\n\r\n this.routeRedirector.redirect([routerLink]);\r\n\r\n return false;\r\n }\r\n\r\n @HostListener('window:click', ['$event'])\r\n onClick(event: MouseEvent) {\r\n // Close the menu if the click was outside top-header, but don't close it if the animation has not finished yet. (When the animation is running, it adds the class \"collapsing\")\r\n if (this.topHeader && !event.composedPath().includes(this.topHeader.nativeElement) && !this.navbarElement.nativeElement.className.includes(\"collapsing\")) {\r\n this.closeNavbarMenu();\r\n }\r\n }\r\n\r\n public closeNavbarMenu(): void {\r\n this.navbarElement.nativeElement.className = this.navbarElement.nativeElement.className.replace(\"show\", \"\");\r\n if (this.navbarTogglerElement && !this.navbarTogglerElement.nativeElement.className.includes(\"collapsed\"))\r\n this.navbarTogglerElement.nativeElement.className += \" collapsed\";\r\n }\r\n}","","export * from './actionBox';\r\nexport * from './graphics';\r\nexport * from './list';\r\nexport * from './pager';\r\nexport * from './revisions';\r\nexport * from './shared';\r\nexport * from './states';\r\nexport * from './visualObjectIcon';\r\nexport * from './reports';\r\nexport * from './attachments';\r\nexport * from './changePassword';\r\nexport * from './autoComplete';\r\nexport * from './documents';\r\n","//import { ImmutableObject } from \"../../../../shared/immutableObject\";\r\n//import * as Immutable from \"immutable\";\r\n\r\nexport abstract class BaseListModel /*extends ImmutableObject */{\r\n\r\n public static readonly TITLE = \"title\";\r\n public static readonly ICON = \"icon\";\r\n public static readonly CLASSES = \"classes\";\r\n public static readonly IMAGE_SET = \"imageSet\";\r\n public static readonly EMPTY_VALUE_TEXT = \"emptyValueText\";\r\n public static readonly IS_PRINT_VIEW = \"isPrintView\"; \r\n public static readonly IS_VAULT_ICON = \"isVaultIcon\"; \r\n public static readonly SHOW_ICON_ONLY = \"showIconOnly\"; \r\n\r\n public readonly title: string;\r\n setTitle(title: string): this {\r\n return this.setInternalProperty(BaseListModel.TITLE, title); \r\n }\r\n\r\n public readonly icon: string;\r\n setIcon(icon: string): this {\r\n return this.setInternalProperty(BaseListModel.ICON, icon); \r\n }\r\n\r\n public readonly classes: string;\r\n setClasses(classes: string): this {\r\n return this.setInternalProperty(BaseListModel.CLASSES, classes); \r\n }\r\n\r\n public readonly imageSet: string;\r\n setImageSet(imageSet: string): this {\r\n return this.setInternalProperty(BaseListModel.IMAGE_SET, imageSet); \r\n }\r\n\r\n public readonly emptyValueText: string;\r\n setEmptyValueText(emptyValueText: string): this {\r\n return this.setInternalProperty(BaseListModel.EMPTY_VALUE_TEXT, emptyValueText); \r\n } \r\n\r\n public readonly isPrintView: boolean;\r\n setIsPrintView(isPrintView: boolean): this {\r\n return this.setInternalProperty(BaseListModel.IS_PRINT_VIEW, isPrintView);\r\n } \r\n\r\n public readonly isVaultIcon: boolean;\r\n setIsVaultIcon(isVaultIcon: boolean): this {\r\n return this.setInternalProperty(BaseListModel.IS_VAULT_ICON, isVaultIcon);\r\n } \r\n\r\n public readonly showIconOnly: boolean;\r\n setShowIconOnly(showIconOnly: boolean): this {\r\n return this.setInternalProperty(BaseListModel.SHOW_ICON_ONLY, showIconOnly);\r\n } \r\n\r\n protected setInternalProperty(propertyName: string, propertyValue: any) {\r\n\r\n let newObject = new (this).constructor();\r\n newObject = Object.assign(this, newObject);\r\n\r\n delete newObject[propertyName];\r\n\r\n Object.defineProperty(newObject, propertyName, {\r\n value: propertyValue,\r\n writable: false\r\n });\r\n\r\n return newObject;\r\n\r\n }\r\n}","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { ImageModule } from \"../../../../shared/components/image\";\r\nimport { ListComponent } from \"./listComponent\";\r\nimport { ListItemComponent } from \"./listItemComponent\";\r\nimport { VisualObjectIconModule } from \"../visualObjectIcon\";\r\nimport { SafeHtmlModule } from \"../../../../shared/utils/pipes\";\r\n\r\nexport * from \"./listItemModel\";\r\nexport * from \"./listModel\";\r\nexport * from \"./listComponent\";\r\nexport * from \"./listItemComponent\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule, \r\n ImageModule,\r\n VisualObjectIconModule,\r\n SafeHtmlModule\r\n \r\n ],\r\n declarations: [\r\n ListComponent,\r\n ListItemComponent\r\n ],\r\n providers: [ \r\n\r\n ],\r\n exports: [\r\n ListComponent,\r\n ListItemComponent\r\n ]\r\n})\r\nexport class ListModule {\r\n\r\n}","import { Component, Input, Output, EventEmitter, ViewChild, ElementRef, ChangeDetectorRef } from '@angular/core';\r\nimport { BaseComponent } from \"../..\";\r\nimport { ListModel } from \"./listModel\";\r\nimport { ChangeDetectionStrategy } from '@angular/core';\r\nimport { ImageSets } from '../../../../shared/utils/imageSets';\r\nimport { PopoverService } from '../../../../shared/components/popover/popoverService';\r\nimport { PopperConfig } from '../../../../shared/components';\r\n\r\n@Component({\r\n selector: 'list',\r\n templateUrl: './listComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ListComponent extends BaseComponent {\r\n\r\n @ViewChild(\"listDiv\") listDiv: ElementRef;\r\n\r\n @Output()\r\n helpIconClicked = new EventEmitter();\r\n\r\n @Input()\r\n public list: ListModel;\r\n\r\n public imageSet: string;\r\n public isOpened = false;\r\n public helpIconWidth = null;\r\n public helpIconHeight = null;\r\n\r\n constructor(public popoverService: PopoverService, public cdr: ChangeDetectorRef) {\r\n super();\r\n\r\n let paramUISettings = this.uiSettings.configurator.parameter;\r\n this.helpIconWidth = paramUISettings.helpIconSize;\r\n this.helpIconHeight = paramUISettings.helpIconSize;\r\n }\r\n\r\n ngOnInit() {\r\n this.imageSet = this.getImageSet(ImageSets.SummaryDetailIcon);\r\n }\r\n\r\n public onClick(): void {\r\n\r\n this.helpIconClicked.emit(this.listDiv);\r\n } \r\n\r\n}","
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n

\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
","import { Component, Input } from '@angular/core';\r\nimport { BaseComponent } from \"../..\";\r\nimport { ListItemModel } from \"./listItemModel\";\r\nimport { ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'list-item',\r\n templateUrl: './listItemComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ListItemComponent extends BaseComponent {\r\n\r\n @Input()\r\n public item: ListItemModel;\r\n\r\n @Input()\r\n public emptyValueText: string;\r\n\r\n public displayText: string;\r\n public hasValue: boolean = false;\r\n\r\n ngOnInit() {\r\n\r\n if (this.item.showIconOnly) {\r\n\r\n this.hasValue = false;\r\n this.displayText = '';\r\n\r\n } else {\r\n // As bool value in title returns false when comparing, that's why title is converted to string.\r\n this.hasValue = this.item.title != null && this.item.title.toString() != \"\";\r\n this.displayText = this.hasValue ? this.item.title : this.emptyValueText;\r\n }\r\n }\r\n\r\n}","
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
","import { BaseListModel } from \"./baseListModel\";\r\n\r\nexport class ListItemModel extends BaseListModel {\r\n\r\n}","import { BaseListModel } from \"./baseListModel\";\r\nimport * as Immutable from \"immutable\";\r\nimport { ListItemModel } from \"./listItemModel\";\r\n\r\nexport class ListModel extends BaseListModel {\r\n \r\n public static readonly HELP_ICON = \"helpIcon\"; \r\n public static readonly BACKGROUND_IMAGE = \"backgroundImage\"; \r\n public static readonly ITEMS = \"items\";\r\n public static readonly ID = \"id\";\r\n public static readonly TAG = \"tag\";\r\n\r\n public readonly helpIcon: string;\r\n setHelpIcon(helpIcon: string): this {\r\n return this.setInternalProperty(ListModel.HELP_ICON, helpIcon); \r\n } \r\n\r\n public readonly backgroundImage: string;\r\n setBackgroundImage(backgroundImage: string): this {\r\n return this.setInternalProperty(ListModel.BACKGROUND_IMAGE, backgroundImage); \r\n } \r\n\r\n public readonly items: Immutable.List;\r\n setItems(items: Immutable.List): this {\r\n return this.setInternalProperty(ListModel.ITEMS, items); \r\n } \r\n\r\n public readonly id: string;\r\n setId(id: string): this {\r\n return this.setInternalProperty(ListModel.ID, id); \r\n } \r\n\r\n public readonly tag: any;\r\n setTag(tag: any): this {\r\n return this.setInternalProperty(ListModel.TAG, tag);\r\n } \r\n\r\n}","import { Inject, Component, Input, ChangeDetectorRef, ChangeDetectionStrategy } from \"@angular/core\";\r\nimport { Conf, WorkGroup } from \"../../models\";\r\nimport { VisualObjectViewModelFactory } from \"../../../configurator/parameters/shared\";\r\nimport { ConfigurationSessionManager } from \"../../../configurator/providers/configurationSessionManager\";\r\nimport { AbstractPopupComponent } from \"../../../../shared/components/popup/abstractPopupComponent\";\r\nimport { PopupService, InputViewModel, Positions } from \"../../../../shared/components\";\r\nimport { ConfiguratorStore, ConfPageSessionService, PopupIdentifiers } from \"../../../configurator/providers\";\r\nimport { AccountDataStore } from \"../../providers/accountData\";\r\nimport { EmitterService } from \"../../../../../core/pages/configurator/shared\";\r\n\r\n@Component({\r\n selector: 'change-ownership-popup',\r\n templateUrl: './changeOwnershipPopupComponent.html' \r\n})\r\nexport class ChangeOwnershipPopupComponent extends AbstractPopupComponent {\r\n\r\n public id = \"change-ownership-popup\";\r\n\r\n public workgroupView: InputViewModel;\r\n public workgroupItemViews: InputViewModel[] = [];\r\n\r\n public changeEveryRevisionView: InputViewModel;\r\n\r\n public conf: Conf;\r\n public configurationId: number;\r\n public confSessionId: number;\r\n\r\n constructor(\r\n @Inject(ConfiguratorStore) public configuratorStore: ConfiguratorStore,\r\n @Inject(PopupService) public popupService: PopupService,\r\n @Inject(AccountDataStore) public accountStore: AccountDataStore, \r\n public cdr: ChangeDetectorRef\r\n ) {\r\n super(cdr, popupService);\r\n }\r\n\r\n public open(tag: any) {\r\n this.show(tag.configurationId, tag.confSessionId);\r\n }\r\n\r\n show(configurationId: number, confSessionId: number): void {\r\n this.configurationId = configurationId;\r\n this.confSessionId = confSessionId;\r\n\r\n // Get active configuration\r\n this.conf = this.configuratorStore.getConf(this.configurationId, this.confSessionId);\r\n\r\n // Create input view models.\r\n this.createModels();\r\n\r\n this.showInternal();\r\n }\r\n\r\n createModels(): void {\r\n this.strings.ChangeOwnership\r\n // Create views for price list category\r\n this.workgroupView = new InputViewModel(this.strings.ChangeOwnershipTo);\r\n this.workgroupView.icon = \"ownership\";\r\n\r\n // Only show if multiple revisions\r\n if (this.conf.revisions.count() > 1) {\r\n this.changeEveryRevisionView = new InputViewModel(this.strings.ChangeOwnershipOnEveryRevision);\r\n this.changeEveryRevisionView.value = true;\r\n }\r\n\r\n // Empty the list.\r\n this.workgroupItemViews = [];\r\n\r\n this.accountStore.getEntities(WorkGroup.name).subscribe(response => {\r\n this.conf.authorization.takeOwnershipToWorkGroupIds.forEach(x => {\r\n let workGroup = response.data.get(x);\r\n if (workGroup) {\r\n let itemView = new InputViewModel(workGroup.title);\r\n itemView.id = workGroup.longId.toString();\r\n this.workgroupItemViews.push(itemView);\r\n\r\n // Preselect the current workgroup\r\n if (workGroup.longId === this.conf.ownedBy.longId) {\r\n this.workgroupView.formattedValue = this.conf.ownedBy.text;\r\n this.workgroupView.value = this.conf.ownedBy.longId.toString();\r\n }\r\n }\r\n });\r\n\r\n this.workgroupView = { ...this.workgroupView };\r\n this.cdr.detectChanges();\r\n\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n }\r\n\r\n public get resultsInline(): boolean {\r\n return this.changeEveryRevisionView != null && (typeof this.changeEveryRevisionView.value === \"boolean\" ? this.changeEveryRevisionView.value : this.changeEveryRevisionView.value === \"true\");\r\n }\r\n\r\n okClick(): void {\r\n \r\n const workgroupValueAsInt = parseInt(this.workgroupView.value);\r\n\r\n if (workgroupValueAsInt) {\r\n\r\n this.plainBlockUI();\r\n\r\n this.configuratorStore.changeOwnership(this.conf.longId, this.confSessionId, workgroupValueAsInt, this.resultsInline).then(response => {\r\n this.unblockUI();\r\n });\r\n } \r\n }\r\n}","\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
","export * from \"./changeOwnershipPopupComponent\";\r\nexport * from \"./operationsActionBoxComponent\";\r\n","import { Inject, Component, Input, Optional, ViewChild, ChangeDetectionStrategy, ChangeDetectorRef } from \"@angular/core\";\r\nimport * as Immutable from 'immutable';\r\n\r\nimport { BaseActionBoxComponent } from \"../..\";\r\nimport { RouteRedirector, RouteNames, ApiMessageProvider } from \"../../providers\";\r\nimport { ConfigurationSessionManager } from \"../../../configurator/providers/configurationSessionManager\";\r\nimport { ConfiguratorStore, ConfRouteParams, PopupIdentifiers } from \"../../../configurator/providers\";\r\nimport { PageStore } from \"../../providers/page\";\r\nimport { RequestViews, ConfDeleteMessage, ChangeOwnershipMessage, Conf, ContactField, User } from \"../../models\";\r\nimport { ConfMessageProvider } from \"../../../configurator/providers/confMessageProvider\";\r\nimport { NotificationService, NotificationInfo, NotificationType, PopupService, MessageBoxComponent, MessageBoxConfig } from \"../../../../shared/components\";\r\nimport { ChangeOwnershipPopupComponent } from \"./changeOwnershipPopupComponent\";\r\nimport { SearchDataStore } from \"../../providers/searchData\";\r\nimport { ManagedSubscription } from \"../../../../shared/managedSubscription\";\r\nimport { SummaryPrintComponent } from \"../print/summaryPrintComponent\";\r\nimport { ImageSets } from \"../../../../shared/utils/imageSets\";\r\nimport { HttpService } from \"../../../../shared/providers/httpService\";\r\nimport { GlobalDataStore } from \"../../providers/globalData\";\r\nimport { IntegrationSettings } from \"../../models/responses/messages/integrationSettings\";\r\nimport { AccountDataStore } from \"../../providers/accountData\";\r\n\r\nconst ITEM_NAMES = {\r\n Edit: \"edit\",\r\n Recover: \"recover\",\r\n Reuse: \"reuse\",\r\n Revise: \"revise\",\r\n Delete: \"delete\",\r\n Ownership: \"ownership\",\r\n Print: \"print\",\r\n EmailLink: \"emaillink\",\r\n Contact: \"contact\",\r\n RequestForOrder: \"requestorder\",\r\n RequestForQuote: \"requestquote\",\r\n\r\n // MsCrm ->\r\n OpenInDynamics: \"openInDynamics\"\r\n // MsCrm <-\r\n}\r\n\r\n@Component({\r\n selector: 'operations-action-box',\r\n templateUrl: './operationsActionBoxComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class OperationsActionBoxComponent extends BaseActionBoxComponent {\r\n\r\n protected changeOwnershipMessage: ManagedSubscription;\r\n protected confChangeSubscription: ManagedSubscription;\r\n\r\n public items: Immutable.List = Immutable.List();\r\n\r\n public isSummary = false;\r\n\r\n @ViewChild(MessageBoxComponent)\r\n public confirmDeleteMessageBox: MessageBoxComponent;\r\n\r\n @ViewChild(ChangeOwnershipPopupComponent)\r\n public changeOwnershipPopup: ChangeOwnershipPopupComponent;\r\n\r\n @ViewChild(SummaryPrintComponent)\r\n public summaryPrint: SummaryPrintComponent;\r\n\r\n // MsCrm\r\n public isInMsCrmMode: boolean = false;\r\n public integrationSettings: IntegrationSettings;\r\n\r\n constructor(\r\n @Inject(RouteRedirector) public routeRedirector: RouteRedirector,\r\n @Inject(ConfiguratorStore) public configuratorStore: ConfiguratorStore,\r\n @Inject(SearchDataStore) public searchDataStore: SearchDataStore,\r\n @Inject(HttpService) public httpService: HttpService,\r\n @Inject(ApiMessageProvider) public apiMessageProvider: ApiMessageProvider,\r\n public globalDataStore: GlobalDataStore,\r\n public confMessageProvider: ConfMessageProvider,\r\n public notificationService: NotificationService,\r\n public pageStore: PageStore,\r\n public cd: ChangeDetectorRef,\r\n public popupService: PopupService,\r\n public accountStore: AccountDataStore\r\n ) {\r\n super(configuratorStore);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.isSummary = this.pageStore.activeRouteName === RouteNames.Summary;\r\n\r\n // MsCrm\r\n this.isInMsCrmMode = this.globalDataStore.getGlobalData().globalSettings.isInMsCrmMode;\r\n\r\n super.ngOnInit();\r\n }\r\n\r\n public setup(): void {\r\n\r\n if (!this.configurationId)\r\n return;\r\n\r\n this.unsubscribe();\r\n this.confChangeSubscription = this.configuratorStore.onConfigurationChange(this.configurationId, this.confSessionId, (conf: Conf) => {\r\n\r\n this.conf = conf;\r\n this.init();\r\n this.listenOnIntegrationMessage();\r\n this.cd.markForCheck();\r\n\r\n });\r\n\r\n // MsCrm\r\n }\r\n\r\n\r\n public init() {\r\n\r\n this.items = this.items.clear();\r\n\r\n if (!this.conf)\r\n return;\r\n\r\n let confAuth = this.conf.authorization;\r\n let buttonStyles = \"\";\r\n\r\n if (confAuth.isReviseOperationDisallowed)\r\n buttonStyles = \"disabled-button\";\r\n\r\n if (confAuth.canEdit && !this.integrationSettings?.isRunningInIframe)\r\n this.items = this.items.push({\r\n name: ITEM_NAMES.Edit,\r\n text: this.strings.Edit,\r\n styles: \"\"\r\n });\r\n\r\n if (confAuth.canRecover && !this.integrationSettings?.isRunningInIframe)\r\n this.items = this.items.push({\r\n name: ITEM_NAMES.Recover,\r\n text: this.strings.Recover,\r\n styles: \"\"\r\n });\r\n\r\n if (confAuth.canReuse && !this.integrationSettings?.isRunningInIframe)\r\n this.items = this.items.push({\r\n name: ITEM_NAMES.Reuse,\r\n text: this.strings.Reuse,\r\n styles: \"\"\r\n });\r\n\r\n if (confAuth.canRevise && !this.integrationSettings?.isRunningInIframe)\r\n this.items = this.items.push({\r\n name: ITEM_NAMES.Revise,\r\n text: this.strings.Revise,\r\n styles: buttonStyles\r\n });\r\n\r\n if (confAuth.canDelete && !this.integrationSettings?.isRunningInIframe)\r\n this.items = this.items.push({\r\n name: ITEM_NAMES.Delete,\r\n text: this.strings.Delete,\r\n styles: \"\"\r\n });\r\n\r\n if (confAuth.canChangeOwnership && this.isSummary)\r\n this.items = this.items.push({\r\n name: ITEM_NAMES.Ownership,\r\n text: this.strings.ChangeOwnership,\r\n styles: \"\"\r\n });\r\n\r\n if (confAuth.canPrint && this.isSummary)\r\n this.items = this.items.push({\r\n name: ITEM_NAMES.Print,\r\n text: this.strings.Print,\r\n styles: \"\"\r\n });\r\n\r\n if (confAuth.canEmailLink)\r\n this.items = this.items.push({\r\n name: ITEM_NAMES.EmailLink,\r\n text: this.strings.EmailThisConfiguration,\r\n styles: \"\"\r\n });\r\n\r\n let user: User = this.accountStore.getUser();\r\n if (user?.systemAuthorization.hasAnonymousAccess)\r\n {\r\n this.AddAnonymousContactIfNotEmpty(this.globalDataStore.globalSettings.anonymousAccessContact, ITEM_NAMES.Contact);\r\n this.AddAnonymousContactIfNotEmpty(this.globalDataStore.globalSettings.anonymousAccessRequestForQuote, ITEM_NAMES.RequestForQuote);\r\n this.AddAnonymousContactIfNotEmpty(this.globalDataStore.globalSettings.anonymousAccessRequestForOrder, ITEM_NAMES.RequestForOrder);\r\n }\r\n\r\n // MsCrm ->\r\n if (this.isInMsCrmMode && !this.integrationSettings?.isRunningInIframe)\r\n this.items = this.items.push({\r\n name: ITEM_NAMES.OpenInDynamics,\r\n text: \"Open in dynamics\",\r\n styles: \"\"\r\n });\r\n // MsCrm <-\r\n }\r\n\r\n protected AddAnonymousContactIfNotEmpty(fields: Immutable.List, name: string): void {\r\n if (fields?.isEmpty() == false) {\r\n let contactButtonField = fields.find(x => x.dataType == \"ButtonLabel\");\r\n\r\n this.items = this.items.push({\r\n name: name,\r\n text: contactButtonField?.title,\r\n icon: ITEM_NAMES.EmailLink,\r\n styles: \"\"\r\n });\r\n }\r\n }\r\n\r\n public shouldBeVisible(): boolean {\r\n return this.items && this.items.size > 0;\r\n }\r\n\r\n onItemClick(name: string): void {\r\n switch (name) {\r\n case ITEM_NAMES.Edit:\r\n case ITEM_NAMES.Recover:\r\n this.editConfiguration();\r\n break;\r\n\r\n case ITEM_NAMES.Reuse:\r\n this.reuseConfiguration();\r\n break;\r\n\r\n case ITEM_NAMES.Revise:\r\n this.reviseConfiguration();\r\n break;\r\n\r\n case ITEM_NAMES.Delete:\r\n this.deleteConfiguration();\r\n break;\r\n\r\n case ITEM_NAMES.Ownership:\r\n this.changeOwnership();\r\n break;\r\n\r\n case ITEM_NAMES.EmailLink:\r\n this.emailLink();\r\n break;\r\n\r\n case ITEM_NAMES.Contact:\r\n this.contact(this.globalDataStore.globalSettings.anonymousAccessContact);\r\n break;\r\n\r\n case ITEM_NAMES.RequestForOrder:\r\n this.contact(this.globalDataStore.globalSettings.anonymousAccessRequestForOrder);\r\n break;\r\n\r\n case ITEM_NAMES.RequestForQuote:\r\n this.contact(this.globalDataStore.globalSettings.anonymousAccessRequestForQuote);\r\n break;\r\n\r\n case ITEM_NAMES.Print:\r\n this.summaryPrint.show();\r\n break;\r\n\r\n\r\n //MsCrm ->\r\n case ITEM_NAMES.OpenInDynamics:\r\n {\r\n let url = '/mscrm/getQuoteUrl?confid=' + this.configurationId + '#';\r\n this.httpService.get(url).subscribe(data => {\r\n if (data.newtab)\r\n window.location.href = data.url;\r\n else\r\n window.open(data.url, '_blank').focus();\r\n });\r\n break;\r\n }\r\n //MsCrm <-\r\n }\r\n }\r\n\r\n public deleteConfiguration() {\r\n\r\n this.confMessageProvider.onMessagesRequest(this.confSessionId, ConfDeleteMessage.name, {\r\n next: (messages: Immutable.List): void => {\r\n let message = messages.first();\r\n\r\n this.notificationService.notify({\r\n title: message.title || message.displayStyle ? message.title : message.success ? this.strings.Success : this.strings.Error,\r\n message: message.message ? message.message : message.success ? this.strings.ConfigurationIsDeleted : message.message,\r\n type: message.displayStyle ? message.displayStyle : message.success ? NotificationType.Info : NotificationType.Error,\r\n selfClose: true\r\n });\r\n\r\n if (message.success) {\r\n if (this.pageStore.getActiveClientType() == RequestViews.Start) {\r\n\r\n this.unblockUI();\r\n\r\n // If configuration is deleted on start page then remove all connected ConfDataSessions\r\n // This will update all configuration search results on start page\r\n let confSessionData = this.configuratorStore.getConfSessionData(this.confSessionId);\r\n\r\n // If we simulate slow 3G network speed and make a double click then it throws null refernce\r\n // exception. The bug is very difficult to reproduce but we need more investigation to find the\r\n // root cause. As block-ui is already preventing the subscequent actions...\r\n if (confSessionData && confSessionData.rootConfId)\r\n this.configuratorStore.removeConfiguratorSessions(confSessionData.rootConfId);\r\n }\r\n else\r\n this.routeRedirector.redirectToStart();\r\n }\r\n },\r\n listenNewEventsOnly: true\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n let confInfo = this.configuratorStore.getConfInfo(this.configurationId, this.confSessionId);\r\n if (confInfo.rootId !== this.configurationId)\r\n confInfo = this.configuratorStore.getConfInfo(confInfo.rootId, this.confSessionId)\r\n\r\n let info: MessageBoxConfig<[number, number]> = >{\r\n headerText: this.strings.AreYouSureYouWantToDelete,\r\n caption: confInfo.allowedChildProductIds.size > 0 ? this.strings.ConfigurationIncludingChildren : this.strings.Configuration,\r\n description: confInfo.text,\r\n icon: \"error\",\r\n tag: [this.configurationId, this.confSessionId]\r\n }\r\n\r\n this.confirmDeleteMessageBox.show(info);\r\n\r\n //this.configuratorStore.deleteConfiguration(this.configurationId, this.confSessionId);\r\n\r\n\r\n //this.deleteConfigurationPopup.show(this.configurationId, this.confSessionId);\r\n }\r\n\r\n deleteConf([configurationId, confSessionId]) {\r\n\r\n this.plainBlockUI();\r\n this.configuratorStore.deleteConfiguration(configurationId, confSessionId, this.pageStore.getActiveClientType());\r\n\r\n }\r\n\r\n public editConfiguration() {\r\n // In case of summary re-use the session id. In other cases like start or search page we dont want to re-use session\r\n //if (this.pageStore.getActiveClientType() == RequestViews.Summary)\r\n this.routeRedirector.redirectToEditor({ confSessionId: this.confSessionId, id: this.configurationId });\r\n //else\r\n // this.routeRedirector.redirectToEditor({ id: this.configurationId });\r\n }\r\n\r\n /**\r\n * Reuse the configuration by going to the redirect component -> old configuration component is destroyed -> redirect to the new configuration and set it up.\r\n */\r\n public reuseConfiguration() {\r\n this.routeRedirector.redirectToEditor({ reuse: this.configurationId });\r\n }\r\n\r\n /**\r\n * Revise the configuration by going to the redirect component -> old configuration component is destroyed -> redirect to the new configuration and set it up.\r\n */\r\n public reviseConfiguration() {\r\n this.routeRedirector.redirectToEditor({ revise: this.configurationId });\r\n }\r\n\r\n public changeOwnership() {\r\n this.unsubscribe();\r\n\r\n this.changeOwnershipMessage = this.confMessageProvider.onMessagesRequest(this.confSessionId, ChangeOwnershipMessage.name, {\r\n next: (messages: Immutable.List): void => {\r\n let message = messages.first();\r\n\r\n this.notificationService.notify({\r\n title: message.success ? this.strings.Success : this.strings.Error,\r\n message: message.success ? \"Successfully changed the ownership\" /*TODO localize*/ : message.message,\r\n type: message.success ? NotificationType.Success : NotificationType.Error,\r\n selfClose: true\r\n });\r\n },\r\n listenNewEventsOnly: true\r\n });\r\n\r\n this.changeOwnershipPopup.show(this.configurationId, this.confSessionId);\r\n }\r\n\r\n protected contact(fields: Immutable.List) {\r\n this.popupService.open(PopupIdentifiers.AnonymousContact, fields);\r\n }\r\n\r\n protected emailLink() {\r\n this.popupService.open(PopupIdentifiers.AnonymousDialog);\r\n }\r\n\r\n unsubscribe() {\r\n\r\n if (this.changeOwnershipMessage)\r\n this.changeOwnershipMessage.unsubscribe();\r\n\r\n if (this.confChangeSubscription)\r\n this.confChangeSubscription.unsubscribe();\r\n\r\n }\r\n\r\n // MSCRM begin\r\n public listenOnIntegrationMessage() {\r\n this.apiMessageProvider.onMessages(IntegrationSettings.name,\r\n {\r\n next: (messages) => {\r\n messages.forEach(apiMessage => {\r\n this.integrationSettings = apiMessage;\r\n this.init();\r\n });\r\n }\r\n });\r\n }\r\n\r\n // MSCRM end\r\n\r\n ngOnDestroy() {\r\n this.unsubscribe();\r\n\r\n super.ngOnDestroy();\r\n }\r\n}","\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{item.text}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { GridviewModule } from \"../../../../shared/components/gridview\";\r\nimport { PagerComponent } from \"./pagerComponent\";\r\nimport { PaginationModule } from \"../../../../shared/components/pagination\";\r\nimport { DropdownModule } from \"../../../../shared/components\";\r\nimport { PagerService } from \"./pagerService\";\r\n\r\nexport * from \"./pagerComponent\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n GridviewModule,\r\n DropdownModule,\r\n PaginationModule\r\n ],\r\n declarations: [\r\n PagerComponent,\r\n ],\r\n exports: [\r\n PagerComponent,\r\n ],\r\n providers: [\r\n PagerService\r\n ]\r\n\r\n})\r\nexport class PagerModule {\r\n}","import { Component, Input, Output, EventEmitter, OnInit, Inject, ViewChild, ElementRef, HostListener, ChangeDetectorRef, SimpleChanges } from \"@angular/core\";\r\nimport { InputViewModel, Positions } from \"../../../../shared/components/shared\";\r\nimport { PagerModel } from \"./pagerModel\";\r\nimport { BaseComponent } from \"../..\";\r\nimport { PagerService } from \"./pagerService\";\r\n\r\n@Component({\r\n selector: 'pager',\r\n templateUrl: './pagerComponent.html'\r\n})\r\nexport class PagerComponent extends BaseComponent implements OnInit {\r\n\r\n @Input() pagerModel: PagerModel;\r\n @Input() initialWidth: number | string;\r\n\r\n // manually trigger change detection\r\n @Input() refresh = false;\r\n\r\n @Output() pagerUpdated = new EventEmitter();\r\n\r\n @ViewChild(\"container\")\r\n public container: ElementRef\r\n public containerWidth: number = null;\r\n\r\n public largeUp = false;\r\n public mediumUp = false;\r\n public smallDown = false; \r\n public extraSmallDown = false;\r\n public maxPages = 5;\r\n\r\n public pagingInfoLabel = \"\";\r\n\r\n constructor(\r\n @Inject(ChangeDetectorRef) public cd: ChangeDetectorRef,\r\n @Inject(PagerService) public pagerService: PagerService,\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) { \r\n if (changes['refresh']) \r\n this.updatePagingInfoLabel();\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.pagerModel = this.pagerModel || this.pagerService.create();\r\n\r\n this.updatePagingInfoLabel();\r\n\r\n if (this.containerWidth == null)\r\n setTimeout(() => {\r\n if (this.cd['destroyed'])\r\n return;\r\n\r\n this.setWidth();\r\n this.setSizes();\r\n this.cd.detectChanges();\r\n }, 0);\r\n else {\r\n this.setWidth();\r\n this.setSizes();\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n\r\n this.setWidth();\r\n this.setSizes();\r\n\r\n }\r\n\r\n /**\r\n * Get paging info label.\r\n Like 'Showing 11 to 20 of 50'.\r\n */\r\n public updatePagingInfoLabel() {\r\n let first = this.pagerModel.resultCount > 0 ? this.pagerModel.displayCountView.count * (this.pagerModel.currentPage - 1) : -1;\r\n let second = this.pagerModel.displayCountView.displayAll ? this.pagerModel.resultCount : Math.min(first + this.pagerModel.displayCountView.count, this.pagerModel.resultCount);\r\n this.pagingInfoLabel = this.format(this.strings.ViewXYOfZ, Math.max(0, first + 1), second, this.pagerModel.resultCount); \r\n }\r\n\r\n public setWidth() {\r\n this.containerWidth = this.container.nativeElement.getBoundingClientRect().width;\r\n if (this.containerWidth <= 0)\r\n this.containerWidth = this.initialWidth ? (parseInt(this.initialWidth.toString().replace(/(px|%)/g, \"\"))) : window.innerWidth;\r\n }\r\n\r\n public setSizes() {\r\n this.largeUp = this.getLargeUp();\r\n this.mediumUp = this.getMediumUp();\r\n this.smallDown = this.getSmallDown(); \r\n this.extraSmallDown = this.getExtraSmallDown();\r\n\r\n this.maxPages = this.getMaxPages();\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event) {\r\n this.setWidth();\r\n this.setSizes();\r\n }\r\n\r\n public getLargeUp() {\r\n return this.containerWidth > bomSizes.lg;\r\n }\r\n\r\n public getMediumUp() {\r\n return this.containerWidth > bomSizes.md;\r\n }\r\n\r\n public getSmallDown() {\r\n return this.containerWidth < bomSizes.sm;\r\n }\r\n\r\n public getExtraSmallDown() {\r\n return this.containerWidth < bomSizes.xs;\r\n }\r\n\r\n public getMaxPages() {\r\n return this.mediumUp ? 5 : this.smallDown ? 1 : 3;\r\n }\r\n\r\n public updatePager() {\r\n // Reset current page if its out of bounds\r\n if ((this.pagerModel.currentPage - 1) * this.pagerModel.displayCountView.count >= this.pagerModel.resultCount)\r\n this.pagerModel.currentPage = 1;\r\n\r\n this.pagerUpdated.emit(this.pagerModel);\r\n\r\n this.updatePagingInfoLabel();\r\n }\r\n\r\n onPageChanged($event) {\r\n this.pagerModel.currentPage = $event.page;\r\n this.updatePager();\r\n }\r\n\r\n onValueChange($event): void {\r\n this.updatePager();\r\n }\r\n\r\n}\r\n\r\nlet bomSizes: any = {\r\n xs: 330,\r\n sm: 410,\r\n md: 495,\r\n lg: 580,\r\n};","
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{pagingInfoLabel}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
","import { InputViewModel, Positions } from \"../../../../shared/components/shared\";\r\nimport { DisplayCountValueModel } from \"../../../../shared/components/shared/models/displayCountValueModel\";\r\nimport { Strings } from \"../../providers/globalData\";\r\nimport { PaginationInfo } from \"../../models\";\r\n\r\nexport class PagerModel {\r\n\r\n public pageSizeViews: Array;\r\n\r\n public displayCountView: DisplayCountValueModel;\r\n\r\n public resultCount: number;\r\n\r\n public noOfPages: number;\r\n\r\n public currentPage: number;\r\n\r\n}","import { InputViewModel, Positions } from \"../../../../shared/components/shared\";\r\nimport { DisplayCountValueModel } from \"../../../../shared/components/shared/models/displayCountValueModel\";\r\nimport { PaginationInfo } from \"../../models\";\r\nimport { PagerModel } from \"./pagerModel\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Strings } from \"../../providers/globalData\";\r\n\r\n@Injectable()\r\nexport class PagerService {\r\n\r\n constructor(public strings: Strings) {}\r\n\r\n create( \r\n defaultDisplayCount: number = 20,\r\n currentPage?: number,\r\n _noOfPages: number = 1,\r\n _resultCount: number = 0,\r\n pageSizes?: Array /* Page sizes, default 20-50-200-all*/,\r\n displayCountView?: DisplayCountValueModel, \r\n ) {\r\n\r\n let pager = new PagerModel();\r\n\r\n if (pager.displayCountView == null) {\r\n pager.displayCountView = new DisplayCountValueModel(defaultDisplayCount, this.strings.All);\r\n pager.displayCountView.title = this.strings.Search + \":\";\r\n pager.displayCountView.width = \"100%\";\r\n pager.displayCountView.labelPosition = Positions.Left;\r\n }\r\n\r\n pager.pageSizeViews = new Array();\r\n pageSizes = pageSizes || [\"20\", \"50\", \"200\", this.strings.All];\r\n for (let pageSize of pageSizes) {\r\n let item = new InputViewModel(pageSize);\r\n item.id = pageSize == this.strings.All ? \"0\" : pageSize;\r\n pager.pageSizeViews.push(item);\r\n }\r\n\r\n return pager;\r\n }\r\n\r\n setResultCount(resultCount: number, pager: PagerModel) {\r\n pager.resultCount = resultCount;\r\n\r\n // Set max count to number of results\r\n pager.displayCountView.maxCount = pager.resultCount;\r\n } \r\n\r\n setNoOfPages(noOfPages: number, pager: PagerModel) {\r\n pager.noOfPages = noOfPages;\r\n\r\n if (pager.noOfPages == 0)\r\n pager.currentPage = 0;\r\n else\r\n // Reset to last page if we're beyond limit, but don't set it below 1.\r\n pager.currentPage = Math.max(1, Math.min(pager.currentPage, pager.noOfPages));\r\n } \r\n\r\n updatePageSizes(pageSize: number, pager: PagerModel) {\r\n // add missing pagination value and sort\r\n if (pageSize !== 0 && !pager.pageSizeViews.find(x => x.title === \"\" + pageSize)) {\r\n pager.pageSizeViews.push(new InputViewModel(\"\" + pageSize));\r\n pager.pageSizeViews = pager.pageSizeViews.sort((n1, n2) => { if (+n1.title > +n2.title || isNaN(+n1.title)) { return 1 } else { return -1 } });\r\n }\r\n }\r\n\r\n update(pagination: PaginationInfo, pager: PagerModel) {\r\n pager.displayCountView.value = pagination.pageSize;\r\n pager.displayCountView.formattedValue = pagination.pageSize === 0 ? this.strings.All : pagination.pageSize;\r\n\r\n pager.resultCount = pagination.resultCount;\r\n pager.currentPage = pagination.pageIndex;\r\n pager.noOfPages = pagination.noOfPages;\r\n }\r\n}","import { Inject, Component, ViewChild, Input, ChangeDetectorRef, SimpleChanges, ChangeDetectionStrategy, Output, EventEmitter, HostListener } from \"@angular/core\";\r\nimport { BaseComponent } from \"../../..\";\r\nimport { ConfPageSessionService, ConfiguratorStore } from \"../../../../configurator/providers\";\r\nimport { InputViewModel, TextBoxComponent } from \"../../../../../shared/components\";\r\nimport { PriceEditorService, PriceEditorActions, IPriceEditorCommandArgs } from \"./priceEditorService\";\r\nimport { PriceReportRowView } from \"../priceReportRowView\";\r\nimport { PriceReportItem, PriceReportCategory } from \"../../../models\";\r\n\r\nexport enum PriceEditorState {\r\n Edit = 'edit-mode',\r\n Manual = 'manual-mode'\r\n}\r\n\r\n@Component({\r\n selector: 'price-editor',\r\n templateUrl: './priceEditorComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class PriceEditorComponent extends BaseComponent {\r\n\r\n @Input()\r\n isReadOnly: boolean = true;\r\n\r\n @Input()\r\n selected: boolean = false;\r\n\r\n @Input()\r\n row: PriceReportRowView;\r\n\r\n itemId: number;\r\n\r\n manualPrice: string;\r\n\r\n rawManualPrice: number;\r\n\r\n price: string;\r\n\r\n rawPrice: number;\r\n\r\n isEditMode: boolean = false;\r\n\r\n cancelValue: boolean = false;\r\n\r\n // Editor state\r\n state: string = PriceEditorState.Edit;\r\n\r\n action: PriceEditorActions;\r\n\r\n inputView: InputViewModel;\r\n\r\n @Output()\r\n onRemove = new EventEmitter();\r\n\r\n @Output()\r\n onSubmit = new EventEmitter();\r\n\r\n // If cancel button is clicked on hover/row-selected mode.\r\n @Output()\r\n onCancel = new EventEmitter();\r\n\r\n @ViewChild('textbox')\r\n protected textbox: TextBoxComponent;\r\n\r\n constructor( \r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfPageSessionService) public storeSession: ConfPageSessionService,\r\n @Inject(PriceEditorService) public priceEditorService: PriceEditorService, \r\n public cdr: ChangeDetectorRef\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n\r\n if (changes[\"selected\"] && !changes[\"selected\"].firstChange) {\r\n\r\n this.createInputModel();\r\n if (!this.selected) {\r\n this.isEditMode = false;\r\n this.state = this.manualPrice ? PriceEditorState.Manual : PriceEditorState.Edit;\r\n }\r\n }\r\n\r\n if (changes[\"rawManualPrice\"] && !changes[\"rawManualPrice\"].firstChange) {\r\n this.setLocalFields(); \r\n }\r\n }\r\n\r\n ngOnInit(): void { \r\n\r\n this.setLocalFields();\r\n this.createInputModel();\r\n\r\n // Listen the changes.\r\n this.priceEditorService.getMessage().subscribe(x => {\r\n\r\n // Don't do anything if itemPath is undefined.\r\n if (!x.id)\r\n return;\r\n\r\n // Set the current action performed by user on selected row.\r\n if (x.id == this.itemId) {\r\n this.action = x.action; \r\n this.cdr.markForCheck();\r\n }\r\n else this.action = PriceEditorActions.None;\r\n \r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n }\r\n\r\n public createInputModel() {\r\n \r\n this.inputView = new InputViewModel();\r\n this.inputView.value = this.rawManualPrice || this.rawManualPrice === 0 ? this.rawManualPrice : this.rawPrice;\r\n this.inputView.id = \"edit-price\";\r\n this.inputView.formattedValue = this.manualPrice ? this.manualPrice : this.price;\r\n if (this.cancelValue) {\r\n this.textbox.update();\r\n this.cancelValue = false;\r\n this.cdr.markForCheck();\r\n }\r\n\r\n } \r\n\r\n public setLocalFields() {\r\n \r\n if (this.row.tag) {\r\n if (this.row.tag instanceof PriceReportItem) {\r\n\r\n let item = this.row.tag as PriceReportItem;\r\n this.rawManualPrice = item.rawManualPrice;\r\n this.manualPrice = item.manualPrice;\r\n this.price = item.price;\r\n this.rawPrice = item.rawPrice;\r\n this.itemId = item.longId;\r\n\r\n // If manual price exists then surround the value with parenthesis\r\n if (item.manualPrice)\r\n this.price = \"(\" + this.price + \")\"\r\n\r\n }\r\n\r\n else if (this.row.tag instanceof PriceReportCategory) {\r\n\r\n let category = this.row.tag as PriceReportCategory;\r\n //this.rawManualPrice = category.rawManualPrice;\r\n //this.manualPrice = category.manualPrice;\r\n this.price = category.price;\r\n //this.rawPrice = category.rawPrice;\r\n this.itemId = category.longId;\r\n\r\n }\r\n }\r\n\r\n this.state = this.manualPrice ? PriceEditorState.Manual : PriceEditorState.Edit;\r\n }\r\n\r\n addValue() {\r\n\r\n let args = {\r\n action: PriceEditorActions.Update,\r\n id: this.itemId,\r\n value: this.rawManualPrice\r\n };\r\n\r\n this.onSubmit.emit(args);\r\n }\r\n\r\n undoValue() {\r\n\r\n let args = {\r\n action: PriceEditorActions.Undo,\r\n id: this.itemId,\r\n value: null\r\n };\r\n\r\n this.onSubmit.emit(args);\r\n }\r\n\r\n onEditorValueChange($event) {\r\n\r\n if (!this.textbox)\r\n return;\r\n\r\n let originalValue = this.rawManualPrice ? this.rawManualPrice : this.rawPrice;\r\n \r\n if (this.textbox.nativeElementValue() != originalValue.toString()) {\r\n this.rawManualPrice = parseFloat(this.textbox.nativeElementValue()); \r\n this.addValue();\r\n }\r\n\r\n }\r\n\r\n public showEditModel(): void {\r\n\r\n this.isEditMode = true;\r\n this.state = PriceEditorState.Edit;\r\n }\r\n\r\n public removeEditMode(event): void { \r\n \r\n this.isEditMode = false;\r\n this.state = this.manualPrice ? PriceEditorState.Manual : PriceEditorState.Edit; \r\n this.cancelValue = true;\r\n this.createInputModel();\r\n this.onCancel.emit();\r\n event.stopPropagation();\r\n\r\n }\r\n\r\n}","
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n {{price}}\r\n {{manualPrice}}\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n\r\n \r\n \r\n\r\n
\r\n\r\n {{price}}\r\n {{manualPrice}}\r\n\r\n
\r\n\r\n
\r\n {{price}}\r\n {{manualPrice}} \r\n
\r\n\r\n
\r\n","import { Inject, Injectable } from \"@angular/core\";\r\nimport { ManagedSubject } from \"../../../../../shared\";\r\n\r\nexport enum PriceEditorActions {\r\n\r\n RowSelected = 'row-selected',\r\n Undo = 'undo',\r\n Update = 'update', \r\n Cancel = 'cancel',\r\n Edit = 'edit',\r\n None = 'none'\r\n \r\n}\r\n\r\n/**\r\n * Three states of price report row.\r\n * Normal : Readonly state\r\n * \r\n * */\r\nexport enum PriceReportRowState {\r\n Normal = 'normal',\r\n Editted = 'editted',\r\n Edit = 'edit'\r\n}\r\n\r\nexport interface IPriceEditorCommandArgs {\r\n action: PriceEditorActions;\r\n id: number;\r\n value?: number;\r\n}\r\n\r\n@Injectable()\r\nexport class PriceEditorService {\r\n\r\n private subject = new ManagedSubject(null, false, 0, false, false);\r\n\r\n public send(action: PriceEditorActions, id: number): void {\r\n\r\n let info: IPriceEditorCommandArgs = {\r\n action: action,\r\n id: id\r\n }\r\n\r\n this.subject.nextValue(info);\r\n }\r\n\r\n public getMessage(): ManagedSubject {\r\n return this.subject;\r\n }\r\n\r\n public notify(info: IPriceEditorCommandArgs): void {\r\n this.getMessage().nextValue(info);\r\n }\r\n\r\n}","import { Inject, Component, ViewChild, Input, ChangeDetectorRef, SimpleChanges, ChangeDetectionStrategy, Output, EventEmitter } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\nimport { PriceReportMessage, PriceReportCategory, PriceReportItem, PriceReportChildTotal } from \"../../models/responses/messages\";\r\nimport { PopupService } from \"../../../../shared/components/popup\";\r\nimport { PriceReportRowView, PriceReportCellView } from \"./priceReportRowView\";\r\nimport { ConfigurationSessionManager } from \"../../../configurator/providers/configurationSessionManager\";\r\nimport { ConfInfo, RequestViews, KeyValue } from \"../../models\";\r\nimport { AbstractPopupComponent } from \"../../../../shared/components/popup/abstractPopupComponent\";\r\nimport { ConfiguratorStore, ConfPageSessionService, PopupIdentifiers } from \"../../../configurator/providers\";\r\nimport { BaseComponent } from \"../..\";\r\nimport { PriceEditorService, IPriceEditorCommandArgs, PriceEditorActions } from \"./components/priceEditorService\";\r\nimport { GlobalDataStore } from \"../../providers/globalData\";\r\n\r\n@Component({\r\n selector: 'price-list-report',\r\n templateUrl: './priceListReportComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [PriceEditorService]\r\n})\r\nexport class PriceListReportComponent extends BaseComponent {\r\n\r\n @Input()\r\n public report: PriceReportMessage;\r\n\r\n public clearedPrices: Immutable.List> = Immutable.List>();\r\n\r\n @Input()\r\n public errorReportsConfIds: Immutable.List = Immutable.List();\r\n\r\n public rowViews: PriceReportRowView[] = [];\r\n\r\n public childrenRowViews: PriceReportRowView[] = [];\r\n public grandTotalView = new PriceReportRowView();\r\n\r\n public reportTitle: string;\r\n public reportCategoryName: string;\r\n public currencyName: string;\r\n public showErrorMessage: boolean = false;\r\n\r\n // It helps in css to prevent hover effect for all other rows if the gridview is already in edit mode.\r\n public isGridViewInActionMode: boolean = false;\r\n \r\n readonly CATEGORY_STYLE: string = \"category align-middle \";\r\n readonly TRANSIENT_CATEGORY_STYLE: string = \"transient-category \";\r\n readonly ITEM_ROW_STYLE: string = \"item-row\";\r\n readonly CHILD_STYLE: string = \"child clickable align-middle \";\r\n readonly ITEM_TITLE_STYLE: string = \"item align-middle \";\r\n readonly ITEM_PRICE_MANUAL_STYLE: string = \"item-price text-right col-auto pr-3\";\r\n readonly ITEM_PRICE_STYLE: string = \"text-right col-auto pr-3\";\r\n readonly CHILD_ITEM_STYLE: string = \"pr-4 justify-content-end text-right text-break\";\r\n readonly CHILD_COLUMN_SIZE: number = 3;\r\n readonly CHILD_COLUMN_SIZE_LG: string = \"col-lg-2\";\r\n readonly SUB_TOTAL_VALUE_STYLE: string = \"item-price text-right pr-3 col-auto \";\r\n readonly SUB_TOTAL: string = \"sub-total align-middle \";\r\n readonly TOTAL_STYLE: string = \"total align-middle \";\r\n readonly GRAND_TOTAL_STYLE: string = \"grand-total align-middle \";\r\n readonly GRAND_TOTAL_ITEM_STYLE: string = \"align-middle text-right col-auto pr-3\";\r\n readonly HAS_ITEMS: string = \"has-items \";\r\n\r\n @Output()\r\n public childReportClicked: EventEmitter = new EventEmitter();\r\n\r\n constructor(\r\n @Inject(PopupService) public popupService: PopupService,\r\n @Inject(PriceEditorService) public priceEditorService: PriceEditorService,\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfPageSessionService) public storeSession: ConfPageSessionService,\r\n @Inject(GlobalDataStore) public globalDataStore: GlobalDataStore,\r\n public cdr: ChangeDetectorRef\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n\r\n if (!changes['report'].firstChange) {\r\n this.update(this.storeSession.activeConfigurationId);\r\n }\r\n\r\n }\r\n\r\n ngOnInit(): void { \r\n this.update(this.storeSession.activeConfigurationId);\r\n super.ngOnInit();\r\n }\r\n \r\n update(confId: number): void {\r\n let confInfo: ConfInfo = this.confStore.getConfInfo(confId, this.storeSession.confSessionId);\r\n \r\n // Set titles\r\n this.currencyName = this.report.currency.text;\r\n this.reportCategoryName = this.report.priceListCategory.text;\r\n this.reportTitle = confInfo.text;\r\n\r\n // Remove the old contents\r\n this.rowViews = [];\r\n this.childrenRowViews = [];\r\n this.grandTotalView = new PriceReportRowView();\r\n\r\n // Prepare the views and display categories, items.\r\n this.report.categories.forEach(x => this.addCategoryAndLinkedItems(x));\r\n\r\n // Total\r\n this.rowViews.push(this.createTotal(this.report.total));\r\n\r\n // Go through the children and show their prices. Should be able to click on them to go further to their details\r\n if (this.report.children) {\r\n\r\n this.report.children.forEach(childReport => {\r\n\r\n if (this.globalDataStore.globalSettings.suppressChildConfigurationsWithZeroPrices && childReport.rawTotal == 0)\r\n return;\r\n\r\n this.addChild(childReport)\r\n\r\n });\r\n\r\n // Create child total If child reports available.\r\n if (this.childrenRowViews.length > 0)\r\n this.childrenRowViews.push(this.createTotal(this.report.childrenTotal));\r\n\r\n }\r\n\r\n this.clearedPrices = this.report.clearedPrices;\r\n this.showErrorMessage = (this.clearedPrices && this.clearedPrices.size > 0) || (this.report.warnings && this.report.warnings.size > 0)\r\n\r\n // Grand total\r\n if (this.report.grandTotal)\r\n this.createGrandTotal(this.report.grandTotal);\r\n\r\n // To trigger the changes make a new instance\r\n this.rowViews = [ ...this.rowViews ];\r\n this.cdr.markForCheck();\r\n }\r\n\r\n addCategoryAndLinkedItems(category: PriceReportCategory): void {\r\n\r\n if (!category.isTransient) {\r\n let rv: PriceReportRowView = new PriceReportRowView();\r\n\r\n rv.classes = this.CATEGORY_STYLE;\r\n\r\n // Add title\r\n rv.cells.push(this.createCell(category.title, null, this.ITEM_TITLE_STYLE));\r\n \r\n // Add price \r\n\r\n let price = category.price;\r\n let priceStyle = this.ITEM_PRICE_STYLE;\r\n\r\n if (category.items.size == 0) {\r\n price = `${category.price}`;\r\n priceStyle = this.ITEM_PRICE_MANUAL_STYLE;\r\n } \r\n \r\n rv.cells.push(this.createCell(category.items.size > 0 ? \"\" : price, null, priceStyle, null, false, false));\r\n\r\n // Add into list\r\n this.rowViews.push(rv);\r\n this.addItems(category.items, null, 1);\r\n\r\n if (category.items.size > 0)\r\n this.addSubTotal(category);\r\n }\r\n\r\n else {\r\n\r\n let showSubTotal: boolean = category.items.size > 1 || category.items.size == 1 && category.items.get(0).subItems.size > 0;\r\n\r\n let transientStyle: string = this.TRANSIENT_CATEGORY_STYLE;\r\n if (showSubTotal)\r\n transientStyle = transientStyle + this.HAS_ITEMS;\r\n\r\n this.addItems(category.items, transientStyle);\r\n\r\n if (showSubTotal)\r\n this.addSubTotal(category);\r\n\r\n }\r\n }\r\n\r\n addSubTotal(category: PriceReportCategory): void {\r\n\r\n let rv: PriceReportRowView = new PriceReportRowView();\r\n rv.classes = this.SUB_TOTAL;\r\n\r\n // Add title\r\n rv.cells.push(this.createCell(this.strings.SubTotal, null, this.ITEM_TITLE_STYLE));\r\n\r\n // Add price \r\n rv.cells.push(this.createCell(`${category.price}`, null, this.SUB_TOTAL_VALUE_STYLE, null, false, false));\r\n\r\n // If cell is not readOnly then mark row as editable.\r\n rv.allowEdit = true;\r\n rv.tag = category;\r\n\r\n // Add into list\r\n this.rowViews.push(rv);\r\n\r\n }\r\n\r\n addItems(items: Immutable.List, category: string, level: number = 0): void {\r\n items.forEach(item => {\r\n let rv: PriceReportRowView = new PriceReportRowView();\r\n\r\n // Add title\r\n rv.cells.push(this.createCell(item.title, null, this.ITEM_TITLE_STYLE, level));\r\n\r\n // Add price\r\n rv.cells.push(this.createCell(item.price, null, this.ITEM_PRICE_STYLE, null, true, !item.isEditable));\r\n\r\n // If cell is not readOnly then mark row as editable.\r\n rv.allowEdit = true;\r\n rv.classes = category ? category : \"\";\r\n\r\n if (item.isEditable)\r\n rv.classes += this.ITEM_ROW_STYLE;\r\n\r\n rv.id = item.longId;\r\n rv.tag = item;\r\n\r\n // Add into list\r\n this.rowViews.push(rv);\r\n\r\n // Add children recursively\r\n this.addItems(item.subItems, null, level + 1);\r\n });\r\n }\r\n\r\n addChild(childReport: PriceReportChildTotal) {\r\n let child = this.confStore.getConfInfo(childReport.configurationId, this.storeSession.confSessionId);\r\n\r\n let childView: PriceReportRowView = new PriceReportRowView();\r\n childView.id = childReport.configurationId;\r\n childView.classes = this.CHILD_STYLE;\r\n\r\n if (this.errorReportsConfIds.has(childReport.configurationId)) {\r\n childView.classes = \" has-error\";\r\n }\r\n \r\n let title = child.text;\r\n childView.cells.push(this.createCell(title, null, this.ITEM_TITLE_STYLE));\r\n childView.cells.push(this.createCell(childReport.quantity + \"\", this.CHILD_COLUMN_SIZE, this.CHILD_ITEM_STYLE + \" \" + this.CHILD_COLUMN_SIZE_LG));\r\n childView.cells.push(this.createCell(childReport.unitPrice, this.CHILD_COLUMN_SIZE, this.CHILD_ITEM_STYLE + \" \" + this.CHILD_COLUMN_SIZE_LG));\r\n childView.cells.push(this.createCell(childReport.grandTotal, this.CHILD_COLUMN_SIZE, this.CHILD_ITEM_STYLE + \" \" + this.CHILD_COLUMN_SIZE_LG));\r\n\r\n this.childrenRowViews.push(childView);\r\n }\r\n\r\n createTotal(total: string): PriceReportRowView {\r\n let rv: PriceReportRowView = new PriceReportRowView();\r\n rv.classes = this.TOTAL_STYLE;\r\n\r\n // Add total title\r\n rv.cells.push(this.createCell(this.strings.Total, null, this.ITEM_TITLE_STYLE));\r\n\r\n // Add total value\r\n rv.cells.push(this.createCell(total, null, this.ITEM_PRICE_STYLE));\r\n return rv;\r\n }\r\n\r\n createGrandTotal(grandTotal: string): void {\r\n this.grandTotalView = new PriceReportRowView();\r\n this.grandTotalView.classes = this.GRAND_TOTAL_STYLE;\r\n\r\n // Add total title\r\n this.grandTotalView.cells.push(this.createCell(this.strings.GrandTotal, null, this.ITEM_TITLE_STYLE));\r\n\r\n // Add grand total\r\n this.grandTotalView.cells.push(this.createCell(grandTotal, null, this.GRAND_TOTAL_ITEM_STYLE));\r\n }\r\n\r\n createCell(contents: string, size?: number, classes?: string, level?: number, isEditorCell: boolean = false, isEditorReadOnly = true): PriceReportCellView {\r\n let view: PriceReportCellView = { contents: contents, size: size, classes: classes, level: level, isEditorCell: isEditorCell, isEditorReadOnly: isEditorReadOnly };\r\n return view;\r\n }\r\n\r\n onPriceRowClick(row: PriceReportRowView) {\r\n\r\n this.markAsSelected(row);\r\n let args = {\r\n\r\n action: PriceEditorActions.RowSelected,\r\n id: row.id\r\n };\r\n\r\n this.priceEditorService.notify(args);\r\n\r\n }\r\n\r\n markAsSelected(activeRow: PriceReportRowView) {\r\n\r\n // Un-select all except the active.\r\n for (let row of this.rowViews) {\r\n row.selected = false; \r\n }\r\n\r\n if (activeRow) {\r\n activeRow.selected = true;\r\n this.isGridViewInActionMode = true; \r\n }\r\n else {\r\n this.isGridViewInActionMode = false; \r\n }\r\n\r\n this.cdr.markForCheck();\r\n }\r\n\r\n onCancelEdit(activeRow: PriceReportRowView) {\r\n\r\n this.markAsSelected(null);\r\n\r\n let args = {\r\n action: PriceEditorActions.None, \r\n id: activeRow.id\r\n };\r\n\r\n this.rowViews = [...this.rowViews];\r\n //this.cdr.markForCheck();\r\n\r\n this.priceEditorService.notify(args);\r\n }\r\n\r\n saveChanges(id?: number, value?: number) {\r\n\r\n let kv = new KeyValue(); \r\n kv.key = id;\r\n kv.value = value;\r\n let manualPriceValues = Immutable.List>([kv]); \r\n\r\n this.confStore.updatePriceReport(this.storeSession.confSessionId, this.storeSession.activeConfigurationId, this.report.configurationId, RequestViews.Editor, manualPriceValues);\r\n \r\n this.isGridViewInActionMode = false;\r\n this.cdr.markForCheck();\r\n\r\n }\r\n\r\n onSubmitClick(args: IPriceEditorCommandArgs) {\r\n this.saveChanges(args.id, args.value);\r\n }\r\n\r\n}","\r\n\r\n
\r\n
0\"> \r\n
    \r\n
  • \r\n {{warning}}\r\n
  • \r\n
\r\n
\r\n\r\n
0\" class=\"has-error\">\r\n
{{strings.PriceItemValueCleared}}
\r\n
\r\n
{{entity.key}}
\r\n
{{entity.value}}
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n {{strings.Description}}\r\n \r\n \r\n {{strings.Amount}}\r\n \r\n \r\n \r\n \r\n 0\" [style.width.px]=\"cell.level*15\" class=\"indent\"> \r\n\r\n {{cell.contents}}\r\n\r\n \r\n \r\n \r\n\r\n 0\">\r\n
\r\n\r\n \r\n \r\n {{strings.Child}}\r\n \r\n \r\n {{strings.Quantity}}\r\n \r\n \r\n {{strings.UnitPrice}}\r\n \r\n \r\n {{strings.Price}}\r\n \r\n \r\n\r\n \r\n \r\n 0\" [style.width.px]=\"cell.level*15\" class=\"indent\"> \r\n\r\n {{cell.contents}}\r\n\r\n \r\n\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n 0\" [style.width.px]=\"cell.level*15\" class=\"indent\"> \r\n {{cell.contents}}\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n","\r\nexport class PriceReportRowView {\r\n\r\n cells: PriceReportCellView[] = [];\r\n\r\n // Css classes\r\n classes: string;\r\n\r\n id: number;\r\n\r\n tag?: any;\r\n\r\n // If any cell contains editable data\r\n allowEdit: boolean = false;\r\n\r\n selected: boolean = false;\r\n\r\n}\r\n\r\nexport class PriceReportCellView {\r\n\r\n contents: string;\r\n\r\n size: number;\r\n\r\n classes: string;\r\n\r\n level: number;\r\n\r\n isEditorCell?: boolean = true;\r\n\r\n isEditorReadOnly?: boolean = false;\r\n}","import { Inject, Component, Input, Optional, ViewChild, Output, EventEmitter } from \"@angular/core\";\r\nimport { BaseComponent } from \"../..\";\r\nimport { PopupService, ValueChangeEventArgs, InputViewModel } from \"../../../../shared/components\";\r\n\r\n@Component({\r\n selector: 'print-checkbox',\r\n templateUrl: './printCheckboxComponent.html',\r\n})\r\nexport class PrintCheckboxComponent extends BaseComponent {\r\n\r\n @Input()\r\n defaultValue: boolean = true;\r\n\r\n @Output()\r\n onValueChange = new EventEmitter();\r\n\r\n viewModel: InputViewModel;\r\n\r\n ngOnInit() {\r\n\r\n this.viewModel = new InputViewModel();\r\n this.viewModel.value = this.defaultValue;\r\n this.viewModel.width = \"50px\";\r\n\r\n\r\n }\r\n\r\n valueChanged(event: ValueChangeEventArgs): void {\r\n\r\n this.onValueChange.emit(event);\r\n }\r\n\r\n}"," \r\n","import { Inject, Component, Input, Optional, ViewChild, ElementRef, HostListener } from \"@angular/core\";\r\nimport { BaseComponent } from \"../..\";\r\nimport { PopupService } from \"../../../../shared/components\";\r\nimport { PrintService, PrintInfo, PrintAction } from \"../../../../shared/components/print\";\r\nimport { sleep, Delay } from \"../../../../shared/utils\";\r\nimport { ConfPageSessionService } from \"../../../configurator/providers\";\r\n\r\n@Component({\r\n selector: 'summary-print',\r\n templateUrl: './summaryPrintComponent.html',\r\n})\r\nexport class SummaryPrintComponent extends BaseComponent {\r\n\r\n\r\n id: string = \"summary-print-view\";\r\n visible: boolean = false;\r\n\r\n printViewOpened = false;\r\n\r\n @ViewChild(\"printElement\")\r\n printElement: ElementRef;\r\n\r\n constructor(private popupService: PopupService, private printService: PrintService, private confPageSessionService: ConfPageSessionService) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n show(): void {\r\n this.visible = true; \r\n setTimeout(() => {\r\n this.popupService.open(this.id);\r\n }, 100); \r\n }\r\n\r\n ignoreBeforePrint: boolean = false;\r\n sendPrint(): void {\r\n this.printService.sendPrint({ referenceElement: this.printElement.nativeElement, action: PrintAction.CopyDOM });\r\n this.printService.sendPrint({ referenceElement: this.printElement.nativeElement, action: PrintAction.Print });\r\n \r\n this.ignoreBeforePrint = true;\r\n sleep(Delay.MS_400).then(x => window.print());\r\n }\r\n\r\n onPopupClosed() { \r\n this.visible = false;\r\n }\r\n\r\n @HostListener('window:beforeprint', ['$event'])\r\n onBeforePrint(event) {\r\n\r\n // As print commands can be sent by pressing \"Ok\" button on printview page or by using keyboard shortcut keys \"ctr + p\".\r\n // If print command is sent through \"Ok\" click button then we don't need to copy the DOM because these actions are already executed.\r\n if (this.ignoreBeforePrint)\r\n return;\r\n\r\n // If page id is missing, there is not an active summary page to print from.\r\n if (!this.confPageSessionService.confUIStore.pageId)\r\n return;\r\n\r\n if (this.printElement) {\r\n this.printService.sendPrint({ referenceElement: this.printElement.nativeElement, action: PrintAction.CopyDOM });\r\n this.printService.sendPrint({ referenceElement: this.printElement.nativeElement, action: PrintAction.Print });\r\n }\r\n else {\r\n this.printViewOpened = true;\r\n this.show();\r\n\r\n setTimeout(() => {\r\n // Wait\r\n }, 1000);\r\n }\r\n }\r\n\r\n public onPrintViewOpened() {\r\n if (this.printViewOpened)\r\n {\r\n this.printViewOpened = false;\r\n this.printService.sendPrint({ referenceElement: this.printElement.nativeElement, action: PrintAction.CopyDOM });\r\n this.printService.sendPrint({ referenceElement: this.printElement.nativeElement, action: PrintAction.Print });\r\n }\r\n }\r\n\r\n @HostListener('window:afterprint', ['$event'])\r\n onAfterPrint(event) {\r\n \r\n this.printService.sendPrint({ referenceElement: this.printElement?.nativeElement, action: PrintAction.RemoveDOM }); \r\n this.ignoreBeforePrint = false;\r\n\r\n }\r\n\r\n}","\r\n \r\n\r\n
\r\n\r\n
\r\n

{{strings.Summary}}

\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
","import { NgModule } from \"@angular/core\";\r\nimport { PushMessageComponent } from \"./pushMessageComponent\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { UIElementComponent } from \"./uiElementComponent\";\r\nimport { PopupModule, TextBoxModule, CheckboxModule, ImageModule } from \"../../../../shared/components\";\r\nimport { SelectModule } from \"../../../../shared/components/select\";\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n PopupModule,\r\n SelectModule,\r\n TextBoxModule,\r\n CheckboxModule,\r\n ImageModule\r\n //SafeHtmlModule\r\n ],\r\n declarations: [\r\n PushMessageComponent,\r\n UIElementComponent\r\n ],\r\n providers: [\r\n ],\r\n exports: [\r\n PushMessageComponent,\r\n UIElementComponent\r\n ] \r\n})\r\nexport class PushMessageModule {\r\n\r\n}","import { Component, Input, ElementRef, ViewChild, ChangeDetectorRef, ChangeDetectionStrategy, SimpleChanges, Output, EventEmitter, Inject } from '@angular/core';\r\nimport { PushMessageSelection } from '../../providers/pushMessage/pushMessageSelection';\r\nimport { UIElement, UIGroup, UIPopup } from '../../models';\r\nimport { RegularPopupComponent, BackdropComponent } from '../../../../shared/components';\r\nimport { ManagedSubject, ManagedSubscription } from '../../../../shared';\r\nimport * as Immutable from \"immutable\";\r\nimport { PushMessageStore } from '../../providers/pushMessage';\r\nimport { BaseComponent } from '../../baseComponent';\r\nimport { ImageSets } from '../../../../shared/utils';\r\n\r\n@Component({\r\n selector: 'push-message',\r\n templateUrl: './pushMessageComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class PushMessageComponent extends BaseComponent {\r\n\r\n @ViewChild(BackdropComponent) protected backdropComponent: BackdropComponent;\r\n\r\n @Input()\r\n public uiPopup: UIPopup;\r\n\r\n @Input()\r\n public sessionId: number;\r\n\r\n @Output()\r\n action = new EventEmitter();\r\n\r\n @ViewChild(RegularPopupComponent)\r\n private _popup: RegularPopupComponent;\r\n\r\n public visible = false;\r\n\r\n public title = \"\";\r\n\r\n public icon = \"\";\r\n\r\n public width: string;\r\n\r\n public height: string;\r\n\r\n public actions = [];\r\n\r\n public leadParagraph = \"\";\r\n\r\n public paragraph = \"\";\r\n\r\n public cssClass = \"\";\r\n\r\n public modal = true;\r\n\r\n public uiElement: UIElement;\r\n\r\n public uiElementId: number;\r\n\r\n public imageSet: string;\r\n\r\n constructor(\r\n @Inject(PushMessageStore) public pushMessageStore: PushMessageStore,\r\n public cd: ChangeDetectorRef\r\n ) {\r\n\r\n super();\r\n\r\n if (this.backdropComponent)\r\n this.backdropComponent.add(this._popup);\r\n }\r\n\r\n ngOnInit() {\r\n this.imageSet = this.getImageSet(ImageSets.PopupHeader);\r\n super.ngOnInit();\r\n\r\n this.listenChanges();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n\r\n if (this.uiPopup) {\r\n this.title = this.uiPopup.header;\r\n this.icon = this.uiPopup.icon;\r\n this.leadParagraph = this.uiPopup.leadParagraph;\r\n this.paragraph = this.uiPopup.paragraph;\r\n this.cssClass = this.uiPopup.cssClass;\r\n this.modal = this.uiPopup.modal;\r\n\r\n if (this.uiPopup.uiElements) {\r\n this.uiElement = this.pushMessageStore.getElement(this.uiPopup.uiElements.first(), this.sessionId);\r\n\r\n if (!this.uiElement)\r\n return;\r\n\r\n this.uiElementId = this.uiElement.renderId;\r\n this.cd.markForCheck();\r\n }\r\n\r\n if (this.uiPopup.width > 0)\r\n this.width = this.uiPopup.width + \"px\";\r\n else\r\n this.width = null;\r\n\r\n if (this.uiPopup.height > 0)\r\n this.height = this.uiPopup.height + \"px\";\r\n else\r\n this.height = null;\r\n\r\n this.visible = true;\r\n }\r\n\r\n }\r\n\r\n public show(): void {\r\n\r\n if (this.modal) {\r\n this.backdropComponent.add(this.popup);\r\n this.backdropComponent.visible = true;\r\n this.backdropComponent.updateBackDropStyle();\r\n }\r\n\r\n setTimeout(() => {\r\n this.popup.open();\r\n this.cd.detectChanges();\r\n }, 0);\r\n }\r\n\r\n public close(): void {\r\n this.popup.close();\r\n this.visible = false;\r\n this.cd.detectChanges();\r\n }\r\n\r\n public get popup(): RegularPopupComponent {\r\n let popupComponent = this._popup;\r\n if (popupComponent == null) {\r\n this.visible = true;\r\n this.cd.detectChanges();\r\n popupComponent = this._popup;\r\n }\r\n return popupComponent;\r\n }\r\n\r\n public onAction(event: PushMessageSelection) {\r\n this.action.emit(event);\r\n }\r\n\r\n public getCssClass(uiElementId2: number) {\r\n\r\n let uiElement2 = this.pushMessageStore.getElement(uiElementId2, this.sessionId);\r\n\r\n if (!uiElement2)\r\n return \"\";\r\n\r\n // Do not effect buttons.\r\n if (uiElement2.className == \"UIInput\") {\r\n return \"\";\r\n }\r\n\r\n // Do not effect UIGroup rendered with a div.\r\n if (uiElement2.className == \"UIGroup\") {\r\n let uiGroup = uiElement2 as UIGroup;\r\n if (uiGroup.includeDiv) {\r\n return \"\";\r\n }\r\n }\r\n\r\n return uiElement2.cssClass;\r\n }\r\n\r\n public listenChanges() {\r\n\r\n this.pushMessageStore.onElementChange(this.sessionId, this.uiElementId, (uiElement: UIElement): void => {\r\n\r\n this.uiElement = uiElement;\r\n this.uiElementId = uiElement.renderId;\r\n\r\n this.cd.markForCheck();\r\n\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n }\r\n}","\r\n\r\n \r\n\r\n\r\n\r\n \r\n\r\n\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n

{{leadParagraph}}

\r\n

{{paragraph}}

\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
0\">\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, Input, ElementRef, ViewChild, ChangeDetectorRef, ChangeDetectionStrategy, SimpleChanges, EventEmitter, Output, Inject } from '@angular/core';\r\nimport { UIElement, TextType, UIGroup, UISelect, UIInput, UIImage } from '../../models';\r\nimport { PushMessageSelection } from '../../providers/pushMessage/pushMessageSelection';\r\nimport { InputViewModel, ValueChangeEventArgs, DisplayStyle, Positions } from '../../../../shared/components';\r\nimport { PushMessageStore } from '../../providers/pushMessage';\r\nimport { BaseComponent } from '../..';\r\nimport { ManagedSubscription } from '../../../../shared';\r\nimport { ElementStore } from '../../providers/elementStore';\r\n\r\n@Component({\r\n selector: 'ui-element',\r\n templateUrl: './uiElementComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class UIElementComponent extends BaseComponent {\r\n\r\n // The view can not work with the base class.\r\n @Input()\r\n public uiElementId: number;\r\n\r\n @Input()\r\n public elementStore: ElementStore; \r\n\r\n public uiElement: any = {};\r\n\r\n @Input()\r\n public sessionId: number;\r\n\r\n @Output()\r\n action = new EventEmitter();\r\n\r\n public style = \"\";\r\n \r\n public rows = null;\r\n\r\n public cols = null;\r\n\r\n // Export enum to view.\r\n public TextType = TextType;\r\n\r\n viewModel: InputViewModel;\r\n itemsView: InputViewModel[] = [];\r\n selectedViewId: string;\r\n\r\n textBoxView: InputViewModel;\r\n\r\n checkboxView: InputViewModel;\r\n\r\n public DISPLAY_STYLE_OPTIONS: typeof DisplayStyle = DisplayStyle;\r\n\r\n public elementSubscription: ManagedSubscription;\r\n public elementValueSubscription: ManagedSubscription;\r\n\r\n constructor(\r\n public cd: ChangeDetectorRef\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n this.refresh();\r\n this.listenChanges();\r\n }\r\n\r\n refresh() {\r\n\r\n this.style = \"\";\r\n\r\n this.uiElement = this.elementStore.getElement(this.uiElementId, this.sessionId);\r\n\r\n if (this.uiElement.className == \"UISelect\")\r\n this.createViewModels();\r\n else if (this.uiElement.className == \"UIInput\" && this.uiElement.type == \"text\") {\r\n\r\n let uiInput = this.uiElement as UIInput;\r\n\r\n this.textBoxView = new InputViewModel(uiInput.id);\r\n this.textBoxView.title = \"\";\r\n this.textBoxView.placeholder = uiInput.placeHolder;\r\n this.textBoxView.readOnly = uiInput.readonly;\r\n\r\n // This is needed for the for attribute to work.\r\n this.textBoxView.id = uiInput.id;\r\n\r\n if (uiInput.isMultiline) {\r\n\r\n this.rows = uiInput.rows || 1;\r\n\r\n if (uiInput.cols > 0)\r\n this.cols = uiInput.cols;\r\n }\r\n\r\n this.textBoxView.value = this.elementStore.getElementValue(this.uiElement.id, this.sessionId);\r\n\r\n // Set width and height.\r\n if (this.uiElement.width > 0)\r\n this.textBoxView.width = this.uiElement.width + \"px\";\r\n if (this.uiElement.height > 0)\r\n this.textBoxView.height = this.uiElement.height + \"px\";\r\n }\r\n else if (this.uiElement.className == \"UIInput\" && this.uiElement.type == \"checkbox\") {\r\n\r\n let uiInput = this.uiElement as UIInput;\r\n\r\n this.checkboxView = new InputViewModel(this.uiElement.id);\r\n this.checkboxView.title = \"\";\r\n this.checkboxView.readOnly = uiInput.readonly;\r\n\r\n // Set default value.\r\n this.checkboxView.value = this.elementStore.getElementValue(this.uiElement.id, this.sessionId);\r\n\r\n if (this.uiElement.width > 0)\r\n this.checkboxView.width = this.uiElement.width + \"px\";\r\n\r\n this.checkboxView.labelPosition = Positions.Above;\r\n }\r\n else {\r\n if (this.uiElement.width > 0)\r\n this.style += \"width:\" + this.uiElement.width + \"px;\";\r\n\r\n if (this.uiElement.height > 0)\r\n this.style += \"height:\" + this.uiElement.height + \"px;\";\r\n\r\n if (this.uiElement.className == \"UIGroup\") {\r\n let uiGroup = this.uiElement as UIGroup;\r\n\r\n // Width has higher prio.\r\n if (!this.uiElement.width && uiGroup.columnCount > 0)\r\n this.style += \"width:\" + uiGroup.columnCount * 10 + \"px;\";\r\n\r\n // Height has higher prio.\r\n if (!this.uiElement.height && uiGroup.rowCount > 0)\r\n this.style += \"height:\" + uiGroup.rowCount * 10 + \"px;\";\r\n }\r\n }\r\n\r\n if (this.uiElement.style)\r\n this.style += this.uiElement.style;\r\n }\r\n\r\n createViewModels(): void {\r\n\r\n let uiSelect = this.uiElement as UISelect;\r\n\r\n this.viewModel = new InputViewModel(uiSelect.id);\r\n this.viewModel.title = \"\";\r\n this.viewModel.helpImagePosition = null;\r\n this.viewModel.readOnly = uiSelect.readonly;\r\n\r\n // Set width and height.\r\n if (this.uiElement.width > 0)\r\n this.viewModel.width = this.uiElement.width + \"px\";\r\n if (this.uiElement.height > 0)\r\n this.viewModel.height = this.uiElement.height + \"px\";\r\n\r\n // Pre selected value.\r\n this.selectedViewId = this.elementStore.getElementValue(this.uiElement.id, this.sessionId);\r\n\r\n this.itemsView = Array();\r\n\r\n uiSelect.titleByValue.forEach((keyValuePair) => {\r\n\r\n let itemModel = new InputViewModel(keyValuePair.value);\r\n\r\n itemModel.id = keyValuePair.key;\r\n itemModel.value = keyValuePair.key;\r\n itemModel.formattedValue = keyValuePair.value;\r\n\r\n if (this.selectedViewId == itemModel.value) {\r\n this.viewModel.value = keyValuePair.key;\r\n this.viewModel.formattedValue = keyValuePair.value;\r\n }\r\n\r\n this.itemsView.push(itemModel);\r\n })\r\n }\r\n\r\n onCheckChanged(event: ValueChangeEventArgs): void {\r\n\r\n let pushMessageSelection = new PushMessageSelection();\r\n\r\n pushMessageSelection.sessionId = this.sessionId;\r\n pushMessageSelection.key = this.uiElement.id;\r\n pushMessageSelection.value = event.value;\r\n pushMessageSelection.triggerAction = true;\r\n\r\n this.action.emit(pushMessageSelection);\r\n\r\n this.cd.detectChanges();\r\n }\r\n\r\n onTextValueChange(event: ValueChangeEventArgs): void {\r\n\r\n let pushMessageSelection = new PushMessageSelection();\r\n\r\n pushMessageSelection.key = this.uiElement.id;\r\n pushMessageSelection.value = event.value;\r\n pushMessageSelection.sessionId = this.sessionId;\r\n pushMessageSelection.triggerAction = true;\r\n\r\n this.action.emit(pushMessageSelection);\r\n }\r\n\r\n public onAction(event: PushMessageSelection) {\r\n // Notify server.\r\n this.action.emit(event);\r\n }\r\n\r\n public onClick(id: string) {\r\n // Notify server.\r\n\r\n let pushMessageSelection = new PushMessageSelection();\r\n\r\n pushMessageSelection.sessionId = this.sessionId;\r\n pushMessageSelection.key = id;\r\n pushMessageSelection.triggerAction = true;\r\n\r\n this.action.emit(pushMessageSelection);\r\n }\r\n\r\n public onSelectValueChange($event: ValueChangeEventArgs): void {\r\n\r\n let select = this.uiElement as UISelect;\r\n\r\n let pushMessageSelection = new PushMessageSelection();\r\n\r\n pushMessageSelection.key = select.id;\r\n pushMessageSelection.value = this.viewModel.value;\r\n pushMessageSelection.triggerAction = true;\r\n pushMessageSelection.sessionId = this.sessionId;\r\n\r\n this.action.emit(pushMessageSelection);\r\n\r\n this.cd.detectChanges();\r\n }\r\n\r\n public getCssClass(uiElementId2: number) {\r\n\r\n let uiElement2 = this.elementStore.getElement(uiElementId2, this.sessionId);\r\n\r\n if (!uiElement2)\r\n return \"\";\r\n\r\n // Do not effect buttons.\r\n if (uiElement2.className == \"UIInput\") {\r\n return \"\";\r\n }\r\n\r\n // Do not effect UIGroup rendered with a div.\r\n if (uiElement2.className == \"UIGroup\") {\r\n let uiGroup = uiElement2 as UIGroup;\r\n if (uiGroup.includeDiv) {\r\n return \"\";\r\n }\r\n }\r\n\r\n return uiElement2.cssClass;\r\n }\r\n\r\n // This detects changes from a replaced popup.\r\n ngOnChanges(changes: SimpleChanges) {\r\n this.refresh();\r\n this.listenChanges();\r\n this.cd.markForCheck();\r\n }\r\n\r\n public listenChanges() {\r\n\r\n this.unsubscribe();\r\n\r\n this.elementSubscription = this.elementStore.onElementChange(this.sessionId, this.uiElementId, (uiElement: UIElement): void => {\r\n\r\n this.uiElement = uiElement;\r\n this.uiElementId = uiElement.renderId;\r\n\r\n this.refresh();\r\n this.cd.detectChanges();\r\n });\r\n\r\n this.elementValueSubscription = this.elementStore.onElementValueChange(this.sessionId, this.uiElementId, (value: string): void => {\r\n\r\n //console.log(\"Value has updated for uiElementId: '\" + this.uiElementId + \"' and value is now: '\" + value + \"'.\");\r\n\r\n this.refresh();\r\n this.cd.markForCheck();\r\n\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.unsubscribe();\r\n\r\n super.ngOnDestroy();\r\n }\r\n\r\n unsubscribe() {\r\n if (this.elementSubscription)\r\n this.elementSubscription.unsubscribe();\r\n\r\n if (this.elementValueSubscription)\r\n this.elementValueSubscription.unsubscribe();\r\n }\r\n\r\n}","\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

\r\n {{\r\nuiElement.title\r\n }}\r\n

\r\n {{uiElement.title}}\r\n
\r\n {{uiElement.title}}\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n No implementation for: {{uiElement.className}}\r\n
\r\n
","export * from \"./reportsActionBoxComponent\";","import { Inject, Component, Input, Optional } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\nimport { BaseActionBoxComponent } from \"../..\";\r\nimport { ConfigurationSessionManager } from \"../../../configurator/providers/configurationSessionManager\";\r\nimport { ConfReport, RequestViews } from \"../../models\";\r\nimport { ConfReportRequest } from \"../../models/requests/confReportRequest\";\r\n\r\n// MOVE ConfiguratorController TO PAGES/SHARED/PROVIDERS\r\nimport { ConfDataController } from \"../../providers/configurationData\";\r\nimport { ConfiguratorStore } from \"../../../configurator/providers\";\r\nimport { ModelFactory } from \"../../providers\";\r\nimport { PageStore } from \"../../providers/page/pageStore\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { ManagedSubscription } from \"../../../../shared\";\r\n\r\n@Component({\r\n selector: 'reports-action-box',\r\n templateUrl: './reportsActionBoxComponent.html'\r\n})\r\nexport class ReportsActionBoxComponent extends BaseActionBoxComponent {\r\n\r\n public reportValues: Array;\r\n\r\n protected subscription: ManagedSubscription;\r\n\r\n constructor(\r\n @Inject(ConfDataController) public configuratorController: ConfDataController,\r\n @Inject(ConfiguratorStore) public configuratorStore: ConfiguratorStore,\r\n @Inject(PageStore) public pageStore: PageStore,\r\n @Inject(ModelFactory) public modelFactory: ModelFactory,\r\n @Inject(HttpClient) public httpClient: HttpClient ) {\r\n super(configuratorStore);\r\n }\r\n\r\n public shouldBeVisible(): boolean {\r\n return this.reportValues && this.reportValues.length > 0 && this.conf != null && this.conf.authorization.canViewReports;\r\n }\r\n \r\n public setup(): void {\r\n\r\n if (!this.conf)\r\n return;\r\n\r\n if (this.subscription)\r\n this.subscription.unsubscribe();\r\n\r\n this.subscription = this.configuratorStore.onConfReportsChange(this.configurationId, this.confSessionId, (reports) => {\r\n\r\n if (!reports) \r\n return;\r\n \r\n this.reportValues = [];\r\n reports.forEach(report => {\r\n this.reportValues.push({ title: report.title, icon: report.icon, link: this.getReportLink(report.longId) });\r\n });\r\n\r\n this.visible = this.shouldBeVisible();\r\n\r\n });\r\n \r\n }\r\n\r\n public getReportLink(reportId: number): string {\r\n let model: ConfReportRequest = this.modelFactory.createAny(ConfReportRequest.name) as any;\r\n\r\n model.client = this.pageStore.getActiveClientType();\r\n model.reportId = reportId;\r\n model.configurationId = this.configurationId;\r\n model.confSessionId = this.confSessionId;\r\n return this.configuratorController.getConfigurationReportUrl(model);\r\n }\r\n\r\n ngOnDestroy() {\r\n\r\n if (this.subscription)\r\n this.subscription.unsubscribe();\r\n\r\n super.ngOnDestroy();\r\n }\r\n\r\n}\r\n\r\nexport class ReportValueView {\r\n public title: string;\r\n public icon: string;\r\n public link: string;\r\n}","\r\n \r\n
\r\n \r\n
\r\n
\r\n
","export * from \"./revisionItemComponent\";\r\nexport * from \"./revisionsActionBoxComponent\";","import { Component, Input, Inject, Output, EventEmitter, ViewChild } from \"@angular/core\";\r\n\r\nimport { BaseComponent } from \"../..\";\r\nimport { ConfRevision, Conf } from \"../../models\";\r\nimport { InputViewModel, ValueChangeEventArgs } from \"../../../../shared/components/shared\";\r\nimport { RouteRedirector, RouteNames } from \"../../providers\";\r\nimport { ConfRouteParams } from \"../../../configurator/providers\";\r\nimport { CoCheckboxComponent } from \"../../../../shared/components/checkbox\";\r\nimport { ImageSets } from \"../../../../shared/utils\";\r\n\r\n@Component({\r\n selector: 'revision-item',\r\n templateUrl: './revisionItemComponent.html'\r\n})\r\nexport class RevisionItemComponent extends BaseComponent {\r\n\r\n @Input()\r\n conf: Conf;\r\n\r\n @Input()\r\n confSessionId: number;\r\n\r\n @Input()\r\n showCheckbox: boolean = true;\r\n\r\n @Input()\r\n revision: ConfRevision;\r\n\r\n @Output()\r\n onValueChange = new EventEmitter();\r\n\r\n checkboxView: InputViewModel;\r\n\r\n public imageSet: string;\r\n\r\n constructor(\r\n @Inject(RouteRedirector) public routeRedirector: RouteRedirector\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.checkboxView = { id: this.revision.configurationId.toString() } as InputViewModel;\r\n this.imageSet = this.getImageSet(ImageSets.SummaryActionDetail);\r\n\r\n super.ngOnInit();\r\n }\r\n\r\n public onClick() {\r\n // Redirect to the clicked configuration\r\n // TODO go through the redirector for now.. Should maybe be updated to swap configuration directly? \r\n this.routeRedirector.redirectToRedirector(`${RouteNames.Configurator}/${RouteNames.Summary}`, { id: this.revision.configurationId });\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
{{revision.title}}
\r\n
\r\n {{strings.CreationDate}}: \r\n {{revision.lastUpdated}}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { Inject, Component, Input, ViewChildren, forwardRef, QueryList, Optional } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\nimport { BaseActionBoxComponent } from \"../..\";\r\nimport { ConfigurationSessionManager, ConfiguratorStore } from \"../../../configurator/providers\";\r\nimport { RouteRedirector } from \"../../providers\";\r\nimport { ConfRevision, Conf } from \"../../models\";\r\nimport { RevisionItemComponent } from \"./revisionItemComponent\";\r\nimport { StateStore } from \"../states/stateStore\";\r\nimport { ComparisonUrlParams } from \"../../../../../core/pages/configurator/comparison/components/dragDrop/models/comparisonUrlParams\";\r\nimport { ComparisonHelper } from \"../../../../../core/pages/configurator/comparison\";\r\nimport { GlobalDataStore } from \"../../providers/globalData\";\r\nimport { ValueChangeEventArgs, NotificationService, NotificationInfo, NotificationType } from \"../../../../shared/components\";\r\n\r\n@Component({\r\n selector: 'revisions-action-box',\r\n templateUrl: './revisionsActionBoxComponent.html',\r\n providers: [StateStore]\r\n})\r\nexport class RevisionsActionBoxComponent extends BaseActionBoxComponent {\r\n\r\n public revisions: Immutable.List;\r\n\r\n public showComparison: boolean = false;\r\n\r\n public checkedRevisions: Array = [];\r\n\r\n @ViewChildren(forwardRef(() => RevisionItemComponent))\r\n public revisionItems: QueryList;\r\n\r\n constructor(\r\n @Inject(ConfiguratorStore) public configuratorStore: ConfiguratorStore,\r\n @Inject(ComparisonHelper) public helper: ComparisonHelper,\r\n @Inject(RouteRedirector) public redirector: RouteRedirector,\r\n @Inject(GlobalDataStore) public globalDataStore: GlobalDataStore,\r\n @Inject(NotificationService) public notificationService: NotificationService,\r\n ) {\r\n super(configuratorStore);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this.showComparison = this.globalDataStore.getGlobalData().globalSettings.enableCompareConfigurations;\r\n\r\n this.configuratorStore.onConfigurationChange(this.configurationId, this.confSessionId, (conf: Conf) => {\r\n\r\n this.initialize(); \r\n\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n }\r\n\r\n public setup(): void {\r\n if (this.conf)\r\n this.revisions = this.conf.revisions;\r\n }\r\n\r\n public shouldBeVisible(): boolean {\r\n return this.revisions && !this.revisions.isEmpty() && this.conf.authorization.canViewRevisions;\r\n }\r\n\r\n onCompareSelectionChanged($event: ValueChangeEventArgs): void {\r\n\r\n const valueChangedRevionId = Number($event.actionView.id);\r\n if (!$event.value) {\r\n\r\n // Remove value from selection. \r\n const index = this.checkedRevisions.indexOf(valueChangedRevionId);\r\n this.checkedRevisions.splice(index, 1);\r\n\r\n }\r\n\r\n else {\r\n\r\n if (this.checkedRevisions.length >= this.globalDataStore.getGlobalData().globalSettings.maxConfigurationsInComparison) {\r\n this.notifyMaxLimit();\r\n $event.component.cancelValue(false);\r\n return;\r\n }\r\n\r\n this.checkedRevisions.push(valueChangedRevionId);\r\n }\r\n }\r\n\r\n notifyMaxLimit() {\r\n\r\n this.notificationService.notify({\r\n title: this.strings.Warning,\r\n message: this.strings.MaximumLimitForComparingConfigurations.replace('{0}', this.globalDataStore.getGlobalData().globalSettings.maxConfigurationsInComparison.toString()),\r\n type: NotificationType.Warning,\r\n selfClose: true,\r\n identifier: \"warning-compare\",\r\n sync: true\r\n });\r\n\r\n }\r\n\r\n public onComparisonClick(): void {\r\n\r\n this.blockUI();\r\n\r\n // Define params\r\n let params = new ComparisonUrlParams();\r\n params.ids = this.helper.comparisonId(this.checkedRevisions);\r\n params.path = '0';\r\n\r\n // Redirect\r\n this.redirector.redirectToComparison(params);\r\n \r\n \r\n }\r\n\r\n}\r\n","\r\n \r\n
\r\n
1 && showComparison; else alone\">\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
","export * from \"./paramType\";\r\n","/** Each parameter type and matching svg icon name. */\r\nexport enum ParamType {\r\n BoolParam = 'boolparam',\r\n DoubleParam = 'doubleparam',\r\n IntParam = 'intparam',\r\n LookupParam = 'lookupparam',\r\n MultiChoiceParam = 'multichoiceparam',\r\n StringParam = 'stringparam'\r\n}","export * from \"./enums\";\r\n","export * from \"./stateItemComponent\";\r\nexport * from \"./statesActionBoxComponent\";\r\nexport * from \"./stateHistoryPopupComponent\";\r\nexport * from \"./stateActionPopupComponent\";","import { Injectable, forwardRef, Inject } from '@angular/core';\r\nimport { ConfDataActionCreator } from \"../../providers/configurationData/confDataActionCreator\";\r\nimport { ConfDataResponse } from \"../../models/responses\";\r\nimport { ConfDataRequest } from \"../../models\";\r\nimport { StateController } from \"./stateController\";\r\nimport { BaseActionCreator } from '../../baseActionCreator';\r\nimport { HttpAction } from '../../state/shared/httpAction';\r\nimport { ActionStatus } from '../../state/shared/actionStatus';\r\nimport { StateActions } from './stateActions';\r\n\r\n@Injectable()\r\nexport class StateActionCreator extends BaseActionCreator {\r\n\r\n constructor(\r\n @Inject(forwardRef(() => StateController)) public stateController: StateController,\r\n @Inject(forwardRef(() => ConfDataActionCreator)) public configurationActionCreator: ConfDataActionCreator\r\n ) {\r\n super(stateController);\r\n }\r\n\r\n promote(model: ConfDataRequest): HttpAction {\r\n let asyncAction = >{\r\n type: StateActions.PROMOTE,\r\n executeAsync: (dispatch, state, callback) => {\r\n return this.stateController.promote(model)\r\n .subscribe(configurationDataResult => {\r\n dispatch(this.configurationActionCreator.configurationLoaded(configurationDataResult));\r\n\r\n callback(new ActionStatus(true, configurationDataResult));\r\n });\r\n }\r\n }\r\n return asyncAction;\r\n }\r\n\r\n demote(model: ConfDataRequest): HttpAction {\r\n let asyncAction = >{\r\n type: StateActions.DEMOTE,\r\n executeAsync: (dispatch, state, callback) => {\r\n return this.stateController.demote(model)\r\n .subscribe(configurationDataResult => {\r\n dispatch(this.configurationActionCreator.configurationLoaded(configurationDataResult));\r\n\r\n callback(new ActionStatus(true, configurationDataResult));\r\n });\r\n }\r\n }\r\n return asyncAction;\r\n }\r\n}\r\n","import { Inject, Component, Input, ChangeDetectorRef, Output, EventEmitter } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\nimport { AbstractPopupComponent } from \"../../../../shared/components/popup/abstractPopupComponent\";\r\nimport { State, StateActionInfoMessage, StateActionResultMessage } from \"../../models\";\r\nimport { GlobalDataStore } from \"../../providers/globalData\";\r\nimport { StateStore } from \"./stateStore\";\r\nimport { InputViewModel, NotificationService, NotificationInfo, NotificationType } from \"../../../../shared/components\";\r\nimport { ConfPageSessionService } from \"../../../configurator/providers\";\r\n\r\n@Component({\r\n selector: 'state-action-popup',\r\n templateUrl: './stateActionPopupComponent.html'\r\n})\r\nexport class StateActionPopupComponent extends AbstractPopupComponent {\r\n\r\n public id: string = \"state-action-popup\";\r\n public width: string;\r\n public height: string;\r\n\r\n public noteView: InputViewModel;\r\n\r\n public okButtonText: string;\r\n public titleText: string;\r\n public errorText: string;\r\n\r\n public states: Immutable.Iterable;\r\n public fromState: State;\r\n public toState: State;\r\n\r\n public toStateView: InputViewModel;\r\n public toStateViews: Array;\r\n\r\n /** Either promote or demote */\r\n public isPromote: boolean;\r\n\r\n public infoMessage: StateActionInfoMessage;\r\n public resultMessage: StateActionResultMessage;\r\n\r\n @Output()\r\n public onClosed = new EventEmitter();\r\n\r\n @Output()\r\n public preventShow = new EventEmitter();\r\n\r\n constructor(\r\n @Inject(ConfPageSessionService) public storeSession: ConfPageSessionService,\r\n @Inject(StateStore) public stateStore: StateStore,\r\n @Inject(GlobalDataStore) public globalDataStore: GlobalDataStore,\r\n @Inject(NotificationService) public notificationService: NotificationService,\r\n public cdr: ChangeDetectorRef\r\n ) {\r\n super(cdr);\r\n }\r\n\r\n ngOnInit() {\r\n this.width = this.uiSettings.configurator.state.minPopupWidth;\r\n this.height = this.uiSettings.configurator.state.minPopupHeight;\r\n //this.states = this.globalDataStore.getStates().sortBy(x => x.order); // sort by order\r\n\r\n this.noteView = new InputViewModel(this.strings.Note);\r\n\r\n this.visible = true;\r\n super.ngOnInit();\r\n }\r\n\r\n /**\r\n * Shows the state action popup, either as promote or demote.\r\n * @param isPromote true for promote, false for demote\r\n */\r\n show(isPromote: boolean) {\r\n this.isPromote = isPromote;\r\n\r\n // First fetch states\r\n this.globalDataStore.getEntities(State.name).subscribe((storeResponse) => {\r\n this.states = storeResponse.data.sortBy(x => x.order); // sort by order \r\n\r\n // Listen on info and setup\r\n this.stateStore.onStateActionInfo({\r\n next: (messages: Immutable.List) => {\r\n this.infoMessage = messages.first();\r\n\r\n this.unblockUI();\r\n\r\n if (this.infoMessage.isAllowed)\r\n this.showInternal();\r\n else\r\n this.preventShow.emit();\r\n\r\n this.titleText = this.isPromote ? (this.infoMessage.isAllowed ? this.strings.ConfirmPromotion : this.strings.CannotPromote) : (this.infoMessage.isAllowed ? this.strings.ConfirmDemotion : this.strings.CannotDemote);\r\n this.fromState = this.states.find(x => x.longId === this.infoMessage.fromState);\r\n\r\n // Setup ToState. Show single state as label but create dropdown if multiple.\r\n let toStates: Array = [];\r\n this.infoMessage.toStates.forEach(state => {\r\n toStates.push(this.states.find(x => x.longId === state));\r\n });\r\n\r\n // Multiple states -> show dropdown, otherwise just regular label\r\n if (toStates.length > 1) {\r\n this.toStateView = new InputViewModel();\r\n this.toStateView.width = \"300px\";\r\n this.toStateViews = [];\r\n toStates.forEach(state => {\r\n let stateView = new InputViewModel(state.name);\r\n stateView.id = state.longId.toString();\r\n this.toStateViews.push(stateView);\r\n });\r\n }\r\n else {\r\n this.toState = toStates[0];\r\n this.toStateView = this.toStateViews = null;\r\n }\r\n },\r\n listenNewEventsOnly: true\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n // Setup strings and ask for info about promote/demote\r\n if (this.isPromote) {\r\n // Make a request for promote info, will return info if the user can continue or if something is preventing the action\r\n this.stateStore.getPromoteInfo();\r\n\r\n this.okButtonText = this.strings.Promote;\r\n this.errorText = this.strings.CouldNotPromote;\r\n }\r\n else {\r\n // Make a request for demote info, will return info if the user can continue or if something is preventing the action\r\n this.stateStore.getDemoteInfo();\r\n\r\n this.okButtonText = this.strings.Demote;\r\n this.errorText = this.strings.CouldNotDemote;\r\n }\r\n\r\n this.blockUI();\r\n });\r\n\r\n this.listenChanges();\r\n }\r\n\r\n public listenChanges() {\r\n\r\n this.stateStore.onStateActionResult({\r\n next: (messages) => {\r\n this.unblockUI();\r\n\r\n // Handle result. Either update the states or show error.\r\n let message = messages.first();\r\n\r\n if (message.warnings.size > 0) {\r\n\r\n this.notificationService.notify({\r\n title: this.strings.Warning,\r\n message: message.warnings.get(0),\r\n type: NotificationType.Warning,\r\n selfClose: false\r\n });\r\n }\r\n\r\n if (message.success) {\r\n this.regularPopup.close();\r\n this.removeDomElement();\r\n }\r\n else {\r\n\r\n this.resultMessage = message;\r\n }\r\n\r\n },\r\n listenNewEventsOnly: true\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n }\r\n\r\n showError(resultMessage: StateActionResultMessage) {\r\n this.resultMessage = resultMessage;\r\n this.showInternal();\r\n }\r\n\r\n public okClick() {\r\n this.plainBlockUI();\r\n\r\n // get correct tostate\r\n let toStateId = this.toStateView ? parseInt(this.toStateView.value) : this.toState.longId;\r\n let note = this.noteView.value || \"\";\r\n\r\n // send to server\r\n if (this.isPromote)\r\n this.stateStore.promote(toStateId, note);\r\n else\r\n this.stateStore.demote(toStateId, note);\r\n }\r\n}","\r\n \r\n
\r\n \r\n
\r\n
\r\n {{fromState.name}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n {{toState.name}}\r\n \r\n
\r\n
\r\n

\r\n

\r\n
\r\n \r\n \r\n
\r\n {{errorText}}\r\n
{{error}}
\r\n
\r\n
\r\n

{{warning}}

\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
{{error}}
\r\n
\r\n
\r\n
{{warning}}
\r\n
\r\n
\r\n
\r\n
\r\n
","export class StateActions {\r\n static PROMOTE = \"@STATE_PROMOTE\";\r\n static DEMOTE = \"@STATE_DEMOTE\";\r\n}","import { Injectable, Inject } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpService } from \"../../../../shared/providers/httpService\";\r\nimport { ConfDataController } from \"../../providers/configurationData/confDataController\";\r\nimport { ConfDataRequest, ApiResponse } from \"../../models\";\r\nimport { ApiResponseBuilder } from \"../../providers/apiResponseBuilder\";\r\nimport { GlobalDataStore } from \"../../providers/globalData/globalDataStore\";\r\n\r\n@Injectable()\r\nexport class StateController extends ConfDataController {\r\n\r\n constructor(\r\n @Inject(HttpService) public httpService: HttpService,\r\n public apiResponseBuilder: ApiResponseBuilder,\r\n public globalDataStore: GlobalDataStore\r\n ) {\r\n super(httpService, apiResponseBuilder, globalDataStore);\r\n }\r\n\r\n public promote(model: ConfDataRequest): Observable {\r\n return this.getConfigurationData(model);\r\n }\r\n\r\n public demote(model: ConfDataRequest): Observable {\r\n return this.getConfigurationData(model);\r\n }\r\n\r\n}","import { Inject, Component, Input, ChangeDetectorRef, Output, EventEmitter } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\n\r\nimport { ConfigurationSessionManager } from \"../../../configurator/providers/configurationSessionManager\";\r\nimport { AbstractPopupComponent } from \"../../../../shared/components/popup/abstractPopupComponent\";\r\nimport { ConfHistory, Conf, RefObject } from \"../../models\"; \r\nimport { ProductDataStore } from \"../../providers/productData\";\r\nimport { ConfiguratorStore, ConfPageSessionService } from \"../../../configurator/providers\";\r\n\r\n@Component({\r\n selector: 'state-history-popup',\r\n templateUrl: './stateHistoryPopupComponent.html'\r\n})\r\nexport class StateHistoryPopupComponent extends AbstractPopupComponent {\r\n\r\n public id: string = \"state-history-popup\";\r\n public width: string;\r\n public height: string;\r\n\r\n public histories: Array;\r\n\r\n @Output()\r\n public onClosed = new EventEmitter();\r\n\r\n constructor(\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(ConfPageSessionService) public confPageSessionService: ConfPageSessionService, \r\n public cdr: ChangeDetectorRef\r\n ) {\r\n super(cdr);\r\n }\r\n\r\n ngOnInit() {\r\n this.width = this.uiSettings.configurator.state.minPopupWidth;\r\n this.height = this.uiSettings.configurator.state.minPopupHeight;\r\n\r\n this.visible = true;\r\n super.ngOnInit();\r\n }\r\n\r\n show(): void {\r\n this.histories = [];\r\n let conf: Conf = this.confStore.getConf(this.confPageSessionService.activeConfigurationId, this.confPageSessionService.confSessionId);\r\n\r\n let histories = conf.histories;\r\n \r\n histories.forEach(history => {\r\n let model: HistoryModel = {\r\n createdBy: history.createdBy,\r\n creationDate: history.creationDate,\r\n note: history.note,\r\n fromText: history.fromState ? history.fromState?.text : history.fromOwnership?.text,\r\n toText: history.toState ? history.toState?.text : history.toOwnership?.text\r\n }\r\n this.histories.push(model);\r\n });\r\n\r\n this.showInternal(); \r\n }\r\n}\r\n\r\nexport class HistoryModel {\r\n fromText: string;\r\n toText: string;\r\n\r\n createdBy: RefObject;\r\n creationDate: string;\r\n\r\n note: string;\r\n}","\r\n \r\n
\r\n \r\n \r\n \r\n {{history.fromText}}\r\n \r\n {{history.toText}}\r\n
\r\n {{strings.By}}:\r\n {{history.createdBy==null?'?':history.createdBy.text}}, {{history.creationDate}}\r\n
\r\n
\r\n
\r\n \r\n {{strings.Notes}}:\r\n {{history.note}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, Input } from \"@angular/core\";\r\nimport { BaseComponent } from \"../..\";\r\nimport { StateModel } from \"./statesActionBoxComponent\";\r\n\r\n@Component({\r\n selector: 'state-item',\r\n templateUrl: './stateItemComponent.html'\r\n})\r\nexport class StateItemComponent extends BaseComponent {\r\n\r\n @Input()\r\n state: StateModel;\r\n\r\n ngOnInit() {\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{state.title}}
\r\n {{state.date}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport * as Immutable from \"immutable\";\r\nimport { AppStore, BaseStore } from \"../../state\"\r\nimport { ConfMessageProvider, ConfPageSessionService } from \"../../../configurator/providers\";\r\nimport { AppStoreSubscriptionManager } from \"../../providers\";\r\nimport { ConfDataRequest, StateActionInfoMessage, StateActionResultMessage, StateCommand, RequestViews } from \"../../models\";\r\nimport { StateActionCreator } from \"./stateActionCreator\";\r\nimport { ManagedSubscription, SubscriptionOptions } from \"../../../../shared/managedSubscription\";\r\nimport { ModelFactory } from \"../../providers/modelFactory\";\r\nimport { GlobalDataStore } from \"../../providers/globalData\";\r\n\r\n@Injectable()\r\nexport class StateStore extends BaseStore {\r\n\r\n constructor(\r\n @Inject(AppStore) public appStore: AppStore,\r\n @Inject(StateActionCreator) public actionCreator: StateActionCreator,\r\n @Inject(AppStoreSubscriptionManager) public appStoreSubscriptionManager: AppStoreSubscriptionManager,\r\n @Inject(ConfPageSessionService) public storeSession: ConfPageSessionService,\r\n @Inject(ConfMessageProvider) public messagesProvider: ConfMessageProvider,\r\n @Inject(ModelFactory) public modelFactory: ModelFactory,\r\n public globalDataStore: GlobalDataStore\r\n ) {\r\n super(appStore, appStoreSubscriptionManager, modelFactory, actionCreator);\r\n }\r\n\r\n public createRequest(rawObject?: Partial): ConfDataRequest {\r\n let confDataRequest = this.modelFactory.createRequestOrCommand(ConfDataRequest.name, rawObject);\r\n confDataRequest.client = RequestViews.Summary;\r\n return confDataRequest;\r\n }\r\n\r\n public onStateActionInfo(subscriptionOptions: SubscriptionOptions>): ManagedSubscription {\r\n return this.messagesProvider.onMessagesRequest(this.storeSession.confSessionId, StateActionInfoMessage.name, subscriptionOptions);\r\n }\r\n\r\n public onStateActionResult(subscriptionOptions: SubscriptionOptions>): ManagedSubscription {\r\n return this.messagesProvider.onMessagesRequest(this.storeSession.confSessionId, StateActionResultMessage.name, subscriptionOptions);\r\n }\r\n\r\n public getPromoteInfo() {\r\n let model = this.createRequest({ confSessionId: this.storeSession.confSessionId });\r\n model.state = this.modelFactory.createRequestOrCommand(StateCommand.name, { configurationId: this.storeSession.activeConfigurationId, promoteInfo: true });\r\n this.appStore.dispatch(this.actionCreator.promote(model));\r\n }\r\n\r\n public getDemoteInfo() {\r\n let model = this.createRequest({ confSessionId: this.storeSession.confSessionId });\r\n model.state = this.modelFactory.createRequestOrCommand(StateCommand.name, { configurationId: this.storeSession.activeConfigurationId, demoteInfo: true });\r\n this.appStore.dispatch(this.actionCreator.demote(model));\r\n }\r\n\r\n public promote(promoteStateId: number, note?: string) {\r\n let model = this.createRequest({ confSessionId: this.storeSession.confSessionId });\r\n model.state = this.modelFactory.createRequestOrCommand(StateCommand.name, { configurationId: this.storeSession.activeConfigurationId, setPromoteStateId: promoteStateId, note: note }); \r\n model.state.responseFormat = this.globalDataStore.getConfResponseFormat(RequestViews.Summary);\r\n this.appStore.dispatch(this.actionCreator.promote(model));\r\n }\r\n\r\n public demote(demoteStateId: number, note?: string) {\r\n let model = this.createRequest({ confSessionId: this.storeSession.confSessionId });\r\n model.state = this.modelFactory.createRequestOrCommand(StateCommand.name, { configurationId: this.storeSession.activeConfigurationId, setDemoteStateId: demoteStateId, note: note }); \r\n model.state.responseFormat = this.globalDataStore.getConfResponseFormat(RequestViews.Summary);\r\n this.appStore.dispatch(this.actionCreator.demote(model));\r\n }\r\n}","import { Inject, Component, Input, Optional, ViewChild, ChangeDetectorRef } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\n\r\nimport { BaseActionBoxComponent } from \"../..\";\r\nimport { ConfigurationSessionManager, ConfPageSessionService, ConfiguratorStore } from \"../../../configurator/providers\";\r\nimport { ConfRevision, ConfHistory, State } from \"../../models\";\r\nimport { StateItemComponent } from \"./stateItemComponent\";\r\nimport { GlobalDataStore } from \"../../providers/globalData\";\r\nimport { StateHistoryPopupComponent } from \"./stateHistoryPopupComponent\";\r\nimport { StateActionPopupComponent } from \"./stateActionPopupComponent\";\r\nimport { StateStore } from \"./stateStore\";\r\nimport { ManagedSubscription } from \"../../../../shared/managedSubscription\";\r\nimport { sleep, Delay } from \"../../../../shared/utils\";\r\n\r\n@Component({\r\n selector: 'states-action-box',\r\n templateUrl: './statesActionBoxComponent.html',\r\n providers: [StateStore]\r\n})\r\nexport class StatesActionBoxComponent extends BaseActionBoxComponent {\r\n public states: Array;\r\n\r\n public showHistoryButton = false;\r\n public enablePromote = true;\r\n public enableDemote = true;\r\n\r\n public showHistoryPopup: boolean = false;\r\n public showActionPopup: boolean = false;\r\n\r\n @ViewChild(StateHistoryPopupComponent)\r\n public historyPopup: StateHistoryPopupComponent;\r\n\r\n @ViewChild(StateActionPopupComponent)\r\n public actionPopup: StateActionPopupComponent;\r\n\r\n constructor(\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Optional() @Inject(ConfPageSessionService) public storeSession: ConfPageSessionService,\r\n @Inject(StateStore) public stateStore: StateStore,\r\n @Inject(GlobalDataStore) public globalDataStore: GlobalDataStore,\r\n @Inject(ChangeDetectorRef) public cdr: ChangeDetectorRef\r\n ) {\r\n super(confStore);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this.stateStore.onStateActionResult({\r\n next: (messages) => {\r\n // Handle result. Either update the states or show error.\r\n let message = messages.first();\r\n if (message.success)\r\n this.initialize();\r\n else {\r\n this.showActionPopup = true;\r\n sleep(Delay.MS_0).then(x => this.actionPopup.showError(message));\r\n }\r\n },\r\n listenNewEventsOnly: true\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n }\r\n\r\n public shouldBeVisible(): boolean {\r\n\r\n if (!this.conf || !this.conf.authorization.canViewState)\r\n return false;\r\n\r\n return this.states && this.states.length > 0;\r\n }\r\n\r\n public setup(): void {\r\n this.states = new Array();\r\n\r\n if (!this.conf || !this.conf.authorization.canViewState)\r\n return;\r\n\r\n // Get conf history and global states and list them.\r\n this.globalDataStore.getEntities(State.name).subscribe((storeResponse) => {\r\n this.states = new Array();\r\n let sortedStates = storeResponse.data.sortBy(x => x.order); // sort by order \r\n\r\n if (!this.storeSession || sortedStates.isEmpty())\r\n return;\r\n\r\n let activeState: State = sortedStates.get(this.conf.state.longId);\r\n\r\n let activeHistory = this.conf.histories.find(history => history.toState != null && history.toState.longId === this.conf.state.longId);\r\n\r\n // Need to know if we performed a promote or demote action.\r\n let promoted = activeHistory != null && sortedStates.find(x => activeHistory.toState.longId === x.longId).order > sortedStates.find(x => activeHistory.fromState.longId === x.longId).order;\r\n\r\n let count = sortedStates.count();\r\n let index = 0;\r\n sortedStates.forEach(state => {\r\n let historyTo = this.conf.histories.find(history => history.toState != null && history.toState.longId === state.longId);\r\n let historyFrom = this.conf.histories.find(history => history.fromState != null && history.fromState.longId === state.longId);\r\n let active = state.longId === this.conf.state.longId;\r\n\r\n let stateModel: StateModel = {\r\n title: state.name,\r\n icon: state.iconRelativeUrl,\r\n date: historyTo ? historyTo.creationDate : null,\r\n locked: historyTo != null || historyFrom != null, // state is locked if it hasnt been active (and not included in the history)\r\n active: active,\r\n lineTop: index < count - 1, // show top line if we're not at the end \r\n lineBottom: index > 0, // show bottom line if we're not at the beginning\r\n\r\n /* active top line if:\r\n * promoted -> if we went FROM the current state,\r\n * demoted -> if we went TO the current state */\r\n lineTopActive: activeHistory != null && (promoted ? activeHistory.fromState.longId === state.longId : activeHistory.toState.longId === state.longId),\r\n lineBottomActive: activeHistory != null && (promoted ? activeHistory.toState.longId === state.longId : activeHistory.fromState.longId === state.longId)\r\n }\r\n\r\n // Always insert at first position so the highest order will be first\r\n this.states.splice(0, 0, stateModel);\r\n index++;\r\n });\r\n\r\n // Check if we can promote/demote the active state.\r\n this.enablePromote = this.conf.authorization.canPromoteState && activeState.order < sortedStates.last().order;\r\n this.enableDemote = this.conf.authorization.canDemoteState && activeState.order > sortedStates.first().order;\r\n\r\n this.visible = this.shouldBeVisible(); //TODO should be handled in base in different way\r\n this.showHistoryButton = this.conf.authorization.canViewHistory && !this.conf.histories.isEmpty();\r\n\r\n this.cdr.markForCheck();\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n }\r\n\r\n public onPromoteClick(): void {\r\n this.showActionPopup = true;\r\n sleep(Delay.MS_0).then(x =>\r\n { \r\n this.actionPopup.show(true);\r\n });\r\n }\r\n public onDemoteClick(): void {\r\n this.showActionPopup = true;\r\n sleep(Delay.MS_0).then(x => this.actionPopup.show(false));\r\n\r\n }\r\n\r\n public onPopupClosed() {\r\n this.showActionPopup = false;\r\n this.showHistoryPopup = false;\r\n }\r\n\r\n public onHistoryClick(): void {\r\n this.showHistoryPopup = true;\r\n sleep(Delay.MS_0).then(x => this.historyPopup.show());\r\n }\r\n}\r\n\r\nexport class StateModel {\r\n title: string;\r\n icon: string;\r\n date: string;\r\n\r\n active: boolean;\r\n locked: boolean;\r\n\r\n lineTop: boolean;\r\n lineTopActive: boolean;\r\n lineBottom: boolean;\r\n lineBottomActive: boolean;\r\n}","\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { ImageModule } from \"../../../../shared/components/image\";\r\n\r\nimport { VisualObjectIconComponent } from \"./visualObjectIconComponent\";\r\nimport { VisualObjectVaultIconComponent } from \"./visualObjectVaultIconComponent\";\r\n\r\nexport * from \"./visualObjectIconComponent\";\r\nexport * from \"./visualObjectVaultIconComponent\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ImageModule\r\n ],\r\n declarations: [\r\n VisualObjectIconComponent,\r\n VisualObjectVaultIconComponent\r\n ],\r\n exports: [\r\n VisualObjectIconComponent,\r\n VisualObjectVaultIconComponent\r\n ]\r\n})\r\nexport class VisualObjectIconModule {\r\n}","import { Component, Input, SimpleChanges } from \"@angular/core\";\r\nimport { BaseComponent } from \"../..\";\r\nimport { ParamType } from \"../shared\";\r\nimport { ChangeDetectionStrategy } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'visual-object-icon',\r\n templateUrl: './visualObjectIconComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class VisualObjectIconComponent extends BaseComponent {\r\n\r\n @Input()\r\n public size: number = 40;\r\n\r\n @Input()\r\n public iconSize: number = 16;\r\n\r\n /** Image set for svg. Like \"primary\", \"primary-dark\" etc. */\r\n @Input()\r\n imageSet: string = 'primary';\r\n\r\n @Input()\r\n backgroundImage: string;\r\n\r\n @Input()\r\n public paramType: ParamType;\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n }\r\n}\r\n","
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
","import { Component, Input, SimpleChanges } from \"@angular/core\";\r\nimport { BaseComponent } from \"../..\";\r\nimport { ParamType } from \"../shared\";\r\n\r\n@Component({\r\n selector: 'visual-object-vault-icon',\r\n templateUrl: './visualObjectVaultIconComponent.html'\r\n})\r\nexport class VisualObjectVaultIconComponent extends BaseComponent {\r\n\r\n @Input()\r\n public size: number = 40;\r\n\r\n @Input()\r\n public iconSize: number = 20;\r\n\r\n /** Image set for svg. Like \"primary\", \"primary-dark\" etc. */\r\n @Input()\r\n imageSet: string = 'primary';\r\n\r\n @Input()\r\n icon: string = \"images/59_2.png\"; //TODO\r\n\r\n ngOnInit() {\r\n }\r\n \r\n ngOnChanges(changes: SimpleChanges) {\r\n }\r\n}\r\n","
\r\n \r\n
","export * from './baseComponent';\r\nexport * from './uiComponent';\r\nexport * from './pageComponent';\r\nexport * from \"./baseActionCreator\";\r\nexport * from \"./baseActionBoxComponent\";\r\nexport * from \"./valueSyncType\"","export * from './sessionStorageData';\r\n","import { ImmutableObject } from \"../../../../shared/immutableObject\";\r\n\r\n// Used for persisting client specific data\r\nexport class SessionStorageData extends ImmutableObject {\r\n\r\n protected readonly USERNAME = \"username\";\r\n protected readonly ACCESS_TOKEN = \"ACCESS_TOKEN\";\r\n protected readonly WEB_SESSION_TOKEN = \"WEB_SESSION_TOKEN\";\r\n\r\n get username(): string { return this.getInternalValue(this.USERNAME); }\r\n setUsername(username: string) { return this.setInternalValue(this.USERNAME, username); }\r\n\r\n get accessToken(): string { return this.getInternalValue(this.ACCESS_TOKEN); }\r\n setAccessToken(accessToken: string) { return this.setInternalValue(this.ACCESS_TOKEN, accessToken); }\r\n\r\n get webSessionToken(): string { return this.getInternalValue(this.WEB_SESSION_TOKEN); }\r\n setWebSessionToken(webSessionToken: string) { return this.setInternalValue(this.WEB_SESSION_TOKEN, webSessionToken); }\r\n}","import { BaseEntity } from \"../../baseEntity\";\r\n\r\nexport class AbstractCodeValue extends BaseEntity {\r\n\r\n protected readonly ICON = \"icon\";\r\n protected readonly TITLE = \"title\";\r\n protected readonly VALUE = \"value\";\r\n protected readonly IS_BINARY = \"isBinary\";\r\n\r\n get icon(): string { return this.getInternalValue(this.ICON); }\r\n setIcon(icon: string): this { return this.setInternalValue(this.ICON, icon); }\r\n\r\n get title(): string { return this.getInternalValue(this.TITLE); }\r\n setTitle(title: string): this { return this.setInternalValue(this.TITLE, title); }\r\n\r\n get value(): string { return this.getInternalValue(this.VALUE); }\r\n setValue(value: string): this { return this.setInternalValue(this.VALUE, value); }\r\n\r\n get isBinary(): boolean { return this.getInternalValue(this.IS_BINARY); }\r\n setIsBinary(isBinary: boolean): this { return this.setInternalValue(this.IS_BINARY, isBinary); }\r\n}","import * as Immutable from \"immutable\"\r\n\r\nimport { BaseEntity } from \"../../baseEntity\"\r\n\r\nexport abstract class Assortment extends BaseEntity {\r\n\r\n protected readonly ICON = \"icon\";\r\n protected readonly IMAGE = \"image\";\r\n protected readonly ICON_RELATIVE_URL = \"iconRelativeUrl\";\r\n protected readonly IMAGE_RELATIVE_URL = \"imageRelativeUrl\";\r\n protected readonly NOTES = \"notes\";\r\n protected readonly TITLE = \"title\";\r\n protected readonly CHILDREN = \"childrenIds\";\r\n\r\n get icon(): string { return this.getInternalValue(this.ICON); }\r\n setIcon(icon: string): this { return this.setInternalValue(this.ICON, icon); }\r\n\r\n get image(): string { return this.getInternalValue(this.IMAGE); }\r\n setImage(image: string): this { return this.setInternalValue(this.IMAGE, image); }\r\n\r\n get iconRelativeUrl(): string { return this.getInternalValue(this.ICON_RELATIVE_URL); }\r\n setIconRelativeUrl(iconRelativeUrl: string): this { return this.setInternalValue(this.ICON_RELATIVE_URL, iconRelativeUrl); }\r\n\r\n get imageRelativeUrl(): string { return this.getInternalValue(this.IMAGE_RELATIVE_URL); }\r\n setImageRelativeUrl(helpImage: string): this { return this.setInternalValue(this.IMAGE_RELATIVE_URL, helpImage); }\r\n\r\n get notes(): string { return this.getInternalValue(this.NOTES); }\r\n setNotes(notes: string): this { return this.setInternalValue(this.NOTES, notes); }\r\n\r\n get title(): string { return this.getInternalValue(this.TITLE); }\r\n setTitle(title: string): this { return this.setInternalValue(this.TITLE, title); }\r\n\r\n get children(): Immutable.List { return this.getInternalValue>(this.CHILDREN); }\r\n setChildren(children: Immutable.List): this { return this.setInternalValue(this.CHILDREN, children); }\r\n}","import * as Immutable from \"immutable\";\r\nimport { BaseEntity } from \"../../baseEntity\";\r\n\r\nexport class Attribute extends BaseEntity {\r\n\r\n protected readonly TITLE = \"title\";\r\n protected readonly UNIT = \"unit\";\r\n protected readonly VALUE_TYPE = \"valueType\";\r\n\r\n get title(): string { return this.getInternalValue(this.TITLE); }\r\n setTitle(title: string): this { return this.setInternalValue(this.TITLE, title); }\r\n\r\n get unit(): string { return this.getInternalValue(this.UNIT); }\r\n setUnit(unit: string): this { return this.setInternalValue(this.UNIT, unit); }\r\n\r\n get valueType(): string { return this.getInternalValue(this.VALUE_TYPE); }\r\n setValueType(valueType: string): this { return this.setInternalValue(this.VALUE_TYPE, valueType); }\r\n}","import * as Immutable from \"immutable\";\r\nimport { BaseEntity } from \"../../baseEntity\";\r\nimport { Decoration } from \"./decoration\";\r\nimport { AttributeDecorationItem } from './attributeDecorationItem';\r\n\r\nexport class AttributeDecoration extends Decoration {\r\n\r\n protected readonly HIDE_ATTRIBUTES_WITH_EMPTY_VALUES = \"hideAttributesWithEmptyValues\";\r\n protected readonly HIDE_EMPTY_DECORATION = \"hideEmptyDecoration\";\r\n protected readonly ITEMS = \"items\";\r\n\r\n get hideAttributesWithEmptyValues(): boolean { return this.getInternalValue(this.HIDE_ATTRIBUTES_WITH_EMPTY_VALUES); }\r\n setHideAttributesWithEmptyValues(hideAttributesWithEmptyValues: boolean): this { return this.setInternalValue(this.HIDE_ATTRIBUTES_WITH_EMPTY_VALUES, hideAttributesWithEmptyValues); }\r\n\r\n get hideEmptyDecoration(): boolean { return this.getInternalValue(this.HIDE_EMPTY_DECORATION); }\r\n setHideEmptyDecoration(hideEmptyDecoration: boolean): this { return this.setInternalValue(this.HIDE_EMPTY_DECORATION, hideEmptyDecoration); }\r\n\r\n get items(): Immutable.List { return this.getInternalValue>(this.ITEMS); }\r\n setItems(value: Immutable.List): this { return this.setInternalValue(this.ITEMS, value); }\r\n\r\n}","import * as Immutable from \"immutable\";\r\nimport { ImmutableObject } from \"../../../../shared/immutableObject\";\r\n\r\nexport class AttributeDecorationItem extends ImmutableObject {\r\n\r\n protected readonly ATTRIBUTE_ID = \"attributeId\";\r\n protected readonly NUMERIC_FORMAT = \"numericFormat\";\r\n\r\n get attributeId(): number { return this.getInternalValue(this.ATTRIBUTE_ID); }\r\n setAttributeId(attributeId: number): this { return this.setInternalValue(this.ATTRIBUTE_ID, attributeId); }\r\n\r\n get numericFormat(): string { return this.getInternalValue(this.NUMERIC_FORMAT); }\r\n setNumericFormat(numericFormat: string): this { return this.setInternalValue(this.NUMERIC_FORMAT, numericFormat); }\r\n}","import { BaseEntity } from \"../../baseEntity\";\r\n\r\nexport class AuthorizationGroup extends BaseEntity {\r\n\r\n protected readonly TITLE = \"title\";\r\n\r\n get title(): string { return this.getInternalValue(this.TITLE); }\r\n setTitle(title: string): this { return this.setInternalValue(this.TITLE, title); }\r\n}","import * as Immutable from \"immutable\";\r\n\r\nimport { Decoration } from \"./decoration\";\r\nimport { BomColumnSetting } from \"../responses/bomColumnSetting\";\r\n\r\nexport class BomDecoration extends Decoration {\r\n\r\n protected readonly COLUMN_SETTINGS = \"columnSettings\";\r\n protected readonly CHILD_CONFIGURATION_COLUMN_SETTINGS = \"childConfigurationColumnSettings\";\r\n protected readonly IS_ALLOW_OPERATION_SEQUENCE_EDIT = \"isAllowOperationSequenceEdit\";\r\n protected readonly ALLOW_MANUALLY_ADDED_ITEMS = \"allowManuallyAddedItems\";\r\n protected readonly SHOW_IN_CONFIGURATOR = \"showInConfigurator\";\r\n protected readonly SHOW_IN_SUMMARY_AS_CALCULATED = \"showInSummaryAsCalculated\";\r\n protected readonly SHOW_IN_SUMMARY_AS_STORED = \"showInSummaryAsStored\";\r\n protected readonly PAGE_SIZE = \"pageSize\";\r\n\r\n get columnSettings(): Immutable.List { return this.getInternalValue>(this.COLUMN_SETTINGS); }\r\n setColumnSettings(columnSettings: Immutable.List): this { return this.setInternalValue(this.COLUMN_SETTINGS, columnSettings); }\r\n\r\n get childConfigurationColumnSettings(): Immutable.List { return this.getInternalValue>(this.CHILD_CONFIGURATION_COLUMN_SETTINGS); }\r\n setChildConfigurationColumnSettings(childConfigurationColumnSettings: Immutable.List): this { return this.setInternalValue(this.CHILD_CONFIGURATION_COLUMN_SETTINGS, childConfigurationColumnSettings); }\r\n\r\n get isAllowOperationSequenceEdit(): boolean { return this.getInternalValue(this.IS_ALLOW_OPERATION_SEQUENCE_EDIT); }\r\n setIsAllowOperationSequenceEdit(isAllowOperationSequenceEdit: boolean): this { return this.setInternalValue(this.IS_ALLOW_OPERATION_SEQUENCE_EDIT, isAllowOperationSequenceEdit); }\r\n\r\n get allowManuallyAddedItems(): boolean { return this.getInternalValue(this.ALLOW_MANUALLY_ADDED_ITEMS); }\r\n setAllowManuallyAddedItems(allowManuallyAddedItems: boolean): this { return this.setInternalValue(this.ALLOW_MANUALLY_ADDED_ITEMS, allowManuallyAddedItems); }\r\n\r\n get showInConfigurator(): boolean { return this.getInternalValue(this.SHOW_IN_CONFIGURATOR); }\r\n setShowInConfigurator(showInConfigurator: boolean): this { return this.setInternalValue(this.SHOW_IN_CONFIGURATOR, showInConfigurator); }\r\n\r\n get showInSummaryAsCalculated(): boolean { return this.getInternalValue(this.SHOW_IN_SUMMARY_AS_CALCULATED); }\r\n setShowInSummaryAsCalculated(showInSummaryAsCalculated: boolean): this { return this.setInternalValue(this.SHOW_IN_SUMMARY_AS_CALCULATED, showInSummaryAsCalculated); }\r\n\r\n get showInSummaryAsStored(): boolean { return this.getInternalValue(this.SHOW_IN_SUMMARY_AS_STORED); }\r\n setShowInSummaryAsStored(showInSummaryAsStored: boolean): this { return this.setInternalValue(this.SHOW_IN_SUMMARY_AS_STORED, showInSummaryAsStored); }\r\n\r\n get pageSize(): number { return this.getInternalValue(this.PAGE_SIZE); }\r\n setPageSize(pageSize: number): this { return this.setInternalValue(this.PAGE_SIZE, pageSize); }\r\n\r\n}","import * as Immutable from \"immutable\";\r\nimport { BaseEntity } from \"../../baseEntity\";\r\nimport { Param } from \"./param\";\r\n\r\nexport class BoolParam extends Param \r\n{\r\n protected readonly THREE_STATE = \"threeState\";\r\n\r\n get threeState(): boolean { return this.getInternalValue(this.THREE_STATE); }\r\n setThreeState(threeState: boolean): this { return this.setInternalValue(this.THREE_STATE, threeState); }\r\n}","import * as Immutable from \"immutable\";\r\nimport { Decoration } from \"./decoration\";\r\nimport { BaseEntity } from \"../../baseEntity\";\r\nimport { CodeDecorationItem } from \"./codeDecorationItem\";\r\n\r\nexport class CodeDecoration extends Decoration {\r\n\r\n protected readonly DISPLAY_STYLE = \"displayStyle\";\r\n protected readonly SUMMARY_DISPLAY_STYLE = \"summaryDisplayStyle\";\r\n protected readonly HIDE_EMPTY_DECORATION = \"hideEmptyDecoration\";\r\n protected readonly SHOW_IN_CONFIGURATOR = \"showInConfigurator\";\r\n protected readonly SHOW_IN_SUMMARY = \"showInSummary\";\r\n protected readonly ITEMS = \"items\";\r\n protected readonly HEIGHT = \"height\";\r\n\r\n get displayStyle(): string { return this.getInternalValue(this.DISPLAY_STYLE); }\r\n setdisplayStyle(displayStyle: string): this { return this.setInternalValue(this.DISPLAY_STYLE, displayStyle); }\r\n\r\n get hideEmptyDecoration(): boolean { return this.getInternalValue(this.HIDE_EMPTY_DECORATION); }\r\n sethideEmptyDecoration(hideEmptyDecoration: boolean): this { return this.setInternalValue(this.HIDE_EMPTY_DECORATION, hideEmptyDecoration); }\r\n\r\n get showInConfigurator(): boolean { return this.getInternalValue(this.SHOW_IN_CONFIGURATOR); }\r\n setshowInConfigurator(showInConfigurator: boolean): this { return this.setInternalValue(this.SHOW_IN_CONFIGURATOR, showInConfigurator); }\r\n\r\n get showInSummary(): boolean { return this.getInternalValue(this.SHOW_IN_SUMMARY); }\r\n setshowInSummary(showInSummary: boolean): this { return this.setInternalValue(this.SHOW_IN_SUMMARY, showInSummary); }\r\n\r\n get summaryDisplayStyle(): string { return this.getInternalValue(this.SUMMARY_DISPLAY_STYLE); }\r\n setSummaryDisplayStyle(summaryDisplayStyle: string): this { return this.setInternalValue(this.SUMMARY_DISPLAY_STYLE, summaryDisplayStyle); }\r\n\r\n get items(): Immutable.List { return this.getInternalValue>(this.ITEMS); }\r\n setItems(items: Immutable.List): this { return this.setInternalValue(this.ITEMS, items); }\r\n\r\n get height(): number { return this.getInternalValue(this.HEIGHT); }\r\n setHeight(height: number): this { return this.setInternalValue(this.HEIGHT, height); }\r\n\r\n}\r\n\r\nexport enum CodeDisplayStyles {\r\n Render = 'Render',\r\n Popup = 'Popup',\r\n DownloadLink = 'DownloadLink'\r\n}","import * as Immutable from \"immutable\";\r\nimport { ImmutableObject } from \"../../../../shared/immutableObject\";\r\n\r\nexport class CodeDecorationItem extends ImmutableObject {\r\n\r\n protected readonly CODE_FILE_ID = \"codeFileId\";\r\n protected readonly CODE_FILE_TITLE = \"codeFileTitle\"; \r\n\r\n get codeFileId(): number { return this.getInternalValue(this.CODE_FILE_ID); }\r\n setCodeFileId(codeFileId: number): this { return this.setInternalValue(this.CODE_FILE_ID, codeFileId); }\r\n\r\n get codeFileTitle(): string { return this.getInternalValue(this.CODE_FILE_TITLE); }\r\n setCodeFileTitle(codeFileTitle: string): this { return this.setInternalValue(this.CODE_FILE_TITLE, codeFileTitle); }\r\n\r\n}","import * as Immutable from \"immutable\";\r\nimport { ImmutableObject } from \"../../../../shared/immutableObject\";\r\nimport { ComparisonValue } from \"./comparisonValue\";\r\n\r\nexport class Comparison extends ImmutableObject {\r\n \r\n protected readonly TITLE = \"title\";\r\n protected readonly ICON = \"icon\";\r\n protected readonly VALUES = \"values\";\r\n protected readonly CHILDREN = \"children\";\r\n \r\n\r\n get title(): string { return this.getInternalValue(this.TITLE); }\r\n setTitle(title: string): this { return this.setInternalValue(this.TITLE, title); }\r\n\r\n get icon(): string { return this.getInternalValue(this.ICON); }\r\n setIcon(icon: string): this { return this.setInternalValue(this.ICON, icon); }\r\n\r\n get values(): Immutable.List { return this.getInternalValue>(this.VALUES); }\r\n setValues(values: Immutable.List): this { return this.setInternalValue(this.VALUES, values); }\r\n\r\n get children(): Immutable.List { return this.getInternalValue>(this.CHILDREN); }\r\n setChildren(children: Immutable.List): this { return this.setInternalValue(this.CHILDREN, children); }\r\n \r\n}","import * as Immutable from \"immutable\";\r\nimport { ImmutableObject } from \"../../../../shared/immutableObject\";\r\nimport { KeyValue } from \"../responses\";\r\n\r\nexport class ComparisonValue extends ImmutableObject {\r\n\r\n protected readonly TITLE = \"title\";\r\n protected readonly UNIT = \"unit\";\r\n protected readonly TYPE = \"type\";\r\n protected readonly ICONS = \"icons\";\r\n protected readonly VALUES = \"values\"; \r\n protected readonly DIFFERENCY_LEVELS = \"differencyLevels\"; \r\n\r\n\r\n get title(): string { return this.getInternalValue(this.TITLE); }\r\n setTitle(title: string): this { return this.setInternalValue(this.TITLE, title); }\r\n\r\n get unit(): string { return this.getInternalValue(this.UNIT); }\r\n setUnit(unit: string): this { return this.setInternalValue(this.UNIT, unit); }\r\n\r\n get type(): string { return this.getInternalValue(this.TYPE); }\r\n setType(type: string): this { return this.setInternalValue(this.TYPE, type); }\r\n\r\n get icons(): Immutable.List { return this.getInternalValue>(this.ICONS); }\r\n setIcons(icons: Immutable.List): this { return this.setInternalValue(this.ICONS, icons); }\r\n\r\n get values(): Immutable.List> { return this.getInternalValue>>(this.VALUES); }\r\n setValues(values: Immutable.List>): this { return this.setInternalValue(this.VALUES, values); }\r\n\r\n get differencyLevels(): Immutable.List { return this.getInternalValue>(this.DIFFERENCY_LEVELS); }\r\n setDifferencyLevels(differencyLevels: Immutable.List): this { return this.setInternalValue(this.DIFFERENCY_LEVELS, differencyLevels); }\r\n \r\n}","import * as Immutable from \"immutable\";\r\n\r\nimport {\r\n ConfPriceValue, ConfDocumentValue, ConfPropertyValue, ConfBomValue,\r\n ConfReport, ConfRevision, ConfHistory, StoredConf, RefObject, ConfAuthorization,\r\n ConfAttachment, ConfUIItem, ConfFormValue\r\n} from \"..\";\r\nimport { ParamInfo } from \"../responses\";\r\nimport { BaseSyncObject } from \"../../baseSyncObject\";\r\nimport { ConfImageValue } from \"./confImageValue\";\r\n\r\nexport class Conf extends BaseSyncObject {\r\n\r\n protected readonly NAME = \"name\";\r\n protected readonly IDENTITY = \"identity\";\r\n protected readonly PRODUCT_ID = \"productId\";\r\n protected readonly ROOT_ID = \"rootId\";\r\n protected readonly COPIED_FROM_ID = \"copiedFromId\";\r\n protected readonly STATE = \"state\";\r\n protected readonly OWNED_BY = \"ownedBy\";\r\n protected readonly IMAGE_KEY = \"imageKey\";\r\n protected readonly ANONYMOUS_ACCESS_USER_EMAIL = \"anonymousAccessUserEmail\";\r\n protected readonly AUTHORIZATION = \"authorization\";\r\n protected readonly CHILDREN = \"children\";\r\n protected readonly CONF_VALUES = \"confValues\";\r\n protected readonly CODE_VALUES = \"codeValues\"; \r\n protected readonly VISUALIZATION_VALUES = \"visualizationValues\";\r\n protected readonly CONF_PROPERTY_VALUES = \"confPropertyValues\";\r\n protected readonly ATTRIBUTE_VALUES = \"attributeValues\";\r\n protected readonly IMAGE_VALUES = \"imageValues\";\r\n protected readonly BOM_VALUES = \"bomValues\"; \r\n protected readonly GRAPHIC_VALUES = \"graphicsValues\";\r\n protected readonly DATA_SELECTOR_VALUES = \"dataSelectorValues\";\r\n protected readonly FORM_VALUES = \"formValues\";\r\n protected readonly PRICE_VALUE = \"priceValue\";\r\n protected readonly DOCUMENT_VALUES = \"documentValues\";\r\n protected readonly REPORTS = \"reports\"; \r\n protected readonly ATTACHMENTS = \"attachments\";\r\n protected readonly REVISIONS = \"revisions\";\r\n protected readonly HISTORIES = \"histories\";\r\n protected readonly NEW_PARAMETERS = \"newParameters\";\r\n protected readonly OLD_PARAMETERS = \"oldParameters\"; \r\n protected readonly STORED_DATA = \"storedData\";\r\n protected readonly UI_ITEMS = \"uiItems\";\r\n\r\n get name(): string { return this.getInternalValue(this.NAME); }\r\n setName(name: string): this { return this.setInternalValue(this.NAME, name); }\r\n\r\n get identity(): string { return this.getInternalValue(this.IDENTITY); }\r\n setIdentity(identity: string): this { return this.setInternalValue(this.IDENTITY, identity); }\r\n\r\n get productId(): number { return this.getInternalValue(this.PRODUCT_ID); }\r\n setProductId(productId: number): this { return this.setInternalValue(this.PRODUCT_ID, productId); }\r\n\r\n get rootId(): number { return this.getInternalValue(this.ROOT_ID); }\r\n setRootId(rootId: number): this { return this.setInternalValue(this.ROOT_ID, rootId); }\r\n\r\n get copiedFromId(): number { return this.getInternalValue(this.COPIED_FROM_ID); }\r\n setCopiedFromId(copiedFromId: number): this { return this.setInternalValue(this.COPIED_FROM_ID, copiedFromId); }\r\n\r\n get state(): RefObject { return this.getInternalValue(this.STATE); }\r\n setState(state: RefObject): this { return this.setInternalValue(this.STATE, state); }\r\n\r\n get ownedBy(): RefObject { return this.getInternalValue(this.OWNED_BY); }\r\n setownedBy(ownedBy: RefObject): this { return this.setInternalValue(this.OWNED_BY, ownedBy); }\r\n\r\n get imageKey(): boolean { return this.getInternalValue(this.IMAGE_KEY); }\r\n setImageKey(imageKey: boolean): this { return this.setInternalValue(this.IMAGE_KEY, imageKey); }\r\n\r\n get anonymousAccessUserEmail(): string { return this.getInternalValue(this.ANONYMOUS_ACCESS_USER_EMAIL); }\r\n setAnonymousAccessUserEmail(anonymousAccessUserEmail: string): this { return this.setInternalValue(this.ANONYMOUS_ACCESS_USER_EMAIL, anonymousAccessUserEmail); }\r\n\r\n get authorization(): ConfAuthorization { return this.getInternalValue(this.AUTHORIZATION); }\r\n setAuthorization(authorization: ConfAuthorization): this { return this.setInternalValue(this.AUTHORIZATION, authorization); }\r\n\r\n get children(): Immutable.List { return this.getInternalValue>(this.CHILDREN); }\r\n setChildren(children: Immutable.List): this { return this.setInternalValue(this.CHILDREN, children); }\r\n\r\n get confValues(): Immutable.List { return this.getInternalValue>(this.CONF_VALUES); }\r\n setConfValues(confValues: Immutable.List): this { return this.setInternalValue(this.CONF_VALUES, confValues); }\r\n\r\n get priceValue(): ConfPriceValue { return this.getInternalValue(this.PRICE_VALUE); }\r\n setPriceValue(priceValue: ConfPriceValue): this { return this.setInternalValue(this.PRICE_VALUE, priceValue); }\r\n\r\n get documentValues(): Immutable.List { return this.getInternalValue>(this.DOCUMENT_VALUES); }\r\n setDocumentValues(documentValues: Immutable.List): this { return this.setInternalValue(this.DOCUMENT_VALUES, documentValues); }\r\n\r\n get graphicsValues(): Immutable.List { return this.getInternalValue>(this.GRAPHIC_VALUES); }\r\n setGraphicsValues(graphicsValues: Immutable.List): this { return this.setInternalValue(this.GRAPHIC_VALUES, graphicsValues); }\r\n\r\n get codeValues(): Immutable.List { return this.getInternalValue>(this.CODE_VALUES); }\r\n setCodeValues(codeValues: Immutable.List): this { return this.setInternalValue(this.CODE_VALUES, codeValues); }\r\n\r\n get visualizationValues(): Immutable.List { return this.getInternalValue>(this.VISUALIZATION_VALUES); }\r\n setVisualizationValues(visualizationValues: Immutable.List): this { return this.setInternalValue(this.VISUALIZATION_VALUES, visualizationValues); }\r\n \r\n get confPropertyValues(): Immutable.List { return this.getInternalValue>(this.CONF_PROPERTY_VALUES); }\r\n setConfPropertyValues(confPropertyValues: Immutable.List): this { return this.setInternalValue(this.CONF_PROPERTY_VALUES, confPropertyValues); }\r\n\r\n get attributeValues(): Immutable.List { return this.getInternalValue>(this.ATTRIBUTE_VALUES); }\r\n setAttributeValues(attributeValues: Immutable.List): this { return this.setInternalValue(this.ATTRIBUTE_VALUES, attributeValues); }\r\n\r\n get dataSelectorValues(): Immutable.List { return this.getInternalValue>(this.DATA_SELECTOR_VALUES); }\r\n setDataSelectorValues(dataSelectorValues: Immutable.List): this { return this.setInternalValue(this.DATA_SELECTOR_VALUES, dataSelectorValues); }\r\n\r\n get formValues(): Immutable.List { return this.getInternalValue>(this.FORM_VALUES); }\r\n setFormValues(bomValues: Immutable.List): this { return this.setInternalValue(this.FORM_VALUES, bomValues); }\r\n\r\n get bomValues(): Immutable.List { return this.getInternalValue>(this.BOM_VALUES); }\r\n setBomValues(bomValues: Immutable.List): this { return this.setInternalValue(this.BOM_VALUES, bomValues); }\r\n\r\n get imageValues(): Immutable.List { return this.getInternalValue>(this.IMAGE_VALUES); }\r\n setImageValues(attachments: Immutable.List): this { return this.setInternalValue(this.IMAGE_VALUES, attachments); }\r\n\r\n get reports(): Immutable.List { return this.getInternalValue>(this.REPORTS); }\r\n setReports(reports: Immutable.List): this { return this.setInternalValue(this.REPORTS, reports); }\r\n\r\n get attachments(): Immutable.List { return this.getInternalValue>(this.ATTACHMENTS); }\r\n setAttachments(attachments: Immutable.List): this { return this.setInternalValue(this.ATTACHMENTS, attachments); }\r\n\r\n get revisions(): Immutable.List { return this.getInternalValue>(this.REVISIONS); }\r\n setRevisions(revisions: Immutable.List): this { return this.setInternalValue(this.REVISIONS, revisions); }\r\n\r\n get histories(): Immutable.List { return this.getInternalValue>(this.HISTORIES); }\r\n setHistories(histories: Immutable.List): this { return this.setInternalValue(this.HISTORIES, histories); }\r\n\r\n get newParameters(): Immutable.List { return this.getInternalValue>(this.NEW_PARAMETERS); }\r\n setNewParameters(newParameters: Immutable.List): this { return this.setInternalValue(this.NEW_PARAMETERS, newParameters); }\r\n\r\n get oldParameters(): Immutable.List { return this.getInternalValue>(this.OLD_PARAMETERS); }\r\n setOldParameters(oldParameters: Immutable.List): this { return this.setInternalValue(this.OLD_PARAMETERS, oldParameters); }\r\n\r\n get uiItems(): Immutable.List { return this.getInternalValue>(this.UI_ITEMS); }\r\n setUIItems(uiItems: Immutable.List): this { return this.setInternalValue(this.UI_ITEMS, uiItems); }\r\n\r\n get storedData(): StoredConf { return this.getInternalValue(this.STORED_DATA); }\r\n setStoredData(storedData: StoredConf): this { return this.setInternalValue(this.STORED_DATA, storedData); } \r\n\r\n}","import { BaseEntity } from \"../../baseEntity\";\r\n\r\nexport class ConfAttachment extends BaseEntity {\r\n\r\n protected readonly TITLE = \"title\";\r\n protected readonly ICON = \"icon\";\r\n\r\n get title(): string { return this.getInternalValue(this.TITLE); }\r\n setTitle(title: string): this { return this.setInternalValue(this.TITLE, title); }\r\n\r\n get icon(): string { return this.getInternalValue(this.ICON); }\r\n setIcon(icon: string): this { return this.setInternalValue(this.ICON, icon); }\r\n}","import * as Immutable from \"immutable\";\r\nimport { BaseEntity } from \"../../baseEntity\";\r\n\r\nexport class ConfAttributeValue extends BaseEntity {\r\n\r\n protected readonly TITLE = \"title\";\r\n protected readonly VALUE = \"value\";\r\n protected readonly UNIT = \"unit\";\r\n protected readonly VALUE_TYPE = \"valueType\";\r\n protected readonly VALUE_BY_NUMERIC_FORMAT = \"valueByNumericFormat\";\r\n\r\n get title(): string { return this.getInternalValue(this.TITLE); }\r\n setTitle(title: string): this { return this.setInternalValue(this.TITLE, title); }\r\n\r\n get value(): string { return this.getInternalValue(this.VALUE); }\r\n setValue(value: string): this { return this.setInternalValue(this.VALUE, value); }\r\n\r\n get unit(): string { return this.getInternalValue(this.UNIT); }\r\n setUnit(unit: string): this { return this.setInternalValue(this.UNIT, unit); }\r\n\r\n get valueType(): string { return this.getInternalValue(this.VALUE_TYPE); }\r\n setValueType(valueType: string): this { return this.setInternalValue(this.VALUE_TYPE, valueType); }\r\n\r\n get valueByNumericFormat(): Immutable.Map { return this.getInternalValue>(this.VALUE_BY_NUMERIC_FORMAT); }\r\n setValueByNumericFormat(valueByNumericFormat: Immutable.Map): this { return this.setInternalValue(this.VALUE_BY_NUMERIC_FORMAT, valueByNumericFormat); }\r\n}","import * as Immutable from \"immutable\";\r\n\r\nimport { ImmutableObject } from \"../../../../shared/immutableObject\";\r\n\r\nexport class ConfAuthorization extends ImmutableObject {\r\n\r\n readonly CAN_VIEW_STATE = \"canViewState\";\r\n readonly CAN_PROMOTE_STATE = \"canPromoteState\";\r\n readonly CAN_DEMOTE_STATE = \"canDemoteState\";\r\n readonly CAN_VIEW_HISTORY = \"canViewHistory\";\r\n readonly CAN_EDIT = \"canEdit\";\r\n readonly CAN_RECOVER = \"canRecover\";\r\n readonly CAN_REVISE = \"canRevise\";\r\n readonly CAN_VIEW_REVISIONS = \"canViewRevisions\";\r\n readonly CAN_REUSE = \"canReuse\";\r\n readonly CAN_SAVE = \"canSave\"; \r\n readonly CAN_DELETE = \"canDelete\";\r\n readonly CAN_CHANGE_OWNERSHIP = \"canChangeOwnership\";\r\n readonly TAKE_OWNERSHIP_TO_WORKGROUP_IDS = \"takeOwnershipToWorkGroupIds\";\r\n readonly CAN_PRINT = \"canPrint\";\r\n readonly CAN_VIEW_DOCUMENTS = \"canViewDocuments\";\r\n readonly CAN_VIEW_ATTACHMENTS = \"canViewAttachments\";\r\n readonly CAN_ADD_ATTACHMENT = \"canAddAttachment\";\r\n readonly CAN_DELETE_ATTACHMENT = \"canDeleteAttachment\";\r\n readonly CAN_VIEW_REPORTS = \"canViewReports\";\r\n readonly CAN_CHANGE_PRICE_LIST_CATEGORY = \"canChangePriceListCategory\";\r\n readonly CAN_CHANGE_CURRENCY = \"canChangeCurrency\";\r\n readonly CAN_EMAIL_LINK = \"canEmailLink\";\r\n readonly CAN_MAKE_COPIES = \"canMakeCopies\";\r\n readonly CAN_ADD_CHILD = \"canAddChild\";\r\n readonly IS_SAVE_OPERATION_DISALLOWED = \"isSaveOperationDisallowed\";\r\n readonly IS_REVISE_OPERATION_DISALLOWED = \"isReviseOperationDisallowed\";\r\n\r\n get canViewState(): boolean { return this.getInternalValue(this.CAN_VIEW_STATE); }\r\n setCanViewState(canViewState: boolean): this { return this.setInternalValue(this.CAN_VIEW_STATE, canViewState); }\r\n\r\n get canPromoteState(): boolean { return this.getInternalValue(this.CAN_PROMOTE_STATE); }\r\n setCanPromoteState(canPromoteState: boolean): this { return this.setInternalValue(this.CAN_PROMOTE_STATE, canPromoteState); }\r\n \r\n get canDemoteState(): boolean { return this.getInternalValue(this.CAN_DEMOTE_STATE); }\r\n setCanDemoteState(canDemoteState: boolean): this { return this.setInternalValue(this.CAN_DEMOTE_STATE, canDemoteState); }\r\n \r\n get canViewHistory(): boolean { return this.getInternalValue(this.CAN_VIEW_HISTORY); }\r\n setCanViewHistory(canViewHistory: boolean): this { return this.setInternalValue(this.CAN_VIEW_HISTORY, canViewHistory); }\r\n\r\n get canEdit(): boolean { return this.getInternalValue(this.CAN_EDIT); }\r\n setCanEdit(canEdit: boolean): this { return this.setInternalValue(this.CAN_EDIT, canEdit); }\r\n\r\n get canRecover(): boolean { return this.getInternalValue(this.CAN_RECOVER); }\r\n setCanRecover(canRecover: boolean): this { return this.setInternalValue(this.CAN_RECOVER, canRecover); }\r\n\r\n get canRevise(): boolean { return this.getInternalValue(this.CAN_REVISE); }\r\n setCanRevise(canRevise: boolean): this { return this.setInternalValue(this.CAN_REVISE, canRevise); }\r\n\r\n get canViewRevisions(): boolean { return this.getInternalValue(this.CAN_VIEW_REVISIONS); }\r\n setCanViewRevisions(canViewRevisions: boolean): this { return this.setInternalValue(this.CAN_VIEW_REVISIONS, canViewRevisions); }\r\n\r\n get canReuse(): boolean { return this.getInternalValue(this.CAN_REUSE); }\r\n setCanReuse(canReuse: boolean): this { return this.setInternalValue(this.CAN_REUSE, canReuse); }\r\n\r\n get canMakeCopies(): boolean { return this.getInternalValue(this.CAN_MAKE_COPIES); }\r\n setCanMakeCopies(canMakeCopies: boolean): this { return this.setInternalValue(this.CAN_MAKE_COPIES, canMakeCopies); }\r\n\r\n get canAddChild(): boolean { return this.getInternalValue(this.CAN_ADD_CHILD); }\r\n setCanAddChild(canAddChild: boolean): this { return this.setInternalValue(this.CAN_ADD_CHILD, canAddChild); }\r\n\r\n get canDelete(): boolean { return this.getInternalValue(this.CAN_DELETE); }\r\n setCanDelete(canDelete: boolean): this { return this.setInternalValue(this.CAN_DELETE, canDelete); }\r\n\r\n get canChangeOwnership(): boolean { return this.getInternalValue(this.CAN_CHANGE_OWNERSHIP); }\r\n setCanChangeOwnership(canChangeOwnership: boolean): this { return this.setInternalValue(this.CAN_CHANGE_OWNERSHIP, canChangeOwnership); }\r\n\r\n get takeOwnershipToWorkGroupIds(): Immutable.List { return this.getInternalValue>(this.TAKE_OWNERSHIP_TO_WORKGROUP_IDS); }\r\n setTakeOwnershipToWorkGroupIds(takeOwnershipToWorkGroupIds: Immutable.List): this { return this.setInternalValue(this.TAKE_OWNERSHIP_TO_WORKGROUP_IDS, takeOwnershipToWorkGroupIds); }\r\n\r\n get canPrint(): boolean { return this.getInternalValue(this.CAN_PRINT); }\r\n setCanPrint(canPrint: boolean): this { return this.setInternalValue(this.CAN_PRINT, canPrint); }\r\n\r\n get canViewDocuments(): boolean { return this.getInternalValue(this.CAN_VIEW_DOCUMENTS); }\r\n setCanViewDocuments(canViewDocuments: boolean): this { return this.setInternalValue(this.CAN_VIEW_DOCUMENTS, canViewDocuments); }\r\n\r\n get canViewAttachments(): boolean { return this.getInternalValue(this.CAN_VIEW_ATTACHMENTS); }\r\n setCanViewAttachments(canViewAttachments: boolean): this { return this.setInternalValue(this.CAN_VIEW_ATTACHMENTS, canViewAttachments); }\r\n\r\n get canAddAttachment(): boolean { return this.getInternalValue(this.CAN_ADD_ATTACHMENT); }\r\n setCanAddAttachment(canAddAttachment: boolean): this { return this.setInternalValue(this.CAN_ADD_ATTACHMENT, canAddAttachment); }\r\n\r\n get canDeleteAttachment(): boolean { return this.getInternalValue(this.CAN_DELETE_ATTACHMENT); }\r\n setCanDeleteAttachment(canDeleteAttachment: boolean): this { return this.setInternalValue(this.CAN_DELETE_ATTACHMENT, canDeleteAttachment); }\r\n\r\n get canViewReports(): boolean { return this.getInternalValue(this.CAN_VIEW_REPORTS); }\r\n setCanViewReports(canViewReports: boolean): this { return this.setInternalValue(this.CAN_VIEW_REPORTS, canViewReports); }\r\n\r\n get canChangePriceListCategory(): boolean { return this.getInternalValue(this.CAN_CHANGE_PRICE_LIST_CATEGORY); }\r\n setCanChangePriceListCategory(canChangePriceListCategory: boolean): this { return this.setInternalValue(this.CAN_CHANGE_PRICE_LIST_CATEGORY, canChangePriceListCategory); }\r\n\r\n get canChangeCurrency(): boolean { return this.getInternalValue(this.CAN_CHANGE_CURRENCY); }\r\n setCanChangeCurrency(canChangeCurrency: boolean): this { return this.setInternalValue(this.CAN_CHANGE_CURRENCY, canChangeCurrency); }\r\n\r\n get canEmailLink(): boolean { return this.getInternalValue(this.CAN_EMAIL_LINK); }\r\n setCanEmailLink(canEmailLink: boolean): this { return this.setInternalValue(this.CAN_EMAIL_LINK, canEmailLink); }\r\n\r\n get canSave(): boolean { return this.getInternalValue(this.CAN_SAVE); }\r\n setSave(canSave: boolean): this { return this.setInternalValue(this.CAN_SAVE, canSave); }\r\n\r\n get isSaveOperationDisallowed(): boolean { return this.getInternalValue(this.IS_SAVE_OPERATION_DISALLOWED); }\r\n setIsSaveOperationDisallowed(isSaveOperationDisallowed: boolean): this { return this.setInternalValue(this.IS_SAVE_OPERATION_DISALLOWED, isSaveOperationDisallowed); }\r\n\r\n get isReviseOperationDisallowed(): boolean { return this.getInternalValue(this.IS_REVISE_OPERATION_DISALLOWED); }\r\n setIsReviseOperationDisallowed(isReviseOperationDisallowed: boolean): this { return this.setInternalValue(this.IS_REVISE_OPERATION_DISALLOWED, isReviseOperationDisallowed); }\r\n\r\n\r\n}","\r\nimport { BaseEntity } from \"../../baseEntity\"\r\n\r\nexport abstract class ConfAutoCompleteItem extends BaseEntity {\r\n\r\n protected readonly IDENTITY = \"identity\";\r\n protected readonly TEXT = \"text\"; \r\n protected readonly REVISION = \"revision\";\r\n\r\n get identity(): string { return this.getInternalValue(this.IDENTITY); }\r\n setIdentity(identity: string): this { return this.setInternalValue(this.IDENTITY, identity); }\r\n\r\n get text(): string { return this.getInternalValue(this.TEXT); }\r\n setText(text: string): this { return this.setInternalValue(this.TEXT, text); }\r\n \r\n get revision(): string { return this.getInternalValue(this.REVISION); }\r\n setRevision(revision: string): this { return this.setInternalValue(this.REVISION, revision); }\r\n}","import { Grid } from \"../responses\";\r\nimport { BaseEntity } from \"../../baseEntity\";\r\n\r\nexport class ConfBomValue extends BaseEntity {\r\n\r\n protected readonly GRID_DATA = \"gridData\";\r\n protected readonly CHILDREN_GRID_DATA = \"childrenGridData\";\r\n protected readonly GRAND_TOTAL = \"grandTotal\";\r\n\r\n get gridData(): Grid { return this.getInternalValue(this.GRID_DATA); }\r\n setGridData(gridData: Grid): this { return this.setInternalValue(this.GRID_DATA, gridData); }\r\n\r\n get childrenGridData(): Grid { return this.getInternalValue(this.CHILDREN_GRID_DATA); }\r\n setChildrenGridData(childrenGridData: Grid): this { return this.setInternalValue(this.CHILDREN_GRID_DATA, childrenGridData); }\r\n\r\n get grandTotal(): Grid { return this.getInternalValue(this.GRAND_TOTAL); }\r\n setGrandTotal(grandTotal: Grid): this { return this.setInternalValue(this.GRAND_TOTAL, grandTotal); }\r\n}","import * as Immutable from \"immutable\";\r\nimport { BaseEntity } from \"../../baseEntity\";\r\nimport { ConfValue } from \"./confValue\";\r\n\r\nexport class ConfBoolValue extends ConfValue {\r\n\r\n protected readonly VALUE = \"value\";\r\n protected readonly IS_DISALLOWED = \"isDisallowed\";\r\n\r\n get value(): boolean { return this.getInternalValue(this.VALUE); }\r\n setValue(value: boolean): this { return this.setInternalValue(this.VALUE, value); }\r\n\r\n get isDisallowed(): boolean { return this.getInternalValue(this.IS_DISALLOWED); }\r\n setIsDisallowed(isDisallowed: boolean): this { return this.setInternalValue(this.IS_DISALLOWED, isDisallowed); }\r\n}","import { AbstractCodeValue } from \"./abstractCodeValue\";\r\n\r\nexport class ConfCodeValue extends AbstractCodeValue {\r\n \r\n \r\n}","import * as Immutable from \"immutable\";\r\n\r\nimport { BaseEntity } from \"../../baseEntity\";\r\nimport { Grid } from \"../responses/grid\";\r\n\r\nexport class ConfDataSelectorValue extends BaseEntity {\r\n\r\n protected readonly VALUE = \"value\";\r\n protected readonly KEY_ID = \"keyId\";\r\n protected readonly GRID_DATA = \"gridData\";\r\n protected readonly IS_HIDDEN = \"isHidden\";\r\n\r\n get value(): string { return this.getInternalValue(this.VALUE); }\r\n setValue(value: string): this { return this.setInternalValue(this.VALUE, value); }\r\n\r\n get keyId(): number { return this.getInternalValue(this.KEY_ID); }\r\n setKeyId(keyId: number): this { return this.setInternalValue(this.KEY_ID, keyId); }\r\n\r\n get gridData(): Grid { return this.getInternalValue(this.GRID_DATA); }\r\n setGridData(gridData: Grid): this { return this.setInternalValue(this.GRID_DATA, gridData); }\r\n\r\n get isHidden(): boolean { return this.getInternalValue(this.IS_HIDDEN); }\r\n setIsHidden(isHidden: boolean): this { return this.setInternalValue(this.IS_HIDDEN, isHidden); }\r\n}","import * as Immutable from \"immutable\";\r\nimport { BaseEntity } from \"../../baseEntity\";\r\n\r\nexport class ConfDocumentValue extends BaseEntity {\r\n\r\n protected readonly TITLE = \"title\";\r\n protected readonly FILE_URL = \"fileUrl\";\r\n protected readonly FILE_EXISTS = \"fileExists\";\r\n protected readonly FILE_TYPE = \"fileType\";\r\n\r\n get title(): string { return this.getInternalValue(this.TITLE); }\r\n setTitle(title: string): this { return this.setInternalValue(this.TITLE, title); }\r\n\r\n get fileUrl(): string { return this.getInternalValue(this.FILE_URL); }\r\n setFileUrl(fileUrl: string): this { return this.setInternalValue(this.FILE_URL, fileUrl); }\r\n\r\n get fileExists(): boolean { return this.getInternalValue(this.FILE_EXISTS); }\r\n setFileExists(fileExists: boolean): this { return this.setInternalValue(this.FILE_EXISTS, fileExists); }\r\n\r\n get fileType(): string { return this.getInternalValue(this.FILE_TYPE); }\r\n setFileType(fileType: string): this { return this.setInternalValue(this.FILE_TYPE, fileType); }\r\n}","import * as Immutable from \"immutable\";\r\nimport { BaseEntity } from \"../../baseEntity\";\r\nimport { ConfValue } from \"./confValue\";\r\n\r\nexport class ConfDoubleValue extends ConfValue {\r\n\r\n protected readonly VALUE = \"value\";\r\n protected readonly FORMATTED_VALUE = \"formattedValue\";\r\n\r\n get value(): number { return this.getInternalValue(this.VALUE); }\r\n setValue(value: number): this { return this.setInternalValue(this.VALUE, value); }\r\n\r\n get formattedValue(): string { return this.getInternalValue(this.FORMATTED_VALUE); }\r\n setFormattedValue(formattedValue: string): this { return this.setInternalValue(this.FORMATTED_VALUE, formattedValue); }\r\n}","import * as Immutable from \"immutable\";\r\n\r\nimport { BaseEntity } from \"../../baseEntity\";\r\n\r\nexport class ConfFormControlValue extends BaseEntity {\r\n\r\n protected readonly FORM_CONTROL_TYPE = \"formControlType\";\r\n protected readonly TITLE = \"title\";\r\n protected readonly ICON = \"icon\";\r\n protected readonly ENABLED = \"enabled\";\r\n protected readonly SUB_FORM_CONTROL_VALUES = \"subFormControlValues\";\r\n\r\n get formControlType(): string { return this.getInternalValue(this.FORM_CONTROL_TYPE); }\r\n setFormControlType(formControlType: string): this { return this.setInternalValue(this.FORM_CONTROL_TYPE, formControlType); }\r\n\r\n get title(): string { return this.getInternalValue(this.TITLE); }\r\n setTitle(title: string): this { return this.setInternalValue(this.TITLE, title); }\r\n\r\n get icon(): string { return this.getInternalValue(this.TITLE); }\r\n setIcon(icon: string): this { return this.setInternalValue(this.TITLE, icon); }\r\n\r\n get enabled(): number { return this.getInternalValue(this.ENABLED); }\r\n setEnabled(enabled: number): this { return this.setInternalValue(this.ENABLED, enabled); }\r\n\r\n get subFormControlValues(): Immutable.List { return this.getInternalValue>(this.SUB_FORM_CONTROL_VALUES); }\r\n setSubFormControlValues(subFormControlValues: Immutable.List): this { return this.setInternalValue(this.SUB_FORM_CONTROL_VALUES, subFormControlValues); }\r\n}","import * as Immutable from \"immutable\";\r\n\r\nimport { BaseEntity } from \"../../baseEntity\";\r\nimport { ConfFormControlValue } from \"./confFormControlValue\";\r\nimport { UIElement } from \".\";\r\n\r\nexport class ConfFormValue extends BaseEntity {\r\n\r\n protected readonly CONTAINER_STYLE = \"containerStyle\";\r\n protected readonly TITLE = \"title\";\r\n protected readonly WIDTH = \"width\";\r\n protected readonly UI_ELEMENTS = \"uiElements\";\r\n\r\n get containerStyle(): string { return this.getInternalValue(this.CONTAINER_STYLE); }\r\n setContainerStyle(containerStyle: string): this { return this.setInternalValue(this.CONTAINER_STYLE, containerStyle); }\r\n\r\n get title(): string { return this.getInternalValue(this.TITLE); }\r\n setTitle(title: string): this { return this.setInternalValue(this.TITLE, title); }\r\n\r\n get width(): number { return this.getInternalValue(this.WIDTH); }\r\n setWidth(width: number): this { return this.setInternalValue(this.WIDTH, width); }\r\n\r\n get uiElements(): Immutable.List { return this.getInternalValue>(this.UI_ELEMENTS); }\r\n setUiElements(uiElements: Immutable.List): this { return this.setInternalValue(this.UI_ELEMENTS, uiElements); }\r\n}","import * as Immutable from \"immutable\";\r\nimport { BaseEntity } from \"../../baseEntity\";\r\nimport { GraphicsDecoration } from \"./graphicsDecoration\";\r\n\r\nexport class ConfGraphicsValue extends BaseEntity {\r\n\r\n protected readonly SVG = \"svg\";\r\n protected readonly GRAPHICS_DECORATION = \"graphicsDecoration\";\r\n\r\n get svg(): string { return this.getInternalValue(this.SVG); }\r\n setSvg(svg: string): this { return this.setInternalValue(this.SVG, svg); }\r\n\r\n get graphicsDecoration(): GraphicsDecoration { return this.getInternalValue(this.GRAPHICS_DECORATION); }\r\n setGraphicsDecoration(graphicsDecoration: GraphicsDecoration): this { return this.setInternalValue(this.GRAPHICS_DECORATION, graphicsDecoration); }\r\n}","import * as Immutable from \"immutable\";\r\nimport { BaseEntity } from \"../../baseEntity\";\r\n\r\nexport class ConfHeaderValue extends BaseEntity {\r\n}","import * as Immutable from \"immutable\";\r\n\r\nimport { BaseEntity } from \"../../baseEntity\";\r\nimport { RefObject } from \"./refObject\";\r\n\r\nexport class ConfHistory extends BaseEntity {\r\n\r\n protected readonly CREATED_BY = \"createdBy\";\r\n protected readonly CREATION_DATE = \"creationDate\";\r\n protected readonly FROM_STATE = \"fromState\";\r\n protected readonly TO_STATE = \"toState\";\r\n protected readonly NOTE = \"note\";\r\n protected readonly HISTORY_TYPE = \"historyType\";\r\n protected readonly FROM_OWNERSHIP = \"fromOwnership\";\r\n protected readonly TO_OWNERSHIP = \"toOwnership\";\r\n\r\n get createdBy(): RefObject { return this.getInternalValue(this.CREATED_BY); }\r\n setCreatedBy(createdBy: RefObject): this { return this.setInternalValue(this.CREATED_BY, createdBy); }\r\n\r\n get creationDate(): string { return this.getInternalValue(this.CREATION_DATE); }\r\n setCreationDate(creationDate: string): this { return this.setInternalValue(this.CREATION_DATE, creationDate); }\r\n\r\n get fromState(): RefObject { return this.getInternalValue(this.FROM_STATE); }\r\n setFromState(fromState: RefObject): this { return this.setInternalValue(this.FROM_STATE, fromState); }\r\n\r\n get toState(): RefObject { return this.getInternalValue(this.TO_STATE); }\r\n setToState(toState: RefObject): this { return this.setInternalValue(this.TO_STATE, toState); }\r\n\r\n get note(): string { return this.getInternalValue(this.NOTE); }\r\n setNote(note: string): this { return this.setInternalValue(this.NOTE, note); }\r\n\r\n get historyType(): string { return this.getInternalValue(this.HISTORY_TYPE); }\r\n setHistoryType(historyType: string): this { return this.setInternalValue(this.HISTORY_TYPE, historyType); }\r\n\r\n get fromOwnership(): RefObject { return this.getInternalValue(this.FROM_OWNERSHIP); }\r\n setFromOwnership(fromOwnership: RefObject): this { return this.setInternalValue(this.FROM_OWNERSHIP, fromOwnership); }\r\n\r\n get toOwnership(): RefObject { return this.getInternalValue(this.TO_OWNERSHIP); }\r\n setToOwnership(toOwnership: RefObject): this { return this.setInternalValue(this.TO_OWNERSHIP, toOwnership); }\r\n}","import { ConfValue } from \"./confValue\";\r\n\r\nexport class ConfImageValue extends ConfValue {\r\n\r\n protected readonly VALUE = \"value\";\r\n\r\n get value(): string { return this.getInternalValue(this.VALUE); }\r\n setValue(value: string): this { return this.setInternalValue(this.VALUE, value); }\r\n\r\n}","import * as Immutable from \"immutable\";\r\nimport { BaseEntity } from \"../../baseEntity\";\r\n\r\nexport class ConfInfo extends BaseEntity {\r\n\r\n protected readonly TEXT = \"text\";\r\n protected readonly DESCRIPTION = \"description\";\r\n protected readonly COMPACT = \"compact\";\r\n protected readonly PRODUCT_ID = \"productId\";\r\n protected readonly PARENT_ID = \"parentId\";\r\n protected readonly PARENT_TAB_ID = \"parentTabId\";\r\n protected readonly ROOT_ORDER = \"rootOrder\"; \r\n protected readonly IS_NEW = \"isNew\"; \r\n protected readonly ROOT_ID = \"rootId\"; \r\n protected readonly ICON_RELATIVE_URL = \"iconRelativeUrl\";\r\n protected readonly ALLOWED_CHILD_PRODUCT_IDS = \"allowedChildProductIds\";\r\n protected readonly IS_EFFECTIVE_PRODUCT = \"isEffectiveProduct\";\r\n protected readonly CHILDREN = \"children\";\r\n protected readonly SHOW_CHILDREN_IN_ACCORDION_TABS = \"showChildrenInAccordionTabs\";\r\n protected readonly NOT_SET_MANDATORY_PARAMS_COUNT = \"notSetMandatoryParamsCount\";\r\n\r\n get text(): string { return this.getInternalValue(this.TEXT); }\r\n setText(text: string): this { return this.setInternalValue(this.TEXT, text); }\r\n\r\n get description(): string { return this.getInternalValue(this.DESCRIPTION); }\r\n setDescription(description: string): this { return this.setInternalValue(this.DESCRIPTION, description); }\r\n\r\n get compact(): string { return this.getInternalValue(this.COMPACT); }\r\n setCompact(compact: string): this { return this.setInternalValue(this.COMPACT, compact); }\r\n\r\n get productId(): number { return this.getInternalValue(this.PRODUCT_ID); }\r\n setProductId(productId: number): this { return this.setInternalValue(this.PRODUCT_ID, productId); }\r\n\r\n get parentId(): number { return this.getInternalValue(this.PARENT_ID); }\r\n setParentId(parentId: number): this { return this.setInternalValue(this.PARENT_ID, parentId); }\r\n\r\n get parentTabId(): number { return this.getInternalValue(this.PARENT_TAB_ID); }\r\n setParentTabId(parentTabId: number): this { return this.setInternalValue(this.PARENT_TAB_ID, parentTabId); }\r\n\r\n get rootId(): number { return this.getInternalValue(this.ROOT_ID); }\r\n setRootId(rootId: number): this { return this.setInternalValue(this.ROOT_ID, rootId); }\r\n\r\n get iconRelativeUrl(): string { return this.getInternalValue(this.ICON_RELATIVE_URL); }\r\n setIconRelativeUrl(iconRelativeUrl: string): this { return this.setInternalValue(this.ICON_RELATIVE_URL, iconRelativeUrl); }\r\n\r\n get allowedChildProductIds(): Immutable.List { return this.getInternalValue>(this.ALLOWED_CHILD_PRODUCT_IDS); }\r\n setAllowedChildProductIds(allowedChildProductIds: Immutable.List): this { return this.setInternalValue(this.ALLOWED_CHILD_PRODUCT_IDS, allowedChildProductIds); }\r\n\r\n get isEffectiveProduct(): boolean { return this.getInternalValue(this.IS_EFFECTIVE_PRODUCT); }\r\n setIsEffectiveProduct(isEffectiveProduct: boolean): this { return this.setInternalValue(this.IS_EFFECTIVE_PRODUCT, isEffectiveProduct); }\r\n \r\n // This property is introduced to take the early decisions about composite configurations. \r\n // As product data is not available on client when configuration data is fetched, To avoid extra trips to server, server always\r\n // calculates this information on server.\r\n get showChildrenInAccordionTabs(): boolean { return this.getInternalValue(this.SHOW_CHILDREN_IN_ACCORDION_TABS); }\r\n setShowChildrenInAccordionTabs(showChildrenInAccordionTabs: boolean): this { return this.setInternalValue(this.SHOW_CHILDREN_IN_ACCORDION_TABS, showChildrenInAccordionTabs); }\r\n\r\n get rootOrder(): number { return this.getInternalValue(this.ROOT_ORDER); }\r\n setRootOrder(rootOrder: number): this { return this.setInternalValue(this.ROOT_ORDER, rootOrder); }\r\n\r\n get isNew(): boolean { return this.getInternalValue(this.IS_NEW); }\r\n setIsNew(isNew: boolean): this { return this.setInternalValue(this.IS_NEW, isNew); }\r\n\r\n get children(): Immutable.List { return this.getInternalValue>(this.CHILDREN); }\r\n setChildren(children: Immutable.List): this { return this.setInternalValue(this.CHILDREN, children); }\r\n\r\n get notSetMandatoryParamsCount(): number { return this.getInternalValue(this.NOT_SET_MANDATORY_PARAMS_COUNT); }\r\n setNotSetMandatoryParamsCount(notSetMandatoryParamsCount: number): this { return this.setInternalValue(this.NOT_SET_MANDATORY_PARAMS_COUNT, notSetMandatoryParamsCount); }\r\n\r\n}","import * as Immutable from \"immutable\";\r\nimport { ConfValue } from \"./confValue\";\r\n\r\nexport class ConfIntValue extends ConfValue {\r\n\r\n protected readonly VALUE = \"value\";\r\n protected readonly FORMATTED_VALUE = \"formattedValue\";\r\n\r\n get value(): number { return this.getInternalValue(this.VALUE); }\r\n setValue(value: number): this { return this.setInternalValue(this.VALUE, value); }\r\n\r\n get formattedValue(): string { return this.getInternalValue(this.FORMATTED_VALUE); }\r\n setFormattedValue(formattedValue: string): this { return this.setInternalValue(this.FORMATTED_VALUE, formattedValue); }\r\n}","import * as Immutable from \"immutable\";\r\n\r\nimport { ConfValue } from \"./confValue\";\r\n\r\nexport class ConfLookupValue extends ConfValue {\r\n\r\n protected readonly VALUE = \"value\";\r\n protected readonly DISALLOWED_PARAM_VALUES = \"disallowedParamValues\"; \r\n\r\n constructor(data?: Immutable.Map) {\r\n super(data);\r\n }\r\n\r\n get value(): number { return this.getInternalValue(this.VALUE); }\r\n setValue(value: number): this { return this.setInternalValue(this.VALUE, value); }\r\n\r\n get disallowedParamValues(): Immutable.Map { return this.getInternalValue>(this.DISALLOWED_PARAM_VALUES); }\r\n setDisallowedParamValues(disallowedParamValues: Immutable.Map): this { return this.setInternalValue(this.DISALLOWED_PARAM_VALUES, disallowedParamValues); }\r\n}","import * as Immutable from \"immutable\";\r\nimport { ConfValue } from \"./confValue\";\r\n\r\nexport class ConfMultiChoiceValue extends ConfValue {\r\n\r\n protected readonly VALUE = \"value\";\r\n\r\n get value(): Immutable.List { return this.getInternalValue>(this.VALUE); }\r\n setValue(value: Immutable.List): this { return this.setInternalValue(this.VALUE, value); }\r\n\r\n}","import * as Immutable from \"immutable\";\r\nimport { BaseEntity } from \"../../baseEntity\";\r\n\r\nexport class ConfMultiSetValue extends BaseEntity {\r\n\r\n protected readonly VALUE = \"value\";\r\n protected readonly IS_READ_ONLY = \"isReadOnly\";\r\n protected readonly IS_DISALLOWED = \"isDisallowed\";\r\n\r\n get value(): boolean { return this.getInternalValue(this.VALUE); }\r\n setValue(value: boolean): this { return this.setInternalValue(this.VALUE, value); }\r\n\r\n get isDisallowed(): boolean { return this.getInternalValue(this.IS_DISALLOWED); }\r\n setIsDisallowed(isDisallowed: boolean): this { return this.setInternalValue(this.IS_DISALLOWED, isDisallowed); }\r\n\r\n get isReadOnly(): boolean { return this.getInternalValue(this.IS_READ_ONLY); }\r\n setIsReadOnly(isReadOnly: boolean): this { return this.setInternalValue(this.IS_READ_ONLY, isReadOnly); }\r\n}","import * as Immutable from \"immutable\";\r\nimport { ImmutableObject } from \"../../../../shared/immutableObject\";\r\n\r\nexport class ConfPriceValue extends ImmutableObject {\r\n\r\n protected readonly EFFECTIVE = \"effective\";\r\n protected readonly PRICE_LIST_CATEGORY_NAME = \"priceListCategoryName\";\r\n protected readonly PRICE_LIST_CATEGORY_ID = \"priceListCategoryId\";\r\n protected readonly PRICE_LIST_ID = \"priceListId\";\r\n protected readonly PRICE = \"price\";\r\n protected readonly CURRENCY_ID = \"currencyId\";\r\n protected readonly CURRENCY_NAME = \"currencyName\";\r\n\r\n get effective(): boolean { return this.getInternalValue(this.EFFECTIVE); }\r\n setEffective(effective: boolean): this { return this.setInternalValue(this.EFFECTIVE, effective); }\r\n\r\n get priceListCategoryName(): string { return this.getInternalValue(this.PRICE_LIST_CATEGORY_NAME); }\r\n setPriceListCategoryName(priceListCategoryName: string): this { return this.setInternalValue(this.PRICE_LIST_CATEGORY_NAME, priceListCategoryName); }\r\n\r\n get priceListCategoryId(): number { return this.getInternalValue(this.PRICE_LIST_CATEGORY_ID); }\r\n setPriceListCategoryId(priceListCategoryId: number): this { return this.setInternalValue(this.PRICE_LIST_CATEGORY_ID, priceListCategoryId); }\r\n\r\n get priceListId(): number { return this.getInternalValue(this.PRICE_LIST_ID); }\r\n setPriceListId(priceListId: number): this { return this.setInternalValue(this.PRICE_LIST_ID, priceListId); }\r\n\r\n get price(): string { return this.getInternalValue(this.PRICE); }\r\n setPrice(price: string): this { return this.setInternalValue(this.PRICE, price); }\r\n\r\n get currencyId(): number { return this.getInternalValue(this.CURRENCY_ID); }\r\n setCurrencyId(currencyId: number): this { return this.setInternalValue(this.CURRENCY_ID, currencyId); }\r\n\r\n get currencyName(): string { return this.getInternalValue(this.CURRENCY_NAME); }\r\n setCurrencyName(currencyName: string): this { return this.setInternalValue(this.CURRENCY_NAME, currencyName); }\r\n}","import * as Immutable from \"immutable\";\r\n\r\nimport { ImmutableObject } from \"../../../../shared/immutableObject\";\r\nimport { KeyValue } from \"../responses\";\r\n\r\nexport class ConfPropertyValue extends ImmutableObject {\r\n\r\n protected readonly SELECTABLE_VALUES = \"selectableValues\";\r\n protected readonly REF_ID = \"refId\";\r\n protected readonly PROPERTY_NAME = \"propertyName\";\r\n protected readonly TITLE = \"title\";\r\n protected readonly KEY_AND_VALUE = \"keyAndValue\";\r\n protected readonly IS_READ_ONLY = \"isReadOnly\";\r\n protected readonly IS_HIDDEN = \"isHidden\";\r\n protected readonly VALUE_BY_NUMERIC_FORMAT = \"valueByNumericFormat\";\r\n\r\n get refId(): number { return this.getInternalValue(this.REF_ID); }\r\n setRefId(refId: number): this { return this.setInternalValue(this.REF_ID, refId); }\r\n\r\n get selectableValues(): Immutable.List> { return this.getInternalValue>>(this.SELECTABLE_VALUES); }\r\n setSelectableValues(selectableValues: Immutable.List>): this { return this.setInternalValue(this.SELECTABLE_VALUES, selectableValues); }\r\n\r\n get propertyName(): string { return this.getInternalValue(this.PROPERTY_NAME); }\r\n setPropertyName(propertyName: string): this { return this.setInternalValue(this.PROPERTY_NAME, propertyName); }\r\n\r\n get title(): string { return this.getInternalValue(this.TITLE); }\r\n setTitle(title: string): this { return this.setInternalValue(this.TITLE, title); }\r\n\r\n get keyAndValue(): KeyValue { return this.getInternalValue>(this.KEY_AND_VALUE); }\r\n setKeyAndValue(keyAndValue: KeyValue): this { return this.setInternalValue(this.KEY_AND_VALUE, keyAndValue); }\r\n\r\n get isReadOnly(): boolean { return this.getInternalValue(this.IS_READ_ONLY); }\r\n setIsReadOnly(isReadOnly: boolean): this { return this.setInternalValue(this.IS_READ_ONLY, isReadOnly); }\r\n\r\n get isHidden(): boolean { return this.getInternalValue(this.IS_HIDDEN); }\r\n setIsHidden(isHidden: boolean): this { return this.setInternalValue(this.IS_HIDDEN, isHidden); }\r\n\r\n get valueByNumericFormat(): Immutable.Map { return this.getInternalValue>(this.VALUE_BY_NUMERIC_FORMAT); }\r\n setValueByNumericFormat(valueByNumericFormat: Immutable.Map): this { return this.setInternalValue(this.VALUE_BY_NUMERIC_FORMAT, valueByNumericFormat); }\r\n}","import { BaseEntity } from \"../../baseEntity\";\r\n\r\nexport class ConfReport extends BaseEntity {\r\n\r\n protected readonly TITLE = \"title\";\r\n protected readonly ICON = \"icon\";\r\n\r\n get title(): string { return this.getInternalValue(this.TITLE); }\r\n setTitle(title: string): this { return this.setInternalValue(this.TITLE, title); }\r\n\r\n get icon(): string { return this.getInternalValue(this.ICON); }\r\n setIcon(icon: string): this { return this.setInternalValue(this.ICON, icon); }\r\n}","import { ImmutableObject } from \"../../../../shared/immutableObject\";\r\n\r\nexport class ConfRevision extends ImmutableObject {\r\n\r\n protected readonly CONFIGURATION_ID = \"configurationId\";\r\n protected readonly TITLE = \"title\";\r\n protected readonly LAST_UPDATED = \"lastUpdated\";\r\n\r\n get configurationId(): number { return this.getInternalValue(this.CONFIGURATION_ID); }\r\n setConfigurationId(configurationId: number): this { return this.setInternalValue(this.CONFIGURATION_ID, configurationId); }\r\n\r\n get title(): string { return this.getInternalValue(this.TITLE); }\r\n setTitle(title: string): this { return this.setInternalValue(this.TITLE, title); }\r\n\r\n get lastUpdated(): string { return this.getInternalValue(this.LAST_UPDATED); }\r\n setLastUpdated(lastUpdated: string): this { return this.setInternalValue(this.LAST_UPDATED, lastUpdated); }\r\n}","import * as Immutable from \"immutable\";\r\n\r\nimport { ImmutableObject } from \"../../../../shared/immutableObject\";\r\n\r\nexport class ConfSearchAuthorization extends ImmutableObject {\r\n\r\n readonly CAN_EDIT = \"canEdit\";\r\n readonly CAN_DELETE = \"canDelete\";\r\n\r\n get canEdit(): boolean { return this.getInternalValue(this.CAN_EDIT); }\r\n setCanEdit(canEdit: boolean): this { return this.setInternalValue(this.CAN_EDIT, canEdit); }\r\n\r\n get canDelete(): boolean { return this.getInternalValue(this.CAN_DELETE); }\r\n setCanDelete(canDelete: boolean): this { return this.setInternalValue(this.CAN_DELETE, canDelete); }\r\n}","import * as Immutable from \"immutable\";\r\n\r\nimport { BaseEntity } from \"../../baseEntity\";\r\n\r\n/** \r\n * TODO: Should we inherit from BaseEntity ?? LongId is not needed in this class.\r\n * **/\r\nexport abstract class ConfSearchCriteria extends BaseEntity {\r\n\r\n protected readonly CONTROL_ID = \"controlId\"; \r\n protected readonly NAME = \"name\";\r\n protected readonly VALUE = \"value\";\r\n\r\n get controlId(): string { return this.getInternalValue(this.CONTROL_ID); }\r\n setControlId(controlId: string): this { return this.setInternalValue(this.CONTROL_ID, controlId); }\r\n\r\n get name(): string { return this.getInternalValue(this.NAME); }\r\n setName(name: string): this { return this.setInternalValue(this.NAME, name); }\r\n\r\n get value(): string { return this.getInternalValue(this.VALUE); }\r\n setValue(value: string): this { return this.setInternalValue(this.VALUE, value); }\r\n\r\n}","import * as Immutable from \"immutable\";\r\nimport { ConfSearchCriteria } from \"./confSearchCriteria\"\r\n\r\nexport class ConfSearchParameter extends ConfSearchCriteria {\r\n\r\n protected readonly PARAM_VALUE_ID = \"paramValueId\";\r\n protected readonly PARAMETER_ID = \"parameterId\";\r\n \r\n // Only used for multichoice value.\r\n get paramValueId(): number { return this.getInternalValue(this.PARAM_VALUE_ID); }\r\n setParamValueId(paramValueId: number): this { return this.setInternalValue(this.PARAM_VALUE_ID, paramValueId); }\r\n\r\n get parameterId(): number { return this.getInternalValue(this.PARAMETER_ID); }\r\n setParameterId(paramValueId: number): this { return this.setInternalValue(this.PARAMETER_ID, paramValueId); }\r\n\r\n}","import * as Immutable from \"immutable\";\r\nimport { ConfSearchCriteria } from \"./confSearchCriteria\"\r\n\r\nexport class ConfSearchProperty extends ConfSearchCriteria {\r\n\r\n protected readonly NAME = \"name\";\r\n\r\n get name(): string { return this.getInternalValue(this.NAME); }\r\n setName(name: string): this { return this.setInternalValue(this.NAME, name); }\r\n\r\n}","import * as Immutable from \"immutable\";\r\nimport { BaseEntity } from \"../../baseEntity\";\r\nimport { ConfValue } from \"./confValue\";\r\n\r\nexport class ConfStringValue extends ConfValue {\r\n\r\n protected readonly VALUE = \"value\";\r\n\r\n get value(): string { return this.getInternalValue(this.VALUE); }\r\n setValue(value: string): this { return this.setInternalValue(this.VALUE, value); }\r\n}","import { ImmutableObject } from \"../../../../shared\";\r\nimport * as Immutable from \"immutable\";\r\n\r\nexport class ConfUIItem extends ImmutableObject {\r\n \r\n protected readonly ID = \"id\";\r\n protected readonly ITEM_NAME = \"itemName\";\r\n protected readonly ITEMS = \"items\";\r\n\r\n get id(): number { return this.getInternalValue(this.ID); }\r\n setId(id: number): this { return this.setInternalValue(this.ID, id); }\r\n\r\n get itemName(): string { return this.getInternalValue(this.ITEM_NAME); }\r\n setItemName(itemName: string): this { return this.setInternalValue(this.ITEM_NAME, itemName); }\r\n\r\n get items(): Immutable.List { return this.getInternalValue>(this.ITEMS); }\r\n setItems(items: Immutable.List): this { return this.setInternalValue(this.ITEMS, items); }\r\n}","import * as Immutable from \"immutable\";\r\nimport { BaseEntity } from \"../../baseEntity\";\r\nimport { BaseSyncObject } from \"../../baseSyncObject\";\r\n\r\nexport class ConfValue extends BaseSyncObject {\r\n\r\n protected readonly CONFIGURATION_ID = \"configurationId\";\r\n protected readonly IS_READ_ONLY = \"isReadOnly\"; \r\n\r\n get configurationId(): number { return this.getInternalValue(this.CONFIGURATION_ID); }\r\n setConfigurationId(configurationId: number): this { return this.setInternalValue(this.CONFIGURATION_ID, configurationId); }\r\n\r\n get isReadOnly(): boolean { return this.getInternalValue(this.IS_READ_ONLY); }\r\n setIsReadOnly(isReadOnly: boolean): this { return this.setInternalValue(this.IS_READ_ONLY, isReadOnly); } \r\n}","import { BaseEntity } from \"../../baseEntity\";\r\n\r\nexport class ConfVisualizationValue extends BaseEntity {\r\n\r\n protected readonly CODE_FILE_VALUE = \"codeFileValue\";\r\n\r\n get codeFileValue(): string { return this.getInternalValue(this.CODE_FILE_VALUE); }\r\n setCodeFileValue(codeFileValue: string): this { return this.setInternalValue(this.CODE_FILE_VALUE, codeFileValue); }\r\n\r\n}","import * as Immutable from \"immutable\";\r\nimport { BaseEntity } from \"../../baseEntity\";\r\nimport { ConfSearchCriteria } from \"./confSearchCriteria\"\r\nimport { ConfSearchAuthorization } from \"./confSearchAuthorization\"\r\nimport { RefObject } from \"./refObject\";\r\n\r\nexport class ConfigurationSearch extends BaseEntity {\r\n\r\n protected readonly TITLE = \"title\";\r\n protected readonly LAST_UPDATED = \"lastUpdated\";\r\n protected readonly INLINE_RESULTS = \"inlineResults\";\r\n protected readonly MAX_INLINE_RESULTS = \"maxInlineResults\";\r\n protected readonly SEARCH_CHILDREN = \"searchChildren\";\r\n protected readonly INCLUDE_PREVIOUS_REVISIONS = \"includePreviousRevisions\";\r\n protected readonly SCOPE = \"scope\";\r\n protected readonly WORK_GROUP = \"workGroup\";\r\n protected readonly AUTHORIZATION_GROUP = \"authorizationGroup\";\r\n protected readonly SEARCH_CRITERIAS = \"searchCriterias\";\r\n protected readonly AUTHORIZATION = \"authorization\";\r\n \r\n get title(): string { return this.getInternalValue(this.TITLE); }\r\n setTitle(title: string): this { return this.setInternalValue(this.TITLE, title); }\r\n\r\n get lastUpdated(): string { return this.getInternalValue(this.LAST_UPDATED); }\r\n setLastUpdated(lastUpdated: string): this { return this.setInternalValue(this.LAST_UPDATED, lastUpdated); }\r\n\r\n get inlineResults(): boolean { return this.getInternalValue(this.INLINE_RESULTS); }\r\n setInlineResults(inlineResults: boolean): this { return this.setInternalValue(this.INLINE_RESULTS, inlineResults); }\r\n\r\n get maxInlineResults(): number { return this.getInternalValue(this.MAX_INLINE_RESULTS); }\r\n setMaxInlineResults(maxInlineResults: number): this { return this.setInternalValue(this.MAX_INLINE_RESULTS, maxInlineResults); }\r\n\r\n get searchChildren(): boolean { return this.getInternalValue(this.SEARCH_CHILDREN); }\r\n setSearchChildren(searchChildren: boolean): this { return this.setInternalValue(this.SEARCH_CHILDREN, searchChildren); }\r\n\r\n get includePreviousRevisions(): boolean { return this.getInternalValue(this.INCLUDE_PREVIOUS_REVISIONS); }\r\n setIncludePreviousRevisions(includePreviousRevisions: boolean): this { return this.setInternalValue(this.INCLUDE_PREVIOUS_REVISIONS, includePreviousRevisions); }\r\n\r\n get scope(): string { return this.getInternalValue(this.SCOPE); }\r\n setScope(scope: string): this { return this.setInternalValue(this.SCOPE, scope); }\r\n\r\n get workGroup(): RefObject { return this.getInternalValue(this.WORK_GROUP); }\r\n setWorkGroup(workGroup: RefObject): this { return this.setInternalValue(this.WORK_GROUP, workGroup); }\r\n\r\n get authorizationGroup(): RefObject { return this.getInternalValue(this.AUTHORIZATION_GROUP); }\r\n setAuthorizationGroup(authorizationGroup: RefObject): this { return this.setInternalValue(this.AUTHORIZATION_GROUP, authorizationGroup); }\r\n\r\n get searchCriterias(): Immutable.List { return this.getInternalValue>(this.SEARCH_CRITERIAS); }\r\n setSearchCriterias(searchCriterias: Immutable.List): this { return this.setInternalValue(this.SEARCH_CRITERIAS, searchCriterias); }\r\n\r\n get authorization(): ConfSearchAuthorization { return this.getInternalValue(this.AUTHORIZATION); }\r\n setAuthorization(authorization: ConfSearchAuthorization): this { return this.setInternalValue(this.AUTHORIZATION, ConfSearchAuthorization); }\r\n}","import { BaseEntity } from \"../../baseEntity\"\r\n\r\nexport abstract class Currency extends BaseEntity {\r\n\r\n protected readonly IDENTITY = \"identity\";\r\n protected readonly FACTOR = \"factor\";\r\n protected readonly PREFIX = \"prefix\";\r\n protected readonly SUFFIX = \"suffix\";\r\n\r\n get identity(): string { return this.getInternalValue(this.IDENTITY); }\r\n setIdentity(identity: string): this { return this.setInternalValue(this.IDENTITY, identity); }\r\n\r\n get factor(): number { return this.getInternalValue(this.FACTOR); }\r\n setFactor(factor: number): this { return this.setInternalValue(this.FACTOR, factor); }\r\n\r\n get prefix(): string { return this.getInternalValue(this.PREFIX); }\r\n setPrefix(prefix: string): this { return this.setInternalValue(this.PREFIX, prefix); }\r\n\r\n get suffix(): string { return this.getInternalValue(this.SUFFIX); }\r\n setSuffix(suffix: string): this { return this.setInternalValue(this.SUFFIX, suffix); }\r\n\r\n}","import * as Immutable from \"immutable\";\r\nimport { BaseEntity } from \"../../baseEntity\";\r\n\r\nexport class Customer extends BaseEntity {\r\n\r\n protected readonly NAME = \"name\";\r\n protected readonly CUSTOMER_NO = \"customerNo\";\r\n protected readonly CUSTOMER_SITE_IDS = \"customerSiteIds\";\r\n protected readonly CUSTOMER_CONTACT_IDS = \"customerContactIds\"; \r\n\r\n get name(): string { return this.getInternalValue(this.NAME); }\r\n setName(name: string): this { return this.setInternalValue(this.NAME, name); }\r\n\r\n get customerNo(): string { return this.getInternalValue(this.CUSTOMER_NO); }\r\n setCustomerNo(customerNo: string): this { return this.setInternalValue(this.CUSTOMER_NO, customerNo); }\r\n\r\n get customerSiteIds(): Immutable.List { return this.getInternalValue>(this.CUSTOMER_SITE_IDS); }\r\n setCustomerSiteIds(customerSiteIds: Immutable.List): this { return this.setInternalValue(this.CUSTOMER_SITE_IDS, customerSiteIds); }\r\n\r\n get customerContactIds(): Immutable.List { return this.getInternalValue>(this.CUSTOMER_CONTACT_IDS); }\r\n setCustomerContactIds(customerContactIds: Immutable.List): this { return this.setInternalValue(this.CUSTOMER_CONTACT_IDS, customerContactIds); }\r\n}","import { BaseEntity } from \"../../baseEntity\";\r\nimport { RefObject } from \"..\";\r\n\r\nexport class CustomerContact extends BaseEntity {\r\n\r\n protected readonly NAME = \"name\";\r\n protected readonly CUSTOMER = \"customer\";\r\n protected readonly CUSTOMER_SITE = \"customerSite\";\r\n\r\n get name(): string { return this.getInternalValue(this.NAME); }\r\n setName(name: string): this { return this.setInternalValue(this.NAME, name); }\r\n\r\n get customer(): RefObject { return this.getInternalValue(this.CUSTOMER); }\r\n setCustomer(customer: RefObject): this { return this.setInternalValue(this.CUSTOMER, customer); }\r\n\r\n get customerSite(): RefObject { return this.getInternalValue(this.CUSTOMER_SITE); }\r\n setCustomerSite(customerSite: RefObject): this { return this.setInternalValue(this.CUSTOMER_SITE, customerSite); }\r\n}","import { BaseEntity } from \"../../baseEntity\";\r\nimport { RefObject } from \"..\";\r\n\r\nexport class CustomerSite extends BaseEntity {\r\n\r\n protected readonly NAME = \"name\";\r\n protected readonly CUSTOMER = \"customer\";\r\n \r\n get name(): string { return this.getInternalValue(this.NAME); }\r\n setName(name: string): this { return this.setInternalValue(this.NAME, name); }\r\n\r\n get customer(): RefObject { return this.getInternalValue(this.CUSTOMER); }\r\n setCustomer(customer: RefObject): this { return this.setInternalValue(this.CUSTOMER, customer); }\r\n}","import * as Immutable from \"immutable\"\r\n\r\nimport { BaseEntity } from \"../../baseEntity\"\r\n\r\nexport class DataSelectColumn extends BaseEntity {\r\n\r\n protected readonly TITLE = \"title\";\r\n protected readonly WIDTH = \"width\";\r\n protected readonly ORDER = \"order\";\r\n protected readonly HYPERLINK = \"hyperLink\";\r\n protected readonly IMAGE = \"image\";\r\n protected readonly TYPE = \"type\";\r\n protected readonly IS_FILTER_SUPPORTED = \"isFilterSupported\";\r\n protected readonly ALIGNMENT = \"alignment\";\r\n\r\n get title(): string { return this.getInternalValue(this.TITLE); }\r\n setTitle(title: string): this { return this.setInternalValue(this.TITLE, title); }\r\n\r\n get width(): number { return this.getInternalValue(this.WIDTH); }\r\n setWidth(width: number): this { return this.setInternalValue(this.WIDTH, width); }\r\n\r\n get order(): number { return this.getInternalValue(this.ORDER); }\r\n setOrder(order: number): this { return this.setInternalValue(this.ORDER, order); }\r\n\r\n get hyperLink(): boolean { return this.getInternalValue(this.HYPERLINK); }\r\n setHyperLink(hyperLink: boolean): this { return this.setInternalValue(this.HYPERLINK, hyperLink); }\r\n\r\n get image(): boolean { return this.getInternalValue(this.IMAGE); }\r\n setImage(image: boolean): this { return this.setInternalValue(this.IMAGE, image); }\r\n\r\n get type(): string { return this.getInternalValue(this.TYPE); }\r\n setType(type: string): this { return this.setInternalValue(this.TYPE, type); } \r\n\r\n get isFilterSupported(): boolean { return this.getInternalValue(this.IS_FILTER_SUPPORTED); }\r\n setIsFilterSupported(isFilterSupported: boolean): this { return this.setInternalValue(this.IS_FILTER_SUPPORTED, isFilterSupported); }\r\n\r\n get alignment(): string { return this.getInternalValue(this.ALIGNMENT); }\r\n setAlignment(alignment: string): this { return this.setInternalValue(this.ALIGNMENT, alignment); }\r\n}","import * as Immutable from \"immutable\"\r\n\r\nimport { Decoration } from \"./decoration\";\r\n\r\nexport class DataSelector extends Decoration {\r\n\r\n protected readonly COLUMNS = \"columns\";\r\n protected readonly DIALOG_WIDTH = \"dialogWidth\";\r\n protected readonly HYPER_LINK_DIRECTORY = \"hyperLinkDirectory\";\r\n protected readonly NAME = \"name\";\r\n protected readonly SHOW_INLINE = \"showInline\";\r\n protected readonly PAGE_SIZE = \"pageSize\";\r\n protected readonly PLACEHOLDER = \"placeholder\";\r\n\r\n get columns(): Immutable.List { return this.getInternalValue>(this.COLUMNS); }\r\n setColumns(columns: Immutable.List): this { return this.setInternalValue(this.COLUMNS, columns); }\r\n\r\n get dialogWidth(): number { return this.getInternalValue(this.DIALOG_WIDTH); }\r\n setDialogWidth(dialogWidth: number): this { return this.setInternalValue(this.DIALOG_WIDTH, dialogWidth); }\r\n\r\n get hyperLinkDirectory(): string { return this.getInternalValue(this.HYPER_LINK_DIRECTORY); }\r\n setHyperLinkDirectory(hyperLinkDirectory: string): this { return this.setInternalValue(this.HYPER_LINK_DIRECTORY, hyperLinkDirectory); }\r\n\r\n get name(): string { return this.getInternalValue(this.NAME); }\r\n setName(name: string): this { return this.setInternalValue(this.NAME, name); }\r\n\r\n get showInline(): boolean { return this.getInternalValue(this.SHOW_INLINE); }\r\n setShowInline(showInline: boolean): this { return this.setInternalValue(this.SHOW_INLINE, showInline); }\r\n\r\n get pageSize(): number { return this.getInternalValue(this.PAGE_SIZE); }\r\n setPageSize(pageSize: number): this { return this.setInternalValue(this.PAGE_SIZE, pageSize); }\r\n\r\n get placeholder(): string { return this.getInternalValue(this.PLACEHOLDER); }\r\n setPlaceholder(placeholder: string): this { return this.setInternalValue(this.PLACEHOLDER, placeholder); }\r\n\r\n}","import * as Immutable from \"immutable\"\r\nimport { VisualObject } from \"./visualObject\";\r\n\r\nexport abstract class Decoration extends VisualObject {\r\n \r\n protected readonly BOXED = \"boxed\";\r\n \r\n get boxed(): boolean { return this.getInternalValue(this.BOXED); }\r\n setBoxed(boxed: boolean): this { return this.setInternalValue(this.BOXED, boxed); }\r\n}","import * as Immutable from \"immutable\";\r\nimport { Decoration } from \"./decoration\";\r\n\r\nexport class DocumentsDecoration extends Decoration {\r\n\r\n}","import { Param } from \"./param\";\r\n\r\nexport class DoubleParam extends Param {\r\n\r\n protected readonly PLACEHOLDER = \"placeholder\";\r\n\r\n get placeholder(): string { return this.getInternalValue(this.PLACEHOLDER); }\r\n setPlaceholder(placeholder: string): this { return this.setInternalValue(this.PLACEHOLDER, placeholder); }\r\n\r\n}","import * as Immutable from \"immutable\";\r\nimport { Decoration } from \"./decoration\";\r\n\r\nexport class FormDecoration extends Decoration {\r\n \r\n protected readonly SHOW_IN_SUMMARY = \"showInSummary\";\r\n protected readonly SHOW_IN_CONFIGURATOR = \"showInConfigurator\";\r\n protected readonly SUMMARY_SORT_ORDER = \"summarySortOrder\";\r\n protected readonly PAGE_LOCATION = \"pageLocation\";\r\n\r\n get showInSummary(): boolean { return this.getInternalValue(this.SHOW_IN_SUMMARY); }\r\n setShowInSummary(showInSummary: boolean): this { return this.setInternalValue(this.SHOW_IN_SUMMARY, showInSummary); }\r\n\r\n get showInConfigurator(): boolean { return this.getInternalValue(this.SHOW_IN_CONFIGURATOR); }\r\n setShowInConfigurator(showInConfigurator: boolean): this { return this.setInternalValue(this.SHOW_IN_CONFIGURATOR, showInConfigurator); }\r\n\r\n get summarySortOrder(): number { return this.getInternalValue(this.SUMMARY_SORT_ORDER); }\r\n setSummarySortOrder(summarySortOrder: number): this { return this.setInternalValue(this.SUMMARY_SORT_ORDER, summarySortOrder); }\r\n\r\n get pageLocation(): string { return this.getInternalValue(this.PAGE_LOCATION); }\r\n setPageLocation(pageLocation: string): this { return this.setInternalValue(this.PAGE_LOCATION, pageLocation); }\r\n}\r\n\r\nexport enum PageLocation {\r\n Tab = 'Tab',\r\n SummaryNewActionPanel = 'SummaryNewActionPanel'\r\n}","import * as Immutable from \"immutable\";\r\nimport { Decoration } from \"./decoration\";\r\n\r\nexport class GraphicsDecoration extends Decoration {\r\n\r\n protected readonly HEIGHT = \"height\"; \r\n protected readonly RESPONSIVE_SIZE = \"responsiveSize\"; \r\n protected readonly DISPLAY_STYLE = \"displayStyle\";\r\n protected readonly SHOW_IN_CONFIGURATOR = \"showInConfigurator\";\r\n protected readonly SHOW_IN_SUMMARY = \"showInSummary\";\r\n protected readonly SHOW_DOWNLOAD_LINK = \"showDownloadLink\"; \r\n protected readonly SHOW_PARENT_GRAPHICS = \"showParentGraphics\";\r\n protected readonly INITIAL_ZOOM_FACTOR = \"initialZoomFactor\";\r\n protected readonly INITIAL_ORIGO_POSITION = \"initialOrigoPosition\";\r\n protected readonly INITIAL_OFFSET_X = \"initialOffsetX\";\r\n protected readonly INITIAL_OFFSET_Y = \"initialOffsetY\";\r\n protected readonly HIDE_EMPTY_DECORATION = \"hideEmptyDecoration\";\r\n protected readonly HIDE_GRAPHICS_CONTROLS = \"hideGraphicsControls\";\r\n\r\n get height(): number { return this.getInternalValue(this.HEIGHT); }\r\n setHeight(height: number): this { return this.setInternalValue(this.HEIGHT, height); }\r\n\r\n get responsiveSize(): boolean { return this.getInternalValue(this.RESPONSIVE_SIZE); }\r\n setResponsiveSize(responsiveSize: boolean): this { return this.setInternalValue(this.RESPONSIVE_SIZE, responsiveSize); }\r\n\r\n get displayStyle(): string { return this.getInternalValue(this.DISPLAY_STYLE, GraphicsDisplayStyle); }\r\n setDisplayStyle(displayStyle: string): this { return this.setInternalValue(this.DISPLAY_STYLE, displayStyle); }\r\n\r\n get showInConfigurator(): boolean { return this.getInternalValue(this.SHOW_IN_CONFIGURATOR); }\r\n setShowInConfigurator(showInConfigurator: boolean): this { return this.setInternalValue(this.SHOW_IN_CONFIGURATOR, showInConfigurator); }\r\n\r\n get showInSummary(): boolean { return this.getInternalValue(this.SHOW_IN_SUMMARY); }\r\n setShowInSummary(showInSummary: boolean): this { return this.setInternalValue(this.SHOW_IN_SUMMARY, showInSummary); }\r\n\r\n get showDownloadLink(): boolean { return this.getInternalValue(this.SHOW_DOWNLOAD_LINK); }\r\n setShowDownloadLink(showDownloadLink: boolean): this { return this.setInternalValue(this.SHOW_DOWNLOAD_LINK, showDownloadLink); }\r\n\r\n get showParentGraphics(): number { return this.getInternalValue(this.SHOW_PARENT_GRAPHICS); }\r\n setShowParentGraphics(showParentGraphics: number): this { return this.setInternalValue(this.SHOW_PARENT_GRAPHICS, showParentGraphics); }\r\n\r\n get initialZoomFactor(): number { return this.getInternalValue(this.INITIAL_ZOOM_FACTOR); }\r\n setInitialZoomFactor(initialZoomFactor: number): this { return this.setInternalValue(this.INITIAL_ZOOM_FACTOR, initialZoomFactor); }\r\n\r\n get initialOrigoPosition(): number { return this.getInternalValue(this.INITIAL_ORIGO_POSITION); }\r\n setInitialOrigoPosition(initialOrigoPosition: number): this { return this.setInternalValue(this.INITIAL_ORIGO_POSITION, initialOrigoPosition); }\r\n\r\n get initialOffsetX(): number { return this.getInternalValue(this.INITIAL_OFFSET_X); }\r\n setInitialOffsetX(initialOffsetX: number): this { return this.setInternalValue(this.INITIAL_OFFSET_X, initialOffsetX); }\r\n\r\n get initialOffsetY(): number { return this.getInternalValue(this.INITIAL_OFFSET_Y); }\r\n setInitialOffsetY(initialOffsetY: number): this { return this.setInternalValue(this.INITIAL_OFFSET_Y, initialOffsetY); }\r\n\r\n get hideEmptyDecoration(): boolean { return this.getInternalValue(this.HIDE_EMPTY_DECORATION); }\r\n setHideEmptyDecoration(hideEmptyDecoration: boolean): this { return this.setInternalValue(this.HIDE_EMPTY_DECORATION, hideEmptyDecoration); }\r\n\r\n get hideGraphicsControls(): boolean { return this.getInternalValue(this.HIDE_GRAPHICS_CONTROLS); }\r\n setHideGraphicsControls(hideGraphicsControls: boolean): this { return this.setInternalValue(this.HIDE_GRAPHICS_CONTROLS, hideGraphicsControls); }\r\n}\r\n\r\nexport enum GraphicsDisplayStyle {\r\n Render = \"Render\",\r\n Popup = \"Popup\",\r\n OpenInDownloadFormat = \"OpenInDownloadFormat\"\r\n}","import { ConfUIItem } from \"./confUIItem\";\r\n\r\nexport class GroupConfUIItem extends ConfUIItem {\r\n \r\n protected readonly GROUP_ITEM_NAME = \"groupItemName\";\r\n\r\n get groupItemName(): string { return this.getInternalValue(this.GROUP_ITEM_NAME); }\r\n setGroupItemName(groupItemName: string): this { return this.setInternalValue(this.GROUP_ITEM_NAME, groupItemName); }\r\n}","import * as Immutable from \"immutable\";\r\nimport { Decoration } from \"./decoration\";\r\n\r\nexport class HeaderDecoration extends Decoration {\r\n\r\n protected readonly MINOR_HEADER = \"minorHeader\";\r\n\r\n get minorHeader(): boolean { return this.getInternalValue(this.MINOR_HEADER); }\r\n setMinorHeader(minorHeader: boolean): this { return this.setInternalValue(this.MINOR_HEADER, minorHeader); }\r\n}","import * as Immutable from \"immutable\";\r\nimport { Decoration } from \"./decoration\";\r\n\r\nexport class ImageDecoration extends Decoration {\r\n\r\n protected readonly IMAGE_FILE_NAME = \"imageFileName\";\r\n protected readonly IMAGE_TITLE = \"imageTitle\";\r\n protected readonly IMAGE_SUB_DIRECTORY = \"imageSubDirectory\";\r\n\r\n get imageFileName(): string { return this.getInternalValue(this.IMAGE_FILE_NAME); }\r\n setImageFileName(imageFileName: string): this { return this.setInternalValue(this.IMAGE_FILE_NAME, imageFileName); }\r\n\r\n get imageTitle(): string { return this.getInternalValue(this.IMAGE_TITLE); }\r\n setImageTitle(imageTitle: string): this { return this.setInternalValue(this.IMAGE_TITLE, imageTitle); }\r\n\r\n get imageSubDirectory(): string { return this.getInternalValue(this.IMAGE_SUB_DIRECTORY); }\r\n setImageSubDirectory(imageSubDirectory: string): this { return this.setInternalValue(this.IMAGE_SUB_DIRECTORY, imageSubDirectory); }\r\n}","export * from \"./refObject\";\r\nexport * from \"./assortment\";\r\nexport * from \"./attribute\";\r\nexport * from \"./attributeDecoration\";\r\nexport * from \"./attributeDecorationItem\";\r\nexport * from \"./bomDecoration\";\r\nexport * from \"./formDecoration\";\r\nexport * from \"./confFormValue\";\r\nexport * from \"./confFormControlValue\";\r\nexport * from \"./product\";\r\nexport * from \"./productFamily\";\r\nexport * from './boolParam';\r\nexport * from './confAuthorization';\r\nexport * from './conf';\r\nexport * from './confAttributeValue';\r\nexport * from './confBomValue';\r\nexport * from './confBoolValue';\r\nexport * from './confCodeValue';\r\nexport * from './confDataSelectorValue';\r\nexport * from './confDocumentValue';\r\nexport * from './confDoubleValue';\r\nexport * from './confGraphicValue';\r\nexport * from './confHeaderValue';\r\nexport * from './confHistory';\r\nexport * from './confInfo';\r\nexport * from './confIntValue';\r\nexport * from './confLookupValue';\r\nexport * from './confImageValue';\r\nexport * from './confMultiChoiceValue';\r\nexport * from './confMultiSetValue';\r\nexport * from './confPriceValue';\r\nexport * from './confVisualizationValue';\r\nexport * from './propertyDecoration'\r\nexport * from './propertyDecorationItem'\r\nexport * from './confPropertyValue'\r\nexport * from './confReport';\r\nexport * from './confRevision';\r\nexport * from './confStringValue';\r\nexport * from './confValue';\r\nexport * from './dataSelectColumn';\r\nexport * from './dataSelector';\r\nexport * from './decoration';\r\nexport * from './documentsDecoration';\r\nexport * from './doubleParam';\r\nexport * from './graphicsDecoration';\r\nexport * from './graphicsDecoration';\r\nexport * from './headerDecoration';\r\nexport * from './imageDecoration';\r\nexport * from './intParam';\r\nexport * from './language';\r\nexport * from './lookupParam';\r\nexport * from './lookupValue';\r\nexport * from './multiChoiceParam';\r\nexport * from './multiChoiceValue';\r\nexport * from './numberSeries';\r\nexport * from './param';\r\nexport * from './paramValue';\r\nexport * from './priceListDecoration';\r\nexport * from './recentConf';\r\nexport * from './state';\r\nexport * from './stringParam';\r\nexport * from './tab';\r\nexport * from './textDecoration';\r\nexport * from './user';\r\nexport * from './userInfo';\r\nexport * from './visualObject';\r\nexport * from './workGroup';\r\nexport * from './storedAttributeValue';\r\nexport * from './storedPriceValue';\r\nexport * from './storedConf';\r\nexport * from './confSearchProperty';\r\nexport * from './confSearchParameter';\r\nexport * from './confSearchCriteria';\r\nexport * from './configurationSearch';\r\nexport * from './priceListCategory';\r\nexport * from './priceCategory';\r\nexport * from './currency';\r\nexport * from './confSearchAuthorization';\r\nexport * from './authorizationGroup';\r\nexport * from './systemAuthorization';\r\nexport * from './confAttachment';\r\nexport * from './customer';\r\nexport * from './customerSite';\r\nexport * from './customerContact';\r\nexport * from './codeDecoration';\r\nexport * from './codeDecorationItem';\r\nexport * from './comparison';\r\nexport * from './comparisonValue';\r\nexport * from './confUIItem';\r\nexport * from './groupConfUIItem';\r\nexport * from './systemInformation';\r\nexport * from './storedCodeValue';\r\nexport * from './abstractCodeValue';\r\nexport * from './storedDataSelectorValue';\r\nexport * from './confAutoCompleteItem';\r\nexport * from './visualizationDecoration';\r\nexport * from \"./pushMessage\";\r\nexport * from \"./serverPushMessage\";\r\nexport * from \"./uiAction\";\r\nexport * from \"./uiElement\";\r\nexport * from \"./uiEventOperation\";\r\nexport * from \"./uiGroup\";\r\nexport * from \"./uiInput\";\r\nexport * from \"./uiLabel\";\r\nexport * from \"./uiLink\";\r\nexport * from \"./uiNotification\";\r\nexport * from \"./uiPopup\";\r\nexport * from \"./uiSelect\";\r\nexport * from \"./uiText\";\r\nexport * from \"./uiImage\";\r\nexport * from './visualizationDecoration';","import { Param } from \"./param\";\r\n\r\nexport class IntParam extends Param {\r\n\r\n protected readonly STEP_VALUE = \"stepValue\";\r\n protected readonly PLACEHOLDER = \"placeholder\";\r\n\r\n get stepValue(): number { return this.getInternalValue(this.STEP_VALUE); }\r\n setStepValue(stepValue: number): this { return this.setInternalValue(this.STEP_VALUE, stepValue); }\r\n\r\n get placeholder(): string { return this.getInternalValue(this.PLACEHOLDER); }\r\n setPlaceholder(placeholder: string): this { return this.setInternalValue(this.PLACEHOLDER, placeholder); }\r\n\r\n}","import * as Immutable from \"immutable\";\r\n\r\nimport { BaseEntity } from \"../../baseEntity\";\r\n\r\nexport class Language extends BaseEntity {\r\n\r\n protected readonly TITLE = \"title\";\r\n protected readonly CODES = \"codes\";\r\n\r\n get title(): string { return this.getInternalValue(this.TITLE); }\r\n setTitle(title: string): this { return this.setInternalValue(this.TITLE, title); }\r\n\r\n get codes(): Immutable.List { return this.getInternalValue>(this.CODES); }\r\n setCodes(codes: Immutable.List): this { return this.setInternalValue(this.CODES, codes); }\r\n}","import * as Immutable from \"immutable\";\r\nimport { Param } from \"./param\";\r\n\r\nexport class LookupParam extends Param \r\n{ \r\n protected readonly DISPLAY_STYLE = \"displayStyle\";\r\n protected readonly ORIENTATION = \"orientation\";\r\n protected readonly PARAM_VALUE_ICON_WIDTH = \"paramValueIconWidth\";\r\n protected readonly PARAM_VALUE_ICON_HEIGHT = \"paramValueIconHeight\";\r\n protected readonly DISPLAY_AS_RADIO = \"displayAsRadio\";\r\n protected readonly HIDE_VALUES_IF_DISABLED = \"hideValuesIfDisabled\";\r\n protected readonly SHOW_HELP_IMAGE_OF_SELECTED_VALUE = \"showHelpImageOfSelectedValue\";\r\n protected readonly SELECTED_VALUE_IMAGE_WIDTH = \"selectedValueImageWidth\";\r\n protected readonly SELECTED_VALUE_IMAGE_HEIGHT = \"selectedValueImageHeight\";\r\n protected readonly PLACEHOLDER = \"placeholder\";\r\n\r\n get displayStyle(): string { return this.getInternalValue(this.DISPLAY_STYLE); }\r\n setDisplayStyle(displayStyle: string): this { return this.setInternalValue(this.DISPLAY_STYLE, displayStyle); }\r\n\r\n get orientation(): string { return this.getInternalValue(this.ORIENTATION); }\r\n setOrientation(orientation: string): this { return this.setInternalValue(this.ORIENTATION, orientation); }\r\n\r\n get paramValueIconWidth(): number { return this.getInternalValue(this.PARAM_VALUE_ICON_WIDTH); }\r\n setParamValueIconWidth(paramValueIconWidth: number): this { return this.setInternalValue(this.PARAM_VALUE_ICON_WIDTH, paramValueIconWidth); }\r\n\r\n get paramValueIconHeight(): number { return this.getInternalValue(this.PARAM_VALUE_ICON_HEIGHT); }\r\n setParamValueIconHeight(paramValueIconHeight: number): this { return this.setInternalValue(this.PARAM_VALUE_ICON_HEIGHT, paramValueIconHeight); }\r\n\r\n get displayAsRadio(): boolean { return this.getInternalValue(this.DISPLAY_AS_RADIO); }\r\n setDisplayAsRadio(displayAsRadio: boolean): this { return this.setInternalValue(this.DISPLAY_AS_RADIO, displayAsRadio); }\r\n\r\n get hideValuesIfDisabled(): boolean { return this.getInternalValue(this.HIDE_VALUES_IF_DISABLED); }\r\n setHideValuesIfDisabled(hideValuesIfDisabled: boolean): this { return this.setInternalValue(this.HIDE_VALUES_IF_DISABLED, hideValuesIfDisabled); }\r\n\r\n get showHelpImageOfSelectedValue(): number { return this.getInternalValue(this.SHOW_HELP_IMAGE_OF_SELECTED_VALUE); }\r\n setShowHelpImageOfSelectedValue(showHelpImageOfSelectedValue: number): this { return this.setInternalValue(this.SHOW_HELP_IMAGE_OF_SELECTED_VALUE, showHelpImageOfSelectedValue); }\r\n\r\n get selectedValueImageWidth(): number { return this.getInternalValue(this.SELECTED_VALUE_IMAGE_WIDTH); }\r\n setSelectedValueImageWidth(selectedValueImageWidth: number): this { return this.setInternalValue(this.SELECTED_VALUE_IMAGE_WIDTH, selectedValueImageWidth); }\r\n\r\n get selectedValueImageHeight(): number { return this.getInternalValue(this.SELECTED_VALUE_IMAGE_HEIGHT); }\r\n setSelectedValueImageHeight(selectedValueImageHeight: number): this { return this.setInternalValue(this.SELECTED_VALUE_IMAGE_HEIGHT, selectedValueImageHeight); }\r\n\r\n get placeholder(): string { return this.getInternalValue(this.PLACEHOLDER); }\r\n setPlaceholder(placeholder: string): this { return this.setInternalValue(this.PLACEHOLDER, placeholder); }\r\n\r\n}","import * as Immutable from \"immutable\";\r\nimport { ParamValue } from \"./paramValue\";\r\n\r\nexport class LookupValue extends ParamValue { \r\n\r\n}","import * as Immutable from \"immutable\";\r\nimport { Param } from \"./param\";\r\n\r\nexport class MultiChoiceParam extends Param {\r\n\r\n}","import * as Immutable from \"immutable\";\r\nimport { ParamValue } from \"./paramValue\";\r\n\r\nexport class MultiChoiceValue extends ParamValue \r\n{\r\n protected readonly THREE_STATE = \"threeState\";\r\n\r\n get threeState(): boolean { return this.getInternalValue(this.THREE_STATE); }\r\n setThreeState(threeState: boolean): this { return this.setInternalValue(this.THREE_STATE, threeState); }\r\n}","import { BaseEntity } from \"../../baseEntity\";\r\n\r\nexport class NumberSeries extends BaseEntity {\r\n protected readonly NAME = \"name\";\r\n\r\n get name(): string { return this.getInternalValue(this.NAME); }\r\n setName(name: string): this { return this.setInternalValue(this.NAME, name); }\r\n}","import * as Immutable from \"immutable\";\r\nimport { VisualObject } from \"./visualObject\";\r\n\r\nexport class Param extends VisualObject {\r\n\r\n protected readonly NAME = \"name\";\r\n protected readonly HELP_TEXT = \"helpText\";\r\n protected readonly EXTERN_LINK = \"externLink\";\r\n protected readonly HELP_IMAGE = \"helpImage\";\r\n protected readonly WIDTH = \"width\";\r\n protected readonly HEIGHT = \"height\";\r\n protected readonly ICON_RELATIVE_URL = \"iconRelativeUrl\";\r\n protected readonly HELP_IMAGE_RELATIVE_URL = \"helpImageRelativeUrl\";\r\n protected readonly HELP_IMAGE_WIDTH = \"helpImageWidth\";\r\n protected readonly HELP_IMAGE_HEIGHT = \"helpImageHeight\";\r\n protected readonly PARAM_VALUES = \"paramValues\";\r\n\r\n get name(): string { return this.getInternalValue(this.NAME); }\r\n setName(name: string): this { return this.setInternalValue(this.NAME, name); }\r\n\r\n get helpText(): string { return this.getInternalValue(this.HELP_TEXT); }\r\n setHelpText(helpText: string): this { return this.setInternalValue(this.HELP_TEXT, helpText); }\r\n\r\n get externLink(): string { return this.getInternalValue(this.EXTERN_LINK); }\r\n setExternLink(externLink: string): this { return this.setInternalValue(this.EXTERN_LINK, externLink); }\r\n\r\n get width(): number { return this.getInternalValue(this.WIDTH); }\r\n setWidth(width: number): this { return this.setInternalValue(this.WIDTH, width); }\r\n\r\n get height(): number { return this.getInternalValue(this.HEIGHT); }\r\n setHeight(height: number): this { return this.setInternalValue(this.HEIGHT, height); }\r\n\r\n get iconRelativeUrl(): string { return this.getInternalValue(this.ICON_RELATIVE_URL); }\r\n setIconRelativeUrl(iconRelativeUrl: string): this { return this.setInternalValue(this.ICON_RELATIVE_URL, iconRelativeUrl); }\r\n\r\n get helpImageRelativeUrl(): string { return this.getInternalValue(this.HELP_IMAGE_RELATIVE_URL); }\r\n setHelpImageRelativeUrl(helpImage: string): this { return this.setInternalValue(this.HELP_IMAGE_RELATIVE_URL, helpImage); }\r\n\r\n get helpImageWidth(): number { return this.getInternalValue(this.HELP_IMAGE_WIDTH); }\r\n setHelpImageWidth(helpImageWidth: number): this { return this.setInternalValue(this.HELP_IMAGE_WIDTH, helpImageWidth); }\r\n\r\n get helpImageHeight(): number { return this.getInternalValue(this.HELP_IMAGE_HEIGHT); }\r\n setHelpImageHeight(helpImageHeight: number): this { return this.setInternalValue(this.HELP_IMAGE_HEIGHT, helpImageHeight); }\r\n\r\n get paramValues(): Immutable.List { return this.getInternalValue>(this.PARAM_VALUES); }\r\n setParamValues(paramValues: Immutable.List): this { return this.setInternalValue(this.PARAM_VALUES, paramValues); }\r\n}","import * as Immutable from \"immutable\";\r\nimport { BaseEntity } from \"../../baseEntity\";\r\nimport { VisualObject } from \"./visualObject\";\r\n\r\nexport abstract class ParamValue extends BaseEntity {\r\n protected readonly PARAMETER_ID = \"parameterId\";\r\n protected readonly NAME = \"name\";\r\n protected readonly TITLE = \"title\";\r\n protected readonly HELP_TEXT = \"helpText\";\r\n protected readonly EXTERNAL_LINK = \"externalLink\";\r\n protected readonly ICON_RELATIVE_URL = \"iconRelativeUrl\";\r\n protected readonly HELP_IMAGE_RELATIVE_URL = \"helpImageRelativeUrl\";\r\n protected readonly HELP_IMAGE_WIDTH = \"helpImageWidth\";\r\n protected readonly HELP_IMAGE_HEIGHT = \"helpImageHeight\";\r\n protected readonly HIDE_IF_DISABLED = \"hideIfDisabled\";\r\n protected readonly OBSOLETE = \"obsolete\";\r\n \r\n get parameterId(): number { return this.getInternalValue(this.PARAMETER_ID); }\r\n setParameterId(parameterId: number): this { return this.setInternalValue(this.PARAMETER_ID, parameterId); }\r\n\r\n get name(): string { return this.getInternalValue(this.NAME); }\r\n setName(name: string): this { return this.setInternalValue(this.NAME, name); }\r\n\r\n get title(): string { return this.getInternalValue(this.TITLE); }\r\n setTitle(title: string): this { return this.setInternalValue(this.TITLE, title); }\r\n\r\n get helpText(): string { return this.getInternalValue(this.HELP_TEXT); }\r\n setHelpText(helpText: string): this { return this.setInternalValue(this.HELP_TEXT, helpText); }\r\n\r\n get externLink(): string { return this.getInternalValue(this.EXTERNAL_LINK); }\r\n setExternLink(externalLink: string): this { return this.setInternalValue(this.EXTERNAL_LINK, externalLink); }\r\n\r\n get iconRelativeUrl(): string { return this.getInternalValue(this.ICON_RELATIVE_URL); }\r\n setIconRelativeUrl(iconRelativeUrl: string): this { return this.setInternalValue(this.ICON_RELATIVE_URL, iconRelativeUrl); }\r\n\r\n get helpImageRelativeUrl(): string { return this.getInternalValue(this.HELP_IMAGE_RELATIVE_URL); }\r\n setHelpImageRelativeUrl(helpImageRelativeUrl: string): this { return this.setInternalValue(this.HELP_IMAGE_RELATIVE_URL, helpImageRelativeUrl); }\r\n\r\n get helpImageWidth(): number { return this.getInternalValue(this.HELP_IMAGE_WIDTH); }\r\n setHelpImageWidth(helpImageWidth: number): this { return this.setInternalValue(this.HELP_IMAGE_WIDTH, helpImageWidth); }\r\n\r\n get helpImageHeight(): number { return this.getInternalValue(this.HELP_IMAGE_HEIGHT); }\r\n setHelpImageHeight(helpImageHeight: number): this { return this.setInternalValue(this.HELP_IMAGE_HEIGHT, helpImageHeight); }\r\n\r\n get hideIfDisabled(): boolean { return this.getInternalValue(this.HIDE_IF_DISABLED); }\r\n setHideIfDisabled(hideIfDisabled: boolean): this { return this.setInternalValue(this.HIDE_IF_DISABLED, hideIfDisabled); }\r\n\r\n get obsolete(): boolean { return this.getInternalValue(this.OBSOLETE); }\r\n setObsolete(obsolete: boolean): this { return this.setInternalValue(this.OBSOLETE, obsolete); }\r\n}","import { BaseEntity } from \"../../baseEntity\"\r\n\r\nexport abstract class PriceCategory extends BaseEntity {\r\n\r\n protected readonly NAME = \"name\";\r\n\r\n get name(): string { return this.getInternalValue(this.NAME); }\r\n setName(name: string): this { return this.setInternalValue(this.NAME, name); }\r\n}","import { BaseEntity } from \"../../baseEntity\"\r\n\r\nexport abstract class PriceListCategory extends BaseEntity {\r\n\r\n protected readonly TITLE = \"title\";\r\n\r\n get title(): string { return this.getInternalValue(this.TITLE); }\r\n setTitle(title: string): this { return this.setInternalValue(this.TITLE, title); }\r\n}","import * as Immutable from \"immutable\";\r\nimport { Decoration } from \"./decoration\";\r\n\r\nexport class PriceListDecoration extends Decoration {\r\n\r\n protected readonly SHOW_IN_SUMMARY = \"showInSummary\";\r\n protected readonly SUMMARY_DISPLAY_STYLE = \"summaryDisplayStyle\";\r\n\r\n constructor(data?: Immutable.Map) {\r\n super(data);\r\n }\r\n\r\n get showInSummary(): boolean { return this.getInternalValue(this.SHOW_IN_SUMMARY); }\r\n setShowInSummary(showInSummary: boolean): this { return this.setInternalValue(this.SHOW_IN_SUMMARY, showInSummary); }\r\n\r\n get summaryDisplayStyle(): string { return this.getInternalValue(this.SUMMARY_DISPLAY_STYLE); }\r\n setSummaryDisplayStyle(summaryDisplayStyle: string): this { return this.setInternalValue(this.SUMMARY_DISPLAY_STYLE, summaryDisplayStyle); }\r\n\r\n}","import * as Immutable from \"immutable\"\r\n\r\nimport { Assortment } from \"./assortment\"\r\n\r\nexport class Product extends Assortment\r\n{\r\n protected readonly TABS = \"tabIds\";\r\n protected readonly ACCORDION_TABS_WIDTH = \"accordionTabsWidth\";\r\n protected readonly SHOW_CHILDREN_IN_ACCORDION_TABS = \"showChildrenInAccordionTabs\";\r\n\r\n get accordionTabsWidth(): number { return this.getInternalValue(this.ACCORDION_TABS_WIDTH); }\r\n setAccordionTabsWidth(accordionTabsWidth: number): this { return this.setInternalValue(this.ACCORDION_TABS_WIDTH, accordionTabsWidth); }\r\n\r\n get tabs(): Immutable.List { return this.getInternalValue>(this.TABS); }\r\n settabs(tabs: Immutable.List): this { return this.setInternalValue(this.TABS, tabs); }\r\n\r\n get showChildrenInAccordionTabs(): boolean { return this.getInternalValue(this.SHOW_CHILDREN_IN_ACCORDION_TABS); }\r\n setShowChildrenInAccordionTabs(showChildrenInAccordionTabs: boolean): this { return this.setInternalValue(this.SHOW_CHILDREN_IN_ACCORDION_TABS, showChildrenInAccordionTabs); }\r\n\r\n}","import * as Immutable from \"immutable\"\r\n\r\nimport { Assortment } from \"./assortment\"\r\n\r\nexport class ProductFamily extends Assortment {\r\n\r\n}","import * as Immutable from \"immutable\";\r\nimport { Decoration } from \"./decoration\";\r\nimport { PropertyDecorationItem } from \"./propertyDecorationItem\";\r\n\r\nexport class PropertyDecoration extends Decoration {\r\n\r\n protected readonly Items = \"items\";\r\n\r\n get items(): Immutable.List { return this.getInternalValue>(this.Items); }\r\n setItems(items: Immutable.List): this { return this.setInternalValue(this.Items, items); }\r\n}","import { BaseEntity } from \"../../baseEntity\";\r\n\r\nexport class PropertyDecorationItem extends BaseEntity {\r\n\r\n protected readonly WIDTH = \"width\";\r\n protected readonly ROW_COUNT = \"rowCount\";\r\n protected readonly FLOATING_POSITION = \"floatingPosition\";\r\n protected readonly PROPERTY_NAME = \"propertyName\";\r\n protected readonly PROPERTY_TYPE = \"propertyType\";\r\n protected readonly NUMERIC_FORMAT = \"numericFormat\";\r\n\r\n get width(): number { return this.getInternalValue(this.WIDTH); }\r\n setWidth(width: number): this { return this.setInternalValue(this.WIDTH, width); }\r\n\r\n get rowCount(): number { return this.getInternalValue(this.ROW_COUNT); }\r\n setRowCount(rowCount: number): this { return this.setInternalValue(this.ROW_COUNT, rowCount); }\r\n\r\n get floatingPosition(): boolean { return this.getInternalValue(this.FLOATING_POSITION); }\r\n setFloatingPosition(floatingPosition: boolean): this { return this.setInternalValue(this.FLOATING_POSITION, floatingPosition); }\r\n\r\n get propertyName(): string { return this.getInternalValue(this.PROPERTY_NAME); }\r\n setPropertyName(propertyName: string): this { return this.setInternalValue(this.PROPERTY_NAME, propertyName); }\r\n\r\n get propertyType(): string { return this.getInternalValue(this.PROPERTY_TYPE); }\r\n setPropertyType(propertyType: string): this { return this.setInternalValue(this.PROPERTY_TYPE, propertyType); }\r\n\r\n get numericFormat(): string { return this.getInternalValue(this.NUMERIC_FORMAT); }\r\n setNumericFormat(numericFormat: string): this { return this.setInternalValue(this.NUMERIC_FORMAT, numericFormat); }\r\n}","import * as Immutable from \"immutable\";\r\nimport { BaseEntity } from \"../../baseEntity\";\r\n\r\nexport class PushMessage extends BaseEntity {\r\n\r\n protected readonly INTERACTION_SESSION_ID = \"interactionSessionId\";\r\n protected readonly EXTRA_ARGS = \"extraArgs\";\r\n\r\n get interactionSessionId(): number { return this.getInternalValue(this.INTERACTION_SESSION_ID); }\r\n setInteractionSessionId(interactionSessionId: number): this { return this.setInternalValue(this.INTERACTION_SESSION_ID, interactionSessionId); }\r\n\r\n get extraArgs(): Immutable.Map { return this.getInternalValue>(this.EXTRA_ARGS); }\r\n setExtraArgs(extraArgs: Immutable.Map): this { return this.setInternalValue(this.EXTRA_ARGS, extraArgs); }\r\n\r\n}","import { ImmutableObject } from \"../../../../shared\";\r\nimport { UIAction, UIElement } from \"../entities\";\r\nimport * as Immutable from \"immutable\"\r\nimport { BaseEntity } from \"../../baseEntity\";\r\n\r\nexport class PushMessageData extends ImmutableObject {\r\n protected readonly INTERACTION_SESSION_ID = \"interactionSessionId\";\r\n protected readonly START_UI_ACTION = \"startUIAction\";\r\n protected readonly UI_ACTIONS = \"uiActions\";\r\n protected readonly UI_ACTION_STRUCTURE_BY_ID = \"uiActionStructureById\";\r\n protected readonly UI_ELEMENTS = \"uiElements\";\r\n protected readonly EXTRA_ARGS = \"extraArgs\";\r\n protected readonly LONG_ID = \"longId\";\r\n protected readonly VALUES = \"values\";\r\n protected readonly CLIENT_REQUEST_ID = \"clientRequestId\";\r\n\r\n get interactionSessionId(): number { return this.getInternalValue(this.INTERACTION_SESSION_ID); }\r\n setInteractionSessionId(interactionSessionId: number): this { return this.setInternalValue(this.INTERACTION_SESSION_ID, interactionSessionId); }\r\n\r\n get startUIAction(): string { return this.getInternalValue(this.START_UI_ACTION); }\r\n setStartUIAction(startUIAction: string): this { return this.setInternalValue(this.START_UI_ACTION, startUIAction); }\r\n\r\n get uiActions(): Immutable.Map { return this.getInternalValue>(this.UI_ACTIONS); }\r\n setUiActions(uiActions: Immutable.Map): this { return this.setInternalValue(this.UI_ACTIONS, uiActions); }\r\n\r\n get uiElements(): Immutable.Map { return this.getInternalValue>(this.UI_ELEMENTS); }\r\n setUiElements(uiElements: Immutable.Map): this { return this.setInternalValue(this.UI_ELEMENTS, uiElements); }\r\n\r\n get extraArgs(): Immutable.Map { return this.getInternalValue>(this.EXTRA_ARGS); }\r\n setExtraArgs(extraArgs: Immutable.Map): this { return this.setInternalValue(this.EXTRA_ARGS, extraArgs); }\r\n\r\n get uiActionStructureById(): Immutable.Map> { return this.getInternalValue(this.UI_ACTION_STRUCTURE_BY_ID); }\r\n setUiActionStructureById(uiActionStructureById: Immutable.Map>): this { return this.setInternalValue(this.UI_ACTION_STRUCTURE_BY_ID, uiActionStructureById); }\r\n\r\n get longId(): number { return this.getInternalValue(this.LONG_ID); }\r\n setLongId(longId: number): this { return this.setInternalValue(this.LONG_ID, longId); }\r\n\r\n get values(): Immutable.Map { return this.getInternalValue>(this.VALUES); }\r\n setValues(values: Immutable.Map): this { return this.setInternalValue(this.VALUES, values); }\r\n\r\n get clientRequestId(): number { return this.getInternalValue(this.CLIENT_REQUEST_ID); }\r\n setClientRequestId(clientRequestId: number): this { return this.setInternalValue(this.CLIENT_REQUEST_ID, clientRequestId); }\r\n}","import { BaseEntity } from \"../../baseEntity\";\r\n\r\nexport class RecentConf extends BaseEntity {\r\n\r\n protected readonly ICON_RELATIVE_URL = \"iconRelativeUrl\";\r\n protected readonly TITLE = \"title\";\r\n protected readonly DESCRIPTION = \"description\";\r\n protected readonly CONF_SESSION_ID = \"confSessionId\";\r\n\r\n get iconRelativeUrl(): string { return this.getInternalValue(this.ICON_RELATIVE_URL); }\r\n setIconRelativeUrl(iconRelativeUrl: string): this { return this.setInternalValue(this.ICON_RELATIVE_URL, iconRelativeUrl); }\r\n\r\n get title(): string { return this.getInternalValue(this.TITLE); }\r\n setTitle(title: string): this { return this.setInternalValue(this.TITLE, title); }\r\n\r\n get description(): string { return this.getInternalValue(this.DESCRIPTION); }\r\n setDescription(description: string): this { return this.setInternalValue(this.DESCRIPTION, description); }\r\n \r\n get confSessionId(): number { return this.getInternalValue(this.CONF_SESSION_ID); }\r\n setConfSessionId(confSessionId: number): this { return this.setInternalValue(this.CONF_SESSION_ID, confSessionId); }\r\n}","import { ImmutableObject } from \"../../../../shared/immutableObject\";\r\n\r\nexport class RefObject extends ImmutableObject {\r\n\r\n protected readonly LONG_ID = \"longId\";\r\n protected readonly TEXT = \"text\";\r\n protected readonly REF_CLASS_NAME = \"refClassName\";\r\n\r\n get longId(): number { return this.getInternalValue(this.LONG_ID); }\r\n setLongId(longId: number): this { return this.setInternalValue(this.LONG_ID, longId); } \r\n\r\n get text(): string { return this.getInternalValue(this.TEXT); }\r\n setText(text: string): this { return this.setInternalValue(this.TEXT, text); }\r\n\r\n get refClassName(): string { return this.getInternalValue(this.REF_CLASS_NAME); }\r\n setRefClassName(refClassName: string): this { return this.setInternalValue(this.REF_CLASS_NAME, refClassName); }\r\n}","import * as Immutable from \"immutable\";\r\nimport { PushMessage } from \"./pushMessage\";\r\n\r\nexport class ServerPushMessage extends PushMessage {\r\n\r\n protected readonly START_UI_ACTION = \"startUIAction\";\r\n protected readonly UI_ACTION_STRUCTURE_BY_ID = \"uiActionStructureById\";\r\n \r\n get startUIAction(): string { return this.getInternalValue(this.START_UI_ACTION); }\r\n setStartUIAction(startUIAction: string): this { return this.setInternalValue(this.START_UI_ACTION, startUIAction); }\r\n\r\n get uiActionStructureById(): Immutable.Map> { return this.getInternalValue>>(this.UI_ACTION_STRUCTURE_BY_ID); }\r\n setUiActionStructureById(uiActionStructureById: Immutable.Map>): this { return this.setInternalValue(this.UI_ACTION_STRUCTURE_BY_ID, uiActionStructureById); }\r\n\r\n }","import { BaseEntity } from \"../../baseEntity\";\r\n\r\nexport class State extends BaseEntity {\r\n\r\n protected readonly NAME = \"name\"; \r\n protected readonly PROMOTE_MESSAGE = \"promoteMessage\";\r\n protected readonly DEMOTE_MESSAGE = \"demoteMessage\";\r\n protected readonly DEFAULT_STATE = \"defaultState\";\r\n protected readonly COLOR = \"color\";\r\n protected readonly ORDER = \"order\";\r\n protected readonly ICON_RELATIVE_URL = \"iconRelativeUrl\";\r\n \r\n get name(): string { return this.getInternalValue(this.NAME); }\r\n setName(name: string): this { return this.setInternalValue(this.NAME, name); }\r\n\r\n get promoteMessage(): string { return this.getInternalValue(this.PROMOTE_MESSAGE); }\r\n setPromoteMessage(promoteMessage: string): this { return this.setInternalValue(this.PROMOTE_MESSAGE, promoteMessage); }\r\n\r\n get demoteMessage(): string { return this.getInternalValue(this.DEMOTE_MESSAGE); }\r\n setDemoteMessage(demoteMessage: string): this { return this.setInternalValue(this.DEMOTE_MESSAGE, demoteMessage); }\r\n\r\n get defaultState(): boolean { return this.getInternalValue(this.DEFAULT_STATE); }\r\n setDefaultState(defaultState: boolean): this { return this.setInternalValue(this.DEFAULT_STATE, defaultState); }\r\n\r\n get color(): string { return this.getInternalValue(this.COLOR); }\r\n setColor(color: string): this { return this.setInternalValue(this.COLOR, color); }\r\n\r\n get order(): number { return this.getInternalValue(this.ORDER); }\r\n setOrder(order: number): this { return this.setInternalValue(this.ORDER, order); }\r\n\r\n get iconRelativeUrl(): string { return this.getInternalValue(this.ICON_RELATIVE_URL); }\r\n setIconRelativeUrl(iconRelativeUrl: string): this { return this.setInternalValue(this.ICON_RELATIVE_URL, iconRelativeUrl); }\r\n}","import * as Immutable from \"immutable\";\r\nimport { BaseEntity } from \"../../baseEntity\";\r\n\r\nexport class StoredAttributeValue extends BaseEntity {\r\n\r\n protected readonly VALUE = \"value\";\r\n protected readonly UNIT = \"unit\";\r\n\r\n get value(): string { return this.getInternalValue(this.VALUE); }\r\n setValue(value: string): this { return this.setInternalValue(this.VALUE, value); }\r\n\r\n get unit(): string { return this.getInternalValue(this.UNIT); }\r\n setUnit(unit: string): this { return this.setInternalValue(this.UNIT, unit); }\r\n}","import { AbstractCodeValue } from \"./abstractCodeValue\";\r\n\r\nexport class StoredCodeValue extends AbstractCodeValue {\r\n\r\n}","import * as Immutable from \"immutable\";\r\nimport { StoredPriceValue, StoredCodeValue, StoredDataSelectorValue, StoredAttributeValue } from \"..\";\r\nimport { BaseEntity } from \"../../baseEntity\";\r\n\r\nexport class StoredConf extends BaseEntity {\r\n\r\n protected readonly ATTRIBUTE_VALUES = \"attributeValues\";\r\n protected readonly PRICE_VALUE = \"priceValue\";\r\n protected readonly CODE_VALUES = \"codeValues\";\r\n protected readonly DATA_SELECTOR_VALUES = \"dataSelectorValues\";\r\n\r\n get attributeValues(): Immutable.List { return this.getInternalValue>(this.ATTRIBUTE_VALUES); }\r\n setattributeValues(attributeValues: Immutable.List): this { return this.setInternalValue(this.ATTRIBUTE_VALUES, attributeValues); }\r\n\r\n get priceValue(): StoredPriceValue { return this.getInternalValue(this.PRICE_VALUE); }\r\n setPriceValue(priceValue: StoredPriceValue): this { return this.setInternalValue(this.PRICE_VALUE, priceValue); } \r\n\r\n get codeValues(): Immutable.List { return this.getInternalValue>(this.CODE_VALUES); }\r\n setCodeValues(codeValues: Immutable.List): this { return this.setInternalValue(this.CODE_VALUES, codeValues); }\r\n\r\n get dataSelectorValues(): Immutable.List { return this.getInternalValue>(this.DATA_SELECTOR_VALUES); }\r\n setDataSelectorValues(dataSelectorValues: Immutable.List): this { return this.setInternalValue(this.DATA_SELECTOR_VALUES, dataSelectorValues); }\r\n\r\n}","import { BaseEntity } from \"../../baseEntity\";\r\n\r\nexport class StoredDataSelectorValue extends BaseEntity {\r\n\r\n protected readonly VALUE = \"value\";\r\n\r\n get value(): string { return this.getInternalValue(this.VALUE); }\r\n setValue(value: string): this { return this.setInternalValue(this.VALUE, value); }\r\n}","import * as Immutable from \"immutable\";\r\nimport { ImmutableObject } from \"../../../../shared/immutableObject\";\r\n\r\nexport class StoredPriceValue extends ImmutableObject {\r\n \r\n protected readonly PRICE_LIST_CATEGORY_NAME = \"priceListCategoryName\";\r\n protected readonly PRICE_LIST_CATEGORY_ID = \"priceListCategoryId\";\r\n protected readonly PRICE = \"price\";\r\n protected readonly CURRENCY_ID = \"currencyId\";\r\n protected readonly CURRENCY_NAME = \"currencyName\";\r\n \r\n get priceListCategoryName(): string { return this.getInternalValue(this.PRICE_LIST_CATEGORY_NAME); }\r\n setPriceListCategoryName(priceListCategoryName: string): this { return this.setInternalValue(this.PRICE_LIST_CATEGORY_NAME, priceListCategoryName); }\r\n\r\n get priceListCategoryId(): number { return this.getInternalValue(this.PRICE_LIST_CATEGORY_ID); }\r\n setPriceListCategoryId(priceListCategoryId: number): this { return this.setInternalValue(this.PRICE_LIST_CATEGORY_ID, priceListCategoryId); }\r\n\r\n get price(): string { return this.getInternalValue(this.PRICE); }\r\n setPrice(price: string): this { return this.setInternalValue(this.PRICE, price); }\r\n\r\n get currencyId(): number { return this.getInternalValue(this.CURRENCY_ID); }\r\n setCurrencyId(currencyId: number): this { return this.setInternalValue(this.CURRENCY_ID, currencyId); }\r\n\r\n get currencyName(): string { return this.getInternalValue(this.CURRENCY_NAME); }\r\n setCurrencyName(currencyName: string): this { return this.setInternalValue(this.CURRENCY_NAME, currencyName); }\r\n}","import * as Immutable from \"immutable\";\r\nimport { Param } from \"./param\";\r\n\r\nexport class StringParam extends Param {\r\n\r\n protected readonly ROW_COUNT = \"rowCount\";\r\n protected readonly PLACEHOLDER = \"placeholder\";\r\n \r\n get rowCount(): number { return this.getInternalValue(this.ROW_COUNT); }\r\n setRowCount(rowCount: number): this { return this.setInternalValue(this.ROW_COUNT, rowCount); }\r\n \r\n get placeholder(): string { return this.getInternalValue(this.PLACEHOLDER); }\r\n setPlaceholder(placeholder: string): this { return this.setInternalValue(this.PLACEHOLDER, placeholder); }\r\n\r\n}","import * as Immutable from \"immutable\";\r\n\r\nimport { ImmutableObject } from \"../../../../shared/immutableObject\";\r\n\r\nexport class SystemAuthorization extends ImmutableObject {\r\n \r\n static readonly CAN_CREATE_PRIVATE_SEARCH = \"canCreatePrivateSearch\";\r\n static readonly CAN_CREATE_OWN_WORKGROUP_SEARCH = \"canCreateOwnWorkGroupSearch\";\r\n static readonly CAN_CREATE_ANY_WORKGROUP_SEARCH = \"canCreateAnyWorkGroupSearch\";\r\n static readonly CAN_CREATE_AUTHORIZATION_GROUP_SEARCH = \"canCreateAuthorizationGroupSearch\";\r\n static readonly CAN_CREATE_PUBLIC_SEARCH = \"canCreatePublicSearch\";\r\n static readonly CAN_RELOAD_CACHE = \"canReloadCache\";\r\n static readonly CAN_VIEW_APP_HEADER = \"canViewWebAppHeader\";\r\n static readonly CAN_SEARCH_CHILDREN = \"canSearchChildren\";\r\n static readonly CAN_SEARCH_CONFIGURATIONS = \"canSearchConfigurations\";\r\n static readonly CAN_CHANGE_USER_PROFILE = \"canChangeUserProfile\";\r\n static readonly CAN_CHANGE_USER_SETTINGS = \"canChangeUserSettings\";\r\n static readonly HAS_ANONYMOUS_ACCESS = \"hasAnonymousAccess\";\r\n \r\n get canCreatePrivateSearch(): boolean { return this.getInternalValue(SystemAuthorization.CAN_CREATE_PRIVATE_SEARCH); }\r\n setCanCreatePrivateSearch(canCreatePrivateSearch: boolean): this { return this.setInternalValue(SystemAuthorization.CAN_CREATE_PRIVATE_SEARCH, canCreatePrivateSearch); }\r\n\r\n get canCreateOwnWorkGroupSearch(): boolean { return this.getInternalValue(SystemAuthorization.CAN_CREATE_OWN_WORKGROUP_SEARCH); }\r\n setCanCreateOwnWorkGroupSearch(canCreateWorkGroupSearch: boolean): this { return this.setInternalValue(SystemAuthorization.CAN_CREATE_OWN_WORKGROUP_SEARCH, canCreateWorkGroupSearch); }\r\n\r\n get canCreateAnyWorkGroupSearch(): boolean { return this.getInternalValue(SystemAuthorization.CAN_CREATE_ANY_WORKGROUP_SEARCH); }\r\n setCanCreateAnyWorkGroupSearch(canCreateAnyWorkGroupSearch: boolean): this { return this.setInternalValue(SystemAuthorization.CAN_CREATE_ANY_WORKGROUP_SEARCH, canCreateAnyWorkGroupSearch); }\r\n\r\n get canCreateAuthorizationGroupSearch(): boolean { return this.getInternalValue(SystemAuthorization.CAN_CREATE_AUTHORIZATION_GROUP_SEARCH); }\r\n setCanCreateAuthorizationGroupSearch(canCreateAuthorizationGroupSearch: boolean): this { return this.setInternalValue(SystemAuthorization.CAN_CREATE_AUTHORIZATION_GROUP_SEARCH, canCreateAuthorizationGroupSearch); }\r\n\r\n get canCreatePublicSearch(): boolean { return this.getInternalValue(SystemAuthorization.CAN_CREATE_PUBLIC_SEARCH); }\r\n setCanCreatePublicSearch(canCreatePublicSearch: boolean): this { return this.setInternalValue(SystemAuthorization.CAN_CREATE_PUBLIC_SEARCH, canCreatePublicSearch); }\r\n\r\n get canReloadCache(): boolean { return this.getInternalValue(SystemAuthorization.CAN_RELOAD_CACHE); }\r\n setCanReloadCache(canReloadCache: boolean): this { return this.setInternalValue(SystemAuthorization.CAN_RELOAD_CACHE, canReloadCache); }\r\n\r\n get canViewWebAppHeader(): boolean { return this.getInternalValue(SystemAuthorization.CAN_VIEW_APP_HEADER); }\r\n setCanViewWebAppHeader(canViewWebAppHeader: boolean): this { return this.setInternalValue(SystemAuthorization.CAN_VIEW_APP_HEADER, canViewWebAppHeader); }\r\n\r\n get canSearchChildren(): boolean { return this.getInternalValue(SystemAuthorization.CAN_SEARCH_CHILDREN); }\r\n setCanSearchChildren(canSearchChildren: boolean): this { return this.setInternalValue(SystemAuthorization.CAN_SEARCH_CHILDREN, canSearchChildren); }\r\n\r\n get canSearchConfigurations(): boolean { return this.getInternalValue(SystemAuthorization.CAN_SEARCH_CONFIGURATIONS); }\r\n setCanSearchConfigurations(canSearchConfigurations: boolean): this { return this.setInternalValue(SystemAuthorization.CAN_SEARCH_CONFIGURATIONS, canSearchConfigurations); }\r\n \r\n get canChangeUserProfile(): boolean { return this.getInternalValue(SystemAuthorization.CAN_CHANGE_USER_PROFILE); }\r\n setCanChangeUserProfile(canChangeUserProfile: boolean): this { return this.setInternalValue(SystemAuthorization.CAN_CHANGE_USER_PROFILE, canChangeUserProfile); }\r\n\r\n get canChangeUserSettings(): boolean { return this.getInternalValue(SystemAuthorization.CAN_CHANGE_USER_SETTINGS); }\r\n setCanChangeUserSettings(canChangeUserSettings: boolean): this { return this.setInternalValue(SystemAuthorization.CAN_CHANGE_USER_SETTINGS, canChangeUserSettings); }\r\n\r\n get hasAnonymousAccess(): boolean { return this.getInternalValue(SystemAuthorization.HAS_ANONYMOUS_ACCESS); }\r\n setHasAnonymousAccess(hasAnonymousAccess: boolean): this { return this.setInternalValue(SystemAuthorization.HAS_ANONYMOUS_ACCESS, hasAnonymousAccess); }\r\n\r\n}","import { BaseEntity } from \"../../baseEntity\";\r\n\r\nexport class SystemInformation extends BaseEntity {\r\n protected readonly TITLE = \"title\";\r\n protected readonly MESSAGE = \"message\";\r\n protected readonly PUBLISHED_DATE = \"publishedDate\";\r\n protected readonly IS_WELCOMEMESSAGE = \"isWelcomeMessage\";\r\n\r\n get title(): string { return this.getInternalValue(this.TITLE); }\r\n setTitle(title: string): this { return this.setInternalValue(this.TITLE, title); }\r\n\r\n get message(): string { return this.getInternalValue(this.MESSAGE); }\r\n setMessage(message: string): this { return this.setInternalValue(this.MESSAGE, message); }\r\n\r\n get publishedDate(): string { return this.getInternalValue(this.PUBLISHED_DATE); }\r\n setPublishedDate(publishedDate: string): this { return this.setInternalValue(this.PUBLISHED_DATE, publishedDate); }\r\n\r\n get isWelcomeMessage(): boolean { return this.getInternalValue(this.IS_WELCOMEMESSAGE); }\r\n setIsWelcomeMessage(isWelcomeMessage: boolean): this { return this.setInternalValue(this.IS_WELCOMEMESSAGE, isWelcomeMessage); }\r\n\r\n}","import * as Immutable from \"immutable\";\r\nimport { BaseEntity } from \"../../baseEntity\";\r\n\r\nexport let SeparatedTabPosition = {\r\n left: 'left',\r\n right: 'right',\r\n top: 'top',\r\n bottom: 'bottom'\r\n}\r\n\r\nexport class Tab extends BaseEntity {\r\n protected readonly TITLE = \"title\";\r\n protected readonly HANDLE_TITLE = \"handleTitle\";\r\n protected readonly ORDER = \"order\";\r\n protected readonly DISPLAY_STYLE = \"displayStyle\";\r\n protected readonly ICON_RELATIVE_URL = \"iconRelativeUrl\";\r\n protected readonly VISUAL_OBJECTS = \"visualObjects\";\r\n protected readonly FLOATING_POSITION = \"floatingPosition\";\r\n protected readonly SEPARATED_TAB_POSITION = \"separatedTabPosition\";\r\n protected readonly SEPARATED_WIDTH = \"separatedWidth\";\r\n protected readonly SEPARATED_HEIGHT = \"separatedHeight\";\r\n protected readonly PRODUCT_STRUCTURE_ID = \"productStructureId\";\r\n\r\n position: string;\r\n\r\n get title(): string { return this.getInternalValue(this.TITLE); }\r\n setTitle(title: string): this { return this.setInternalValue(this.TITLE, title); }\r\n\r\n get handleTitle(): string { return this.getInternalValue(this.HANDLE_TITLE); }\r\n setHandleTitle(handleTitle: string): this { return this.setInternalValue(this.HANDLE_TITLE, handleTitle); }\r\n\r\n get order(): number { return this.getInternalValue(this.ORDER); }\r\n setOrder(order: number): this { return this.setInternalValue(this.ORDER, order); }\r\n\r\n get displayStyle(): string { return this.getInternalValue(this.DISPLAY_STYLE); }\r\n setDisplayStyle(displayStyle: string): this { return this.setInternalValue(this.DISPLAY_STYLE, displayStyle); }\r\n\r\n get iconRelativeUrl(): string { return this.getInternalValue(this.ICON_RELATIVE_URL); }\r\n setIconRelativeUrl(iconRelativeUrl: string): this { return this.setInternalValue(this.ICON_RELATIVE_URL, iconRelativeUrl); }\r\n\r\n get floatingPosition(): boolean { return this.getInternalValue(this.FLOATING_POSITION); }\r\n setFloatingPosition(floatingPosition: boolean): this { return this.setInternalValue(this.FLOATING_POSITION, floatingPosition); }\r\n\r\n get separatedTabPosition(): string { return this.getInternalValue(this.SEPARATED_TAB_POSITION); }\r\n setSeparatedTabPosition(separatedTabPosition: string): this { return this.setInternalValue(this.SEPARATED_TAB_POSITION, separatedTabPosition); }\r\n\r\n get separatedWidth(): number { return this.getInternalValue(this.SEPARATED_WIDTH); }\r\n setSeparatedWidth(separatedWidth: number): this { return this.setInternalValue(this.SEPARATED_WIDTH, separatedWidth); }\r\n\r\n get separatedHeight(): number { return this.getInternalValue(this.SEPARATED_HEIGHT); }\r\n setSeparatedHeight(separatedHeight: number): this { return this.setInternalValue(this.SEPARATED_HEIGHT, separatedHeight); }\r\n \r\n get visualObjects(): Immutable.List { return this.getInternalValue>(this.VISUAL_OBJECTS); }\r\n setVisualObjects(visualObjects: Immutable.List): this { return this.setInternalValue(this.VISUAL_OBJECTS, visualObjects); }\r\n\r\n get productStructureId(): number { return this.getInternalValue(this.PRODUCT_STRUCTURE_ID); }\r\n setProductStructureId(productStructureId: number): this { return this.setInternalValue(this.PRODUCT_STRUCTURE_ID, productStructureId); }\r\n\r\n}","import * as Immutable from \"immutable\";\r\nimport { Decoration } from \"./decoration\";\r\n\r\nexport class TextDecoration extends Decoration {\r\n\r\n protected readonly TEXT = \"text\";\r\n\r\n get text(): string { return this.getInternalValue(this.TEXT); }\r\n settext(text: string): this { return this.setInternalValue(this.TEXT, text); }\r\n\r\n}","import { BaseEntity } from \"../../baseEntity\";\r\n\r\nexport class UIAction extends BaseEntity {\r\n protected readonly ID = \"id\";\r\n protected readonly RENDER_ID = \"renderId\";\r\n\r\n get id(): string { return this.getInternalValue(this.ID); }\r\n setId(id: string): this { return this.setInternalValue(this.ID, id); }\r\n\r\n get renderId(): number { return this.getInternalValue(this.RENDER_ID); }\r\n setRenderId(renderId: number): this { return this.setInternalValue(this.RENDER_ID, renderId); }\r\n}","import { BaseEntity } from \"../../baseEntity\";\r\n\r\nexport class UIElement extends BaseEntity {\r\n\r\n protected readonly ID = \"id\";\r\n protected readonly WIDTH = \"width\";\r\n protected readonly HEIGHT = \"height\";\r\n protected readonly STYLE = \"style\";\r\n protected readonly CSS_CLASS = \"cssClass\";\r\n protected readonly INCLUDE_DIV = \"includeDiv\";\r\n protected readonly RENDER_ID = \"renderId\";\r\n\r\n get renderId(): number { return this.getInternalValue(this.RENDER_ID); }\r\n setRenderId(renderId: number): this { return this.setInternalValue(this.RENDER_ID, renderId); }\r\n\r\n get id(): string { return this.getInternalValue(this.ID); }\r\n setId(id: string): this { return this.setInternalValue(this.ID, id); }\r\n\r\n get width(): number { return this.getInternalValue(this.WIDTH); }\r\n setWidth(width: number): this { return this.setInternalValue(this.WIDTH, width); }\r\n\r\n get height(): number { return this.getInternalValue(this.HEIGHT); }\r\n setHeight(height: number): this { return this.setInternalValue(this.HEIGHT, height); }\r\n\r\n get style(): string { return this.getInternalValue(this.STYLE); }\r\n setStyle(style: string): this { return this.setInternalValue(this.STYLE, style); }\r\n\r\n get cssClass(): string { return this.getInternalValue(this.CSS_CLASS); }\r\n setCssClass(cssClass: string): this { return this.setInternalValue(this.CSS_CLASS, cssClass); }\r\n\r\n get includeDiv(): boolean { return this.getInternalValue(this.INCLUDE_DIV); }\r\n setIncludeDiv(includeDiv: boolean): this { return this.setInternalValue(this.INCLUDE_DIV, includeDiv); }\r\n}","import { UIAction } from \"./uiAction\";\r\nimport * as Immutable from \"immutable\";\r\n\r\nexport enum OperationType {\r\n Refresh,\r\n Redirect,\r\n ClosePopup,\r\n ClientPushMessage,\r\n Download,\r\n AccordionChildNavigation,\r\n AccordionChildExit,\r\n Upload\r\n}\r\n\r\nexport class UIEventOperation extends UIAction {\r\n\r\n protected readonly OPERATION_TYPE = \"operationType\";\r\n protected readonly URL = \"url\";\r\n protected readonly ROUTE_ARGS = \"routeArgs\";\r\n protected readonly REPLACE_URL = \"replaceUrl\";\r\n protected readonly SKIP_LOCATION_CHANGE = \"skipLocationChange\";\r\n protected readonly QUERY_PARAMS = \"queryParams\";\r\n protected readonly CONF_ID = \"confId\";\r\n protected readonly RELOAD = \"reload\";\r\n protected readonly ACCEPT_FILE_TYPE = \"acceptFileType\";\r\n\r\n get operationType(): OperationType { return this.getInternalValue(this.OPERATION_TYPE); }\r\n setOperationType(operationType: OperationType): this { return this.setInternalValue(this.OPERATION_TYPE, operationType); }\r\n\r\n get url(): string { return this.getInternalValue(this.URL); }\r\n setUrl(url: string): this { return this.setInternalValue(this.URL, url); }\r\n\r\n get routeArgs(): Immutable.Map { return this.getInternalValue>(this.ROUTE_ARGS); }\r\n setRouteArgs(routeArgs: Immutable.Map): this { return this.setInternalValue(this.ROUTE_ARGS, routeArgs); }\r\n\r\n get replaceUrl(): boolean { return this.getInternalValue(this.REPLACE_URL); }\r\n setReplaceUrl(replaceUrl: boolean): this { return this.setInternalValue(this.REPLACE_URL, replaceUrl); }\r\n\r\n get skipLocationChange(): boolean { return this.getInternalValue(this.SKIP_LOCATION_CHANGE); }\r\n setSkipLocationChange(skipLocationChange: boolean): this { return this.setInternalValue(this.SKIP_LOCATION_CHANGE, skipLocationChange); }\r\n\r\n get queryParams(): Immutable.Map { return this.getInternalValue>(this.QUERY_PARAMS); }\r\n setQueryParams(queryParams: Immutable.Map): this { return this.setInternalValue(this.QUERY_PARAMS, queryParams); }\r\n\r\n get confId(): number { return this.getInternalValue(this.CONF_ID); }\r\n setConfId(confId: number): this { return this.setInternalValue(this.CONF_ID, confId); }\r\n\r\n get reload(): boolean { return this.getInternalValue(this.RELOAD); }\r\n setReload(reload: boolean): this { return this.setInternalValue(this.RELOAD, reload); }\r\n\r\n get acceptFileType(): string { return this.getInternalValue(this.ACCEPT_FILE_TYPE); }\r\n setAcceptFileType(acceptFileType: string): this { return this.setInternalValue(this.ACCEPT_FILE_TYPE, acceptFileType); }\r\n}","import * as Immutable from \"immutable\";\r\nimport { UIElement } from \"./uiElement\";\r\n\r\nexport class UIGroup extends UIElement{\r\n protected readonly UI_ELEMENTS = \"uiElements\";\r\n protected readonly ROW_COUNT = \"rowCount\";\r\n protected readonly COLUMN_COUNT = \"columnCount\";\r\n\r\n get uiElements(): Immutable.List { return this.getInternalValue>(this.UI_ELEMENTS); }\r\n setUiElements(uiElements: Immutable.List): this { return this.setInternalValue(this.UI_ELEMENTS, uiElements); }\r\n\r\n get rowCount(): number { return this.getInternalValue(this.ROW_COUNT); }\r\n setRowCount(rowCount: number): this { return this.setInternalValue(this.ROW_COUNT, rowCount); }\r\n\r\n get columnCount(): number { return this.getInternalValue(this.COLUMN_COUNT); }\r\n setColumnCount(columnCount: number): this { return this.setInternalValue(this.COLUMN_COUNT, columnCount); }\r\n}","import { UIElement } from \"./uiElement\";\r\n\r\nexport class UIImage extends UIElement {\r\n\r\n protected readonly SRC = \"src\";\r\n protected readonly ALT = \"alt\";\r\n\r\n get src(): string { return this.getInternalValue(this.SRC); }\r\n setSrc(src: string): this { return this.setInternalValue(this.SRC, src); }\r\n\r\n get alt(): string { return this.getInternalValue(this.ALT); }\r\n setAlt(alt: string): this { return this.setInternalValue(this.ALT, alt); }\r\n\r\n}","import { UIElement } from \"./uiElement\";\r\n\r\nexport class UIInput extends UIElement {\r\n\r\n protected readonly PLACE_HOLDER = \"placeHolder\";\r\n protected readonly TYPE = \"type\";\r\n protected readonly VALUE = \"value\";\r\n protected readonly IS_MULTILINE = \"isMultiline\";\r\n protected readonly ROWS = \"rows\";\r\n protected readonly COLS = \"cols\";\r\n protected readonly READONLY = \"readonly\";\r\n\r\n get placeHolder(): string { return this.getInternalValue(this.PLACE_HOLDER); }\r\n setPlaceHolder(placeHolder: string): this { return this.setInternalValue(this.PLACE_HOLDER, placeHolder); }\r\n\r\n get type(): string { return this.getInternalValue(this.TYPE); }\r\n setType(type: string): this { return this.setInternalValue(this.TYPE, type); }\r\n\r\n get value(): string { return this.getInternalValue(this.VALUE); }\r\n setValue(value: string): this { return this.setInternalValue(this.VALUE, value); }\r\n\r\n get isMultiline(): boolean { return this.getInternalValue(this.IS_MULTILINE); }\r\n setIsMultiline(isMultiline: boolean): this { return this.setInternalValue(this.IS_MULTILINE, isMultiline); }\r\n\r\n get rows(): number { return this.getInternalValue(this.ROWS); }\r\n setRows(rows: number): this { return this.setInternalValue(this.ROWS, rows); }\r\n\r\n get cols(): number { return this.getInternalValue(this.COLS); }\r\n setCols(cols: number): this { return this.setInternalValue(this.COLS, cols); }\r\n\r\n get readonly(): boolean { return this.getInternalValue(this.READONLY); }\r\n setReadonly(readonly: boolean): this { return this.setInternalValue(this.READONLY, readonly); }\r\n\r\n}","import { UIElement } from \"./uiElement\";\r\n\r\nexport class UILabel extends UIElement {\r\n\r\n protected readonly TITLE = \"title\";\r\n protected readonly FOR_ID = \"forId\";\r\n\r\n get title(): string { return this.getInternalValue(this.TITLE); }\r\n setTitle(title: string): this { return this.setInternalValue(this.TITLE, title); }\r\n\r\n get forId(): number { return this.getInternalValue(this.FOR_ID); }\r\n setForId(forId: number): this { return this.setInternalValue(this.FOR_ID, forId); }\r\n\r\n}","import { UIElement } from \"./uiElement\";\r\n\r\nexport class UILink extends UIElement {\r\n\r\n protected readonly TITLE = \"title\";\r\n protected readonly HREF = \"href\";\r\n protected readonly TARGET = \"target\";\r\n\r\n get title(): string { return this.getInternalValue(this.TITLE); }\r\n setTitle(title: string): this { return this.setInternalValue(this.TITLE, title); }\r\n\r\n get href(): string { return this.getInternalValue(this.HREF); }\r\n setHref(href: string): this { return this.setInternalValue(this.HREF, href); }\r\n\r\n get target(): string { return this.getInternalValue(this.TARGET); }\r\n setTarget(target: string): this { return this.setInternalValue(this.TARGET, target); }\r\n\r\n}","import { UIAction } from \"./uiAction\";\r\nimport { NotificationType } from \"../../../../shared/components/notification/notificationInfo\";\r\n\r\nexport class UINotification extends UIAction {\r\n\r\n protected readonly TITLE = \"title\";\r\n protected readonly MESSAGE = \"message\";\r\n protected readonly DETAIL = \"detail\";\r\n protected readonly RAW_INFO = \"rawInfo\";\r\n protected readonly NOTIFICATION_TYPE = \"notificationType\";\r\n protected readonly SELF_CLOSE = \"selfClose\";\r\n protected readonly DELAY = \"delay\";\r\n protected readonly IDENTIFIER = \"identifier\";\r\n protected readonly SYNC = \"sync\";\r\n protected readonly TYPE = \"type\";\r\n\r\n get title(): string { return this.getInternalValue(this.TITLE); }\r\n setTitle(title: string): this { return this.setInternalValue(this.TITLE, title); }\r\n\r\n get message(): string { return this.getInternalValue(this.MESSAGE); }\r\n setMessage(message: string): this { return this.setInternalValue(this.MESSAGE, message); }\r\n\r\n get detail(): string { return this.getInternalValue(this.DETAIL); }\r\n setDetail(detail: string): this { return this.setInternalValue(this.DETAIL, detail); }\r\n\r\n get rawInfo(): string { return this.getInternalValue(this.RAW_INFO); }\r\n setRawInfo(rawInfo: string): this { return this.setInternalValue(this.RAW_INFO, rawInfo); }\r\n\r\n get type(): string { return this.getInternalValue(this.TYPE); }\r\n setType(type: string): this { return this.setInternalValue(this.TYPE, type); }\r\n\r\n get selfClose(): boolean { return this.getInternalValue(this.SELF_CLOSE); }\r\n setSelfClose(selfClose: boolean): this { return this.setInternalValue(this.SELF_CLOSE, selfClose); }\r\n\r\n get delay(): number { return this.getInternalValue(this.DELAY); }\r\n setDelay(delay: number): this { return this.setInternalValue(this.DELAY, delay); }\r\n\r\n get identifier(): string { return this.getInternalValue(this.IDENTIFIER); }\r\n setIdentifier(identifier: string): this { return this.setInternalValue(this.IDENTIFIER, identifier); }\r\n\r\n get sync(): boolean { return this.getInternalValue(this.SYNC); }\r\n setSync(sync: boolean): this { return this.setInternalValue(this.SYNC, sync); }\r\n}","import * as Immutable from \"immutable\";\r\nimport { UIAction } from \"./uiAction\";\r\n\r\nexport class UIPopup extends UIAction {\r\n\r\n protected readonly HEADER = \"header\";\r\n protected readonly ICON = \"icon\";\r\n protected readonly MODAL = \"modal\";\r\n protected readonly WIDTH = \"width\";\r\n protected readonly HEIGHT = \"height\";\r\n protected readonly UI_ELEMENTS = \"uiElements\";\r\n protected readonly LEAD_PARAGRAPH = \"leadParagraph\";\r\n protected readonly PARAGRAPH = \"paragraph\";\r\n protected readonly CSS_CLASS = \"cssClass\";\r\n\r\n get header(): string { return this.getInternalValue(this.HEADER); }\r\n setHeader(header: string): this { return this.setInternalValue(this.HEADER, header); }\r\n\r\n get icon(): string { return this.getInternalValue(this.ICON); }\r\n setIcon(icon: string): this { return this.setInternalValue(this.ICON, icon); }\r\n\r\n get modal(): boolean { return this.getInternalValue(this.MODAL); }\r\n setModal(modal: boolean): this { return this.setInternalValue(this.MODAL, modal); }\r\n\r\n get width(): number { return this.getInternalValue(this.WIDTH); }\r\n setWidth(width: number): this { return this.setInternalValue(this.WIDTH, width); }\r\n\r\n get height(): number { return this.getInternalValue(this.HEIGHT); }\r\n setHeight(height: number): this { return this.setInternalValue(this.HEIGHT, height); }\r\n\r\n get uiElements(): Immutable.List { return this.getInternalValue>(this.UI_ELEMENTS); }\r\n setUiElements(uiElements: Immutable.List): this { return this.setInternalValue(this.UI_ELEMENTS, uiElements); }\r\n\r\n get leadParagraph(): string { return this.getInternalValue(this.LEAD_PARAGRAPH); }\r\n setLeadParagraph(leadParagraph: string): this { return this.setInternalValue(this.LEAD_PARAGRAPH, leadParagraph); }\r\n\r\n get paragraph(): string { return this.getInternalValue(this.PARAGRAPH); }\r\n setParagraph(paragraph: string): this { return this.setInternalValue(this.PARAGRAPH, paragraph); }\r\n\r\n get cssClass(): string { return this.getInternalValue(this.CSS_CLASS); }\r\n setCssClass(cssClass: string): this { return this.setInternalValue(this.CSS_CLASS, cssClass); }\r\n}","import * as Immutable from \"immutable\";\r\nimport { UIElement } from \"./uiElement\";\r\nimport { KeyValue } from \"../responses/keyValue\";\r\n\r\nexport class UISelect extends UIElement {\r\n protected readonly VALUE = \"value\";\r\n protected readonly TITLE_BY_VALUE = \"titleByValue\";\r\n protected readonly IS_RADIO_BUTTON = \"isRadioButton\";\r\n protected readonly READONLY = \"readonly\";\r\n\r\n get value(): string { return this.getInternalValue(this.VALUE); }\r\n setValue(value: string): this { return this.setInternalValue(this.VALUE, value); }\r\n\r\n get titleByValue(): Immutable.List> { return this.getInternalValue>>(this.TITLE_BY_VALUE); }\r\n setTitleByValue(titleByValue: Immutable.List>): this { return this.setInternalValue(this.TITLE_BY_VALUE, titleByValue); }\r\n\r\n get isRadioButton(): boolean { return this.getInternalValue(this.IS_RADIO_BUTTON); }\r\n setIsRadioButton(isRadioButton: boolean): this { return this.setInternalValue(this.IS_RADIO_BUTTON, isRadioButton); }\r\n\r\n get readonly(): boolean { return this.getInternalValue(this.READONLY); }\r\n setReadonly(readonly: boolean): this { return this.setInternalValue(this.READONLY, readonly); }\r\n}","import { UIElement } from \"./uiElement\";\r\n\r\nexport enum TextType {\r\n Paragraph,\r\n Span\r\n}\r\n\r\nexport class UIText extends UIElement {\r\n\r\n protected readonly TITLE = \"title\";\r\n protected readonly TEXT_TYPE = \"textType\";\r\n\r\n get title(): string { return this.getInternalValue(this.TITLE); }\r\n setTitle(title: string): this { return this.setInternalValue(this.TITLE, title); }\r\n\r\n get textType(): TextType { return this.getInternalValue(this.TEXT_TYPE); }\r\n setTextType(textType: TextType): this { return this.setInternalValue(this.TEXT_TYPE, textType); }\r\n\r\n}","import { BaseEntity } from \"../../baseEntity\";\r\nimport { UserSettings, RefObject } from \"..\";\r\nimport { SystemAuthorization } from \"./systemAuthorization\";\r\n\r\nexport class User extends BaseEntity {\r\n\r\n static readonly NAME = \"name\";\r\n static readonly EMAIL = \"email\";\r\n static readonly COMPANY = \"company\";\r\n static readonly MOBILE_NUMBER = \"mobileNumber\";\r\n static readonly PHONE_NUMBER = \"phoneNumber\";\r\n static readonly ADMINISTRATOR = \"administrator\";\r\n static readonly SUPER_USER = \"superUser\";\r\n static readonly USERNAME = \"username\";\r\n static readonly WORK_GROUP = \"workGroup\";\r\n static readonly LANGUAGE = \"language\";\r\n static readonly DEFAULT_PRICE_LIST_CATEGORY = \"defaultPriceListCategory\";\r\n static readonly SETTINGS = \"settings\";\r\n static readonly SYSTEM_AUTHORIZATION = \"systemAuthorization\";\r\n \r\n get name(): string { return this.getInternalValue(User.NAME); }\r\n setName(name: string): this { return this.setInternalValue(User.NAME, name); }\r\n\r\n get email(): string { return this.getInternalValue(User.EMAIL); }\r\n setEmail(email: string): this { return this.setInternalValue(User.EMAIL, email); }\r\n\r\n get company(): string { return this.getInternalValue(User.COMPANY); }\r\n setCompany(company: string): this { return this.setInternalValue(User.COMPANY, company); }\r\n\r\n get mobileNumber(): string { return this.getInternalValue(User.MOBILE_NUMBER); }\r\n setMobileNumber(mobileNumber: string): this { return this.setInternalValue(User.MOBILE_NUMBER, mobileNumber); }\r\n\r\n get phoneNumber(): string { return this.getInternalValue(User.PHONE_NUMBER); }\r\n setPhoneNumber(phoneNumber: string): this { return this.setInternalValue(User.PHONE_NUMBER, phoneNumber); }\r\n\r\n get administrator(): boolean { return this.getInternalValue(User.ADMINISTRATOR); }\r\n setAdministrator(administrator: boolean): this { return this.setInternalValue(User.ADMINISTRATOR, administrator); }\r\n\r\n get superUser(): boolean { return this.getInternalValue(User.SUPER_USER); }\r\n setSuperUser(superUser: boolean): this { return this.setInternalValue(User.SUPER_USER, superUser); }\r\n\r\n get username(): string { return this.getInternalValue(User.USERNAME); }\r\n setUsername(username: string): this { return this.setInternalValue(User.USERNAME, username); } \r\n\r\n get workGroup(): RefObject { return this.getInternalValue(User.WORK_GROUP); }\r\n setWorkGroup(workGroup: RefObject): this { return this.setInternalValue(User.WORK_GROUP, workGroup); } \r\n\r\n get language(): RefObject { return this.getInternalValue(User.LANGUAGE); }\r\n setLanguage(language: RefObject): this { return this.setInternalValue(User.LANGUAGE, language); } \r\n\r\n get defaultPriceListCategory(): RefObject { return this.getInternalValue(User.DEFAULT_PRICE_LIST_CATEGORY); }\r\n setDefaultPriceListCategory(defaultPriceListCategory: RefObject): this { return this.setInternalValue(User.DEFAULT_PRICE_LIST_CATEGORY, defaultPriceListCategory); } \r\n\r\n get settings(): UserSettings { return this.getInternalValue(User.SETTINGS); }\r\n setSettings(settings: UserSettings): this { return this.setInternalValue(User.SETTINGS, settings); } \r\n\r\n get systemAuthorization(): SystemAuthorization { return this.getInternalValue(User.SYSTEM_AUTHORIZATION); }\r\n setSystemAuthorization(systemAuthorization: SystemAuthorization): this { return this.setInternalValue(User.SYSTEM_AUTHORIZATION, systemAuthorization); } \r\n}","import { BaseEntity } from \"../../baseEntity\";\r\n\r\nexport class UserInfo extends BaseEntity {\r\n\r\n protected readonly NAME = \"name\";\r\n protected readonly USERNAME = \"username\";\r\n \r\n get name(): string { return this.getInternalValue(this.NAME); }\r\n setName(name: string): this { return this.setInternalValue(this.NAME, name); }\r\n\r\n get userName(): string { return this.getInternalValue(this.USERNAME); }\r\n setUserName(userName: string): this { return this.setInternalValue(this.USERNAME, userName); }\r\n}","import * as Immutable from \"immutable\";\r\nimport { BaseEntity } from \"../../baseEntity\";\r\n\r\n/**\r\n * Weird class. This object is used differently depending on its context.\r\n Product context = combination of visualobject and visualobjectintab and its longId is the visualobjectintab ID,\r\n otherwise it might only be visualobject.\r\n */\r\nexport class VisualObject extends BaseEntity \r\n{\r\n protected readonly TITLE = \"title\";\r\n protected readonly ORDER = \"order\";\r\n protected readonly FLOATINGPOSITION = \"floatingPosition\";\r\n protected readonly HANGING = \"hanging\";\r\n protected readonly VISUAL_OBJECT_ID = \"visualObjectId\";\r\n protected readonly WIDTH = \"width\";\r\n protected readonly TAB_ID = \"tabId\";\r\n\r\n get width(): number { return this.getInternalValue(this.WIDTH); }\r\n setWidth(width: number): this { return this.setInternalValue(this.WIDTH, width); }\r\n\r\n get title(): string { return this.getInternalValue(this.TITLE); }\r\n setTitle(title: string): this { return this.setInternalValue(this.TITLE, title); }\r\n\r\n get order(): number { return this.getInternalValue(this.ORDER); }\r\n setOrder(order: number): this { return this.setInternalValue(this.ORDER, order); }\r\n\r\n get floatingPosition(): boolean { return this.getInternalValue(this.FLOATINGPOSITION); }\r\n setFloatingPosition(floatingPosition: boolean): this { return this.setInternalValue(this.FLOATINGPOSITION, floatingPosition); }\r\n\r\n get hanging(): boolean { return this.getInternalValue(this.HANGING); }\r\n setHanging(hanging: boolean): this { return this.setInternalValue(this.HANGING, hanging); }\r\n\r\n get visualObjectId(): number { return this.getInternalValue(this.VISUAL_OBJECT_ID); }\r\n setVisualObjectId(visualObjectId: number): this { return this.setInternalValue(this.VISUAL_OBJECT_ID, visualObjectId); }\r\n\r\n get tabId(): number { return this.getInternalValue(this.TAB_ID); }\r\n setTabId(tabId: number): this { return this.setInternalValue(this.TAB_ID, tabId); }\r\n}","import { Decoration } from \"./decoration\";\r\n\r\nexport class VisualizationDecoration extends Decoration {\r\n\r\n protected readonly CODE_FILE_ID = \"codeFileId\";\r\n protected readonly INDEX_FILE_PATH = \"indexFilePath\";\r\n protected readonly INDEX_FILE_DIR_PATH = \"indexFileDirPath\";\r\n protected readonly RESPONSIVE_SIZE = \"responsiveSize\";\r\n protected readonly HEIGHT = \"height\";\r\n\r\n get codeFileId(): number { return this.getInternalValue(this.CODE_FILE_ID); }\r\n setCodeFileId(codeFileId: number): this { return this.setInternalValue(this.CODE_FILE_ID, codeFileId); }\r\n\r\n get indexFilePath(): string { return this.getInternalValue(this.INDEX_FILE_PATH); }\r\n setIndexFilePath(indexFilePath: string): this { return this.setInternalValue(this.INDEX_FILE_PATH, indexFilePath); }\r\n\r\n get indexFileDirPath(): string { return this.getInternalValue(this.INDEX_FILE_DIR_PATH); }\r\n setIndexFileDirPath(indexFileDirPath: string): this { return this.setInternalValue(this.INDEX_FILE_DIR_PATH, indexFileDirPath); }\r\n\r\n get responsiveSize(): boolean { return this.getInternalValue(this.RESPONSIVE_SIZE); }\r\n setResponsiveSize(responsiveSize: boolean): this { return this.setInternalValue(this.RESPONSIVE_SIZE, responsiveSize); }\r\n\r\n get height(): number { return this.getInternalValue(this.HEIGHT); }\r\n setheight(height: number): this { return this.setInternalValue(this.HEIGHT, height); }\r\n}","import { BaseEntity } from \"../../baseEntity\";\r\n\r\nexport class WorkGroup extends BaseEntity {\r\n\r\n protected readonly TITLE = \"title\";\r\n \r\n get title(): string { return this.getInternalValue(this.TITLE); }\r\n setTitle(title: string): this { return this.setInternalValue(this.TITLE, title); }\r\n}","export * from './entities';\r\nexport * from './responses';\r\nexport * from './requests';\r\nexport * from './client';\r\n","import { BaseRequest } from \"./baseRequest\";\r\nimport { LoginCommand } from \"./commands/loginCommand\";\r\nimport { LogoutCommand } from \"./commands/logoutCommand\";\r\nimport { CurrentUserCommand } from \"./commands/currentUserCommand\";\r\nimport { AccountEntitiesCommand } from \"./commands/accountEntitiesCommand\";\r\nimport { PasswordChangeCommand } from \"./commands/passwordChangeCommand\";\r\nimport { PasswordRecoverCommand } from \"./commands/passwordRecoverCommand\"\r\nimport { AccountVerificationCommand, SignUpCommand } from \"..\";\r\n\r\n\r\nexport class AccountDataRequest extends BaseRequest {\r\n\r\n login?: LoginCommand;\r\n\r\n logout?: LogoutCommand;\r\n\r\n passwordChange?: PasswordChangeCommand;\r\n\r\n passwordRecover?: PasswordRecoverCommand;\r\n\r\n verify?: AccountVerificationCommand;\r\n\r\n create?: SignUpCommand;\r\n\r\n currentUser?: CurrentUserCommand;\r\n\r\n entities?: AccountEntitiesCommand;\r\n}","import { KeyValue } from \"../../responses\";\r\n\r\n/**\r\n * Argument ConfPropertyValue. We have a ConfPropertyValue entity as well but that can't be used as a request model..\r\n */\r\nexport class ConfPropertyValueArgument {\r\n propertyName: string;\r\n keyAndValue?: KeyValue;\r\n configurationId?: number;\r\n}","/**\r\n * Argument ConfValue. We have a ConfValue entity as well but that can't be used as a request model..\r\n */\r\nexport class ConfValueArgument {\r\n longId: number;\r\n value?: string | Array; // Multichoice value is an array of multichoices\r\n configurationId?: number;\r\n}","import { PaginationArgument } from \"./paginationArgument\";\r\nimport { SortingArgument } from \"./sortingArgument\";\r\n\r\nexport class GridArgument {\r\n\r\n pagination?: PaginationArgument;\r\n\r\n sorting?: SortingArgument;\r\n}","export * from \"./gridArgument\"\r\nexport * from \"./paginationArgument\"\r\nexport * from \"./recentOptions\"\r\nexport * from \"./searchArgument\"\r\nexport * from \"./sortingArgument\"\r\nexport * from \"./tabOptions\"\r\nexport * from \"./visualObjectOptions\"\r\nexport * from \"./confPropertyValueArgument\";\r\nexport * from \"./confValueArgument\";","\r\nexport class PaginationArgument {\r\n\r\n pageSize: number = 50;\r\n\r\n pageIndex: number = 1;\r\n}","import { BaseRequest } from \"../baseRequest\";\r\n\r\nexport class RecentOptions extends BaseRequest {\r\n count?: number;\r\n}","import { FilterType } from \"../../../../../shared/components\";\r\n\r\nexport class SearchArgument {\r\n fieldId: number;\r\n value1: string;\r\n value2?: string;\r\n filterType: FilterType; \r\n}","\r\nexport class SortingArgument {\r\n field: string;\r\n descending: boolean;\r\n}","import { VisualObjectOptions } from \"./visualObjectOptions\";\r\n\r\nexport class TabOptions {\r\n\r\n visualObject: VisualObjectOptions;\r\n\r\n}","import { BaseObject } from \"../../../../../shared/baseObject\";\r\n\r\nexport class VisualObjectOptions {\r\n}","import { BaseObject } from \"../../../../shared/baseObject\";\r\nimport { RequestViews } from \"./requestViews\";\r\n\r\nexport abstract class BaseRequest extends BaseObject {\r\n \r\n client: RequestViews;\r\n extraArgs?: Map;\r\n}","import { BaseRequest } from \"./baseRequest\";\r\nimport * as Immutable from \"immutable\";\r\n\r\nexport class ClientPushMessage extends BaseRequest {\r\n\r\n triggeringControlId: string;\r\n valuesById: Immutable.Map;\r\n interactionSessionId: number;\r\n tempConnectionId: number;\r\n file: File;\r\n}","import { BaseCommand } from \"./baseCommand\";\r\n\r\nexport abstract class AbstractAccountDataCommand extends BaseCommand {\r\n}","import * as Immutable from \"immutable\";\r\nimport { BaseCommand } from \"./baseCommand\";\r\nimport { ConfResponseFormat } from \"../confResponseFormat\";\r\n\r\nexport abstract class AbstractConfDataCommand extends BaseCommand {\r\n\r\n configurationId: number;\r\n\r\n // Used for Accordion child configurations\r\n subConfigurationId?: number;\r\n\r\n confSessionId?: number;\r\n\r\n responseFormat?: ConfResponseFormat;\r\n\r\n /** Used in future to get limited response which includes these tabs only */\r\n tabs?: Array;\r\n\r\n confParams?: Immutable.Map;\r\n\r\n}","import { BaseCommand } from \"./baseCommand\";\r\n\r\nexport abstract class AbstractGlobalDataCommand extends BaseCommand {\r\n}","import { BaseCommand } from \"./baseCommand\";\r\n\r\nexport abstract class AbstractProductDataCommand extends BaseCommand {\r\n ids?: Array;\r\n}","import { BaseCommand } from \"./baseCommand\";\r\n\r\nexport abstract class AbstractSearchDataCommand extends BaseCommand {\r\n}","import { AbstractAccountDataCommand } from \"./abstractAccountDataCommand\";\r\n\r\nexport class AccountEntitiesCommand extends AbstractAccountDataCommand {\r\n classNames: Array = new Array();\r\n}","import { BaseCommand } from \"./baseCommand\";\r\n\r\nexport class AccountVerificationCommand extends BaseCommand {\r\n\r\n usernameOrEmail: string;\r\n initRequest: boolean;\r\n\r\n code: string;\r\n verifyRequest: boolean;\r\n\r\n newAccountRequest: boolean;\r\n accountRecoverRequest: boolean;\r\n \r\n}","import { AbstractProductDataCommand } from \"./abstractProductDataCommand\";\r\n\r\nexport class AssortmentCommand extends AbstractProductDataCommand {\r\n isRoot?: boolean;\r\n productLevel?: number;\r\n productFamilyLevel?: number;\r\n}","import { AbstractConfDataCommand } from \"./abstractConfDataCommand\";\r\nimport { IFileUpload } from \"./iFileUpload\";\r\n\r\nexport class AttachmentCommand extends AbstractConfDataCommand {\r\n attachmentId?: number;\r\n add?: IFileUpload;\r\n delete?: boolean;\r\n}","import { BaseObject } from \"../../../../../shared/baseObject\";\r\nimport * as Immutable from \"immutable\";\r\n\r\nexport abstract class BaseCommand extends BaseObject {\r\n\r\n extraArgs?: Immutable.Map;\r\n}","import { AbstractConfDataCommand } from \"./abstractConfDataCommand\";\r\nimport { GridArgument } from \"../arguments/gridArgument\";\r\nimport { BomItem } from \"./bomItem\";\r\n\r\nexport class BomCommand extends AbstractConfDataCommand {\r\n bomDecorationId?: number;\r\n search?: string;\r\n\r\n gridData?: GridArgument;\r\n detailGridData?: GridArgument;\r\n\r\n create?: BomItem;\r\n getItem?: BomItem;\r\n edit?: BomItem;\r\n remove?: BomItem;\r\n}","import { BaseObject } from \"../../../../../shared/baseObject\";\r\n\r\nexport class BomItem extends BaseObject {\r\n id?: number;\r\n itemNo?: string;\r\n description?: string;\r\n revision?: string;\r\n quantity?: number;\r\n quantityUnitId?: number;\r\n operationSequenceId?: number;\r\n}","import { AbstractConfDataCommand } from \"./abstractConfDataCommand\";\r\n\r\nexport class ChangeOwnershipCommand extends AbstractConfDataCommand {\r\n\r\n toWorkGroupId: number\r\n applyToAllRevisions: boolean;\r\n\r\n}","import { AbstractConfDataCommand } from \"./abstractConfDataCommand\";\r\n\r\nexport class CodeCommand extends AbstractConfDataCommand {\r\n codeFileId: number;\r\n}","import { BaseCommand } from \"./baseCommand\";\r\n\r\nexport class ComparisonCommand extends BaseCommand {\r\n \r\n startConfIds?: Array;\r\n path?: string;\r\n calculateDifferency?: boolean;\r\n includeDetails?: boolean;\r\n childConfsOrder?: Array>;\r\n \r\n}","import { AbstractConfDataCommand } from \"./abstractConfDataCommand\";\r\n\r\nexport class ConfDeleteCommand extends AbstractConfDataCommand {\r\n}","import { AbstractConfDataCommand } from \"./abstractConfDataCommand\";\r\n\r\nexport class ConfSessionCommand extends AbstractConfDataCommand {\r\n email?: string;\r\n save?: boolean;\r\n exitEditing?: boolean;\r\n close?: boolean;\r\n markForClosing?: boolean;\r\n restart?: boolean;\r\n}","import { KeyValue } from \"../../responses/keyValue\";\r\nimport { AbstractConfDataCommand } from \"./abstractConfDataCommand\";\r\n\r\nexport class ContactCommand extends AbstractConfDataCommand {\r\n fields?: KeyValue[];\r\n}","import { AbstractConfDataCommand } from \"./abstractConfDataCommand\";\r\n\r\nexport class CopyCommand extends AbstractConfDataCommand {\r\n getDestinationList?: boolean;\r\n noOfCopies?: number;\r\n destinationId?: number;\r\n}","import { AbstractConfDataCommand } from \"./abstractConfDataCommand\";\r\n\r\nexport class CreateCommand extends AbstractConfDataCommand {\r\n productId: number;\r\n parentTabId: number;\r\n}","import { AbstractAccountDataCommand } from \"./abstractAccountDataCommand\";\r\nimport { KeyValue } from \"../../responses\";\r\n\r\nexport class CurrentUserCommand extends AbstractAccountDataCommand {\r\n get?: boolean;\r\n updateUser?: KeyValue[];\r\n updateSettings?: KeyValue[];\r\n}","import { AbstractConfDataCommand } from \"./abstractConfDataCommand\";\r\nimport { GridArgument } from \"../arguments/gridArgument\";\r\nimport { SearchArgument } from \"../arguments/searchArgument\";\r\n\r\nexport class DataSelectorCommand extends AbstractConfDataCommand {\r\n\r\n dataSelectorId: number;\r\n\r\n /** Removes any filtering applied to result */\r\n clearSearch?: boolean;\r\n\r\n key?: number;\r\n\r\n setKey?: number;\r\n\r\n clearKey?: boolean;\r\n\r\n gridData?: GridArgument;\r\n\r\n search?: SearchArgument;\r\n}","import { AbstractConfDataCommand } from \"./abstractConfDataCommand\";\r\n\r\nexport class DisallowedValueCommand extends AbstractConfDataCommand {\r\n confValueId: number;\r\n paramValueId?: number;\r\n}","\r\nexport class FileUpload {\r\n\r\n contentType: string;\r\n fileName: string;\r\n fileStream: any; // TODO which type?\r\n savePath: string;\r\n\r\n}","import { AbstractConfDataCommand } from \"./abstractConfDataCommand\";\r\nimport * as Immutable from \"immutable\";\r\n\r\nexport class FormCommand extends AbstractConfDataCommand\r\n{\r\n formDecorationId: number;\r\n formControlId: number;\r\n valuesById: Immutable.Map;\r\n}","import { AbstractConfDataCommand } from \"./abstractConfDataCommand\";\r\n\r\nexport class GetCommand extends AbstractConfDataCommand {\r\n reuse?: boolean;\r\n revise?: boolean;\r\n}","import { AbstractProductDataCommand } from \"./abstractProductDataCommand\";\r\n\r\nexport class GlobalEntitiesCommand extends AbstractProductDataCommand {\r\n classNames: Array = new Array();\r\n}","import { AbstractGlobalDataCommand } from \"./abstractGlobalDataCommand\";\r\n\r\nexport class GlobalSettingsCommand extends AbstractGlobalDataCommand {\r\n get: boolean;\r\n}","import { AbstractConfDataCommand } from \"./abstractConfDataCommand\";\r\n\r\nexport class ImportCommand extends AbstractConfDataCommand {\r\n sourceConfId?: number;\r\n sourceConfIdentity?: string;\r\n sourceConfRevision?: string;\r\n getSuggestionsProductId?: number;\r\n getSuggestionsKeywords?: string;\r\n getSuggestionsAutoComplete?: boolean = false;\r\n}","export * from \"./abstractAccountDataCommand\"\r\nexport * from \"./abstractConfDataCommand\"\r\nexport * from \"./abstractGlobalDataCommand\"\r\nexport * from \"./abstractProductDataCommand\"\r\nexport * from \"./abstractSearchDataCommand\"\r\nexport * from \"./assortmentCommand\"\r\nexport * from \"./baseCommand\"\r\nexport * from \"./bomCommand\"\r\nexport * from \"./bomItem\"\r\nexport * from \"./copyCommand\"\r\nexport * from \"./createCommand\"\r\nexport * from \"./dataSelectorCommand\"\r\nexport * from \"./confDeleteCommand\"\r\nexport * from \"./disallowedValueCommand\"\r\nexport * from \"./globalEntitiesCommand\"\r\nexport * from \"./getCommand\"\r\nexport * from \"./globalSettingsCommand\"\r\nexport * from \"./loginCommand\"\r\nexport * from \"./logoutCommand\"\r\nexport * from \"./mandatoryParamsCommand\"\r\nexport * from \"./codeCommand\"\r\nexport * from \"./priceCommand\"\r\nexport * from \"./productCommand\"\r\nexport * from \"./readOnlyParamCommand\"\r\nexport * from \"./ruleCommand\"\r\nexport * from \"./confSessionCommand\"\r\nexport * from \"./stateCommand\"\r\nexport * from \"./localizeCommand\"\r\nexport * from \"./tabCommand\"\r\nexport * from \"./updateCommand\"\r\nexport * from \"./currentUserCommand\"\r\nexport * from \"./orderCommand\"\r\nexport * from \"./searchCommand\"\r\nexport * from \"./savedSearchCommand\"\r\nexport * from \"./accountEntitiesCommand\"\r\nexport * from \"./passwordChangeCommand\"\r\nexport * from \"./changeOwnershipCommand\"\r\nexport * from \"./attachmentCommand\"\r\nexport * from \"./iFileUpload\"\r\nexport * from \"./fileUpload\"\r\nexport * from \"./passwordRecoverCommand\"\r\nexport * from \"./accountVerificationCommand\"\r\nexport * from \"./signUpCommand\"\r\nexport * from \"./importCommand\"\r\nexport * from \"./comparisonCommand\"\r\nexport * from \"./formCommand\"\r\nexport * from \"./contactCommand\"\r\nexport * from \"./javaScriptCommand\"","import { AbstractConfDataCommand } from \"./abstractConfDataCommand\";\r\nimport * as Immutable from \"immutable\";\r\n\r\nexport class JavaScriptCommand extends AbstractConfDataCommand\r\n{\r\n sourceId: number;\r\n json: string;\r\n eventType: EventType;\r\n}\r\n\r\nexport enum EventType {\r\n Clicked = 'Clicked',\r\n Dragged = 'Dragged',\r\n Dropped = 'Dropped'\r\n}","import { AbstractGlobalDataCommand } from \"./abstractGlobalDataCommand\";\r\n\r\nexport class LocalizeCommand extends AbstractGlobalDataCommand {\r\n languageCode?: string;\r\n}","import { AbstractAccountDataCommand } from \"./abstractAccountDataCommand\";\r\n\r\nexport class LoginCommand extends AbstractAccountDataCommand {\r\n username: string;\r\n password: string;\r\n userType: string;\r\n languageTitle: string;\r\n languageCode: string;\r\n recaptcha: string;\r\n logOutOtherUsers: boolean;\r\n}","export enum LoginUserType {\r\n Normal = 0,\r\n Anonymous = 1,\r\n Custom = 2\r\n}","import { AbstractAccountDataCommand } from \"./abstractAccountDataCommand\";\r\n\r\nexport class LogoutCommand extends AbstractAccountDataCommand {\r\n allSessions?: boolean;\r\n}","import { AbstractConfDataCommand } from \"./abstractConfDataCommand\";\r\n\r\nexport class MandatoryParamsCommand extends AbstractConfDataCommand {\r\n includeNextState: boolean;\r\n}","import { AbstractConfDataCommand } from \"./abstractConfDataCommand\";\r\n\r\nexport class OrderCommand extends AbstractConfDataCommand {\r\n moveDown?: boolean;\r\n}","export class PasswordChangeCommand {\r\n username: string;\r\n currentPassword: string;\r\n newPassword: string;\r\n}","import { BaseCommand } from \"./baseCommand\";\r\n\r\nexport class PasswordRecoverCommand extends BaseCommand {\r\n\r\n username: string;\r\n passwordRecoverRequest: boolean;\r\n\r\n varificationCode: string;\r\n varificationCodeRequest: boolean;\r\n\r\n newPassword: string;\r\n changePasswordRequest: boolean;\r\n\r\n ValidateSessionRequest: boolean;\r\n \r\n}","import * as Immutable from \"immutable\";\r\nimport { AbstractConfDataCommand } from \"./abstractConfDataCommand\";\r\nimport { KeyValue } from \"../../responses/keyValue\";\r\n\r\nexport class PriceCommand extends AbstractConfDataCommand {\r\n\r\n getPriceReport?: boolean;\r\n\r\n getStoredPriceReport?: boolean;\r\n\r\n getPriceSetting?: boolean;\r\n\r\n setCurrency?: number;\r\n\r\n setPriceListCategory?: number;\r\n\r\n setPriceList?: number;\r\n\r\n manualPriceValues?: Immutable.List>; \r\n\r\n}","import { AbstractProductDataCommand } from \"./abstractProductDataCommand\";\r\nimport { TabOptions } from \"../arguments/tabOptions\";\r\n\r\nexport class ProductCommand extends AbstractProductDataCommand {\r\n tab?: TabOptions;\r\n includeNonEffective?: boolean;\r\n}","import { AbstractConfDataCommand } from \"./abstractConfDataCommand\";\r\n\r\nexport class ReadOnlyParamCommand extends AbstractConfDataCommand {\r\n confValueId: number;\r\n paramValueId?: number;\r\n}","import { AbstractConfDataCommand } from \"./abstractConfDataCommand\";\r\n\r\nexport class RuleCommand extends AbstractConfDataCommand {\r\n ruleId: number;\r\n confirmation?: boolean;\r\n}","import { BaseCommand } from \"./baseCommand\";\r\nimport { ConfigurationSearch } from \"../../entities/configurationSearch\";\r\n\r\nexport class SavedSearchCommand extends BaseCommand {\r\n\r\n getAll?: boolean;\r\n delete?: number;\r\n save?: ConfigurationSearch;\r\n}","import { BaseCommand } from \"./baseCommand\";\r\nimport { RecentOptions } from \"../arguments/recentOptions\";\r\nimport { PaginationArgument } from \"../arguments/paginationArgument\";\r\nimport { SortingArgument } from \"../arguments/sortingArgument\";\r\nimport { ConfResponseFormat } from \"../confResponseFormat\";\r\nimport { ConfigurationSearch } from \"../../entities/configurationSearch\";\r\nimport { QuerySourceTypes } from \"../../responses/searchResult\";\r\n\r\nexport class SearchCommand extends BaseCommand {\r\n\r\n responseFormat: ConfResponseFormat;\r\n searchSessionId?: number;\r\n clearSearchSession?: boolean;\r\n querySourceType: QuerySourceTypes;\r\n query?: ConfigurationSearch;\r\n pagination?: PaginationArgument;\r\n sorting?: SortingArgument;\r\n}","import { BaseCommand } from \"./baseCommand\";\r\n\r\nexport class SignUpCommand extends BaseCommand {\r\n\r\n username: string;\r\n name: string;\r\n email: string;\r\n password: string;\r\n company: string;\r\n phoneNumber: string;\r\n mobileNumber: string;\r\n\r\n}","import { AbstractConfDataCommand } from \"./abstractConfDataCommand\";\r\n\r\nexport class StateCommand extends AbstractConfDataCommand {\r\n promoteInfo?: boolean;\r\n demoteInfo?: boolean;\r\n setPromoteStateId?: number;\r\n setDemoteStateId?: number;\r\n note?: string;\r\n}","import { AbstractProductDataCommand } from \"./abstractProductDataCommand\";\r\nimport { VisualObjectOptions } from \"../arguments/visualObjectOptions\";\r\n\r\nexport class TabCommand extends AbstractProductDataCommand {\r\n\r\n visualObject: VisualObjectOptions;\r\n\r\n productIds?: Array;\r\n}","import { AbstractConfDataCommand } from \"./abstractConfDataCommand\";\r\nimport { ConfValueArgument } from \"../arguments/confValueArgument\";\r\nimport { ConfPropertyValueArgument } from \"../arguments/confPropertyValueArgument\";\r\n\r\nexport class UpdateCommand extends AbstractConfDataCommand {\r\n tryNextPossibleValue?: Boolean;\r\n confValue?: ConfValueArgument;\r\n confPropertyValue?: ConfPropertyValueArgument;\r\n}","import { BaseRequest } from \"./baseRequest\";\r\nimport { ComparisonCommand } from \"./commands\";\r\n\r\nexport class ComparisonDataRequest extends BaseRequest {\r\n \r\n comparisonSessionId?: number;\r\n comparison?: ComparisonCommand;\r\n\r\n}","import { BaseRequest } from \"./baseRequest\";\r\n\r\nexport class ConfAttachmentRequest extends BaseRequest {\r\n confSessionId?: number;\r\n configurationId?: number;\r\n attachmentId?: number;\r\n}","import { BaseRequest } from \"./baseRequest\";\r\n\r\nexport class ConfCodeRequest extends BaseRequest {\r\n confSessionId?: number;\r\n configurationId?: number;\r\n codeFileId?: number;\r\n getStored?: boolean;\r\n}","import { BaseRequest } from \"./baseRequest\";\r\nimport { RuleCommand } from \"./commands/ruleCommand\";\r\nimport { GetCommand } from \"./commands/getCommand\";\r\nimport { CreateCommand } from \"./commands/createCommand\";\r\nimport { ConfDeleteCommand } from \"./commands/confDeleteCommand\";\r\nimport { CopyCommand } from \"./commands/copyCommand\";\r\nimport { UpdateCommand } from \"./commands/updateCommand\";\r\nimport { BomCommand } from \"./commands/bomCommand\";\r\nimport { MandatoryParamsCommand } from \"./commands/mandatoryParamsCommand\";\r\nimport { ReadOnlyParamCommand } from \"./commands/readOnlyParamCommand\";\r\nimport { DisallowedValueCommand } from \"./commands/disallowedValueCommand\";\r\nimport { DataSelectorCommand } from \"./commands/dataSelectorCommand\";\r\nimport { PriceCommand } from \"./commands/priceCommand\";\r\nimport { ConfSessionCommand } from \"./commands/confSessionCommand\";\r\nimport { StateCommand } from \"./commands/stateCommand\";\r\nimport { OrderCommand } from \"./commands/orderCommand\";\r\nimport { ChangeOwnershipCommand } from \"./commands/changeOwnershipCommand\";\r\nimport { AttachmentCommand } from \"./commands/attachmentCommand\";\r\nimport { ImportCommand } from \"./commands/importCommand\";\r\nimport { CodeCommand } from \"./commands/codeCommand\";\r\nimport { FormCommand } from \"./commands/formCommand\";\r\nimport { ContactCommand } from \"./commands/contactCommand\";\r\nimport { JavaScriptCommand } from \"./commands\";\r\n\r\nexport class ConfDataRequest extends BaseRequest {\r\n\r\n confSessionId?: number;\r\n\r\n activeConfigurationIds: number[] = [];\r\n\r\n includeNextStateMandatoryParams?: boolean;\r\n\r\n rule?: RuleCommand;\r\n\r\n get?: GetCommand;\r\n\r\n create?: CreateCommand;\r\n\r\n import?: ImportCommand;\r\n \r\n delete?: ConfDeleteCommand;\r\n\r\n copy?: CopyCommand;\r\n\r\n update?: UpdateCommand;\r\n\r\n form?: FormCommand;\r\n\r\n javaScript?: JavaScriptCommand;\r\n\r\n contact?: ContactCommand;\r\n\r\n state?: StateCommand;\r\n\r\n changeOwnership?: ChangeOwnershipCommand;\r\n\r\n bom?: BomCommand;\r\n\r\n mandatoryParam?: MandatoryParamsCommand;\r\n\r\n readOnly?: ReadOnlyParamCommand;\r\n\r\n disallowed?: DisallowedValueCommand;\r\n\r\n dataSelector?: DataSelectorCommand;\r\n\r\n code?: CodeCommand;\r\n\r\n price?: PriceCommand;\r\n\r\n order?: OrderCommand;\r\n\r\n attachment?: AttachmentCommand;\r\n\r\n session?: ConfSessionCommand;\r\n\r\n}","import { BaseRequest } from \"./baseRequest\";\r\n\r\nexport class ConfDocumentRequest extends BaseRequest {\r\n confSessionId?: number;\r\n configurationId?: number;\r\n documentId?: number;\r\n}","import { BaseRequest } from \"./baseRequest\";\r\n\r\nexport class ConfGraphicsRequest extends BaseRequest { \r\n confSessionId?: number;\r\n configurationId?: number;\r\n fileType?: string;\r\n graphicsDecorationId?: number;\r\n graphicType?: number;\r\n graphicModes?: Array;\r\n}","import { BaseRequest } from \"./baseRequest\";\r\n\r\nexport class ConfReportRequest extends BaseRequest {\r\n confSessionId?: number;\r\n configurationId?: number;\r\n reportId?: number;\r\n}","import { BaseObject } from \"../../../../shared/baseObject\";\r\nimport { StoredConfResponseFormat } from \"./\";\r\n\r\nexport class ConfResponseFormat extends BaseObject {\r\n\r\n children?: boolean;\r\n\r\n configurationValues?: boolean;\r\n\r\n attributes?: boolean;\r\n\r\n confProperties?: boolean;\r\n\r\n codeValues?: boolean;\r\n\r\n visualizationValues?: boolean;\r\n\r\n formValues?: boolean;\r\n\r\n graphics?: boolean;\r\n\r\n documents?: boolean;\r\n\r\n price?: boolean;\r\n\r\n bom?: boolean;\r\n\r\n dataSelectors?: boolean;\r\n\r\n headers?: boolean;\r\n\r\n reports?: boolean;\r\n\r\n revisions?: boolean;\r\n\r\n history?: boolean;\r\n\r\n newParameters?: boolean;\r\n\r\n oldParameters?: boolean;\r\n\r\n attachments?: boolean;\r\n\r\n storedData?: StoredConfResponseFormat;\r\n}","import { BaseRequest } from \"./baseRequest\";\r\nimport { BaseObject } from \"../../../../shared\";\r\n\r\nexport class DefaultRequest extends BaseRequest {\r\n\r\n data?: BaseObject;\r\n\r\n}","import { BaseRequest } from \"./baseRequest\";\r\nimport { LocalizeCommand } from \"./commands/localizeCommand\";\r\nimport { GlobalSettingsCommand } from \"./commands/globalSettingsCommand\";\r\nimport { GlobalEntitiesCommand } from \"./commands/globalEntitiesCommand\";\r\n\r\nexport class GlobalDataRequest extends BaseRequest {\r\n\r\n globalSettings?: GlobalSettingsCommand;\r\n localize?: LocalizeCommand;\r\n entities?: GlobalEntitiesCommand;\r\n}","export * from \"./requestViews\";\r\nexport * from \"./accountDataRequest\";\r\nexport * from \"./arguments\";\r\nexport * from \"./baseRequest\";\r\nexport * from \"./commands\";\r\nexport * from \"./confDataRequest\";\r\nexport * from \"./confGraphicsRequest\";\r\nexport * from \"./confReportRequest\";\r\nexport * from \"./confCodeRequest\";\r\nexport * from \"./storedConfResponseFormat\";\r\nexport * from \"./confResponseFormat\";\r\nexport * from \"./globalDataRequest\";\r\nexport * from \"./productDataRequest\";\r\nexport * from \"./searchDataRequest\";\r\nexport * from \"./confAttachmentRequest\";\r\nexport * from \"./confDocumentRequest\";\r\nexport * from \"./comparisonDataRequest\";\r\nexport * from \"./popupClientChoiceRequest\";\r\nexport * from \"./clientPushMessage\";\r\nexport * from \"./defaultRequest\";","import { BaseRequest } from \"./baseRequest\";\r\nimport * as Immutable from \"immutable\";\r\nimport { SequencReference } from \"../responses/messages/popupSequence\";\r\nimport { Purpose } from \"../responses/messages/popupObject\";\r\nimport { PopupClientResponse } from \"../../../configurator/popups/msCrmIntegrationInteraction/crmIntegrationPopupComponent\";\r\n\r\nexport class PopupClientChoiceRequest extends BaseRequest {\r\n\tsequencReference?: SequencReference;\r\n\tpurpose?: Purpose;\r\n\tpopupClientResponse?: PopupClientResponse;\r\n\tsessionId?: number;\r\n\trootConfId?: number;\r\n\tsubConfId?: number;\r\n\tsubConfIdentity?: string;\r\n\tproductId?: number;\r\n\tgeneratedProductId?: number;\r\n\tquoteDetailCrmIdentity?: string;\r\n\tquoteDetailCombinumIdentity?: string;\r\n\targs?: Immutable.Map;\r\n}","import { BaseRequest } from \"./baseRequest\";\r\nimport { AssortmentCommand } from \"./commands/assortmentCommand\";\r\nimport { ProductCommand } from \"./commands/productCommand\";\r\nimport { TabCommand } from \"./commands/tabCommand\";\r\n\r\nexport class ProductDataRequest extends BaseRequest {\r\n\r\n assortment?: AssortmentCommand;\r\n product?: ProductCommand;\r\n tab?: TabCommand; \r\n}","export enum RequestViews {\r\n Editor = \"editor\",\r\n Summary = \"summary\",\r\n Compare = \"compare\",\r\n Search = \"search\",\r\n Start = \"start\",\r\n Customization = \"customization\",\r\n None = \"none\"\r\n}","import { BaseRequest } from \"./baseRequest\";\r\nimport { SearchCommand, SavedSearchCommand } from \"./commands\";\r\n\r\nexport class SearchDataRequest extends BaseRequest {\r\n \r\n search?: SearchCommand\r\n savedSearch?: SavedSearchCommand\r\n}","import { BaseObject } from \"../../../../shared/baseObject\";\r\n\r\nexport class StoredConfResponseFormat extends BaseObject {\r\n price?: boolean = false; \r\n}","import * as Immutable from \"immutable\";\r\n\r\nimport { ImmutableObject } from \"../../../../shared/immutableObject\";\r\nimport { User } from \"../entities/user\";\r\nimport { AbstractAccountMessage } from \"./messages/abstractAccountMessage\";\r\nimport { BaseEntity } from \"../../baseEntity\";\r\n\r\nexport class AccountDataResponse extends ImmutableObject {\r\n\r\n protected readonly USER = \"user\";\r\n protected readonly MESSAGES = \"messages\";\r\n protected readonly ENTITIES = \"entities\";\r\n protected readonly ENTITY_IDS_BY_CLASS_NAME = \"entityIdsByClassName\";\r\n protected readonly SHOW_RECAPTCHA = \"showRecaptcha\";\r\n \r\n get user(): User { return this.getInternalValue(this.USER); }\r\n setUser(user: User): this { return this.setInternalValue(this.USER, user); }\r\n\r\n get messages(): Immutable.List { return this.getInternalValue>(this.MESSAGES); }\r\n setMessages(messages: Immutable.List): this { return this.setInternalValue(this.MESSAGES, messages); } \r\n\r\n get entities(): Immutable.Map { return this.getInternalValue>(this.ENTITIES); }\r\n setEntities(entities: Immutable.Map): this { return this.setInternalValue(this.ENTITIES, entities); }\r\n\r\n get entityIdsByClassName(): Immutable.Map> { return this.getInternalValue>>(this.ENTITY_IDS_BY_CLASS_NAME); }\r\n setEntityIdsByClassName(entityIdsByClassName: Immutable.Map>): this { return this.setInternalValue(this.ENTITY_IDS_BY_CLASS_NAME, entityIdsByClassName); } \r\n\r\n get showRecaptcha(): boolean { return this.getInternalValue(this.SHOW_RECAPTCHA); }\r\n setShowRecaptcha(showRecaptcha: boolean): this { return this.setInternalValue(this.SHOW_RECAPTCHA, showRecaptcha); }\r\n}","import { ApiException } from \"./apiException\";\r\n\r\nexport class ApiAuthorizationException extends ApiException {\r\n \r\n}","import { Exception } from \"../../../../shared/exception\";\r\n\r\nexport class ApiException extends Exception\r\n{ \r\n protected readonly CODE = \"code\";\r\n\r\n constructor(propertyMap?: any) {\r\n super(propertyMap);\r\n }\r\n\r\n public get code(): number {\r\n return this.getInternalValue(this.CODE);\r\n }\r\n\r\n public set code(code: number) {\r\n this.setInternalValue(this.CODE, code);\r\n } \r\n}","import * as Immutable from \"immutable\";\r\n\r\nimport { ImmutableObject } from \"../../../../shared/immutableObject\";\r\nimport { ApiException } from \"./apiException\";\r\nimport { ApiMessage } from \"./messages\";\r\n\r\nexport class ApiResponse extends ImmutableObject\r\n{\r\n protected readonly DATA = \"data\";\r\n protected readonly EXCEPTIONS = \"exceptions\";\r\n protected readonly MESSAGES = \"messages\";\r\n\r\n get data(): any { return this.getInternalValue(this.DATA); }\r\n setData(data: any): this { return this.setInternalValue(this.DATA, data); }\r\n\r\n get exceptions(): Immutable.List { return this.getInternalValue>(this.EXCEPTIONS); }\r\n setExceptions(exceptions: Immutable.List): this { return this.setInternalValue(this.EXCEPTIONS, exceptions); }\r\n\r\n get messages(): Immutable.List { return this.getInternalValue>(this.MESSAGES); }\r\n setMessages(messages: Immutable.List): this { return this.setInternalValue(this.MESSAGES, messages); }\r\n}","import * as Immutable from \"immutable\"\r\n\r\nimport { BaseEntity } from \"../../baseEntity\"\r\nimport { ParamValueInfo } from \"./\"\r\n\r\nexport class AttributeInfo extends BaseEntity {\r\n\r\n protected readonly TITLE = \"title\";\r\n protected readonly VALUE = \"value\";\r\n\r\n get title(): string { return this.getInternalValue(this.TITLE); }\r\n setTitle(title: string): this { return this.setInternalValue(this.TITLE, title); }\r\n\r\n get value(): string { return this.getInternalValue(this.VALUE); }\r\n setValue(value: string): this { return this.setInternalValue(this.VALUE, value); }\r\n}","import { ImmutableObject } from \"../../../../shared/immutableObject\";\r\n\r\nexport class BaseResponse extends ImmutableObject {\r\n\r\n\r\n}","import * as Immutable from \"immutable\";\r\nimport { ImmutableObject } from \"../../../../shared/immutableObject\";\r\n\r\nexport class BomAutoCompleteRow extends ImmutableObject {\r\n protected readonly ITEM_NO = \"itemNo\";\r\n protected readonly DESCRIPTION = \"description\";\r\n protected readonly REVISIONS = \"revisions\";\r\n protected readonly QUANTITY_UNIT_ID = \"quantityUnitId\";\r\n\r\n constructor(data?: Immutable.Map) {\r\n super(data);\r\n }\r\n\r\n get itemNo(): string { return this.getInternalValue(this.ITEM_NO); }\r\n setItemNo(itemNo: string): this { return this.setInternalValue(this.ITEM_NO, itemNo); }\r\n\r\n get description(): string { return this.getInternalValue(this.DESCRIPTION); }\r\n setDescription(description: string): this { return this.setInternalValue(this.DESCRIPTION, description); }\r\n\r\n get revisions(): string[] { return this.getInternalValue(this.REVISIONS); }\r\n setRevisions(revisions: string[]): this { return this.setInternalValue(this.REVISIONS, revisions); }\r\n\r\n get quantityUnitId(): number { return this.getInternalValue(this.QUANTITY_UNIT_ID); }\r\n setQuantityUnitId(quantityUnitId: number): this { return this.setInternalValue(this.QUANTITY_UNIT_ID, quantityUnitId); }\r\n}","import * as Immutable from \"immutable\";\r\nimport { ImmutableObject } from \"../../../../shared/immutableObject\";\r\n\r\nexport class BomColumnSetting extends ImmutableObject {\r\n\r\n protected readonly TITLE = \"title\";\r\n protected readonly PROPERTY = \"property\";\r\n protected readonly WIDTH = \"width\";\r\n protected readonly ORDER = \"order\";\r\n protected readonly DETAILS_ONLY = \"detailsOnly\";\r\n protected readonly COLUMN_ALIGNMENT = \"columnAlignment\";\r\n\r\n get title(): string { return this.getInternalValue(this.TITLE); }\r\n setTitle(title: string): this { return this.setInternalValue(this.TITLE, title); }\r\n\r\n get property(): string { return this.getInternalValue(this.PROPERTY); }\r\n setProperty(property: string): this { return this.setInternalValue(this.PROPERTY, property); }\r\n\r\n get width(): number { return this.getInternalValue(this.WIDTH); }\r\n setWidth(width: number): this { return this.setInternalValue(this.WIDTH, width); }\r\n\r\n get order(): number { return this.getInternalValue(this.ORDER); }\r\n setOrder(order: number): this { return this.setInternalValue(this.ORDER, order); }\r\n\r\n get detailsOnly(): boolean { return this.getInternalValue(this.DETAILS_ONLY); }\r\n setDetailsOnly(detailsOnly: boolean): this { return this.setInternalValue(this.DETAILS_ONLY, detailsOnly); }\r\n\r\n get columnAlignment(): string { return this.getInternalValue(this.COLUMN_ALIGNMENT); }\r\n setColumnAlignment(columnAlignment: number): this { return this.setInternalValue(this.COLUMN_ALIGNMENT, columnAlignment); }\r\n}","import * as Immutable from \"immutable\";\r\nimport { BaseEntity } from \"../../baseEntity\";\r\nimport { ConfInfo } from \"../entities/confInfo\";\r\nimport { Comparison } from \"../entities/comparison\";\r\nimport { AbstractComparisonDataMessage } from \"./messages/abstractComparisonDataMessage\";\r\nimport { KeyValue } from \"./keyValue\";\r\n\r\nexport class ComparisonDataResponse extends BaseEntity {\r\n\r\n protected readonly COMPARISON_SESSION_ID = \"comparisonSessionId\";\r\n protected readonly CONF_IDS = \"confIds\";\r\n protected readonly DIFFERENCY_RESULT = \"differencyResult\";\r\n protected readonly BREADCRUMB_CONF_INFOS = \"breadcrumbConfInfos\";\r\n protected readonly CHILD_CONFS_ORDER = \"childConfsOrder\";\r\n protected readonly PATH = \"path\";\r\n protected readonly DETAIL = \"detail\";\r\n protected readonly MESSAGES = \"messages\";\r\n \r\n get comparisonSessionId(): number { return this.getInternalValue(this.COMPARISON_SESSION_ID); }\r\n setComparisonSessionId(comparisonSessionId: number): this { return this.setInternalValue(this.COMPARISON_SESSION_ID, comparisonSessionId); }\r\n\r\n get confIds(): Immutable.List { return this.getInternalValue>(this.CONF_IDS); }\r\n setConfIds(confIds: Immutable.List): this { return this.setInternalValue(this.CONF_IDS, confIds); }\r\n\r\n get differencyResult(): Immutable.List { return this.getInternalValue>(this.DIFFERENCY_RESULT); }\r\n setDifferencyResult(differencyResult: Immutable.List): this { return this.setInternalValue(this.DIFFERENCY_RESULT, differencyResult); }\r\n\r\n get breadcrumbConfInfos(): Immutable.List> { return this.getInternalValue>>(this.BREADCRUMB_CONF_INFOS); }\r\n setBreadcrumbConfInfos(breadcrumbConfInfos: Immutable.List>): this { return this.setInternalValue(this.BREADCRUMB_CONF_INFOS, breadcrumbConfInfos); }\r\n\r\n get childConfsOrder(): Immutable.List> { return this.getInternalValue>>(this.CHILD_CONFS_ORDER); }\r\n setChildConfsOrder(childConfsOrder: Immutable.List>): this { return this.setInternalValue(this.CHILD_CONFS_ORDER, childConfsOrder); }\r\n\r\n get detail(): Comparison { return this.getInternalValue(this.DETAIL); }\r\n setResult(detail: Comparison): this { return this.setInternalValue(this.DETAIL, detail); }\r\n\r\n get messages(): Immutable.List { return this.getInternalValue>(this.MESSAGES); }\r\n setMessages(messages: Immutable.List): this { return this.setInternalValue(this.MESSAGES, messages); }\r\n\r\n get path(): string { return this.getInternalValue(this.PATH); }\r\n setPath(path: string): this { return this.setInternalValue(this.PATH, path); }\r\n\r\n}","import { ImmutableObject } from \"../../../../shared/immutableObject\";\r\n\r\nexport class ConfDataProperty extends ImmutableObject {\r\n\r\n protected readonly NAME = \"name\";\r\n protected readonly TITLE = \"title\";\r\n protected readonly PROPERTY_TYPE = \"propertyType\";\r\n protected readonly ATTRIBUTE_TYPE = \"attributeType\";\r\n protected readonly REF_ID = \"refId\";\r\n protected readonly REF_CLASS_NAME = \"refClassName\";\r\n\r\n get name(): string { return this.getInternalValue(this.NAME); }\r\n setName(name: string): this { return this.setInternalValue(this.NAME, name); }\r\n\r\n get title(): string { return this.getInternalValue(this.TITLE); }\r\n setTitle(title: string): this { return this.setInternalValue(this.TITLE, title); }\r\n \r\n get propertyType(): string { return this.getInternalValue(this.PROPERTY_TYPE); }\r\n setPropertyType(propertyType: string): this { return this.setInternalValue(this.PROPERTY_TYPE, propertyType); }\r\n\r\n get attributeType(): string { return this.getInternalValue(this.ATTRIBUTE_TYPE); }\r\n setAttibuteType(attributeType: string): this { return this.setInternalValue(this.ATTRIBUTE_TYPE, attributeType); }\r\n\r\n get refId(): number { return this.getInternalValue(this.REF_ID); }\r\n setRefId(refId: number): this { return this.setInternalValue(this.REF_ID, refId); }\r\n\r\n get refClassName(): string { return this.getInternalValue(this.REF_CLASS_NAME); }\r\n setRefClassName(refClassName: string): this { return this.setInternalValue(this.REF_CLASS_NAME, refClassName); }\r\n}","import * as Immutable from \"immutable\"\r\nimport { BaseEntity } from \"../../baseEntity\"\r\nimport { AbstractConfigurationMessage } from \"./messages\"\r\nimport { ImmutableObject } from \"../../../../shared/immutableObject\";\r\nimport { ConfInfoResult } from \"./confInfoResult\";\r\nimport { BaseResponse } from \"./baseResponse\";\r\nimport { UIElement } from \"..\";\r\n\r\nexport class ConfDataResponse extends BaseResponse {\r\n protected readonly CONF_SESSION_ID = \"confSessionId\";\r\n protected readonly IS_CLOSED = \"isClosed\";\r\n protected readonly HAS_UNSAVED_CHANGES = \"hasUnsavedChanges\";\r\n protected readonly ROOT_CONFIGURATION_ID = \"rootConfId\";\r\n protected readonly REFERRAL_LINK = \"referralLink\";\r\n protected readonly CONFIGURATION_IDS = \"configurationIds\";\r\n protected readonly CONF_INFOS = \"confInfos\";\r\n protected readonly MESSAGES = \"messages\";\r\n protected readonly ENTITIES = \"entities\";\r\n protected readonly UI_ELEMENTS = \"uiElements\";\r\n\r\n get confSessionId(): number { return this.getInternalValue(this.CONF_SESSION_ID); }\r\n setConfSessionId(confSessionId: number): this { return this.setInternalValue(this.CONF_SESSION_ID, confSessionId); }\r\n\r\n get isClosed(): boolean { return this.getInternalValue(this.IS_CLOSED); }\r\n setIsClosed(isClosed: boolean): this { return this.setInternalValue(this.IS_CLOSED, isClosed); }\r\n\r\n get hasUnsavedChanges(): boolean { return this.getInternalValue(this.HAS_UNSAVED_CHANGES); }\r\n setHasUnsavedChanges(hasUnsavedChanges: boolean): this { return this.setInternalValue(this.HAS_UNSAVED_CHANGES, hasUnsavedChanges); }\r\n\r\n get rootConfId(): number { return this.getInternalValue(this.ROOT_CONFIGURATION_ID); }\r\n setRootConfId(rootConfId: number): this { return this.setInternalValue(this.ROOT_CONFIGURATION_ID, rootConfId); }\r\n\r\n get referralLink(): string { return this.getInternalValue(this.REFERRAL_LINK); }\r\n setReferralLink(referralLink: string): this { return this.setInternalValue(this.REFERRAL_LINK, referralLink); }\r\n \r\n get configurationIds(): Immutable.List { return this.getInternalValue>(this.CONFIGURATION_IDS); }\r\n setConfigurationIds(configurationIds: Immutable.List): this { return this.setInternalValue(this.CONFIGURATION_IDS, configurationIds); }\r\n\r\n get confInfos(): ConfInfoResult { return this.getInternalValue(this.CONF_INFOS); }\r\n setConfInfos(confInfoResult: ConfInfoResult): this { return this.setInternalValue(this.CONF_INFOS, confInfoResult); }\r\n \r\n get messages(): Immutable.List { return this.getInternalValue>(this.MESSAGES); }\r\n setMessages(messages: Immutable.List): this { return this.setInternalValue(this.MESSAGES, messages); }\r\n\r\n get entities(): Immutable.Map> { return this.getInternalValue>>(this.ENTITIES); }\r\n setEntities(entities: Immutable.Map>): this { return this.setInternalValue(this.ENTITIES, entities); }\r\n\r\n get uiElements(): Immutable.Map { return this.getInternalValue>(this.UI_ELEMENTS); }\r\n setUiElements(uiElements: Immutable.Map): this { return this.setInternalValue(this.UI_ELEMENTS, uiElements); }\r\n}","import * as Immutable from \"immutable\";\r\n\r\nimport { ImmutableObject } from \"../../../../shared/immutableObject\";\r\nimport { ConfInfo } from \"../entities/confInfo\";\r\n\r\nexport class ConfInfoResult extends ImmutableObject {\r\n\r\n protected readonly CONF_INFO_IDS = \"confInfoIds\";\r\n protected readonly ENTITIES = \"entities\";\r\n\r\n get confInfoIds(): Immutable.List { return this.getInternalValue>(this.CONF_INFO_IDS); }\r\n setConfInfoIds(confInfoIds: Immutable.List): this { return this.setInternalValue(this.CONF_INFO_IDS, confInfoIds); }\r\n\r\n get entities(): Immutable.Map { return this.getInternalValue>(this.ENTITIES); }\r\n setEntities(entities: Immutable.Map): this { return this.setInternalValue(this.ENTITIES, entities); }\r\n}","import { ImmutableObject } from \"../../../../shared/immutableObject\";\r\n\r\nexport class ConfSearchResultItem extends ImmutableObject {\r\n\r\n protected readonly CONFIGURATION_ID = \"configurationId\";\r\n protected readonly CONF_SESSION_ID = \"confSessionId\";\r\n protected readonly INTERVAL_TYPE = \"intervalType\";\r\n\r\n get configurationId(): number { return this.getInternalValue(this.CONFIGURATION_ID); }\r\n setConfigurationId(configurationId: number): this { return this.setInternalValue(this.CONFIGURATION_ID, configurationId); }\r\n\r\n get confSessionId(): number { return this.getInternalValue(this.CONF_SESSION_ID); }\r\n setConfSessionId(confSessionId: number): this { return this.setInternalValue(this.CONF_SESSION_ID, confSessionId); }\r\n\r\n get intervalType(): IntervalType { return this.getInternalValue(this.INTERVAL_TYPE, IntervalType); }\r\n setIntervalType(intervalType: IntervalType): this { return this.setInternalValue(this.INTERVAL_TYPE, intervalType); }\r\n}\r\n\r\nexport enum IntervalType {\r\n Unspecified = 0,\r\n Today,\r\n ThisWeek,\r\n ThisMonth,\r\n LastMonth,\r\n Older\r\n}","import { ImmutableObject } from \"../../../../shared/immutableObject\";\r\n\r\nexport class ContactField extends ImmutableObject {\r\n\r\n protected readonly TITLE = \"title\";\r\n protected readonly DATA_TYPE = \"dataType\";\r\n protected readonly READ_ONLY = \"readOnly\";\r\n protected readonly MANDATORY = \"mandatory\";\r\n protected readonly IS_FIELD = \"isField\";\r\n\r\n get title(): string { return this.getInternalValue(this.TITLE); }\r\n setTitle(title: string): this { return this.setInternalValue(this.TITLE, title); }\r\n \r\n get dataType(): string { return this.getInternalValue(this.DATA_TYPE); }\r\n setDataType(dataType: string): this { return this.setInternalValue(this.DATA_TYPE, dataType); }\r\n\r\n get readOnly(): boolean { return this.getInternalValue(this.READ_ONLY); }\r\n setReadOnly(readOnly: boolean): this { return this.setInternalValue(this.READ_ONLY, readOnly); }\r\n\r\n get mandatory(): boolean { return this.getInternalValue(this.MANDATORY); }\r\n setMandatory(mandatory: boolean): this { return this.setInternalValue(this.MANDATORY, mandatory); }\r\n\r\n get isField(): boolean { return this.getInternalValue(this.IS_FIELD); }\r\n setIsField(isField: boolean): this { return this.setInternalValue(this.IS_FIELD, isField); }\r\n}","import * as Immutable from \"immutable\";\r\n\r\nimport { ImmutableObject } from \"../../../../shared/immutableObject\";\r\nimport { GlobalSettings } from \"./globalSettings\";\r\nimport { KeyValue } from \"./keyValue\";\r\nimport { LocalizeData } from \"./localizeData\";\r\nimport { BaseEntity } from \"../../baseEntity\";\r\n\r\nexport class GlobalDataResponse extends ImmutableObject {\r\n\r\n protected readonly GLOBAL_SETTINGS = \"globalSettings\";\r\n protected readonly LOCALIZE_DATA = \"localizeData\";\r\n protected readonly ENTITIES = \"entities\";\r\n protected readonly ENTITY_IDS_BY_CLASS_NAME = \"entityIdsByClassName\";\r\n\r\n get globalSettings(): GlobalSettings { return this.getInternalValue(this.GLOBAL_SETTINGS); }\r\n setGlobalSettings(globalSettings: GlobalSettings): this { return this.setInternalValue(this.GLOBAL_SETTINGS, globalSettings); }\r\n\r\n get localizeData(): LocalizeData { return this.getInternalValue(this.LOCALIZE_DATA); }\r\n setLocalizeData(localizeData: LocalizeData): this { return this.setInternalValue(this.LOCALIZE_DATA, localizeData); }\r\n\r\n get entities(): Immutable.Map { return this.getInternalValue>(this.ENTITIES); }\r\n setEntities(entities: Immutable.Map): this { return this.setInternalValue(this.ENTITIES, entities); }\r\n\r\n get entityIdsByClassName(): Immutable.Map> { return this.getInternalValue>>(this.ENTITY_IDS_BY_CLASS_NAME); }\r\n setEntityIdsByClassName(entityIdsByClassName: Immutable.Map>): this { return this.setInternalValue(this.ENTITY_IDS_BY_CLASS_NAME, entityIdsByClassName); } \r\n}","import * as Immutable from \"immutable\";\r\n\r\nimport { ImmutableObject } from \"../../../../shared/immutableObject\";\r\nimport { BomColumnSetting } from \"./bomColumnSetting\";\r\nimport { ConfDataProperty } from \"./confDataProperty\";\r\nimport { ContactField } from \"./contactField\";\r\n\r\n\r\nexport class GlobalSettings extends ImmutableObject {\r\n\r\n protected readonly GOOGLE_RECAPTCHA = \"googleReCaptcha\";\r\n protected readonly DATE_FORMAT = \"dateFormat\";\r\n protected readonly COMPOSITE_SIDEBAR_DEFAULT_WIDTH = \"compositeSidebarDefaultWidth\";\r\n protected readonly COMPOSITE_SIDEBAR_COMPRESSED_WIDTH = \"compositeSidebarCompressedWidth\";\r\n protected readonly COMPOSITE_SIDEBAR_COMPRESSED_AT_WINDOW_WIDTH = \"compositeSidebarCompressedAtWindowWidth\";\r\n protected readonly COMPOSITE_SIDEBAR_COLLAPSE_AT_WINDOW_WIDTH = \"compositeSidebarCollapseAtWindowWidth\";\r\n protected readonly SHOW_COMPOSITE_SIDEBAR = \"showCompositeSidebar\";\r\n protected readonly TREE_EXPAND_BEHAVIOUR = \"treeExpandBehaviour\";\r\n protected readonly HIGHLIGHT_SELECTED_CONFIGURATION = \"highlightSelectedConfiguration\";\r\n protected readonly SHOW_EXPAND_COLLAPSE_ICONS_COMPOSITE = \"showExpandCollapseIconsComposite\";\r\n protected readonly SHOW_EXPAND_COLLAPSE_ICONS_CREATE = \"showExpandCollapseIconsCreate\";\r\n protected readonly SHOW_COOKIE_INFORMATION = \"showCookieInformation\"; \r\n protected readonly ACCORDION_TABS_CONTROL_WIDTH = \"accordionTabsControlWidth\";\r\n protected readonly MIN_TAB_WIDTH = \"minTabWidth\";\r\n protected readonly HIGHLIGHT_MANDATORY_PARAMETERS = \"highlightMandatoryParameters\";\r\n protected readonly GRAPHICS_INITIAL_ZOOM_FACTOR = \"graphicsInitialZoomFactor\";\r\n protected readonly ENABLE_ACCOUNT_CREATION = \"enableAccountCreation\";\r\n protected readonly ENABLE_PASSWORD_RECOVERY = \"enablePasswordRecovery\";\r\n protected readonly IS_ANONYMOUS_ACCESS_ENABLED = \"isAnonymousAccessEnabled\"; \r\n protected readonly NO_OF_FILES_ALLOWED = \"noOfFilesAllowed\";\r\n protected readonly MAXIMUM_FILE_UPLOAD_SIZE = \"maximumFileUploadSize\";\r\n protected readonly ANONYMOUS_ACCESS_FROM_LOGIN_PAGE = \"anonymousAccessFromLoginPage\"; \r\n protected readonly SHOW_IMPORT_BUTTON_IN_COMPOSITE_CONTROL = \"showImportButtonInCompositeControl\";\r\n protected readonly BOM_GRAND_TOTAL_COLUMN_SETTINGS = \"bomGrandTotalColumnSettings\";\r\n protected readonly SEARCH_RESULT_ATTRIBUTES = \"searchResultAttributes\"; \r\n protected readonly SEARCH_CONFIGURATION_ATTRIBUTES = \"searchConfigurationAttributes\";\r\n protected readonly SEARCH_ATTRIBUTES_IMMEDIATELY_VISIBLE = \"searchAttributesImmediatelyVisible\";\r\n protected readonly AUTO_SELECT_CHILD = \"autoSelectChild\";\r\n protected readonly WEB_MAIN_MENU_START = \"webMainMenuStart\";\r\n protected readonly WEB_MAIN_MENU_CREATE = \"webMainMenuCreate\";\r\n protected readonly WEB_MAIN_MENU_SEARCH = \"webMainMenuSearch\";\r\n protected readonly WEB_MAIN_MENU_SETTINGS = \"webMainMenuSettings\";\r\n protected readonly WEB_MAIN_MENU_LOGOUT = \"webMainMenuLogout\";\r\n protected readonly WEB_CONFIGURATOR_FOOTER_SAVE = \"webConfiguratorFooterSave\";\r\n protected readonly WEB_CONFIGURATOR_FOOTER_SAVE_AND_CLOSE = \"webConfiguratorFooterSaveAndClose\";\r\n protected readonly WEB_CONFIGURATOR_FOOTER_MANDATORY = \"webConfiguratorFooterMandatory\";\r\n protected readonly WEB_CONFIGURATOR_FOOTER_CLOSE = \"webConfiguratorFooterClose\"; \r\n protected readonly HELP_DOCUMENT_FILENAMES = \"helpDocumentFilenames\";\r\n protected readonly ALLOWED_LOGIN_ATTEMPTS = \"allowedLoginAttempts\";\r\n protected readonly SHOW_MY_RECENT = \"showMyRecent\";\r\n protected readonly SHOW_WORKGROUP_RECENT = \"showWorkgroupRecent\";\r\n protected readonly SUPPRESS_CHILD_CONFIGURATIONS_WITH_ZERO_PRICES = \"suppressChildConfigurationsWithZeroPrices\";\r\n\r\n protected readonly ENABLE_COMPARE_CONFIGURATIONS = \"enableCompareConfigurations\";\r\n protected readonly LIMITED_BROWSERS_SUPPORT = \"limitedBrowsersSupport\";\r\n protected readonly MAX_CONFIGURATIONS_IN_COMPARISON = \"maxConfigurationsInComparison\";\r\n protected readonly ALLOW_SEARCH_FOR_CHILD_CONFIGURATIONS = \"allowSearchForChildConfigurations\";\r\n protected readonly GROUP_PRODUCTS_BY_FAMILY_IN_FILTER_CONTROL = \"groupProductsByFamilyInFilterControl\";\r\n protected readonly AUTO_SELECT_ROOT_CONFIGURATION = \"autoSelectRootConfiguration\"; \r\n protected readonly DATA_SELECTOR_FILTER_CONTROLS_VISIBLE = \"dataSelectorFilterControlsVisible\"; \r\n protected readonly DISABLE_REVISION_MANAGEMENT = \"disableRevisionManagement\"; \r\n protected readonly DISPLAY_DOCUMENTS_IN_OPERATIONS_COLUMN = \"displayDocumentsInOperationsColumn\";\r\n protected readonly SHOW_CURRENT_OR_STORED_ATTRIBUTES = \"showCurrentOrStoredAttributes\";\r\n protected readonly SUMMARY_ACTION_BOXES_DISPLAY_ORDER = \"summaryActionBoxesDisplayOrder\";\r\n protected readonly SEPARATED_TAB_COLLAPSE_AT_WINDOW_WIDTH = \"separatedTabCollapseAtWindowWidth\";\r\n\r\n protected readonly ANONYMOUS_ACCESS_CONTACT = \"anonymousAccessContact\"; \r\n protected readonly ANONYMOUS_ACCESS_REQUEST_FOR_ORDER = \"anonymousAccessRequestForOrder\"; \r\n protected readonly ANONYMOUS_ACCESS_REQUEST_FOR_QUOTE = \"anonymousAccessRequestForQuote\"; \r\n\r\n protected readonly USE_AZURE_S_S_O = \"useAzureSSO\";\r\n protected readonly AZURE_S_S_O_LOGIN_URL = \"azureSSOLoginUrl\";\r\n \r\n // MsCrm\r\n protected readonly Is_In_Ms_Crm_Mode = \"isInMsCrmMode\";\r\n\r\n get googleReCaptcha(): string { return this.getInternalValue(this.GOOGLE_RECAPTCHA); }\r\n setGoogleReCaptcha(googleReCaptcha: string): this { return this.setInternalValue(this.GOOGLE_RECAPTCHA, googleReCaptcha); }\r\n\r\n get dateFormat(): string { return this.getInternalValue(this.DATE_FORMAT); }\r\n setDateFormat(dateFormat: string): this { return this.setInternalValue(this.DATE_FORMAT, dateFormat); }\r\n\r\n get compositeSidebarDefaultWidth(): number { return this.getInternalValue(this.COMPOSITE_SIDEBAR_DEFAULT_WIDTH); }\r\n setCompositeSidebarDefaultWidth(compositeSidebarDefaultWidth: number): this { return this.setInternalValue(this.COMPOSITE_SIDEBAR_DEFAULT_WIDTH, compositeSidebarDefaultWidth); }\r\n\r\n get compositeSidebarCompressedWidth(): number { return this.getInternalValue(this.COMPOSITE_SIDEBAR_COMPRESSED_WIDTH); }\r\n setCompositeSidebarCompressedWidth(compositeSidebarCompressedWidth: number): this { return this.setInternalValue(this.COMPOSITE_SIDEBAR_COMPRESSED_WIDTH, compositeSidebarCompressedWidth); }\r\n\r\n get compositeSidebarCompressedAtWindowWidth(): number { return this.getInternalValue(this.COMPOSITE_SIDEBAR_COMPRESSED_AT_WINDOW_WIDTH); }\r\n setCompositeSidebarCompressedAtWindowWidth(compositeSidebarCompressedAtWindowWidth: number): this { return this.setInternalValue(this.COMPOSITE_SIDEBAR_COMPRESSED_AT_WINDOW_WIDTH, compositeSidebarCompressedAtWindowWidth); }\r\n\r\n get compositeSidebarCollapseAtWindowWidth(): number { return this.getInternalValue(this.COMPOSITE_SIDEBAR_COLLAPSE_AT_WINDOW_WIDTH); }\r\n setCompositeSidebarCollapseAtWindowWidth(compositeSidebarCollapseAtWindowWidth: number): this { return this.setInternalValue(this.COMPOSITE_SIDEBAR_COLLAPSE_AT_WINDOW_WIDTH, compositeSidebarCollapseAtWindowWidth); }\r\n\r\n get showCompositeSidebar(): boolean { return this.getInternalValue(this.SHOW_COMPOSITE_SIDEBAR); }\r\n setShowCompositeSidebar(showCompositeSidebar: boolean): this { return this.setInternalValue(this.SHOW_COMPOSITE_SIDEBAR, showCompositeSidebar); }\r\n\r\n get treeExpandBehaviour(): number { return this.getInternalValue(this.TREE_EXPAND_BEHAVIOUR); }\r\n setTreeExpandBehaviour(treeExpandBehaviour: number): this { return this.setInternalValue(this.TREE_EXPAND_BEHAVIOUR, treeExpandBehaviour); }\r\n\r\n get highlightSelectedConfiguration(): boolean { return this.getInternalValue(this.HIGHLIGHT_SELECTED_CONFIGURATION); }\r\n setHighlightSelectedConfiguration(highlightSelectedConfiguration: boolean): this { return this.setInternalValue(this.HIGHLIGHT_SELECTED_CONFIGURATION, highlightSelectedConfiguration); }\r\n\r\n get showExpandCollapseIconsComposite(): boolean { return this.getInternalValue(this.SHOW_EXPAND_COLLAPSE_ICONS_COMPOSITE); }\r\n setShowExpandCollapseIconsComposite(showExpandCollapseIconsComposite: boolean): this { return this.setInternalValue(this.SHOW_EXPAND_COLLAPSE_ICONS_COMPOSITE, showExpandCollapseIconsComposite); }\r\n\r\n get showExpandCollapseIconsCreate(): boolean { return this.getInternalValue(this.SHOW_EXPAND_COLLAPSE_ICONS_CREATE); }\r\n setShowExpandCollapseIconsCreate(showExpandCollapseIconsCreate: boolean): this { return this.setInternalValue(this.SHOW_EXPAND_COLLAPSE_ICONS_CREATE, showExpandCollapseIconsCreate); }\r\n\r\n get showCookieInformation(): boolean { return this.getInternalValue(this.SHOW_COOKIE_INFORMATION); }\r\n setShowCookieInformation(showCookieInformation: boolean): this { return this.setInternalValue(this.SHOW_COOKIE_INFORMATION, showCookieInformation); }\r\n\r\n get autoSelectChild(): boolean { return this.getInternalValue(this.AUTO_SELECT_CHILD); }\r\n setAutoSelectChild(autoSelectChild: boolean): this { return this.setInternalValue(this.AUTO_SELECT_CHILD, autoSelectChild); }\r\n\r\n get minTabWidth(): number { return this.getInternalValue(this.MIN_TAB_WIDTH); }\r\n setMinTabWidth(compositeControlWidth: number): this { return this.setInternalValue(this.MIN_TAB_WIDTH, compositeControlWidth); }\r\n\r\n get highlightMandatoryParameters(): boolean { return this.getInternalValue(this.HIGHLIGHT_MANDATORY_PARAMETERS); }\r\n setHighlightMandatoryParameters(highlightMandatoryParameters: boolean): this { return this.setInternalValue(this.HIGHLIGHT_MANDATORY_PARAMETERS, highlightMandatoryParameters); }\r\n\r\n get graphicsInitialZoomFactor(): number { return this.getInternalValue(this.GRAPHICS_INITIAL_ZOOM_FACTOR); }\r\n setGraphicsInitialZoomFactor(graphicsInitialZoomFactor: number): this { return this.setInternalValue(this.GRAPHICS_INITIAL_ZOOM_FACTOR, graphicsInitialZoomFactor); }\r\n\r\n get enableAccountCreation(): boolean { return this.getInternalValue(this.ENABLE_ACCOUNT_CREATION); }\r\n setEnableAccountCreation(enableAccountCreation: boolean): this { return this.setInternalValue(this.ENABLE_ACCOUNT_CREATION, enableAccountCreation); }\r\n\r\n get enablePasswordRecovery(): boolean { return this.getInternalValue(this.ENABLE_PASSWORD_RECOVERY); }\r\n setEnablePasswordRecovery(enablePasswordRecovery: boolean): this { return this.setInternalValue(this.ENABLE_PASSWORD_RECOVERY, enablePasswordRecovery); }\r\n\r\n get isAnonymousAccessEnabled(): boolean { return this.getInternalValue(this.ANONYMOUS_ACCESS_FROM_LOGIN_PAGE); }\r\n setIsAnonymousAccessEnabled(isAnonymousAccessEnabled: boolean): this { return this.setInternalValue(this.ANONYMOUS_ACCESS_FROM_LOGIN_PAGE, isAnonymousAccessEnabled); }\r\n\r\n get anonymousAccessFromLoginPage(): boolean { return this.getInternalValue(this.IS_ANONYMOUS_ACCESS_ENABLED); }\r\n setAnonymousAccessFromLoginPage(anonymousAccessFromLoginPage: boolean): this { return this.setInternalValue(this.IS_ANONYMOUS_ACCESS_ENABLED, anonymousAccessFromLoginPage); } \r\n\r\n get noOfFilesAllowed(): number { return this.getInternalValue(this.NO_OF_FILES_ALLOWED); }\r\n setNoOfFilesAllowed(noOfFilesAllowed: number): this { return this.setInternalValue(this.NO_OF_FILES_ALLOWED, noOfFilesAllowed); }\r\n\r\n get maximumFileUploadSize(): number { return this.getInternalValue(this.MAXIMUM_FILE_UPLOAD_SIZE); }\r\n setMaximumFileUploadSize(maximumFileUploadSize: number): this { return this.setInternalValue(this.MAXIMUM_FILE_UPLOAD_SIZE, maximumFileUploadSize); }\r\n\r\n get showImportButtonInCompositeControl(): boolean { return this.getInternalValue(this.SHOW_IMPORT_BUTTON_IN_COMPOSITE_CONTROL); }\r\n setShowImportButtonInCompositeControl(showImportButtonInCompositeControl: boolean): this { return this.setInternalValue(this.SHOW_IMPORT_BUTTON_IN_COMPOSITE_CONTROL, showImportButtonInCompositeControl); } \r\n\r\n get bomGrandTotalColumnSettings(): Immutable.List { return this.getInternalValue>(this.BOM_GRAND_TOTAL_COLUMN_SETTINGS); }\r\n setBomGrandTotalColumnSettings(bomGrandTotalColumnSettings: Immutable.List): this { return this.setInternalValue(this.BOM_GRAND_TOTAL_COLUMN_SETTINGS, bomGrandTotalColumnSettings); }\r\n\r\n get searchResultAttributes(): Immutable.List { return this.getInternalValue>(this.SEARCH_RESULT_ATTRIBUTES); }\r\n setSearchResultAttributes(searchResultAttributes: Immutable.List): this { return this.setInternalValue(this.SEARCH_RESULT_ATTRIBUTES, searchResultAttributes); }\r\n \r\n get searchConfigurationAttributes(): Immutable.List { return this.getInternalValue>(this.SEARCH_CONFIGURATION_ATTRIBUTES); }\r\n setSearchConfigurationAttributes(searchConfigurationAttributes: Immutable.List): this { return this.setInternalValue(this.SEARCH_CONFIGURATION_ATTRIBUTES, searchConfigurationAttributes); }\r\n\r\n get searchAttributesImmediatelyVisible(): number { return this.getInternalValue(this.SEARCH_ATTRIBUTES_IMMEDIATELY_VISIBLE); }\r\n setSearchAttributesImmediatelyVisible(searchAttributesImmediatelyVisible: number): this { return this.setInternalValue(this.SEARCH_ATTRIBUTES_IMMEDIATELY_VISIBLE, searchAttributesImmediatelyVisible); } \r\n\r\n get webMainMenuCreate(): boolean { return this.getInternalValue(this.WEB_MAIN_MENU_CREATE); }\r\n setWebMainMenuCreate(webMainMenuCreate: boolean): this { return this.setInternalValue(this.WEB_MAIN_MENU_CREATE, webMainMenuCreate); } \r\n\r\n get webMainMenuLogout(): boolean { return this.getInternalValue(this.WEB_MAIN_MENU_LOGOUT); }\r\n setWebMainMenuLogout(webMainMenuLogout: boolean): this { return this.setInternalValue(this.WEB_MAIN_MENU_LOGOUT, webMainMenuLogout); } \r\n\r\n get webMainMenuStart(): boolean { return this.getInternalValue(this.WEB_MAIN_MENU_START); }\r\n setWebMainMenuStart(webMainMenuStart: boolean): this { return this.setInternalValue(this.WEB_MAIN_MENU_START, webMainMenuStart); } \r\n\r\n get webMainMenuSearch(): boolean { return this.getInternalValue(this.WEB_MAIN_MENU_SEARCH); }\r\n setWebMainMenuSearch(webMainMenuSearch: boolean): this { return this.setInternalValue(this.WEB_MAIN_MENU_SEARCH, webMainMenuSearch); } \r\n\r\n get webMainMenuSettings(): boolean { return this.getInternalValue(this.WEB_MAIN_MENU_SETTINGS); }\r\n setWebMainMenuSettings(webMainMenuSettings: boolean): this { return this.setInternalValue(this.WEB_MAIN_MENU_SETTINGS, webMainMenuSettings); } \r\n \r\n get webConfiguratorFooterSave(): boolean { return this.getInternalValue(this.WEB_CONFIGURATOR_FOOTER_SAVE); }\r\n setWebConfiguratorFooterSave(webConfiguratorFooterSave: boolean): this { return this.setInternalValue(this.WEB_CONFIGURATOR_FOOTER_SAVE, webConfiguratorFooterSave); } \r\n\r\n get webConfiguratorFooterSaveAndClose(): boolean { return this.getInternalValue(this.WEB_CONFIGURATOR_FOOTER_SAVE_AND_CLOSE); }\r\n setWebConfiguratorFooterSaveAndClose(webConfiguratorFooterSaveAndClose: boolean): this { return this.setInternalValue(this.WEB_CONFIGURATOR_FOOTER_SAVE_AND_CLOSE, webConfiguratorFooterSaveAndClose); } \r\n\r\n get webConfiguratorFooterMandatory(): boolean { return this.getInternalValue(this.WEB_CONFIGURATOR_FOOTER_MANDATORY); }\r\n setWebConfiguratorFooterMandatory(webConfiguratorFooterMandatory: boolean): this { return this.setInternalValue(this.WEB_CONFIGURATOR_FOOTER_MANDATORY, webConfiguratorFooterMandatory); } \r\n\r\n get webConfiguratorFooterClose(): boolean { return this.getInternalValue(this.WEB_CONFIGURATOR_FOOTER_CLOSE); }\r\n setWebConfiguratorFooterClose(webConfiguratorFooterClose: boolean): this { return this.setInternalValue(this.WEB_CONFIGURATOR_FOOTER_CLOSE, webConfiguratorFooterClose); } \r\n\r\n get showMyRecent(): boolean { return this.getInternalValue(this.SHOW_MY_RECENT); }\r\n setShowMyRecent(showMyRecent: boolean): this { return this.setInternalValue(this.SHOW_MY_RECENT, showMyRecent); }\r\n\r\n get showWorkgroupRecent(): boolean { return this.getInternalValue(this.SHOW_WORKGROUP_RECENT); }\r\n setShowWorkgroupRecent(showWorkgroupRecent: boolean): this { return this.setInternalValue(this.SHOW_WORKGROUP_RECENT, showWorkgroupRecent); }\r\n\r\n get maxConfigurationsInComparison(): number { return this.getInternalValue(this.MAX_CONFIGURATIONS_IN_COMPARISON); }\r\n setMaxConfigurationsInComparison(maxConfigurationsInComparison: number): this { return this.setInternalValue(this.MAX_CONFIGURATIONS_IN_COMPARISON, maxConfigurationsInComparison); }\r\n\r\n get helpDocumentFilenames(): Immutable.List { return this.getInternalValue>(this.HELP_DOCUMENT_FILENAMES); }\r\n setHelpDocumentFilenames(helpDocumentFilenames: Immutable.List): this { return this.setInternalValue(this.HELP_DOCUMENT_FILENAMES, helpDocumentFilenames); }\r\n\r\n get enableCompareConfigurations(): boolean { return this.getInternalValue(this.ENABLE_COMPARE_CONFIGURATIONS); }\r\n setEnableCompareConfigurations(enableCompareConfigurations: boolean): this { return this.setInternalValue(this.ENABLE_COMPARE_CONFIGURATIONS, enableCompareConfigurations); }\r\n\r\n get limitedBrowsersSupport(): Immutable.List { return this.getInternalValue>(this.LIMITED_BROWSERS_SUPPORT); }\r\n setBrowsersSupport(limitedBrowsersSupport: Immutable.List): this { return this.setInternalValue(this.LIMITED_BROWSERS_SUPPORT, limitedBrowsersSupport); }\r\n\r\n get allowedLoginAttempts(): number { return this.getInternalValue(this.ALLOWED_LOGIN_ATTEMPTS); }\r\n setAllowedLoginAttempts(allowedLoginAttempts: number): this { return this.setInternalValue(this.ALLOWED_LOGIN_ATTEMPTS, allowedLoginAttempts); }\r\n\r\n get groupProductsByFamilyInFilterControl(): boolean { return this.getInternalValue(this.GROUP_PRODUCTS_BY_FAMILY_IN_FILTER_CONTROL); }\r\n setGroupProductsByFamilyInFilterControl(groupProductsByFamilyInFilterControl: boolean): this { return this.setInternalValue(this.GROUP_PRODUCTS_BY_FAMILY_IN_FILTER_CONTROL, groupProductsByFamilyInFilterControl); }\r\n\r\n get allowSearchForChildConfigurations(): boolean { return this.getInternalValue(this.ALLOW_SEARCH_FOR_CHILD_CONFIGURATIONS); }\r\n setAllowSearchForChildConfigurations(allowSearchForChildConfigurations: boolean): this { return this.setInternalValue(this.ALLOW_SEARCH_FOR_CHILD_CONFIGURATIONS, allowSearchForChildConfigurations); }\r\n\r\n get autoSelectRootConfiguration(): boolean { return this.getInternalValue(this.AUTO_SELECT_ROOT_CONFIGURATION); }\r\n setAutoSelectRootConfiguration(autoSelectRootConfiguration: boolean): this { return this.setInternalValue(this.AUTO_SELECT_ROOT_CONFIGURATION, autoSelectRootConfiguration); }\r\n\r\n get dataSelectorFilterControlsVisible(): boolean { return this.getInternalValue(this.DATA_SELECTOR_FILTER_CONTROLS_VISIBLE); }\r\n setDataSelectorFilterControlsVisible(dataSelectorFilterControlsVisible: boolean): this { return this.setInternalValue(this.DATA_SELECTOR_FILTER_CONTROLS_VISIBLE, dataSelectorFilterControlsVisible); }\r\n\r\n get disableRevisionManagement(): boolean { return this.getInternalValue(this.DISABLE_REVISION_MANAGEMENT); }\r\n setDisableRevisionManagement(disableRevisionManagement: boolean): this { return this.setInternalValue(this.DISABLE_REVISION_MANAGEMENT, disableRevisionManagement); }\r\n\r\n get displayDocumentsInOperationsColumn(): boolean { return this.getInternalValue(this.DISPLAY_DOCUMENTS_IN_OPERATIONS_COLUMN); }\r\n setDisplayDocumentsInOperationsColumn(displayDocumentsInOperationsColumn: boolean): this { return this.setInternalValue(this.DISPLAY_DOCUMENTS_IN_OPERATIONS_COLUMN, displayDocumentsInOperationsColumn); }\r\n\r\n get suppressChildConfigurationsWithZeroPrices(): boolean { return this.getInternalValue(this.SUPPRESS_CHILD_CONFIGURATIONS_WITH_ZERO_PRICES); }\r\n setSuppressChildConfigurationsWithZeroPrices(suppressChildConfigurationsWithZeroPrices: boolean): this { return this.setInternalValue(this.SUPPRESS_CHILD_CONFIGURATIONS_WITH_ZERO_PRICES, suppressChildConfigurationsWithZeroPrices); }\r\n\r\n get showCurrentOrStoredAttributes(): string { return this.getInternalValue(this.SHOW_CURRENT_OR_STORED_ATTRIBUTES); }\r\n setShowCurrentOrStoredAttributes(showCurrentOrStoredAttributes: string): this { return this.setInternalValue(this.SHOW_CURRENT_OR_STORED_ATTRIBUTES, showCurrentOrStoredAttributes); }\r\n\r\n get summaryActionBoxesDisplayOrder(): Immutable.List { return this.getInternalValue>(this.SUMMARY_ACTION_BOXES_DISPLAY_ORDER); }\r\n setSummaryActionBoxesDisplayOrder(summaryActionBoxesDisplayOrder: Immutable.List): this { return this.setInternalValue(this.SUMMARY_ACTION_BOXES_DISPLAY_ORDER, summaryActionBoxesDisplayOrder); }\r\n\r\n get separatedTabCollapseAtWindowWidth(): number { return this.getInternalValue(this.SEPARATED_TAB_COLLAPSE_AT_WINDOW_WIDTH); }\r\n setSeparatedTabCollapseAtWindowWidth(separatedTabCollapseAtWindowWidth: number): this { return this.setInternalValue(this.SEPARATED_TAB_COLLAPSE_AT_WINDOW_WIDTH, separatedTabCollapseAtWindowWidth); }\r\n\r\n get anonymousAccessContact(): Immutable.List { return this.getInternalValue>(this.ANONYMOUS_ACCESS_CONTACT); }\r\n setAnonymousAccessContact(anonymousAccessContact: Immutable.List): this { return this.setInternalValue(this.ANONYMOUS_ACCESS_CONTACT, anonymousAccessContact); }\r\n\r\n get anonymousAccessRequestForOrder(): Immutable.List { return this.getInternalValue>(this.ANONYMOUS_ACCESS_REQUEST_FOR_ORDER); }\r\n setAnonymousAccessRequestForOrder(anonymousAccessRequestForOrder: Immutable.List): this { return this.setInternalValue(this.ANONYMOUS_ACCESS_REQUEST_FOR_ORDER, anonymousAccessRequestForOrder); }\r\n\r\n get anonymousAccessRequestForQuote(): Immutable.List { return this.getInternalValue>(this.ANONYMOUS_ACCESS_REQUEST_FOR_QUOTE); }\r\n setAnonymousAccessRequestForQuote(anonymousAccessRequestForQuote: Immutable.List): this { return this.setInternalValue(this.ANONYMOUS_ACCESS_REQUEST_FOR_QUOTE, anonymousAccessRequestForQuote); }\r\n\r\n get useAzureSSO(): boolean { return this.getInternalValue(this.USE_AZURE_S_S_O); }\r\n setUseAzureSSO(useAzureSSO: boolean): this { return this.setInternalValue(this.USE_AZURE_S_S_O, useAzureSSO); }\r\n\r\n get azureSSOLoginUrl(): string { return this.getInternalValue(this.AZURE_S_S_O_LOGIN_URL); }\r\n setAzureSSOLoginUrl(azureSSOLoginUrl: string): this { return this.setInternalValue(this.AZURE_S_S_O_LOGIN_URL, azureSSOLoginUrl); }\r\n\r\n // MsCrm\r\n get isInMsCrmMode(): boolean { return this.getInternalValue(this.Is_In_Ms_Crm_Mode); }\r\n setIsInMsCrmMode(isInMsCrmMode: boolean): this { return this.setInternalValue(this.Is_In_Ms_Crm_Mode, isInMsCrmMode); }\r\n} ","import * as Immutable from \"immutable\";\r\n\r\nimport { ImmutableObject } from \"../../../../shared/immutableObject\";\r\nimport { GridRow } from \"./gridRow\";\r\nimport { PaginationInfo } from \"./paginationInfo\";\r\nimport { SortingInfo } from \"./sortingInfo\";\r\nimport { SearchInfo } from \"./searchInfo\";\r\n\r\nexport class Grid extends ImmutableObject {\r\n\r\n protected readonly ID = \"id\";\r\n protected readonly ROWS = \"rows\";\r\n protected readonly ADDITIONAL_DATA = \"additionalData\";\r\n protected readonly PAGINATION = \"pagination\";\r\n protected readonly SORTING = \"sorting\";\r\n protected readonly SEARCH = \"search\";\r\n protected readonly WARNING_MESSAGE = \"warningMessage\";\r\n\r\n get id(): string { return this.getInternalValue(this.ID); }\r\n setId(id: string): this { return this.setInternalValue(this.ID, id); }\r\n\r\n get rows(): Immutable.List { return this.getInternalValue>(this.ROWS); }\r\n setRows(rows: Immutable.List): this { return this.setInternalValue(this.ROWS, rows); }\r\n\r\n get additionalData(): Immutable.Map { return this.getInternalValue>(this.ADDITIONAL_DATA); }\r\n setAdditionalData(additionalData: Immutable.Map): this { return this.setInternalValue(this.ADDITIONAL_DATA, additionalData); }\r\n\r\n get pagination(): PaginationInfo { return this.getInternalValue(this.PAGINATION); }\r\n setPagination(pagination: PaginationInfo): this { return this.setInternalValue(this.PAGINATION, pagination); }\r\n\r\n get sorting(): SortingInfo { return this.getInternalValue(this.SORTING); }\r\n setSorting(sorting: SortingInfo): this { return this.setInternalValue(this.SORTING, sorting); }\r\n\r\n get search(): SearchInfo { return this.getInternalValue(this.SEARCH); }\r\n setSearch(search: SearchInfo): this { return this.setInternalValue(this.SEARCH, search); }\r\n\r\n get warningMessage(): string { return this.getInternalValue(this.WARNING_MESSAGE); }\r\n setWarningMessage(warningMessage: string): this { return this.setInternalValue(this.WARNING_MESSAGE, warningMessage); }\r\n}","import * as Immutable from \"immutable\";\r\nimport { ImmutableObject } from \"../../../../shared/immutableObject\";\r\n\r\nexport class GridRow extends ImmutableObject {\r\n\r\n protected readonly ID = \"id\";\r\n protected readonly NAME = \"name\";\r\n protected readonly READ_ONLY = \"readOnly\";\r\n protected readonly VALUES = \"values\";\r\n protected readonly WARNING_MESSAGE = \"warningMessage\";\r\n\r\n get id(): number { return this.getInternalValue(this.ID); }\r\n setId(id: number): this { return this.setInternalValue(this.ID, id); }\r\n\r\n get name(): string { return this.getInternalValue(this.NAME); }\r\n setName(name: string): this { return this.setInternalValue(this.NAME, name); }\r\n\r\n get readOnly(): boolean { return this.getInternalValue(this.READ_ONLY); }\r\n setReadOnly(readOnly: boolean): this { return this.setInternalValue(this.READ_ONLY, readOnly); }\r\n\r\n get values(): Immutable.Map { return this.getInternalValue>(this.VALUES); }\r\n setValues(columnValues: Immutable.Map): this { return this.setInternalValue(this.VALUES, columnValues); }\r\n\r\n get warningMessage(): string { return this.getInternalValue(this.WARNING_MESSAGE); }\r\n setWarningMessage(warningMessage: string): this { return this.setInternalValue(this.WARNING_MESSAGE, warningMessage); }\r\n}","export * from './messages';\r\nexport * from './accountDataResponse';\r\nexport * from './bomAutoCompleteRow';\r\nexport * from './bomColumnSetting';\r\nexport * from './confDataResponse';\r\nexport * from './confInfoResult';\r\nexport * from './globalDataResponse';\r\nexport * from './globalSettings';\r\nexport * from './grid';\r\nexport * from './gridRow';\r\nexport * from './keyValue';\r\nexport * from \"./paginationInfo\";\r\nexport * from \"./paramInfo\";\r\nexport * from \"./paramValueInfo\";\r\nexport * from './productDataResponse';\r\nexport * from \"./ruleInfo\";\r\nexport * from './sortingInfo';\r\nexport * from './userSettings';\r\nexport * from './webSettings';\r\nexport * from './webSettingsResponse';\r\nexport * from './uiSettings';\r\nexport * from './uiSettingsResponse';\r\nexport * from './confDataProperty';\r\nexport * from './confSearchResultItem';\r\nexport * from './searchResult';\r\nexport * from './searchDataResponse';\r\nexport * from './apiException';\r\nexport * from './apiAuthorizationException';\r\nexport * from './apiResponse';\r\nexport * from './localizeData';\r\nexport * from './searchInfo';\r\nexport * from './attributeInfo';\r\nexport * from './comparisonDataResponse';\r\nexport * from './contactField';","// TODO Move the file outside the responses folder\r\nexport class KeyValue {\r\n\r\n key: T1;\r\n\r\n value: T2;\r\n\r\n}","import * as Immutable from \"immutable\";\r\n\r\nimport { ImmutableObject } from \"../../../../shared/immutableObject\";\r\n\r\nexport class LocalizeData extends ImmutableObject {\r\n\r\n protected readonly LANGUAGE_TITLE = \"languageTitle\";\r\n protected readonly LANGUAGE_CODE = \"languageCode\";\r\n protected readonly STRINGS = \"strings\";\r\n\r\n get languageTitle(): string { return this.getInternalValue(this.LANGUAGE_TITLE); }\r\n setLanguageTitle(languageTitle: string): this { return this.setInternalValue(this.LANGUAGE_TITLE, languageTitle); }\r\n\r\n get languageCode(): string { return this.getInternalValue(this.LANGUAGE_CODE); }\r\n setLanguageCode(languageCode: string): this { return this.setInternalValue(this.LANGUAGE_CODE, languageCode); }\r\n\r\n get strings(): Immutable.Map { return this.getInternalValue>(this.STRINGS); }\r\n setStrings(strings: Immutable.Map): this { return this.setInternalValue(this.STRINGS, strings); }\r\n}","import { BaseMessage } from \"./baseMessage\";\r\n\r\nexport abstract class AbstractAccountMessage extends BaseMessage {\r\n}","import { BaseMessage } from \"./baseMessage\";\r\n\r\nexport abstract class AbstractComparisonDataMessage extends BaseMessage {\r\n\r\n}","import { BaseMessage } from \"./baseMessage\";\r\n\r\nexport abstract class AbstractConfigurationMessage extends BaseMessage {\r\n\r\n protected readonly CONFIGURATION_ID = \"configurationId\";\r\n\r\n get configurationId(): number { return this.getInternalValue(this.CONFIGURATION_ID); }\r\n setConfigurationId(configurationId: number): this { return this.setInternalValue(this.CONFIGURATION_ID, configurationId); }\r\n}","import * as Immutable from \"immutable\";\r\n\r\nimport { AbstractConfigurationMessage } from \"./abstractConfigurationMessage\";\r\nimport { ParamInfo, RuleInfo } from \"..\";\r\nimport { ConfInfo } from \"../../entities/confInfo\";\r\n\r\nexport class AbstractImmutableValueMessage extends AbstractConfigurationMessage {\r\n\r\n protected readonly PARAM_INFO = \"paramInfo\";\r\n protected readonly RULE_INFOS = \"ruleInfos\";\r\n protected readonly CONF_INFOS = \"confInfos\";\r\n\r\n get paramInfo(): ParamInfo { return this.getInternalValue(this.PARAM_INFO); }\r\n setParamInfo(paramInfo: ParamInfo): this { return this.setInternalValue(this.PARAM_INFO, paramInfo); }\r\n\r\n get ruleInfos(): Immutable.List { return this.getInternalValue>(this.RULE_INFOS); }\r\n setRuleInfos(ruleInfos: Immutable.List): this { return this.setInternalValue(this.RULE_INFOS, ruleInfos); }\r\n\r\n get confInfos(): Immutable.List { return this.getInternalValue>(this.CONF_INFOS); }\r\n setConfInfos(confInfos: Immutable.List): this { return this.setInternalValue(this.CONF_INFOS, confInfos); }\r\n}","import { AbstractConfigurationMessage } from \"./abstractConfigurationMessage\";\r\n\r\nexport abstract class AbstractOperationMessage extends AbstractConfigurationMessage {\r\n \r\n protected readonly NAME = \"name\";\r\n protected readonly SUCCESS = \"success\";\r\n protected readonly MESSAGE = \"message\";\r\n \r\n get name(): string { return this.getInternalValue(this.NAME); }\r\n setName(name: string): this { return this.setInternalValue(this.NAME, name); }\r\n\r\n get success(): boolean { return this.getInternalValue(this.SUCCESS); }\r\n setSuccess(success: boolean): this { return this.setInternalValue(this.SUCCESS, success); }\r\n\r\n get message(): string { return this.getInternalValue(this.MESSAGE); }\r\n setMessage(message: string): this { return this.setInternalValue(this.MESSAGE, message); }\r\n}","import * as Immutable from \"immutable\";\r\n\r\nimport { BaseMessage } from \"./baseMessage\";\r\n\r\nexport abstract class AbstractSearchDataMessage extends BaseMessage {\r\n\r\n protected readonly CONFIGURATION_SEARCH_ID = \"configurationSearchId\";\r\n protected readonly SUCCESS = \"success\";\r\n protected readonly MESSAGES = \"messages\";\r\n\r\n get configurationSearchId(): number { return this.getInternalValue(this.CONFIGURATION_SEARCH_ID); }\r\n setConfigurationSearchId(configurationSearchId: number): this { return this.setInternalValue(this.CONFIGURATION_SEARCH_ID, configurationSearchId); }\r\n\r\n get success(): boolean { return this.getInternalValue(this.SUCCESS); }\r\n setSuccess(success: boolean): this { return this.setInternalValue(this.SUCCESS, success); }\r\n\r\n get messages(): Immutable.List { return this.getInternalValue>(this.MESSAGES); }\r\n setMessages(messages: Immutable.List): this { return this.setInternalValue(this.MESSAGES, messages); }\r\n}","import { BaseMessage } from \"./baseMessage\";\r\nimport { GenericMessage } from \"./genericMessage\";\r\n\r\nexport class ApiMessage extends BaseMessage {\r\n\r\n readonly SERVER_TRIGGERED = \"serverTriggered\";\r\n readonly SCOPE = \"scope\";\r\n readonly INNER_MESSAGE = \"innerMessage\";\r\n\r\n get serverTriggered(): boolean { return this.getInternalValue(this.SERVER_TRIGGERED); }\r\n setServerTriggered(serverTriggered: boolean): this { return this.setInternalValue(this.SERVER_TRIGGERED, serverTriggered); }\r\n\r\n get scope(): ApiMessageScope { return this.getInternalValue(this.SCOPE); }\r\n setScope(scope: ApiMessageScope): this { return this.setInternalValue(this.SCOPE, scope); }\r\n\r\n get innerMessage(): GenericMessage { return this.getInternalValue(this.INNER_MESSAGE); }\r\n setInnerMessage(innerMessage: GenericMessage): this { return this.setInternalValue(this.INNER_MESSAGE, innerMessage); }\r\n\r\n}\r\n\r\nexport enum ApiMessageScope {\r\n Temp = 'Temp',\r\n Application = 'Application',\r\n Page = 'Page',\r\n Modal = 'Modal'\r\n} ","import { AbstractOperationMessage } from \"./abstractOperationMessage\"\r\n\r\nexport class AttachmentOperationMessage extends AbstractOperationMessage {\r\n\r\n protected readonly ATTACHMENT_ID = \"attachmentId\";\r\n\r\n get attachmentId(): number { return this.getInternalValue(this.ATTACHMENT_ID); }\r\n setAttachmentId(attachmentId: number): this { return this.setInternalValue(this.ATTACHMENT_ID, attachmentId); }\r\n \r\n}","import { ImmutableObject } from \"../../../../../shared/immutableObject\";\r\nimport { NotificationType } from \"../../../../../shared/components\";\r\n\r\nexport abstract class BaseMessage extends ImmutableObject {\r\n\r\n protected readonly DISPLAY_STYLE = \"displayStyle\";\r\n protected readonly TITLE = \"title\";\r\n\r\n get displayStyle(): NotificationType { return this.getInternalValue(this.DISPLAY_STYLE); }\r\n setDisplayStyle(displayStyle: NotificationType): this { return this.setInternalValue(this.DISPLAY_STYLE, displayStyle); }\r\n\r\n get title(): string { return this.getInternalValue(this.TITLE); }\r\n setTitle(title: string): this { return this.setInternalValue(this.TITLE, title); }\r\n\r\n}","import * as Immutable from \"immutable\";\r\n\r\nimport { AbstractConfigurationMessage } from \"./abstractConfigurationMessage\";\r\nimport { BomAutoCompleteRow } from \"../bomAutoCompleteRow\";\r\n\r\nexport class BomAutoCompleteMessage extends AbstractConfigurationMessage {\r\n\r\n protected readonly AUTOCOMPLETE_MODEL = \"data\";\r\n protected readonly ROWS = \"rows\";\r\n protected readonly QUANTITY_UNITS = \"quantityUnits\";\r\n protected readonly OPERATION_SEQUENCES = \"operationSequences\";\r\n\r\n constructor(data?: Immutable.Map) {\r\n super(data);\r\n }\r\n\r\n get autoCompleteRowModels(): Immutable.List { return this.getInternalValue>(this.ROWS); }\r\n setAutoCompleteRowModels(autoCompleteRowModels: Immutable.List): this { return this.setInternalValue(this.ROWS, autoCompleteRowModels); }\r\n\r\n get quantityUnits(): Immutable.Map { return this.getInternalValue>(this.QUANTITY_UNITS); }\r\n setQuantityUnits(quantityUnits: Immutable.Map): this { return this.setInternalValue(this.QUANTITY_UNITS, quantityUnits); }\r\n\r\n get operationSequences(): Immutable.Map { return this.getInternalValue>(this.OPERATION_SEQUENCES); }\r\n setOperationSequences(operationSequences: Immutable.Map): this { return this.setInternalValue(this.OPERATION_SEQUENCES, operationSequences); }\r\n}","import * as Immutable from \"immutable\";\r\n\r\nimport { AbstractConfigurationMessage } from \"./abstractConfigurationMessage\"\r\nimport { Grid } from \"..\";\r\n\r\nexport class BomDetailMessage extends AbstractConfigurationMessage {\r\n\r\n protected readonly GRID_DATA = \"gridData\";\r\n protected readonly CHILDREN_GRID_DATA = \"childrenGridData\";\r\n protected readonly GRAND_TOTAL = \"grandTotal\";\r\n \r\n get gridData(): Grid { return this.getInternalValue(this.GRID_DATA); }\r\n setGridData(gridData: Grid): this { return this.setInternalValue(this.GRID_DATA, gridData); }\r\n\r\n get childrenGridData(): Grid { return this.getInternalValue(this.CHILDREN_GRID_DATA); }\r\n setChildrenGridData(childrenGridData: Grid): this { return this.setInternalValue(this.CHILDREN_GRID_DATA, childrenGridData); }\r\n\r\n get grandTotal(): Grid { return this.getInternalValue(this.GRAND_TOTAL); }\r\n setGrandTotal(grandTotal: Grid): this { return this.setInternalValue(this.GRAND_TOTAL, grandTotal); }\r\n}","import * as Immutable from \"immutable\"\r\n\r\nimport { AbstractConfigurationMessage } from \"./abstractConfigurationMessage\"\r\nimport { BomAutoCompleteRow } from \"../bomAutoCompleteRow\";\r\n\r\nexport class BomItemMessage extends AbstractConfigurationMessage {\r\n\r\n protected readonly BOM_DECORATION_ID = \"bomDecorationId\";\r\n protected readonly ID = \"id\";\r\n protected readonly ITEM_NO = \"itemNo\";\r\n protected readonly DESCRIPTION = \"description\";\r\n protected readonly REVISION = \"revision\";\r\n protected readonly REVISIONS = \"revisions\";\r\n protected readonly QUANTITY = \"quantity\";\r\n protected readonly QUANTITY_UNIT_ID = \"quantityUnitId\";\r\n protected readonly QUANTITY_UNITS = \"quantityUnits\";\r\n protected readonly OPERATION_SEQUENCE_ID = \"operationSequenceId\";\r\n protected readonly OPERATION_SEQUENCES = \"operationSequences\";\r\n\r\n constructor(data?: Immutable.Map) {\r\n super(data);\r\n }\r\n\r\n get bomDecorationId(): number { return this.getInternalValue(this.BOM_DECORATION_ID); }\r\n setBomDecorationId(bomDecorationId: number): this { return this.setInternalValue(this.BOM_DECORATION_ID, bomDecorationId); }\r\n\r\n get id(): number { return this.getInternalValue(this.ID); }\r\n setId(id: number): this { return this.setInternalValue(this.ID, id); }\r\n\r\n get itemNo(): string { return this.getInternalValue(this.ITEM_NO); }\r\n setItemNo(itemNo: string): this { return this.setInternalValue(this.ITEM_NO, itemNo); }\r\n\r\n get description(): string { return this.getInternalValue(this.DESCRIPTION); }\r\n setDescription(description: string): this { return this.setInternalValue(this.DESCRIPTION, description); }\r\n\r\n get revision(): string { return this.getInternalValue(this.REVISION); }\r\n setRevision(revision: string): this { return this.setInternalValue(this.REVISION, revision); }\r\n\r\n get revisions(): string[] { return this.getInternalValue(this.REVISIONS); }\r\n setRevisions(revisions: string[]): this { return this.setInternalValue(this.REVISIONS, revisions); }\r\n\r\n get quantity(): number { return this.getInternalValue(this.QUANTITY); }\r\n setQuantity(quantity: number): this { return this.setInternalValue(this.QUANTITY, quantity); }\r\n\r\n get quantityUnitId(): number { return this.getInternalValue(this.QUANTITY_UNIT_ID); }\r\n setQuantityUnitId(quantityUnitId: number): this { return this.setInternalValue(this.QUANTITY_UNIT_ID, quantityUnitId); }\r\n\r\n get quantityUnits(): Immutable.Map { return this.getInternalValue>(this.QUANTITY_UNITS); }\r\n setQuantityUnits(quantityUnits: Immutable.Map): this { return this.setInternalValue(this.QUANTITY_UNITS, quantityUnits); }\r\n\r\n get operationSequenceId(): number { return this.getInternalValue(this.OPERATION_SEQUENCE_ID); }\r\n setOperationSequenceId(operationSequenceId: number): this { return this.setInternalValue(this.OPERATION_SEQUENCE_ID, operationSequenceId); }\r\n\r\n get operationSequences(): Immutable.Map { return this.getInternalValue>(this.OPERATION_SEQUENCES); }\r\n setOperationSequences(operationSequences: Immutable.Map): this { return this.setInternalValue(this.OPERATION_SEQUENCES, operationSequences); }\r\n}","import * as Immutable from \"immutable\"\r\n\r\nimport { AbstractOperationMessage } from \"./abstractOperationMessage\"\r\n\r\nexport class BomOperationMessage extends AbstractOperationMessage {\r\n\r\n protected readonly BOM_DECORATION_ID = \"bomDecorationId\";\r\n\r\n get bomDecorationId(): number { return this.getInternalValue(this.BOM_DECORATION_ID); }\r\n setBomDecorationId(bomDecorationId: number): this { return this.setInternalValue(this.BOM_DECORATION_ID, bomDecorationId); }\r\n \r\n}","import * as Immutable from \"immutable\";\r\n\r\nimport { ApiMessage } from \"./apiMessage\";\r\n\r\nexport class CacheReloadMessage extends ApiMessage {\r\n \r\n readonly USER_DATA_ONLY = \"userDataOnly\";\r\n readonly SUCCESS = \"success\";\r\n readonly MESSAGES = \"messages\";\r\n \r\n get userDataOnly(): boolean { return this.getInternalValue(this.USER_DATA_ONLY); }\r\n setUserDataOnly(userDataOnly: boolean): this { return this.setInternalValue(this.USER_DATA_ONLY, userDataOnly); } \r\n\r\n get success(): boolean { return this.getInternalValue(this.SUCCESS); }\r\n setSuccess(success: boolean): this { return this.setInternalValue(this.SUCCESS, success); }\r\n\r\n get messages(): Immutable.List { return this.getInternalValue>(this.MESSAGES); }\r\n setMessages(message: Immutable.List): this { return this.setInternalValue(this.MESSAGES, message); }\r\n}","import { AbstractOperationMessage } from \"./abstractOperationMessage\"\r\n\r\nexport class ChangeOwnershipMessage extends AbstractOperationMessage {\r\n\r\n}","import { ParamInfo, RuleInfo } from \"..\"\r\nimport { ImmutableObject } from \"../../../../../shared/immutableObject\";\r\n\r\nexport class ClearedParamInfo extends ImmutableObject {\r\n\r\n protected readonly PARAM_INFO = \"paramInfo\";\r\n protected readonly RULE_REASON = \"ruleReason\";\r\n protected readonly MESSAGE_REASON = \"messageReason\";\r\n \r\n get paramInfo(): ParamInfo { return this.getInternalValue(this.PARAM_INFO); }\r\n setParamInfo(paramInfo: ParamInfo): this { return this.setInternalValue(this.PARAM_INFO, paramInfo); }\r\n\r\n get ruleReason(): RuleInfo { return this.getInternalValue(this.RULE_REASON); }\r\n setRuleReason(ruleReason: RuleInfo): this { return this.setInternalValue(this.RULE_REASON, ruleReason); }\r\n\r\n get messageReason(): string { return this.getInternalValue(this.MESSAGE_REASON); }\r\n setMessageReason(messageReason: string): this { return this.setInternalValue(this.MESSAGE_REASON, messageReason); }\r\n}","import * as Immutable from \"immutable\"\r\n\r\nimport { AbstractConfigurationMessage } from \"./abstractConfigurationMessage\"\r\nimport { ClearedParamInfo } from \"./clearedParamInfo\";\r\n\r\nexport class ClearedParamMessage extends AbstractConfigurationMessage {\r\n\r\n protected readonly CLEARED_PARAM_INFOS = \"clearedParamInfos\";\r\n \r\n get clearedParamInfos(): Immutable.List { return this.getInternalValue>(this.CLEARED_PARAM_INFOS); }\r\n setClearedValues(clearedValues: Immutable.List): this { return this.setInternalValue(this.CLEARED_PARAM_INFOS, clearedValues); }\r\n}","import * as Immutable from \"immutable\"\r\n\r\nimport { AbstractConfigurationMessage } from \"./abstractConfigurationMessage\"\r\nimport { KeyValue } from \"../keyValue\";\r\n\r\nexport class ClearedPricesMessage extends AbstractConfigurationMessage {\r\n\r\n protected readonly TITLE_AND_VALUES = \"titleAndValues\";\r\n\r\n get titleAndValues(): Immutable.List> { return this.getInternalValue>>(this.TITLE_AND_VALUES); }\r\n setTitleAndValues(titleAndValues: Immutable.List>): this { return this.setInternalValue(this.TITLE_AND_VALUES, titleAndValues); }\r\n}","import * as Immutable from \"immutable\"\r\nimport { AbstractComparisonDataMessage } from \"./abstractComparisonDataMessage\";\r\n\r\nexport class ComparisonOrderChangeMessage extends AbstractComparisonDataMessage {\r\n\r\n protected readonly SUCCESS = \"success\";\r\n\r\n get success(): boolean { return this.getInternalValue(this.SUCCESS); }\r\n setSuccess(success: boolean): this { return this.setInternalValue(this.SUCCESS, success); }\r\n\r\n}","import { ApiMessage } from \"./apiMessage\";\r\nimport * as Immutable from \"immutable\";\r\nimport { PopupSequence } from \"./popupSequence\";\r\n\r\nexport class ComplexSequentialPopups extends ApiMessage {\r\n\treadonly POPUP_SQUENCES = \"popupSequences\";\r\n\t\r\n\tget popupSequences(): Immutable.List { return this.getInternalValue>(this.POPUP_SQUENCES); }\r\n\tsetPopupSequences(popupSequences: Immutable.List): this { return this.setInternalValue(this.POPUP_SQUENCES, popupSequences); }\r\n}\r\n\r\n","import * as Immutable from \"immutable\"\r\nimport { AbstractOperationMessage } from \"./abstractOperationMessage\"\r\nimport { ConfAutoCompleteItem } from \"../../entities/confAutoCompleteItem\";\r\n\r\nexport class ConfAutoCompleteMessage extends AbstractOperationMessage {\r\n\r\n protected readonly AUTO_COMPLETE_ITEMS = \"autoCompleteItems\";\r\n\r\n get autoCompleteItems(): Immutable.List { return this.getInternalValue>(this.AUTO_COMPLETE_ITEMS); }\r\n setAutoCompleteItems(autoCompleteItems: Immutable.List): this { return this.setInternalValue(this.AUTO_COMPLETE_ITEMS, autoCompleteItems); }\r\n\r\n}","import { AbstractOperationMessage } from \"./abstractOperationMessage\"\r\n\r\nexport class ConfDeleteMessage extends AbstractOperationMessage {\r\n}","import { AbstractOperationMessage } from \"./abstractOperationMessage\";\r\n\r\nexport class ConfEmailMessage extends AbstractOperationMessage {\r\n}","import * as Immutable from \"immutable\"\r\n\r\nimport { AbstractConfigurationMessage } from \"./abstractConfigurationMessage\"\r\nimport { RuleInfo } from \"../ruleInfo\"\r\nimport { ConfInfo } from \"../../entities/confInfo\"\r\n\r\nexport class ConfErrorMessage extends AbstractConfigurationMessage {\r\n \r\n protected readonly MESSAGE = \"message\";\r\n protected readonly DETAILS = \"details\";\r\n protected readonly CONF_INFO = \"confInfo\";\r\n protected readonly RULE_INFOS = \"ruleInfos\";\r\n protected readonly STACK_TRACE = \"stackTrace\";\r\n \r\n get message(): string { return this.getInternalValue(this.MESSAGE); }\r\n setMessage(message: string): this { return this.setInternalValue(this.MESSAGE, message); }\r\n\r\n get details(): Immutable.List { return this.getInternalValue>(this.DETAILS); }\r\n setDetails(details: Immutable.List): this { return this.setInternalValue(this.DETAILS, details); }\r\n\r\n get confInfo(): ConfInfo { return this.getInternalValue(this.CONF_INFO); }\r\n setConfInfo(confInfo: ConfInfo): this { return this.setInternalValue(this.CONF_INFO, confInfo); }\r\n\r\n get ruleInfos(): Immutable.List { return this.getInternalValue>(this.RULE_INFOS); }\r\n setRuleInfos(ruleInfos: Immutable.List): this { return this.setInternalValue(this.RULE_INFOS, ruleInfos); }\r\n \r\n get stackTrace(): string { return this.getInternalValue(this.STACK_TRACE); }\r\n setStackTrace(stackTrace: string): this { return this.setInternalValue(this.STACK_TRACE, stackTrace); }\r\n}","import { AbstractOperationMessage } from \"./abstractOperationMessage\"\r\n\r\nexport enum SaveErrorReason {\r\n None = \"None\",\r\n MandatoryParameters = \"MandatoryParameters\",\r\n WarningAttributes = \"WarningAttributes\",\r\n AnonymousUserEmail = \"AnonymousUserEmail\",\r\n Other = \"Other\"\r\n}\r\n\r\nexport class ConfSaveMessage extends AbstractOperationMessage {\r\n\r\n protected readonly SAVE_ERROR_REASON = \"saveErrorReason\";\r\n\r\n get saveErrorReason(): string { return this.getInternalValue(this.SAVE_ERROR_REASON, SaveErrorReason); }\r\n setSaveErrorReason(saveErrorReason: string): this { return this.setInternalValue(this.SAVE_ERROR_REASON, saveErrorReason); }\r\n}","import * as Immutable from \"immutable\"\r\n\r\nimport { AbstractConfigurationMessage } from \"./abstractConfigurationMessage\"\r\n\r\nexport class ConfValueErrorMessage extends AbstractConfigurationMessage {\r\n \r\n protected readonly CONF_VAL_ID = \"confValueId\";\r\n protected readonly CONF_PROPERTY_NAME = \"confProprtyName\";\r\n protected readonly MESSAGE = \"message\";\r\n\r\n get confValueId(): number { return this.getInternalValue(this.CONF_VAL_ID); }\r\n setConfValueId(confValueId: number): this { return this.setInternalValue(this.CONF_VAL_ID, confValueId); }\r\n\r\n get confProprtyName(): string { return this.getInternalValue(this.CONF_PROPERTY_NAME); }\r\n setConfProprtyName(confProprtyName: string): this { return this.setInternalValue(this.CONF_PROPERTY_NAME, confProprtyName); }\r\n\r\n get message(): string { return this.getInternalValue(this.MESSAGE); }\r\n setMessage(message: string): this { return this.setInternalValue(this.MESSAGE, message); }\r\n}","import * as Immutable from \"immutable\"\r\nimport { AbstractConfigurationMessage } from \"./abstractConfigurationMessage\"\r\nimport { ConfInfo } from \"../..\";\r\n\r\nexport class CopyDestinationMessage extends AbstractConfigurationMessage {\r\n\r\n protected readonly CONF_INFOS = \"confInfos\";\r\n\r\n get confInfos(): Immutable.List { return this.getInternalValue>(this.CONF_INFOS); }\r\n setConfInfos(confInfos: Immutable.List): this { return this.setInternalValue(this.CONF_INFOS, confInfos); }\r\n \r\n}","import * as Immutable from \"immutable\"\r\nimport { AbstractOperationMessage } from \"./abstractOperationMessage\"\r\n\r\nexport class CopyOperationMessage extends AbstractOperationMessage {\r\n\r\n protected readonly NEW_CONF_IDS = \"newConfIds\";\r\n\r\n get newConfIds(): Immutable.List { return this.getInternalValue>(this.NEW_CONF_IDS); }\r\n setNewConfIds(newConfIds: Immutable.List): this { return this.setInternalValue(this.NEW_CONF_IDS, newConfIds); }\r\n\r\n}","import * as Immutable from \"immutable\"\r\n\r\nimport { AbstractConfigurationMessage } from \"./abstractConfigurationMessage\";\r\nimport { Grid } from \"../grid\";\r\n\r\nexport class DataSelectorGridMessage extends AbstractConfigurationMessage {\r\n\r\n protected readonly CONFIGURATION_ID = \"configurationId\";\r\n protected readonly DATA_SELECTOR_ID = \"dataSelectorId\";\r\n protected readonly GRID_DATA = \"gridData\";\r\n\r\n get configurationId(): number { return this.getInternalValue(this.CONFIGURATION_ID); }\r\n setConfigurationId(configurationId: number): this { return this.setInternalValue(this.CONFIGURATION_ID, configurationId); }\r\n\r\n get dataSelectorId(): number { return this.getInternalValue(this.DATA_SELECTOR_ID); }\r\n setDataSelectorId(dataSelectorId: number): this { return this.setInternalValue(this.DATA_SELECTOR_ID, dataSelectorId); }\r\n\r\n get gridData(): Grid { return this.getInternalValue(this.GRID_DATA); }\r\n setGridData(gridData: Grid): this { return this.setInternalValue(this.GRID_DATA, gridData); }\r\n}","import * as Immutable from \"immutable\"\r\n\r\nimport { AbstractConfigurationMessage } from \"./abstractConfigurationMessage\"\r\n\r\nexport class DataSelectorKeyDetailMessage extends AbstractConfigurationMessage {\r\n\r\n protected readonly KEY_ID = \"keyId\";\r\n protected readonly DETAILS = \"details\";\r\n\r\n get keyId(): number { return this.getInternalValue(this.KEY_ID); }\r\n setKeyId(keyId: number): this { return this.setInternalValue(this.KEY_ID, keyId); }\r\n\r\n /** \r\n Key: Parameter ID or MultiChoiceValueID for multichoices.\r\n Value: Current value.\r\n */\r\n get details(): Immutable.Map { return this.getInternalValue>(this.DETAILS); }\r\n setDetails(details: Immutable.Map): this { return this.setInternalValue(this.DETAILS, details); }\r\n}","import { AbstractOperationMessage } from \"./abstractOperationMessage\"\r\n\r\nexport class DataSelectorOperationMessage extends AbstractOperationMessage {\r\n \r\n}","import { AbstractSearchDataMessage } from \"./abstractSearchDataMessage\"\r\n\r\nexport class DeleteSearchMessage extends AbstractSearchDataMessage {\r\n}\r\n","import { AbstractImmutableValueMessage } from \"./abstractImmutableValueMessage\";\r\n\r\nexport class DisallowedValueMessage extends AbstractImmutableValueMessage {\r\n \r\n}","import { BaseMessage } from \"./baseMessage\";\r\n\r\nexport class GenericMessage extends BaseMessage{\r\n protected readonly MESSAGE = \"message\";\r\n\r\n get message(): string { return this.getInternalValue(this.MESSAGE); }\r\n setMessage(message: string): this { return this.setInternalValue(this.MESSAGE, message); }\r\n\r\n}","import * as Immutable from \"immutable\"\r\nimport { AbstractOperationMessage } from \"./abstractOperationMessage\"\r\n\r\nexport class ImportOperationMessage extends AbstractOperationMessage {\r\n\r\n protected readonly IMPORT_CONF_ID = \"importConfId\";\r\n\r\n get importConfId(): number { return this.getInternalValue(this.IMPORT_CONF_ID); }\r\n setImportConfId(importConfId: number): this { return this.setInternalValue(this.IMPORT_CONF_ID, importConfId); }\r\n\r\n}","export * from \"./abstractAccountMessage\";\r\nexport * from \"./apiMessage\";\r\nexport * from \"./abstractConfigurationMessage\";\r\nexport * from \"./abstractImmutableValueMessage\";\r\nexport * from \"./abstractOperationMessage\";\r\nexport * from \"./abstractSearchDataMessage\";\r\nexport * from \"./baseMessage\";\r\nexport * from \"./bomAutoCompleteMessage\";\r\nexport * from \"./bomDetailMessage\";\r\nexport * from \"./bomItemMessage\";\r\nexport * from \"./bomOperationMessage\";\r\nexport * from \"./cacheReloadMessage\";\r\nexport * from \"./clearedParamInfo\";\r\nexport * from \"./clearedParamMessage\";\r\nexport * from \"./copyDestinationMessage\";\r\nexport * from \"./copyOperationMessage\";\r\nexport * from \"./dataSelectorGridMessage\";\r\nexport * from \"./dataSelectorKeyDetailMessage\";\r\nexport * from \"./dataSelectorOperationMessage\";\r\nexport * from \"./confDeleteMessage\";\r\nexport * from \"./deleteSearchMessage\";\r\nexport * from \"./disallowedValueMessage\";\r\nexport * from \"./confErrorMessage\";\r\nexport * from \"./loginMessage\";\r\nexport * from \"./logoutMessage\";\r\nexport * from \"./mandatoryParamsMessage\";\r\nexport * from \"./orderOperationMessage\";\r\nexport * from \"./passwordChangeMessage\";\r\nexport * from \"./priceOperationMessage\";\r\nexport * from \"./priceReportCategory\";\r\nexport * from \"./priceReportChildTotal\";\r\nexport * from \"./priceReportItem\";\r\nexport * from \"./priceReportMessage\";\r\nexport * from \"./storedPriceReportMessage\";\r\nexport * from \"./priceSettingMessage\";\r\nexport * from \"./readOnlyParamMessage\";\r\nexport * from \"./ruleConfirmationMessage\";\r\nexport * from \"./ruleInformationMessage\";\r\nexport * from \"./confSaveMessage\";\r\nexport * from \"./saveSearchMessage\";\r\nexport * from \"./stateActionInfoMessage\";\r\nexport * from \"./stateActionResultMessage\";\r\nexport * from \"./userUpdateMessage\";\r\nexport * from \"./confValueErrorMessage\";\r\nexport * from \"./changeOwnershipMessage\";\r\nexport * from \"./confEmailMessage\";\r\nexport * from \"./attachmentOperationMessage\";\r\nexport * from \"./redirectMessage\";\r\nexport * from \"./passwordRecoverMessage\";\r\nexport * from \"./warningAttributesMessage\";\r\nexport * from \"./importOperationMessage\";\r\nexport * from \"./confAutoCompleteMessage\";\r\nexport * from \"./comparisonOrderChangeMessage\";\r\nexport * from \"./genericMessage\";\r\nexport * from \"./clearedPricesMessage\";\r\n// MSCRM begin\r\nexport * from \"./complexSequentialPopups\";\r\nexport * from \"./popupSequence\";\r\nexport * from \"./popupObject\";\r\nexport * from \"./integrationSettings\";\r\n// MSCRM end","import { ApiMessage } from \"./apiMessage\";\r\n\r\nexport class IntegrationSettings extends ApiMessage {\r\n\treadonly IS_RUNNING_IN_IFRAME = \"isRunningInIframe\";\r\n\treadonly IS_AT_ROOT_LEVEL = \"isAtRootLevel\";\r\n\r\n\tget isRunningInIframe(): boolean { return this.getInternalValue(this.IS_RUNNING_IN_IFRAME); }\r\n\tsetIsRunningInIframe(isRunningInIframe: boolean): this { return this.setInternalValue(this.IS_RUNNING_IN_IFRAME, isRunningInIframe); }\r\n\r\n\tget isAtRootLevel(): boolean { return this.getInternalValue(this.IS_AT_ROOT_LEVEL); }\r\n\tsetIsAtRootLevel(isAtRootLevel: boolean): this { return this.setInternalValue(this.IS_AT_ROOT_LEVEL, isAtRootLevel); }\r\n}\r\n\r\n","import * as Immutable from \"immutable\";\r\nimport { AbstractAccountMessage } from \"./abstractAccountMessage\";\r\n\r\nexport class LoginMessage extends AbstractAccountMessage {\r\n\r\n protected readonly SUCCESS = \"success\";\r\n protected readonly ERRORS = \"errors\";\r\n protected readonly IS_PASSWORD_EXPIRED = \"isPasswordExpired\";\r\n protected readonly PASSWORD_EXPIRY_WARNING = \"passwordExpiryWarning\";\r\n protected readonly MESSAGE = \"message\";\r\n protected readonly SHOW_LOGIN_CONFIRMATION = \"showLoginConfirmation\";\r\n protected readonly LOGIN_CONFIRMATION_MESSAGE = \"loginConfirmationMessage\";\r\n\r\n get success(): boolean { return this.getInternalValue(this.SUCCESS); }\r\n setSuccess(success: boolean): this { return this.setInternalValue(this.SUCCESS, success); }\r\n\r\n get isPasswordExpired(): boolean { return this.getInternalValue(this.IS_PASSWORD_EXPIRED); }\r\n setIsPasswordExpired(isPasswordExpired: boolean): this { return this.setInternalValue(this.IS_PASSWORD_EXPIRED, isPasswordExpired); }\r\n\r\n get passwordExpiryWarning(): string { return this.getInternalValue(this.PASSWORD_EXPIRY_WARNING); }\r\n setPasswordExpiryWarning(passwordExpiryWarning: string): this { return this.setInternalValue(this.PASSWORD_EXPIRY_WARNING, passwordExpiryWarning); }\r\n\r\n get errors(): Immutable.List { return this.getInternalValue>(this.ERRORS); }\r\n setErrors(errors: Immutable.List): this { return this.setInternalValue(this.ERRORS, errors); }\r\n\r\n get message(): string { return this.getInternalValue(this.MESSAGE); }\r\n setMessage(message: string): this { return this.setInternalValue(this.MESSAGE, message); }\r\n\r\n get showLoginConfirmation(): boolean { return this.getInternalValue(this.SHOW_LOGIN_CONFIRMATION); }\r\n setShowLoginConfirmation(showLoginConfirmation: boolean): this { return this.setInternalValue(this.SHOW_LOGIN_CONFIRMATION, showLoginConfirmation); }\r\n\r\n get loginConfirmationMessage(): string { return this.getInternalValue(this.LOGIN_CONFIRMATION_MESSAGE); }\r\n setLoginConfirmationMessage(loginConfirmationMessage: string): this { return this.setInternalValue(this.LOGIN_CONFIRMATION_MESSAGE, loginConfirmationMessage); }\r\n}","import { AbstractAccountMessage } from \"./abstractAccountMessage\";\r\n\r\nexport class LogoutMessage extends AbstractAccountMessage {\r\n\r\n protected readonly SUCCESS = \"success\";\r\n protected readonly ERRORS = \"errors\";\r\n\r\n get success(): boolean { return this.getInternalValue(this.SUCCESS); }\r\n setSuccess(success: boolean): this { return this.setInternalValue(this.SUCCESS, success); }\r\n\r\n get errors(): Array { return this.getInternalValue>(this.ERRORS); }\r\n setErrors(errors: Array): this { return this.setInternalValue(this.ERRORS, errors); }\r\n}","import * as Immutable from \"immutable\"\r\n\r\nimport { AbstractConfigurationMessage } from \"./abstractConfigurationMessage\"\r\nimport { ParamInfo } from \"..\"\r\n\r\nexport class MandatoryParamsMessage extends AbstractConfigurationMessage {\r\n\r\n protected readonly MANDATORY_PARAMS = \"mandatoryParams\";\r\n protected readonly IS_NEXT_STATE_INCLUDED = \"isNextStateIncluded\";\r\n\r\n get mandatoryParams(): Immutable.List { return this.getInternalValue>(this.MANDATORY_PARAMS); }\r\n setMandatoryParams(mandatoryParams: Immutable.List): this { return this.setInternalValue(this.MANDATORY_PARAMS, mandatoryParams); }\r\n\r\n get isNextStateIncluded(): boolean { return this.getInternalValue(this.IS_NEXT_STATE_INCLUDED); }\r\n setIsNextStateIncluded(isNextStateIncluded: boolean): this { return this.setInternalValue(this.IS_NEXT_STATE_INCLUDED, isNextStateIncluded); }\r\n}","import { AbstractOperationMessage } from \"./abstractOperationMessage\"\r\n\r\nexport class OrderOperationMessage extends AbstractOperationMessage {\r\n\r\n}","import { AbstractAccountMessage } from \"./abstractAccountMessage\";\r\n\r\nexport class PasswordChangeMessage extends AbstractAccountMessage {\r\n\r\n protected readonly SUCCESS = \"success\";\r\n protected readonly ERRORS = \"errors\";\r\n\r\n get success(): boolean { return this.getInternalValue(this.SUCCESS); }\r\n setSuccess(success: boolean): this { return this.setInternalValue(this.SUCCESS, success); }\r\n\r\n get errors(): Array { return this.getInternalValue>(this.ERRORS); }\r\n setErrors(errors: Array): this { return this.setInternalValue(this.ERRORS, errors); }\r\n\r\n}","import { AbstractAccountMessage } from \"./abstractAccountMessage\";\r\n\r\nexport enum AccountCommandTypes {\r\n InitEmailVerification = 0,\r\n VerifyCode = 1,\r\n SessionValidation = 2,\r\n Password = 3,\r\n AccountInactive = 4,\r\n None = -1\r\n}\r\n\r\nexport class AccountDataMessage extends AbstractAccountMessage {\r\n\r\n protected readonly USER_NAME = \"username\";\r\n protected readonly SUCCESS = \"success\"; \r\n protected readonly MESSAGE = \"message\";\r\n protected readonly COMMAND_TYPE = \"commandType\";\r\n\r\n get username(): string { return this.getInternalValue(this.USER_NAME); }\r\n setUsername(username: string): this { return this.setInternalValue(this.USER_NAME, username); }\r\n\r\n get success(): boolean { return this.getInternalValue(this.SUCCESS); }\r\n setSuccess(success: boolean): this { return this.setInternalValue(this.SUCCESS, success); }\r\n\r\n get message(): string { return this.getInternalValue(this.MESSAGE); }\r\n setMessage(message: string): this { return this.setInternalValue(this.MESSAGE, message); }\r\n \r\n get commandType(): AccountCommandTypes { return this.getInternalValue(this.COMMAND_TYPE); }\r\n setCommandType(commandType: AccountCommandTypes): this { return this.setInternalValue(this.COMMAND_TYPE, commandType); }\r\n\r\n}","import * as Immutable from \"immutable\";\r\nimport { BaseMessage } from \"./baseMessage\";\r\nimport { SequencReference } from \"./popupSequence\";\r\n\r\nexport class PopupObject extends BaseMessage {\r\n\r\n\treadonly SEQUENCE_REFERENCE = \"sequencReference\";\r\n\treadonly PURPOSE = \"purpose\";\r\n\treadonly SESSION_ID = \"sessionId\";\r\n\treadonly ROOT_CONF_ID = \"rootConfId\";\r\n\treadonly SUB_CONF_ID = \"subConfId\";\r\n\treadonly SUB_CONF_IDENTITY = \"subConfIdentity\";\r\n\treadonly PRODUCT_ID = \"productId\";\r\n\treadonly GENERATED_PRODUCT_ID = \"generatedProductId\";\r\n\treadonly QUOTEDETAIL_CRM_IDENTITY = \"quoteDetailCrmIdentity\";\r\n\treadonly QUOTEDETAIL_COMBINUM_IDENTITY = \"quoteDetailCombinumIdentity\";\r\n\treadonly POPUP_MESSAGE_TITLE = \"popupMessageTitle\";\r\n\treadonly POPUP_MESSAGE = \"popupMessage\";\r\n\treadonly SKIP_NEXT_POPUP_IF_USER_ANSWERS_YES = \"skipNextPopupIfUserAnswersYes\";\r\n\treadonly SKIP_NEXT_POPUP_IF_USER_ANSWERS_NO = \"skipNextPopupIfUserAnswersNo\";\r\n\treadonly YES_BUTTON_TEXT = \"yesButtonText\";\r\n\treadonly NO_BUTTON_TEXT = \"noButtonText\";\r\n\treadonly POPUP_WIDTH = \"popupWidth\";\r\n\treadonly POPUP_HEIGHT = \"popupHeight\";\r\n\r\n\treadonly ARGS = \"args\";\r\n\r\n\tget sequencReference(): SequencReference { return this.getInternalValue(this.SEQUENCE_REFERENCE); }\r\n\tsetSequencReference(sequencReference: SequencReference): this { return this.setInternalValue(this.SEQUENCE_REFERENCE, sequencReference); }\r\n\r\n\tget purpose(): Purpose { return this.getInternalValue(this.PURPOSE); }\r\n\tsetPurpose(purpose: Purpose): this { return this.setInternalValue(this.PURPOSE, purpose); }\r\n\r\n\tget sessionId(): number { return this.getInternalValue(this.SESSION_ID); }\r\n\tsetSessionId(sessionId: number): this { return this.setInternalValue(this.SESSION_ID, sessionId); }\r\n\r\n\tget rootConfId(): number { return this.getInternalValue(this.ROOT_CONF_ID); }\r\n\tsetRootConfId(rootConfId: number): this { return this.setInternalValue(this.ROOT_CONF_ID, rootConfId); }\r\n\r\n\tget subConfId(): number { return this.getInternalValue(this.SUB_CONF_ID); }\r\n\tsetSubConfId(subConfId: number): this { return this.setInternalValue(this.SUB_CONF_ID, subConfId); }\r\n\r\n\tget subConfIdentity(): string { return this.getInternalValue(this.SUB_CONF_IDENTITY); }\r\n\tsetSubConfIdentity(subConfIdentity: string): this { return this.setInternalValue(this.SUB_CONF_IDENTITY, subConfIdentity); }\r\n\r\n\tget productId(): number { return this.getInternalValue(this.PRODUCT_ID); }\r\n\tsetProductId(productId: number): this { return this.setInternalValue(this.PRODUCT_ID, productId); }\r\n\r\n\tget generatedProductId(): number { return this.getInternalValue(this.GENERATED_PRODUCT_ID); }\r\n\tsetGeneratedProductId(generatedProductId: number): this { return this.setInternalValue(this.GENERATED_PRODUCT_ID, generatedProductId); }\r\n\r\n\tget quoteDetailCrmIdentity(): string { return this.getInternalValue(this.QUOTEDETAIL_CRM_IDENTITY); }\r\n\tsetQuoteDetailCrmIdentity(quoteDetailCrmIdentity: string): this { return this.setInternalValue(this.QUOTEDETAIL_CRM_IDENTITY, quoteDetailCrmIdentity); }\r\n\r\n\tget quoteDetailCombinumIdentity(): string { return this.getInternalValue(this.QUOTEDETAIL_COMBINUM_IDENTITY); }\r\n\tsetQuoteDetailCombinumIdentity(quoteDetailCombinumIdentity: string): this { return this.setInternalValue(this.QUOTEDETAIL_COMBINUM_IDENTITY, quoteDetailCombinumIdentity); }\r\n\r\n\tget popupMessageTitle(): string { return this.getInternalValue(this.POPUP_MESSAGE_TITLE); }\r\n\tsetPopupMessageTitle(popupMessageTitle: string): this { return this.setInternalValue(this.POPUP_MESSAGE_TITLE, popupMessageTitle); }\r\n\r\n\tget popupMessage(): string { return this.getInternalValue(this.POPUP_MESSAGE); }\r\n\tsetPopupMessage(popupMessage: string): this { return this.setInternalValue(this.POPUP_MESSAGE, popupMessage); }\r\n\r\n\tget skipNextPopupIfUserAnswersYes(): boolean { return this.getInternalValue(this.SKIP_NEXT_POPUP_IF_USER_ANSWERS_YES); }\r\n\tsetSkipNextPopupIfUserAnswersYes(skipNextPopupIfUserAnswersYes: boolean): this { return this.setInternalValue(this.SKIP_NEXT_POPUP_IF_USER_ANSWERS_YES, skipNextPopupIfUserAnswersYes); }\r\n\r\n\tget skipNextPopupIfUserAnswersNo(): boolean { return this.getInternalValue(this.SKIP_NEXT_POPUP_IF_USER_ANSWERS_NO); }\r\n\tsetSkipNextPopupIfUserAnswersNo(skipNextPopupIfUserAnswersNo: boolean): this { return this.setInternalValue(this.SKIP_NEXT_POPUP_IF_USER_ANSWERS_NO, skipNextPopupIfUserAnswersNo); }\r\n\r\n\tget yesButtonText(): string { return this.getInternalValue(this.YES_BUTTON_TEXT); }\r\n\tsetYesButtonText(yesButtonText: string): this { return this.setInternalValue(this.YES_BUTTON_TEXT, yesButtonText); }\r\n\r\n\tget noButtonText(): string { return this.getInternalValue(this.NO_BUTTON_TEXT); }\r\n\tsetNoButtonText(noButtonText: string): this { return this.setInternalValue(this.NO_BUTTON_TEXT, noButtonText); }\r\n\r\n\tget popupWidth(): string { return this.getInternalValue(this.POPUP_WIDTH); }\r\n\tsetPopupWidth(popupWidth: string): this { return this.setInternalValue(this.POPUP_WIDTH, popupWidth); }\r\n\r\n\tget popupHeight(): string { return this.getInternalValue(this.POPUP_HEIGHT); }\r\n\tsetPopupHeight(popupHeight: string): this { return this.setInternalValue(this.POPUP_HEIGHT, popupHeight); }\r\n\r\n\tget args(): Immutable.Map { return this.getInternalValue>(this.ARGS); }\r\n\tsetArgs(args: Immutable.Map): this { return this.setInternalValue(this.ARGS, args); }\r\n}\r\n\r\n// reflected in server side\r\nexport enum Purpose {\r\n\tChildconfigurationsExistInCombinumOutOfSyncWithQuoteDetails,\r\n\tQuoteDetailsExistInCrmOutOfSyncWithChildconfigurations,\r\n\tDeleteConfiguration,\r\n\tDeleteQuoteDetail,\r\n\tLinkSubConfToQuoteDetail\r\n}\r\n\r\n","import * as Immutable from \"immutable\";\r\nimport { BaseMessage } from \"./baseMessage\";\r\nimport { PopupObject } from \"./popupObject\";\r\n\r\nexport class PopupSequence extends BaseMessage {\r\n\treadonly POPUP_OBJECTS = \"popupObjects\";\r\n\treadonly SEQUENCE_REFERENCE = \"sequencReference\";\r\n\r\n\tget popupObjects(): Immutable.List { return this.getInternalValue>(this.POPUP_OBJECTS); }\r\n\tsetPopupObjects(popupObjects: Immutable.List): this { return this.setInternalValue(this.POPUP_OBJECTS, popupObjects); }\r\n\r\n\tget sequencReference(): SequencReference { return this.getInternalValue(this.SEQUENCE_REFERENCE); }\r\n\tsetSequencReference(sequencReference: SequencReference): this { return this.setInternalValue(this.SEQUENCE_REFERENCE, sequencReference); }\r\n}\r\n\r\n// reflected in server side\r\nexport enum SequencReference {\r\n\tunlinkedQuoteDetails,\r\n\tunlikedConfigurationModels\r\n}","import * as Immutable from \"immutable\"\r\n\r\nimport { AbstractOperationMessage } from \"./abstractOperationMessage\"\r\n\r\nexport class PriceOperationMessage extends AbstractOperationMessage { \r\n}","import * as Immutable from \"immutable\"\r\n\r\nimport { PriceReportItem } from \"./\"\r\nimport { BaseEntity } from \"../../../baseEntity\";\r\n\r\nexport class PriceReportCategory extends BaseEntity {\r\n\r\n protected readonly TITLE = \"title\";\r\n protected readonly PRICE = \"price\";\r\n protected readonly ITEMS = \"items\";\r\n protected readonly IS_TRANSIENT = \"isTransient\";\r\n\r\n get title(): string { return this.getInternalValue(this.TITLE); }\r\n setTitle(title: string): this { return this.setInternalValue(this.TITLE, title); }\r\n\r\n get price(): string { return this.getInternalValue(this.PRICE); }\r\n setPrice(price: string): this { return this.setInternalValue(this.PRICE, price); }\r\n\r\n get items(): Immutable.List { return this.getInternalValue>(this.ITEMS); }\r\n setItems(items: Immutable.List): this { return this.setInternalValue(this.ITEMS, items); }\r\n\r\n get isTransient(): string { return this.getInternalValue(this.IS_TRANSIENT); }\r\n setIsTransient(isTransient: string): this { return this.setInternalValue(this.IS_TRANSIENT, isTransient); }\r\n} ","import * as Immutable from \"immutable\"\r\n\r\nimport { ImmutableObject } from \"../../../../../shared/immutableObject\";\r\n\r\nexport class PriceReportChildTotal extends ImmutableObject {\r\n\r\n protected readonly CONFIGURATION_ID = \"configurationId\";\r\n protected readonly QUANTITY = \"quantity\";\r\n protected readonly UNIT_PRICE = \"unitPrice\";\r\n protected readonly GRAND_TOTAL = \"grandTotal\";\r\n protected readonly RAW_TOTAL = \"rawTotal\";\r\n\r\n get configurationId(): number { return this.getInternalValue(this.CONFIGURATION_ID); }\r\n setConfigurationId(configurationId: number): this { return this.setInternalValue(this.CONFIGURATION_ID, configurationId); }\r\n\r\n get quantity(): number { return this.getInternalValue(this.QUANTITY); }\r\n setQuantity(quantity: number): this { return this.setInternalValue(this.QUANTITY, quantity); }\r\n\r\n get unitPrice(): string { return this.getInternalValue(this.UNIT_PRICE); }\r\n setUnitPrice(unitPrice: string): this { return this.setInternalValue(this.UNIT_PRICE, unitPrice); }\r\n\r\n get grandTotal(): string { return this.getInternalValue(this.GRAND_TOTAL); }\r\n setGrandTotal(grandTotal: string): this { return this.setInternalValue(this.GRAND_TOTAL, grandTotal); } \r\n\r\n get rawTotal(): number { return this.getInternalValue(this.RAW_TOTAL); }\r\n setRawTotal(rawTotal: number): this { return this.setInternalValue(this.RAW_TOTAL, rawTotal); } \r\n\r\n}","import * as Immutable from \"immutable\"\r\n\r\nimport { BaseEntity } from \"../../../baseEntity\";\r\n\r\nexport class PriceReportItem extends BaseEntity {\r\n\r\n protected readonly IS_EDITABLE = \"isEditable\";\r\n protected readonly TITLE = \"title\";\r\n protected readonly PRICE = \"price\";\r\n protected readonly RAW_PRICE = \"rawPrice\";\r\n protected readonly MANUAL_PRICE = \"manualPrice\";\r\n protected readonly RAW_MANUAL_PRICE = \"rawManualPrice\";\r\n protected readonly NOTE = \"note\"; \r\n protected readonly SUB_ITEMS = \"subItems\";\r\n\r\n get isEditable(): boolean { return this.getInternalValue(this.IS_EDITABLE); }\r\n setIsEditable(isEditable: boolean): this { return this.setInternalValue(this.IS_EDITABLE, isEditable); }\r\n\r\n get title(): string { return this.getInternalValue(this.TITLE); }\r\n setTitle(title: string): this { return this.setInternalValue(this.TITLE, title); }\r\n\r\n get price(): string { return this.getInternalValue(this.PRICE); }\r\n setPrice(price: string): this { return this.setInternalValue(this.PRICE, price); }\r\n\r\n get rawPrice(): number { return this.getInternalValue(this.RAW_PRICE); }\r\n setRawPrice(rawPrice: number): this { return this.setInternalValue(this.RAW_PRICE, rawPrice); }\r\n\r\n get manualPrice(): string { return this.getInternalValue(this.MANUAL_PRICE); }\r\n setManualPrice(manualPrice: string): this { return this.setInternalValue(this.MANUAL_PRICE, manualPrice); }\r\n\r\n get rawManualPrice(): number { return this.getInternalValue(this.RAW_MANUAL_PRICE); }\r\n setRawManualPrice(rawManualPrice: number): this { return this.setInternalValue(this.RAW_MANUAL_PRICE, rawManualPrice); }\r\n\r\n get note(): string { return this.getInternalValue(this.NOTE); }\r\n setNote(note: string): this { return this.setInternalValue(this.NOTE, note); }\r\n\r\n get subItems(): Immutable.List { return this.getInternalValue>(this.SUB_ITEMS); }\r\n setSubItems(subItems: Immutable.List): this { return this.setInternalValue(this.SUB_ITEMS, subItems); }\r\n\r\n}","import * as Immutable from \"immutable\"\r\nimport { AbstractConfigurationMessage } from \"./abstractConfigurationMessage\"\r\nimport { PriceReportCategory } from \"./priceReportCategory\"\r\nimport { PriceReportChildTotal } from \"./\";\r\nimport { RefObject } from \"../../entities/refObject\";\r\nimport { KeyValue } from \"../keyValue\";\r\n\r\nexport class PriceReportMessage extends AbstractConfigurationMessage {\r\n\r\n protected readonly CATEGORIES = \"categories\";\r\n protected readonly TOTAL = \"total\";\r\n protected readonly CHILDREN_TOTAL = \"childrenTotal\";\r\n protected readonly CHILDREN = \"children\";\r\n protected readonly GRAND_TOTAL = \"grandTotal\";\r\n protected readonly CURRENCY = \"currency\";\r\n protected readonly PRICE_LIST_CATEGORY = \"priceListCategory\";\r\n protected readonly HAS_ISSUES = \"hasIssues\";\r\n protected readonly WARNINGS = \"warnings\";\r\n protected readonly CLEARED_PRICES = \"clearedPrices\";\r\n\r\n get categories(): Immutable.List { return this.getInternalValue>(this.CATEGORIES); }\r\n setCategories(categories: Immutable.List): this { return this.setInternalValue(this.CATEGORIES, categories); }\r\n\r\n get total(): string { return this.getInternalValue(this.TOTAL); }\r\n setTotal(total: string): this { return this.setInternalValue(this.TOTAL, total); }\r\n\r\n get childrenTotal(): string { return this.getInternalValue(this.CHILDREN_TOTAL); }\r\n setChildrenTotal(childrenTotal: string): this { return this.setInternalValue(this.CHILDREN_TOTAL, childrenTotal); }\r\n\r\n get children(): Array { return this.getInternalValue>(this.CHILDREN); }\r\n setChildren(children: Array): this { return this.setInternalValue(this.CHILDREN, children); }\r\n\r\n get grandTotal(): string { return this.getInternalValue(this.GRAND_TOTAL); }\r\n setGrandTotal(grandTotal: string): this { return this.setInternalValue(this.GRAND_TOTAL, grandTotal); }\r\n\r\n get currency(): RefObject { return this.getInternalValue(this.CURRENCY); }\r\n setCurrency(currency: RefObject): this { return this.setInternalValue(this.CURRENCY, currency); }\r\n\r\n get priceListCategory(): RefObject { return this.getInternalValue(this.PRICE_LIST_CATEGORY); }\r\n setPriceListCategory(priceListCategory: RefObject): this { return this.setInternalValue(this.PRICE_LIST_CATEGORY, priceListCategory); }\r\n\r\n get hasIssues(): boolean { return this.getInternalValue(this.HAS_ISSUES); }\r\n setHasIssues(hasIssues: boolean): this { return this.setInternalValue(this.HAS_ISSUES, hasIssues); }\r\n\r\n get warnings(): Immutable.List { return this.getInternalValue>(this.WARNINGS); }\r\n setWarnings(warnings: Immutable.List): this { return this.setInternalValue(this.WARNINGS, warnings); }\r\n\r\n get clearedPrices(): Immutable.List> { return this.getInternalValue>>(this.CLEARED_PRICES); }\r\n setClearedPrices(clearedPrices: Immutable.List>): this { return this.setInternalValue(this.CLEARED_PRICES, clearedPrices); }\r\n}","import * as Immutable from \"immutable\"\r\n\r\nimport { AbstractConfigurationMessage } from \"./abstractConfigurationMessage\"\r\nimport { KeyValue } from \"../../responses\"\r\nimport { RefObject } from \"../../entities\"\r\n\r\nexport class PriceSettingMessage extends AbstractConfigurationMessage {\r\n\r\n protected readonly CURRENCIES = \"currencies\";\r\n protected readonly CATEGORIES = \"categories\";\r\n protected readonly PRICES = \"prices\";\r\n\r\n get currencies(): Immutable.List { return this.getInternalValue>(this.CURRENCIES); }\r\n setQuantity(currencies: Immutable.List): this { return this.setInternalValue(this.CURRENCIES, currencies); }\r\n\r\n get categories(): Immutable.List> { return this.getInternalValue>>(this.CATEGORIES); }\r\n setCategories(categories: Immutable.List>): this { return this.setInternalValue(this.CATEGORIES, categories); } \r\n\r\n get prices(): Immutable.Map>> { return this.getInternalValue>>>(this.PRICES); }\r\n setPrices(prices: Immutable.Map>>): this { return this.setInternalValue(this.PRICES, prices); }\r\n}","import { AbstractImmutableValueMessage } from \"./abstractImmutableValueMessage\";\r\n\r\nexport class ReadOnlyParamMessage extends AbstractImmutableValueMessage {\r\n \r\n}","import * as Immutable from \"immutable\";\r\n\r\nimport { ApiMessage } from \"./apiMessage\";\r\n\r\nexport class RedirectMessage extends ApiMessage {\r\n\r\n readonly VIEW = \"view\";\r\n readonly PARAMETERS = \"parameters\";\r\n readonly QUERY_STRING = \"queryString\";\r\n readonly MESSAGE = \"message\";\r\n\r\n // MsCrm ->\r\n readonly EXTERNAL_URL = \"externalUrl\";\r\n readonly EXTRA_ARGS = \"extraArgs\";\r\n // MsCrm <-\r\n\r\n get view(): string { return this.getInternalValue(this.VIEW); }\r\n setView(view: string): this { return this.setInternalValue(this.VIEW, view); }\r\n\r\n get message(): string { return this.getInternalValue(this.MESSAGE); }\r\n setMessage(message: string): this { return this.setInternalValue(this.MESSAGE, message); }\r\n\r\n get parameters(): Immutable.Map { return this.getInternalValue>(this.PARAMETERS); }\r\n setParameters(parameters: Immutable.Map): this { return this.setInternalValue(this.PARAMETERS, parameters); }\r\n\r\n get queryString(): Immutable.List { return this.getInternalValue>(this.QUERY_STRING); }\r\n setQueryString(queryString: Immutable.List): this { return this.setInternalValue(this.QUERY_STRING, queryString); }\r\n\r\n // MsCrm ->\r\n get externalUrl(): string { return this.getInternalValue(this.EXTERNAL_URL); }\r\n setExternalUrl(externalUrl: string): this { return this.setInternalValue(this.EXTERNAL_URL, externalUrl); }\r\n\r\n get extraArgs(): Immutable.Map { return this.getInternalValue>(this.EXTRA_ARGS); }\r\n setExtraArgs(extraArgs: Immutable.Map): this { return this.setInternalValue(this.EXTRA_ARGS, extraArgs); }\r\n // MsCrm <-\r\n}","import * as Immutable from \"immutable\"\r\n\r\nimport { AbstractConfigurationMessage } from \"./abstractConfigurationMessage\"\r\nimport { RuleInfo } from \"..\"\r\n\r\nexport class RuleConfirmationMessage extends AbstractConfigurationMessage {\r\n\r\n protected readonly RULE_INFO = \"ruleInfo\";\r\n\r\n get ruleInfo(): RuleInfo { return this.getInternalValue(this.RULE_INFO); }\r\n setRuleInfo(ruleInfo: RuleInfo): this { return this.setInternalValue(this.RULE_INFO, ruleInfo); }\r\n}","import * as Immutable from \"immutable\"\r\n\r\nimport { AbstractConfigurationMessage } from \"./abstractConfigurationMessage\"\r\nimport { RuleInfo } from \"..\"\r\n\r\nexport class RuleInformationMessage extends AbstractConfigurationMessage {\r\n \r\n protected readonly RULE_INFOS = \"ruleInfos\";\r\n\r\n get ruleInfos(): Immutable.List { return this.getInternalValue>(this.RULE_INFOS); }\r\n setRuleInfos(ruleInfos: Immutable.List): this { return this.setInternalValue(this.RULE_INFOS, ruleInfos); }\r\n}","import { AbstractSearchDataMessage } from \"./abstractSearchDataMessage\"\r\n\r\nexport class SaveSearchMessage extends AbstractSearchDataMessage {\r\n}\r\n","import * as Immutable from \"immutable\";\r\n\r\nimport { AbstractConfigurationMessage } from \"./abstractConfigurationMessage\"\r\n\r\nexport class StateActionInfoMessage extends AbstractConfigurationMessage {\r\n\r\n protected readonly NAME = \"name\";\r\n protected readonly FROM_STATE = \"fromState\";\r\n protected readonly TO_STATES = \"toStates\";\r\n protected readonly MESSAGE = \"message\";\r\n protected readonly ERRORS = \"errors\";\r\n protected readonly WARNINGS = \"warnings\";\r\n protected readonly IS_ALLOWED = \"isAllowed\";\r\n\r\n get name(): string { return this.getInternalValue(this.NAME); }\r\n setName(name: string): this { return this.setInternalValue(this.NAME, name); }\r\n\r\n get fromState(): number { return this.getInternalValue(this.FROM_STATE); }\r\n setFromState(fromState: number): this { return this.setInternalValue(this.FROM_STATE, fromState); }\r\n\r\n get toStates(): Immutable.List { return this.getInternalValue>(this.TO_STATES); }\r\n setToStates(toStates: Immutable.List): this { return this.setInternalValue(this.TO_STATES, toStates); }\r\n\r\n get message(): string { return this.getInternalValue(this.MESSAGE); }\r\n setMessage(message: string): this { return this.setInternalValue(this.MESSAGE, message); }\r\n\r\n get errors(): Immutable.List { return this.getInternalValue>(this.ERRORS); }\r\n setErrors(errors: Immutable.List): this { return this.setInternalValue(this.ERRORS, errors); }\r\n\r\n get warnings(): Immutable.List { return this.getInternalValue>(this.WARNINGS); }\r\n setWarnings(warnings: Immutable.List): this { return this.setInternalValue(this.WARNINGS, warnings); }\r\n\r\n get isAllowed(): boolean { return this.getInternalValue(this.IS_ALLOWED); }\r\n setIsAllowed(isAllowed: boolean): this { return this.setInternalValue(this.IS_ALLOWED, isAllowed); }\r\n}","import * as Immutable from \"immutable\";\r\nimport { AbstractOperationMessage } from \"./abstractOperationMessage\"\r\n\r\nexport class StateActionResultMessage extends AbstractOperationMessage {\r\n \r\n protected readonly ERRORS = \"errors\";\r\n protected readonly WARNINGS = \"warnings\";\r\n \r\n get errors(): Immutable.List { return this.getInternalValue>(this.ERRORS); }\r\n setErrors(errors: Immutable.List): this { return this.setInternalValue(this.ERRORS, errors); }\r\n\r\n get warnings(): Immutable.List { return this.getInternalValue>(this.WARNINGS); }\r\n setWarnings(warnings: Immutable.List): this { return this.setInternalValue(this.WARNINGS, warnings); }\r\n}\r\n","import { PriceReportMessage } from \"./priceReportMessage\"\r\n\r\nexport class StoredPriceReportMessage extends PriceReportMessage {\r\n\r\n}","import * as Immutable from \"immutable\"\r\nimport { AbstractAccountMessage } from \"./abstractAccountMessage\";\r\n\r\nexport class UserUpdateMessage extends AbstractAccountMessage {\r\n\r\n protected readonly SUCCESS = \"success\";\r\n protected readonly COMMAND_NAME = \"commandName\";\r\n protected readonly ERRORS = \"errors\";\r\n\r\n get success(): boolean { return this.getInternalValue(this.SUCCESS); }\r\n setSuccess(success: boolean): this { return this.setInternalValue(this.SUCCESS, success); }\r\n\r\n get commandName(): string { return this.getInternalValue(this.COMMAND_NAME); }\r\n setCommandName(commandName: string): this { return this.setInternalValue(this.COMMAND_NAME, commandName); }\r\n\r\n get errors(): Immutable.List { return this.getInternalValue>(this.ERRORS); }\r\n setErrors(errors: Immutable.List): this { return this.setInternalValue(this.ERRORS, errors); }\r\n\r\n}","import * as Immutable from \"immutable\"\r\n\r\nimport { AbstractConfigurationMessage } from \"./abstractConfigurationMessage\"\r\nimport { AttributeInfo } from \"..\"\r\n\r\nexport class WarningAttributesMessage extends AbstractConfigurationMessage {\r\n\r\n protected readonly ATTRIBUTE_INFOS = \"attributeInfos\";\r\n\r\n get attributeInfos(): Immutable.List { return this.getInternalValue>(this.ATTRIBUTE_INFOS); }\r\n setAttributeInfos(attributeInfos: Immutable.List): this { return this.setInternalValue(this.ATTRIBUTE_INFOS, attributeInfos); }\r\n}","import * as Immutable from \"immutable\"\r\n\r\nimport { ImmutableObject } from \"../../../../shared/immutableObject\";\r\n\r\nexport class PaginationInfo extends ImmutableObject {\r\n\r\n protected readonly PAGE_INDEX = \"pageIndex\";\r\n protected readonly PAGE_SIZE = \"pageSize\";\r\n protected readonly NO_OF_PAGES = \"noOfPages\";\r\n protected readonly RESULT_COUNT = \"resultCount\";\r\n\r\n get pageIndex(): number { return this.getInternalValue(this.PAGE_INDEX); }\r\n setPageIndex(pageIndex: number): this { return this.setInternalValue(this.PAGE_INDEX, pageIndex); }\r\n\r\n get pageSize(): number { return this.getInternalValue(this.PAGE_SIZE); }\r\n setPageSize(pageSize: number): this { return this.setInternalValue(this.PAGE_SIZE, pageSize); }\r\n\r\n get noOfPages(): number { return this.getInternalValue(this.NO_OF_PAGES); }\r\n setNoOfPages(noOfPages: number): this { return this.setInternalValue(this.NO_OF_PAGES, noOfPages); }\r\n\r\n get resultCount(): number { return this.getInternalValue(this.RESULT_COUNT); }\r\n setResultCount(resultCount: number): this { return this.setInternalValue(this.RESULT_COUNT, resultCount); }\r\n}","import * as Immutable from \"immutable\"\r\n\r\nimport { BaseEntity } from \"../../baseEntity\"\r\nimport { ParamValueInfo } from \"./\"\r\n\r\nexport class ParamInfo extends BaseEntity {\r\n\r\n protected readonly TITLE = \"title\";\r\n protected readonly PARAMETER_TYPE = \"parameterType\";\r\n protected readonly VALUE = \"value\";\r\n protected readonly IS_NEW = \"isNew\"; \r\n protected readonly VISUAL_OBJECT_IN_TAB_ID = \"visualObjectInTabId\";\r\n protected readonly PARAM_VALUES = \"paramValues\"; \r\n \r\n get title(): string { return this.getInternalValue(this.TITLE); }\r\n setTitle(title: string): this { return this.setInternalValue(this.TITLE, title); }\r\n\r\n get parameterType(): string { return this.getInternalValue(this.PARAMETER_TYPE); }\r\n setParameterType(parameterType: string): this { return this.setInternalValue(this.PARAMETER_TYPE, parameterType); }\r\n\r\n get value(): string { return this.getInternalValue(this.VALUE); }\r\n setValue(value: string): this { return this.setInternalValue(this.VALUE, value); }\r\n\r\n get isNew(): boolean { return this.getInternalValue(this.IS_NEW); }\r\n setIsNew(isNew: boolean): this { return this.setInternalValue(this.IS_NEW, isNew); }\r\n\r\n get visualObjectInTabId(): number { return this.getInternalValue(this.VISUAL_OBJECT_IN_TAB_ID); }\r\n setVisualObjectInTabId(visualObjectInTabId: number): this { return this.setInternalValue(this.VISUAL_OBJECT_IN_TAB_ID, visualObjectInTabId); } \r\n\r\n get paramValues(): Immutable.List { return this.getInternalValue>(this.PARAM_VALUES); }\r\n setParamValues(paramValues: Immutable.List): this { return this.setInternalValue(this.PARAM_VALUES, paramValues); }\r\n}","import * as Immutable from \"immutable\"\r\n\r\nimport { BaseEntity } from \"../../baseEntity\"\r\n\r\nexport class ParamValueInfo extends BaseEntity {\r\n\r\n protected readonly TITLE = \"title\";\r\n protected readonly VALUE = \"value\";\r\n\r\n get title(): string { return this.getInternalValue(this.TITLE); }\r\n setTitle(title: string): this { return this.setInternalValue(this.TITLE, title); }\r\n\r\n get value(): string { return this.getInternalValue(this.VALUE); }\r\n setValue(value: string): this { return this.setInternalValue(this.VALUE, value); }\r\n}","import * as Immutable from \"immutable\"\r\nimport { BaseEntity } from \"../../baseEntity\"\r\nimport { ImmutableObject } from \"../../../../shared/immutableObject\";\r\n\r\nexport class ProductDataResponse extends ImmutableObject\r\n{\r\n protected readonly ASSORTMENT_IDS = \"assortmentIds\";\r\n protected readonly PRODUCT_IDS = \"productIds\";\r\n protected readonly TAB_IDS = \"tabIds\";\r\n protected readonly PARAMETER_IDS = \"parameterIds\"; \r\n protected readonly ENTITIES = \"entities\";\r\n protected readonly ENTITY_IDS_BY_CLASS_NAME = \"entityIdsByClassName\";\r\n \r\n get entities(): Immutable.Map { return this.getInternalValue>(this.ENTITIES); }\r\n setEntities(entities: Immutable.Map): this { return this.setInternalValue(this.ENTITIES, entities); } \r\n\r\n get entityIdsByClassName(): Immutable.Map> { return this.getInternalValue>>(this.ENTITY_IDS_BY_CLASS_NAME); }\r\n setEntityIdsByClassName(entityIdsByClassName: Immutable.Map>): this { return this.setInternalValue(this.ENTITY_IDS_BY_CLASS_NAME, entityIdsByClassName); } \r\n}","import * as Immutable from \"immutable\"\r\n\r\nimport { BaseEntity } from \"../../baseEntity\"\r\nimport { ParamInfo } from \"./paramInfo\"\r\nimport { ConfInfo } from \"../entities/confInfo\"\r\n\r\nexport class RuleInfo extends BaseEntity {\r\n\r\n protected readonly TITLE = \"title\"; \r\n protected readonly DESCRIPTION = \"description\";\r\n protected readonly RULE_TYPE = \"ruleType\";\r\n protected readonly PARAMETER_INFOS = \"parameterInfos\";\r\n protected readonly CONF_INFO = \"confInfo\";\r\n\r\n get title(): string { return this.getInternalValue(this.TITLE); }\r\n setTitle(title: string): this { return this.setInternalValue(this.TITLE, title); }\r\n\r\n get description(): string { return this.getInternalValue(this.DESCRIPTION); }\r\n setDescription(description: string): this { return this.setInternalValue(this.DESCRIPTION, description); }\r\n \r\n get ruleType(): string { return this.getInternalValue(this.RULE_TYPE); }\r\n setRuleType(ruleType: string): this { return this.setInternalValue(this.RULE_TYPE, ruleType); }\r\n\r\n get parameterInfos(): Immutable.List { return this.getInternalValue>(this.PARAMETER_INFOS); }\r\n setParameterInfos(parameterInfos: Immutable.List): this { return this.setInternalValue(this.PARAMETER_INFOS, parameterInfos); }\r\n\r\n get confInfo(): ConfInfo { return this.getInternalValue(this.CONF_INFO); }\r\n setConfInfo(confInfo: ConfInfo): this { return this.setInternalValue(this.CONF_INFO, confInfo); }\r\n}","import * as Immutable from \"immutable\";\r\n\r\nimport { BaseEntity } from \"../../baseEntity\";\r\nimport { SearchResult } from \"./searchResult\";\r\nimport { ConfigurationSearch } from \"../entities/configurationSearch\";\r\nimport { AbstractSearchDataMessage } from \"./messages/abstractSearchDataMessage\";\r\n\r\nexport class SearchDataResponse extends BaseEntity {\r\n\r\n protected readonly SEARCH_RESULT = \"searchResult\";\r\n protected readonly SAVED_SEARCHES = \"savedSearches\";\r\n protected readonly MESSAGES = \"messages\";\r\n\r\n get searchResult(): SearchResult { return this.getInternalValue(this.SEARCH_RESULT); }\r\n setSearchResult(searchResult: SearchResult): this { return this.setInternalValue(this.SEARCH_RESULT, searchResult); }\r\n\r\n get savedSearches(): Immutable.List { return this.getInternalValue>(this.SAVED_SEARCHES); }\r\n setSavedSearches(savedSearches: Immutable.List): this { return this.setInternalValue(this.SAVED_SEARCHES, savedSearches); }\r\n\r\n get messages(): Immutable.List { return this.getInternalValue>(this.MESSAGES); }\r\n setMessages(messages: Immutable.List): this { return this.setInternalValue(this.MESSAGES, messages); }\r\n}","import * as Immutable from \"immutable\"\r\n\r\nimport { FilterType } from \"../../../../shared/components\";\r\nimport { ImmutableObject } from \"../../../../shared/immutableObject\";\r\n\r\nexport class SearchInfo extends ImmutableObject {\r\n\r\n protected readonly FIELD_ID = \"fieldId\";\r\n protected readonly VALUE1 = \"value1\";\r\n protected readonly VALUE2 = \"value2\";\r\n protected readonly FILTER_TYPE = \"filterType\";\r\n\r\n get fieldId(): number { return this.getInternalValue(this.FIELD_ID); }\r\n setFieldId(fieldId: number): this { return this.setInternalValue(this.FIELD_ID, fieldId); }\r\n\r\n get value1(): string { return this.getInternalValue(this.VALUE1); }\r\n setValue1(value1: string): this { return this.setInternalValue(this.VALUE1, value1); }\r\n\r\n get value2(): string { return this.getInternalValue(this.VALUE2); }\r\n setValue2(value2: string): this { return this.setInternalValue(this.VALUE2, value2); }\r\n\r\n get filterType(): FilterType { return this.getInternalValue(this.FILTER_TYPE); }\r\n setFilterType(filterType: FilterType): this { return this.setInternalValue(this.FILTER_TYPE, filterType); }\r\n}\r\n\r\n","import * as Immutable from \"immutable\";\r\n\r\nimport { BaseEntity } from \"../../baseEntity\";\r\nimport { RecentConf, ConfigurationSearch } from \"..\";\r\nimport { ConfDataResponse } from \"./confDataResponse\";\r\nimport { ConfSearchResultItem } from \"./confSearchResultItem\";\r\nimport { PaginationInfo } from \"./paginationInfo\";\r\nimport { SortingInfo } from \"./sortingInfo\";\r\n\r\nexport enum QuerySourceTypes {\r\n Database = 0,\r\n Unsaved = 1,\r\n Custom = 2\r\n}\r\n\r\nexport class SearchResult extends BaseEntity {\r\n\r\n protected readonly SEARCH_SESSION_ID = \"searchSessionId\";\r\n protected readonly CONF_DATA_RESPONSES = \"confDataResponses\";\r\n protected readonly PAGINATION_INFO = \"paginationInfo\";\r\n protected readonly SORTING_INFO = \"sortingInfo\";\r\n protected readonly CONF_SEARCH_RESULT_ITEMS = \"confSearchResultItems\";\r\n protected readonly QUERY = \"query\";\r\n protected readonly QUERY_SOURCE_TYPE = \"querySourceType\";\r\n\r\n get searchSessionId(): number { return this.getInternalValue(this.SEARCH_SESSION_ID); }\r\n setSearchSessionId(searchSessionId: number): this { return this.setInternalValue(this.SEARCH_SESSION_ID, searchSessionId); }\r\n\r\n get confDataResponses(): Immutable.List { return this.getInternalValue>(this.CONF_DATA_RESPONSES); }\r\n setConfDataResponses(confDataResponses: Immutable.List): this { return this.setInternalValue(this.CONF_DATA_RESPONSES, confDataResponses); }\r\n\r\n get paginationInfo(): PaginationInfo { return this.getInternalValue(this.PAGINATION_INFO); }\r\n setPaginationInfo(paginationInfo: PaginationInfo): this { return this.setInternalValue(this.PAGINATION_INFO, paginationInfo); }\r\n\r\n get sortingInfo(): SortingInfo { return this.getInternalValue(this.SORTING_INFO); }\r\n setSortingInfo(sortingInfo: SortingInfo): this { return this.setInternalValue(this.SORTING_INFO, sortingInfo); }\r\n\r\n get confSearchResultItems(): Immutable.List { return this.getInternalValue>(this.CONF_SEARCH_RESULT_ITEMS); }\r\n setConfSearchResultItems(confSearchResultItems: Immutable.List): this { return this.setInternalValue(this.CONF_SEARCH_RESULT_ITEMS, confSearchResultItems); }\r\n\r\n get query(): ConfigurationSearch { return this.getInternalValue(this.QUERY); }\r\n setQuery(query: ConfigurationSearch): this { return this.setInternalValue(this.QUERY, query); }\r\n\r\n get querySourceType(): QuerySourceTypes { return this.getInternalValue(this.QUERY_SOURCE_TYPE); }\r\n setQuerySourceType(querySourceType: QuerySourceTypes): this { return this.setInternalValue(this.QUERY_SOURCE_TYPE, querySourceType); }\r\n}","import * as Immutable from \"immutable\"\r\n\r\nimport { ImmutableObject } from \"../../../../shared/immutableObject\"\r\n\r\nexport class SortingInfo extends ImmutableObject {\r\n\r\n protected readonly KEY = \"key\";\r\n protected readonly DESCENDING = \"descending\";\r\n\r\n get key(): string { return this.getInternalValue(this.KEY); }\r\n setKey(key: string): this { return this.setInternalValue(this.KEY, key); }\r\n\r\n get descending(): boolean { return this.getInternalValue(this.DESCENDING); }\r\n setDescending(descending: boolean): this { return this.setInternalValue(this.DESCENDING, descending); }\r\n}","export class DecorationUISettings {\r\n minWidth: string = \"350px\";\r\n minHeight: string = \"200px\";\r\n iconSize: string = \"24px\";\r\n attribute: AttributeUISettings[] = [];\r\n bom: BomUISettings = new BomUISettings();\r\n dataSelector: DataSelectorUISettings = new DataSelectorUISettings();\r\n price: PriceUISettings = new PriceUISettings();\r\n header: HeaderUISettings = new HeaderUISettings();\r\n}\r\n\r\nexport class AttributeUISettings {\r\n minWidth: string = \"300px\"; // Decoration min width\r\n maxWidth: string; // Decoration max width\r\n cssStyle: string;\r\n titleSize?: number = 6; \r\n valueSize?: number = 5;\r\n unitSize?: number = 1;\r\n decorationIds: number[]; // Settings for specific decorations \r\n itemVerticalSpacing: \"10px\";\r\n}\r\n\r\nexport class BomUISettings {\r\n minWidth: string = \"700px\";\r\n minDialogWidth: string = \"800px\";\r\n}\r\n\r\nexport class DataSelectorUISettings {\r\n dialogWidth: string = \"800px\";\r\n filterInlineWidth: string = \"150px\";\r\n filterPopoverWidth: string = \"320px\";\r\n}\r\n\r\nexport class PriceUISettings {\r\n minWidth: string = \"350px\";\r\n minHeight: string = \"380px\";\r\n}\r\n\r\nexport class HeaderUISettings {\r\n minWidth: string = \"350px\";\r\n}\r\n\r\nexport class ParameterUISettings {\r\n minWidth: string = \"350px\";\r\n minHeight: string = \"350px\";\r\n helpIconSize: string = \"32px\";\r\n iconSize: string = \"24px\";\r\n lookupValue: LookupValueUISettings = new LookupValueUISettings();\r\n}\r\n\r\nexport class LookupValueUISettings {\r\n width: string = \"50px\";\r\n height: string = \"50px\";\r\n}\r\n\r\nexport class StateUISettings {\r\n minPopupWidth: string = \"750px\";\r\n minPopupHeight: string = \"500px\";\r\n}\r\n\r\nexport class TabUISettings {\r\n minAccordionTabWidth: string = \"450px\"; \r\n collapseAccordionAtWindowWidth: string = \"\";\r\n minSeparatedTabWidth: string = \"400px\";\r\n minTopSeparatedTabHeight: string = \"150px\";\r\n minBottomSeparatedTabHeight: string = \"120px\";\r\n keepAccordionTabsOpen: boolean = false;\r\n}\r\n\r\nexport class ConfiguratorUISettings {\r\n decoration: DecorationUISettings = new DecorationUISettings();\r\n parameter: ParameterUISettings = new ParameterUISettings();\r\n state: StateUISettings = new StateUISettings();\r\n tab: TabUISettings = new TabUISettings();\r\n}\r\n\r\nexport class AccountUISettings {\r\n logoType: 'png' | 'svg'; \r\n imageSet: string; // white, primary\r\n maxWidth: string;\r\n}\r\n\r\nexport class AppHeaderUISettings {\r\n logoType: 'png' | 'svg'; \r\n imageSet: string; // white\r\n maxWidth: string; \r\n logoTypeSecondLogo: 'png' | 'svg';\r\n imageSetSecondLogo: string; // white\r\n maxWidthSecondLogo: string; \r\n showSecondLogo: boolean = false; \r\n}\r\n\r\nexport class SearchUISettings {\r\n columnSizes: number[] = [];\r\n}\r\n\r\nexport class DatepickerUISettings {\r\n showWeekNumbers: boolean = false;\r\n firstDayOfWeek: string = \"mo\";\r\n}\r\n\r\nexport class UISettings {\r\n account: AccountUISettings = new AccountUISettings();\r\n configurator: ConfiguratorUISettings = new ConfiguratorUISettings();\r\n appHeader: AppHeaderUISettings = new AppHeaderUISettings();\r\n search: SearchUISettings = new SearchUISettings();\r\n datepicker: DatepickerUISettings = new DatepickerUISettings();\r\n}","import { UISettings } from \"./uiSettings\";\r\nimport { ImmutableObject } from \"../../../../shared\";\r\n\r\nexport class UISettingsResponse extends ImmutableObject {\r\n\r\n protected readonly SETTINGS = \"settings\";\r\n\r\n get settings(): UISettings { return this.getInternalValue(this.SETTINGS); }\r\n setSettings(settings: UISettings): this { return this.setInternalValue(this.SETTINGS, settings); }\r\n}","import { ImmutableObject } from \"../../../../shared/immutableObject\"\r\n\r\nexport class UserSettings extends ImmutableObject {\r\n\r\n protected readonly HIGHLIGHT_MANDATORY_PARAMETERS = \"highlightMandatoryParameters\";\r\n protected readonly COMPOSITE_CONTROL_STICKY = \"compositeControlSticky\";\r\n protected readonly IS_CONF_EMAIL_MANDATORY = \"isConfEmailMandatory\";\r\n\r\n get highlightMandatoryParameters(): boolean { return this.getInternalValue(this.HIGHLIGHT_MANDATORY_PARAMETERS); }\r\n setHighlightMandatoryParameters(highlightMandatoryParameters: boolean): this { return this.setInternalValue(this.HIGHLIGHT_MANDATORY_PARAMETERS, highlightMandatoryParameters); }\r\n\r\n get compositeControlSticky(): boolean { return this.getInternalValue(this.COMPOSITE_CONTROL_STICKY); }\r\n setCompositeControlSticky(compositeControlSticky: boolean): this { return this.setInternalValue(this.COMPOSITE_CONTROL_STICKY, compositeControlSticky); }\r\n\r\n get isConfEmailMandatory(): boolean { return this.getInternalValue(this.IS_CONF_EMAIL_MANDATORY); }\r\n setIsConfEmailMandatory(isConfEmailMandatory: boolean): this { return this.setInternalValue(this.IS_CONF_EMAIL_MANDATORY, isConfEmailMandatory); }\r\n}","import { ImmutableObject } from \"../../../../shared/immutableObject\"\r\n\r\nimport { ConfResponseFormat } from \"../requests/confResponseFormat\";\r\n\r\nexport class WebSettings extends ImmutableObject {\r\n\r\n protected readonly BASE_URL = \"baseUrl\";\r\n protected readonly VAULT_URL = \"vaultUrl\";\r\n protected readonly IS_VAULT_DIRECTORY_REMOTE = \"isVaultDirectoryRemote\";\r\n protected readonly DATABASE_CONNECTION_INFO = \"databaseConnectionInfo\";\r\n protected readonly EDITORS_CONF_RESPONSE_FORMAT = \"editorConfResponseFormat\";\r\n protected readonly SUMMARY_CONF_RESPONSE_FORMAT = \"summaryConfResponseFormat\";\r\n protected readonly SEARCH_CONF_RESPONSE_FORMAT = \"searchConfResponseFormat\";\r\n protected readonly START_CONF_RESPONSE_FORMAT = \"startConfResponseFormat\";\r\n protected readonly START_PARTIAL_CONF_RESPONSE_FORMAT = \"startPartialConfResponseFormat\";\r\n\r\n get baseUrl(): string { return this.getInternalValue(this.BASE_URL); }\r\n setBaseUrl(baseUrl: string): this { return this.setInternalValue(this.BASE_URL, baseUrl); }\r\n\r\n get vaultUrl(): string { return this.getInternalValue(this.VAULT_URL); }\r\n setVaultUrl(vaultUrl: string): this { return this.setInternalValue(this.VAULT_URL, vaultUrl); }\r\n\r\n get isVaultDirectoryRemote(): boolean { return this.getInternalValue(this.IS_VAULT_DIRECTORY_REMOTE); }\r\n setIsVaultDirectoryRemote(isVaultDirectoryRemote: boolean): this { return this.setInternalValue(this.IS_VAULT_DIRECTORY_REMOTE, isVaultDirectoryRemote); }\r\n\r\n get databaseConnectionInfo(): string { return this.getInternalValue(this.DATABASE_CONNECTION_INFO); }\r\n setDatabaseConnectionInfo(databaseConnectionInfo: string): this { return this.setInternalValue(this.DATABASE_CONNECTION_INFO, databaseConnectionInfo); }\r\n\r\n get editorConfResponseFormat(): ConfResponseFormat { return this.getInternalValue(this.EDITORS_CONF_RESPONSE_FORMAT); }\r\n setEditorConfResponseFormat(editorConfResponseFormat: ConfResponseFormat): this { return this.setInternalValue(this.EDITORS_CONF_RESPONSE_FORMAT, editorConfResponseFormat); }\r\n\r\n get summaryConfResponseFormat(): ConfResponseFormat { return this.getInternalValue(this.SUMMARY_CONF_RESPONSE_FORMAT); }\r\n setSummaryConfResponseFormat(summaryConfResponseFormat: ConfResponseFormat): this { return this.setInternalValue(this.SUMMARY_CONF_RESPONSE_FORMAT, summaryConfResponseFormat); }\r\n\r\n get searchConfResponseFormat(): ConfResponseFormat { return this.getInternalValue(this.SEARCH_CONF_RESPONSE_FORMAT); }\r\n setSearchConfResponseFormat(searchConfResponseFormat: ConfResponseFormat): this { return this.setInternalValue(this.SEARCH_CONF_RESPONSE_FORMAT, searchConfResponseFormat); }\r\n\r\n get startConfResponseFormat(): ConfResponseFormat { return this.getInternalValue(this.START_CONF_RESPONSE_FORMAT); }\r\n setStartConfResponseFormat(startConfResponseFormat: ConfResponseFormat): this { return this.setInternalValue(this.START_CONF_RESPONSE_FORMAT, startConfResponseFormat); }\r\n\r\n get startPartialConfResponseFormat(): ConfResponseFormat { return this.getInternalValue(this.START_PARTIAL_CONF_RESPONSE_FORMAT); }\r\n setStartPartialConfResponseFormat(startPartialConfResponseFormat: ConfResponseFormat): this { return this.setInternalValue(this.START_PARTIAL_CONF_RESPONSE_FORMAT, startPartialConfResponseFormat); }\r\n}","import { ImmutableObject } from \"../../../../shared/immutableObject\";\r\nimport { WebSettings } from \"./webSettings\"\r\n\r\nexport class WebSettingsResponse extends ImmutableObject {\r\n\r\n protected readonly SETTINGS = \"settings\";\r\n \r\n get settings(): WebSettings { return this.getInternalValue(this.SETTINGS); }\r\n setSettings(settings: WebSettings): this { return this.setInternalValue(this.SETTINGS, settings); } \r\n}","import { BaseComponent } from \"./baseComponent\";\r\nimport { HttpLifeCycleService, IHttpDataInfo, HttpStatus } from \"./providers\";\r\nimport { GlobalServiceLocator } from \"../../shared/providers/globalServiceLocator\";\r\nimport { EmitterService } from \"../configurator/shared\";\r\nimport { PopupIdentifiers } from \"../configurator/providers\";\r\nimport { Component } from \"@angular/core\";\r\n\r\n@Component({ template: '' })\r\nexport abstract class PageComponent extends BaseComponent {\r\n\r\n\r\n private _httpLifeCycleService: HttpLifeCycleService;\r\n public get httpLifeCycleService() {\r\n if (!this._httpLifeCycleService)\r\n this._httpLifeCycleService = GlobalServiceLocator.injector.get(HttpLifeCycleService);\r\n return this._httpLifeCycleService;\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.httpLifeCycleService.getMessage().subscribe((http: IHttpDataInfo) => {\r\n\r\n this.onHttpLifeCycleUpdate(http);\r\n\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n super.ngOnInit();\r\n }\r\n\r\n onHttpLifeCycleUpdate(http: IHttpDataInfo) {\r\n\r\n //prevents blocking the ui when progress bar is shown. TODO: implement on component level\r\n if (!http.request.reportProgress) {\r\n switch (http.status) {\r\n\r\n case HttpStatus.Started:\r\n\r\n break;\r\n\r\n case HttpStatus.WaitingState:\r\n this.blockUI();\r\n break;\r\n\r\n case HttpStatus.Completed:\r\n this.unblockUI();\r\n break;\r\n }\r\n }\r\n\r\n }\r\n\r\n onBeforeUnload($event, isReload?: boolean) {}\r\n\r\n ngOnDestroy() {\r\n this.unblockUI();\r\n super.ngOnDestroy();\r\n }\r\n\r\n}","import { Injectable } from \"@angular/core\";\r\n\r\n@Injectable()\r\nexport class BroadcastChannelService {\r\n\r\n public constructor() { }\r\n\r\n /**\r\n * Making sure that the tab only has one instance of the Broadcast Channel.\r\n * Otherwise the other Broadcast Channel instances within the same tab will get the message aswell.\r\n * In short, a tab can have multiple Broadcast Channels with the same name.\r\n * If one of them sends a message, that message will get to all of the Broadcast Channels in the tab.\r\n * Except the one that sent the message.\r\n */\r\n private _broadcastChannel: BroadcastChannel;\r\n public get broadcastChannel() {\r\n if (!this._broadcastChannel)\r\n this._broadcastChannel = new BroadcastChannel(\"combinum-app\");\r\n\r\n return this._broadcastChannel;\r\n }\r\n\r\n public send(type: BroadcastChannelMessageType, payload?: any) {\r\n let message = {\r\n type: type,\r\n payload: payload\r\n };\r\n\r\n this.broadcastChannel.postMessage(message);\r\n }\r\n}\r\n\r\nexport enum BroadcastChannelMessageType {\r\n UserLoginToken = \"user-login-token\",\r\n UserLoginTokenRequest = \"user-login-token-request\",\r\n ReloadCache = \"reload-cache\",\r\n LogOutUser = \"log-out-user\"\r\n}","import { Injectable, Inject } from '@angular/core';\r\n\r\nimport { AppStore, AccountDataActions, AppAsyncAction, HttpAction, ActionStatus, AppAction, RequestStatus } from \"../../state\";\r\nimport { AccountDataController } from \"./accountDataController\";\r\nimport { AccountDataRequest, ApiResponse, AccountDataResponse } from \"../../models\";\r\nimport { BaseActionCreator } from '../../baseActionCreator';\r\n\r\n@Injectable()\r\nexport class AccountDataActionCreator extends BaseActionCreator {\r\n\r\n constructor(\r\n @Inject(AppStore) protected appStore: AppStore,\r\n @Inject(AccountDataController) protected accountDataController: AccountDataController\r\n ) {\r\n super(accountDataController);\r\n }\r\n\r\n\r\n dispatchFetchEntities = (requestModel: AccountDataRequest) => this.appStore.dispatch(this.fetchEntities(requestModel)) as HttpAction;\r\n fetchEntities(requestModel: AccountDataRequest): HttpAction {\r\n\r\n return this.createHttpAction(\r\n\r\n AccountDataActions.ACCOUNT_FETCH_ENTITIES,\r\n\r\n (dispatch, state, callback) => {\r\n return this.accountDataController.getAccountData(requestModel).subscribe((accountDataResult) => {\r\n\r\n dispatch({ type: AccountDataActions.ACCOUNT_ENTITIES_LOADED, payload: accountDataResult });\r\n\r\n callback(new ActionStatus(true, accountDataResult));\r\n })\r\n }\r\n );\r\n }\r\n\r\n dispatchUserLogin = (accountRequest: AccountDataRequest) => this.appStore.dispatch(this.userLogin(accountRequest)) as HttpAction;\r\n userLogin(accountRequest: AccountDataRequest): HttpAction {\r\n return this.createHttpAction(\r\n\r\n AccountDataActions.USER_LOGGING_IN,\r\n\r\n (dispatch, state, callback) => {\r\n\r\n return this.accountDataController.login(accountRequest).subscribe((accountResponse) => {\r\n\r\n dispatch({ type: AccountDataActions.USER_LOGIN_RESULT, payload: accountResponse });\r\n\r\n // Update complete request status\r\n callback(new ActionStatus(true, accountResponse));\r\n })\r\n\r\n });\r\n }\r\n\r\n dispatchUserLogout = (accountRequest: AccountDataRequest) => this.appStore.dispatch(this.userLogout(accountRequest)) as HttpAction;\r\n userLogout(accountRequest: AccountDataRequest): HttpAction {\r\n return this.createHttpAction(\r\n\r\n AccountDataActions.USER_LOGGING_OUT,\r\n\r\n (dispatch, state, callback) => {\r\n\r\n return this.accountDataController.logout(accountRequest).subscribe((accountResponse) => {\r\n\r\n dispatch({ type: AccountDataActions.USER_LOGOUT_RESULT, payload: accountResponse });\r\n\r\n // Update complete request status\r\n callback(new ActionStatus(true, accountResponse));\r\n })\r\n\r\n });\r\n }\r\n\r\n dispatchAccountVerifyRequest = (accountRequest: AccountDataRequest, actionName: string, resultActionName: string) => this.appStore.dispatch(this.accountVerifyRequest(accountRequest, actionName, resultActionName)) as HttpAction;\r\n accountVerifyRequest(accountRequest: AccountDataRequest, actionName: string, resultActionName: string): HttpAction {\r\n return this.createHttpAction(\r\n\r\n actionName,\r\n\r\n (dispatch, state, callback) => {\r\n\r\n return this.accountDataController.postAccountRequest(accountRequest).subscribe((accountResponse) => {\r\n\r\n dispatch({ type: resultActionName, payload: accountResponse });\r\n\r\n // Update complete request status\r\n callback(new ActionStatus(true, accountResponse));\r\n })\r\n\r\n });\r\n }\r\n\r\n dispatchCreateAccount = (accountRequest: AccountDataRequest) => this.appStore.dispatch(this.createAccount(accountRequest)) as HttpAction;\r\n createAccount(accountRequest: AccountDataRequest): HttpAction {\r\n return this.createHttpAction(\r\n\r\n AccountDataActions.ACCOUNT_CREATE_ACCOUNT_REQUEST,\r\n\r\n (dispatch, state, callback) => {\r\n\r\n return this.accountDataController.postAccountRequest(accountRequest).subscribe((accountResponse) => {\r\n\r\n dispatch({ type: AccountDataActions.ACCOUNT_CREATE_ACCOUNT_REQUEST_RESULT, payload: accountResponse });\r\n\r\n // Update complete request status\r\n callback(new ActionStatus(true, accountResponse));\r\n })\r\n\r\n });\r\n }\r\n\r\n dispatchVerifyCode = (accountRequest: AccountDataRequest) => this.appStore.dispatch(this.verifyCode(accountRequest)) as HttpAction;\r\n verifyCode(accountRequest: AccountDataRequest): HttpAction {\r\n return this.createHttpAction(\r\n\r\n AccountDataActions.ACCOUNT_VERIFY_CODE,\r\n\r\n (dispatch, state, callback) => {\r\n\r\n return this.accountDataController.verifyCode(accountRequest).subscribe((accountResponse) => {\r\n\r\n dispatch({ type: AccountDataActions.ACCOUNT_VERIFY_CODE_RESULT, payload: accountResponse });\r\n\r\n // Update complete request status\r\n callback(new ActionStatus(true, accountResponse));\r\n })\r\n\r\n });\r\n }\r\n\r\n\r\n\r\n dispatchRequestLoggedInUser = () => this.appStore.dispatch(this.requestLoggedInUser()) as HttpAction;\r\n requestLoggedInUser(): HttpAction {\r\n return this.createHttpAction(\r\n\r\n AccountDataActions.REQUEST_LOGGED_IN_USER,\r\n\r\n (dispatch, state, callback) => {\r\n\r\n return this.accountDataController.getLoggedInUser().subscribe((apiResponse) => {\r\n\r\n dispatch({ type: AccountDataActions.LOGGED_IN_USER_LOADED, payload: apiResponse });\r\n\r\n // Update complete request status\r\n callback(new ActionStatus(true, apiResponse));\r\n },\r\n (error) => {\r\n callback(new ActionStatus(true, error, RequestStatus.ERROR));\r\n });\r\n });\r\n }\r\n\r\n dispatchChangeUserPassword = (accountRequest: AccountDataRequest) => this.appStore.dispatch(this.changeUserPassword(accountRequest)) as HttpAction;\r\n changeUserPassword(accountRequest: AccountDataRequest): HttpAction {\r\n return this.createHttpAction(\r\n\r\n AccountDataActions.USER_CHANGE_PASSWORD,\r\n\r\n (dispatch, state, callback) => {\r\n\r\n return this.accountDataController.changePassword(accountRequest).subscribe((accountResponse) => {\r\n\r\n dispatch({ type: AccountDataActions.USER_CHANGE_PASSWORD_RESULT, payload: accountResponse });\r\n\r\n // Update complete request status\r\n callback(new ActionStatus(true, accountResponse));\r\n })\r\n });\r\n }\r\n\r\n dispatchUpdateProfile = (accountRequest: AccountDataRequest) => this.appStore.dispatch(this.updateProfile(accountRequest)) as HttpAction;\r\n updateProfile(accountRequest: AccountDataRequest): HttpAction {\r\n return this.createHttpAction(\r\n\r\n AccountDataActions.USER_UPDATE_PROFILE,\r\n\r\n (dispatch, state, callback) => {\r\n\r\n return this.accountDataController.postAccountData(accountRequest).subscribe((accountResponse) => {\r\n\r\n dispatch({ type: AccountDataActions.USER_UPDATE_PROFILE_RESULT, payload: accountResponse });\r\n\r\n // Update complete request status\r\n callback(new ActionStatus(true, accountResponse));\r\n })\r\n });\r\n }\r\n\r\n dispatchUpdateUserSettings = (accountRequest: AccountDataRequest) => this.appStore.dispatch(this.updateUserSettings(accountRequest)) as HttpAction;\r\n updateUserSettings(accountRequest: AccountDataRequest): HttpAction {\r\n return this.createHttpAction(\r\n\r\n AccountDataActions.USER_UPDATE_SETTINGS,\r\n\r\n (dispatch, state, callback) => {\r\n\r\n return this.accountDataController.postAccountData(accountRequest).subscribe((accountResponse) => {\r\n\r\n dispatch({ type: AccountDataActions.USER_UPDATE_SETTINGS_RESULT, payload: accountResponse });\r\n\r\n // Update complete request status\r\n callback(new ActionStatus(true, accountResponse));\r\n })\r\n });\r\n }\r\n\r\n public createHttpAction(actionType: any, executeAsync: any, payload: T = null): HttpAction {\r\n\r\n let httpAction: HttpAction = {\r\n type: actionType,\r\n executeAsync: executeAsync,\r\n payload: payload\r\n }\r\n\r\n return httpAction;\r\n }\r\n}","import { Injectable, Inject } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { HttpService } from \"../../../../shared/providers\"\r\nimport { AccountDataRequest, ApiResponse } from \"../../models\";\r\nimport { ApiResponseBuilder } from \"../apiResponseBuilder\";\r\nimport { BaseController } from '../baseController';\r\n\r\n@Injectable()\r\nexport class AccountDataController extends BaseController {\r\n\r\n public url = 'api/account'; \r\n public loginUrl = 'api/account/login';\r\n public logoutUrl = 'api/account/logout';\r\n public loggedInUserUrl = 'api/account/loggedinuser';\r\n public hasLoggedInUserUrl = 'api/account/hasLoggedInUser';\r\n public passwordChangeUrl = 'api/account/passwordchange';\r\n public passwordRecoverUrl = 'api/account/passwordrecover';\r\n public webSessionTokenUrl = 'api/account/webSessionToken';\r\n public verifyAccountUrl = 'api/account/verifyrequest';\r\n public verifyCodeUrl = 'api/account/verify';\r\n public createAccountUrl = 'api/account/createaccount';\r\n \r\n constructor(\r\n @Inject(HttpService) public httpService: HttpService,\r\n public apiResponseBuilder: ApiResponseBuilder,\r\n )\r\n {\r\n super(httpService, apiResponseBuilder);\r\n }\r\n\r\n public normalizeData = map((response, index) => this.apiResponseBuilder.build(response));\r\n\r\n protected get(url: string, accountRequest: AccountDataRequest): Observable {\r\n return this.httpService.get(url, accountRequest).pipe(this.normalizeData);\r\n }\r\n\r\n protected post(url: string, accountRequest: AccountDataRequest): Observable {\r\n return this.httpService.post(url, accountRequest).pipe(this.normalizeData);\r\n }\r\n\r\n public getAccountData(accountRequest: AccountDataRequest) {\r\n return this.get(this.url, accountRequest);\r\n }\r\n\r\n public postAccountData(accountRequest: AccountDataRequest) {\r\n return this.post(this.url, accountRequest);\r\n }\r\n\r\n public changePassword(accountRequest: AccountDataRequest) {\r\n return this.post(this.passwordChangeUrl, accountRequest);\r\n }\r\n\r\n public login(accountRequest: AccountDataRequest): Observable {\r\n return this.post(this.loginUrl, accountRequest);\r\n }\r\n\r\n public hasLoggedInUser(): Observable {\r\n return this.httpService.get(this.hasLoggedInUserUrl); \r\n }\r\n\r\n public getLoggedInUser(): Observable {\r\n return this.get(this.loggedInUserUrl, null);\r\n }\r\n\r\n public logout(accountRequest: AccountDataRequest): Observable { \r\n return this.get(this.logoutUrl, accountRequest);\r\n }\r\n\r\n public passwordRecover(accountRequest: AccountDataRequest): Observable {\r\n return this.post(this.passwordRecoverUrl, accountRequest);\r\n }\r\n\r\n public verifyCode(accountRequest: AccountDataRequest): Observable {\r\n return this.post(this.passwordRecoverUrl, accountRequest);\r\n }\r\n\r\n public postAccountRequest(accountRequest: AccountDataRequest): Observable {\r\n\r\n if (accountRequest.verify)\r\n return this.post(this.verifyAccountUrl, accountRequest);\r\n\r\n else if (accountRequest.create)\r\n return this.post(this.createAccountUrl, accountRequest);\r\n\r\n }\r\n\r\n public getControllerUrl(): string {\r\n return this.url;\r\n }\r\n\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\n\r\nimport { ReselectorService } from \"../reselectorService\";\r\nimport { AbstractAccountMessage } from \"../../models/responses/messages\";\r\n\r\n@Injectable()\r\nexport class AccountDataMemorizer {\r\n\r\n constructor(public reselectorService: ReselectorService) {\r\n }\r\n\r\n public getMessagesMemorizer(className: string): () => Immutable.List {\r\n\r\n return this.reselectorService.createMemorizer((state) => {\r\n\r\n let messages = state.accountData.messages;\r\n if (messages && messages.size > 0)\r\n return messages.get(className) as Immutable.List;\r\n\r\n return null;\r\n });\r\n }\r\n}","import { Injectable, Inject } from '@angular/core';\r\nimport * as Immutable from \"immutable\";\r\n\r\nimport { AbstractAccountMessage } from \"../../models/responses/messages\";\r\nimport { AccountDataMemorizer } from \"./accountDataMemorizer\";\r\nimport { ManagedSubscription, SubscriptionOptions } from \"../../../../shared/managedSubscription\";\r\nimport { ManagedSubject } from \"../../../../shared/managedSubject\";\r\nimport { AppStoreSubscriptionManager } from \"../appStoreSubscriptionManager\";\r\n\r\n@Injectable()\r\nexport class AccountDataMessageProvider {\r\n\r\n constructor(\r\n public appStoreSubscriptionManager: AppStoreSubscriptionManager,\r\n @Inject(AccountDataMemorizer) public accountMemorizer: AccountDataMemorizer\r\n ) {\r\n }\r\n\r\n public onMessages(messageClassName: string, subscriptionOptions: SubscriptionOptions>): ManagedSubscription {\r\n return this.createStoreSubscription>(messageClassName, this.accountMemorizer.getMessagesMemorizer(messageClassName), subscriptionOptions);\r\n }\r\n\r\n public createStoreSubscription(identifier: string, memorizer: () => T, subscriptionOptions: SubscriptionOptions): ManagedSubscription {\r\n\r\n let managedSubject: ManagedSubject = this.appStoreSubscriptionManager.getOrCreateStoreSubject(identifier, memorizer, false, 1, false);\r\n return managedSubject.subscribe(subscriptionOptions);\r\n }\r\n\r\n}","import { Inject, Injectable } from \"@angular/core\"\r\nimport { normalize } from \"normalizr\";\r\nimport * as Immutable from \"immutable\";\r\n\r\nimport { User } from \"../../models\"\r\nimport { BaseEntity } from \"../../baseEntity\";\r\nimport { Ioc, Register } from \"../../../../shared/ioc/iocdecorator\"\r\nimport { AccountDataResponse, AbstractAccountMessage } from \"../../models/responses\"\r\nimport { AccountDataSchema } from \"./accountDataSchema\";\r\nimport { ModelFactory } from \"../modelFactory\";\r\nimport { NormalizerService } from \"../../../../shared/providers/normalizer\"\r\n\r\n@Injectable()\r\nexport class AccountDataNormalizer {\r\n\r\n constructor(\r\n @Inject(ModelFactory) public modelFactory: ModelFactory,\r\n @Inject(AccountDataSchema) public accountSchema: AccountDataSchema,\r\n @Inject(NormalizerService) public normalizerService: NormalizerService\r\n ) { }\r\n\r\n normalizeJson(json: any): AccountDataResponse {\r\n\r\n let accountResponse = new AccountDataResponse();\r\n \r\n if (json.user) {\r\n let normalizeOutput = this.normalizerService.normalizeJson(json.user, this.accountSchema.getSchema(User.name), (className, data) => this.modelFactory.createEntity(className, data));\r\n let userId = normalizeOutput.resultIds[0];\r\n accountResponse = accountResponse.setUser(normalizeOutput.entities.get(userId) as User);\r\n }\r\n\r\n accountResponse = accountResponse.setShowRecaptcha(json.showRecaptcha); \r\n\r\n let entities = Immutable.Map();\r\n let entityIdsByClassName = Immutable.Map>();\r\n if (json.entitiesByClassName) {\r\n\r\n for (let key in json.entitiesByClassName) {\r\n\r\n let classEntities = json.entitiesByClassName[key];\r\n\r\n let normalizeOutput = this.normalizerService.normalizeJson(classEntities, this.accountSchema.getSchemaArray(key), (className, data) => this.modelFactory.createEntity(className, data));\r\n\r\n entityIdsByClassName = entityIdsByClassName.set(key, Immutable.List(normalizeOutput.resultIds));\r\n entities = this.mergeEntities(entities, normalizeOutput.entities);\r\n\r\n }\r\n }\r\n\r\n accountResponse = accountResponse.setEntityIdsByClassName(entityIdsByClassName);\r\n accountResponse = accountResponse.setEntities(entities);\r\n\r\n if (json.messages && json.messages.length > 0) {\r\n accountResponse = accountResponse.setMessages(this.modelFactory.createArray(json.messages));\r\n }\r\n\r\n return accountResponse;\r\n } \r\n\r\n mergeEntities(existingEntities: Immutable.Map, newEntities: Map) {\r\n newEntities.forEach((newEntity: BaseEntity, key: number) => {\r\n existingEntities = existingEntities.set(key, newEntity);\r\n });\r\n\r\n return existingEntities;\r\n }\r\n}","import { Injectable } from \"@angular/core\"\r\nimport { Schema, schema } from 'normalizr';\r\n\r\n@Injectable()\r\nexport class AccountDataSchema {\r\n\r\n protected allSchema = new Map();\r\n\r\n public getSchema(className: string): any {\r\n\r\n if (!this.allSchema.has(className))\r\n this.allSchema.set(className, new schema.Entity(className, {}, { idAttribute: 'longId' }));\r\n\r\n return this.allSchema.get(className);\r\n }\r\n\r\n public setSchema(className: string, schema: Schema) {\r\n this.allSchema.set(className, schema);\r\n }\r\n\r\n public getSchemaArray(className: string): schema.Array {\r\n\r\n let classSchema = this.getSchema(className);\r\n if (classSchema instanceof schema.Array)\r\n return classSchema;\r\n\r\n return new schema.Array(this.getSchema(className));\r\n }\r\n}","import { Injectable, Inject } from '@angular/core';\r\nimport * as Immutable from \"immutable\";\r\n\r\nimport { AppStore, StoreResponse, AccountDataState, BaseStore, AccountDataActions } from \"../../state\";\r\nimport {\r\n User, AccountDataRequest, LoginCommand, LogoutCommand, Customer, CustomerSite, CustomerContact,\r\n CurrentUserCommand, PasswordChangeCommand, AccountEntitiesCommand, WorkGroup, PasswordRecoverCommand, AccountVerificationCommand, SignUpCommand, KeyValue, ApiResponse\r\n} from \"../../models\";\r\nimport { AccountDataActionCreator } from \"./accountDataActionCreator\";\r\nimport { AppStoreSubscriptionManager } from \"../appStoreSubscriptionManager\";\r\nimport { ManagedSubject } from \"../../../../shared/managedSubject\";\r\nimport { ModelFactory } from \"../modelFactory\";\r\nimport { BaseEntity } from \"../../baseEntity\";\r\nimport { ValueSubscriptionManager } from \"../valueSubscriptionManager\";\r\nimport { LoginUserType } from '../../models/requests/commands/loginUserType';\r\nimport { SignalRService } from '../pushMessage/signalRService';\r\nimport { AccountDataController } from './accountDataController';\r\nimport { GlobalDataStore } from '../globalData';\r\nimport { Observable } from 'rxjs';\r\nimport { AuthenticationTokenTypes } from '../authenticationTokenTypes';\r\nimport { SessionStorageService } from '../sessionStorageService';\r\nimport { BroadcastChannelService, BroadcastChannelMessageType } from '../BroadcastChannelService';\r\n@Injectable()\r\nexport class AccountDataStore extends BaseStore {\r\n\r\n constructor(@Inject(AppStore) protected appStore: AppStore,\r\n protected accountDataController: AccountDataController,\r\n protected accountDataActionCreator: AccountDataActionCreator,\r\n protected appStoreSubscriptionManager: AppStoreSubscriptionManager,\r\n @Inject(ModelFactory) protected modelFactory: ModelFactory,\r\n protected sessionStorageService: SessionStorageService,\r\n protected valueSubscriptionManager: ValueSubscriptionManager,\r\n protected globalDataStore: GlobalDataStore,\r\n @Inject(SignalRService) public signalRService: SignalRService,\r\n @Inject(BroadcastChannelService) public broadcastChannelService: BroadcastChannelService,\r\n ) {\r\n super(appStore, appStoreSubscriptionManager, modelFactory, accountDataActionCreator);\r\n }\r\n\r\n protected getAccountData(): AccountDataState {\r\n return this.appStore.getState().accountData;\r\n }\r\n\r\n public createAccountRequest(rawObject?: Partial): AccountDataRequest {\r\n return this.modelFactory.createRequestOrCommand(AccountDataRequest.name, rawObject);\r\n }\r\n\r\n public getUser(): User {\r\n return this.getAccountData().user;\r\n }\r\n\r\n public showRecaptcha(): boolean {\r\n return this.getAccountData().showRecaptcha;\r\n }\r\n\r\n public isAccountData(className: string) {\r\n let classArray = [WorkGroup.name, User.name, Customer.name, CustomerSite.name, CustomerContact.name];\r\n return classArray.indexOf(className) > -1;\r\n }\r\n\r\n public getEntity(id: number) {\r\n return this.getAccountData().entities.get(+id) as T;\r\n }\r\n\r\n public getEntities(className: string, forceReload?: boolean): ManagedSubject>> {\r\n let response = new StoreResponse>();\r\n\r\n if (!forceReload && this.getAccountData().entityIdsByClassName && this.getAccountData().entityIdsByClassName.has(className)) {\r\n response.data = this.getEntitiesByClassNameInternal(className);\r\n return this.valueSubscriptionManager.createSubject(response, true);\r\n }\r\n\r\n let model = this.createAccountRequest();\r\n model.entities = this.modelFactory.createRequestOrCommand(AccountEntitiesCommand.name, { classNames: [className] });\r\n let action = this.accountDataActionCreator.dispatchFetchEntities(model);\r\n\r\n // Subscribe to store and return the results on request complete.\r\n return this.createAction(action, () => {\r\n response.data = this.getEntitiesByClassNameInternal(className);\r\n return response;\r\n });\r\n }\r\n\r\n protected getEntitiesByClassNameInternal(className: string) {\r\n\r\n let ids = this.getAccountData().entityIdsByClassName.get(className);\r\n let orderedMap = Immutable.OrderedMap();\r\n\r\n // ids can be null, return empty array if no data found.\r\n if (!ids)\r\n return orderedMap;\r\n \r\n ids.forEach((value, key) => {\r\n orderedMap = orderedMap.set(value, this.getAccountData().entities.get(value) as T);\r\n })\r\n\r\n return orderedMap;\r\n }\r\n\r\n public isUserLoggedIn() {\r\n let isLoggedIn = this.hasUserSession() && this.getAccountData().user && this.getAccountData().user.username == this.sessionStorageService.getData().username;\r\n\r\n return isLoggedIn;\r\n }\r\n\r\n public hasUserSession() {\r\n let hasSession = !!this.getAccessToken();\r\n\r\n return hasSession;\r\n }\r\n\r\n // Starting user session will update session storage data and trigger event listners. NOTE! for already started user session, this will method will have no effect. \r\n public startUserSession() {\r\n // If the same user is already logged then skip updating session storage\r\n if (!this.isUserLoggedIn()) {\r\n this.broadcastChannelService.send(BroadcastChannelMessageType.UserLoginToken, this.getAccessToken());\r\n\r\n let sessionStorageData = this.sessionStorageService.getData();\r\n let username = this.getAccountData()?.user?.username;\r\n if (!username)\r\n return;\r\n\r\n sessionStorageData = sessionStorageData.setUsername(username);\r\n\r\n this.sessionStorageService.setData(sessionStorageData);\r\n } \r\n }\r\n\r\n // User session data will be removed from session storage and trigger event listeners. \r\n public endUserSession() {\r\n this.removeAccessToken();\r\n this.sessionStorageService.setData(null);\r\n this.signalRService.stopConnection();\r\n }\r\n\r\n public logInUser(username: string, password: string, recaptcha = \"\", logOutOtherUsers: boolean = true) {\r\n let model = this.createAccountRequest();\r\n model.login = this.modelFactory.createRequestOrCommand(LoginCommand.name, { username: username, password: password, recaptcha: recaptcha, logOutOtherUsers: logOutOtherUsers });\r\n\r\n this.accountDataActionCreator.dispatchUserLogin(model);\r\n }\r\n\r\n public logInAnonymous(languageTitle: string = null, languageCode: string = null) {\r\n let model = this.createAccountRequest();\r\n model.login = this.modelFactory.createRequestOrCommand(LoginCommand.name, { userType: LoginUserType[LoginUserType.Anonymous], languageTitle: languageTitle, languageCode: languageCode });\r\n\r\n this.accountDataActionCreator.dispatchUserLogin(model);\r\n }\r\n\r\n public logOutUser() {\r\n let model = this.createAccountRequest();\r\n model.logout = this.modelFactory.createRequestOrCommand(LogoutCommand.name);\r\n\r\n this.accountDataActionCreator.dispatchUserLogout(model);\r\n\r\n this.endUserSession();\r\n }\r\n\r\n public initAccountVerifyRequest(userNameOrEmail: string, newAccount: boolean = true): void {\r\n\r\n let model = this.createAccountRequest();\r\n model.verify = this.modelFactory.createRequestOrCommand(AccountVerificationCommand.name, { initRequest: true, newAccountRequest: newAccount, accountRecoverRequest: !newAccount, usernameOrEmail: userNameOrEmail });\r\n\r\n this.accountDataActionCreator.dispatchAccountVerifyRequest(model, AccountDataActions.ACCOUNT_VERIFY_REQEUEST, AccountDataActions.ACCOUNT_VERIFY_REQUEST_RESULT);\r\n\r\n }\r\n\r\n public accountVerifyCode(userNameOrEmail: string, code: string): void {\r\n\r\n let model = this.createAccountRequest();\r\n model.verify = this.modelFactory.createRequestOrCommand(AccountVerificationCommand.name, { verifyRequest: true, usernameOrEmail: userNameOrEmail, code: code });\r\n\r\n this.accountDataActionCreator.dispatchAccountVerifyRequest(model, AccountDataActions.ACCOUNT_VERIFY_CODE, AccountDataActions.ACCOUNT_VERIFY_CODE_RESULT);\r\n\r\n }\r\n\r\n public createAccount(email: string, name: string, username: string, company: string, phone: string, mob: string, password: string): void {\r\n\r\n let model = this.createAccountRequest();\r\n model.create = this.modelFactory.createRequestOrCommand(SignUpCommand.name,\r\n {\r\n username: username,\r\n email: email,\r\n name: name,\r\n company: company,\r\n phoneNumber: phone,\r\n mobileNumber: mob,\r\n password: password\r\n\r\n });\r\n\r\n this.accountDataActionCreator.dispatchCreateAccount(model);\r\n\r\n }\r\n\r\n public recoverPassword(userNameOrEmail: string, newPassword: string): void {\r\n\r\n let model = this.createAccountRequest();\r\n model.passwordRecover = this.modelFactory.createRequestOrCommand(PasswordRecoverCommand.name, { changePasswordRequest: true, username: userNameOrEmail, newPassword: newPassword});\r\n\r\n this.accountDataActionCreator.dispatchVerifyCode(model);\r\n }\r\n\r\n validateSession(userNameOrEmail: string): void {\r\n\r\n let model = this.createAccountRequest();\r\n model.passwordRecover = this.modelFactory.createRequestOrCommand(PasswordRecoverCommand.name, { username: userNameOrEmail, ValidateSessionRequest: true });\r\n\r\n this.accountDataActionCreator.dispatchVerifyCode(model);\r\n\r\n }\r\n \r\n public getLoggedInUser(): ManagedSubject> {\r\n\r\n let action = this.accountDataActionCreator.dispatchRequestLoggedInUser();\r\n\r\n // Create request object\r\n let response: StoreResponse = new StoreResponse();\r\n\r\n // Subscribe to store and return the results on request complete.\r\n return this.createAction(action, () => {\r\n response.data = this.getAccountData().user;\r\n\r\n // If user is available the start browser user session otherwise end it\r\n if (response.data)\r\n this.startUserSession();\r\n else\r\n this.endUserSession();\r\n\r\n return response;\r\n });\r\n }\r\n\r\n public updateProfile(name: string, email: string, company: string, phoneNumber: string, mobileNumber: string, ) {\r\n let model = this.createAccountRequest();\r\n model.currentUser = this.modelFactory.createRequestOrCommand(CurrentUserCommand.name);\r\n model.currentUser.updateUser = [\r\n { key: User.NAME, value: name },\r\n { key: User.EMAIL, value: email },\r\n { key: User.COMPANY, value: company },\r\n { key: User.PHONE_NUMBER, value: phoneNumber },\r\n { key: User.MOBILE_NUMBER, value: mobileNumber }\r\n ];\r\n model.currentUser.get = true;\r\n\r\n this.accountDataActionCreator.dispatchUpdateProfile(model);\r\n }\r\n\r\n public changeUserPassword(username: string, currentPassword: string, newPassword: string) {\r\n let model = this.createAccountRequest();\r\n model.passwordChange = this.modelFactory.createAny(PasswordChangeCommand.name);\r\n model.passwordChange.username = username;\r\n model.passwordChange.currentPassword = currentPassword;\r\n model.passwordChange.newPassword = newPassword;\r\n\r\n this.accountDataActionCreator.dispatchChangeUserPassword(model);\r\n }\r\n\r\n public updateUserSettings(hightlightMandatoryParams: boolean, languageId?: string, defaultPriceListCategoryId?: string) {\r\n let model = this.createAccountRequest();\r\n model.currentUser = this.modelFactory.createRequestOrCommand(CurrentUserCommand.name);\r\n\r\n let userValues: KeyValue[] = [];\r\n if (languageId) {\r\n userValues.push({ key: \"LanguageId\", value: languageId });\r\n }\r\n if (defaultPriceListCategoryId) {\r\n userValues.push({ key: \"DefaultPriceListCategoryId\", value: defaultPriceListCategoryId });\r\n }\r\n model.currentUser.updateUser = userValues;\r\n\r\n model.currentUser.updateSettings = [\r\n { key: \"HighlightMandatoryParameters\", value: \"\" + hightlightMandatoryParams }\r\n ];\r\n model.currentUser.get = true;\r\n\r\n this.accountDataActionCreator.dispatchUpdateUserSettings(model);\r\n }\r\n\r\n public updateCompositeControlSticky(compositeControlSticky: boolean) {\r\n\r\n let model = this.createAccountRequest();\r\n model.currentUser = this.modelFactory.createRequestOrCommand(CurrentUserCommand.name);\r\n\r\n model.currentUser.updateSettings = [\r\n { key: \"CompositeControlSticky\", value: \"\" + compositeControlSticky }\r\n ];\r\n model.currentUser.get = true;\r\n\r\n this.accountDataActionCreator.dispatchUpdateUserSettings(model);\r\n }\r\n\r\n public setAccessToken(token) {\r\n let sessionStorageData = this.sessionStorageService.getData();\r\n\r\n if (sessionStorageData.webSessionToken)\r\n sessionStorageData = sessionStorageData.setWebSessionToken(undefined);\r\n\r\n if (sessionStorageData.accessToken == token)\r\n return;\r\n\r\n sessionStorageData = sessionStorageData.setAccessToken(token);\r\n this.sessionStorageService.setData(sessionStorageData);\r\n }\r\n\r\n public removeAccessToken() {\r\n let sessionStorageData = this.sessionStorageService.getData();\r\n sessionStorageData = sessionStorageData.setAccessToken(undefined);\r\n this.sessionStorageService.setData(sessionStorageData);\r\n }\r\n\r\n public getAccessToken(): string {\r\n let sessionStorageData = this.sessionStorageService.getData();\r\n return sessionStorageData.accessToken;\r\n }\r\n\r\n public setWebSessionToken(token) {\r\n let sessionStorageData = this.sessionStorageService.getData();\r\n if (sessionStorageData.webSessionToken == token)\r\n return;\r\n\r\n sessionStorageData = sessionStorageData.setWebSessionToken(token);\r\n this.sessionStorageService.setData(sessionStorageData);\r\n }\r\n\r\n public removeWebSessionToken() {\r\n let sessionStorageData = this.sessionStorageService.getData();\r\n sessionStorageData = sessionStorageData.setWebSessionToken(undefined);\r\n this.sessionStorageService.setData(sessionStorageData);\r\n }\r\n\r\n public getWebSessionToken(): string {\r\n let sessionStorageData = this.sessionStorageService.getData();\r\n return sessionStorageData.webSessionToken;\r\n }\r\n}","export * from './accountDataSchema';\r\nexport * from './accountDataNormalizer';\r\nexport * from './accountDataController';\r\nexport * from './accountDataActionCreator';\r\nexport * from './accountDataStore';\r\nexport * from './accountDataMemorizer';\r\nexport * from './accountDataMessageProvider';","import { Injectable, Inject } from '@angular/core';\r\nimport * as Immutable from \"immutable\";\r\n\r\nimport { ReselectorService } from \"./reselectorService\";\r\nimport { ApiMessage } from \"../models/responses/messages\";\r\nimport { ManagedSubscription, SubscriptionOptions } from \"../../../shared/managedSubscription\";\r\nimport { ManagedSubject } from \"../../../shared/managedSubject\";\r\nimport { AppStoreSubscriptionManager } from \"./appStoreSubscriptionManager\";\r\n\r\n@Injectable()\r\nexport class ApiMessageProvider {\r\n\r\n constructor(\r\n public appStoreSubscriptionManager: AppStoreSubscriptionManager,\r\n public reselectorService: ReselectorService) {\r\n }\r\n\r\n public onMessages(messageClassName: string, subscriptionOptions: SubscriptionOptions>): ManagedSubscription {\r\n return this.createStoreSubscription>(messageClassName, this.getMessagesMemorizer(messageClassName), subscriptionOptions);\r\n }\r\n\r\n public createStoreSubscription(identifier: string, memorizer: () => T, subscriptionOptions: SubscriptionOptions): ManagedSubscription {\r\n\r\n let managedSubject: ManagedSubject = this.appStoreSubscriptionManager.getOrCreateStoreSubject(identifier, memorizer, false, 1, false);\r\n return managedSubject.subscribe(subscriptionOptions);\r\n }\r\n\r\n public getMessagesMemorizer(className: string): () => Immutable.List {\r\n\r\n return this.reselectorService.createMemorizer((state) => {\r\n\r\n let messages = state.messages;\r\n if (messages && messages.size > 0)\r\n return messages.get(className) as Immutable.List;\r\n\r\n return null;\r\n });\r\n } \r\n}","import { Injectable } from \"@angular/core\";\r\n\r\nimport { GlobalDataNormalizer } from \"./globalData/globalDataNormalizer\";\r\nimport { AccountDataNormalizer } from \"./accountData/accountDataNormalizer\";\r\nimport { ProductDataNormalizer } from \"./productData/productDataNormalizer\";\r\nimport { SearchDataNormalizer } from \"./searchData/searchDataNormalizer\";\r\nimport { ConfDataNormalizer } from \"./configurationData/confDataNormalizer\";\r\nimport { ModelFactory } from \"./modelFactory\";\r\nimport {\r\n ApiResponse, ConfDataResponse, ProductDataResponse, GlobalDataResponse,\r\n SearchDataResponse, AccountDataResponse, WebSettingsResponse, ApiException, ApiMessage, UISettings, UISettingsResponse, ServerPushMessage\r\n} from \"../models\";\r\nimport { PushMessageNormalizer } from \"./pushMessage/pushMessageNormalizer\";\r\n\r\n@Injectable()\r\nexport class ApiResponseBuilder {\r\n\r\n constructor(public globalDataNormalizer: GlobalDataNormalizer,\r\n public accountNormalizer: AccountDataNormalizer,\r\n public productDataNormalizer: ProductDataNormalizer,\r\n public searchDataNormalizer: SearchDataNormalizer,\r\n public confDataNormalizer: ConfDataNormalizer,\r\n public pushMessageNormalizer: PushMessageNormalizer,\r\n public modelFactory: ModelFactory) {\r\n }\r\n\r\n build(rawObject: any) {\r\n\r\n let apiResponse = this.modelFactory.createAny(ApiResponse.name);\r\n\r\n if (rawObject.data && rawObject.data.className) {\r\n\r\n let dataClassName = rawObject.data.className;\r\n if (dataClassName == ConfDataResponse.name)\r\n apiResponse = apiResponse.setData(this.confDataNormalizer.normalizeJson(rawObject.data));\r\n else if (dataClassName == ProductDataResponse.name)\r\n apiResponse = apiResponse.setData(this.productDataNormalizer.normalizeJson(rawObject.data));\r\n else if (dataClassName == SearchDataResponse.name)\r\n apiResponse = apiResponse.setData(this.searchDataNormalizer.normalizeJson(rawObject.data));\r\n else if (dataClassName == AccountDataResponse.name)\r\n apiResponse = apiResponse.setData(this.accountNormalizer.normalizeJson(rawObject.data));\r\n else if (dataClassName == GlobalDataResponse.name)\r\n apiResponse = apiResponse.setData(this.globalDataNormalizer.normalizeJson(rawObject.data));\r\n else if (dataClassName == WebSettingsResponse.name)\r\n apiResponse = apiResponse.setData(this.modelFactory.createAny(WebSettingsResponse.name, rawObject.data));\r\n else if (dataClassName == ServerPushMessage.name)\r\n apiResponse = apiResponse.setData(this.pushMessageNormalizer.normalizeJson(rawObject.data));\r\n else if (dataClassName == UISettingsResponse.name) {\r\n let uiSettingsJson = JSON.parse(rawObject.data.settings);\r\n\r\n let classNameResolver = (currentObj: any, key: string): string => {\r\n\r\n if (!currentObj)\r\n return;\r\n\r\n if (currentObj.className)\r\n return currentObj.className;\r\n\r\n let className = key;\r\n\r\n if (className.length > 0) {\r\n\r\n if (className.charAt(0) == className.charAt(0).toUpperCase())\r\n throw `Class name '${className}' should be in camel case`;\r\n\r\n className = className.charAt(0).toUpperCase() + className.slice(1) + 'UISettings'; // Change first letter to uppercase.\r\n }\r\n \r\n return className;\r\n }\r\n\r\n let uiSettingsModel = this.modelFactory.createAny(UISettings.name, uiSettingsJson, classNameResolver);\r\n rawObject.data.settings = uiSettingsModel;\r\n apiResponse = apiResponse.setData(this.modelFactory.createAny(UISettingsResponse.name, rawObject.data));\r\n }\r\n else\r\n apiResponse = apiResponse.setData(this.modelFactory.createAny(dataClassName, rawObject.data));\r\n\r\n if (rawObject.exceptions) {\r\n apiResponse = apiResponse.setExceptions(this.modelFactory.createArray(rawObject.exceptions));\r\n }\r\n\r\n if (rawObject.messages) {\r\n apiResponse = apiResponse.setMessages(this.modelFactory.createArray(rawObject.messages));\r\n }\r\n }\r\n else {\r\n apiResponse = this.modelFactory.createAny(ApiResponse.name, rawObject);\r\n }\r\n\r\n return apiResponse;\r\n }\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\n\r\nimport { AppStore, AppAction, Actions, HttpAction, ActionStatus } from \"../state\";\r\nimport { HttpService } from \"../../../shared/providers\";\r\nimport { AppController } from \"./appController\";\r\nimport { BaseActionCreator } from \"../baseActionCreator\";\r\n\r\n@Injectable()\r\nexport class AppActionCreator extends BaseActionCreator {\r\n\r\n constructor(\r\n public appStore: AppStore,\r\n public appController: AppController\r\n ) {\r\n super(appController);\r\n }\r\n\r\n dispatchClearClientCache = () => this.appStore.dispatch(this.clearClientCache()) as AppAction;\r\n clearClientCache(): AppAction {\r\n\r\n return {\r\n type: Actions.CLEAR_CLIENT_CACHE\r\n }\r\n }\r\n\r\n dispatchReloadCaches = (userDataOnly = false) => this.appStore.dispatch(this.reloadCaches(userDataOnly)) as HttpAction;\r\n reloadCaches(userDataOnly): HttpAction {\r\n\r\n return {\r\n type: Actions.RELOAD_CACHES,\r\n executeAsync: (dispatch, state, callback) => {\r\n return this.appController.reloadCaches(userDataOnly).subscribe((apiResponse) => {\r\n\r\n dispatch({ type: Actions.RELOAD_CACHES_COMPLETED, payload: apiResponse });\r\n callback(new ActionStatus(true, apiResponse));\r\n });\r\n }\r\n }\r\n }\r\n\r\n}","import { Injectable, Inject } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { HttpService } from \"../../../shared/providers\"\r\nimport { ApiResponse } from \"../models\";\r\nimport { ApiResponseBuilder } from \"./apiResponseBuilder\";\r\nimport { BaseController } from './baseController';\r\n\r\n@Injectable()\r\nexport class AppController extends BaseController {\r\n\r\n public reloadCacheUrl = \"api/settings/reloadCaches\";\r\n public reloadUserCacheUrl = \"api/settings/reloadUserCaches\";\r\n \r\n constructor(\r\n public httpService: HttpService,\r\n public apiResponseBuilder: ApiResponseBuilder,\r\n ) {\r\n super(httpService, apiResponseBuilder);\r\n }\r\n\r\n public normalizeData = map((response, index) => this.apiResponseBuilder.build(response));\r\n\r\n reloadCaches(userDataOnly: boolean = false) {\r\n let url = this.reloadCacheUrl;\r\n if (userDataOnly)\r\n url = this.reloadUserCacheUrl;\r\n\r\n return this.getData(url, null);\r\n }\r\n\r\n public getData(url: string, params: any): Observable {\r\n return this.httpService.get(url, params).pipe(this.normalizeData);\r\n }\r\n\r\n public postData(url: string, params: any): Observable {\r\n return this.httpService.post(url, params).pipe(this.normalizeData);\r\n }\r\n\r\n public getControllerUrl(): string {\r\n return \"api/settings\";\r\n }\r\n\r\n}","import { Injectable, Inject, forwardRef, Host } from \"@angular/core\";\r\nimport { Unsubscribe } from \"redux\";\r\nimport { Subscription } from \"rxjs\";\r\n\r\nimport { AppStore } from \"../state/appStore\";\r\nimport { ManagedSubject } from \"../../../shared/managedSubject\";\r\nimport { GlobalLogger } from \"../../../shared/providers\";\r\n\r\n@Injectable()\r\nexport class AppStoreSubscriptionManager {\r\n\r\n public storeSubjectByKey: Map> = new Map>();\r\n\r\n public appStoreUnsubscribe: Subscription;\r\n\r\n public appStoreCycleId: number = 0;\r\n\r\n public keyPrefix: string = \"internal_key_\";\r\n public keyCounter: number = 1;\r\n\r\n constructor(\r\n @Inject(AppStore) public appStore: AppStore,\r\n @Inject(GlobalLogger) public globalLogger: GlobalLogger) {\r\n this.appStoreUnsubscribe = appStore.subscribe(() => this.onAppStoreChange()); \r\n }\r\n\r\n createSubject(observable: (appStore: AppStore) => T, oneTime = false, buffer = 1, completeOnZeroObserver = true): ManagedSubject {\r\n let key = this.createNewKey();\r\n return this.createStoreSubjectByKey(key, observable, oneTime, buffer, completeOnZeroObserver);\r\n }\r\n\r\n createStoreSubjectByKey(key: any, observable: (appStore: AppStore) => T, oneTime = false, buffer = 1, completeOnZeroObserver = true): ManagedSubject {\r\n\r\n let managedSubject = this.createSubjectInternal(observable, oneTime, buffer, completeOnZeroObserver);\r\n this.storeSubjectByKey.set(key, managedSubject);\r\n return managedSubject;\r\n }\r\n\r\n getOrCreateStoreSubject(key: any, observable: (appStore: AppStore) => T, oneTime = false, buffer = 1, completeOnZeroObserver = true) {\r\n if (this.hasStoreSubject(key))\r\n return this.getStoreSubject(key);\r\n\r\n return this.createStoreSubjectByKey(key, observable, oneTime, buffer, completeOnZeroObserver); \r\n }\r\n \r\n public getStoreSubject(key: any): ManagedSubject {\r\n return this.storeSubjectByKey.get(key);\r\n }\r\n\r\n hasStoreSubject(key: any): boolean {\r\n return this.storeSubjectByKey.has(key) && !this.storeSubjectByKey.get(key).isComplete;\r\n }\r\n\r\n public createSubjectInternal(observable: (appStore: AppStore) => T, oneTime = false, buffer = 1, completeOnZeroObserver = true, executeObserverOnSubscribe = true): ManagedSubject {\r\n\r\n // Inject AppStore intho observer function\r\n let appStoreObservable = () => observable(this.appStore);\r\n return new ManagedSubject(appStoreObservable, oneTime, buffer, completeOnZeroObserver);\r\n }\r\n\r\n public createNewKey() {\r\n return `${this.keyPrefix}${this.keyCounter++}`;\r\n }\r\n\r\n // Called when AppStore has changed\r\n public onAppStoreChange() {\r\n\r\n let cycleId = ++this.appStoreCycleId;\r\n\r\n // Remove completed subjects\r\n for (let key of Array.from(this.storeSubjectByKey.keys())) {\r\n\r\n // If new app store change cycle has started then terminate old change cycles\r\n if (this.appStoreCycleId > cycleId) {\r\n return;\r\n }\r\n\r\n let managedSubject = this.storeSubjectByKey.get(key);\r\n\r\n if (managedSubject.isComplete)\r\n this.storeSubjectByKey.delete(key);\r\n else\r\n managedSubject.triggerNext();\r\n }\r\n }\r\n\r\n dispose() {\r\n\r\n this.appStoreUnsubscribe.unsubscribe();\r\n\r\n this.storeSubjectByKey.forEach((subject, key) => subject.complete());\r\n this.storeSubjectByKey.clear();\r\n }\r\n}","import { Inject, Injectable } from '@angular/core';\r\nimport { RouterModule, DefaultUrlSerializer, UrlTree, UrlSerializer, Router } from '@angular/router';\r\n\r\nimport { AccountDataStore } from \"./accountData/accountDataStore\";\r\nimport { GlobalDataStore } from \"./globalData/globalDataStore\";\r\nimport { ValueSubscriptionManager } from \"./valueSubscriptionManager\";\r\nimport { ManagedSubject } from \"../../../shared/managedSubject\";\r\nimport { ManagedSubscription, SubscriptionOptions } from \"../../../shared/managedSubscription\";\r\nimport { AppActionCreator } from \"./appActionCreator\";\r\nimport { User, SystemInformation } from \"../models\";\r\nimport { StartupArguments } from \"./startupArguments\";\r\nimport { searchUrlQueryParam } from '../../../shared/utils/routeParamsUtils';\r\nimport { AuthenticationTokenTypes } from './authenticationTokenTypes';\r\nimport { BroadcastChannelService, BroadcastChannelMessageType } from './BroadcastChannelService';\r\n\r\n@Injectable()\r\nexport class ApplicationLifeCycleService {\r\n\r\n protected userUpdateSubject: ManagedSubject;\r\n protected reloadCacheSubject: ManagedSubject;\r\n\r\n constructor(\r\n @Inject(GlobalDataStore) public globalDataStore: GlobalDataStore,\r\n @Inject(AccountDataStore) public accountStore: AccountDataStore,\r\n @Inject(ValueSubscriptionManager) public valueSubscriptionManager: ValueSubscriptionManager,\r\n @Inject(AppActionCreator) public appActionCreator: AppActionCreator,\r\n @Inject(BroadcastChannelService) public broadcastChannelService: BroadcastChannelService,\r\n public startupArguments: StartupArguments\r\n )\r\n {\r\n this.userUpdateSubject = this.valueSubscriptionManager.createSubject(null, false, 1, false);\r\n this.reloadCacheSubject = this.valueSubscriptionManager.createSubject(null, false, 1, false);\r\n }\r\n\r\n beforeApplicationInitialize() {\r\n\r\n let managedSubject = this.valueSubscriptionManager.createSubject(ManagedSubject.IGNORE_VALUE, true);\r\n \r\n this.syncToken().subscribe(result => {\r\n\r\n this.fetchGlobalDataWithUser(this.startupArguments.locale).toPromise().then(() => managedSubject.nextValue(true), () => managedSubject.nextValue(true));\r\n \r\n });\r\n\r\n return managedSubject;\r\n }\r\n\r\n syncToken() {\r\n\r\n let managedSubject = this.valueSubscriptionManager.createSubject(ManagedSubject.IGNORE_VALUE, true);\r\n let gotAnswered = false;\r\n\r\n // If the response contains the access token, add it to SessionStorage.\r\n // Otherwise, check if SessionStorage has a token stored.\r\n // If not, then ask the other tabs for a token.\r\n // And if that gives no response, that means there is no active session. So continue without a token.\r\n let accessToken = searchUrlQueryParam(AuthenticationTokenTypes.AccessToken);\r\n if (accessToken) {\r\n this.accountStore.setAccessToken(accessToken);\r\n this.accountStore.removeWebSessionToken();\r\n\r\n managedSubject.nextValue(true);\r\n }\r\n else if (!this.accountStore.getAccessToken()) {\r\n // Listens for event only once. When triggered, it's removed.\r\n this.broadcastChannelService.broadcastChannel.addEventListener(\"message\", (messageEvent: MessageEvent) => {\r\n\r\n gotAnswered = true;\r\n\r\n if (messageEvent.data.type == BroadcastChannelMessageType.UserLoginToken) {\r\n this.accountStore.setAccessToken(messageEvent.data.payload);\r\n managedSubject.nextValue(true);\r\n }\r\n else {\r\n managedSubject.nextValue(false);\r\n }\r\n }, { once: true });\r\n this.broadcastChannelService.send(BroadcastChannelMessageType.UserLoginTokenRequest);\r\n\r\n setTimeout(() => {\r\n\r\n if (gotAnswered)\r\n return;\r\n\r\n managedSubject.nextValue(false);\r\n\r\n }, 100);\r\n }\r\n else\r\n managedSubject.nextValue(false);\r\n\r\n return managedSubject;\r\n }\r\n\r\n onUserUpdated(subscriptionOptions: SubscriptionOptions) {\r\n return this.userUpdateSubject.subscribe(subscriptionOptions);\r\n }\r\n\r\n reloadUserAndAppData(callback?: (user: User) => void) {\r\n \r\n this.appActionCreator.dispatchClearClientCache();\r\n this.fetchGlobalDataWithUser().subscribe(result => {\r\n\r\n if (result) {\r\n\r\n let user = this.accountStore.getUser();\r\n\r\n if (callback) callback(user);\r\n this.userUpdateSubject.nextValue(user);\r\n }\r\n });\r\n }\r\n \r\n reloadAppData(callback?: () => void) {\r\n\r\n this.appActionCreator.dispatchClearClientCache();\r\n this.fetchGlobalData().subscribe(result => {\r\n\r\n if (result) {\r\n\r\n let user = this.accountStore.getUser();\r\n\r\n if (callback) callback();\r\n this.userUpdateSubject.nextValue(user);\r\n }\r\n });\r\n }\r\n\r\n onCacheReloaded(subscriptionOptions: SubscriptionOptions) {\r\n return this.reloadCacheSubject.subscribe(subscriptionOptions);\r\n }\r\n\r\n /**\r\n * Call after reloading of cache. Callback is called after cleanup of client cache\r\n * @param callback\r\n */\r\n cacheReloaded(callback?: Function) {\r\n\r\n this.appActionCreator.dispatchClearClientCache();\r\n this.fetchGlobalData().subscribe(result => {\r\n if (result) {\r\n if (callback) callback();\r\n this.reloadCacheSubject.nextValue(void(0));\r\n }\r\n })\r\n }\r\n\r\n protected fetchGlobalDataWithUser(locale?:string) {\r\n\r\n let managedSubject = this.valueSubscriptionManager.createSubject(ManagedSubject.IGNORE_VALUE, true);\r\n\r\n // Get GlobalData and then fetch User\r\n this.fetchGlobalData(locale).subscribe(result => {\r\n\r\n if (result) {\r\n this.accountStore.getLoggedInUser().toPromise().then(() => managedSubject.nextValue(true), () => managedSubject.nextValue(false))\r\n }\r\n else {\r\n managedSubject.nextValue(false);\r\n }\r\n\r\n });\r\n\r\n return managedSubject;\r\n }\r\n\r\n // Get GlobalData such as Strings, GlobalSettings and WebSettings\r\n protected fetchGlobalData(locale?: string) {\r\n\r\n let allPromise = Promise.all([this.globalDataStore.getLocalizeData(locale, true).toPromise(),\r\n this.globalDataStore.getGlobalSettings(true).toPromise(),\r\n this.globalDataStore.getWebSettings(true).toPromise(),\r\n this.globalDataStore.getUISettings(true).toPromise(),\r\n this.globalDataStore.getEntities(SystemInformation.name, true).toPromise()]);\r\n\r\n let managedSubject = this.valueSubscriptionManager.createSubject(ManagedSubject.IGNORE_VALUE, true);\r\n\r\n allPromise.then(() => managedSubject.nextValue(true), () => managedSubject.nextValue(false));\r\n\r\n return managedSubject;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, RouterStateSnapshot, CanActivate } from '@angular/router';\r\n\r\nimport { RouteRedirector } from \"./routeRedirector\";\r\nimport { AccountDataStore } from \"./accountData/accountDataStore\";\r\n\r\n@Injectable()\r\nexport class AuthGuard implements CanActivate {\r\n\r\n constructor(public routerRedirector: RouteRedirector,\r\n public accountStore: AccountDataStore,\r\n )\r\n {}\r\n\r\n public redirect(state: RouterStateSnapshot) {\r\n // Make sure that user is logged out to prevent bugs when trying to log in.\r\n // Also makes sure that there is an WebSessionToken available.\r\n this.accountStore.logOutUser();\r\n this.routerRedirector.redirectToLogin(state.url);\r\n }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n\r\n if (this.accountStore.isUserLoggedIn())\r\n return true;\r\n \r\n this.redirect(state);\r\n return false;\r\n }\r\n}","export enum AuthenticationTokenTypes {\r\n AccessToken = \"combinum_access_token\", // used as parameter name, reflected in server in TokenManager\r\n WebSessionToken = \"Web-Session-Token\", // used as header name, reflected in server in TokenManager\r\n TokenBySSO = \"token_by_sso\"\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpService } from '../../../shared/providers';\r\nimport { BaseRequest, ApiResponse } from '../models';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { ApiResponseBuilder } from './apiResponseBuilder';\r\n\r\nexport abstract class BaseController {\r\n\r\n constructor(public httpService: HttpService, public apiResponseBuilder: ApiResponseBuilder) {\r\n\r\n }\r\n\r\n public buildResponseObject = map((response, index) => this.apiResponseBuilder.build(response));\r\n\r\n public getGenericDataUrl(model: REQ) {\r\n return this.httpService.createUrl(this.getDefaultRequestUrl(), model);\r\n }\r\n\r\n public getDefaultData(requestModel: REQ): Observable {\r\n return this.httpService.get(this.getGenericDataUrl(requestModel), requestModel).pipe(this.buildResponseObject);\r\n }\r\n\r\n getDefaultRequestUrl(): string {\r\n return this.getControllerUrl() + '/request';\r\n }\r\n\r\n public abstract getControllerUrl(): string;\r\n}","import { Injectable, Inject } from '@angular/core';\r\nimport { AppStore } from \"../../state/appStore\";\r\nimport { ConfDataController } from \"./confDataController\";\r\nimport { ConfDataRequest, ApiResponse} from \"../../models\";\r\nimport { BaseActionCreator } from '../../baseActionCreator';\r\nimport { AppAction } from '../../state/shared/appAction';\r\nimport { ConfDataActions } from '../../state/configurationData/confDataActions';\r\nimport { HttpAction } from '../../state/shared/httpAction';\r\nimport { RequestStatus } from '../../state/shared/requestStatus';\r\nimport { ActionStatus } from '../../state/shared/actionStatus';\r\nimport { Actions } from '../../state/shared/actions';\r\nimport { PushMessageSelection } from '../pushMessage/pushMessageSelection';\r\n\r\n@Injectable()\r\nexport class ConfDataActionCreator extends BaseActionCreator {\r\n\r\n constructor(\r\n @Inject(ConfDataController) public confController: ConfDataController,\r\n @Inject(AppStore) public appStore: AppStore,\r\n ) {\r\n super(confController);\r\n }\r\n\r\n setActiveConfiguration(configurationId: number) {\r\n let appAction: AppAction = {\r\n type: ConfDataActions.ACTIVE_CONFIGURATION,\r\n payload: configurationId,\r\n }\r\n return appAction;\r\n }\r\n\r\n dispatchCreateConfiguration = (requestModel: ConfDataRequest) => this.appStore.dispatch(this.createConfiguration(requestModel)) as HttpAction;\r\n createConfiguration(requestModel: ConfDataRequest): HttpAction {\r\n\r\n return this.createHttpAction(\r\n\r\n ConfDataActions.CREATE_CONFIGURATION,\r\n\r\n (dispatch, state, callback) => {\r\n\r\n this.confController.postConfigurationData(requestModel).subscribe((configurationDataResult) => {\r\n\r\n // Dispatch configuration ready/loaded action.\r\n dispatch(this.configurationLoaded(configurationDataResult));\r\n\r\n callback(new ActionStatus(true, configurationDataResult, RequestStatus.SUCCESS));\r\n })\r\n }\r\n );\r\n }\r\n \r\n dispatchImportIdentitiesHints = (requestModel: ConfDataRequest) => this.appStore.dispatch(this.importIdentitiesHints(requestModel)) as HttpAction;\r\n importIdentitiesHints(requestModel: ConfDataRequest): HttpAction {\r\n\r\n return this.createHttpAction(\r\n\r\n ConfDataActions.IMPORT_IDENTITIES,\r\n\r\n (dispatch, state, callback) => {\r\n\r\n this.confController.postConfigurationData(requestModel).subscribe((response) => {\r\n\r\n dispatch({ type: ConfDataActions.IMPORT_IDENTITIES_RESULT, payload: response });\r\n\r\n callback(new ActionStatus(true, response, RequestStatus.SUCCESS));\r\n })\r\n }\r\n );\r\n }\r\n\r\n dispatchCreateChildConfiguration = (requestModel: ConfDataRequest) => this.appStore.dispatch(this.createChildConfiguration(requestModel)) as HttpAction;\r\n createChildConfiguration(requestModel: ConfDataRequest): HttpAction {\r\n\r\n return this.createHttpAction(\r\n\r\n ConfDataActions.CREATE_CONFIGURATION,\r\n\r\n (dispatch, state, callback) => {\r\n\r\n this.confController.postConfigurationData(requestModel).subscribe((configurationDataResult) => {\r\n\r\n // Dispatch configuration ready/loaded action.\r\n dispatch(this.configurationLoaded(configurationDataResult));\r\n\r\n callback(new ActionStatus(true, configurationDataResult, RequestStatus.SUCCESS));\r\n })\r\n }\r\n );\r\n }\r\n\r\n dispatchCreateDynamicIndexes = (requestModel: ConfDataRequest) => this.appStore.dispatch(this.createDynamicIndexes(requestModel)) as HttpAction;\r\n createDynamicIndexes(requestModel: ConfDataRequest): HttpAction {\r\n\r\n return this.createHttpAction(\r\n\r\n ConfDataActions.CREATE_DYNAMIC_INDEXES,\r\n\r\n (dispatch, state, callback) => {\r\n\r\n this.confController.postConfigurationDataExpectOptionalDownload(requestModel).subscribe((configurationDataResult) => {\r\n\r\n // Dispatch configuration ready/loaded action. \r\n dispatch(this.configurationLoaded(configurationDataResult));\r\n\r\n callback(new ActionStatus(true, configurationDataResult, RequestStatus.SUCCESS));\r\n },\r\n (error) => { callback(new ActionStatus(true, error, RequestStatus.ERROR)); },\r\n () => { callback(new ActionStatus(true, null, RequestStatus.SUCCESS)); }\r\n )\r\n }\r\n );\r\n }\r\n\r\n dispatchJavaScriptAction = (requestModel: ConfDataRequest) => this.appStore.dispatch(this.createJavaScriptAction(requestModel)) as HttpAction;\r\n createJavaScriptAction(requestModel: ConfDataRequest): HttpAction {\r\n\r\n return this.createHttpAction(\r\n\r\n ConfDataActions.JAVASCRIPT_ACTION,\r\n\r\n (dispatch, state, callback) => {\r\n\r\n this.confController.postConfigurationData(requestModel).subscribe((configurationDataResult) => {\r\n\r\n // Dispatch configuration ready/loaded action.\r\n dispatch(this.configurationLoaded(configurationDataResult));\r\n\r\n callback(new ActionStatus(true, configurationDataResult, RequestStatus.SUCCESS));\r\n })\r\n }\r\n );\r\n }\r\n\r\n dispatchChangeConfigurationsOrder = (requestModel: ConfDataRequest) => this.appStore.dispatch(this.reuseConfiguration(requestModel)) as HttpAction;\r\n changeConfigurationsOrder(requestModel: ConfDataRequest): HttpAction {\r\n\r\n return this.createHttpAction(\r\n\r\n ConfDataActions.ORDER_CHANGE_CONFIGURATION,\r\n\r\n (dispatch, state, callback) => {\r\n\r\n this.confController.postConfigurationData(requestModel).subscribe((configurationDataResult) => {\r\n // Dispatch configuration ready/loaded action.\r\n dispatch(this.configurationLoaded(configurationDataResult));\r\n\r\n callback(new ActionStatus(true, configurationDataResult, RequestStatus.SUCCESS));\r\n })\r\n }\r\n );\r\n }\r\n\r\n dispatchReuseConfiguration = (requestModel: ConfDataRequest) => this.appStore.dispatch(this.reuseConfiguration(requestModel)) as HttpAction;\r\n reuseConfiguration(requestModel: ConfDataRequest): HttpAction {\r\n\r\n return this.createHttpAction(\r\n\r\n ConfDataActions.REUSE_CONFIGURATION,\r\n\r\n (dispatch, state, callback) => {\r\n\r\n this.confController.postConfigurationData(requestModel).subscribe((configurationDataResult) => {\r\n // Dispatch configuration ready/loaded action.\r\n dispatch(this.configurationLoaded(configurationDataResult));\r\n\r\n callback(new ActionStatus(true, configurationDataResult, RequestStatus.SUCCESS));\r\n })\r\n }\r\n );\r\n }\r\n\r\n dispatchReviseConfiguration = (requestModel: ConfDataRequest) => this.appStore.dispatch(this.reviseConfiguration(requestModel)) as HttpAction;\r\n reviseConfiguration(requestModel: ConfDataRequest): HttpAction {\r\n\r\n return this.createHttpAction(\r\n\r\n ConfDataActions.REVISE_CONFIGURATION,\r\n\r\n (dispatch, state, callback) => {\r\n\r\n this.confController.postConfigurationData(requestModel).subscribe((configurationDataResult) => {\r\n // Dispatch configuration ready/loaded action.\r\n dispatch(this.configurationLoaded(configurationDataResult));\r\n\r\n callback(new ActionStatus(true, configurationDataResult, RequestStatus.SUCCESS));\r\n })\r\n }\r\n );\r\n }\r\n\r\n dispatchDeleteConfiguration = (requestModel: ConfDataRequest) => this.appStore.dispatch(this.deleteConfiguration(requestModel)) as HttpAction;\r\n deleteConfiguration(requestModel: ConfDataRequest): HttpAction {\r\n return this.createHttpAction(\r\n ConfDataActions.DELETE_CONFIGURATION,\r\n (dispatch, state, callback) => {\r\n\r\n this.confController.postConfigurationData(requestModel).subscribe((apiResponse) => {\r\n\r\n dispatch(this.configurationLoaded(apiResponse));\r\n\r\n callback(new ActionStatus(true, apiResponse, RequestStatus.SUCCESS));\r\n })\r\n }\r\n );\r\n }\r\n\r\n dispatchChangeOwnership = (requestModel: ConfDataRequest) => this.appStore.dispatch(this.changeOwnership(requestModel)) as HttpAction;\r\n changeOwnership(requestModel: ConfDataRequest): HttpAction {\r\n return this.createHttpAction(\r\n ConfDataActions.DELETE_CONFIGURATION,\r\n (dispatch, state, callback) => {\r\n\r\n this.confController.postConfigurationData(requestModel).subscribe((apiResponse) => {\r\n\r\n dispatch(this.configurationLoaded(apiResponse));\r\n\r\n callback(new ActionStatus(true, apiResponse, RequestStatus.SUCCESS));\r\n })\r\n }\r\n );\r\n }\r\n\r\n dispatchRemoveConfiguratorSessions = (confSessionIds: number[]) => this.appStore.dispatch(this.removeConfiguratorSessions(confSessionIds)) as AppAction;\r\n removeConfiguratorSessions(confSessionIds: number[]): AppAction {\r\n return {\r\n type: Actions.REMOVE_CONFIGURATOR_SESSIONS,\r\n payload: confSessionIds\r\n };\r\n }\r\n\r\n dispatchCloseConfSession = (requestModel: ConfDataRequest) => this.appStore.dispatch(this.closeConfSession(requestModel)) as HttpAction;\r\n closeConfSession(requestModel: ConfDataRequest): HttpAction {\r\n\r\n return this.createHttpAction(\r\n\r\n ConfDataActions.CLOSE_CONFIGURATOR_SESSION,\r\n\r\n (dispatch, state, callback) => {\r\n\r\n this.confController.postConfigurationData(requestModel).subscribe((configurationDataResult) => {\r\n\r\n // Dispatch remove configuration sessions from client side.\r\n dispatch(this.configurationLoaded(configurationDataResult));\r\n dispatch(this.removeConfiguratorSessions([requestModel.confSessionId]));\r\n\r\n callback(new ActionStatus(true, configurationDataResult, RequestStatus.SUCCESS));\r\n })\r\n }\r\n );\r\n }\r\n\r\n dispatchMarkConfSessionForClosing = (requestModel: ConfDataRequest) => this.appStore.dispatch(this.markConfSessionForClosing(requestModel)) as HttpAction;\r\n markConfSessionForClosing(requestModel: ConfDataRequest): HttpAction {\r\n\r\n return this.createHttpAction(\r\n\r\n ConfDataActions.MARK_CONFIGURATOR_SESSION_FOR_CLOSING,\r\n\r\n (dispatch, state, callback) => {\r\n\r\n this.confController.postConfigurationData(requestModel).subscribe((configurationDataResult) => {\r\n \r\n dispatch(this.configurationLoaded(configurationDataResult));\r\n \r\n callback(new ActionStatus(true, configurationDataResult, RequestStatus.SUCCESS));\r\n })\r\n }\r\n );\r\n }\r\n\r\n dispatchCopyConfiguration = (requestModel: ConfDataRequest) => this.appStore.dispatch(this.copyConfiguration(requestModel)) as HttpAction;\r\n copyConfiguration(requestModel: ConfDataRequest): HttpAction {\r\n\r\n return this.createHttpAction(\r\n\r\n ConfDataActions.COPY_CONFIGURATION,\r\n\r\n (dispatch, state, callback) => {\r\n\r\n this.confController.postConfigurationData(requestModel).subscribe((configurationDataResult) => {\r\n\r\n // Dispatch configuration.\r\n dispatch(this.configurationLoaded(configurationDataResult));\r\n\r\n callback(new ActionStatus(true, configurationDataResult, RequestStatus.SUCCESS));\r\n })\r\n }\r\n );\r\n }\r\n\r\n dispatchRequestCopyDestinations = (requestModel: ConfDataRequest) => this.appStore.dispatch(this.requestCopyDestinations(requestModel)) as HttpAction;\r\n requestCopyDestinations(requestModel: ConfDataRequest): HttpAction {\r\n\r\n return this.createHttpAction(\r\n\r\n ConfDataActions.GET_COPY_CONFIGURATION_DESTINATIONS,\r\n\r\n (dispatch, state, callback) => {\r\n\r\n this.confController.postConfigurationData(requestModel).subscribe((configurationDataResult) => {\r\n\r\n // Dispatch configuration.\r\n dispatch(this.configurationLoaded(configurationDataResult));\r\n\r\n callback(new ActionStatus(true, configurationDataResult, RequestStatus.SUCCESS));\r\n })\r\n }\r\n );\r\n }\r\n\r\n dispatchGetConfiguration = (requestModel: ConfDataRequest, storeSync: boolean = true) => this.appStore.dispatch(this.getConfiguration(requestModel, storeSync)) as HttpAction;\r\n getConfiguration(requestModel: ConfDataRequest, storeSync: boolean = true): HttpAction {\r\n\r\n return this.createHttpAction(\r\n\r\n ConfDataActions.GET_CONFIGURATION,\r\n\r\n (dispatch, state, callback) => {\r\n this.confController.postConfigurationData(requestModel).subscribe((configurationDataResult) => {\r\n\r\n if (storeSync)\r\n dispatch(this.configurationLoaded(configurationDataResult));\r\n\r\n // Succeeded\r\n callback(new ActionStatus(true, configurationDataResult, RequestStatus.SUCCESS));\r\n\r\n })\r\n }\r\n );\r\n }\r\n\r\n dispatchEditConfiguration = (requestModel: ConfDataRequest) => this.appStore.dispatch(this.editConfiguration(requestModel)) as HttpAction;\r\n editConfiguration(requestModel: ConfDataRequest): HttpAction {\r\n\r\n return this.createHttpAction(\r\n\r\n ConfDataActions.EDIT_CONFIGURATION,\r\n\r\n (dispatch, state, callback) => {\r\n this.confController.postConfigurationData(requestModel).subscribe((configurationDataResult) => {\r\n\r\n dispatch(this.configurationLoaded(configurationDataResult));\r\n\r\n // Succeeded\r\n callback(new ActionStatus(true, configurationDataResult, RequestStatus.SUCCESS));\r\n })\r\n }\r\n );\r\n }\r\n\r\n dispatchContact = (requestModel: ConfDataRequest) => this.appStore.dispatch(this.saveConfiguration(requestModel)) as HttpAction;\r\n contact(requestModel: ConfDataRequest): HttpAction {\r\n\r\n return this.createHttpAction(\r\n ConfDataActions.CONTACT,\r\n (dispatch, state, callback) => {\r\n return this.confController.postConfigurationData(requestModel).subscribe((configurationDataResult) => {\r\n dispatch(this.configurationLoaded(configurationDataResult));\r\n\r\n // Succeeded\r\n callback(new ActionStatus(true, configurationDataResult, RequestStatus.SUCCESS));\r\n })\r\n }\r\n );\r\n }\r\n\r\n dispatchSaveConfiguration = (requestModel: ConfDataRequest) => this.appStore.dispatch(this.saveConfiguration(requestModel)) as HttpAction;\r\n saveConfiguration(requestModel: ConfDataRequest): HttpAction {\r\n\r\n return this.createHttpAction(\r\n ConfDataActions.SAVE_CONFIGURATION,\r\n (dispatch, state, callback) => {\r\n return this.confController.postConfigurationData(requestModel).subscribe((configurationDataResult) => {\r\n dispatch(this.configurationLoaded(configurationDataResult));\r\n\r\n // Succeeded\r\n callback(new ActionStatus(true, configurationDataResult, RequestStatus.SUCCESS));\r\n })\r\n }\r\n );\r\n }\r\n\r\n dispatchConfigurationLoaded = (apiResponse: ApiResponse) => this.appStore.dispatch(this.configurationLoaded(apiResponse)) as AppAction;\r\n configurationLoaded(apiResponse: ApiResponse): AppAction {\r\n return {\r\n type: Actions.CONFIGURATION_LOADED,\r\n payload: apiResponse\r\n };\r\n }\r\n\r\n dispatchSetConfigurationPrimitiveValue = (requestModel: ConfDataRequest) => this.appStore.dispatch(this.setConfigurationPrimitiveValue(requestModel)) as HttpAction;\r\n public setConfigurationPrimitiveValue(requestModel: ConfDataRequest): HttpAction {\r\n\r\n return this.createHttpAction(\r\n ConfDataActions.SET_CONFIGURATION_VALUE,\r\n\r\n (dispatch, state, callback) => {\r\n return this.confController.postConfigurationData(requestModel).subscribe((configurationDataResult) => {\r\n dispatch(this.configurationLoaded(configurationDataResult));\r\n\r\n // Notify result complete.\r\n callback(new ActionStatus(true, configurationDataResult, RequestStatus.SUCCESS));\r\n })\r\n }\r\n );\r\n }\r\n\r\n dispatchSetConfigurationStringValue = (requestModel: ConfDataRequest) => this.appStore.dispatch(this.setConfigurationStringValue(requestModel)) as HttpAction;\r\n public setConfigurationStringValue(requestModel: ConfDataRequest): HttpAction {\r\n\r\n return this.createHttpAction(\r\n ConfDataActions.SET_CONFIGURATION_VALUE,\r\n\r\n (dispatch, state, callback) => {\r\n return this.confController.postConfigurationData(requestModel).subscribe((configurationDataResult) => {\r\n dispatch(this.configurationLoaded(configurationDataResult));\r\n\r\n // Notify result complete.\r\n callback(new ActionStatus(true, configurationDataResult, RequestStatus.SUCCESS));\r\n })\r\n }\r\n );\r\n }\r\n\r\n dispatchSetConfigurationMultiSetValue = (requestModel: ConfDataRequest) => this.appStore.dispatch(this.setConfigurationMultiSetValue(requestModel)) as HttpAction;\r\n public setConfigurationMultiSetValue(requestModel: ConfDataRequest): HttpAction {\r\n\r\n return this.createHttpAction(\r\n ConfDataActions.SET_CONFIGURATION_VALUE,\r\n\r\n (dispatch, state, callback) => {\r\n return this.confController.postConfigurationData(requestModel).subscribe((configurationDataResult) => {\r\n dispatch(this.configurationLoaded(configurationDataResult));\r\n\r\n // Notify result complete.\r\n callback(new ActionStatus(true, configurationDataResult, RequestStatus.SUCCESS));\r\n })\r\n }\r\n );\r\n }\r\n\r\n dispatchSetConfigurationPropertyValue = (requestModel: ConfDataRequest) => this.appStore.dispatch(this.setConfigurationPropertyValue(requestModel)) as HttpAction;\r\n public setConfigurationPropertyValue(requestModel: ConfDataRequest) {\r\n\r\n return this.createHttpAction(\r\n ConfDataActions.SET_CONFIGURATION_PROPERTY_VALUE,\r\n\r\n (dispatch, state, callback) => {\r\n return this.confController.postConfigurationData(requestModel).subscribe((configurationDataResult) => {\r\n dispatch(this.configurationLoaded(configurationDataResult))\r\n\r\n // Notify result complete.\r\n callback(new ActionStatus(true, configurationDataResult, RequestStatus.SUCCESS));\r\n })\r\n }\r\n );\r\n }\r\n\r\n dispatchGetReadOnlyInfo = (requestModel: ConfDataRequest) => this.appStore.dispatch(this.getReadOnlyInfo(requestModel)) as HttpAction;\r\n public getReadOnlyInfo(requestModel: ConfDataRequest) {\r\n\r\n return this.createHttpAction(\r\n ConfDataActions.GET_READ_ONLY_INFO,\r\n\r\n (dispatch, state, callback) => {\r\n return this.confController.postConfigurationData(requestModel).subscribe((configurationDataResult) => {\r\n dispatch(this.configurationLoaded(configurationDataResult))\r\n\r\n // Notify result complete.\r\n callback(new ActionStatus(true, configurationDataResult, RequestStatus.SUCCESS));\r\n })\r\n }\r\n );\r\n }\r\n\r\n dispatchGetMandatoryInfo = (requestModel: ConfDataRequest) => this.appStore.dispatch(this.getMandatoryInfo(requestModel)) as HttpAction;\r\n public getMandatoryInfo(requestModel: ConfDataRequest) {\r\n return this.createHttpAction(\r\n ConfDataActions.GET_MANDATORY_INFO,\r\n\r\n (dispatch, state, callback) => {\r\n return this.confController.postConfigurationData(requestModel).subscribe((configurationDataResult) => {\r\n dispatch(this.configurationLoaded(configurationDataResult))\r\n\r\n // Notify result complete.\r\n callback(new ActionStatus(true, configurationDataResult, RequestStatus.SUCCESS));\r\n })\r\n }\r\n );\r\n }\r\n\r\n dispatchGetCodeFile = (requestModel: ConfDataRequest) => this.appStore.dispatch(this.getCodeFile(requestModel)) as HttpAction;\r\n public getCodeFile(requestModel: ConfDataRequest): HttpAction {\r\n\r\n return this.createHttpAction(\r\n ConfDataActions.GET_CODE_FILE,\r\n\r\n (dispatch, state, callback) => {\r\n return this.confController.postConfigurationData(requestModel).subscribe((configurationDataResult) => {\r\n dispatch(this.configurationLoaded(configurationDataResult))\r\n\r\n // Notify result complete.\r\n callback(new ActionStatus(true, configurationDataResult, RequestStatus.SUCCESS));\r\n })\r\n }\r\n );\r\n }\r\n\r\n dispatchGetPriceReport = (requestModel: ConfDataRequest) => this.appStore.dispatch(this.getPriceReport(requestModel)) as HttpAction;\r\n public getPriceReport(requestModel: ConfDataRequest): HttpAction {\r\n\r\n return this.createHttpAction(\r\n ConfDataActions.GET_PRICE_REPORT,\r\n\r\n (dispatch, state, callback) => {\r\n return this.confController.postConfigurationData(requestModel).subscribe((configurationDataResult) => {\r\n dispatch(this.configurationLoaded(configurationDataResult))\r\n\r\n // Notify result complete.\r\n callback(new ActionStatus(true, configurationDataResult, RequestStatus.SUCCESS));\r\n })\r\n }\r\n );\r\n }\r\n\r\n dispatchGetPriceSetting = (requestModel: ConfDataRequest) => this.appStore.dispatch(this.getPriceSetting(requestModel)) as HttpAction;\r\n public getPriceSetting(requestModel: ConfDataRequest): HttpAction {\r\n\r\n return this.createHttpAction(\r\n ConfDataActions.GET_PRICE_SETTING,\r\n\r\n (dispatch, state, callback) => {\r\n return this.confController.postConfigurationData(requestModel).subscribe((configurationDataResult) => {\r\n dispatch(this.configurationLoaded(configurationDataResult))\r\n\r\n // Notify result complete.\r\n callback(new ActionStatus(true, configurationDataResult, RequestStatus.SUCCESS));\r\n })\r\n }\r\n );\r\n }\r\n\r\n dispatchSetPriceSetting = (requestModel: ConfDataRequest) => this.appStore.dispatch(this.setPriceSetting(requestModel)) as HttpAction;\r\n public setPriceSetting(requestModel: ConfDataRequest): HttpAction {\r\n\r\n return this.createHttpAction(\r\n ConfDataActions.SET_PRICE_SETTING,\r\n\r\n (dispatch, state, callback) => {\r\n return this.confController.postConfigurationData(requestModel).subscribe((configurationDataResult) => {\r\n dispatch(this.configurationLoaded(configurationDataResult))\r\n\r\n // Notify result complete.\r\n callback(new ActionStatus(true, configurationDataResult, RequestStatus.SUCCESS));\r\n })\r\n }\r\n );\r\n }\r\n\r\n dispatchValueChanged = (pushMessageSelection: PushMessageSelection) => this.appStore.dispatch(this.valueChanged(pushMessageSelection)) as AppAction;\r\n valueChanged(pushMessageSelection): AppAction {\r\n return {\r\n type: Actions.FORM_SELECTION,\r\n payload: pushMessageSelection\r\n };\r\n }\r\n\r\n public createHttpAction(actionType: any, executeAsync: any, payload?: T): HttpAction {\r\n\r\n let httpAction: HttpAction = {\r\n type: actionType,\r\n executeAsync: executeAsync,\r\n payload: payload\r\n }\r\n\r\n return httpAction;\r\n }\r\n\r\n dispatchConfData(response: ApiResponse): any {\r\n\r\n let action = this.createHttpAction(Actions.CONFIGURATION_LOADED, null, response);\r\n this.appStore.dispatch(action);\r\n }\r\n\r\n}","import { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpService } from \"../../../../shared/providers\";\r\nimport { ConfAttachmentRequest, ConfDocumentRequest } from \"../../models\";\r\nimport { ConfCodeRequest } from \"../../models/requests/confCodeRequest\";\r\nimport { ConfDataRequest } from \"../../models/requests/confDataRequest\";\r\nimport { ConfGraphicsRequest } from \"../../models/requests/confGraphicsRequest\";\r\nimport { ConfReportRequest } from \"../../models/requests/confReportRequest\";\r\nimport { ApiResponse } from \"../../models/responses\";\r\nimport { ApiResponseBuilder } from \"../apiResponseBuilder\";\r\nimport { BaseController } from '../baseController';\r\nimport { GlobalDataStore } from \"../globalData/globalDataStore\";\r\n\r\n// MOVE THIS CLASS TO PAGES/SHARED/PROVIDERS\r\n\r\n@Injectable()\r\nexport class ConfDataController extends BaseController {\r\n\r\n public configuratorControllerUrl = 'api/configurator';\r\n\r\n constructor(\r\n @Inject(HttpService) public httpService: HttpService,\r\n public apiResponseBuilder: ApiResponseBuilder,\r\n public globalDataStore: GlobalDataStore\r\n ) {\r\n super(httpService, apiResponseBuilder);\r\n }\r\n\r\n public getConfigurationData(requestModel: ConfDataRequest): Observable {\r\n return this.httpService.get(this.configuratorControllerUrl, requestModel).pipe(this.buildResponseObject);\r\n }\r\n \r\n public postConfigurationData(requestModel: ConfDataRequest): Observable {\r\n return this.httpService.post(this.configuratorControllerUrl, requestModel).pipe(this.buildResponseObject);\r\n }\r\n\r\n public postConfigurationDataExpectOptionalDownload(requestModel: ConfDataRequest): Observable {\r\n return this.httpService.postExpectOptionalDownload(this.configuratorControllerUrl, requestModel).pipe(this.buildResponseObject);\r\n }\r\n \r\n public getConfigurationReportUrl(model: ConfReportRequest ) {\r\n return this.httpService.createUrl(`${this.configuratorControllerUrl}/report`, model);\r\n }\r\n\r\n public getConfigurationCodeUrl(model: ConfCodeRequest) {\r\n return this.httpService.createUrl(`${this.configuratorControllerUrl}/code`, model);\r\n }\r\n\r\n public getConfigurationAttachmentUrl(model: ConfAttachmentRequest) {\r\n return this.httpService.createUrl(`${this.configuratorControllerUrl}/attachment`, model);\r\n }\r\n\r\n public getConfigurationDocumentUrl(model: ConfDocumentRequest) {\r\n return this.httpService.createUrl(`${this.configuratorControllerUrl}/document`, model);\r\n }\r\n\r\n public getConfigurationGraphicUrl(model: ConfGraphicsRequest) {\r\n return this.httpService.createUrl(`${this.configuratorControllerUrl}/graphics`, model);\r\n }\r\n\r\n public getConfigurationGraphicViewerUrl(model: ConfGraphicsRequest) {\r\n\r\n let baseUrl = this.globalDataStore.getGlobalData().webSettings.baseUrl;\r\n\r\n let queryString = this.httpService.createUrl(`${baseUrl}/${this.configuratorControllerUrl}/graphics`, model);\r\n\r\n return `${baseUrl}/contents/svg-viewer.html?${queryString}`;\r\n }\r\n\r\n public getControllerUrl(): string {\r\n return this.configuratorControllerUrl;\r\n }\r\n\r\n}","import { Inject, Injectable } from \"@angular/core\"\r\nimport { normalize } from \"normalizr\";\r\nimport * as Immutable from \"immutable\"\r\n\r\nimport { BaseEntity } from \"../../baseEntity\"\r\nimport { AbstractConfigurationMessage } from \"../../models/responses/messages\"\r\nimport { ModelFactory } from \"../modelFactory\"\r\nimport { Ioc, Register } from \"../../../../shared/ioc/iocdecorator\"\r\nimport { ConfDataResponse } from \"../../models/responses\"\r\nimport { ConfInfoResult } from \"../../models/responses\"\r\nimport { ConfDataSchema } from \"./confDataSchema\"\r\nimport { NormalizerService } from \"../../../../shared/providers/normalizer\"\r\nimport { ConfInfo, UIElement, ConfFormValue } from \"../../models\";\r\nimport { Extension } from \"typescript\";\r\nimport { forEach } from \"core-js/fn/array\";\r\n\r\n@Injectable()\r\nexport class ConfDataNormalizer {\r\n\r\n constructor(\r\n @Inject(ModelFactory) public modelFactory: ModelFactory,\r\n @Inject(ConfDataSchema) public configuratorSchema: ConfDataSchema,\r\n @Inject(NormalizerService) public normalizerService: NormalizerService\r\n ) { }\r\n\r\n normalizeJson(json: any): ConfDataResponse {\r\n\r\n let confResponse = new ConfDataResponse();\r\n let confInfoResult = new ConfInfoResult();\r\n\r\n confResponse = confResponse.setConfSessionId(json.confSessionId);\r\n confResponse = confResponse.setRootConfId(json.rootConfId);\r\n confResponse = confResponse.setIsClosed(json.isClosed);\r\n confResponse = confResponse.setReferralLink(json.referralLink);\r\n confResponse = confResponse.setHasUnsavedChanges(json.hasUnsavedChanges);\r\n confResponse = confResponse.setConfigurationIds(Immutable.List());\r\n\r\n if (json.configurations && json.configurations.length > 0) {\r\n\r\n confResponse = confResponse.setConfigurationIds(Immutable.List());\r\n let entities = Immutable.Map>();\r\n\r\n for (let i = 0; i < json.configurations.length; i++) {\r\n\r\n let jsonArray = new Array();\r\n jsonArray.push(json.configurations[i]);\r\n\r\n let normalizeOutput = this.normalizerService.normalizeJson(jsonArray, this.configuratorSchema.configurationSchemaArray, (className, data) => this.modelFactory.createEntity(className, data));\r\n confResponse = confResponse.setConfigurationIds(confResponse.configurationIds.push(normalizeOutput.resultIds[0]));\r\n\r\n let localEntities = Immutable.Map(normalizeOutput.entities);\r\n entities = entities.set(normalizeOutput.resultIds[0], localEntities);\r\n\r\n let uiElements = Immutable.Map();\r\n\r\n normalizeOutput.entities.forEach((value, key) => {\r\n\r\n if (value instanceof UIElement) {\r\n\r\n uiElements = uiElements.set(key, value);\r\n }\r\n\r\n });\r\n\r\n if (uiElements.count() > 0)\r\n confResponse = confResponse.setUiElements(uiElements);\r\n }\r\n\r\n confResponse = confResponse.setEntities(entities);\r\n }\r\n \r\n if (json.confInfos && json.confInfos.length > 0) {\r\n let normalizeOutput = this.normalizerService.normalizeJson(json.confInfos, this.configuratorSchema.confInfoSchemaArray, (className, data) => this.modelFactory.createEntity(className, data));\r\n confInfoResult = confInfoResult.setConfInfoIds(Immutable.List(normalizeOutput.resultIds));\r\n confInfoResult = confInfoResult.setEntities(Immutable.Map(normalizeOutput.entities as Map));\r\n }\r\n\r\n if (json.messages && json.messages.length > 0) {\r\n confResponse = confResponse.setMessages(this.modelFactory.createArray(json.messages));\r\n }\r\n \r\n confResponse = confResponse.setConfInfos(confInfoResult);\r\n\r\n return confResponse;\r\n }\r\n\r\n mergeEntities(existingEntities: Map, newEntities: Map)\r\n {\r\n newEntities.forEach((newEntity: BaseEntity, key: number) => {\r\n existingEntities.set(key, newEntity);\r\n });\r\n }\r\n\r\n}","import { Injectable } from \"@angular/core\"\r\nimport { Schema, schema } from 'normalizr';\r\nimport { UIElementSchema } from \"../uiElementSchema\";\r\n\r\n@Injectable()\r\nexport class ConfDataSchema extends UIElementSchema {\r\n \r\n // Configuration schema\r\n configurationSchemaArray: schema.Array;\r\n public configurationSchema: schema.Entity = new schema.Entity('Conf', {}, { idAttribute: 'longId' });\r\n public confBoolValueSchema: schema.Entity = new schema.Entity('ConfBoolValue', {}, { idAttribute: 'longId' });\r\n public confLookupValueSchema: schema.Entity = new schema.Entity('ConfLookupValue', {}, { idAttribute: 'longId' });\r\n public confIntValueSchema: schema.Entity = new schema.Entity('ConfIntValue', {}, { idAttribute: 'longId' });\r\n public confDoubleValueSchema: schema.Entity = new schema.Entity('ConfDoubleValue', {}, { idAttribute: 'longId' });\r\n public confMultiChoiceValueSchema: schema.Entity = new schema.Entity('ConfMultiChoiceValue', {}, { idAttribute: 'longId' });\r\n public confMultiSetValueSchema: schema.Entity = new schema.Entity('ConfMultiSetValue', {}, { idAttribute: 'longId' });\r\n public confStringValueSchema: schema.Entity = new schema.Entity('ConfStringValue', {}, { idAttribute: 'longId' });\r\n public confAttributeValueSchema: schema.Entity = new schema.Entity('ConfAttributeValue', {}, { idAttribute: 'longId' });\r\n public confDataSelectorValueSchema: schema.Entity = new schema.Entity('ConfDataSelectorValue', {}, { idAttribute: 'longId' });\r\n public graphicsDecorationSchema: schema.Entity = new schema.Entity('GraphicsDecoration', {}, { idAttribute: 'longId' });\r\n public confGraphicValuesSchema: schema.Entity = new schema.Entity('ConfGraphicValue', {}, { idAttribute: 'longId' }); \r\n public confCodeValueSchema: schema.Entity = new schema.Entity('ConfCodeValue', {}, { idAttribute: 'longId' });\r\n public confVisualizationValueSchema: schema.Entity = new schema.Entity('ConfVisualizationValue', {}, { idAttribute: 'longId' });\r\n public confFormValueSchema: schema.Entity = new schema.Entity('ConfFormValue', {}, { idAttribute: 'longId' });\r\n\r\n // Configuration info schema\r\n confInfoSchemaArray: schema.Array;\r\n public confInfoSchema: schema.Entity = new schema.Entity('ConfInfo', {}, { idAttribute: 'longId' });\r\n\r\n constructor() {\r\n super();\r\n this.setupConfigurationSchema();\r\n }\r\n\r\n public setupConfigurationSchema(): void {\r\n\r\n this.configurationSchemaArray = new schema.Array(this.configurationSchema);\r\n\r\n // An array representing the different class types of Configuration values\r\n let confValueSchemaType = {\r\n ConfLookupValue: this.confLookupValueSchema,\r\n ConfBoolValue: this.confBoolValueSchema,\r\n ConfIntValue: this.confIntValueSchema,\r\n ConfDoubleValue: this.confDoubleValueSchema,\r\n ConfMultiChoiceValue: this.confMultiChoiceValueSchema,\r\n ConfStringValue: this.confStringValueSchema\r\n };\r\n\r\n // A Configuration has an array of configuration values.\r\n this.configurationSchema.define({\r\n children: this.configurationSchemaArray,\r\n confValues: new schema.Array(confValueSchemaType, 'className'), \r\n attributeValues: new schema.Array(this.confAttributeValueSchema),\r\n dataSelectorValues: new schema.Array(this.confDataSelectorValueSchema),\r\n graphicsValues: new schema.Array(this.confGraphicValuesSchema),\r\n codeValues: new schema.Array(this.confCodeValueSchema),\r\n visualizationValues: new schema.Array(this.confVisualizationValueSchema),\r\n formValues: new schema.Array(this.confFormValueSchema)\r\n });\r\n\r\n // A multi choice value has an array of multi set values.\r\n this.confMultiChoiceValueSchema.define({\r\n value: new schema.Array(this.confMultiSetValueSchema)\r\n });\r\n\r\n this.confInfoSchemaArray = new schema.Array(this.confInfoSchema);\r\n // A ConfigurationInfo has an array of ConfigurationInfos.\r\n this.confInfoSchema.define({\r\n children: this.confInfoSchemaArray\r\n });\r\n\r\n this.confFormValueSchema.define({\r\n uiElements: new schema.Array(this.uiElementSchemaType, 'className')\r\n });\r\n } \r\n}","export * from \"./confDataSchema\";\r\nexport * from \"./confDataNormalizer\";\r\nexport * from \"./confDataController\";\r\nexport * from \"./confDataActionCreator\";","import { Injectable, Inject } from '@angular/core';\r\nimport * as Immutable from \"immutable\";\r\n\r\nimport { BaseEntity } from \"../baseEntity\"\r\nimport { AppState } from \"../state\";\r\nimport { ReselectorService, ReselectorResult } from \"./reselectorService\";\r\n\r\n@Injectable()\r\nexport class EntityReselectorService {\r\n\r\n constructor(\r\n @Inject(ReselectorService) public reselectorService: ReselectorService) { }\r\n\r\n public memorizeEntity(longId: number): () => ReselectorResult {\r\n\r\n const getEntities = (appState: AppState): Immutable.Map => {\r\n return appState.productData.entities;\r\n }\r\n\r\n const getValue = (appState: AppState): BaseEntity => {\r\n return appState.productData.entities.get(longId) as BaseEntity;\r\n }\r\n\r\n return this.reselectorService.create2(getEntities, getValue, (entities, model) => model) as (() => ReselectorResult);\r\n }\r\n\r\n public memorizeEntityList(longIds: number[]): () => ReselectorResult {\r\n\r\n const getEntities = (appState: AppState): Immutable.Map => {\r\n return appState.productData.entities;\r\n }\r\n\r\n const getValues = (appState: AppState): BaseEntity[] => {\r\n return longIds.map((value) => appState.productData.entities.get(value) as BaseEntity);\r\n }\r\n\r\n return this.reselectorService.create2(getEntities, getValues, (entities, models) => models) as (() => ReselectorResult);\r\n }\r\n\r\n public memorizeConfEntity(longId: number, confSessionId: number, confId: number): () => ReselectorResult {\r\n const getEntities = (appState: AppState): Immutable.Map => {\r\n return appState.configurationData.dataBySessionId.get(confSessionId.toString()).entitiesByConfId.get(confId);\r\n }\r\n\r\n const getValue = (appState: AppState): BaseEntity => {\r\n return getEntities(appState).get(longId) as BaseEntity;\r\n }\r\n\r\n return this.reselectorService.create2(getEntities, getValue, (entities, model) => model) as (() => ReselectorResult);\r\n }\r\n\r\n public memorizeConfEntityList(longIds: number[], confSessionId: number, confId: number): () => ReselectorResult {\r\n const getEntities = (appState: AppState): Immutable.Map => {\r\n return appState.configurationData.dataBySessionId.get(confSessionId.toString()).entitiesByConfId.get(confId);\r\n }\r\n\r\n const getValues = (appState: AppState): BaseEntity[] => {\r\n return longIds.map((value) => getEntities(appState).get(value) as BaseEntity);\r\n }\r\n\r\n return this.reselectorService.create2(getEntities, getValues, (entities, models) => models) as (() => ReselectorResult);\r\n }\r\n\r\n}","import { ErrorHandler, Injectable, Inject } from '@angular/core';\r\nimport { HttpErrorResponse } from \"@angular/common/http\";\r\nimport { Subject, ReplaySubject, Subscription } from \"rxjs\";\r\nimport * as Immutable from \"immutable\";\r\n\r\nimport { Exception } from \"../../../shared/exception\"\r\nimport { HttpException } from \"../../../shared/httpException\"\r\nimport { ApiException, ApiResponse } from \"../models\"\r\n\r\n@Injectable()\r\nexport class ExceptionHandler extends ErrorHandler {\r\n\r\n public exceptionSubject: Subject = new Subject();\r\n public exceptionReplaySubject: ReplaySubject = new ReplaySubject();\r\n\r\n public httpExceptionSubject: Subject = new Subject();\r\n public httpExceptionReplaySubject: ReplaySubject = new ReplaySubject();\r\n \r\n constructor() {\r\n super();\r\n\r\n this.exceptionSubject.subscribe(this.exceptionReplaySubject);\r\n this.httpExceptionSubject.subscribe(this.httpExceptionReplaySubject);\r\n }\r\n\r\n public handleError(error) {\r\n this.handleException(error);\r\n }\r\n \r\n public handleException(orignalException: any) {\r\n \r\n if (orignalException instanceof HttpErrorResponse) {\r\n let apiExceptions = this.getApiExceptions(orignalException);\r\n if (apiExceptions && apiExceptions.size > 0) {\r\n apiExceptions.forEach(exception => this.handleExceptionInternal(exception));\r\n }\r\n else {\r\n // Handle HttpErrorResponse message for display\r\n this.handleExceptionInternal(orignalException);\r\n }\r\n\r\n let httpException = new HttpException();\r\n httpException.errorResponse = orignalException;\r\n httpException.exceptions = apiExceptions ? apiExceptions.toArray() : [];\r\n httpException.isHandled = true;\r\n\r\n // Handle HttpException for redirects\r\n this.handleHttpException(httpException);\r\n }\r\n else if (orignalException instanceof HttpException) {\r\n \r\n if (orignalException.isHandled)\r\n return;\r\n\r\n orignalException.isHandled = true;\r\n\r\n // Handle ApiExceptions\r\n if (orignalException.exceptions) {\r\n orignalException.exceptions.forEach(exception => this.handleExceptionInternal(exception));\r\n }\r\n // Handle HttpErrorResponse message for display\r\n else if (orignalException.errorResponse) {\r\n this.handleExceptionInternal(orignalException.errorResponse);\r\n }\r\n\r\n // Handle HttpException for redirects\r\n this.handleHttpException(orignalException);\r\n } \r\n else {\r\n this.handleExceptionInternal(orignalException);\r\n }\r\n\r\n // Log the original exception\r\n this.logToConsole(orignalException);\r\n }\r\n\r\n public onException(observer: (exception: Exception) => void, listenToPastExceptions: boolean): Subscription {\r\n\r\n if (listenToPastExceptions)\r\n return this.exceptionReplaySubject.subscribe((nextException) => observer(nextException));\r\n\r\n return this.exceptionSubject.subscribe((nextException) => observer(nextException));\r\n }\r\n\r\n public onHttpException(observer: (exception: HttpException) => void, listenToPastExceptions: boolean): Subscription {\r\n\r\n if (listenToPastExceptions)\r\n return this.httpExceptionReplaySubject.subscribe((nextException) => observer(nextException));\r\n\r\n return this.httpExceptionSubject.subscribe((nextException) => observer(nextException));\r\n }\r\n\r\n protected handleExceptionInternal(exception: any): void {\r\n let wrappedException = this.wrapAsException(exception);\r\n\r\n this.exceptionSubject.next(wrappedException); \r\n }\r\n\r\n protected getApiExceptions(errorResponse: HttpErrorResponse): Immutable.List {\r\n if (errorResponse.error && errorResponse.error.className != ApiResponse.name)\r\n return null;\r\n\r\n let apiResult = new ApiResponse(errorResponse.error);\r\n if (apiResult && apiResult.exceptions)\r\n return apiResult.exceptions;\r\n\r\n return null;\r\n }\r\n\r\n protected handleHttpException(exception: HttpException) {\r\n this.httpExceptionSubject.next(exception);\r\n }\r\n\r\n protected wrapAsException(originalError: any): Exception {\r\n\r\n if (originalError instanceof Exception || originalError instanceof ApiException)\r\n return originalError;\r\n\r\n let exception: Exception = new Exception();\r\n\r\n if (originalError instanceof HttpErrorResponse) {\r\n\r\n // If status = 0 and message contains \"Http failure\" error then it is a network error\r\n if (originalError.status == 0 && originalError.message && originalError.message.toLowerCase().indexOf(\"http failure\") > -1) {\r\n exception.message = `${originalError.status} : Network error`;\r\n }\r\n else {\r\n exception.message = `${originalError.status} : ${originalError.statusText}`;\r\n }\r\n\r\n exception.url = originalError.url;\r\n exception.detail = originalError.message;\r\n } \r\n else if (typeof originalError === \"string\" || typeof originalError === \"number\")\r\n {\r\n exception.message = \"\" + originalError;\r\n }\r\n else {\r\n exception.message = 'An unknown error occured during the request. See detail tab.';\r\n exception.detail = `${originalError.name ? originalError.name + \" - \" : \"\"} ${exception.message}`;\r\n }\r\n\r\n exception.stackTrace = originalError.stack ? originalError.stack : (originalError.stackTrace ? originalError.stackTrace : \"\");\r\n exception.originalError = originalError;\r\n\r\n return exception;\r\n }\r\n\r\n protected logToConsole(exception) {\r\n console.error(exception);\r\n }\r\n}","import { Inject, Injectable } from '@angular/core';\r\nimport { BaseActionCreator } from \"../../baseActionCreator\";\r\nimport { ApiResponse } from \"../../models\";\r\nimport { GlobalDataRequest } from \"../../models/requests/globalDataRequest\";\r\nimport { AppStore } from \"../../state/appStore\";\r\nimport { GlobalDataActions } from \"../../state/globalData\";\r\nimport { ActionStatus } from '../../state/shared/actionStatus';\r\nimport { HttpAction } from '../../state/shared/httpAction';\r\nimport { GlobalDataController } from \"./globalDataController\";\r\n\r\n@Injectable()\r\nexport class GlobalDataActionCreator extends BaseActionCreator {\r\n\r\n constructor(\r\n @Inject(AppStore) public appStore: AppStore,\r\n @Inject(GlobalDataController) public globalDataController: GlobalDataController,\r\n ) {\r\n super(globalDataController);\r\n }\r\n\r\n dispatchFetchEntities = (requestModel: GlobalDataRequest) => this.appStore.dispatch(this.fetchEntities(requestModel)) as HttpAction;\r\n fetchEntities(requestModel: GlobalDataRequest): HttpAction {\r\n\r\n return this.createHttpAction(\r\n\r\n GlobalDataActions.FETCH_GLOBAL_ENTITIES,\r\n\r\n (dispatch, state, callback) => {\r\n return this.globalDataController.getGlobalData(requestModel).subscribe((globalDataResult) => {\r\n\r\n dispatch({ type: GlobalDataActions.GLOBAL_ENTITIES_LOADED, payload: globalDataResult });\r\n\r\n callback(new ActionStatus(true, globalDataResult));\r\n })\r\n }\r\n );\r\n }\r\n\r\n dispatchRequestGlobalSettings = (requestModel: GlobalDataRequest) => this.appStore.dispatch(this.requestGlobalSettings(requestModel)) as HttpAction;\r\n requestGlobalSettings(requestModel: GlobalDataRequest): HttpAction {\r\n return this.createHttpAction(\r\n\r\n GlobalDataActions.REQUEST_GLOBAL_SETTINGS,\r\n\r\n (dispatch, state, callback) => {\r\n\r\n return this.globalDataController.getGlobalData(requestModel).subscribe((globalDataResponse) => {\r\n\r\n dispatch({ type: GlobalDataActions.GLOBAL_SETTINGS_LOADED, payload: globalDataResponse });\r\n\r\n // Update complete request status\r\n callback(new ActionStatus(true, globalDataResponse));\r\n })\r\n });\r\n }\r\n\r\n dispatchRequestLocalizeData = (requestModel: GlobalDataRequest) => this.appStore.dispatch(this.requestLocalizeData(requestModel)) as HttpAction;\r\n requestLocalizeData(requestModel: GlobalDataRequest): HttpAction {\r\n return this.createHttpAction(\r\n\r\n GlobalDataActions.REQUEST_LOCALIZE_DATA,\r\n\r\n (dispatch, state, callback) => {\r\n\r\n return this.globalDataController.getGlobalData(requestModel).subscribe((globalDataResponse) => {\r\n\r\n dispatch({ type: GlobalDataActions.LOCALIZE_DATA_LOADED, payload: globalDataResponse });\r\n\r\n // Update complete request status\r\n callback(new ActionStatus(true, globalDataResponse));\r\n })\r\n });\r\n }\r\n\r\n dispatchRequestWebSettings = () => this.appStore.dispatch(this.requestWebSettings()) as HttpAction;\r\n requestWebSettings(): HttpAction {\r\n return this.createHttpAction(\r\n\r\n GlobalDataActions.REQUEST_WEB_SETTINGS,\r\n\r\n (dispatch, state, callback) => {\r\n\r\n return this.globalDataController.getWebSettings().subscribe((webSettingsResponse) => {\r\n\r\n dispatch({ type: GlobalDataActions.WEB_SETTINGS_LOADED, payload: webSettingsResponse });\r\n\r\n // Update complete request status\r\n callback(new ActionStatus(true, webSettingsResponse));\r\n })\r\n });\r\n }\r\n\r\n dispatchRequestUISettings = () => this.appStore.dispatch(this.requestUISettings()) as HttpAction;\r\n requestUISettings(): HttpAction {\r\n return this.createHttpAction(\r\n\r\n GlobalDataActions.REQUEST_UI_SETTINGS,\r\n\r\n (dispatch, state, callback) => {\r\n\r\n return this.globalDataController.getUISettings().subscribe((uiSettingsResponse) => {\r\n\r\n dispatch({ type: GlobalDataActions.UI_SETTINGS_LOADED, payload: uiSettingsResponse });\r\n\r\n // Update complete request status\r\n callback(new ActionStatus(true, uiSettingsResponse));\r\n })\r\n });\r\n }\r\n}","import { Injectable, Inject } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { HttpService } from \"../../../../shared/providers/httpService\";\r\nimport { GlobalDataRequest } from \"../../models/requests/globalDataRequest\";\r\nimport { ApiResponse } from \"../../models\";\r\nimport { ApiResponseBuilder } from \"../apiResponseBuilder\";\r\nimport { BaseController } from '../baseController';\r\n\r\n@Injectable()\r\nexport class GlobalDataController extends BaseController {\r\n\r\n public url = \"api/globalData\";\r\n public webSettingsUrl = 'api/globaldata/websettings';\r\n public uiSettingsUrl = 'api/globaldata/uisettings';\r\n\r\n constructor(\r\n @Inject(HttpService) public httpService: HttpService, \r\n public apiResponseBuilder: ApiResponseBuilder\r\n ) {\r\n super(httpService, apiResponseBuilder);\r\n }\r\n\r\n public getGlobalData(requestModel: GlobalDataRequest): Observable {\r\n return this.httpService.get(this.url, requestModel).pipe(this.buildResponseObject);\r\n }\r\n\r\n public getWebSettings(): Observable {\r\n return this.httpService.get(this.webSettingsUrl, null).pipe(this.buildResponseObject);\r\n }\r\n\r\n public getUISettings(): Observable {\r\n return this.httpService.get(this.uiSettingsUrl, null).pipe(this.buildResponseObject);\r\n }\r\n\r\n public buildResponseObject = map((response, index) => this.apiResponseBuilder.build(response));\r\n\r\n public getControllerUrl(): string {\r\n return this.url;\r\n }\r\n\r\n}","import { Inject, Injectable } from \"@angular/core\"\r\nimport { normalize, Schema, schema } from \"normalizr\";\r\nimport * as Immutable from \"immutable\"\r\n\r\nimport { BaseEntity } from \"../../baseEntity\"\r\nimport { ModelFactory } from \"../modelFactory\"\r\nimport { Ioc, Register } from \"../../../../shared/ioc/iocdecorator\"\r\nimport { NormalizerService } from \"../../../../shared/providers/normalizer\"\r\nimport { GlobalDataResponse } from \"../../models/responses\";\r\nimport { GlobalDataSchema } from \"./globalDataSchema\";\r\nimport { GlobalSettings, LocalizeData } from \"../../models\";\r\nimport { KeyValue } from \"../../models/responses\";\r\n\r\n@Injectable()\r\nexport class GlobalDataNormalizer {\r\n\r\n constructor(\r\n @Inject(NormalizerService) public normalizerService: NormalizerService,\r\n @Inject(ModelFactory) public modelFactory: ModelFactory,\r\n @Inject(GlobalDataSchema) public globalDataSchema: GlobalDataSchema,\r\n ) { }\r\n\r\n normalizeJson(json: any): GlobalDataResponse {\r\n\r\n let globalDataResponse = new GlobalDataResponse();\r\n\r\n let entities = Immutable.Map();\r\n let entityIdsByClassName = Immutable.Map>();\r\n\r\n if (json.entitiesByClassName) {\r\n\r\n for (let key in json.entitiesByClassName) {\r\n\r\n let classEntities = json.entitiesByClassName[key];\r\n\r\n let normalizeOutput = this.normalizerService.normalizeJson(classEntities, this.globalDataSchema.getSchemaArray(key), (className, data) => this.modelFactory.createEntity(className, data));\r\n\r\n entityIdsByClassName = entityIdsByClassName.set(key, Immutable.List(normalizeOutput.resultIds));\r\n entities = this.mergeEntities(entities, normalizeOutput.entities);\r\n\r\n }\r\n }\r\n\r\n globalDataResponse = globalDataResponse.setEntityIdsByClassName(entityIdsByClassName);\r\n globalDataResponse = globalDataResponse.setEntities(entities);\r\n\r\n if (json.globalSettings) {\r\n globalDataResponse = globalDataResponse.setGlobalSettings(this.modelFactory.createAny(GlobalSettings.name, json.globalSettings) as GlobalSettings);\r\n }\r\n\r\n if (json.localizeData) {\r\n globalDataResponse = globalDataResponse.setLocalizeData(this.modelFactory.createAny(LocalizeData.name, json.localizeData));\r\n }\r\n\r\n return globalDataResponse;\r\n }\r\n\r\n protected mergeEntities(existingEntities: Immutable.Map, newEntities: Map) {\r\n newEntities.forEach((newEntity: BaseEntity, key: number) => {\r\n existingEntities = existingEntities.set(key, newEntity);\r\n });\r\n\r\n return existingEntities;\r\n }\r\n}","import { Injectable } from \"@angular/core\"\r\nimport { Schema, schema } from 'normalizr';\r\n\r\n@Injectable()\r\nexport class GlobalDataSchema {\r\n\r\n protected allSchema = new Map();\r\n\r\n public getSchema(className: string): any {\r\n\r\n if (!this.allSchema.has(className))\r\n this.allSchema.set(className, new schema.Entity(className, {}, { idAttribute: 'longId' }));\r\n\r\n return this.allSchema.get(className);\r\n }\r\n\r\n public setSchema(className: string, schema: Schema) {\r\n this.allSchema.set(className, schema);\r\n }\r\n\r\n public getSchemaArray(className: string): schema.Array {\r\n\r\n let classSchema = this.getSchema(className);\r\n if (classSchema instanceof schema.Array)\r\n return classSchema;\r\n\r\n return new schema.Array(this.getSchema(className));\r\n }\r\n}","import { Inject, Injectable } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\nimport { ManagedSubject } from \"../../../../shared/managedSubject\";\r\nimport { BaseEntity } from \"../../baseEntity\";\r\nimport { ConfResponseFormat, GlobalEntitiesCommand, GlobalSettings, GlobalSettingsCommand, LocalizeCommand, LocalizeData, RequestViews, WebSettings } from \"../../models\";\r\nimport { GlobalDataRequest } from \"../../models/requests/globalDataRequest\";\r\nimport { UISettings } from \"../../models/responses\";\r\nimport { AppStore } from \"../../state/appStore\";\r\nimport { BaseStore } from \"../../state/baseStore\";\r\nimport { GlobalDataState } from \"../../state/shared/globalDataState\";\r\nimport { StoreResponse } from \"../../state/storeResponse\";\r\nimport { AppStoreSubscriptionManager } from \"../appStoreSubscriptionManager\";\r\nimport { ModelFactory } from \"../modelFactory\";\r\nimport { ValueSubscriptionManager } from \"../valueSubscriptionManager\";\r\nimport { GlobalDataActionCreator } from \"./globalDataActionCreator\";\r\n\r\n@Injectable()\r\nexport class GlobalDataStore extends BaseStore {\r\n\r\n constructor(\r\n public appStore: AppStore,\r\n public globalDataActionCreator: GlobalDataActionCreator,\r\n public appStoreSubscriptionManager: AppStoreSubscriptionManager,\r\n public valueSubscriptionManager: ValueSubscriptionManager,\r\n @Inject(ModelFactory) public modelFactory: ModelFactory \r\n ) {\r\n super(appStore, appStoreSubscriptionManager, modelFactory, globalDataActionCreator);\r\n }\r\n\r\n public getGlobalData(): GlobalDataState {\r\n return this.appStore.getState().globalData;\r\n }\r\n\r\n public get globalSettings(): GlobalSettings {\r\n return this.getGlobalData().globalSettings;\r\n }\r\n\r\n public getConfResponseFormat(requestClientType: RequestViews, isPartialRequest: boolean = true): ConfResponseFormat {\r\n\r\n let webSettings = this.getGlobalData().webSettings;\r\n\r\n switch (requestClientType) {\r\n case RequestViews.Editor:\r\n return webSettings.editorConfResponseFormat;\r\n case RequestViews.Summary:\r\n return webSettings.summaryConfResponseFormat;\r\n case RequestViews.Start:\r\n {\r\n if (isPartialRequest)\r\n return webSettings.startPartialConfResponseFormat;\r\n\r\n return webSettings.startConfResponseFormat;\r\n }\r\n case RequestViews.Search:\r\n return webSettings.searchConfResponseFormat; \r\n }\r\n\r\n throw \"ConfResponseFormat not implemented for \" + requestClientType;\r\n }\r\n\r\n public createGlobalRequestModel(): GlobalDataRequest {\r\n return this.modelFactory.createRequestOrCommand(GlobalDataRequest.name) as GlobalDataRequest;\r\n }\r\n \r\n public getEntities(className: string, forceReload?: boolean): ManagedSubject>> {\r\n let response = new StoreResponse>();\r\n\r\n if (!forceReload && this.getGlobalData().entityIdsByClassName && this.getGlobalData().entityIdsByClassName.has(className)) {\r\n response.data = this.getEntitiesByClassNameInternal(className);\r\n return this.valueSubscriptionManager.createSubject(response, true);\r\n }\r\n\r\n let model = this.createGlobalRequestModel();\r\n model.entities = this.modelFactory.createRequestOrCommand(GlobalEntitiesCommand.name, { classNames: [className] });\r\n let action = this.globalDataActionCreator.dispatchFetchEntities(model);\r\n\r\n // Subscribe to store and return the results on request complete.\r\n return this.createAction(action, () => {\r\n response.data = this.getEntitiesByClassNameInternal(className);\r\n return response;\r\n });\r\n }\r\n\r\n protected getEntitiesByClassNameInternal(className: string) {\r\n\r\n let ids = this.getGlobalData().entityIdsByClassName.get(className);\r\n let orderedMap = Immutable.OrderedMap();\r\n\r\n // ids can be null, return empty array if no data found.\r\n if (!ids)\r\n return orderedMap;\r\n\r\n ids.forEach((value, key) => {\r\n orderedMap = orderedMap.set(value, this.getGlobalData().entities.get(value) as T);\r\n })\r\n\r\n return orderedMap;\r\n }\r\n\r\n public getWebSettings(reload?: boolean): ManagedSubject> {\r\n // Create request object\r\n let response: StoreResponse = new StoreResponse();\r\n\r\n if (!reload && this.getGlobalData().webSettings) {\r\n response.data = this.getGlobalData().webSettings;\r\n return this.valueSubscriptionManager.createSubject(response, true);\r\n }\r\n\r\n let action = this.globalDataActionCreator.dispatchRequestWebSettings();\r\n // Subscribe to store and return the results on request complete. \r\n return this.createAction(action, () => {\r\n response.data = this.getGlobalData().webSettings;\r\n return response;\r\n });\r\n }\r\n\r\n public getUISettings(reload?: boolean): ManagedSubject> {\r\n //call http service\r\n // Create request object\r\n let response: StoreResponse = new StoreResponse();\r\n\r\n if (!reload && this.getGlobalData().uiSettings) {\r\n response.data = this.getGlobalData().uiSettings;\r\n return this.valueSubscriptionManager.createSubject(response, true);\r\n }\r\n\r\n let action = this.globalDataActionCreator.dispatchRequestUISettings();\r\n // Subscribe to store and return the results on request complete. \r\n return this.createAction(action, () => {\r\n response.data = this.getGlobalData().uiSettings;\r\n return response;\r\n });\r\n }\r\n\r\n public getGlobalSettings(reload?: boolean): ManagedSubject> {\r\n // Create request object\r\n let response: StoreResponse = new StoreResponse();\r\n\r\n if (!reload && this.getGlobalData().globalSettings) {\r\n response.data = this.getGlobalData().globalSettings;\r\n return this.valueSubscriptionManager.createSubject(response, true);\r\n }\r\n\r\n let model = this.createGlobalRequestModel();\r\n model.globalSettings = this.modelFactory.createRequestOrCommand(GlobalSettingsCommand.name, { get: true });\r\n let action = this.globalDataActionCreator.dispatchRequestGlobalSettings(model);\r\n\r\n // Subscribe to store and return the results on request complete. \r\n return this.createAction(action, () => {\r\n response.data = this.getGlobalData().globalSettings;\r\n return response;\r\n })\r\n }\r\n\r\n public getLocalizeData(locale?:string, reload?: boolean): ManagedSubject> {\r\n // Create request object\r\n let response: StoreResponse = new StoreResponse();\r\n\r\n if (!reload && this.getGlobalData().localizeData) {\r\n response.data = this.getGlobalData().localizeData;\r\n return this.valueSubscriptionManager.createSubject(response, true);\r\n }\r\n\r\n let localeArg = locale ? locale : \"\";\r\n\r\n let model = this.createGlobalRequestModel();\r\n model.localize = this.modelFactory.createRequestOrCommand(LocalizeCommand.name, { languageCode: localeArg });\r\n let action = this.globalDataActionCreator.dispatchRequestLocalizeData(model);\r\n\r\n // Subscribe to store and return the results on request complete. \r\n return this.createAction(action, () => {\r\n response.data = this.getGlobalData().localizeData;\r\n return response;\r\n })\r\n }\r\n}","export * from \"./globalDataSchema\";\r\nexport * from \"./globalDataNormalizer\";\r\nexport * from \"./globalDataController\";\r\nexport * from \"./globalDataActionCreator\";\r\nexport * from \"./globalDataStore\";\r\nexport * from \"./strings\";","import { Injectable, Inject } from \"@angular/core\";\nimport * as Immutable from \"immutable\";\n\nimport { GlobalDataStore } from \"./globalDataStore\";\n\n@Injectable()\nexport class Strings {\n\nconstructor(@Inject(GlobalDataStore) protected globalDataStore: GlobalDataStore) { }\n \n protected get stringMap(): Immutable.Map {\n let localizeData = this.globalDataStore.getGlobalData().localizeData;\n if (localizeData)\n return this.globalDataStore.getGlobalData().localizeData.strings;\n\n return Immutable.Map();\n }\n\n getString(key: string): string {\n let lowerKey = key.toLowerCase();\n\n if (this.stringMap.has(lowerKey)) {\n\n let value = this.stringMap.get(lowerKey);\n if(value)\n return value;\n }\n\n console.log('Error: Did not find key: ' + key + ' in Strings.');\n\n return key;\n }\n get Add(): string { return this.getString('add');}\n get AccountCreatedSuccessfully(): string { return this.getString('accountcreatedsuccessfully');}\n get Amount(): string { return this.getString('amount');}\n get AnonymousAccess(): string { return this.getString('anonymousaccess');}\n get Attributes(): string { return this.getString('attributes');}\n get AlreadyExistsWithUsername(): string { return this.getString('alreadyexistswithusername');}\n get AlreadyExistsWithEmail(): string { return this.getString('alreadyexistswithemail');}\n get BasePrice(): string { return this.getString('baseprice');}\n get BelowValues(): string { return this.getString('belowvalues');}\n get Bool_Indeterminate(): string { return this.getString('bool_indeterminate');}\n get Cancel(): string { return this.getString('cancel');}\n get Code(): string { return this.getString('code');}\n get ChildConfigurations(): string { return this.getString('childconfigurations');}\n get Clone(): string { return this.getString('clone');}\n get Close(): string { return this.getString('close');}\n get Company(): string { return this.getString('company');}\n get Confirm(): string { return this.getString('confirm');}\n get ConfirmEmail(): string { return this.getString('confirmemail');}\n get ConfirmNewPassword(): string { return this.getString('confirmnewpassword');}\n get Context(): string { return this.getString('context');}\n get Copy(): string { return this.getString('copy');}\n get Cost(): string { return this.getString('cost');}\n get CreatedBy(): string { return this.getString('createdby');}\n get CreationDate(): string { return this.getString('creationdate');}\n get Cut(): string { return this.getString('cut');}\n get Current(): string { return this.getString('current');}\n get DataSelector(): string { return this.getString('dataselector');}\n get Delete(): string { return this.getString('delete');}\n get Demote(): string { return this.getString('demote');}\n get Description(): string { return this.getString('description');}\n get Documents(): string { return this.getString('documents');}\n get Download(): string { return this.getString('download');}\n get DownloadLink(): string { return this.getString('downloadlink');}\n get Edit(): string { return this.getString('edit');}\n get EndDate(): string { return this.getString('enddate');}\n get Email(): string { return this.getString('email');}\n get Export(): string { return this.getString('export');}\n get ExportingData(): string { return this.getString('exportingdata');}\n get ExternLink(): string { return this.getString('externlink');}\n get ErrorDuplicateKeyInTranslationFile(): string { return this.getString('errorduplicatekeyintranslationfile');}\n get ErrorRowCountShouldBePositiveAndRange(): string { return this.getString('errorrowcountshouldbepositiveandrange');}\n get Functions(): string { return this.getString('functions');}\n get Graphics(): string { return this.getString('graphics');}\n get GoogleReCaptchaDescription(): string { return this.getString('googlerecaptchadescription');}\n get Guid(): string { return this.getString('guid');}\n get HelpImage(): string { return this.getString('helpimage');}\n get HelpText(): string { return this.getString('helptext');}\n get Identity(): string { return this.getString('identity');}\n get ItemType(): string { return this.getString('itemtype');}\n get InlineLeft(): string { return this.getString('inlineleft');}\n get InlineRight(): string { return this.getString('inlineright');}\n get InlineHelpImageNotSupportedIfNoDisplayAsRadio(): string { return this.getString('inlinehelpimagenotsupportedifnodisplayasradio');}\n get Language(): string { return this.getString('language');}\n get Languages(): string { return this.getString('languages');}\n get LastLogin(): string { return this.getString('lastlogin');}\n get Links(): string { return this.getString('links');}\n get Loading(): string { return this.getString('loading');}\n get Login(): string { return this.getString('login');}\n get ManualValue(): string { return this.getString('manualvalue');}\n get Message(): string { return this.getString('message');}\n get Mobile(): string { return this.getString('mobile');}\n get Modify(): string { return this.getString('modify');}\n get ModificationDate(): string { return this.getString('modificationdate');}\n get ModifiedBy(): string { return this.getString('modifiedby');}\n get Name(): string { return this.getString('name');}\n get New(): string { return this.getString('new');}\n get NewPassword(): string { return this.getString('newpassword');}\n get No(): string { return this.getString('no');}\n get Note(): string { return this.getString('note');}\n get Ok(): string { return this.getString('ok');}\n get OnlyAdministratorsAreAllowedToTheAdministrationSite(): string { return this.getString('onlyadministratorsareallowedtotheadministrationsite');}\n get Orientation(): string { return this.getString('orientation');}\n get Other(): string { return this.getString('other');}\n get OwnedBy(): string { return this.getString('ownedby');}\n get Parameter(): string { return this.getString('parameter');}\n get Parameters(): string { return this.getString('parameters');}\n get Parent(): string { return this.getString('parent');}\n get PartOf(): string { return this.getString('partof');}\n get Password(): string { return this.getString('password');}\n get Phone(): string { return this.getString('phone');}\n get Price(): string { return this.getString('price');}\n get Print(): string { return this.getString('print');}\n get Product(): string { return this.getString('product');}\n get Products(): string { return this.getString('products');}\n get Promote(): string { return this.getString('promote');}\n get Quantity(): string { return this.getString('quantity');}\n get Reports(): string { return this.getString('reports');}\n get Revision(): string { return this.getString('revision');}\n get RenameTo(): string { return this.getString('renameto');}\n get Save(): string { return this.getString('save');}\n get Search(): string { return this.getString('search');}\n get Settings(): string { return this.getString('settings');}\n get StartDate(): string { return this.getString('startdate');}\n get StartOver(): string { return this.getString('startover');}\n get State(): string { return this.getString('state');}\n get Stored(): string { return this.getString('stored');}\n get Structure(): string { return this.getString('structure');}\n get Success(): string { return this.getString('success');}\n get SystemInformation(): string { return this.getString('systeminformation');}\n get SystemCouldNotLogYouOnMessage(): string { return this.getString('systemcouldnotlogyouonmessage');}\n get Title(): string { return this.getString('title');}\n get TriggerContinously(): string { return this.getString('triggercontinously');}\n get Type(): string { return this.getString('type');}\n get Username(): string { return this.getString('username');}\n get VaultOperationCancelledCircularRequests(): string { return this.getString('vaultoperationcancelledcircularrequests');}\n get View(): string { return this.getString('view');}\n get Visualization(): string { return this.getString('visualization');}\n get XLoggedInOnY(): string { return this.getString('xloggedinony');}\n get Yes(): string { return this.getString('yes');}\n get AccessDenied(): string { return this.getString('accessdenied');}\n get AccountCreationDisabled(): string { return this.getString('accountcreationdisabled');}\n get AccountCreationSuccess(): string { return this.getString('accountcreationsuccess');}\n get AccountCreatedAwaitsActivation(): string { return this.getString('accountcreatedawaitsactivation');}\n get AccountCreatedAwaitsActivationDescription(): string { return this.getString('accountcreatedawaitsactivationdescription');}\n get AccordionTabsWidth(): string { return this.getString('accordiontabswidth');}\n get AccordionTabsControlWidth(): string { return this.getString('accordiontabscontrolwidth');}\n get AccordionTabsControlWidthDescription(): string { return this.getString('accordiontabscontrolwidthdescription');}\n get Actions(): string { return this.getString('actions');}\n get AddFiles(): string { return this.getString('addfiles');}\n get AddLookupValue(): string { return this.getString('addlookupvalue');}\n get AddMultichoiceValue(): string { return this.getString('addmultichoicevalue');}\n get AddParameter(): string { return this.getString('addparameter');}\n get AddParameterSearchCriteria(): string { return this.getString('addparametersearchcriteria');}\n get Administration(): string { return this.getString('administration');}\n get Alert(): string { return this.getString('alert');}\n get AllListedGroups(): string { return this.getString('alllistedgroups');}\n get AllListedUsers(): string { return this.getString('alllistedusers');}\n get AnErrorWasEncountered(): string { return this.getString('anerrorwasencountered');}\n get AnonymousAccessNotSetup(): string { return this.getString('anonymousaccessnotsetup');}\n get AnOperationThatRequiresALoggedInUserCouldntBePerformedSinceUserXwasNotFound(): string { return this.getString('anoperationthatrequiresaloggedinusercouldntbeperformedsinceuserxwasnotfound');}\n get AnotherWorkSessionForUserXIsNowActiveLoginAgain(): string { return this.getString('anotherworksessionforuserxisnowactiveloginagain');}\n get AnotherWorkSessionForUserXWasEnded(): string { return this.getString('anotherworksessionforuserxwasended');}\n get AnotherWorksessionForUserXWillBeLoggedOutDoYouWantToContinue(): string { return this.getString('anotherworksessionforuserxwillbeloggedoutdoyouwanttocontinue');}\n get ApplyChanges(): string { return this.getString('applychanges');}\n get AreYouSureYouWantToDelete(): string { return this.getString('areyousureyouwanttodelete');}\n get AreYouSureYouWantToDeleteConfiguration(): string { return this.getString('areyousureyouwanttodeleteconfiguration');}\n get AreYouSureYouWantToDeleteTheSelectedRow(): string { return this.getString('areyousureyouwanttodeletetheselectedrow');}\n get AreYouSureYouWantToDeleteThisConfiguration(): string { return this.getString('areyousureyouwanttodeletethisconfiguration');}\n get AreYouSureYouWantToResetConfiguration(): string { return this.getString('areyousureyouwanttoresetconfiguration');}\n get AttachmentWasNotFound(): string { return this.getString('attachmentwasnotfound');}\n get Attachments(): string { return this.getString('attachments');}\n get AuthorizationGroup(): string { return this.getString('authorizationgroup');}\n get AuthenticationTimeout(): string { return this.getString('authenticationtimeout');}\n get AutomaticExpandAndCollapse(): string { return this.getString('automaticexpandandcollapse');}\n get AutoSelectChild(): string { return this.getString('autoselectchild');}\n get AutoSelectChildDescription(): string { return this.getString('autoselectchilddescription');}\n get BadRequest(): string { return this.getString('badrequest');}\n get BadRequestInvalidPath(): string { return this.getString('badrequestinvalidpath');}\n get BillOfMaterials(): string { return this.getString('billofmaterials');}\n get Bool_False(): string { return this.getString('bool_false');}\n get Bool_True(): string { return this.getString('bool_true');}\n get By(): string { return this.getString('by');}\n get CalculatedData(): string { return this.getString('calculateddata');}\n get CannotImportAConfigurationIfIdentityIsLeftBlank(): string { return this.getString('cannotimportaconfigurationifidentityisleftblank');}\n get CannotImportConfigurationBelongingToSameRoot(): string { return this.getString('cannotimportconfigurationbelongingtosameroot');}\n get CannotCloseTheFileDialog(): string { return this.getString('cannotclosethefiledialog');}\n get CannotDemote(): string { return this.getString('cannotdemote');}\n get CannotPromote(): string { return this.getString('cannotpromote');}\n get Change(): string { return this.getString('change');}\n get ChangeBrowserMode(): string { return this.getString('changebrowsermode');}\n get ChangeDocumentMode(): string { return this.getString('changedocumentmode');}\n get ChangingPriceAthorization(): string { return this.getString('changingpriceathorization');}\n get ChangeOwnership(): string { return this.getString('changeownership');}\n get ChangeOwnershipOnEveryRevision(): string { return this.getString('changeownershiponeveryrevision');}\n get ChangeOwnershipTo(): string { return this.getString('changeownershipto');}\n get ChangePassword_SaveSuccess(): string { return this.getString('changepassword_savesuccess');}\n get ChangePasswordErrorMessage_ConfirmNewPassword(): string { return this.getString('changepassworderrormessage_confirmnewpassword');}\n get ChangePasswordErrorMessage_NewPasswordsNoMatch(): string { return this.getString('changepassworderrormessage_newpasswordsnomatch');}\n get ChangePasswordErrorMessage_SpecifyNewPassword(): string { return this.getString('changepassworderrormessage_specifynewpassword');}\n get ChangePasswordErrorMessage_SpecifyOldPassword(): string { return this.getString('changepassworderrormessage_specifyoldpassword');}\n get ChangePasswordErrorMessage_WrongOldPassword(): string { return this.getString('changepassworderrormessage_wrongoldpassword');}\n get ChangePasswordNow(): string { return this.getString('changepasswordnow');}\n get ChooseFilterAndClickSearch(): string { return this.getString('choosefilterandclicksearch');}\n get ClearParameterValues(): string { return this.getString('clearparametervalues');}\n get Clear_Selection(): string { return this.getString('clear_selection');}\n get ClearValue(): string { return this.getString('clearvalue');}\n get CodeFileWebServiceNameXNotFound(): string { return this.getString('codefilewebservicenamexnotfound');}\n get ClientAppIncompatible(): string { return this.getString('clientappincompatible');}\n get CompanyNameIsRequired(): string { return this.getString('companynameisrequired');}\n get Compare(): string { return this.getString('compare');}\n get ComparisonSessionDoesNotBelongToTheUser(): string { return this.getString('comparisonsessiondoesnotbelongtotheuser');}\n get CompleteTheFormInformation(): string { return this.getString('completetheforminformation');}\n get Compare_Result(): string { return this.getString('compare_result');}\n get CompositeSidebar(): string { return this.getString('compositesidebar');}\n get CompositeSidebarDefaultWidthDescription(): string { return this.getString('compositesidebardefaultwidthdescription');}\n get CompositeSidebarCompressedWidthDescription(): string { return this.getString('compositesidebarcompressedwidthdescription');}\n get CompositeSidebarCompressedAtWindowWidthDescription(): string { return this.getString('compositesidebarcompressedatwindowwidthdescription');}\n get CompositeSidebarCollapseAtWindowWidthDescription(): string { return this.getString('compositesidebarcollapseatwindowwidthdescription');}\n get CompressedWidth(): string { return this.getString('compressedwidth');}\n get CompressedAtWindowWidth(): string { return this.getString('compressedatwindowwidth');}\n get CompositeStructure(): string { return this.getString('compositestructure');}\n get CompositeTreeExpandBehaviour(): string { return this.getString('compositetreeexpandbehaviour');}\n get CompositeControlSticky(): string { return this.getString('compositecontrolsticky');}\n get CompositeControlStickyDescription(): string { return this.getString('compositecontrolstickydescription');}\n get CompositionCopyControl_CopyMessage(): string { return this.getString('compositioncopycontrol_copymessage');}\n get CompositionDeleteControl_DeleteMessage(): string { return this.getString('compositiondeletecontrol_deletemessage');}\n get ConfigurationError(): string { return this.getString('configurationerror');}\n get ConfigurationExpired(): string { return this.getString('configurationexpired');}\n get ConfigurationHistory(): string { return this.getString('configurationhistory');}\n get ConfigurationWithIdentityXAndRevisionYNotFound(): string { return this.getString('configurationwithidentityxandrevisionynotfound');}\n get ConfigurationsFound(): string { return this.getString('configurationsfound');}\n get ConfigurationIsSaved(): string { return this.getString('configurationissaved');}\n get ConfigurationIsDeleted(): string { return this.getString('configurationisdeleted');}\n get ConfigurationLinkWasSuccessfullySentToX(): string { return this.getString('configurationlinkwassuccessfullysenttox');}\n get ConfigurationRemovedFromSession(): string { return this.getString('configurationremovedfromsession');}\n get ConfigurationSearch(): string { return this.getString('configurationsearch');}\n get ConfigurationSearchCriteria(): string { return this.getString('configurationsearchcriteria');}\n get ConfigurationSearchWasNotFound(): string { return this.getString('configurationsearchwasnotfound');}\n get ConfigurationSummaryLink(): string { return this.getString('configurationsummarylink');}\n get ConfiguratorAlreadyOpened(): string { return this.getString('configuratoralreadyopened');}\n get ConfiguratorAlreadyOpenedGeneral(): string { return this.getString('configuratoralreadyopenedgeneral');}\n get ConfiguratorSessionDoesNotBelongToTheUser(): string { return this.getString('configuratorsessiondoesnotbelongtotheuser');}\n get ConfigurationDoesNotExist(): string { return this.getString('configurationdoesnotexist');}\n get Configure(): string { return this.getString('configure');}\n get ConfirmDataSelectAction(): string { return this.getString('confirmdataselectaction');}\n get ConfirmPromotion(): string { return this.getString('confirmpromotion');}\n get ConfirmDemotion(): string { return this.getString('confirmdemotion');}\n get ConnectedTo(): string { return this.getString('connectedto');}\n get Content(): string { return this.getString('content');}\n get CookieInformation(): string { return this.getString('cookieinformation');}\n get CookieInformationMessage(): string { return this.getString('cookieinformationmessage');}\n get CookieInformationMessageDetails(): string { return this.getString('cookieinformationmessagedetails');}\n get Copies(): string { return this.getString('copies');}\n get CopySuccessful(): string { return this.getString('copysuccessful');}\n get CouldNotFindItemWithItemNumberXandRevisionY(): string { return this.getString('couldnotfinditemwithitemnumberxandrevisiony');}\n get CouldNotDemote(): string { return this.getString('couldnotdemote');}\n get CouldNotPromote(): string { return this.getString('couldnotpromote');}\n get Count(): string { return this.getString('count');}\n get Create(): string { return this.getString('create');}\n get CreateAccount(): string { return this.getString('createaccount');}\n get CreateYourCombinumAccount(): string { return this.getString('createyourcombinumaccount');}\n get CreateBOM(): string { return this.getString('createbom');}\n get CreateConfiguration(): string { return this.getString('createconfiguration');}\n get CreateNewItem(): string { return this.getString('createnewitem');}\n get CreateMultiplePriceItems(): string { return this.getString('createmultiplepriceitems');}\n get CreateUserAccount(): string { return this.getString('createuseraccount');}\n get CollapseAtWindowWidth(): string { return this.getString('collapseatwindowwidth');}\n get CurrentProgress(): string { return this.getString('currentprogress');}\n get CustomRange(): string { return this.getString('customrange');}\n get Database(): string { return this.getString('database');}\n get DefaultCurrency(): string { return this.getString('defaultcurrency');}\n get DefaultWelcomeTitle(): string { return this.getString('defaultwelcometitle');}\n get DefaultWelcomeMessage(): string { return this.getString('defaultwelcomemessage');}\n get DefaultWidth(): string { return this.getString('defaultwidth');}\n get DeleteToolTip(): string { return this.getString('deletetooltip');}\n get DemoteFrom(): string { return this.getString('demotefrom');}\n get DemoteMessage(): string { return this.getString('demotemessage');}\n get DeselectAll(): string { return this.getString('deselectall');}\n get Details(): string { return this.getString('details');}\n get Detail(): string { return this.getString('detail');}\n get DialogWidth(): string { return this.getString('dialogwidth');}\n get DidNotFindAMatchingConfiguration(): string { return this.getString('didnotfindamatchingconfiguration');}\n get Disabled(): string { return this.getString('disabled');}\n get DisallowedPopup_CannotSet(): string { return this.getString('disallowedpopup_cannotset');}\n get DisallowedPopup_DisallowedCombinationRuleGeneralMessage(): string { return this.getString('disallowedpopup_disallowedcombinationrulegeneralmessage');}\n get DisallowedPopup_NoRulesMessage(): string { return this.getString('disallowedpopup_norulesmessage');}\n get DisallowedPopup_RestrictedByChildConfigurationModel(): string { return this.getString('disallowedpopup_restrictedbychildconfigurationmodel');}\n get DisallowedPopup_RestrictedByParentConfigurationModel(): string { return this.getString('disallowedpopup_restrictedbyparentconfigurationmodel');}\n get DisallowedPopup_TemplateRuleGeneralMessage(): string { return this.getString('disallowedpopup_templaterulegeneralmessage');}\n get DisallowedValue(): string { return this.getString('disallowedvalue');}\n get DontHaveAnAccount(): string { return this.getString('donthaveanaccount');}\n get ea(): string { return this.getString('ea');}\n get EditBOM(): string { return this.getString('editbom');}\n get EditItem(): string { return this.getString('edititem');}\n get EditSearch(): string { return this.getString('editsearch');}\n get EditThisSearch(): string { return this.getString('editthissearch');}\n get EditToolTip(): string { return this.getString('edittooltip');}\n get EmailOrUsername(): string { return this.getString('emailorusername');}\n get EmailThisConfiguration(): string { return this.getString('emailthisconfiguration');}\n get EmailVerificationLink(): string { return this.getString('emailverificationlink');}\n get EmailVerificationMessageX(): string { return this.getString('emailverificationmessagex');}\n get Empty(): string { return this.getString('empty');}\n get EnterYourEmailAndPressSave(): string { return this.getString('enteryouremailandpresssave');}\n get EnterYourEmailAndPressSend(): string { return this.getString('enteryouremailandpresssend');}\n get EqualsString(): string { return this.getString('equalsstring');}\n get ErrorDeleting(): string { return this.getString('errordeleting');}\n get ErrorGeneratingCodeFile(): string { return this.getString('errorgeneratingcodefile');}\n get ErrorInconsistentSingletonPriceSum(): string { return this.getString('errorinconsistentsingletonpricesum');}\n get ErrorInvalidView(): string { return this.getString('errorinvalidview');}\n get ErrorPage_ErrorMessage(): string { return this.getString('errorpage_errormessage');}\n get ErrorMaxNoOfCopiesValueInvalid(): string { return this.getString('errormaxnoofcopiesvalueinvalid');}\n get ErrorMaxNoOfCopiesOutOfRange(): string { return this.getString('errormaxnoofcopiesoutofrange');}\n get ErrorMisssingRightsForAttachment(): string { return this.getString('errormisssingrightsforattachment');}\n get ErrorNoConfigurationSelectedComparison(): string { return this.getString('errornoconfigurationselectedcomparison');}\n get ErrorNoOfUploadedFiles(): string { return this.getString('errornoofuploadedfiles');}\n get ErrorSendingEmail(): string { return this.getString('errorsendingemail');}\n get ErrorFileSizeIsGreaterThanAllowed(): string { return this.getString('errorfilesizeisgreaterthanallowed');}\n get ErrorValueCannotBeGreaterThanMaxLengthX(): string { return this.getString('errorvaluecannotbegreaterthanmaxlengthx');}\n get ErrorValueWasTrimmedExceededMaxLengthX(): string { return this.getString('errorvaluewastrimmedexceededmaxlengthx');}\n get Expired(): string { return this.getString('expired');}\n get ExportToExcel(): string { return this.getString('exporttoexcel');}\n get ExportToPDF(): string { return this.getString('exporttopdf');}\n get ExportToWord(): string { return this.getString('exporttoword');}\n get FailedToClearReadOnlyParamDueToRuleX(): string { return this.getString('failedtoclearreadonlyparamduetorulex');}\n get FailedToCreateX(): string { return this.getString('failedtocreatex');}\n get FailedToLoadConfigurationX(): string { return this.getString('failedtoloadconfigurationx');}\n get FileNotFound(): string { return this.getString('filenotfound');}\n get FileUploadDialog(): string { return this.getString('fileuploaddialog');}\n get Filter(): string { return this.getString('filter');}\n get FixBrowserCompatibility(): string { return this.getString('fixbrowsercompatibility');}\n get FoundConfiguredProductIsNotLinkableToThisParentConfiguration(): string { return this.getString('foundconfiguredproductisnotlinkabletothisparentconfiguration');}\n get FoundMoreThanOneConfiguration(): string { return this.getString('foundmorethanoneconfiguration');}\n get FollowingRulesDisallowedX(): string { return this.getString('followingrulesdisallowedx');}\n get FollowingRulesReadOnlyX(): string { return this.getString('followingrulesreadonlyx');}\n get ForgotPassword(): string { return this.getString('forgotpassword');}\n get FromTemplate(): string { return this.getString('fromtemplate');}\n get GeneratedPassword(): string { return this.getString('generatedpassword');}\n get GetStarted(): string { return this.getString('getstarted');}\n get GlobalQuery(): string { return this.getString('globalquery');}\n get GracePeriodTill(): string { return this.getString('graceperiodtill');}\n get GrandTotal(): string { return this.getString('grandtotal');}\n get GreaterThan(): string { return this.getString('greaterthan');}\n get ReadHelpGuide(): string { return this.getString('readhelpguide');}\n get HelpFile(): string { return this.getString('helpfile');}\n get HelpFileWeb(): string { return this.getString('helpfileweb');}\n get HiddenParameterSymbol(): string { return this.getString('hiddenparametersymbol');}\n get HiddenParameterExplanation(): string { return this.getString('hiddenparameterexplanation');}\n get HideCurrentValue(): string { return this.getString('hidecurrentvalue');}\n get HighlightDifferences(): string { return this.getString('highlightdifferences');}\n get HighlightMandatoryParameters(): string { return this.getString('highlightmandatoryparameters');}\n get History(): string { return this.getString('history');}\n get Home(): string { return this.getString('home');}\n get IECompatIssue(): string { return this.getString('iecompatissue');}\n get IENotSupported(): string { return this.getString('ienotsupported');}\n get IEWarning(): string { return this.getString('iewarning');}\n get IgnoreContextWhenSummarizingBOM(): string { return this.getString('ignorecontextwhensummarizingbom');}\n get IgnoreContextWhenSummarizingBOMValueClearedForConflicts(): string { return this.getString('ignorecontextwhensummarizingbomvalueclearedforconflicts');}\n get ImportAnExistingConfigurationByEnteringIdentityAndRevision(): string { return this.getString('importanexistingconfigurationbyenteringidentityandrevision');}\n get ImportChild(): string { return this.getString('importchild');}\n get Info(): string { return this.getString('info');}\n get Information(): string { return this.getString('information');}\n get Inherited(): string { return this.getString('inherited');}\n get InvalidData(): string { return this.getString('invaliddata');}\n get InvalidComparisonRequestPathIsNotFound(): string { return this.getString('invalidcomparisonrequestpathisnotfound');}\n get InvalidComparisonRequestStartingConfigurationIdsAreRequired(): string { return this.getString('invalidcomparisonrequeststartingconfigurationidsarerequired');}\n get InvalidComparisonRequestStartingConfigurationIdsCannotBeChanged(): string { return this.getString('invalidcomparisonrequeststartingconfigurationidscannotbechanged');}\n get InvalidComparisonRequestTryingToReorderChildConfigurationsInTheContextOfWrongParent(): string { return this.getString('invalidcomparisonrequesttryingtoreorderchildconfigurationsinthecontextofwrongparent');}\n get InvalidSessionId(): string { return this.getString('invalidsessionid');}\n get InvalidEmailAddress(): string { return this.getString('invalidemailaddress');}\n get InvalidValueForConfigurationSearchScope(): string { return this.getString('invalidvalueforconfigurationsearchscope');}\n get InvalidUserNameOrEmail(): string { return this.getString('invalidusernameoremail');}\n get IssuesMustBeResolved(): string { return this.getString('issuesmustberesolved');}\n get IssuesToResolve(): string { return this.getString('issuestoresolve');}\n get CouldNotSendPasswordNoValidEmail(): string { return this.getString('couldnotsendpasswordnovalidemail');}\n get LanguageCodeMissing(): string { return this.getString('languagecodemissing');}\n get Last7Days(): string { return this.getString('last7days');}\n get Last30Days(): string { return this.getString('last30days');}\n get LastMonth(): string { return this.getString('lastmonth');}\n get LessThan(): string { return this.getString('lessthan');}\n get LimitedBrowserSupportInfo(): string { return this.getString('limitedbrowsersupportinfo');}\n get LinkIsExpired(): string { return this.getString('linkisexpired');}\n get LoadingApost(): string { return this.getString('loadingapost');}\n get Login_Details(): string { return this.getString('login_details');}\n get Login_WelcomeMessage(): string { return this.getString('login_welcomemessage');}\n get LoginAnonymously(): string { return this.getString('loginanonymously');}\n get LoginErrorMessage_EmptyUsernameOrPassword(): string { return this.getString('loginerrormessage_emptyusernameorpassword');}\n get LoginErrorMessage_ErrorLogin(): string { return this.getString('loginerrormessage_errorlogin');}\n get LoginErrorMessage_NoUserFound(): string { return this.getString('loginerrormessage_nouserfound');}\n get LoginErrorMessage_UserNotActive(): string { return this.getString('loginerrormessage_usernotactive');}\n get LoginErrorMessage_WrongPassword(): string { return this.getString('loginerrormessage_wrongpassword');}\n get Logout(): string { return this.getString('logout');}\n get LogoutReasonUsingMultipleSession(): string { return this.getString('logoutreasonusingmultiplesession');}\n get MandatoryParameters(): string { return this.getString('mandatoryparameters');}\n get MandatoryParametersNotSet(): string { return this.getString('mandatoryparametersnotset');}\n get MandatoryPopup_NoMoreParametersMessage(): string { return this.getString('mandatorypopup_nomoreparametersmessage');}\n get ManualModificationOfBOMItemsIsNotAllowed(): string { return this.getString('manualmodificationofbomitemsisnotallowed');}\n get MaximumLimitOfFiles(): string { return this.getString('maximumlimitoffiles');}\n get MaximumLimitForComparingConfigurations(): string { return this.getString('maximumlimitforcomparingconfigurations');}\n get MaxInlineResults(): string { return this.getString('maxinlineresults');}\n get MessageFromServer(): string { return this.getString('messagefromserver');}\n get Misc(): string { return this.getString('misc');}\n get MissingReadRightsMessage(): string { return this.getString('missingreadrightsmessage');}\n get MissingUpdateRightsMessage(): string { return this.getString('missingupdaterightsmessage');}\n get MissingPromoteRightsMessage(): string { return this.getString('missingpromoterightsmessage');}\n get MissingDemoteRightsMessage(): string { return this.getString('missingdemoterightsmessage');}\n get More(): string { return this.getString('more');}\n get Move(): string { return this.getString('move');}\n get MoveTheContentsOfTheClipboardToTheCurrentLocation(): string { return this.getString('movethecontentsoftheclipboardtothecurrentlocation');}\n get MoveBefore(): string { return this.getString('movebefore');}\n get MyRecent(): string { return this.getString('myrecent');}\n get MultipleConfigurationsWithIdentityXAndRevisionYFound(): string { return this.getString('multipleconfigurationswithidentityxandrevisionyfound');}\n get MultipleUserAccountsMatches(): string { return this.getString('multipleuseraccountsmatches');}\n get NameIsRequired(): string { return this.getString('nameisrequired');}\n get NameShouldBeOfTypeX(): string { return this.getString('nameshouldbeoftypex');}\n get Navigate(): string { return this.getString('navigate');}\n get NewConfiguration(): string { return this.getString('newconfiguration');}\n get NewParameterExplanation(): string { return this.getString('newparameterexplanation');}\n get NewParameters(): string { return this.getString('newparameters');}\n get NewParameters_Message(): string { return this.getString('newparameters_message');}\n get NewParameterSymbol(): string { return this.getString('newparametersymbol');}\n get News(): string { return this.getString('news');}\n get Next(): string { return this.getString('next');}\n get NoActiveRulesWithInformationToDisplay(): string { return this.getString('noactiveruleswithinformationtodisplay');}\n get NoConfigurationFoundWithTheIdOfX(): string { return this.getString('noconfigurationfoundwiththeidofx');}\n get NoConfigurationsSelectedForComparison(): string { return this.getString('noconfigurationsselectedforcomparison');}\n get NoExceptionToErrorPage(): string { return this.getString('noexceptiontoerrorpage');}\n get NoFileSelected(): string { return this.getString('nofileselected');}\n get NoneffectiveProductsXInformation(): string { return this.getString('noneffectiveproductsxinformation');}\n get NoResultsWereFound(): string { return this.getString('noresultswerefound');}\n get NotAValidBool(): string { return this.getString('notavalidbool');}\n get NoStateSet(): string { return this.getString('nostateset');}\n get NoMatchesFoundForX(): string { return this.getString('nomatchesfoundforx');}\n get NotAuthorizedToImportConfiguration(): string { return this.getString('notauthorizedtoimportconfiguration');}\n get NotAValidDate(): string { return this.getString('notavaliddate');}\n get NotAValidDouble(): string { return this.getString('notavaliddouble');}\n get NotAValidInteger(): string { return this.getString('notavalidinteger');}\n get NoValue(): string { return this.getString('novalue');}\n get Older(): string { return this.getString('older');}\n get OrderChangedSuccessfully(): string { return this.getString('orderchangedsuccessfully');}\n get OldParameters(): string { return this.getString('oldparameters');}\n get OldParametersMessage(): string { return this.getString('oldparametersmessage');}\n get OldPassword(): string { return this.getString('oldpassword');}\n get OperationWasCancelledCurrentlyBeingEditedOrReadonly(): string { return this.getString('operationwascancelledcurrentlybeingeditedorreadonly');}\n get OperationIsValidOnlyIfTheConfiguratorSessionIsBeingEdited(): string { return this.getString('operationisvalidonlyiftheconfiguratorsessionisbeingedited');}\n get OperationNotAllowedForUnsavedConfiguration(): string { return this.getString('operationnotallowedforunsavedconfiguration');}\n get Operations(): string { return this.getString('operations');}\n get OperationSeq(): string { return this.getString('operationseq');}\n get OperationSeqId(): string { return this.getString('operationseqid');}\n get Optimized(): string { return this.getString('optimized');}\n get OptimizedAutoCheck(): string { return this.getString('optimizedautocheck');}\n get Options(): string { return this.getString('options');}\n get OwnershipChangedFrom(): string { return this.getString('ownershipchangedfrom');}\n get ParametersClearedDueToRules(): string { return this.getString('parametersclearedduetorules');}\n get PasswordAboutToExpireMessage(): string { return this.getString('passwordabouttoexpiremessage');}\n get PasswordExpired(): string { return this.getString('passwordexpired');}\n get PasswordExpiredMessage(): string { return this.getString('passwordexpiredmessage');}\n get PasswordRecovered(): string { return this.getString('passwordrecovered');}\n get PasswordRecoveryLink(): string { return this.getString('passwordrecoverylink');}\n get PasswordRecoveryMessageX(): string { return this.getString('passwordrecoverymessagex');}\n get PerformActionOn(): string { return this.getString('performactionon');}\n get PleaseSelectARowBeforeClickingOnEdit(): string { return this.getString('pleaseselectarowbeforeclickingonedit');}\n get PleaseSelectARowBeforeClickingOnRemove(): string { return this.getString('pleaseselectarowbeforeclickingonremove');}\n get PluralString(): string { return this.getString('pluralstring');}\n get PositionNo(): string { return this.getString('positionno');}\n get Previous(): string { return this.getString('previous');}\n get PreviousQuarter(): string { return this.getString('previousquarter');}\n get PreviousYear(): string { return this.getString('previousyear');}\n get Prices(): string { return this.getString('prices');}\n get Pricing(): string { return this.getString('pricing');}\n get PriceItemXAmountIsInConsistent(): string { return this.getString('priceitemxamountisinconsistent');}\n get PriceItemValueCleared(): string { return this.getString('priceitemvaluecleared');}\n get PriceItemXOperationIsInConsistent(): string { return this.getString('priceitemxoperationisinconsistent');}\n get PriceListNotification(): string { return this.getString('pricelistnotification');}\n get PriceListFormCannotUncheckChildIfParentIsChecked(): string { return this.getString('pricelistformcannotuncheckchildifparentischecked');}\n get PrintToolTip(): string { return this.getString('printtooltip');}\n get Private(): string { return this.getString('private');}\n get ProdConfCannotBeSavedInAdminSite(): string { return this.getString('prodconfcannotbesavedinadminsite');}\n get ProdConfCannotBeRevisedInAdminSite(): string { return this.getString('prodconfcannotberevisedinadminsite');}\n get Production(): string { return this.getString('production');}\n get ProductDataUpdatedAndVerifyConfiguration(): string { return this.getString('productdataupdatedandverifyconfiguration');}\n get Profile(): string { return this.getString('profile');}\n get PromoteFrom(): string { return this.getString('promotefrom');}\n get PromoteIsNotAllowed(): string { return this.getString('promoteisnotallowed');}\n get PromoteMessage(): string { return this.getString('promotemessage');}\n get Properties(): string { return this.getString('properties');}\n get ProvidedKeyDoesNotExist(): string { return this.getString('providedkeydoesnotexist');}\n get Public(): string { return this.getString('public');}\n get QuickSearch(): string { return this.getString('quicksearch');}\n get Range(): string { return this.getString('range');}\n get ReactivateUser(): string { return this.getString('reactivateuser');}\n get ReadOnlyParameter(): string { return this.getString('readonlyparameter');}\n get RecentFromWorkgroup(): string { return this.getString('recentfromworkgroup');}\n get Recent(): string { return this.getString('recent');}\n get RecoverConfigurationPopupDescription(): string { return this.getString('recoverconfigurationpopupdescription');}\n get RecoverForgottenPassword(): string { return this.getString('recoverforgottenpassword');}\n get RecoverPassword(): string { return this.getString('recoverpassword');}\n get RefreshTheSummaryPage(): string { return this.getString('refreshthesummarypage');}\n get ReloadCaches(): string { return this.getString('reloadcaches');}\n get ReloadCaches_Message(): string { return this.getString('reloadcaches_message');}\n get ReloadUserData(): string { return this.getString('reloaduserdata');}\n get Remove(): string { return this.getString('remove');}\n get RemoveItem(): string { return this.getString('removeitem');}\n get Reset(): string { return this.getString('reset');}\n get ResetPassword(): string { return this.getString('resetpassword');}\n get ResetYourPassword(): string { return this.getString('resetyourpassword');}\n get Recover(): string { return this.getString('recover');}\n get ResultsPerPage(): string { return this.getString('resultsperpage');}\n get Reuse(): string { return this.getString('reuse');}\n get ReuseToolTip(): string { return this.getString('reusetooltip');}\n get Revise(): string { return this.getString('revise');}\n get ReviseToolTip(): string { return this.getString('revisetooltip');}\n get Revisions(): string { return this.getString('revisions');}\n get RulesSetOrTriedToSetValuesBelow(): string { return this.getString('rulessetortriedtosetvaluesbelow');}\n get RulesWillSetOrTriedToSetValuesBelow(): string { return this.getString('ruleswillsetortriedtosetvaluesbelow');}\n get RuleConfirmPopup_ConfirmMessage(): string { return this.getString('ruleconfirmpopup_confirmmessage');}\n get RunAsAdministrator(): string { return this.getString('runasadministrator');}\n get SaveAndClose(): string { return this.getString('saveandclose');}\n get SaveAsNew(): string { return this.getString('saveasnew');}\n get SaveConfiguration(): string { return this.getString('saveconfiguration');}\n get SaveIsNotAllowed(): string { return this.getString('saveisnotallowed');}\n get SaveSearch(): string { return this.getString('savesearch');}\n get SaveThisSearch(): string { return this.getString('savethissearch');}\n get SaveQueryForAllUsers(): string { return this.getString('savequeryforallusers');}\n get Scope(): string { return this.getString('scope');}\n get SearchChildren(): string { return this.getString('searchchildren');}\n get SearchConfiguration(): string { return this.getString('searchconfiguration');}\n get SearchResultFirstLine(): string { return this.getString('searchresultfirstline');}\n get SearchResultFirstLineDescription(): string { return this.getString('searchresultfirstlinedescription');}\n get SearchResults(): string { return this.getString('searchresults');}\n get SearchResultSecondLine(): string { return this.getString('searchresultsecondline');}\n get SearchResultSecondLineDescription(): string { return this.getString('searchresultsecondlinedescription');}\n get SearchSessionDoesNotBelongToTheUser(): string { return this.getString('searchsessiondoesnotbelongtotheuser');}\n get SelectAll(): string { return this.getString('selectall');}\n get SelectConfigurationsWhenNavigatingMap(): string { return this.getString('selectconfigurationswhennavigatingmap');}\n get SelectedValueImageWidth(): string { return this.getString('selectedvalueimagewidth');}\n get SelectedValueImageHeight(): string { return this.getString('selectedvalueimageheight');}\n get SelectFiles(): string { return this.getString('selectfiles');}\n get SelectLangugageAndPressOk(): string { return this.getString('selectlangugageandpressok');}\n get SelectProduct(): string { return this.getString('selectproduct');}\n get SelectValue(): string { return this.getString('selectvalue');}\n get SendVerificationCode(): string { return this.getString('sendverificationcode');}\n get SessionExpiredMessage(): string { return this.getString('sessionexpiredmessage');}\n get SetCurrency(): string { return this.getString('setcurrency');}\n get ShipToStreet(): string { return this.getString('shiptostreet');}\n get ShipToPostalCode(): string { return this.getString('shiptopostalcode');}\n get ShipToCity(): string { return this.getString('shiptocity');}\n get ShipToProvince(): string { return this.getString('shiptoprovince');}\n get ShipToCountry(): string { return this.getString('shiptocountry');}\n get Show(): string { return this.getString('show');}\n get ShowForSelected(): string { return this.getString('showforselected');}\n get ShowCurrentValue(): string { return this.getString('showcurrentvalue');}\n get ShowDeveloperTools(): string { return this.getString('showdevelopertools');}\n get ShowGraphicAxis(): string { return this.getString('showgraphicaxis');}\n get ShowMandatoryParameters(): string { return this.getString('showmandatoryparameters');}\n get ShowResultsInline(): string { return this.getString('showresultsinline');}\n get SignUp(): string { return this.getString('signup');}\n get SingleValue(): string { return this.getString('singlevalue');}\n get SorryNoResultsPleaseTryAgain(): string { return this.getString('sorrynoresultspleasetryagain');}\n get Start(): string { return this.getString('start');}\n get Starting(): string { return this.getString('starting');}\n get StartPage_UsersLastConfigurationsLink(): string { return this.getString('startpage_userslastconfigurationslink');}\n get StartPage_UsersLastConfigurationsMessage(): string { return this.getString('startpage_userslastconfigurationsmessage');}\n get StartPage_WorkGroupLastConfigurationsLink(): string { return this.getString('startpage_workgrouplastconfigurationslink');}\n get StartPage_WorkGroupLastConfigurationsMessage(): string { return this.getString('startpage_workgrouplastconfigurationsmessage');}\n get StateUpdate_ErrorMessage(): string { return this.getString('stateupdate_errormessage');}\n get StateChangedFrom(): string { return this.getString('statechangedfrom');}\n get StoredAttributes(): string { return this.getString('storedattributes');}\n get StoredBillOfMaterials(): string { return this.getString('storedbillofmaterials');}\n get StoredData(): string { return this.getString('storeddata');}\n get StoredItem(): string { return this.getString('storeditem');}\n get StoreCode(): string { return this.getString('storecode');}\n get StoredCode(): string { return this.getString('storedcode');}\n get StoredPriceItem(): string { return this.getString('storedpriceitem');}\n get StoredPrices(): string { return this.getString('storedprices');}\n get StoredQueries(): string { return this.getString('storedqueries');}\n get StoredStructureAttributes(): string { return this.getString('storedstructureattributes');}\n get StoredValues(): string { return this.getString('storedvalues');}\n get StoreQuery(): string { return this.getString('storequery');}\n get StoreQuery_NameErrorMessage(): string { return this.getString('storequery_nameerrormessage');}\n get StoreQuery_StoreMessage(): string { return this.getString('storequery_storemessage');}\n get StructureAddDialogNoProductsToAddMessage(): string { return this.getString('structureadddialognoproductstoaddmessage');}\n get SuccessfullyDeletedSearch(): string { return this.getString('successfullydeletedsearch');}\n get Summary(): string { return this.getString('summary');}\n get SymbolExplanation(): string { return this.getString('symbolexplanation');}\n get ThisMonth(): string { return this.getString('thismonth');}\n get ThisQuarter(): string { return this.getString('thisquarter');}\n get ThisWeek(): string { return this.getString('thisweek');}\n get ThisYear(): string { return this.getString('thisyear');}\n get TheFollowingValuesWereSet(): string { return this.getString('thefollowingvalueswereset');}\n get TheFormMustBeFilledOut(): string { return this.getString('theformmustbefilledout');}\n get TheValueMustBeBetweenXAndY(): string { return this.getString('thevaluemustbebetweenxandy');}\n get TheValueMustBeGreaterOrEqualToX(): string { return this.getString('thevaluemustbegreaterorequaltox');}\n get TheValueMustBeLesserOrEqualToX(): string { return this.getString('thevaluemustbelesserorequaltox');}\n get TheValueIsLockedDueToTheFollowingRules(): string { return this.getString('thevalueislockedduetothefollowingrules');}\n get TitleIsMissing(): string { return this.getString('titleismissing');}\n get To(): string { return this.getString('to');}\n get Today(): string { return this.getString('today');}\n get ToggleDropdown(): string { return this.getString('toggledropdown');}\n get Total(): string { return this.getString('total');}\n get UnauthorizedAccessVault(): string { return this.getString('unauthorizedaccessvault');}\n get Unsaved(): string { return this.getString('unsaved');}\n get Unspecified(): string { return this.getString('unspecified');}\n get Upload(): string { return this.getString('upload');}\n get Uploading(): string { return this.getString('uploading');}\n get UploadCompleted(): string { return this.getString('uploadcompleted');}\n get UploadFailed(): string { return this.getString('uploadfailed');}\n get UploadNotStarted(): string { return this.getString('uploadnotstarted');}\n get UnitCost(): string { return this.getString('unitcost');}\n get UnitPrice(): string { return this.getString('unitprice');}\n get UnsavedChangesConfirmation(): string { return this.getString('unsavedchangesconfirmation');}\n get UsernameOrEmail(): string { return this.getString('usernameoremail');}\n get UserAccountIsInactive(): string { return this.getString('useraccountisinactive');}\n get UserControlled(): string { return this.getString('usercontrolled');}\n get UsernameAlreadyExists(): string { return this.getString('usernamealreadyexists');}\n get UsernameIsRequired(): string { return this.getString('usernameisrequired');}\n get UsernameNotFound(): string { return this.getString('usernamenotfound');}\n get UserProfile(): string { return this.getString('userprofile');}\n get UserProfile_SaveSuccess(): string { return this.getString('userprofile_savesuccess');}\n get UserSettings(): string { return this.getString('usersettings');}\n get UserIsNotAuthorizedToSaveTheSearch(): string { return this.getString('userisnotauthorizedtosavethesearch');}\n get Value1(): string { return this.getString('value1');}\n get Value2(): string { return this.getString('value2');}\n get ValueForAuthorizationGroupMissing(): string { return this.getString('valueforauthorizationgroupmissing');}\n get ValueIsLocked(): string { return this.getString('valueislocked');}\n get ValueRemoved(): string { return this.getString('valueremoved');}\n get Welcome(): string { return this.getString('welcome');}\n get ValidEmailRequiredForConfiguration(): string { return this.getString('validemailrequiredforconfiguration');}\n get ValueXForArgumentYHasInvalidFormat(): string { return this.getString('valuexforargumentyhasinvalidformat');}\n get Viewer(): string { return this.getString('viewer');}\n get ViewErrorDetails(): string { return this.getString('viewerrordetails');}\n get ViewErrormessage(): string { return this.getString('viewerrormessage');}\n get ViewHistory(): string { return this.getString('viewhistory');}\n get ViewXYOfZ(): string { return this.getString('viewxyofz');}\n get Visualizations(): string { return this.getString('visualizations');}\n get Warning(): string { return this.getString('warning');}\n get WarningBoMContainsNonReplacedProxyItems(): string { return this.getString('warningbomcontainsnonreplacedproxyitems');}\n get WarningProxyItem(): string { return this.getString('warningproxyitem');}\n get WebConfiguratorFooterClose(): string { return this.getString('webconfiguratorfooterclose');}\n get WebConfiguratorFooterMandatory(): string { return this.getString('webconfiguratorfootermandatory');}\n get WebConfiguratorFooterSave(): string { return this.getString('webconfiguratorfootersave');}\n get WebConfiguratorFooterSaveAndClose(): string { return this.getString('webconfiguratorfootersaveandclose');}\n get WebMainMenuCreate(): string { return this.getString('webmainmenucreate');}\n get WebMainMenuLogout(): string { return this.getString('webmainmenulogout');}\n get WebMainMenuSettings(): string { return this.getString('webmainmenusettings');}\n get WebMainMenuSearch(): string { return this.getString('webmainmenusearch');}\n get WebMainMenuStart(): string { return this.getString('webmainmenustart');}\n get WebSessionTimeout(): string { return this.getString('websessiontimeout');}\n get WorkGroup(): string { return this.getString('workgroup');}\n get WorkgroupRecent(): string { return this.getString('workgrouprecent');}\n get WorkgroupSettingMissing(): string { return this.getString('workgroupsettingmissing');}\n get XCannotBeSetToY(): string { return this.getString('xcannotbesettoy');}\n get IsLocked(): string { return this.getString('islocked');}\n get XIsNotAValidDecimal(): string { return this.getString('xisnotavaliddecimal');}\n get XSaved(): string { return this.getString('xsaved');}\n get XConfigurationsCreatedSuccessfully(): string { return this.getString('xconfigurationscreatedsuccessfully');}\n get Yesterday(): string { return this.getString('yesterday');}\n get YourConfigurationHasUnsavedChanges(): string { return this.getString('yourconfigurationhasunsavedchanges');}\n get YourLoginIsNotYetInTheCache(): string { return this.getString('yourloginisnotyetinthecache');}\n get YourEmailAddressIsNotVerifiedYet(): string { return this.getString('youremailaddressisnotverifiedyet');}\n get YouAreNotAuthorizedToAccessModifySavedSearches(): string { return this.getString('youarenotauthorizedtoaccessmodifysavedsearches');}\n get YouAreNotAuthorizedToPerformSearchOperation(): string { return this.getString('youarenotauthorizedtoperformsearchoperation');}\n get YouDontHaveTheAuthorizationToAddAttachment(): string { return this.getString('youdonthavetheauthorizationtoaddattachment');}\n get YouDontHaveTheAuthorizationToAddChildConfiguration(): string { return this.getString('youdonthavetheauthorizationtoaddchildconfiguration');}\n get YouDontHaveTheAuthorizationToCopyConfiguration(): string { return this.getString('youdonthavetheauthorizationtocopyconfiguration');}\n get YouDontHaveTheAuthorizationToDeleteAttachment(): string { return this.getString('youdonthavetheauthorizationtodeleteattachment');}\n get YouDontHaveTheAuthorizationToDeleteConfigurationSearch(): string { return this.getString('youdonthavetheauthorizationtodeleteconfigurationsearch');}\n get YouDontHaveTheAuthorizationToSaveConfigurationSearch(): string { return this.getString('youdonthavetheauthorizationtosaveconfigurationsearch');}\n get YouDontHaveTheAuthorizationToDeleteConfiguration(): string { return this.getString('youdonthavetheauthorizationtodeleteconfiguration');}\n get YouDontHaveTheAuthorizationToChangeCurrency(): string { return this.getString('youdonthavetheauthorizationtochangecurrency');}\n get YouDontHaveTheAuthorizationToChangeOwnership(): string { return this.getString('youdonthavetheauthorizationtochangeownership');}\n get YouDontHaveTheAuthorizationToChangePriceList(): string { return this.getString('youdonthavetheauthorizationtochangepricelist');}\n get YouDontHaveTheAuthorizationToChangePriceListCategory(): string { return this.getString('youdonthavetheauthorizationtochangepricelistcategory');}\n get YouDontHaveTheAuthorizationToConfigureProduct(): string { return this.getString('youdonthavetheauthorizationtoconfigureproduct');}\n get YouDontHaveTheAuthorizationToReadConfiguration(): string { return this.getString('youdonthavetheauthorizationtoreadconfiguration');}\n get YouDontHaveTheAuthorizationToReuseConfiguration(): string { return this.getString('youdonthavetheauthorizationtoreuseconfiguration');}\n get YouDontHaveTheAuthorizationToReviseConfiguration(): string { return this.getString('youdonthavetheauthorizationtoreviseconfiguration');}\n get YouDontHaveTheAuthorizationToSaveConfiguration(): string { return this.getString('youdonthavetheauthorizationtosaveconfiguration');}\n get YouDontHaveTheAuthorizationToUpdateConfiguration(): string { return this.getString('youdonthavetheauthorizationtoupdateconfiguration');}\n get YouDontHaveTheAuthorizationToUpdateUser(): string { return this.getString('youdonthavetheauthorizationtoupdateuser');}\n get YouDontHaveTheAuthorizationToUpdateUserSettings(): string { return this.getString('youdonthavetheauthorizationtoupdateusersettings');}\n get YouDontHaveTheAuthorizationToViewAttachment(): string { return this.getString('youdonthavetheauthorizationtoviewattachment');}\n get YouDontHaveTheAuthorizationToViewDocument(): string { return this.getString('youdonthavetheauthorizationtoviewdocument');}\n get YouDontHaveTheAuthorizationToImportNonEffectiveConfigurations(): string { return this.getString('youdonthavetheauthorizationtoimportnoneffectiveconfigurations');}\n get About(): string { return this.getString('about');}\n get AboutCombinum(): string { return this.getString('aboutcombinum');}\n get AboveValues(): string { return this.getString('abovevalues');}\n get Accent1(): string { return this.getString('accent1');}\n get Accent2(): string { return this.getString('accent2');}\n get Accent3(): string { return this.getString('accent3');}\n get Accent4(): string { return this.getString('accent4');}\n get Accent5(): string { return this.getString('accent5');}\n get Accent6(): string { return this.getString('accent6');}\n get AccordionChildren(): string { return this.getString('accordionchildren');}\n get AccordionChildrenTabsWithinTheSameProductMustHaveTheSameSeparatedTabPositions(): string { return this.getString('accordionchildrentabswithinthesameproductmusthavethesameseparatedtabpositions');}\n get AccordionHeaderTab(): string { return this.getString('accordionheadertab');}\n get AccountRecovery(): string { return this.getString('accountrecovery');}\n get Action(): string { return this.getString('action');}\n get ActionArea(): string { return this.getString('actionarea');}\n get ActionBoxes(): string { return this.getString('actionboxes');}\n get ActionBoxesDescription(): string { return this.getString('actionboxesdescription');}\n get ActionItems(): string { return this.getString('actionitems');}\n get Activate(): string { return this.getString('activate');}\n get ActivateNewAccount(): string { return this.getString('activatenewaccount');}\n get ActivateNewAccountDescription(): string { return this.getString('activatenewaccountdescription');}\n get ActivationExpression(): string { return this.getString('activationexpression');}\n get ActivationExpressionIsNotValid(): string { return this.getString('activationexpressionisnotvalid');}\n get Active(): string { return this.getString('active');}\n get ActiveStructureModes(): string { return this.getString('activestructuremodes');}\n get ActiveUsers(): string { return this.getString('activeusers');}\n get ActiveCustomerUsers(): string { return this.getString('activecustomerusers');}\n get AddChild(): string { return this.getString('addchild');}\n get AddChildConfiguration(): string { return this.getString('addchildconfiguration');}\n get AddFolder(): string { return this.getString('addfolder');}\n get AddGraphicsAction(): string { return this.getString('addgraphicsaction');}\n get AddIconMargin(): string { return this.getString('addiconmargin');}\n get Addition(): string { return this.getString('addition');}\n get AdditionSubtraction(): string { return this.getString('additionsubtraction');}\n get AddMultiple(): string { return this.getString('addmultiple');}\n get AddMultiplePriceItems(): string { return this.getString('addmultiplepriceitems');}\n get AddMultipleValues(): string { return this.getString('addmultiplevalues');}\n get AddRow(): string { return this.getString('addrow');}\n get AdjustForImageSize(): string { return this.getString('adjustforimagesize');}\n get Administrator(): string { return this.getString('administrator');}\n get AdvancedPricing(): string { return this.getString('advancedpricing');}\n get ProductData(): string { return this.getString('productdata');}\n get AdvancedRule(): string { return this.getString('advancedrule');}\n get All(): string { return this.getString('all');}\n get AllAlphabeticalAttributes(): string { return this.getString('allalphabeticalattributes');}\n get AllContentsExceptFoldersWillAlsoBeDeleted(): string { return this.getString('allcontentsexceptfolderswillalsobedeleted');}\n get AllFiles(): string { return this.getString('allfiles');}\n get AllObjectsCouldNotBeDeleted(): string { return this.getString('allobjectscouldnotbedeleted');}\n get AllowEditOperationSequence(): string { return this.getString('alloweditoperationsequence');}\n get AllowEditOperationSequenceDescription(): string { return this.getString('alloweditoperationsequencedescription');}\n get AllowedLoginAttempts(): string { return this.getString('allowedloginattempts');}\n get AllowManuallyAddedItems(): string { return this.getString('allowmanuallyaddeditems');}\n get AllowOnlyAdminUsersLoginToAdminSite(): string { return this.getString('allowonlyadminuserslogintoadminsite');}\n get AllowSave(): string { return this.getString('allowsave');}\n get AllowSaveDescription(): string { return this.getString('allowsavedescription');}\n get AllowSearchForChildConfigurations(): string { return this.getString('allowsearchforchildconfigurations');}\n get AllowSearchForChildConfigurationsDescription(): string { return this.getString('allowsearchforchildconfigurationsdescription');}\n get AlternativeValueExpression(): string { return this.getString('alternativevalueexpression');}\n get AlternativeValueExpressionIsNotValid(): string { return this.getString('alternativevalueexpressionisnotvalid');}\n get AnItemWithItemNumberXAndRevisionYAlreadyExists(): string { return this.getString('anitemwithitemnumberxandrevisionyalreadyexists');}\n get AnonymousAccessDisableUploadItem(): string { return this.getString('anonymousaccessdisableuploaditem');}\n get AnonymousAccessDisableUploadItemDescription(): string { return this.getString('anonymousaccessdisableuploaditemdescription');}\n get AnonymousAccessEmailBodyText(): string { return this.getString('anonymousaccessemailbodytext');}\n get AnonymousAccessEmailBodyTextDescription(): string { return this.getString('anonymousaccessemailbodytextdescription');}\n get AnonymousAccessEmailSubjectText(): string { return this.getString('anonymousaccessemailsubjecttext');}\n get AnonymousAccessEmailSubjectTextDescription(): string { return this.getString('anonymousaccessemailsubjecttextdescription');}\n get AnonymousAccessGuestUserDescription(): string { return this.getString('anonymousaccessguestuserdescription');}\n get AnonymousAccessGuestUser(): string { return this.getString('anonymousaccessguestuser');}\n get AnonymousAccessSenderEmailAdress(): string { return this.getString('anonymousaccesssenderemailadress');}\n get AnonymousAccessSenderEmailAdressDescription(): string { return this.getString('anonymousaccesssenderemailadressdescription');}\n get AnonymousUrls(): string { return this.getString('anonymousurls');}\n get And(): string { return this.getString('and');}\n get AnErrorOccuredWhenConnectingToTheDatabase(): string { return this.getString('anerroroccuredwhenconnectingtothedatabase');}\n get ApplicationAndDatabaseVersionNotCompatible(): string { return this.getString('applicationanddatabaseversionnotcompatible');}\n get AppliedIndividually(): string { return this.getString('appliedindividually');}\n get AppliedIndividuallyShort(): string { return this.getString('appliedindividuallyshort');}\n get AppliedIndividuallyToolTip(): string { return this.getString('appliedindividuallytooltip');}\n get ApplyToSelectedWorkGroups(): string { return this.getString('applytoselectedworkgroups');}\n get ArchitectVersion(): string { return this.getString('architectversion');}\n get AreYouSure(): string { return this.getString('areyousure');}\n get AreYouSureYouWantToChangeTheDataType(): string { return this.getString('areyousureyouwanttochangethedatatype');}\n get AreYouSureYouWantToDeleteAllNotUsedKeyTexts(): string { return this.getString('areyousureyouwanttodeleteallnotusedkeytexts');}\n get AreYouSureYouWantToDeleteX(): string { return this.getString('areyousureyouwanttodeletex');}\n get AreYouSureYouWantToExitWithoutSaving(): string { return this.getString('areyousureyouwanttoexitwithoutsaving');}\n get AreYouSureYouWantToModifyItemsFromSearchedResult(): string { return this.getString('areyousureyouwanttomodifyitemsfromsearchedresult');}\n get AreYouSureYouWantToUnlinkTheRootItemFromTheProduct(): string { return this.getString('areyousureyouwanttounlinktherootitemfromtheproduct');}\n get Argument(): string { return this.getString('argument');}\n get ArgumentExpression(): string { return this.getString('argumentexpression');}\n get AsACopyTo(): string { return this.getString('asacopyto');}\n get AsALinkTo(): string { return this.getString('asalinkto');}\n get AsChildTo(): string { return this.getString('aschildto');}\n get AsEnteredWithUnderscores(): string { return this.getString('asenteredwithunderscores');}\n get AsMoveToTab(): string { return this.getString('asmovetotab');}\n get Assembly(): string { return this.getString('assembly');}\n get AtLeastOneMandatoryEmailFieldIsRequired(): string { return this.getString('atleastonemandatoryemailfieldisrequired');}\n get Attribute(): string { return this.getString('attribute');}\n get AttributeDecoration(): string { return this.getString('attributedecoration');}\n get AttributeDecorationItem(): string { return this.getString('attributedecorationitem');}\n get AttributeDecorationItemDoNotHaveAnAttributeReference(): string { return this.getString('attributedecorationitemdonothaveanattributereference');}\n get AttributeDisplayStyle(): string { return this.getString('attributedisplaystyle');}\n get AttributeLinks(): string { return this.getString('attributelinks');}\n get AttributeMatrix(): string { return this.getString('attributematrix');}\n get AttributesForXY(): string { return this.getString('attributesforxy');}\n get AttributeValue(): string { return this.getString('attributevalue');}\n get Authorization(): string { return this.getString('authorization');}\n get AuthorizationGroupFolder(): string { return this.getString('authorizationgroupfolder');}\n get AutoCheckChildren(): string { return this.getString('autocheckchildren');}\n get AutoCheckSiblings(): string { return this.getString('autochecksiblings');}\n get Automatic(): string { return this.getString('automatic');}\n get AutomaticNaming(): string { return this.getString('automaticnaming');}\n get AutomaticNamingStyle(): string { return this.getString('automaticnamingstyle');}\n get AutoSelectRootConfiguration(): string { return this.getString('autoselectrootconfiguration');}\n get AutoSelectRootConfigurationDesc(): string { return this.getString('autoselectrootconfigurationdesc');}\n get AvailableProperties(): string { return this.getString('availableproperties');}\n get AzureCommunicationClientId(): string { return this.getString('azurecommunicationclientid');}\n get AzureCommunicationClientIdDescription(): string { return this.getString('azurecommunicationclientiddescription');}\n get AzureCommunicationEndpoint(): string { return this.getString('azurecommunicationendpoint');}\n get AzureCommunicationEndpointDescription(): string { return this.getString('azurecommunicationendpointdescription');}\n get AzureCommunicationMailFrom(): string { return this.getString('azurecommunicationmailfrom');}\n get AzureCommunicationMailFromDescription(): string { return this.getString('azurecommunicationmailfromdescription');}\n get AzureCommunicationSecret(): string { return this.getString('azurecommunicationsecret');}\n get AzureCommunicationSecretDescription(): string { return this.getString('azurecommunicationsecretdescription');}\n get AzureCommunicationTenantId(): string { return this.getString('azurecommunicationtenantid');}\n get AzureCommunicationTenantIdDescription(): string { return this.getString('azurecommunicationtenantiddescription');}\n get BadUsernameOrPassword(): string { return this.getString('badusernameorpassword');}\n get BandedColumns(): string { return this.getString('bandedcolumns');}\n get BandedRows(): string { return this.getString('bandedrows');}\n get BasePriceIsNotAValidDouble(): string { return this.getString('basepriceisnotavaliddouble');}\n get BillingSite(): string { return this.getString('billingsite');}\n get BillToStreet(): string { return this.getString('billtostreet');}\n get BillToPostalCode(): string { return this.getString('billtopostalcode');}\n get BillToCity(): string { return this.getString('billtocity');}\n get BillToProvince(): string { return this.getString('billtoprovince');}\n get BillToCountry(): string { return this.getString('billtocountry');}\n get BinaryData(): string { return this.getString('binarydata');}\n get BinaryDataCouldNotBeReplaced(): string { return this.getString('binarydatacouldnotbereplaced');}\n get BinaryDataCouldNotBeDownloaded(): string { return this.getString('binarydatacouldnotbedownloaded');}\n get BitMaskPosition(): string { return this.getString('bitmaskposition');}\n get Black(): string { return this.getString('black');}\n get Blue(): string { return this.getString('blue');}\n get BlueCustomerWithMaxNumberOfUsers(): string { return this.getString('bluecustomerwithmaxnumberofusers');}\n get Bold(): string { return this.getString('bold');}\n get BOMColumnSettings(): string { return this.getString('bomcolumnsettings');}\n get BooleanParameter(): string { return this.getString('booleanparameter');}\n get Both(): string { return this.getString('both');}\n get BothAdjustsWordSpacing(): string { return this.getString('bothadjustswordspacing');}\n get Bottom(): string { return this.getString('bottom');}\n get BottomCenter(): string { return this.getString('bottomcenter');}\n get BottomLeft(): string { return this.getString('bottomleft');}\n get BottomRight(): string { return this.getString('bottomright');}\n get BreakAfter(): string { return this.getString('breakafter');}\n get BreakBefore(): string { return this.getString('breakbefore');}\n get BrightGreen(): string { return this.getString('brightgreen');}\n get Browse(): string { return this.getString('browse');}\n get BrowserInfo(): string { return this.getString('browserinfo');}\n get BulletPositionCm(): string { return this.getString('bulletpositioncm');}\n get Button(): string { return this.getString('button');}\n get ButtonLabel(): string { return this.getString('buttonlabel');}\n get Calculated(): string { return this.getString('calculated');}\n get CanChangeCurrency(): string { return this.getString('canchangecurrency');}\n get CanNotAddRepeaterBecauseOfUnderlayingRules(): string { return this.getString('cannotaddrepeaterbecauseofunderlayingrules');}\n get CanNotChangeValueTypeDueToExistingExpressionRef(): string { return this.getString('cannotchangevaluetypeduetoexistingexpressionref');}\n get CanNotChangeValueTypeToXWhenTheAttributeHaveAttributeValues(): string { return this.getString('cannotchangevaluetypetoxwhentheattributehaveattributevalues');}\n get CannotChangeValueTypeValuesCannotBeConverted(): string { return this.getString('cannotchangevaluetypevaluescannotbeconverted');}\n get CanNotChangeRepeaterProductBecauseOfUnderlayingRules(): string { return this.getString('cannotchangerepeaterproductbecauseofunderlayingrules');}\n get CanNotCheckEveryValueWhenUncheckedTriggering(): string { return this.getString('cannotcheckeveryvaluewhenuncheckedtriggering');}\n get CannotCloseCSharpEditorUnsavedChanges(): string { return this.getString('cannotclosecsharpeditorunsavedchanges');}\n get CanNotDeleteAuthorizationGroupWithUsers(): string { return this.getString('cannotdeleteauthorizationgroupwithusers');}\n get CannotPerformOperationsOnVaultOrSpecialSubDirectories(): string { return this.getString('cannotperformoperationsonvaultorspecialsubdirectories');}\n get CanNotInitalizeTheTabsProduct(): string { return this.getString('cannotinitalizethetabsproduct');}\n get CanNotLinkAttributeXBecauseNotLinkedToDecorationsProducts(): string { return this.getString('cannotlinkattributexbecausenotlinkedtodecorationsproducts');}\n get CanNotLinkTheFolderOnItself(): string { return this.getString('cannotlinkthefolderonitself');}\n get CanNotLinkXSinceItHasContents(): string { return this.getString('cannotlinkxsinceithascontents');}\n get CanNotLinkXToItself(): string { return this.getString('cannotlinkxtoitself');}\n get CanNotLinkXToYThatIsChildOfZ(): string { return this.getString('cannotlinkxtoythatischildofz');}\n get CannotLoginContactSystemAdministrator(): string { return this.getString('cannotlogincontactsystemadministrator');}\n get CannotMoveToChildParagraph(): string { return this.getString('cannotmovetochildparagraph');}\n get CannotMoveXToY(): string { return this.getString('cannotmovextoy');}\n get CannotPasteAsLink(): string { return this.getString('cannotpasteaslink');}\n get CannotPasteAsLinkXOnY(): string { return this.getString('cannotpasteaslinkxony');}\n get CannotPasteXOnY(): string { return this.getString('cannotpastexony');}\n get CannotPasteXBecauseTheExpressionForYIsNotCompatibleWithProduct(): string { return this.getString('cannotpastexbecausetheexpressionforyisnotcompatiblewithproduct');}\n get CanNotProcessStructuresGreaterThanXLevels(): string { return this.getString('cannotprocessstructuresgreaterthanxlevels');}\n get CanNotRemoveRepeaterBecauseOfUnderlayingRules(): string { return this.getString('cannotremoverepeaterbecauseofunderlayingrules');}\n get CanNotRemoveRepeaterBecauseOfUnderlayingStructure(): string { return this.getString('cannotremoverepeaterbecauseofunderlayingstructure');}\n get CannotPublishFromThisSite(): string { return this.getString('cannotpublishfromthissite');}\n get CanNotSetDefaultValueToAnObsoleteLookupValue(): string { return this.getString('cannotsetdefaultvaluetoanobsoletelookupvalue');}\n get CanNotSetLookupValueAsObsoleteBecauseDefaultValue(): string { return this.getString('cannotsetlookupvalueasobsoletebecausedefaultvalue');}\n get CanNotSetValueAsObsoleteBecauseOfExpressions(): string { return this.getString('cannotsetvalueasobsoletebecauseofexpressions');}\n get CanNotSetValueAsObsoleteBecauseOfRules(): string { return this.getString('cannotsetvalueasobsoletebecauseofrules');}\n get CanNotSetValueTypeDueToExistingLookupValueTypes(): string { return this.getString('cannotsetvaluetypeduetoexistinglookupvaluetypes');}\n get CannotUnlinkTheAttributeFromTheProduct(): string { return this.getString('cannotunlinktheattributefromtheproduct');}\n get CannotUpdateObjectBecause(): string { return this.getString('cannotupdateobjectbecause');}\n get Cascade(): string { return this.getString('cascade');}\n get Category(): string { return this.getString('category');}\n get CategoryOfTheConfiguration(): string { return this.getString('categoryoftheconfiguration');}\n get Cell(): string { return this.getString('cell');}\n get Center(): string { return this.getString('center');}\n get CenterLeft(): string { return this.getString('centerleft');}\n get CenterRight(): string { return this.getString('centerright');}\n get ChangeCurrency(): string { return this.getString('changecurrency');}\n get ChangePassword(): string { return this.getString('changepassword');}\n get ChangeProductionConnection(): string { return this.getString('changeproductionconnection');}\n get ChangesArePermanent(): string { return this.getString('changesarepermanent');}\n get ChangeTheBorderColor(): string { return this.getString('changethebordercolor');}\n get ChangeTheBorderWidth(): string { return this.getString('changetheborderwidth');}\n get ChangeTheTextColor(): string { return this.getString('changethetextcolor');}\n get Checkbox(): string { return this.getString('checkbox');}\n get Checked(): string { return this.getString('checked');}\n get CheckBehaviorForTree(): string { return this.getString('checkbehaviorfortree');}\n get CheckedInDateTime(): string { return this.getString('checkedindatetime');}\n get CheckedOutSourceCode(): string { return this.getString('checkedoutsourcecode');}\n get CheckExpressionDependenciesForAttributes(): string { return this.getString('checkexpressiondependenciesforattributes');}\n get CheckExpressionDependenciesForDocuments(): string { return this.getString('checkexpressiondependenciesfordocuments');}\n get CheckExpressionDependenciesForGraphics(): string { return this.getString('checkexpressiondependenciesforgraphics');}\n get CheckExpressionDependenciesForPrices(): string { return this.getString('checkexpressiondependenciesforprices');}\n get CheckExpressionDependenciesForReport(): string { return this.getString('checkexpressiondependenciesforreport');}\n get CheckExpressionDependenciesForStructure(): string { return this.getString('checkexpressiondependenciesforstructure');}\n get CheckExpressionDependenciesForTemplateExpressionRule(): string { return this.getString('checkexpressiondependenciesfortemplateexpressionrule');}\n get CheckYourEmail(): string { return this.getString('checkyouremail');}\n get CheckingCompatibility(): string { return this.getString('checkingcompatibility');}\n get CheckingObjectserverCompatibility(): string { return this.getString('checkingobjectservercompatibility');}\n get CheckNodesToCalculateThePriceIfRulesIsFullfilled(): string { return this.getString('checknodestocalculatethepriceifrulesisfullfilled');}\n get Child(): string { return this.getString('child');}\n get ChildConfigurationSuccessfullyImported(): string { return this.getString('childconfigurationsuccessfullyimported');}\n get ChildConfigurationsColumnSettings(): string { return this.getString('childconfigurationscolumnsettings');}\n get ChildProduct(): string { return this.getString('childproduct');}\n get ChildUnit(): string { return this.getString('childunit');}\n get ChildRootAdjustForImageSize(): string { return this.getString('childrootadjustforimagesize');}\n get ChildRootDeltaX(): string { return this.getString('childrootdeltax');}\n get ChildSettings(): string { return this.getString('childsettings');}\n get ChoosenCurrency(): string { return this.getString('choosencurrency');}\n get ChooseOperation(): string { return this.getString('chooseoperation');}\n get ChunkSizeUsedStreamingDatabase(): string { return this.getString('chunksizeusedstreamingdatabase');}\n get City(): string { return this.getString('city');}\n get Class(): string { return this.getString('class');}\n get Clear(): string { return this.getString('clear');}\n get ClickHereForMoreInformation(): string { return this.getString('clickhereformoreinformation');}\n get Clipboard(): string { return this.getString('clipboard');}\n get CloneOfMultiChoiceValueFailedCouldNotGetAUniqueName(): string { return this.getString('cloneofmultichoicevaluefailedcouldnotgetauniquename');}\n get CloseWindows(): string { return this.getString('closewindows');}\n get CloneColumnAndItsValues(): string { return this.getString('clonecolumnanditsvalues');}\n get Cm(): string { return this.getString('cm');}\n get CodeDecoration(): string { return this.getString('codedecoration');}\n get CodeDecorationItem(): string { return this.getString('codedecorationitem');}\n get CodeDecorationHasNoCodeFileReference(): string { return this.getString('codedecorationhasnocodefilereference');}\n get CodeEngine(): string { return this.getString('codeengine');}\n get CodeEngineArguments(): string { return this.getString('codeenginearguments');}\n get CodeEngineHelp(): string { return this.getString('codeenginehelp');}\n get CodeEngineOverride(): string { return this.getString('codeengineoverride');}\n get CodeFile(): string { return this.getString('codefile');}\n get CodeFiles(): string { return this.getString('codefiles');}\n get CodeFileType(): string { return this.getString('codefiletype');}\n get CodeEngineRequired(): string { return this.getString('codeenginerequired');}\n get CodeFileTypeRequired(): string { return this.getString('codefiletyperequired');}\n get CodeFileWebServiceMethodNameXExists(): string { return this.getString('codefilewebservicemethodnamexexists');}\n get CodeItem(): string { return this.getString('codeitem');}\n get CodeItemsWithChildrenExistPreventingChangeOfIsGroupProperty(): string { return this.getString('codeitemswithchildrenexistpreventingchangeofisgroupproperty');}\n get CodeItemsWithInvalidRules(): string { return this.getString('codeitemswithinvalidrules');}\n get CodeItemType(): string { return this.getString('codeitemtype');}\n get CodeRepeater(): string { return this.getString('coderepeater');}\n get CodeValueType(): string { return this.getString('codevaluetype');}\n get CollapseAll(): string { return this.getString('collapseall');}\n get Color(): string { return this.getString('color');}\n get ColorScheme(): string { return this.getString('colorscheme');}\n get ColorMustBeASixCharactersHex(): string { return this.getString('colormustbeasixcharactershex');}\n get Column(): string { return this.getString('column');}\n get ColumnName(): string { return this.getString('columnname');}\n get ColumnNameKeyNotAllowed(): string { return this.getString('columnnamekeynotallowed');}\n get ColumnNameAlreadyExists(): string { return this.getString('columnnamealreadyexists');}\n get ColumnXNotFound(): string { return this.getString('columnxnotfound');}\n get ColumnSettings(): string { return this.getString('columnsettings');}\n get ColumnIndex(): string { return this.getString('columnindex');}\n get Columns(): string { return this.getString('columns');}\n get Combinum(): string { return this.getString('combinum');}\n get CombinumArchitect(): string { return this.getString('combinumarchitect');}\n get COMBINUMArchitectLanguage(): string { return this.getString('combinumarchitectlanguage');}\n get CombinumError(): string { return this.getString('combinumerror');}\n get CombinumExportingTranslations(): string { return this.getString('combinumexportingtranslations');}\n get CombinumImportingTranslations(): string { return this.getString('combinumimportingtranslations');}\n get CombinumInformation(): string { return this.getString('combinuminformation');}\n get CombinumQuestion(): string { return this.getString('combinumquestion');}\n get CombinumTranslationImport(): string { return this.getString('combinumtranslationimport');}\n get CombinumWarning(): string { return this.getString('combinumwarning');}\n get CombinumWebAppUrl(): string { return this.getString('combinumwebappurl');}\n get ComboBox(): string { return this.getString('combobox');}\n get ComboBoxGroup(): string { return this.getString('comboboxgroup');}\n get CommaSeparated(): string { return this.getString('commaseparated');}\n get Comments(): string { return this.getString('comments');}\n get CompareConfigurationsInSearchResult(): string { return this.getString('compareconfigurationsinsearchresult');}\n get CompareParametersSharingName(): string { return this.getString('compareparameterssharingname');}\n get CompareParametersSharingNameDesc(): string { return this.getString('compareparameterssharingnamedesc');}\n get ComposeAnonymousUrls(): string { return this.getString('composeanonymousurls');}\n get Composite(): string { return this.getString('composite');}\n get CompoundInterest(): string { return this.getString('compoundinterest');}\n get CompositePlacement(): string { return this.getString('compositeplacement');}\n get ConfirmDraggingMove(): string { return this.getString('confirmdraggingmove');}\n get ConfirmDeleteLastLinkToRootItem(): string { return this.getString('confirmdeletelastlinktorootitem');}\n get ConfirmDeleteLastParentLinkToItemX(): string { return this.getString('confirmdeletelastparentlinktoitemx');}\n get ConsolidateChildBoms(): string { return this.getString('consolidatechildboms');}\n get Configuration(): string { return this.getString('configuration');}\n get ConfigurationAttributes(): string { return this.getString('configurationattributes');}\n get ConfigurationCard(): string { return this.getString('configurationcard');}\n get ConfigurationCardCompact(): string { return this.getString('configurationcardcompact');}\n get ConfigurationCardCompactDescription(): string { return this.getString('configurationcardcompactdescription');}\n get ConfigurationCardFirstLine(): string { return this.getString('configurationcardfirstline');}\n get ConfigurationCardFirstLineDescription(): string { return this.getString('configurationcardfirstlinedescription');}\n get ConfigurationCardSecondLine(): string { return this.getString('configurationcardsecondline');}\n get ConfigurationCardSecondLineDescription(): string { return this.getString('configurationcardsecondlinedescription');}\n get ConfigurationColumnSettings(): string { return this.getString('configurationcolumnsettings');}\n get ConfigurationIdentity(): string { return this.getString('configurationidentity');}\n get ConfigurationIdentityExpression(): string { return this.getString('configurationidentityexpression');}\n get ConfigurationIncludingChildren(): string { return this.getString('configurationincludingchildren');}\n get ConfigurationIsNotLoadedConfiguratorSessionIsNotInitialized(): string { return this.getString('configurationisnotloadedconfiguratorsessionisnotinitialized');}\n get ConfigurationLabel(): string { return this.getString('configurationlabel');}\n get ConfigurationLabelDescription(): string { return this.getString('configurationlabeldescription');}\n get ConfigurationMultisetValue(): string { return this.getString('configurationmultisetvalue');}\n get ConfigurationNameExpression(): string { return this.getString('configurationnameexpression');}\n get ConfigurationProperties(): string { return this.getString('configurationproperties');}\n get ConfigurationPropertiesAndParametersShownInSearchResult(): string { return this.getString('configurationpropertiesandparametersshowninsearchresult');}\n get ConfigurationPropertiesShownOnSummaryPage(): string { return this.getString('configurationpropertiesshownonsummarypage');}\n get ConfigurationPropertyDecoration(): string { return this.getString('configurationpropertydecoration');}\n get ConfigurationPropertyDecorationItem(): string { return this.getString('configurationpropertydecorationitem');}\n get ConfigurationRevision(): string { return this.getString('configurationrevision');}\n get Configurations(): string { return this.getString('configurations');}\n get ConfigurationsAreAboutToBeDeletedAreYouSureYouWantToContinue(): string { return this.getString('configurationsareabouttobedeletedareyousureyouwanttocontinue');}\n get ConfigurationTemplate(): string { return this.getString('configurationtemplate');}\n get ConfigurationUpload(): string { return this.getString('configurationupload');}\n get ConfigurationValue(): string { return this.getString('configurationvalue');}\n get ConfigurationValues(): string { return this.getString('configurationvalues');}\n get ConfigurationValueBool(): string { return this.getString('configurationvaluebool');}\n get ConfigurationValueDouble(): string { return this.getString('configurationvaluedouble');}\n get ConfigurationValueInt(): string { return this.getString('configurationvalueint');}\n get ConfigurationValueLookup(): string { return this.getString('configurationvaluelookup');}\n get ConfigurationValueMultiChoice(): string { return this.getString('configurationvaluemultichoice');}\n get ConfigurationValueString(): string { return this.getString('configurationvaluestring');}\n get ConfiguratorFooter(): string { return this.getString('configuratorfooter');}\n get ConfiguratorPageHasExpired(): string { return this.getString('configuratorpagehasexpired');}\n get ConfirmCancel(): string { return this.getString('confirmcancel');}\n get ConfirmClone(): string { return this.getString('confirmclone');}\n get ConfirmDeletion(): string { return this.getString('confirmdeletion');}\n get ConfirmLinkCreation(): string { return this.getString('confirmlinkcreation');}\n get ConfirmObjectDeletion(): string { return this.getString('confirmobjectdeletion');}\n get ConfirmPaste(): string { return this.getString('confirmpaste');}\n get ConfirmPasteAsLink(): string { return this.getString('confirmpasteaslink');}\n get ConfirmModificationOnSearchedResult(): string { return this.getString('confirmmodificationonsearchedresult');}\n get ConfirmMoveToTab(): string { return this.getString('confirmmovetotab');}\n get ConfirmSave(): string { return this.getString('confirmsave');}\n get ConnectingToDatabase(): string { return this.getString('connectingtodatabase');}\n get ConnectionError(): string { return this.getString('connectionerror');}\n get ConnectionInformation(): string { return this.getString('connectioninformation');}\n get ConnectionString(): string { return this.getString('connectionstring');}\n get ConnectionToTheProductionSite(): string { return this.getString('connectiontotheproductionsite');}\n get ConnectTo(): string { return this.getString('connectto');}\n get ConnectToADatabase(): string { return this.getString('connecttoadatabase');}\n get ConsistOf(): string { return this.getString('consistof');}\n get ContactDesc(): string { return this.getString('contactdesc');}\n get Containers(): string { return this.getString('containers');}\n get ContainmentAssemblyFile(): string { return this.getString('containmentassemblyfile');}\n get ContainmentClassPrefix(): string { return this.getString('containmentclassprefix');}\n get ContainerStyle(): string { return this.getString('containerstyle');}\n get ControlType(): string { return this.getString('controltype');}\n get ConvertNames(): string { return this.getString('convertnames');}\n get ConvertPricesToCurrency(): string { return this.getString('convertpricestocurrency');}\n get CopyAuthorizationFrom(): string { return this.getString('copyauthorizationfrom');}\n get CopyLinkInformation(): string { return this.getString('copylinkinformation');}\n get Copyright(): string { return this.getString('copyright');}\n get CopyRow(): string { return this.getString('copyrow');}\n get CopyrightUnauthorizedReproductionText(): string { return this.getString('copyrightunauthorizedreproductiontext');}\n get CopyTheSelectedItemsToTheClipboard(): string { return this.getString('copytheselecteditemstotheclipboard');}\n get CopyTheTranslationsInAllLanguagesFromTheKeyText(): string { return this.getString('copythetranslationsinalllanguagesfromthekeytext');}\n get CopyToClipboard(): string { return this.getString('copytoclipboard');}\n get CopyTranslationsTo(): string { return this.getString('copytranslationsto');}\n get CouldNotCloneAttributeIsNotUnique(): string { return this.getString('couldnotcloneattributeisnotunique');}\n get CouldNotCloneDictionaryIsNotUnique(): string { return this.getString('couldnotclonedictionaryisnotunique');}\n get CouldNotCloneCalcColumnIsNotUnique(): string { return this.getString('couldnotclonecalccolumnisnotunique');}\n get CouldNotCloneObjectIsNotUnique(): string { return this.getString('couldnotcloneobjectisnotunique');}\n get CouldNotCloneParameterNameIsNotUnique(): string { return this.getString('couldnotcloneparameternameisnotunique');}\n get CouldNotCloneTheLookupValueBecauseAUniqueNameCouldNotBeCreated(): string { return this.getString('couldnotclonethelookupvaluebecauseauniquenamecouldnotbecreated');}\n get CouldNotLinkSymbolXToGraphicsOfProductY(): string { return this.getString('couldnotlinksymbolxtographicsofproducty');}\n get Country(): string { return this.getString('country');}\n get CreateRepeater(): string { return this.getString('createrepeater');}\n get CreateIndexedInstances(): string { return this.getString('createindexedinstances');}\n get CreatesConnectionToMicrosoftSQLServer(): string { return this.getString('createsconnectiontomicrosoftsqlserver');}\n get CreatesConnectionToOracleServer(): string { return this.getString('createsconnectiontooracleserver');}\n get CSharpCompilationErrors(): string { return this.getString('csharpcompilationerrors');}\n get CustomerManagement(): string { return this.getString('customermanagement');}\n get Currency(): string { return this.getString('currency');}\n get CurrencyFactor(): string { return this.getString('currencyfactor');}\n get CurrentDestinationObjectId(): string { return this.getString('currentdestinationobjectid');}\n get CurrentRowNumber(): string { return this.getString('currentrownumber');}\n get CurrentSourceObjectId(): string { return this.getString('currentsourceobjectid');}\n get CurrentStoredAsPopup(): string { return this.getString('currentstoredaspopup');}\n get CurrentTable(): string { return this.getString('currenttable');}\n get CurrentVersion(): string { return this.getString('currentversion');}\n get Custom(): string { return this.getString('custom');}\n get CustomColorScheme(): string { return this.getString('customcolorscheme');}\n get CustomColorSchemeName(): string { return this.getString('customcolorschemename');}\n get Customer(): string { return this.getString('customer');}\n get Customers(): string { return this.getString('customers');}\n get CustomerContact(): string { return this.getString('customercontact');}\n get CustomerLinkedToActiveUser(): string { return this.getString('customerlinkedtoactiveuser');}\n get CustomerUsersLicenseRestriction(): string { return this.getString('customeruserslicenserestriction');}\n get CustomerNo(): string { return this.getString('customerno');}\n get CustomerReference(): string { return this.getString('customerreference');}\n get CustomerSite(): string { return this.getString('customersite');}\n get DarkBlue(): string { return this.getString('darkblue');}\n get DarkRed(): string { return this.getString('darkred');}\n get DarkYellow(): string { return this.getString('darkyellow');}\n get Data(): string { return this.getString('data');}\n get DatabaseConnection(): string { return this.getString('databaseconnection');}\n get DatabaseIsMissingEncryptionSettings(): string { return this.getString('databaseismissingencryptionsettings');}\n get DatabaseVersion(): string { return this.getString('databaseversion');}\n get DatabaseUpgrade(): string { return this.getString('databaseupgrade');}\n get DatabaseUpgradeError(): string { return this.getString('databaseupgradeerror');}\n get DataSelectorXAlreadyExists(): string { return this.getString('dataselectorxalreadyexists');}\n get DataSelectAction(): string { return this.getString('dataselectaction');}\n get DataSelectCalcColumn(): string { return this.getString('dataselectcalccolumn');}\n get DataSelectColumn(): string { return this.getString('dataselectcolumn');}\n get DataSelectColumnNameXAlreadyExists(): string { return this.getString('dataselectcolumnnamexalreadyexists');}\n get DataSelectFilter(): string { return this.getString('dataselectfilter');}\n get DataSelectorFilterControlsVisible(): string { return this.getString('dataselectorfiltercontrolsvisible');}\n get DataSelectorFilterControlsVisibleDesc(): string { return this.getString('dataselectorfiltercontrolsvisibledesc');}\n get DataSelectSorter(): string { return this.getString('dataselectsorter');}\n get DataSource(): string { return this.getString('datasource');}\n get DateFormat(): string { return this.getString('dateformat');}\n get DateTimeFormat(): string { return this.getString('datetimeformat');}\n get Decibel(): string { return this.getString('decibel');}\n get DecimalSymbol(): string { return this.getString('decimalsymbol');}\n get Decoration(): string { return this.getString('decoration');}\n get Decorations(): string { return this.getString('decorations');}\n get DecreaseIndent(): string { return this.getString('decreaseindent');}\n get Default(): string { return this.getString('default');}\n get DefaultCellMarginTopCm(): string { return this.getString('defaultcellmargintopcm');}\n get DefaultCellMarginBottomCm(): string { return this.getString('defaultcellmarginbottomcm');}\n get DefaultCellMarginLeftCm(): string { return this.getString('defaultcellmarginleftcm');}\n get DefaultCellMarginRightCm(): string { return this.getString('defaultcellmarginrightcm');}\n get DefaultMandatoryState(): string { return this.getString('defaultmandatorystate');}\n get DefaultPriceListCategory(): string { return this.getString('defaultpricelistcategory');}\n get DefaultPriceListCategoryNeedsAuthorization(): string { return this.getString('defaultpricelistcategoryneedsauthorization');}\n get DefaultState(): string { return this.getString('defaultstate');}\n get DefaultStateFromWhichMandatoryParametersAreApplied(): string { return this.getString('defaultstatefromwhichmandatoryparametersareapplied');}\n get DefaultTabStops(): string { return this.getString('defaulttabstops');}\n get DefaultValue(): string { return this.getString('defaultvalue');}\n get DefaultValueIsGreaterThanMaxValue(): string { return this.getString('defaultvalueisgreaterthanmaxvalue');}\n get DefaultValueIsLesserThanMinValue(): string { return this.getString('defaultvalueislesserthanminvalue');}\n get DeleteAllNotUsedKeyTexts(): string { return this.getString('deleteallnotusedkeytexts');}\n get DeleteLink(): string { return this.getString('deletelink');}\n get DeleteLinks(): string { return this.getString('deletelinks');}\n get DeleteRepeater(): string { return this.getString('deleterepeater');}\n get DeliverySite(): string { return this.getString('deliverysite');}\n get DeliveryTerms(): string { return this.getString('deliveryterms');}\n get RemoveRow(): string { return this.getString('removerow');}\n get DeltaX(): string { return this.getString('deltax');}\n get DeltaXIsNotAValidInteger(): string { return this.getString('deltaxisnotavalidinteger');}\n get DeltaY(): string { return this.getString('deltay');}\n get DeltaYIsNotAValidInteger(): string { return this.getString('deltayisnotavalidinteger');}\n get DescendingOrder(): string { return this.getString('descendingorder');}\n get Destination(): string { return this.getString('destination');}\n get DestinationObjectAlreadyExists(): string { return this.getString('destinationobjectalreadyexists');}\n get DestinationPriceItemProductsAreMissingSomeParameters(): string { return this.getString('destinationpriceitemproductsaremissingsomeparameters');}\n get DestinationPriceListsProductAreMissingParameters(): string { return this.getString('destinationpricelistsproductaremissingparameters');}\n get DestinationProductAlreadyExistsOnThisLevel(): string { return this.getString('destinationproductalreadyexistsonthislevel');}\n get DestinationProductHasMissingParametersInRule(): string { return this.getString('destinationproducthasmissingparametersinrule');}\n get DestinationTabDoesNotBelongToProduct(): string { return this.getString('destinationtabdoesnotbelongtoproduct');}\n get DetailArea(): string { return this.getString('detailarea');}\n get DetailBoxes(): string { return this.getString('detailboxes');}\n get DetailBoxesDescription(): string { return this.getString('detailboxesdescription');}\n get DetailedBOMColumnSettings(): string { return this.getString('detailedbomcolumnsettings');}\n get DetailsOnly(): string { return this.getString('detailsonly');}\n get Development(): string { return this.getString('development');}\n get DevelopmentMode(): string { return this.getString('developmentmode');}\n get DevelopmentModeDesc(): string { return this.getString('developmentmodedesc');}\n get DirectoryURL(): string { return this.getString('directoryurl');}\n get DirectoryNameXAlreadyExists(): string { return this.getString('directorynamexalreadyexists');}\n get Dictionary(): string { return this.getString('dictionary');}\n get DictionaryKeyXAlreadyExists(): string { return this.getString('dictionarykeyxalreadyexists');}\n get Dictionaries(): string { return this.getString('dictionaries');}\n get DictionaryEntry(): string { return this.getString('dictionaryentry');}\n get DictionaryColumn(): string { return this.getString('dictionarycolumn');}\n get DictionaryKey(): string { return this.getString('dictionarykey');}\n get DictionarySelectionCanNotBeEmpty(): string { return this.getString('dictionaryselectioncannotbeempty');}\n get DictionaryValueInvalidData(): string { return this.getString('dictionaryvalueinvaliddata');}\n get DictionaryValue(): string { return this.getString('dictionaryvalue');}\n get DisableRevisionManagement(): string { return this.getString('disablerevisionmanagement');}\n get DisableRevisionManagementOneRevisionAllowed(): string { return this.getString('disablerevisionmanagementonerevisionallowed');}\n get DisallowedCharactersXYWasFound(): string { return this.getString('disallowedcharactersxywasfound');}\n get DisallowedCharacterXWasFound(): string { return this.getString('disallowedcharacterxwasfound');}\n get DisallowedCharactersXWereFound(): string { return this.getString('disallowedcharactersxwerefound');}\n get DisallowedCombinationRule(): string { return this.getString('disallowedcombinationrule');}\n get DiscardChanges(): string { return this.getString('discardchanges');}\n get DisplayAsRadio(): string { return this.getString('displayasradio');}\n get DisplayOrder(): string { return this.getString('displayorder');}\n get DisplayAsRadioButtons(): string { return this.getString('displayasradiobuttons');}\n get DisplayDocumentsInOperationsColumn(): string { return this.getString('displaydocumentsinoperationscolumn');}\n get DisplayStyle(): string { return this.getString('displaystyle');}\n get DisplayStyles(): string { return this.getString('displaystyles');}\n get DistributeAdjustsCharacterSpacing(): string { return this.getString('distributeadjustscharacterspacing');}\n get DocxToPdfConversionTimeOut(): string { return this.getString('docxtopdfconversiontimeout');}\n get DocxToPdfConversionTimeOutDesc(): string { return this.getString('docxtopdfconversiontimeoutdesc');}\n get DocxToPdfConversionUrl(): string { return this.getString('docxtopdfconversionurl');}\n get DocxToPdfConversionUrlDesc(): string { return this.getString('docxtopdfconversionurldesc');}\n get DocxToPdfDualLinks(): string { return this.getString('docxtopdfduallinks');}\n get DocxToPdfDualLinksDesc(): string { return this.getString('docxtopdfduallinksdesc');}\n get Document(): string { return this.getString('document');}\n get DocumentLinks(): string { return this.getString('documentlinks');}\n get DocumentsDecoration(): string { return this.getString('documentsdecoration');}\n get DocumentsDecorationItem(): string { return this.getString('documentsdecorationitem');}\n get DocumentsDecorationItemDoesNotHaveADocumentReference(): string { return this.getString('documentsdecorationitemdoesnothaveadocumentreference');}\n get DoubleParameter(): string { return this.getString('doubleparameter');}\n get DoubleValue(): string { return this.getString('doublevalue');}\n get DoYouWantToDeleteTheFlowTrigger(): string { return this.getString('doyouwanttodeletetheflowtrigger');}\n get Down(): string { return this.getString('down');}\n get DownloadBinaryData(): string { return this.getString('downloadbinarydata');}\n get DoYouWantToAddItAnyway(): string { return this.getString('doyouwanttoadditanyway');}\n get DoYouWantToContinue(): string { return this.getString('doyouwanttocontinue');}\n get DoYouWantToDeleteTheRepeater(): string { return this.getString('doyouwanttodeletetherepeater');}\n get DoYouWantToDeleteLinksToDynamicInstances(): string { return this.getString('doyouwanttodeletelinkstodynamicinstances');}\n get DoYouWantToDeleteLinksToNumberSeries(): string { return this.getString('doyouwanttodeletelinkstonumberseries');}\n get DoYouWantToPushUrgentMessage(): string { return this.getString('doyouwanttopushurgentmessage');}\n get DoYouWantToRemoveCalculateStop(): string { return this.getString('doyouwanttoremovecalculatestop');}\n get DoYouWantToSetCalculateStop(): string { return this.getString('doyouwanttosetcalculatestop');}\n get DoYouWantToSaveAndClose(): string { return this.getString('doyouwanttosaveandclose');}\n get DoYouWantToViewObjectsThatCouldNotBeDeleted(): string { return this.getString('doyouwanttoviewobjectsthatcouldnotbedeleted');}\n get DoYouWantToViewPreventingObjects(): string { return this.getString('doyouwanttoviewpreventingobjects');}\n get DXFLineWeightRatio(): string { return this.getString('dxflineweightratio');}\n get DXFLineWeightRatioInHundredsOfAnMmPerPixel(): string { return this.getString('dxflineweightratioinhundredsofanmmperpixel');}\n get DynamicInstance(): string { return this.getString('dynamicinstance');}\n get DynamicInstances(): string { return this.getString('dynamicinstances');}\n get EditingRestrictions(): string { return this.getString('editingrestrictions');}\n get EditorsValueIsNotValid(): string { return this.getString('editorsvalueisnotvalid');}\n get EffectiveFrom(): string { return this.getString('effectivefrom');}\n get EffectiveUntil(): string { return this.getString('effectiveuntil');}\n get EffectivityPeriod(): string { return this.getString('effectivityperiod');}\n get EffectivityMsgWhenChangingIntermediateLevel(): string { return this.getString('effectivitymsgwhenchangingintermediatelevel');}\n get EffectivityMsgWhenChangingLeafLevel(): string { return this.getString('effectivitymsgwhenchangingleaflevel');}\n get EmailAccessLink(): string { return this.getString('emailaccesslink');}\n get EmailAddress(): string { return this.getString('emailaddress');}\n get EmailAddressAssociatedToThisUserNotValid(): string { return this.getString('emailaddressassociatedtothisusernotvalid');}\n get EmailAccessLinkDescription(): string { return this.getString('emailaccesslinkdescription');}\n get EmailVerificationBodyText(): string { return this.getString('emailverificationbodytext');}\n get EmailVerificationBodyTextDescription(): string { return this.getString('emailverificationbodytextdescription');}\n get EmailVerificationSubjectText(): string { return this.getString('emailverificationsubjecttext');}\n get EmailVerificationSubjectTextDescription(): string { return this.getString('emailverificationsubjecttextdescription');}\n get EmailOrUsernameEmptyMessage(): string { return this.getString('emailorusernameemptymessage');}\n get EmptyKeyIsNotAllowedAsIdentifier(): string { return this.getString('emptykeyisnotallowedasidentifier');}\n get EmptySelectedValueHelpImageHeightNotAllowed(): string { return this.getString('emptyselectedvaluehelpimageheightnotallowed');}\n get EmptySelectedValueHelpImageWidthNotAllowed(): string { return this.getString('emptyselectedvaluehelpimagewidthnotallowed');}\n get EmptyNameIsNotAllowedAsIdentifier(): string { return this.getString('emptynameisnotallowedasidentifier');}\n get EmptyColumnTypeIsNotAllowed(): string { return this.getString('emptycolumntypeisnotallowed');}\n get EmptyValueIsNotAllowed(): string { return this.getString('emptyvalueisnotallowed');}\n get EmptyStringIsNotAllowedWhenValueRequired(): string { return this.getString('emptystringisnotallowedwhenvaluerequired');}\n get Enabled(): string { return this.getString('enabled');}\n get EnableAccountCreation(): string { return this.getString('enableaccountcreation');}\n get EnableAnonymousAccessFromLoginPage(): string { return this.getString('enableanonymousaccessfromloginpage');}\n get EnableAccountCreationDescription(): string { return this.getString('enableaccountcreationdescription');}\n get EnableCompareConfigurations(): string { return this.getString('enablecompareconfigurations');}\n get EnableExpression(): string { return this.getString('enableexpression');}\n get EnableInternetExplorerSupport(): string { return this.getString('enableinternetexplorersupport');}\n get EnableNamingForParameterValues(): string { return this.getString('enablenamingforparametervalues');}\n get EnableNamingForParameterValuesDescription(): string { return this.getString('enablenamingforparametervaluesdescription');}\n get EnablePasswordRecovery(): string { return this.getString('enablepasswordrecovery');}\n get EnablePasswordRecoveryDescription(): string { return this.getString('enablepasswordrecoverydescription');}\n get EnableReplacementControl(): string { return this.getString('enablereplacementcontrol');}\n get EnableReplacementControlDescription(): string { return this.getString('enablereplacementcontroldescription');}\n get EnableSSL(): string { return this.getString('enablessl');}\n get EnableSSLDescription(): string { return this.getString('enablessldescription');}\n get EnableUserToAdjustTheStructureItemsDecorationResult(): string { return this.getString('enableusertoadjustthestructureitemsdecorationresult');}\n get EndCircleRadius(): string { return this.getString('endcircleradius');}\n get EndCircleX(): string { return this.getString('endcirclex');}\n get EndCircleY(): string { return this.getString('endcircley');}\n get EqualTo(): string { return this.getString('equalto');}\n get Error(): string { return this.getString('error');}\n get ErrorCalculatingNextBitMaskPositionForTheState(): string { return this.getString('errorcalculatingnextbitmaskpositionforthestate');}\n get ErrorClass(): string { return this.getString('errorclass');}\n get ErrorDuringTheTranslationImport(): string { return this.getString('errorduringthetranslationimport');}\n get ErrorEditLimit(): string { return this.getString('erroreditlimit');}\n get ErrorExpressionForXIsNotValid(): string { return this.getString('errorexpressionforxisnotvalid');}\n get ErrorInEditorFor(): string { return this.getString('errorineditorfor');}\n get ErrorInitializingRootObject(): string { return this.getString('errorinitializingrootobject');}\n get ErrorInValue(): string { return this.getString('errorinvalue');}\n get ErrorLoadingImage(): string { return this.getString('errorloadingimage');}\n get ErrorMinValueIsGreatherThanMaxValue(): string { return this.getString('errorminvalueisgreatherthanmaxvalue');}\n get ErrorObjectXYNotFound(): string { return this.getString('errorobjectxynotfound');}\n get ErrorObjectXNotFoundForY(): string { return this.getString('errorobjectxnotfoundfory');}\n get ErrorRecordLimit(): string { return this.getString('errorrecordlimit');}\n get ErrorValidatingPassword(): string { return this.getString('errorvalidatingpassword');}\n get ErrorXValueRequired(): string { return this.getString('errorxvaluerequired');}\n get ErrorWhenPrinting(): string { return this.getString('errorwhenprinting');}\n get ErrorWhileFetchingDimensionsOfImage(): string { return this.getString('errorwhilefetchingdimensionsofimage');}\n get ErrorWith(): string { return this.getString('errorwith');}\n get EternalLoopDetected(): string { return this.getString('eternalloopdetected');}\n get ExcelLanguageTranslationExportFinishedSuccessful(): string { return this.getString('excellanguagetranslationexportfinishedsuccessful');}\n get Exception(): string { return this.getString('exception');}\n get ExceptionNoEditorRegisteredForType(): string { return this.getString('exceptionnoeditorregisteredfortype');}\n get ExceptionNoObjectServerFound(): string { return this.getString('exceptionnoobjectserverfound');}\n get ExceptionUnexpectedIndexForThemeColor(): string { return this.getString('exceptionunexpectedindexforthemecolor');}\n get ExceptionUnexpectedThemeColor(): string { return this.getString('exceptionunexpectedthemecolor');}\n get ExceptionWhenInitializing(): string { return this.getString('exceptionwheninitializing');}\n get ExceptionWhileReadingFromDatabase(): string { return this.getString('exceptionwhilereadingfromdatabase');}\n get ExcludeGraphicsElementFillInDXF(): string { return this.getString('excludegraphicselementfillindxf');}\n get ExcludeNewMandatoryParametersWhenPromoting(): string { return this.getString('excludenewmandatoryparameterswhenpromoting');}\n get ExecutionTime(): string { return this.getString('executiontime');}\n get Exit(): string { return this.getString('exit');}\n get ExecuteAllSatisfiedRows(): string { return this.getString('executeallsatisfiedrows');}\n get ExpandNoInitial(): string { return this.getString('expandnoinitial');}\n get ExpandFirstLevel(): string { return this.getString('expandfirstlevel');}\n get ExpandSecondLevel(): string { return this.getString('expandsecondlevel');}\n get ExpandAll(): string { return this.getString('expandall');}\n get ExportingLanguageTranslationsToExcel(): string { return this.getString('exportinglanguagetranslationstoexcel');}\n get ExportTranslationsToAnExcelfile(): string { return this.getString('exporttranslationstoanexcelfile');}\n get ExposeThroughWebService(): string { return this.getString('exposethroughwebservice');}\n get ExpressionXinFieldYLocatedInZobjectOfSymbolZZ(): string { return this.getString('expressionxinfieldylocatedinzobjectofsymbolzz');}\n get ExpressionsForPriceItemWasNotClonedDueToMissingParametersInTheDestinationProduct(): string { return this.getString('expressionsforpriceitemwasnotclonedduetomissingparametersinthedestinationproduct');}\n get ExpressionValueTypeIsIncorrectShouldBeOneOfTheTypes(): string { return this.getString('expressionvaluetypeisincorrectshouldbeoneofthetypes');}\n get ExternalLink(): string { return this.getString('externallink');}\n get Factor(): string { return this.getString('factor');}\n get FailedToPublish(): string { return this.getString('failedtopublish');}\n get FailedToSetLookupParameterXSinceTheValueYIsNotDefined(): string { return this.getString('failedtosetlookupparameterxsincethevalueyisnotdefined');}\n get false(): string { return this.getString('false');}\n get FieldCodes(): string { return this.getString('fieldcodes');}\n get FieldType(): string { return this.getString('fieldtype');}\n get File(): string { return this.getString('file');}\n get Files(): string { return this.getString('files');}\n get FileService(): string { return this.getString('fileservice');}\n get FileDoesNotExist(): string { return this.getString('filedoesnotexist');}\n get FileExplorer(): string { return this.getString('fileexplorer');}\n get FileExtension(): string { return this.getString('fileextension');}\n get FileName(): string { return this.getString('filename');}\n get FileNameXAlreadyExists(): string { return this.getString('filenamexalreadyexists');}\n get FileNameExpression(): string { return this.getString('filenameexpression');}\n get FileNameExpressionIsNotValid(): string { return this.getString('filenameexpressionisnotvalid');}\n get FileNotFoundInVaultDocumentView(): string { return this.getString('filenotfoundinvaultdocumentview');}\n get FillingInForms(): string { return this.getString('fillinginforms');}\n get FinalCurrencyOnly(): string { return this.getString('finalcurrencyonly');}\n get FirstCharacterMustBeALetterOrAnUnderscore(): string { return this.getString('firstcharactermustbealetteroranunderscore');}\n get FirstChildRootX(): string { return this.getString('firstchildrootx');}\n get FirstColumn(): string { return this.getString('firstcolumn');}\n get FirstServed(): string { return this.getString('firstserved');}\n get FloatingPointPrecision(): string { return this.getString('floatingpointprecision');}\n get FloatingPointPrecisionForAdditionSubtraction(): string { return this.getString('floatingpointprecisionforadditionsubtraction');}\n get FloatingPointPrecisionForBasePrice(): string { return this.getString('floatingpointprecisionforbaseprice');}\n get FloatingPointPrecisionForChildConfigurations(): string { return this.getString('floatingpointprecisionforchildconfigurations');}\n get FloatingPointPrecisionForCosts(): string { return this.getString('floatingpointprecisionforcosts');}\n get FloatingPointPrecisionForMultiplicationDivision(): string { return this.getString('floatingpointprecisionformultiplicationdivision');}\n get FloatingPointPrecisionForPriceCategories(): string { return this.getString('floatingpointprecisionforpricecategories');}\n get FloatingPointPrecisionForTotalCosts(): string { return this.getString('floatingpointprecisionfortotalcosts');}\n get FloatingPointPrecisionForTotalPrices(): string { return this.getString('floatingpointprecisionfortotalprices');}\n get FloatingPointPrecisionInTheSystem(): string { return this.getString('floatingpointprecisioninthesystem');}\n get FloatingPosition(): string { return this.getString('floatingposition');}\n get FlowAction(): string { return this.getString('flowaction');}\n get FlowActionType(): string { return this.getString('flowactiontype');}\n get FlowTrigger(): string { return this.getString('flowtrigger');}\n get FlowTriggerType(): string { return this.getString('flowtriggertype');}\n get FocalPointX(): string { return this.getString('focalpointx');}\n get FocalPointY(): string { return this.getString('focalpointy');}\n get FollowedHyperlink(): string { return this.getString('followedhyperlink');}\n get Font(): string { return this.getString('font');}\n get FontSize(): string { return this.getString('fontsize');}\n get FooterType(): string { return this.getString('footertype');}\n get Forced(): string { return this.getString('forced');}\n get ForcedTooltip(): string { return this.getString('forcedtooltip');}\n get ForcedTemplateValues(): string { return this.getString('forcedtemplatevalues');}\n get FormControl(): string { return this.getString('formcontrol');}\n get FormDecoration(): string { return this.getString('formdecoration');}\n get FormLabel(): string { return this.getString('formlabel');}\n get Format(): string { return this.getString('format');}\n get Formula(): string { return this.getString('formula');}\n get FullAccess(): string { return this.getString('fullaccess');}\n get General(): string { return this.getString('general');}\n get Generate(): string { return this.getString('generate');}\n get GeneratedUrl(): string { return this.getString('generatedurl');}\n get GiveUpOwnership(): string { return this.getString('giveupownership');}\n get GlobalData(): string { return this.getString('globaldata');}\n get GlobalForm(): string { return this.getString('globalform');}\n get GoogleReCaptchaSecret(): string { return this.getString('googlerecaptchasecret');}\n get GoogleReCaptchaSecretDescription(): string { return this.getString('googlerecaptchasecretdescription');}\n get GraceUntil(): string { return this.getString('graceuntil');}\n get Gradient(): string { return this.getString('gradient');}\n get GradientType(): string { return this.getString('gradienttype');}\n get GrandGrandParent(): string { return this.getString('grandgrandparent');}\n get GrandParent(): string { return this.getString('grandparent');}\n get GraphicsDecoration(): string { return this.getString('graphicsdecoration');}\n get GraphicsDisplayStyle(): string { return this.getString('graphicsdisplaystyle');}\n get GraphicsFilter(): string { return this.getString('graphicsfilter');}\n get GraphicMode(): string { return this.getString('graphicmode');}\n get GraphicModeInDecoration(): string { return this.getString('graphicmodeindecoration');}\n get GraphicType(): string { return this.getString('graphictype');}\n get GraphicTypeCannotBeChangedForThisProduct(): string { return this.getString('graphictypecannotbechangedforthisproduct');}\n get GraphicTypeId(): string { return this.getString('graphictypeid');}\n get Gray25Percent(): string { return this.getString('gray25percent');}\n get Gray50Percent(): string { return this.getString('gray50percent');}\n get Green(): string { return this.getString('green');}\n get GroupCategory(): string { return this.getString('groupcategory');}\n get Grouping(): string { return this.getString('grouping');}\n get GroupingOfStructureDecorations(): string { return this.getString('groupingofstructuredecorations');}\n get GroupingOfAttributeDecorations(): string { return this.getString('groupingofattributedecorations');}\n get GroupingOfCodeDecorations(): string { return this.getString('groupingofcodedecorations');}\n get GroupingOfDocumentsDecorations(): string { return this.getString('groupingofdocumentsdecorations');}\n get GroupingOfGraphicsDecorations(): string { return this.getString('groupingofgraphicsdecorations');}\n get GroupingOfImageDecorations(): string { return this.getString('groupingofimagedecorations');}\n get GroupingOfStructureDecorationsDesc(): string { return this.getString('groupingofstructuredecorationsdesc');}\n get GroupingOfAttributeDecorationsDesc(): string { return this.getString('groupingofattributedecorationsdesc');}\n get GroupingOfCodeDecorationsDesc(): string { return this.getString('groupingofcodedecorationsdesc');}\n get GroupingOfDocumentsDecorationsDesc(): string { return this.getString('groupingofdocumentsdecorationsdesc');}\n get GroupingOfGraphicsDecorationsDesc(): string { return this.getString('groupingofgraphicsdecorationsdesc');}\n get GroupingOfImageDecorationsDesc(): string { return this.getString('groupingofimagedecorationsdesc');}\n get GroupingOfVisualizationDecorations(): string { return this.getString('groupingofvisualizationdecorations');}\n get GroupingOfVisualizationDecorationsDesc(): string { return this.getString('groupingofvisualizationdecorationsdesc');}\n get GroupDecorationsOfThisType(): string { return this.getString('groupdecorationsofthistype');}\n get GroupProductsByFamilyInFilterControl(): string { return this.getString('groupproductsbyfamilyinfiltercontrol');}\n get GroupProductsByFamilyInFilterControlDescription(): string { return this.getString('groupproductsbyfamilyinfiltercontroldescription');}\n get DisplayIndividuallyBelowItsTab(): string { return this.getString('displayindividuallybelowitstab');}\n get HalfPixelTranslate(): string { return this.getString('halfpixeltranslate');}\n get HalfPixelTranslateDescription(): string { return this.getString('halfpixeltranslatedescription');}\n get Hanging(): string { return this.getString('hanging');}\n get HandleTitle(): string { return this.getString('handletitle');}\n get HangingPosition(): string { return this.getString('hangingposition');}\n get HasCodeValueType(): string { return this.getString('hascodevaluetype');}\n get HasTitleExpression(): string { return this.getString('hastitleexpression');}\n get HasValueExpression(): string { return this.getString('hasvalueexpression');}\n get HeaderDecoration(): string { return this.getString('headerdecoration');}\n get HeaderRow(): string { return this.getString('headerrow');}\n get HeaderType(): string { return this.getString('headertype');}\n get Height(): string { return this.getString('height');}\n get HeightCm(): string { return this.getString('heightcm');}\n get HeightIsAtLeast(): string { return this.getString('heightisatleast');}\n get HeightIsNotAValidDouble(): string { return this.getString('heightisnotavaliddouble');}\n get HeightIsNotAValidInteger(): string { return this.getString('heightisnotavalidinteger');}\n get Help(): string { return this.getString('help');}\n get HideAttributesWithEmptyValues(): string { return this.getString('hideattributeswithemptyvalues');}\n get Hidden(): string { return this.getString('hidden');}\n get HideEmptyDecoration(): string { return this.getString('hideemptydecoration');}\n get HideGrandTotalInNonCompositeMode(): string { return this.getString('hidegrandtotalinnoncompositemode');}\n get HideGraphicsControls(): string { return this.getString('hidegraphicscontrols');}\n get HideIfDisabled(): string { return this.getString('hideifdisabled');}\n get HideIfEmpty(): string { return this.getString('hideifempty');}\n get HideNavigationPanel(): string { return this.getString('hidenavigationpanel');}\n get HideQuantityPropertyForRootConfigurations(): string { return this.getString('hidequantitypropertyforrootconfigurations');}\n get HideQuantityPropertyForRootConfigurationsDescription(): string { return this.getString('hidequantitypropertyforrootconfigurationsdescription');}\n get HideValuesIfDisabled(): string { return this.getString('hidevaluesifdisabled');}\n get HighestPrio(): string { return this.getString('highestprio');}\n get HighlightIfMandatoryPopupIsShown(): string { return this.getString('highlightifmandatorypopupisshown');}\n get HighlightSelectedConfiguration(): string { return this.getString('highlightselectedconfiguration');}\n get HighlightSelectedGraphic(): string { return this.getString('highlightselectedgraphic');}\n get Horizontal(): string { return this.getString('horizontal');}\n get HorizontalWithIcons(): string { return this.getString('horizontalwithicons');}\n get HorizontalWithSelectedHelpImageAbove(): string { return this.getString('horizontalwithselectedhelpimageabove');}\n get HostNameSMTPServer(): string { return this.getString('hostnamesmtpserver');}\n get HowAutomaticNameIsGenerated(): string { return this.getString('howautomaticnameisgenerated');}\n get HTMLid(): string { return this.getString('htmlid');}\n get Hyperlink(): string { return this.getString('hyperlink');}\n get Icon(): string { return this.getString('icon');}\n get IconManager(): string { return this.getString('iconmanager');}\n get Icons(): string { return this.getString('icons');}\n get IconTypes(): string { return this.getString('icontypes');}\n get IconTypeXContainsIconsConfirmRemove(): string { return this.getString('icontypexcontainsiconsconfirmremove');}\n get IdentityExpression(): string { return this.getString('identityexpression');}\n get IfAllowed(): string { return this.getString('ifallowed');}\n get IfAllowedTooltip(): string { return this.getString('ifallowedtooltip');}\n get IfBlank(): string { return this.getString('ifblank');}\n get IfBlankTooltip(): string { return this.getString('ifblanktooltip');}\n get IfNotItWillBeTheIconForTheParameter(): string { return this.getString('ifnotitwillbetheiconfortheparameter');}\n get Image(): string { return this.getString('image');}\n get Images(): string { return this.getString('images');}\n get ImageFolder(): string { return this.getString('imagefolder');}\n get ImageDecoration(): string { return this.getString('imagedecoration');}\n get Import(): string { return this.getString('import');}\n get Imported(): string { return this.getString('imported');}\n get ImportingData(): string { return this.getString('importingdata');}\n get ImportingLanguageTranslationsFromExcel(): string { return this.getString('importinglanguagetranslationsfromexcel');}\n get ImportStyleXml(): string { return this.getString('importstylexml');}\n get ImportTranslationsFromAnExcelfile(): string { return this.getString('importtranslationsfromanexcelfile');}\n get IncludeChildren(): string { return this.getString('includechildren');}\n get IncludePreviousRevisions(): string { return this.getString('includepreviousrevisions');}\n get InclusionExpression(): string { return this.getString('inclusionexpression');}\n get InclusionExpressionIsNotValid(): string { return this.getString('inclusionexpressionisnotvalid');}\n get IncompatibleDictionaryKeys(): string { return this.getString('incompatibledictionarykeys');}\n get IncreaseIndent(): string { return this.getString('increaseindent');}\n get Indeterminate(): string { return this.getString('indeterminate');}\n get InfoAndValidation(): string { return this.getString('infoandvalidation');}\n get InitialOffsetX(): string { return this.getString('initialoffsetx');}\n get InitialOffsetY(): string { return this.getString('initialoffsety');}\n get InitialOrigoPosition(): string { return this.getString('initialorigoposition');}\n get InitializingObjects(): string { return this.getString('initializingobjects');}\n get InitialZoomFactor(): string { return this.getString('initialzoomfactor');}\n get InitialZoomFactorInGraphicViewer(): string { return this.getString('initialzoomfactoringraphicviewer');}\n get InitializationMethod(): string { return this.getString('initializationmethod');}\n get InstallNewLicense(): string { return this.getString('installnewlicense');}\n get InsertRow(): string { return this.getString('insertrow');}\n get IntegerParameter(): string { return this.getString('integerparameter');}\n get InvalidRequest(): string { return this.getString('invalidrequest');}\n get InvalidPriceListCategoryNameXValueY(): string { return this.getString('invalidpricelistcategorynamexvaluey');}\n get IntegerValue(): string { return this.getString('integervalue');}\n get InternetExplorerIsNotSupportedDescription(): string { return this.getString('internetexplorerisnotsupporteddescription');}\n get InvalidStatesImportData(): string { return this.getString('invalidstatesimportdata');}\n get IsExpressionFunction(): string { return this.getString('isexpressionfunction');}\n get IsAdvanced(): string { return this.getString('isadvanced');}\n get IsCustom(): string { return this.getString('iscustom');}\n get IsGroupHasChildren(): string { return this.getString('isgrouphaschildren');}\n get IsGroup(): string { return this.getString('isgroup');}\n get IsWelcomeMessage(): string { return this.getString('iswelcomemessage');}\n get IsWarning(): string { return this.getString('iswarning');}\n get IsTemplate(): string { return this.getString('istemplate');}\n get Italic(): string { return this.getString('italic');}\n get ItalicizeTheText(): string { return this.getString('italicizethetext');}\n get ItemBehavior(): string { return this.getString('itembehavior');}\n get Items(): string { return this.getString('items');}\n get ItWontCopy(): string { return this.getString('itwontcopy');}\n get ItWontDelete(): string { return this.getString('itwontdelete');}\n get JobTitle(): string { return this.getString('jobtitle');}\n get Justification(): string { return this.getString('justification');}\n get KeepLinesTogether(): string { return this.getString('keeplinestogether');}\n get KeepStateOnRevise(): string { return this.getString('keepstateonrevise');}\n get KeepStateWhenAConfigurationIsRevised(): string { return this.getString('keepstatewhenaconfigurationisrevised');}\n get KeepWithNext(): string { return this.getString('keepwithnext');}\n get Key(): string { return this.getString('key');}\n get KeyText(): string { return this.getString('keytext');}\n get KeyTextId(): string { return this.getString('keytextid');}\n get KeyTextsNotFound(): string { return this.getString('keytextsnotfound');}\n get KeyTextsWereSuccssefullyImportedFor(): string { return this.getString('keytextsweresuccssefullyimportedfor');}\n get KeyTitle(): string { return this.getString('keytitle');}\n get KeyDataType(): string { return this.getString('keydatatype');}\n get KeyXExistsInDictionary(): string { return this.getString('keyxexistsindictionary');}\n get Label(): string { return this.getString('label');}\n get LandscapeOrientation(): string { return this.getString('landscapeorientation');}\n get LanguageAlreadyExist(): string { return this.getString('languagealreadyexist');}\n get LanguageCode(): string { return this.getString('languagecode');}\n get LanguageCodeAlreadyExist(): string { return this.getString('languagecodealreadyexist');}\n get LanguageCodeIsEmpty(): string { return this.getString('languagecodeisempty');}\n get LanguageHaveReferencingLanguageCodes(): string { return this.getString('languagehavereferencinglanguagecodes');}\n get LanguageUserInterfacePresented(): string { return this.getString('languageuserinterfacepresented');}\n get LanguagesNotFound(): string { return this.getString('languagesnotfound');}\n get LanguageTitle(): string { return this.getString('languagetitle');}\n get LastColumn(): string { return this.getString('lastcolumn');}\n get LastPasswordChange(): string { return this.getString('lastpasswordchange');}\n get LastServed(): string { return this.getString('lastserved');}\n get Layout(): string { return this.getString('layout');}\n get Left(): string { return this.getString('left');}\n get LeftAndDown(): string { return this.getString('leftanddown');}\n get LeftAndUp(): string { return this.getString('leftandup');}\n get Level(): string { return this.getString('level');}\n get License(): string { return this.getString('license');}\n get LicensedModules(): string { return this.getString('licensedmodules');}\n get LicenseInformation(): string { return this.getString('licenseinformation');}\n get LicenseIsMissingForXModule(): string { return this.getString('licenseismissingforxmodule');}\n get LicenseNotValidContactSystemAdministrator(): string { return this.getString('licensenotvalidcontactsystemadministrator');}\n get Linear(): string { return this.getString('linear');}\n get LinkAlreadyExists(): string { return this.getString('linkalreadyexists');}\n get LinkBetweenXAndY(): string { return this.getString('linkbetweenxandy');}\n get LinkToWebService(): string { return this.getString('linktowebservice');}\n get List(): string { return this.getString('list');}\n get ListType(): string { return this.getString('listtype');}\n get LoadingGraphics(): string { return this.getString('loadinggraphics');}\n get LoadingTranslations(): string { return this.getString('loadingtranslations');}\n get Local(): string { return this.getString('local');}\n get LocalizeKey(): string { return this.getString('localizekey');}\n get LogOnToServer(): string { return this.getString('logontoserver');}\n get LookupParameter(): string { return this.getString('lookupparameter');}\n get LookupValue(): string { return this.getString('lookupvalue');}\n get LoopWhileIncluded(): string { return this.getString('loopwhileincluded');}\n get LowerCaseWithUnderscore(): string { return this.getString('lowercasewithunderscore');}\n get LowestPrio(): string { return this.getString('lowestprio');}\n get MailMode(): string { return this.getString('mailmode');}\n get MainMenu(): string { return this.getString('mainmenu');}\n get MainWindowTitle(): string { return this.getString('mainwindowtitle');}\n get MakeChanges(): string { return this.getString('makechanges');}\n get MakeCopies(): string { return this.getString('makecopies');}\n get MakeCurrentlyLoggedInUsersWorkgroupAsOwnerUponRevise(): string { return this.getString('makecurrentlyloggedinusersworkgroupasowneruponrevise');}\n get MinimumLengthOfPassword(): string { return this.getString('minimumlengthofpassword');}\n get MakeTheTextBold(): string { return this.getString('makethetextbold');}\n get MakeTheTextLookLikeItWasMarkedWithAHighlighterPen(): string { return this.getString('makethetextlooklikeitwasmarkedwithahighlighterpen');}\n get Manage(): string { return this.getString('manage');}\n get ManageActiveUsersPerLicenseType(): string { return this.getString('manageactiveusersperlicensetype');}\n get Mandatory(): string { return this.getString('mandatory');}\n get MandatoryFieldNotSet(): string { return this.getString('mandatoryfieldnotset');}\n get MandatoryFromState(): string { return this.getString('mandatoryfromstate');}\n get Manual(): string { return this.getString('manual');}\n get ManualOverride(): string { return this.getString('manualoverride');}\n get MarginBottom(): string { return this.getString('marginbottom');}\n get MarginBottomCm(): string { return this.getString('marginbottomcm');}\n get MarginFooter(): string { return this.getString('marginfooter');}\n get MarginFooterCm(): string { return this.getString('marginfootercm');}\n get MarginHeader(): string { return this.getString('marginheader');}\n get MarginHeaderCm(): string { return this.getString('marginheadercm');}\n get MarginLeft(): string { return this.getString('marginleft');}\n get MarginLeftCm(): string { return this.getString('marginleftcm');}\n get MarginRight(): string { return this.getString('marginright');}\n get MarginRightCm(): string { return this.getString('marginrightcm');}\n get MarginTop(): string { return this.getString('margintop');}\n get MarginTopCm(): string { return this.getString('margintopcm');}\n get MaxArchitectUsers(): string { return this.getString('maxarchitectusers');}\n get MaxConfigurationsInComparison(): string { return this.getString('maxconfigurationsincomparison');}\n get MaxConfigurationsInComparisonDescription(): string { return this.getString('maxconfigurationsincomparisondescription');}\n get MaxConfigurationsPerYear(): string { return this.getString('maxconfigurationsperyear');}\n get MaxConfiguratorUsers(): string { return this.getString('maxconfiguratorusers');}\n get MaxCustomerUsers(): string { return this.getString('maxcustomerusers');}\n get MaxCustomerUsersPerCustomerOrganization(): string { return this.getString('maxcustomeruserspercustomerorganization');}\n get MaxIdentifierLengthIsXCharacters(): string { return this.getString('maxidentifierlengthisxcharacters');}\n get Maximum(): string { return this.getString('maximum');}\n get MaximumLength(): string { return this.getString('maximumlength');}\n get MaximumFileUploadSize(): string { return this.getString('maximumfileuploadsize');}\n get MaximumFileUploadSizeDesc(): string { return this.getString('maximumfileuploadsizedesc');}\n get MaximumNumberOfWindows(): string { return this.getString('maximumnumberofwindows');}\n get MaxDepthOfItems(): string { return this.getString('maxdepthofitems');}\n get MaxNumberOfAdministratorsReached(): string { return this.getString('maxnumberofadministratorsreached');}\n get MaxNumberOfConfiguratorUsersReached(): string { return this.getString('maxnumberofconfiguratorusersreached');}\n get MaxNumberOfCustomerUsersReached(): string { return this.getString('maxnumberofcustomerusersreached');}\n get MaxNumberOfUsersReachedSuggestion(): string { return this.getString('maxnumberofusersreachedsuggestion');}\n get MaxNumbersOfStatesAdded(): string { return this.getString('maxnumbersofstatesadded');}\n get MaxDepthOfPriceItems(): string { return this.getString('maxdepthofpriceitems');}\n get MaxRecentResults(): string { return this.getString('maxrecentresults');}\n get MaxRecentResultsDescription(): string { return this.getString('maxrecentresultsdescription');}\n get MaxValue(): string { return this.getString('maxvalue');}\n get Member(): string { return this.getString('member');}\n get MergeCellsSpan(): string { return this.getString('mergecellsspan');}\n get Minimum(): string { return this.getString('minimum');}\n get MinimumTabWidth(): string { return this.getString('minimumtabwidth');}\n get MinimumTabWidthForSeparatedTabs(): string { return this.getString('minimumtabwidthforseparatedtabs');}\n get MinimumTabWidthForSeparatedTabsConfigurator(): string { return this.getString('minimumtabwidthforseparatedtabsconfigurator');}\n get MinimumTabWidthTabsConfigurator(): string { return this.getString('minimumtabwidthtabsconfigurator');}\n get MinimumValueOfXIsY(): string { return this.getString('minimumvalueofxisy');}\n get MinorHeader(): string { return this.getString('minorheader');}\n get MinValue(): string { return this.getString('minvalue');}\n get MissingCompositeExpressionModule(): string { return this.getString('missingcompositeexpressionmodule');}\n get MissingStructureAssembly(): string { return this.getString('missingstructureassembly');}\n get MissingLicenseForAdvancedPricing(): string { return this.getString('missinglicenseforadvancedpricing');}\n get MissingLocalizeKeys(): string { return this.getString('missinglocalizekeys');}\n get MissingParameters(): string { return this.getString('missingparameters');}\n get MissingAttributes(): string { return this.getString('missingattributes');}\n get MoreColors(): string { return this.getString('morecolors');}\n get MoveDown(): string { return this.getString('movedown');}\n get MoveDownRoot(): string { return this.getString('movedownroot');}\n get MoveLeft(): string { return this.getString('moveleft');}\n get MoveRight(): string { return this.getString('moveright');}\n get MoreThan100000EntriesFoundResultIsLimited(): string { return this.getString('morethan100000entriesfoundresultislimited');}\n get MoveToBottom(): string { return this.getString('movetobottom');}\n get MoveToTab(): string { return this.getString('movetotab');}\n get MoveToTop(): string { return this.getString('movetotop');}\n get MoveUp(): string { return this.getString('moveup');}\n get MoveUpRoot(): string { return this.getString('moveuproot');}\n get MultiChoiceParameter(): string { return this.getString('multichoiceparameter');}\n get MultiChoiceValue(): string { return this.getString('multichoicevalue');}\n get MultiLanguage(): string { return this.getString('multilanguage');}\n get MultiLevelBOM(): string { return this.getString('multilevelbom');}\n get MultipleValueTabSetup(): string { return this.getString('multiplevaluetabsetup');}\n get MultiplicationDivision(): string { return this.getString('multiplicationdivision');}\n get MultipleAccountsWithSameUsername(): string { return this.getString('multipleaccountswithsameusername');}\n get MultipleAccountsWithSameEmail(): string { return this.getString('multipleaccountswithsameemail');}\n get MultipleAccountsWithSameEmailPleaseEnterUsername(): string { return this.getString('multipleaccountswithsameemailpleaseenterusername');}\n get MustHaveAPropertyName(): string { return this.getString('musthaveapropertyname');}\n get NameNotRecognizedByCodeEngine(): string { return this.getString('namenotrecognizedbycodeengine');}\n get Namespace(): string { return this.getString('namespace');}\n get NameXAlreadyExistsInDataSelectorDictionaryColumns(): string { return this.getString('namexalreadyexistsindataselectordictionarycolumns');}\n get NameXDictionaryAlreadyExists(): string { return this.getString('namexdictionaryalreadyexists');}\n get NameXStructureModeAlreadyExists(): string { return this.getString('namexstructuremodealreadyexists');}\n get NameXGraphicsModeAlreadyExists(): string { return this.getString('namexgraphicsmodealreadyexists');}\n get NameXConflictsWithOtherParameters(): string { return this.getString('namexconflictswithotherparameters');}\n get NameXConflictWithAParameterAtSameScope(): string { return this.getString('namexconflictwithaparameteratsamescope');}\n get NewLineSeparated(): string { return this.getString('newlineseparated');}\n get NewPasswordsDoesNotMatch(): string { return this.getString('newpasswordsdoesnotmatch');}\n get NewWindow(): string { return this.getString('newwindow');}\n get NextValue(): string { return this.getString('nextvalue');}\n get NoActiveUserAccountWasFound(): string { return this.getString('noactiveuseraccountwasfound');}\n get NoColor(): string { return this.getString('nocolor');}\n get NoConfigurationValueSelected(): string { return this.getString('noconfigurationvalueselected');}\n get NoChangesReadOnly(): string { return this.getString('nochangesreadonly');}\n get NoEventXFoundInClassY(): string { return this.getString('noeventxfoundinclassy');}\n get NoGraphicTypeIsSelected(): string { return this.getString('nographictypeisselected');}\n get NoOfFilesAllowed(): string { return this.getString('nooffilesallowed');}\n get NoOfFilesAllowedDesc(): string { return this.getString('nooffilesalloweddesc');}\n get NoAutomaticNaming(): string { return this.getString('noautomaticnaming');}\n get NoCodeItemTypeSelected(): string { return this.getString('nocodeitemtypeselected');}\n get None(): string { return this.getString('none');}\n get NonPositionalOnly(): string { return this.getString('nonpositionalonly');}\n get NoOfDigitsAfterDecimal(): string { return this.getString('noofdigitsafterdecimal');}\n get NoOfDigitsAfterDecimalForAdditionSubtraction(): string { return this.getString('noofdigitsafterdecimalforadditionsubtraction');}\n get NoOfDigitsAfterDecimalForBasePrice(): string { return this.getString('noofdigitsafterdecimalforbaseprice');}\n get NoOfDigitsAfterDecimalForChildConfigurations(): string { return this.getString('noofdigitsafterdecimalforchildconfigurations');}\n get NoOfDigitsAfterDecimalForCosts(): string { return this.getString('noofdigitsafterdecimalforcosts');}\n get NoOfDigitsAfterDecimalForMultiplicationDivision(): string { return this.getString('noofdigitsafterdecimalformultiplicationdivision');}\n get NoOfDigitsAfterDecimalForPriceCategories(): string { return this.getString('noofdigitsafterdecimalforpricecategories');}\n get NoOfDigitsAfterDecimalForPriceItemsWithOperationsAdditionOrSubtration(): string { return this.getString('noofdigitsafterdecimalforpriceitemswithoperationsadditionorsubtration');}\n get NoOfDigitsAfterDecimalForPriceItemsWithOperationsMultiplicationDivision(): string { return this.getString('noofdigitsafterdecimalforpriceitemswithoperationsmultiplicationdivision');}\n get NoOfDigitsAfterDecimalForTotalCosts(): string { return this.getString('noofdigitsafterdecimalfortotalcosts');}\n get NoOfDigitsAfterDecimalForTotalPrices(): string { return this.getString('noofdigitsafterdecimalfortotalprices');}\n get NoParameterSelected(): string { return this.getString('noparameterselected');}\n get NoParamValueSelected(): string { return this.getString('noparamvalueselected');}\n get NoPrimaryWorkGroupSelected(): string { return this.getString('noprimaryworkgroupselected');}\n get Normal(): string { return this.getString('normal');}\n get NormalFont(): string { return this.getString('normalfont');}\n get NotAValidLicenseFile(): string { return this.getString('notavalidlicensefile');}\n get NoteCodeStructureCopiedButInvalidRulesCleared(): string { return this.getString('notecodestructurecopiedbutinvalidrulescleared');}\n get NoteReportStructureCopiedButInvalidProductsCleared(): string { return this.getString('notereportstructurecopiedbutinvalidproductscleared');}\n get NoteReportStructureCopiedButInvalidRulesCleared(): string { return this.getString('notereportstructurecopiedbutinvalidrulescleared');}\n get Notes(): string { return this.getString('notes');}\n get NotSet(): string { return this.getString('notset');}\n get NotUsed(): string { return this.getString('notused');}\n get NotUsedObjectsOfClass(): string { return this.getString('notusedobjectsofclass');}\n get NoValidDataForPasteInClipBoard(): string { return this.getString('novaliddataforpasteinclipboard');}\n get NoValueIsChoosen(): string { return this.getString('novalueischoosen');}\n get NoValuesChoosen(): string { return this.getString('novalueschoosen');}\n get NoValuesChoosenForX(): string { return this.getString('novalueschoosenforx');}\n get Number(): string { return this.getString('number');}\n get NumberOfDaysBeforeThePasswordExpiresToShowAWarningWhenLoggingIn(): string { return this.getString('numberofdaysbeforethepasswordexpirestoshowawarningwhenloggingin');}\n get NumberOfDaysBetweenMandatoryPasswordChanges(): string { return this.getString('numberofdaysbetweenmandatorypasswordchanges');}\n get NumberOfTimesThatTheUserCanNotUseAnAlreadyUsedPassword(): string { return this.getString('numberoftimesthattheusercannotuseanalreadyusedpassword');}\n get NumberSeries(): string { return this.getString('numberseries');}\n get NumberSeriesValue(): string { return this.getString('numberseriesvalue');}\n get NumericFormat(): string { return this.getString('numericformat');}\n get ObjectsCanNotBePastedAsLinkHere(): string { return this.getString('objectscannotbepastedaslinkhere');}\n get ObjectsCanNotBePastedHere(): string { return this.getString('objectscannotbepastedhere');}\n get ObjectId(): string { return this.getString('objectid');}\n get ObjectServerCompabilityError(): string { return this.getString('objectservercompabilityerror');}\n get ObjectsPreventingChangeOfX(): string { return this.getString('objectspreventingchangeofx');}\n get ObjectsPreventingDeletionOfX(): string { return this.getString('objectspreventingdeletionofx');}\n get ObjectsThatCouldNotBeDeleted(): string { return this.getString('objectsthatcouldnotbedeleted');}\n get ObjectsCanOnlyBeMovedWithinTheSameProduct(): string { return this.getString('objectscanonlybemovedwithinthesameproduct');}\n get ObjectXWitnNameYAlreadyExists(): string { return this.getString('objectxwitnnameyalreadyexists');}\n get Obsolete(): string { return this.getString('obsolete');}\n get Office(): string { return this.getString('office');}\n get Office2007_2010(): string { return this.getString('office2007_2010');}\n get OldPasswordIsWrong(): string { return this.getString('oldpasswordiswrong');}\n get OnEventCSharpType(): string { return this.getString('oneventcsharptype');}\n get OnFailureFlowAction(): string { return this.getString('onfailureflowaction');}\n get OnlyOneStateCanBeTheDefaultState(): string { return this.getString('onlyonestatecanbethedefaultstate');}\n get OnlyShowLastRevisionOnStartPage(): string { return this.getString('onlyshowlastrevisiononstartpage');}\n get OnSuccessFlowAction(): string { return this.getString('onsuccessflowaction');}\n get OpenArchitectObject(): string { return this.getString('openarchitectobject');}\n get OpenExportedExcelFile(): string { return this.getString('openexportedexcelfile');}\n get OpenInDownloadFormat(): string { return this.getString('openindownloadformat');}\n get OpenWindows(): string { return this.getString('openwindows');}\n get Operation(): string { return this.getString('operation');}\n get OperationSequence(): string { return this.getString('operationsequence');}\n get Or(): string { return this.getString('or');}\n get OracleServerProvider(): string { return this.getString('oracleserverprovider');}\n get Order(): string { return this.getString('order');}\n get OrderBomByPositionNo(): string { return this.getString('orderbombypositionno');}\n get OrderBomByPositionNoDescription(): string { return this.getString('orderbombypositionnodescription');}\n get OrderBy(): string { return this.getString('orderby');}\n get OrderedBy(): string { return this.getString('orderedby');}\n get OrderProperty(): string { return this.getString('orderproperty');}\n get OrderSearchResultByConfigurationProperty(): string { return this.getString('ordersearchresultbyconfigurationproperty');}\n get Organization(): string { return this.getString('organization');}\n get OriginalCurrency(): string { return this.getString('originalcurrency');}\n get OriginalAndFinalCurrency(): string { return this.getString('originalandfinalcurrency');}\n get OtherObjectsArePreventingDeletionOfX(): string { return this.getString('otherobjectsarepreventingdeletionofx');}\n get Output(): string { return this.getString('output');}\n get Overloads(): string { return this.getString('overloads');}\n get OverridePriceListCurrencyInRepeaters(): string { return this.getString('overridepricelistcurrencyinrepeaters');}\n get OverridePriceListCurrencyInRepeatersDesc(): string { return this.getString('overridepricelistcurrencyinrepeatersdesc');}\n get OwnershipChangedFromXToY(): string { return this.getString('ownershipchangedfromxtoy');}\n get Panel(): string { return this.getString('panel');}\n get ParentCodeItemIsNotAGroup(): string { return this.getString('parentcodeitemisnotagroup');}\n get ParentCodeItemMustBeSameFileType(): string { return this.getString('parentcodeitemmustbesamefiletype');}\n get ParentStoredPriceItem(): string { return this.getString('parentstoredpriceitem');}\n get Pad(): string { return this.getString('pad');}\n get Page(): string { return this.getString('page');}\n get PageHasExpired(): string { return this.getString('pagehasexpired');}\n get PageExpired(): string { return this.getString('pageexpired');}\n get PageHeight(): string { return this.getString('pageheight');}\n get PageHeightCm(): string { return this.getString('pageheightcm');}\n get PageLocation(): string { return this.getString('pagelocation');}\n get PageSetup(): string { return this.getString('pagesetup');}\n get PageSize(): string { return this.getString('pagesize');}\n get PageWidth(): string { return this.getString('pagewidth');}\n get PageWidthCm(): string { return this.getString('pagewidthcm');}\n get Paragraph(): string { return this.getString('paragraph');}\n get Paragraphs(): string { return this.getString('paragraphs');}\n get ParagraphStyle(): string { return this.getString('paragraphstyle');}\n get ParameterExpression(): string { return this.getString('parameterexpression');}\n get ParameterExpressionIsNotValid(): string { return this.getString('parameterexpressionisnotvalid');}\n get ParameterPropagation(): string { return this.getString('parameterpropagation');}\n get ParametersAndAttributes(): string { return this.getString('parametersandattributes');}\n get ParametersWithSameNameAlreadyExistsInFollowingProducts(): string { return this.getString('parameterswithsamenamealreadyexistsinfollowingproducts');}\n get ParameterValue(): string { return this.getString('parametervalue');}\n get ParameterValues(): string { return this.getString('parametervalues');}\n get ParamNameTaken(): string { return this.getString('paramnametaken');}\n get ParamValue(): string { return this.getString('paramvalue');}\n get PartOfExpressions(): string { return this.getString('partofexpressions');}\n get PascalStyle(): string { return this.getString('pascalstyle');}\n get PasswordCanNotContainAccountInfoOrName(): string { return this.getString('passwordcannotcontainaccountinfoorname');}\n get PasswordCanNotContainAUsedPassword(): string { return this.getString('passwordcannotcontainausedpassword');}\n get PasswordChangeDays(): string { return this.getString('passwordchangedays');}\n get PasswordChangeDaysWarning(): string { return this.getString('passwordchangedayswarning');}\n get PasswordForEditingRestrictions(): string { return this.getString('passwordforeditingrestrictions');}\n get PasswordForSMTPHost(): string { return this.getString('passwordforsmtphost');}\n get PasswordMinimumLength(): string { return this.getString('passwordminimumlength');}\n get PasswordNotReuseOldTimes(): string { return this.getString('passwordnotreuseoldtimes');}\n get PasswordIsOK(): string { return this.getString('passwordisok');}\n get PasswordMustBeAtLeastXCharacters(): string { return this.getString('passwordmustbeatleastxcharacters');}\n get PasswordMustContainThreeCharacterGroups(): string { return this.getString('passwordmustcontainthreecharactergroups');}\n get PasswordRecoveryBodyText(): string { return this.getString('passwordrecoverybodytext');}\n get PasswordRecoveryBodyTextDescription(): string { return this.getString('passwordrecoverybodytextdescription');}\n get PasswordRecoverySubjectText(): string { return this.getString('passwordrecoverysubjecttext');}\n get PasswordRecoverySubjectTextDescription(): string { return this.getString('passwordrecoverysubjecttextdescription');}\n get PasswordsDoesNotMatch(): string { return this.getString('passwordsdoesnotmatch');}\n get PasswordsChangedSuccessMessage(): string { return this.getString('passwordschangedsuccessmessage');}\n get Paste(): string { return this.getString('paste');}\n get PasteAsLink(): string { return this.getString('pasteaslink');}\n get PasteAsLinkWhenPossibleAndMoveRest(): string { return this.getString('pasteaslinkwhenpossibleandmoverest');}\n get PasteTheContentsOfTheClipboardToTheCurrentLocation(): string { return this.getString('pastethecontentsoftheclipboardtothecurrentlocation');}\n get PasteTheContentsOfTheClipboardToTheCurrentLocationAsLink(): string { return this.getString('pastethecontentsoftheclipboardtothecurrentlocationaslink');}\n get PathXDoesNotExists(): string { return this.getString('pathxdoesnotexists');}\n get PaymentTerms(): string { return this.getString('paymentterms');}\n get PermitPriceListGracePeriodForNewConfigurations(): string { return this.getString('permitpricelistgraceperiodfornewconfigurations');}\n get Pink(): string { return this.getString('pink');}\n get Placeholder(): string { return this.getString('placeholder');}\n get PleaseChangeTheSortOrderEntryOfXToAPositiveNumber(): string { return this.getString('pleasechangethesortorderentryofxtoapositivenumber');}\n get ThereAreMoreThanOneSortOrderXPleaseChangeOrRemoveTheDuplicates(): string { return this.getString('therearemorethanonesortorderxpleasechangeorremovetheduplicates');}\n get PleaseChooseAUniqueAttributeValueName(): string { return this.getString('pleasechooseauniqueattributevaluename');}\n get PleaseContactSystemAdministrator(): string { return this.getString('pleasecontactsystemadministrator');}\n get PleaseExitEditModeBeforeClosingWindow(): string { return this.getString('pleaseexiteditmodebeforeclosingwindow');}\n get PleaseSelectACurrency(): string { return this.getString('pleaseselectacurrency');}\n get PleaseSelectALanguage(): string { return this.getString('pleaseselectalanguage');}\n get PleaseSelectAPriceListCategory(): string { return this.getString('pleaseselectapricelistcategory');}\n get PleaseSelectPriceListCategory(): string { return this.getString('pleaseselectpricelistcategory');}\n get PleaseSelectProduct(): string { return this.getString('pleaseselectproduct');}\n get pngConverterToolInformation(): string { return this.getString('pngconvertertoolinformation');}\n get Popup(): string { return this.getString('popup');}\n get PortOfTheSMTPServer(): string { return this.getString('portofthesmtpserver');}\n get PositionalOnly(): string { return this.getString('positionalonly');}\n get PostalCode(): string { return this.getString('postalcode');}\n get Precision(): string { return this.getString('precision');}\n get PrecisionForPresentation(): string { return this.getString('precisionforpresentation');}\n get PreferredWidth(): string { return this.getString('preferredwidth');}\n get PreferredWidthCm(): string { return this.getString('preferredwidthcm');}\n get Prefix(): string { return this.getString('prefix');}\n get PressLeftMouseButtonToResizeTable(): string { return this.getString('pressleftmousebuttontoresizetable');}\n get PreventedDictionaryKeys(): string { return this.getString('preventeddictionarykeys');}\n get Preview(): string { return this.getString('preview');}\n get PriceAuthorizations(): string { return this.getString('priceauthorizations');}\n get PriceCannotBeCalculatedBecauseOfTypeNumericExpression(): string { return this.getString('pricecannotbecalculatedbecauseoftypenumericexpression');}\n get PriceCategory(): string { return this.getString('pricecategory');}\n get PriceCategories(): string { return this.getString('pricecategories');}\n get PriceFactorOverrideAllowed(): string { return this.getString('pricefactoroverrideallowed');}\n get PriceFactorOverrideAllowedDesc(): string { return this.getString('pricefactoroverridealloweddesc');}\n get PriceItem(): string { return this.getString('priceitem');}\n get PriceItemPriceItemLink(): string { return this.getString('priceitempriceitemlink');}\n get PriceItems(): string { return this.getString('priceitems');}\n get PriceItemsWithOperationsAdditionOrSubtration(): string { return this.getString('priceitemswithoperationsadditionorsubtration');}\n get PriceItemsWithOperationsMultiplicationDivision(): string { return this.getString('priceitemswithoperationsmultiplicationdivision');}\n get PriceItemXAlreadyExistsAsAChildToY(): string { return this.getString('priceitemxalreadyexistsasachildtoy');}\n get PriceList(): string { return this.getString('pricelist');}\n get PriceListCategoriesOfTheUser(): string { return this.getString('pricelistcategoriesoftheuser');}\n get PriceListCategory(): string { return this.getString('pricelistcategory');}\n get PriceListCopy(): string { return this.getString('pricelistcopy');}\n get PriceListCopyMessage(): string { return this.getString('pricelistcopymessage');}\n get PriceListDecoration(): string { return this.getString('pricelistdecoration');}\n get PriceListPriceItemLink(): string { return this.getString('pricelistpriceitemlink');}\n get PriceLists(): string { return this.getString('pricelists');}\n get PriceSettings(): string { return this.getString('pricesettings');}\n get PriceListXIsNotPartOfAnyOfDecorationsProducts(): string { return this.getString('pricelistxisnotpartofanyofdecorationsproducts');}\n get PriceOverrideAllowed(): string { return this.getString('priceoverrideallowed');}\n get PriceOverrideAllowedDesc(): string { return this.getString('priceoverridealloweddesc');}\n get PricePrecisionForPresentationEnabled(): string { return this.getString('priceprecisionforpresentationenabled');}\n get PricePrecisionForPresentationEnabledDesc(): string { return this.getString('priceprecisionforpresentationenableddesc');}\n get PrimaryBillingSite(): string { return this.getString('primarybillingsite');}\n get PrimaryContact(): string { return this.getString('primarycontact');}\n get PrimaryContactShouldBeActive(): string { return this.getString('primarycontactshouldbeactive');}\n get PrimarySite(): string { return this.getString('primarysite');}\n get PrimarySiteShouldBeActive(): string { return this.getString('primarysiteshouldbeactive');}\n get PrimaryWorkGroup(): string { return this.getString('primaryworkgroup');}\n get PrintPreview(): string { return this.getString('printpreview');}\n get ProceedWithCopyAnyway(): string { return this.getString('proceedwithcopyanyway');}\n get ProceedWithDeletionAnyway(): string { return this.getString('proceedwithdeletionanyway');}\n get ProductAttributeLink(): string { return this.getString('productattributelink');}\n get ProductCodeFileLink(): string { return this.getString('productcodefilelink');}\n get ProductDocumentLink(): string { return this.getString('productdocumentlink');}\n get ProductFamily(): string { return this.getString('productfamily');}\n get ProductHasAParameterNamedXcannotAddAttributeX(): string { return this.getString('producthasaparameternamedxcannotaddattributex');}\n get ProductMustBeSelectedForAccordionChildren(): string { return this.getString('productmustbeselectedforaccordionchildren');}\n get ProductProductLink(): string { return this.getString('productproductlink');}\n get ProductRuleLink(): string { return this.getString('productrulelink');}\n get ProductStructure(): string { return this.getString('productstructure');}\n get ProductTitlePrefix(): string { return this.getString('producttitleprefix');}\n get ProductTitleSuffix(): string { return this.getString('producttitlesuffix');}\n get ProductXDoesNotHaveProductGraphicWithGraphicTypeY(): string { return this.getString('productxdoesnothaveproductgraphicwithgraphictypey');}\n get PropagationBehavior(): string { return this.getString('propagationbehavior');}\n get PropertiesInComparison(): string { return this.getString('propertiesincomparison');}\n get PropertiesInComparisonDescription(): string { return this.getString('propertiesincomparisondescription');}\n get PropertiesThatAreSearchable(): string { return this.getString('propertiesthataresearchable');}\n get Property(): string { return this.getString('property');}\n get PropertyDecoration(): string { return this.getString('propertydecoration');}\n get PropertyDecorationItem(): string { return this.getString('propertydecorationitem');}\n get PropertyName(): string { return this.getString('propertyname');}\n get Province(): string { return this.getString('province');}\n get PublishedBy(): string { return this.getString('publishedby');}\n get PublishedDate(): string { return this.getString('publisheddate');}\n get PublishStartDate(): string { return this.getString('publishstartdate');}\n get PublishInformation(): string { return this.getString('publishinformation');}\n get Publishing(): string { return this.getString('publishing');}\n get PublishingErrorReceiver(): string { return this.getString('publishingerrorreceiver');}\n get PublishingErrorReceiverDesc(): string { return this.getString('publishingerrorreceiverdesc');}\n get PublishingInProgress(): string { return this.getString('publishinginprogress');}\n get PublishingPendingFilesDeleteSucceeded(): string { return this.getString('publishingpendingfilesdeletesucceeded');}\n get PublishingPendingFilesDeleteFailed(): string { return this.getString('publishingpendingfilesdeletefailed');}\n get PublishingResult(): string { return this.getString('publishingresult');}\n get PublishingRows(): string { return this.getString('publishingrows');}\n get PublishingSucceeded(): string { return this.getString('publishingsucceeded');}\n get PublishingTableX(): string { return this.getString('publishingtablex');}\n get PublishingUser(): string { return this.getString('publishinguser');}\n get PublishingUserInformation(): string { return this.getString('publishinguserinformation');}\n get PublishNow(): string { return this.getString('publishnow');}\n get PublishSettings(): string { return this.getString('publishsettings');}\n get QuantityExpression(): string { return this.getString('quantityexpression');}\n get QuantityExpressionIsNotValid(): string { return this.getString('quantityexpressionisnotvalid');}\n get R(): string { return this.getString('r');}\n get Radial(): string { return this.getString('radial');}\n get RadioButton(): string { return this.getString('radiobutton');}\n get RadioButtonGroup(): string { return this.getString('radiobuttongroup');}\n get Read(): string { return this.getString('read');}\n get ReadOnly(): string { return this.getString('readonly');}\n get ReCaptchaValidationError(): string { return this.getString('recaptchavalidationerror');}\n get RedCustomerWithTooManyUsers(): string { return this.getString('redcustomerwithtoomanyusers');}\n get Reflect(): string { return this.getString('reflect');}\n get RemoveCalculateStop(): string { return this.getString('removecalculatestop');}\n get Reason(): string { return this.getString('reason');}\n get RecognizedItemTypeNames(): string { return this.getString('recognizeditemtypenames');}\n get RenderedStyles(): string { return this.getString('renderedstyles');}\n get Red(): string { return this.getString('red');}\n get Refresh(): string { return this.getString('refresh');}\n get RegionalSettings(): string { return this.getString('regionalsettings');}\n get RegulatingItems(): string { return this.getString('regulatingitems');}\n get RegulatingParameters(): string { return this.getString('regulatingparameters');}\n get RelationType(): string { return this.getString('relationtype');}\n get RelativePathVaultRootImages(): string { return this.getString('relativepathvaultrootimages');}\n get RelativePathVaultRootDocument(): string { return this.getString('relativepathvaultrootdocument');}\n get RelativePathVaultRootUploads(): string { return this.getString('relativepathvaultrootuploads');}\n get RelativePathVaultRootVisualization(): string { return this.getString('relativepathvaultrootvisualization');}\n get Reload(): string { return this.getString('reload');}\n get RemoveGraphicsAction(): string { return this.getString('removegraphicsaction');}\n get Rename(): string { return this.getString('rename');}\n get Render(): string { return this.getString('render');}\n get ReOrderValues(): string { return this.getString('reordervalues');}\n get RepeatAsHeaderRowOnEachPage(): string { return this.getString('repeatasheaderrowoneachpage');}\n get Repeat(): string { return this.getString('repeat');}\n get RepeaterUsesStoredPrices(): string { return this.getString('repeaterusesstoredprices');}\n get RepeaterUsesStoredPricesDesc(): string { return this.getString('repeaterusesstoredpricesdesc');}\n get ReplaceBinaryData(): string { return this.getString('replacebinarydata');}\n get ReplacementCharEnd(): string { return this.getString('replacementcharend');}\n get ReplacementCharStart(): string { return this.getString('replacementcharstart');}\n get ReplaceSymbol(): string { return this.getString('replacesymbol');}\n get Report(): string { return this.getString('report');}\n get ReportBase(): string { return this.getString('reportbase');}\n get ReportDocument(): string { return this.getString('reportdocument');}\n get ReportDocuments(): string { return this.getString('reportdocuments');}\n get ReportField(): string { return this.getString('reportfield');}\n get ReportFolder(): string { return this.getString('reportfolder');}\n get ReportFolderContainerLink(): string { return this.getString('reportfoldercontainerlink');}\n get ReportFooter(): string { return this.getString('reportfooter');}\n get ReportHeader(): string { return this.getString('reportheader');}\n get ReportImage(): string { return this.getString('reportimage');}\n get ReportImagePathXReadError(): string { return this.getString('reportimagepathxreaderror');}\n get ReportImagesAreIncompatibleWithDestinationProducts(): string { return this.getString('reportimagesareincompatiblewithdestinationproducts');}\n get ReportItemsWithInvalidRules(): string { return this.getString('reportitemswithinvalidrules');}\n get ReportItemsWithInvalidProducts(): string { return this.getString('reportitemswithinvalidproducts');}\n get ReportList(): string { return this.getString('reportlist');}\n get ReportListItem(): string { return this.getString('reportlistitem');}\n get ReportRepeater(): string { return this.getString('reportrepeater');}\n get ReportStyle(): string { return this.getString('reportstyle');}\n get ReportTable(): string { return this.getString('reporttable');}\n get ReportTableCell(): string { return this.getString('reporttablecell');}\n get ReportTableColumnProperties(): string { return this.getString('reporttablecolumnproperties');}\n get ReportTableRow(): string { return this.getString('reporttablerow');}\n get ReportText(): string { return this.getString('reporttext');}\n get ReportVariableText(): string { return this.getString('reportvariabletext');}\n get ReportVariant(): string { return this.getString('reportvariant');}\n get RequestForOrder(): string { return this.getString('requestfororder');}\n get RequestForOrderDesc(): string { return this.getString('requestfororderdesc');}\n get RequestForQuote(): string { return this.getString('requestforquote');}\n get RequestForQuoteDesc(): string { return this.getString('requestforquotedesc');}\n get RequiresParameter(): string { return this.getString('requiresparameter');}\n get RequiresAttribute(): string { return this.getString('requiresattribute');}\n get ResponsiveSize(): string { return this.getString('responsivesize');}\n get RestrictAccessToCustomerConfigurations(): string { return this.getString('restrictaccesstocustomerconfigurations');}\n get RestartArchitectForNewLicense(): string { return this.getString('restartarchitectfornewlicense');}\n get RestorePreviousValues(): string { return this.getString('restorepreviousvalues');}\n get RestrictAccessToConfigurations(): string { return this.getString('restrictaccesstoconfigurations');}\n get RestrictAccessToConfigurationsDesc(): string { return this.getString('restrictaccesstoconfigurationsdesc');}\n get ReturnType(): string { return this.getString('returntype');}\n get ReturnDescription(): string { return this.getString('returndescription');}\n get Right(): string { return this.getString('right');}\n get Root(): string { return this.getString('root');}\n get RightAndUp(): string { return this.getString('rightandup');}\n get RightAndDown(): string { return this.getString('rightanddown');}\n get RightOfValues(): string { return this.getString('rightofvalues');}\n get Rights(): string { return this.getString('rights');}\n get RoundHalfAwayFromZero(): string { return this.getString('roundhalfawayfromzero');}\n get RoundingDigitsPriceItems(): string { return this.getString('roundingdigitspriceitems');}\n get RoundingDigitsTotalPrice(): string { return this.getString('roundingdigitstotalprice');}\n get RoundDown(): string { return this.getString('rounddown');}\n get RoundingBehavior(): string { return this.getString('roundingbehavior');}\n get RoundingMethod(): string { return this.getString('roundingmethod');}\n get RoundPriceItems(): string { return this.getString('roundpriceitems');}\n get RoundHalfToEven(): string { return this.getString('roundhalftoeven');}\n get RoundTotalPrice(): string { return this.getString('roundtotalprice');}\n get RoundUp(): string { return this.getString('roundup');}\n get Row(): string { return this.getString('row');}\n get RowCount(): string { return this.getString('rowcount');}\n get RowCountIsNotAValidInteger(): string { return this.getString('rowcountisnotavalidinteger');}\n get RowHeightIsAtLeast(): string { return this.getString('rowheightisatleast');}\n get RowIndex(): string { return this.getString('rowindex');}\n get Rows(): string { return this.getString('rows');}\n get RuleCategory(): string { return this.getString('rulecategory');}\n get RuleEditor(): string { return this.getString('ruleeditor');}\n get RuleEffective(): string { return this.getString('ruleeffective');}\n get RuleEffectiveOnAdminSite(): string { return this.getString('ruleeffectiveonadminsite');}\n get Rules(): string { return this.getString('rules');}\n get RulesInCopiedCodeFileIncludesParametersOrAttributesThatAreMissingInTheDestinationProducts(): string { return this.getString('rulesincopiedcodefileincludesparametersorattributesthataremissinginthedestinationproducts');}\n get RulesInCopiedReportStructureIncludesParametersOrAttributesThatAreMissingInTheDestinationProducts(): string { return this.getString('rulesincopiedreportstructureincludesparametersorattributesthataremissinginthedestinationproducts');}\n get RulesInCopiedPriceListIncludesParametersOrAttributesThatAreMissingInTheDestinationProducts(): string { return this.getString('rulesincopiedpricelistincludesparametersorattributesthataremissinginthedestinationproducts');}\n get SaveAndEmail(): string { return this.getString('saveandemail');}\n get SaveThisConfigurationAndSendItToYourEmail(): string { return this.getString('savethisconfigurationandsendittoyouremail');}\n get ScaleX(): string { return this.getString('scalex');}\n get ScaleY(): string { return this.getString('scaley');}\n get Scheduled(): string { return this.getString('scheduled');}\n get ScheduledPublishing(): string { return this.getString('scheduledpublishing');}\n get SearchProperties(): string { return this.getString('searchproperties');}\n get SearchPropertiesImmediatelyShown(): string { return this.getString('searchpropertiesimmediatelyshown');}\n get SearchPropertiesImmediatelyShownDesc(): string { return this.getString('searchpropertiesimmediatelyshowndesc');}\n get SearchResultDefaultDescendingOrder(): string { return this.getString('searchresultdefaultdescendingorder');}\n get SearchResultDefaultDescendingOrderDescription(): string { return this.getString('searchresultdefaultdescendingorderdescription');}\n get SearchIncremental(): string { return this.getString('searchincremental');}\n get SearchNormal(): string { return this.getString('searchnormal');}\n get SearchParameter(): string { return this.getString('searchparameter');}\n get SearchResult(): string { return this.getString('searchresult');}\n get SearchResultConfigurationProperties(): string { return this.getString('searchresultconfigurationproperties');}\n get Sec(): string { return this.getString('sec');}\n get SelectColor(): string { return this.getString('selectcolor');}\n get SelectColumns(): string { return this.getString('selectcolumns');}\n get SelectDeselectAll(): string { return this.getString('selectdeselectall');}\n get SelectedDictionaryKey(): string { return this.getString('selecteddictionarykey');}\n get SelectedPropertiesOfReferencedClass(): string { return this.getString('selectedpropertiesofreferencedclass');}\n get SelectedGraphicDecorationNotBelongToDestinationProduct(): string { return this.getString('selectedgraphicdecorationnotbelongtodestinationproduct');}\n get SelectMultiChoiceValue(): string { return this.getString('selectmultichoicevalue');}\n get SelectParagraphBorders(): string { return this.getString('selectparagraphborders');}\n get SelectParameter(): string { return this.getString('selectparameter');}\n get SelectedImageAbove(): string { return this.getString('selectedimageabove');}\n get SelectedImageRight(): string { return this.getString('selectedimageright');}\n get SelectedProperties(): string { return this.getString('selectedproperties');}\n get SelectLanguages(): string { return this.getString('selectlanguages');}\n get SelectLanguagesToViewInTheTranslationTable(): string { return this.getString('selectlanguagestoviewinthetranslationtable');}\n get SelectOrEnterDatabaseName(): string { return this.getString('selectorenterdatabasename');}\n get SelectedObjectNullOrDataTypeMismatch(): string { return this.getString('selectedobjectnullordatatypemismatch');}\n get SelectStyleToImport(): string { return this.getString('selectstyletoimport');}\n get SelectTheTextAttributesThatCanBeTranslated(): string { return this.getString('selectthetextattributesthatcanbetranslated');}\n get SelectedParameterOrMultiChoiceValueAlreadyExists(): string { return this.getString('selectedparameterormultichoicevaluealreadyexists');}\n get SendEmail(): string { return this.getString('sendemail');}\n get SenderEmailAddress(): string { return this.getString('senderemailaddress');}\n get SenderEmailAddressDescription(): string { return this.getString('senderemailaddressdescription');}\n get SendThisConfigurationToYourEmail(): string { return this.getString('sendthisconfigurationtoyouremail');}\n get SendMeALinkToTheConfiguration(): string { return this.getString('sendmealinktotheconfiguration');}\n get SearchAndNavigateAmongHelpTopics(): string { return this.getString('searchandnavigateamonghelptopics');}\n get SearchFilter(): string { return this.getString('searchfilter');}\n get Select(): string { return this.getString('select');}\n get Separate(): string { return this.getString('separate');}\n get SeparatedHeight(): string { return this.getString('separatedheight');}\n get SeparatedTabCollapseAtWindowWidth(): string { return this.getString('separatedtabcollapseatwindowwidth');}\n get SeparatedTabCollapseAtWindowWidthDescription(): string { return this.getString('separatedtabcollapseatwindowwidthdescription');}\n get SeparatedTabPosition(): string { return this.getString('separatedtabposition');}\n get SeparatedWidth(): string { return this.getString('separatedwidth');}\n get Separator(): string { return this.getString('separator');}\n get ServerName(): string { return this.getString('servername');}\n get Set(): string { return this.getString('set');}\n get SetCalculateStop(): string { return this.getString('setcalculatestop');}\n get SetsHowGraphicsShouldBeFiltered(): string { return this.getString('setshowgraphicsshouldbefiltered');}\n get SetsIfTheRuleShouldTriggerByCheckedOrUncheckedValues(): string { return this.getString('setsiftheruleshouldtriggerbycheckedoruncheckedvalues');}\n get Setting(): string { return this.getString('setting');}\n get SettingsGroup(): string { return this.getString('settingsgroup');}\n get ShouldTheNewImageBeAHelpImageForTheParameter(): string { return this.getString('shouldthenewimagebeahelpimagefortheparameter');}\n get ShowAll(): string { return this.getString('showall');}\n get ShowCurrentOrStoredAttributes(): string { return this.getString('showcurrentorstoredattributes');}\n get ShowCurrentOrStoredAttributesDesc(): string { return this.getString('showcurrentorstoredattributesdesc');}\n get ShowDownloadLink(): string { return this.getString('showdownloadlink');}\n get ShowAttributes(): string { return this.getString('showattributes');}\n get ShowAttributesOnSummaryPage(): string { return this.getString('showattributesonsummarypage');}\n get ShowBlankParameters(): string { return this.getString('showblankparameters');}\n get ShowBlankParametersDesc(): string { return this.getString('showblankparametersdesc');}\n get ShowBOM(): string { return this.getString('showbom');}\n get ShowBOMOnSummaryPage(): string { return this.getString('showbomonsummarypage');}\n get ShowChildren(): string { return this.getString('showchildren');}\n get ShowChildConfigurations(): string { return this.getString('showchildconfigurations');}\n get ShowChildrenInAccordionTabs(): string { return this.getString('showchildreninaccordiontabs');}\n get ShowCompositeSidebarDescription(): string { return this.getString('showcompositesidebardescription');}\n get ShowCompositeSidebarLabel(): string { return this.getString('showcompositesidebarlabel');}\n get ShowConfirmBox(): string { return this.getString('showconfirmbox');}\n get ShowCookieInformation(): string { return this.getString('showcookieinformation');}\n get ShowExpandCollapseIcons(): string { return this.getString('showexpandcollapseicons');}\n get ShowFalseParameters(): string { return this.getString('showfalseparameters');}\n get ShowFalseParametersDesc(): string { return this.getString('showfalseparametersdesc');}\n get ShowGrandTotal(): string { return this.getString('showgrandtotal');}\n get ShowGrandTotalInStructureDetails(): string { return this.getString('showgrandtotalinstructuredetails');}\n get ShowHelpImageOfSelectedValue(): string { return this.getString('showhelpimageofselectedvalue');}\n get ShowImage(): string { return this.getString('showimage');}\n get ShowImages(): string { return this.getString('showimages');}\n get ShowImportButtonInCompositeControl(): string { return this.getString('showimportbuttonincompositecontrol');}\n get ShowInConfigurator(): string { return this.getString('showinconfigurator');}\n get ShowInformation(): string { return this.getString('showinformation');}\n get ShowInformationBox(): string { return this.getString('showinformationbox');}\n get ShowingPageXToPageSizeYOfTotalPagesZ(): string { return this.getString('showingpagextopagesizeyoftotalpagesz');}\n get ShowInline(): string { return this.getString('showinline');}\n get ShowInSummary(): string { return this.getString('showinsummary');}\n get ShowInSummaryAsCalculated(): string { return this.getString('showinsummaryascalculated');}\n get ShowInSummaryAsStored(): string { return this.getString('showinsummaryasstored');}\n get ShowMyRecent(): string { return this.getString('showmyrecent');}\n get ShowMyRecentDescription(): string { return this.getString('showmyrecentdescription');}\n get ShowNavigationPanel(): string { return this.getString('shownavigationpanel');}\n get ShowNewParameters(): string { return this.getString('shownewparameters');}\n get ShowNewParametersOnSummaryPage(): string { return this.getString('shownewparametersonsummarypage');}\n get ShowNonEffectiveProducts(): string { return this.getString('shownoneffectiveproducts');}\n get ShowsNonEffectiveProductsDescription(): string { return this.getString('showsnoneffectiveproductsdescription');}\n get ShowsWarningMessageWhenCreatingParameterWithNameUsedInAnotherProduct(): string { return this.getString('showswarningmessagewhencreatingparameterwithnameusedinanotherproduct');}\n get ShowOldParameters(): string { return this.getString('showoldparameters');}\n get ShowOldParametersOnSummaryPage(): string { return this.getString('showoldparametersonsummarypage');}\n get ShowParentGraphics(): string { return this.getString('showparentgraphics');}\n get ShowPrices(): string { return this.getString('showprices');}\n get ShowStoredAttributes(): string { return this.getString('showstoredattributes');}\n get ShowStoredAttributesOnSummaryPage(): string { return this.getString('showstoredattributesonsummarypage');}\n get ShowStoredItems(): string { return this.getString('showstoreditems');}\n get ShowStoredItemsOnSummaryPage(): string { return this.getString('showstoreditemsonsummarypage');}\n get ShowStoredPrices(): string { return this.getString('showstoredprices');}\n get ShowStoredPricesOnSummaryPage(): string { return this.getString('showstoredpricesonsummarypage');}\n get ShowWorkgroupRecent(): string { return this.getString('showworkgrouprecent');}\n get ShowWorkgroupRecentDescription(): string { return this.getString('showworkgrouprecentdescription');}\n get Sibling(): string { return this.getString('sibling');}\n get SimpleRule(): string { return this.getString('simplerule');}\n get SimulatedPrice(): string { return this.getString('simulatedprice');}\n get Simulator(): string { return this.getString('simulator');}\n get SingleLevelBom(): string { return this.getString('singlelevelbom');}\n get SingleLevelConsolidatedBOM(): string { return this.getString('singlelevelconsolidatedbom');}\n get SiteSize(): string { return this.getString('sitesize');}\n get Size(): string { return this.getString('size');}\n get SMTPPort(): string { return this.getString('smtpport');}\n get SMTPHost(): string { return this.getString('smtphost');}\n get SMTPUserName(): string { return this.getString('smtpusername');}\n get SMTPPassword(): string { return this.getString('smtppassword');}\n get SomethingWentWrongInTheHTTPRequest(): string { return this.getString('somethingwentwronginthehttprequest');}\n get Sort(): string { return this.getString('sort');}\n get SortExpression(): string { return this.getString('sortexpression');}\n get SortExpressionIsNotValid(): string { return this.getString('sortexpressionisnotvalid');}\n get SortOrder(): string { return this.getString('sortorder');}\n get SortValuesByKey(): string { return this.getString('sortvaluesbykey');}\n get SortValuesByTitle(): string { return this.getString('sortvaluesbytitle');}\n get Source(): string { return this.getString('source');}\n get SourceCode(): string { return this.getString('sourcecode');}\n get SourceFile(): string { return this.getString('sourcefile');}\n get SourceFolder(): string { return this.getString('sourcefolder');}\n get SourceOrTargetDirectoryDoesNotExist(): string { return this.getString('sourceortargetdirectorydoesnotexist');}\n get SourceProductEqualsDestinationProduct(): string { return this.getString('sourceproductequalsdestinationproduct');}\n get SourceProductFamilyEqualsDestinationProductFamily(): string { return this.getString('sourceproductfamilyequalsdestinationproductfamily');}\n get SpreadMethod(): string { return this.getString('spreadmethod');}\n get Stop1Color(): string { return this.getString('stop1color');}\n get Stop2Color(): string { return this.getString('stop2color');}\n get Stop3Color(): string { return this.getString('stop3color');}\n get Stop1Offset(): string { return this.getString('stop1offset');}\n get Stop2Offset(): string { return this.getString('stop2offset');}\n get Stop3Offset(): string { return this.getString('stop3offset');}\n get StoredCurrentAsPopup(): string { return this.getString('storedcurrentaspopup');}\n get SummarizeAfterConsolidatingBOM(): string { return this.getString('summarizeafterconsolidatingbom');}\n get SumWithPreviousValue(): string { return this.getString('sumwithpreviousvalue');}\n get SumWithPreviousValues(): string { return this.getString('sumwithpreviousvalues');}\n get SuppressFictitiousness(): string { return this.getString('suppressfictitiousness');}\n get SuppressChildConfigurationsWithZeroPrices(): string { return this.getString('suppresschildconfigurationswithzeroprices');}\n get SuppressChildConfigurationReportsWithZeroPrices(): string { return this.getString('suppresschildconfigurationreportswithzeroprices');}\n get SuppressFictitiousnessRuleIsNotValid(): string { return this.getString('suppressfictitiousnessruleisnotvalid');}\n get SupportedBrowsersInfo(): string { return this.getString('supportedbrowsersinfo');}\n get SpacesAreNotAllowedInTheIdentifier(): string { return this.getString('spacesarenotallowedintheidentifier');}\n get SpaceSeparated(): string { return this.getString('spaceseparated');}\n get SpecifiesTheFloatingPointPrecisionForBasePrice(): string { return this.getString('specifiesthefloatingpointprecisionforbaseprice');}\n get SpecifiesTheFloatingPointPrecisionForChildConfigurations(): string { return this.getString('specifiesthefloatingpointprecisionforchildconfigurations');}\n get SpecifiesTheFloatingPointPrecisionForCosts(): string { return this.getString('specifiesthefloatingpointprecisionforcosts');}\n get SpecifiesTheFloatingPointPrecisionForPriceCategories(): string { return this.getString('specifiesthefloatingpointprecisionforpricecategories');}\n get SpecifiesTheFloatingPointPrecisionForPriceItemsWithOperationsAdditionOrSubtration(): string { return this.getString('specifiesthefloatingpointprecisionforpriceitemswithoperationsadditionorsubtration');}\n get SpecifiesTheFloatingPointPrecisionForPriceItemsWithOperationsMultiplicationDivision(): string { return this.getString('specifiesthefloatingpointprecisionforpriceitemswithoperationsmultiplicationdivision');}\n get SpecifiesTheFloatingPointPrecisionForTotalCosts(): string { return this.getString('specifiesthefloatingpointprecisionfortotalcosts');}\n get SpecifiesTheFloatingPointPrecisionForTotalPrices(): string { return this.getString('specifiesthefloatingpointprecisionfortotalprices');}\n get SqlStatemenAttachedSearchConfigurations(): string { return this.getString('sqlstatemenattachedsearchconfigurations');}\n get SQLServerProvider(): string { return this.getString('sqlserverprovider');}\n get SqlToRunOnAdministrationBeforePublishing(): string { return this.getString('sqltorunonadministrationbeforepublishing');}\n get SqlToRunOnProductionBeforePublishing(): string { return this.getString('sqltorunonproductionbeforepublishing');}\n get SslIsOffloaded(): string { return this.getString('sslisoffloaded');}\n get SslIsOffloadedDesc(): string { return this.getString('sslisoffloadeddesc');}\n get StandardColors(): string { return this.getString('standardcolors');}\n get States(): string { return this.getString('states');}\n get StepValue(): string { return this.getString('stepvalue');}\n get StepRounding(): string { return this.getString('steprounding');}\n get StoreBom(): string { return this.getString('storebom');}\n get StoreBomAsSingleLevel(): string { return this.getString('storebomassinglelevel');}\n get StoredDataSelection(): string { return this.getString('storeddataselection');}\n get StoreItems(): string { return this.getString('storeitems');}\n get StreamingChunkSize(): string { return this.getString('streamingchunksize');}\n get Stretch(): string { return this.getString('stretch');}\n get StringParameter(): string { return this.getString('stringparameter');}\n get StructureDecoration(): string { return this.getString('structuredecoration');}\n get StructureDecorationsWithStoredItemsBelongingToAProductMustHaveUniqueStructureModes(): string { return this.getString('structuredecorationswithstoreditemsbelongingtoaproductmusthaveuniquestructuremodes');}\n get StructureMode(): string { return this.getString('structuremode');}\n get Style(): string { return this.getString('style');}\n get StyleNotFoundInTheWordDocument(): string { return this.getString('stylenotfoundintheworddocument');}\n get StyleOrigin(): string { return this.getString('styleorigin');}\n get StyleSuccessfullyImported(): string { return this.getString('stylesuccessfullyimported');}\n get StyleXml(): string { return this.getString('stylexml');}\n get StyleType(): string { return this.getString('styletype');}\n get SubDirectory(): string { return this.getString('subdirectory');}\n get SubParameterRule(): string { return this.getString('subparameterrule');}\n get SubParameters(): string { return this.getString('subparameters');}\n get SubTotal(): string { return this.getString('subtotal');}\n get Suffix(): string { return this.getString('suffix');}\n get SumBehavior(): string { return this.getString('sumbehavior');}\n get SummaryChildConfigurationsColumnSettings(): string { return this.getString('summarychildconfigurationscolumnsettings');}\n get SummaryDisableOptionItems(): string { return this.getString('summarydisableoptionitems');}\n get SummaryDisableOptionItemsDescription(): string { return this.getString('summarydisableoptionitemsdescription');}\n get SummaryDisableStateItem(): string { return this.getString('summarydisablestateitem');}\n get SummaryDisableStateItemDescription(): string { return this.getString('summarydisablestateitemdescription');}\n get SummaryDisableUploadItem(): string { return this.getString('summarydisableuploaditem');}\n get SummaryDisableUploadItemDescription(): string { return this.getString('summarydisableuploaditemdescription');}\n get SummaryDisplayStyle(): string { return this.getString('summarydisplaystyle');}\n get SummaryNewActionPanel(): string { return this.getString('summarynewactionpanel');}\n get SumType(): string { return this.getString('sumtype');}\n get Street(): string { return this.getString('street');}\n get SuperUser(): string { return this.getString('superuser');}\n get SuppressChildren(): string { return this.getString('suppresschildren');}\n get SuppressItemsWithZeroQuantityInBom(): string { return this.getString('suppressitemswithzeroquantityinbom');}\n get SuppressZeroQuantityItems(): string { return this.getString('suppresszeroquantityitems');}\n get SuppressZeroPrices(): string { return this.getString('suppresszeroprices');}\n get Switches(): string { return this.getString('switches');}\n get SymbolFolder(): string { return this.getString('symbolfolder');}\n get Tab(): string { return this.getString('tab');}\n get TabAfter(): string { return this.getString('tabafter');}\n get TabBefore(): string { return this.getString('tabbefore');}\n get TabContents(): string { return this.getString('tabcontents');}\n get TabDecorationLink(): string { return this.getString('tabdecorationlink');}\n get TabOrder(): string { return this.getString('taborder');}\n get TabTitle(): string { return this.getString('tabtitle');}\n get Table(): string { return this.getString('table');}\n get TableEdit(): string { return this.getString('tableedit');}\n get TableStyleOptions(): string { return this.getString('tablestyleoptions');}\n get TabParameterLink(): string { return this.getString('tabparameterlink');}\n get Tabs(): string { return this.getString('tabs');}\n get TabVisualObjectLink(): string { return this.getString('tabvisualobjectlink');}\n get TabXContainsErrors(): string { return this.getString('tabxcontainserrors');}\n get TakeOwnership(): string { return this.getString('takeownership');}\n get TargetFolder(): string { return this.getString('targetfolder');}\n get Teal(): string { return this.getString('teal');}\n get TemplateParameters(): string { return this.getString('templateparameters');}\n get TemplateRule(): string { return this.getString('templaterule');}\n get Terms(): string { return this.getString('terms');}\n get TestCompability(): string { return this.getString('testcompability');}\n get TestConnection(): string { return this.getString('testconnection');}\n get TestConnectionError(): string { return this.getString('testconnectionerror');}\n get TestConnectionSucceded(): string { return this.getString('testconnectionsucceded');}\n get Text(): string { return this.getString('text');}\n get TextBackgroundDark1(): string { return this.getString('textbackgrounddark1');}\n get TextBackgroundLight1(): string { return this.getString('textbackgroundlight1');}\n get TextBackgroundDark2(): string { return this.getString('textbackgrounddark2');}\n get TextBackgroundLight2(): string { return this.getString('textbackgroundlight2');}\n get TextBox(): string { return this.getString('textbox');}\n get TextDecoration(): string { return this.getString('textdecoration');}\n get TextExpression(): string { return this.getString('textexpression');}\n get TextExpressionIsNotValid(): string { return this.getString('textexpressionisnotvalid');}\n get TextIndentCm(): string { return this.getString('textindentcm');}\n get TextWrapping(): string { return this.getString('textwrapping');}\n get ThemeColors(): string { return this.getString('themecolors');}\n get TheAttributeXCannotBePartOfDecoration(): string { return this.getString('theattributexcannotbepartofdecoration');}\n get TheCopiedCodeStructureIncludesProductsThatAreInvalidForTheDestinationStructure(): string { return this.getString('thecopiedcodestructureincludesproductsthatareinvalidforthedestinationstructure');}\n get TheCopiedReportStructureIncludesProductsThatAreInvalidForTheDestinationStructure(): string { return this.getString('thecopiedreportstructureincludesproductsthatareinvalidforthedestinationstructure');}\n get TheFirstConfigurationIsLinkedTo(): string { return this.getString('thefirstconfigurationislinkedto');}\n get TheFollowingXDictionaryKeysAreIncompatibleWithTheSelectedDataType(): string { return this.getString('thefollowingxdictionarykeysareincompatiblewiththeselecteddatatype');}\n get TheFollowingXDictionaryKeysHaveObjectsPreventingDeletion(): string { return this.getString('thefollowingxdictionarykeyshaveobjectspreventingdeletion');}\n get TheItemNumberXIsUsedByAnotherPriceElementDoYouWantToSaveThisItemNumberAnyway(): string { return this.getString('theitemnumberxisusedbyanotherpriceelementdoyouwanttosavethisitemnumberanyway');}\n get TheLanguageXHasTranslatedPhrases(): string { return this.getString('thelanguagexhastranslatedphrases');}\n get TheNameXIsInConflictWithOtherAttributes(): string { return this.getString('thenamexisinconflictwithotherattributes');}\n get TheNameXIsInConflictWithOtherFormControls(): string { return this.getString('thenamexisinconflictwithotherformcontrols');}\n get TheNameXIsInConflictWithOtherFormDecorations(): string { return this.getString('thenamexisinconflictwithotherformdecorations');}\n get ThePriceListCategoryXIsReferencedByARepeaterButDoesNotExistsInTheTargetY(): string { return this.getString('thepricelistcategoryxisreferencedbyarepeaterbutdoesnotexistsinthetargety');}\n get TheProductDoesNotExistInTheDestinationProductStructure(): string { return this.getString('theproductdoesnotexistinthedestinationproductstructure');}\n get TheProductXIsReferencedByARepeaterButNotAChildOfTargetProductY(): string { return this.getString('theproductxisreferencedbyarepeaterbutnotachildoftargetproducty');}\n get ThePreviousRowsXWereSuccessfullyImported(): string { return this.getString('thepreviousrowsxweresuccessfullyimported');}\n get ThereAlreadyExistsAnDecorationItemThatLinksTheAttrubuteX(): string { return this.getString('therealreadyexistsandecorationitemthatlinkstheattrubutex');}\n get ThereAlreadyExistsAnParameterWithNameXInProductY(): string { return this.getString('therealreadyexistsanparameterwithnamexinproducty');}\n get ThereAreEmptyXInTheGridConfirmRemoveIfYouWantToStore(): string { return this.getString('thereareemptyxinthegridconfirmremoveifyouwanttostore');}\n get ThereCanOnlyBeOneDefaultStateCurrentIsX(): string { return this.getString('therecanonlybeonedefaultstatecurrentisx');}\n get TheSourcePriceItemIsTheSameAsTheDestinationPriceItem(): string { return this.getString('thesourcepriceitemisthesameasthedestinationpriceitem');}\n get TheSystemIsInComplianceWithTheLicense(): string { return this.getString('thesystemisincompliancewiththelicense');}\n get ThisIsAProductionSite(): string { return this.getString('thisisaproductionsite');}\n get ThisWindowCanNotBeClosed(): string { return this.getString('thiswindowcannotbeclosed');}\n get ThousandsSeparator(): string { return this.getString('thousandsseparator');}\n get ThreeState(): string { return this.getString('threestate');}\n get TileHorizontally(): string { return this.getString('tilehorizontally');}\n get TileVertically(): string { return this.getString('tilevertically');}\n get TimeFormat(): string { return this.getString('timeformat');}\n get TitleExpression(): string { return this.getString('titleexpression');}\n get TitleExpressionIsNotValid(): string { return this.getString('titleexpressionisnotvalid');}\n get TitleIsEmpty(): string { return this.getString('titleisempty');}\n get ToEmail(): string { return this.getString('toemail');}\n get Tools(): string { return this.getString('tools');}\n get ToolTip(): string { return this.getString('tooltip');}\n get Top(): string { return this.getString('top');}\n get TopCenter(): string { return this.getString('topcenter');}\n get TopLeft(): string { return this.getString('topleft');}\n get TopRight(): string { return this.getString('topright');}\n get TotalCosts(): string { return this.getString('totalcosts');}\n get TotalNumberOfDELETEsPerformed(): string { return this.getString('totalnumberofdeletesperformed');}\n get TotalNumberOfINSERTsPerformed(): string { return this.getString('totalnumberofinsertsperformed');}\n get TotalNumberOfRowsProcessed(): string { return this.getString('totalnumberofrowsprocessed');}\n get TotalNumberOfTablesProcessed(): string { return this.getString('totalnumberoftablesprocessed');}\n get TotalNumberOfUPDATEsPerformed(): string { return this.getString('totalnumberofupdatesperformed');}\n get TotalPrices(): string { return this.getString('totalprices');}\n get TotalRow(): string { return this.getString('totalrow');}\n get ToTheKeyText(): string { return this.getString('tothekeytext');}\n get TrackedChanges(): string { return this.getString('trackedchanges');}\n get Translatable(): string { return this.getString('translatable');}\n get TranslatableAttributes(): string { return this.getString('translatableattributes');}\n get TranslateIfNoReplacementMarkers(): string { return this.getString('translateifnoreplacementmarkers');}\n get TranslateIfNoReplacementMarkersDescription(): string { return this.getString('translateifnoreplacementmarkersdescription');}\n get TranslationCreated(): string { return this.getString('translationcreated');}\n get TranslationDeleteConfirmation(): string { return this.getString('translationdeleteconfirmation');}\n get TranslationExists(): string { return this.getString('translationexists');}\n get TranslationFileReadonly(): string { return this.getString('translationfilereadonly');}\n get TranslationFiles(): string { return this.getString('translationfiles');}\n get TranslationFilesExport(): string { return this.getString('translationfilesexport');}\n get TranslationFilesFolderPath(): string { return this.getString('translationfilesfolderpath');}\n get TranslationFilesGridColKeys(): string { return this.getString('translationfilesgridcolkeys');}\n get TranslationFilesImport(): string { return this.getString('translationfilesimport');}\n get TranslationFilesImportSuccess(): string { return this.getString('translationfilesimportsuccess');}\n get TranslationFilesInvalidPath(): string { return this.getString('translationfilesinvalidpath');}\n get TranslationFolderAccessError(): string { return this.getString('translationfolderaccesserror');}\n get TranslationFolderOpen(): string { return this.getString('translationfolderopen');}\n get TranslationFolderOpenClick(): string { return this.getString('translationfolderopenclick');}\n get TranslationImportSuccessfullyFinished(): string { return this.getString('translationimportsuccessfullyfinished');}\n get Translations(): string { return this.getString('translations');}\n get TranslationsHasMaximumLengthOfXCharactersForTheFollowingStringsY(): string { return this.getString('translationshasmaximumlengthofxcharactersforthefollowingstringsy');}\n get TreeExpandBehaviour(): string { return this.getString('treeexpandbehaviour');}\n get TreeViewExpandLevels(): string { return this.getString('treeviewexpandlevels');}\n get Trigger(): string { return this.getString('trigger');}\n get TriggeringParametersAttributes(): string { return this.getString('triggeringparametersattributes');}\n get TriggerParameters(): string { return this.getString('triggerparameters');}\n get TriggerValues(): string { return this.getString('triggervalues');}\n get Turquoise(): string { return this.getString('turquoise');}\n get TypeRequiredForItems(): string { return this.getString('typerequiredforitems');}\n get TypeRequiredForRepeater(): string { return this.getString('typerequiredforrepeater');}\n get TypeXDoesNotImplementInterfaceISettingEditor(): string { return this.getString('typexdoesnotimplementinterfaceisettingeditor');}\n get UnableToConnectToTheWebServer(): string { return this.getString('unabletoconnecttothewebserver');}\n get Unchecked(): string { return this.getString('unchecked');}\n get Underline(): string { return this.getString('underline');}\n get Unit(): string { return this.getString('unit');}\n get UnitAngleTrigonometricFunctions(): string { return this.getString('unitangletrigonometricfunctions');}\n get UnitAngleTrigonometricFunctionsDescription(): string { return this.getString('unitangletrigonometricfunctionsdescription');}\n get Unlimited(): string { return this.getString('unlimited');}\n get UnlinkFromFolder(): string { return this.getString('unlinkfromfolder');}\n get UnlinkRootItem(): string { return this.getString('unlinkrootitem');}\n get Update(): string { return this.getString('update');}\n get UpdateMethod(): string { return this.getString('updatemethod');}\n get UnderlineTheText(): string { return this.getString('underlinethetext');}\n get Up(): string { return this.getString('up');}\n get UpgradeMessage(): string { return this.getString('upgrademessage');}\n get UpgradeConfirmationMessage(): string { return this.getString('upgradeconfirmationmessage');}\n get UpgradeConfirmationMessageInDataModelManager(): string { return this.getString('upgradeconfirmationmessageindatamodelmanager');}\n get UpgradeProductionConnectionEOClassTableDifferentFromX(): string { return this.getString('upgradeproductionconnectioneoclasstabledifferentfromx');}\n get UpgradeProductionConnectionInvalid(): string { return this.getString('upgradeproductionconnectioninvalid');}\n get UpgradeProductionConnectionSynonymDifferentFromX(): string { return this.getString('upgradeproductionconnectionsynonymdifferentfromx');}\n get UploadDocument(): string { return this.getString('uploaddocument');}\n get UploadFile(): string { return this.getString('uploadfile');}\n get UploadFolder(): string { return this.getString('uploadfolder');}\n get UploadImage(): string { return this.getString('uploadimage');}\n get UpperCaseWithUnderscore(): string { return this.getString('uppercasewithunderscore');}\n get Url(): string { return this.getString('url');}\n get UrlVaultSvgImagesAndArchitectPreviewing(): string { return this.getString('urlvaultsvgimagesandarchitectpreviewing');}\n get User(): string { return this.getString('user');}\n get UserAccounts(): string { return this.getString('useraccounts');}\n get UserAbort(): string { return this.getString('userabort');}\n get UserAuthorizationGroupLink(): string { return this.getString('userauthorizationgrouplink');}\n get UsernameAlreadyTakenPleaseTryAnotherOne(): string { return this.getString('usernamealreadytakenpleasetryanotherone');}\n get UsernameCannotContainWhiteSpace(): string { return this.getString('usernamecannotcontainwhitespace');}\n get UserNameForSMTPHost(): string { return this.getString('usernameforsmtphost');}\n get UserLicenseOverview(): string { return this.getString('userlicenseoverview');}\n get UseSQLServerAuthentication(): string { return this.getString('usesqlserverauthentication');}\n get UseUsersWorkGroupWhenRevise(): string { return this.getString('useusersworkgroupwhenrevise');}\n get ValidCharactersMayAlsoBeDigits(): string { return this.getString('validcharactersmayalsobedigits');}\n get ValidFrom(): string { return this.getString('validfrom');}\n get ValidUntil(): string { return this.getString('validuntil');}\n get Value(): string { return this.getString('value');}\n get Values(): string { return this.getString('values');}\n get ValueCannotBeBiggerThan(): string { return this.getString('valuecannotbebiggerthan');}\n get ValueCannotBeLesserThan(): string { return this.getString('valuecannotbelesserthan');}\n get ValueDoesNotContainAnyValue(): string { return this.getString('valuedoesnotcontainanyvalue');}\n get ValueExpression(): string { return this.getString('valueexpression');}\n get ValueExpressionIsNotValid(): string { return this.getString('valueexpressionisnotvalid');}\n get ValueIconWidth(): string { return this.getString('valueiconwidth');}\n get ValueIconHeight(): string { return this.getString('valueiconheight');}\n get ValueIsNotAValidBoolean(): string { return this.getString('valueisnotavalidboolean');}\n get ValueIsNotAValidDouble(): string { return this.getString('valueisnotavaliddouble');}\n get ValueIsNotAValidInteger(): string { return this.getString('valueisnotavalidinteger');}\n get ValueIsNotDouble(): string { return this.getString('valueisnotdouble');}\n get ValueRequiredForItems(): string { return this.getString('valuerequiredforitems');}\n get ValueType(): string { return this.getString('valuetype');}\n get ValueXDoesNotContainAnyValue(): string { return this.getString('valuexdoesnotcontainanyvalue');}\n get ValueXIsNotAValidDouble(): string { return this.getString('valuexisnotavaliddouble');}\n get ValueXIsNotAValidInteger(): string { return this.getString('valuexisnotavalidinteger');}\n get ValueXIsNotWithinParametersBoundsValueMustBeBetweenYAndZ(): string { return this.getString('valuexisnotwithinparametersboundsvaluemustbebetweenyandz');}\n get ValueXIsNotWithinParametersBoundsValueMustBeGreaterOrEqualToY(): string { return this.getString('valuexisnotwithinparametersboundsvaluemustbegreaterorequaltoy');}\n get ValueXIsNotWithinParametersBoundsValueMustBeLesserOrEqualToY(): string { return this.getString('valuexisnotwithinparametersboundsvaluemustbelesserorequaltoy');}\n get Variants(): string { return this.getString('variants');}\n get VatNumber(): string { return this.getString('vatnumber');}\n get VaultDocumentsPath(): string { return this.getString('vaultdocumentspath');}\n get VaultImagesPath(): string { return this.getString('vaultimagespath');}\n get VaultOperationTimeout(): string { return this.getString('vaultoperationtimeout');}\n get VaultOperationTimeoutDesc(): string { return this.getString('vaultoperationtimeoutdesc');}\n get VaultVisualizationsPath(): string { return this.getString('vaultvisualizationspath');}\n get VaultUploadsPath(): string { return this.getString('vaultuploadspath');}\n get VaultUrl(): string { return this.getString('vaulturl');}\n get VaultUrlNotDefined(): string { return this.getString('vaulturlnotdefined');}\n get VerificationCode(): string { return this.getString('verificationcode');}\n get VerificationCodeRequestSignUpDescription(): string { return this.getString('verificationcoderequestsignupdescription');}\n get VerificationCodeRequestRecoverDescription(): string { return this.getString('verificationcoderequestrecoverdescription');}\n get VerificationCodeResponseDescription(): string { return this.getString('verificationcoderesponsedescription');}\n get VerificationCodeIsExpired(): string { return this.getString('verificationcodeisexpired');}\n get VerificationCodeInvalid(): string { return this.getString('verificationcodeinvalid');}\n get VerificationCodeEmailTemplate(): string { return this.getString('verificationcodeemailtemplate');}\n get Verify(): string { return this.getString('verify');}\n get Version(): string { return this.getString('version');}\n get Vertical(): string { return this.getString('vertical');}\n get VerticalAlignment(): string { return this.getString('verticalalignment');}\n get VerticalWithIcons(): string { return this.getString('verticalwithicons');}\n get VerticalWithSelectedHelpImageRight(): string { return this.getString('verticalwithselectedhelpimageright');}\n get VersionInformation(): string { return this.getString('versioninformation');}\n get ViewAttachment(): string { return this.getString('viewattachment');}\n get ViewLicenseInformationOrInstall(): string { return this.getString('viewlicenseinformationorinstall');}\n get Violet(): string { return this.getString('violet');}\n get Visible(): string { return this.getString('visible');}\n get VisualizationDecoration(): string { return this.getString('visualizationdecoration');}\n get WarnIfParameterWithSameNameExists(): string { return this.getString('warnifparameterwithsamenameexists');}\n get WarningDataSelectorDataLoss(): string { return this.getString('warningdataselectordataloss');}\n get WebAddress(): string { return this.getString('webaddress');}\n get WebAppDefaultLanguage(): string { return this.getString('webappdefaultlanguage');}\n get WebConfiguratorFooterCloseDescription(): string { return this.getString('webconfiguratorfooterclosedescription');}\n get WebConfiguratorFooterMandatoryDescription(): string { return this.getString('webconfiguratorfootermandatorydescription');}\n get WebConfiguratorFooterSaveDescription(): string { return this.getString('webconfiguratorfootersavedescription');}\n get WebConfiguratorFooterSaveAndCloseDescription(): string { return this.getString('webconfiguratorfootersaveandclosedescription');}\n get WebMainMenuCreateDescription(): string { return this.getString('webmainmenucreatedescription');}\n get WebMainMenuLogoutDescription(): string { return this.getString('webmainmenulogoutdescription');}\n get WebMainMenuSettingsDescription(): string { return this.getString('webmainmenusettingsdescription');}\n get WebMainMenuSearchDescription(): string { return this.getString('webmainmenusearchdescription');}\n get WebMainMenuStartDescription(): string { return this.getString('webmainmenustartdescription');}\n get WebServiceUrl(): string { return this.getString('webserviceurl');}\n get WhenSetToTrueZeroGrandTotalWillBeHiddenInNonCompositeModeWhenQuantityEquals(): string { return this.getString('whensettotruezerograndtotalwillbehiddeninnoncompositemodewhenquantityequals');}\n get WhenSetToTrueZeroPricesItemsCategoriesWillBeSuppressedFromReport(): string { return this.getString('whensettotruezeropricesitemscategorieswillbesuppressedfromreport');}\n get WhenSetToTrueZeroPricesIitemsCategoriesWillBeHiddenInReport(): string { return this.getString('whensettotruezeropricesiitemscategorieswillbehiddeninreport');}\n get WhenSetToTrueExpressionDependenciesAreCheckedBeforeEvaluation(): string { return this.getString('whensettotrueexpressiondependenciesarecheckedbeforeevaluation');}\n get WebServiceMethodName(): string { return this.getString('webservicemethodname');}\n get WelcomeMessageAlreadyExists(): string { return this.getString('welcomemessagealreadyexists');}\n get Width(): string { return this.getString('width');}\n get WidthCm(): string { return this.getString('widthcm');}\n get WidthIsNotAValidDouble(): string { return this.getString('widthisnotavaliddouble');}\n get WidthIsNotAValidInteger(): string { return this.getString('widthisnotavalidinteger');}\n get ViewDocument(): string { return this.getString('viewdocument');}\n get WillOverwriteHelpImageOrIcon(): string { return this.getString('willoverwritehelpimageoricon');}\n get Windows(): string { return this.getString('windows');}\n get Word2007(): string { return this.getString('word2007');}\n get Word2013(): string { return this.getString('word2013');}\n get Word2013_2007(): string { return this.getString('word2013_2007');}\n get WorkGroupDescription(): string { return this.getString('workgroupdescription');}\n get WorkGroupFolder(): string { return this.getString('workgroupfolder');}\n get WorkGroups(): string { return this.getString('workgroups');}\n get WouldYouLikeToLinkObject(): string { return this.getString('wouldyouliketolinkobject');}\n get WouldYouLikeToPasteObject(): string { return this.getString('wouldyouliketopasteobject');}\n get WouldYouLikeToCloneObject(): string { return this.getString('wouldyouliketocloneobject');}\n get WouldYouLikeMoveObject(): string { return this.getString('wouldyoulikemoveobject');}\n get WouldYouLikeToRemoveObject(): string { return this.getString('wouldyouliketoremoveobject');}\n get WrongNumberOfStatesInImportData(): string { return this.getString('wrongnumberofstatesinimportdata');}\n get X1(): string { return this.getString('x1');}\n get X2(): string { return this.getString('x2');}\n get XAlreadyExistsInThisAuthorizationGroup(): string { return this.getString('xalreadyexistsinthisauthorizationgroup');}\n get XAlreadyExistsInThisProduct(): string { return this.getString('xalreadyexistsinthisproduct');}\n get XAlreadyExistsInThisTab(): string { return this.getString('xalreadyexistsinthistab');}\n get XCouldNotBeCopiedBecauseTheseAreMissingInTheDestinationProduct(): string { return this.getString('xcouldnotbecopiedbecausethesearemissinginthedestinationproduct');}\n get XCouldNotBeCopiedDueToMissingYInTheDestinationProduct(): string { return this.getString('xcouldnotbecopiedduetomissingyinthedestinationproduct');}\n get XFound(): string { return this.getString('xfound');}\n get XIsAlreadyReferenced(): string { return this.getString('xisalreadyreferenced');}\n get XIsNotAChildOfDestinationParagraphsRepeaterProductY(): string { return this.getString('xisnotachildofdestinationparagraphsrepeaterproducty');}\n get XIsNotAValidDateTime(): string { return this.getString('xisnotavaliddatetime');}\n get XIsNotAValidDouble(): string { return this.getString('xisnotavaliddouble');}\n get XIsNotAValidInteger(): string { return this.getString('xisnotavalidinteger');}\n get XOfY(): string { return this.getString('xofy');}\n get Y1(): string { return this.getString('y1');}\n get Y2(): string { return this.getString('y2');}\n get Yellow(): string { return this.getString('yellow');}\n get YesForAdministrators(): string { return this.getString('yesforadministrators');}\n get YesForEveryone(): string { return this.getString('yesforeveryone');}\n get YesForSuperUsers(): string { return this.getString('yesforsuperusers');}\n get YesForSuperUsersAndAdministrators(): string { return this.getString('yesforsuperusersandadministrators');}\n get YesToAll(): string { return this.getString('yestoall');}\n get Alignment(): string { return this.getString('alignment');}\n get AlwaysStoreBOM(): string { return this.getString('alwaysstorebom');}\n get AlwaysStoreBOMDescription(): string { return this.getString('alwaysstorebomdescription');}\n get AreYouSureYouWantToPasteSelectedItemsToX(): string { return this.getString('areyousureyouwanttopasteselecteditemstox');}\n get AttributeRule(): string { return this.getString('attributerule');}\n get AttributeRules(): string { return this.getString('attributerules');}\n get ClearProductStructureCaches(): string { return this.getString('clearproductstructurecaches');}\n get ConfiguredItemStructureOfX(): string { return this.getString('configureditemstructureofx');}\n get ConfigureItemStructure(): string { return this.getString('configureitemstructure');}\n get CostExpressionIsNotValid(): string { return this.getString('costexpressionisnotvalid');}\n get ErrorWritingXMLToFile(): string { return this.getString('errorwritingxmltofile');}\n get ExpressionIsNotValidCorrectBeforeClosing(): string { return this.getString('expressionisnotvalidcorrectbeforeclosing');}\n get ExpressionNotValidCorrectBeforeClosing(): string { return this.getString('expressionnotvalidcorrectbeforeclosing');}\n get ExceptionContainsItem(): string { return this.getString('exceptioncontainsitem');}\n get ExceptionContainsItems(): string { return this.getString('exceptioncontainsitems');}\n get ValidExpressionExceptionDetails(): string { return this.getString('validexpressionexceptiondetails');}\n get ExceptionUpdateValidExpressions(): string { return this.getString('exceptionupdatevalidexpressions');}\n get ExceptionUpdateValidExpression(): string { return this.getString('exceptionupdatevalidexpression');}\n get ImportExistingConfigurationInfo(): string { return this.getString('importexistingconfigurationinfo');}\n get ImportPriceItems(): string { return this.getString('importpriceitems');}\n get InclusionRule(): string { return this.getString('inclusionrule');}\n get IsConfigurable(): string { return this.getString('isconfigurable');}\n get IsFictitious(): string { return this.getString('isfictitious');}\n get Item(): string { return this.getString('item');}\n get ItemNo(): string { return this.getString('itemno');}\n get ItemNumber(): string { return this.getString('itemnumber');}\n get ItemStructure(): string { return this.getString('itemstructure');}\n get Keywords(): string { return this.getString('keywords');}\n get LinkItems(): string { return this.getString('linkitems');}\n get ManuallyAdded(): string { return this.getString('manuallyadded');}\n get MouseClickEdit(): string { return this.getString('mouseclickedit');}\n get MouseDragEdit(): string { return this.getString('mousedragedit');}\n get MousePressExpressionEditor(): string { return this.getString('mousepressexpressioneditor');}\n get MustEnterAnExpressionForAQuantityRule(): string { return this.getString('mustenteranexpressionforaquantityrule');}\n get MustEnterAnExpressionForAStructureAttributeRule(): string { return this.getString('mustenteranexpressionforastructureattributerule');}\n get NoConfiguredItemStructureToExport(): string { return this.getString('noconfigureditemstructuretoexport');}\n get NoActiveUserAccountFound(): string { return this.getString('noactiveuseraccountfound');}\n get NumericRule(): string { return this.getString('numericrule');}\n get PastingItems(): string { return this.getString('pastingitems');}\n get PleaseEnterANumericValueForX(): string { return this.getString('pleaseenteranumericvalueforx');}\n get PleaseSelectAnAttribute(): string { return this.getString('pleaseselectanattribute');}\n get PriceExpressionIsNotValid(): string { return this.getString('priceexpressionisnotvalid');}\n get PleaseChooseNewPasswordDescription(): string { return this.getString('pleasechoosenewpassworddescription');}\n get QuantityChange(): string { return this.getString('quantitychange');}\n get QuantityRule(): string { return this.getString('quantityrule');}\n get QuantityRules(): string { return this.getString('quantityrules');}\n get QuantityUnit(): string { return this.getString('quantityunit');}\n get Rev(): string { return this.getString('rev');}\n get RenderForParent(): string { return this.getString('renderforparent');}\n get RootItem(): string { return this.getString('rootitem');}\n get RootItemWillBeReplaced(): string { return this.getString('rootitemwillbereplaced');}\n get Rule(): string { return this.getString('rule');}\n get SameAsShipping(): string { return this.getString('sameasshipping');}\n get SaveExportResult(): string { return this.getString('saveexportresult');}\n get SelectAnAttributeRule(): string { return this.getString('selectanattributerule');}\n get SelectAQuantityRule(): string { return this.getString('selectaquantityrule');}\n get StructureAttribute(): string { return this.getString('structureattribute');}\n get StructureTree(): string { return this.getString('structuretree');}\n get StructureTreeTooltip(): string { return this.getString('structuretreetooltip');}\n get ValueMustBeADouble(): string { return this.getString('valuemustbeadouble');}\n get XItemsSelected(): string { return this.getString('xitemsselected');}\n get YesMultiLevel(): string { return this.getString('yesmultilevel');}\n get YesSingleLevel(): string { return this.getString('yessinglelevel');}\n get YouAreAboutToOverrideStoreBOMSettingX(): string { return this.getString('youareabouttooverridestorebomsettingx');}\n get CannotDeleteSymbolBecaseOfReferences(): string { return this.getString('cannotdeletesymbolbecaseofreferences');}\n get CenterX(): string { return this.getString('centerx');}\n get CenterY(): string { return this.getString('centery');}\n get CircularReferencesOfSymbolsNotAllowed(): string { return this.getString('circularreferencesofsymbolsnotallowed');}\n get SvgDefaulLine(): string { return this.getString('svgdefaulline');}\n get SvgHorizontal(): string { return this.getString('svghorizontal');}\n get SvgVertical(): string { return this.getString('svgvertical');}\n get SvgDefaultCurve(): string { return this.getString('svgdefaultcurve');}\n get SvgSmooth(): string { return this.getString('svgsmooth');}\n get SvgQuadratic(): string { return this.getString('svgquadratic');}\n get SvgQuadraticSmooth(): string { return this.getString('svgquadraticsmooth');}\n get SvgEllipticalArc(): string { return this.getString('svgellipticalarc');}\n get SvgEllipticalArcSweep(): string { return this.getString('svgellipticalarcsweep');}\n get SvgEllipticalArcLarge(): string { return this.getString('svgellipticalarclarge');}\n get SvgEllipticalArcLargeSweep(): string { return this.getString('svgellipticalarclargesweep');}\n get SvgDescDefaulLine(): string { return this.getString('svgdescdefaulline');}\n get SvgDescDefaultCurve(): string { return this.getString('svgdescdefaultcurve');}\n get SvgDescHorizontal(): string { return this.getString('svgdeschorizontal');}\n get SvgDescVertical(): string { return this.getString('svgdescvertical');}\n get SvgDescSmooth(): string { return this.getString('svgdescsmooth');}\n get SvgDescQuadratic(): string { return this.getString('svgdescquadratic');}\n get SvgDescQuadraticSmooth(): string { return this.getString('svgdescquadraticsmooth');}\n get SvgDescEllipticalArc(): string { return this.getString('svgdescellipticalarc');}\n get SvgDescEllipticalArcSweep(): string { return this.getString('svgdescellipticalarcsweep');}\n get SvgDescEllipticalArcLarge(): string { return this.getString('svgdescellipticalarclarge');}\n get SvgDescEllipticalArcLargeSweep(): string { return this.getString('svgdescellipticalarclargesweep');}\n get DashLength(): string { return this.getString('dashlength');}\n get DashOffset(): string { return this.getString('dashoffset');}\n get DeltaAngle(): string { return this.getString('deltaangle');}\n get DistanceX(): string { return this.getString('distancex');}\n get DistanceY(): string { return this.getString('distancey');}\n get DotLength(): string { return this.getString('dotlength');}\n get EndAngle(): string { return this.getString('endangle');}\n get Expression(): string { return this.getString('expression');}\n get ExpressionAdd(): string { return this.getString('expressionadd');}\n get ExpressionAddRightClick(): string { return this.getString('expressionaddrightclick');}\n get ExpressionEdit(): string { return this.getString('expressionedit');}\n get ExpressionClear(): string { return this.getString('expressionclear');}\n get FillColor(): string { return this.getString('fillcolor');}\n get FlipX(): string { return this.getString('flipx');}\n get FlipY(): string { return this.getString('flipy');}\n get FontType(): string { return this.getString('fonttype');}\n get GapLength(): string { return this.getString('gaplength');}\n get GraphicPattern(): string { return this.getString('graphicpattern');}\n get GraphicsComposition(): string { return this.getString('graphicscomposition');}\n get GraphicObjectsWithInvalidRules(): string { return this.getString('graphicobjectswithinvalidrules');}\n get IsMandatory(): string { return this.getString('ismandatory');}\n get Layer(): string { return this.getString('layer');}\n get LineCap(): string { return this.getString('linecap');}\n get LineColor(): string { return this.getString('linecolor');}\n get LineType(): string { return this.getString('linetype');}\n get NoExpression(): string { return this.getString('noexpression');}\n get NoteGraphicWillBeCopiedButInvalidRulesCleared(): string { return this.getString('notegraphicwillbecopiedbutinvalidrulescleared');}\n get NoteItWillDeleteTheObjectAndThePreventingObjects(): string { return this.getString('noteitwilldeletetheobjectandthepreventingobjects');}\n get OffsetX(): string { return this.getString('offsetx');}\n get OffsetY(): string { return this.getString('offsety');}\n get OffsetNextX(): string { return this.getString('offsetnextx');}\n get OffsetNextY(): string { return this.getString('offsetnexty');}\n get PathInstructions(): string { return this.getString('pathinstructions');}\n get Pattern(): string { return this.getString('pattern');}\n get PatternFill(): string { return this.getString('patternfill');}\n get PatternStroke(): string { return this.getString('patternstroke');}\n get PatternContentUnit(): string { return this.getString('patterncontentunit');}\n get PatternUnit(): string { return this.getString('patternunit');}\n get PatternUnitUserSpaceOnUse(): string { return this.getString('patternunituserspaceonuse');}\n get PatternUnitObjectBoundingBox(): string { return this.getString('patternunitobjectboundingbox');}\n get PatternUnitDescUserSpaceOnUse(): string { return this.getString('patternunitdescuserspaceonuse');}\n get PatternUnitDescObjectBoundingBox(): string { return this.getString('patternunitdescobjectboundingbox');}\n get PhysicalWidthMM(): string { return this.getString('physicalwidthmm');}\n get PhysicalHeightMM(): string { return this.getString('physicalheightmm');}\n get PNGFormat(): string { return this.getString('pngformat');}\n get Placements(): string { return this.getString('placements');}\n get ProductName(): string { return this.getString('productname');}\n get ProductGraphic(): string { return this.getString('productgraphic');}\n get ProductGraphicExists(): string { return this.getString('productgraphicexists');}\n get Radius(): string { return this.getString('radius');}\n get RadiusX(): string { return this.getString('radiusx');}\n get RadiusY(): string { return this.getString('radiusy');}\n get RasterWidth(): string { return this.getString('rasterwidth');}\n get RasterHeight(): string { return this.getString('rasterheight');}\n get ReferenceSymbol(): string { return this.getString('referencesymbol');}\n get Repetitions(): string { return this.getString('repetitions');}\n get Rotate(): string { return this.getString('rotate');}\n get RotateToPath(): string { return this.getString('rotatetopath');}\n get RulesInCopiedGraphicObjectsIncludesParametersOrAttributesThatAreMissingInTheDestinationProducts(): string { return this.getString('rulesincopiedgraphicobjectsincludesparametersorattributesthataremissinginthedestinationproducts');}\n get RX(): string { return this.getString('rx');}\n get RY(): string { return this.getString('ry');}\n get ShowFolderStructure(): string { return this.getString('showfolderstructure');}\n get ShowSymbolsOnly(): string { return this.getString('showsymbolsonly');}\n get SliceOrMeet(): string { return this.getString('sliceormeet');}\n get StartAngle(): string { return this.getString('startangle');}\n get Stroke(): string { return this.getString('stroke');}\n get StrokeDashDotLength(): string { return this.getString('strokedashdotlength');}\n get StrokeDashGapLength(): string { return this.getString('strokedashgaplength');}\n get StrokeDashLineLength(): string { return this.getString('strokedashlinelength');}\n get StrokeDashOffset(): string { return this.getString('strokedashoffset');}\n get StrokeWidth(): string { return this.getString('strokewidth');}\n get SVGFormat(): string { return this.getString('svgformat');}\n get Symbol(): string { return this.getString('symbol');}\n get SymbolPlacement(): string { return this.getString('symbolplacement');}\n get ViewBox(): string { return this.getString('viewbox');}\n get ViewBoxHeight(): string { return this.getString('viewboxheight');}\n get ViewBoxMinX(): string { return this.getString('viewboxminx');}\n get ViewBoxMinY(): string { return this.getString('viewboxminy');}\n get ViewBoxWidth(): string { return this.getString('viewboxwidth');}\n get ViewPort(): string { return this.getString('viewport');}\n get TextAlignment(): string { return this.getString('textalignment');}\n get TextColor(): string { return this.getString('textcolor');}\n get X(): string { return this.getString('x');}\n get Y(): string { return this.getString('y');}\n}","import { Inject, Injectable } from '@angular/core';\r\n\r\nimport { ApiException } from \"../models\"\r\nimport { ErrorCodes } from \"../../../shared/errorCodes\";\r\nimport { RouteRedirector } from \"./routeRedirector\";\r\nimport { AccountDataStore } from \"./accountData\";\r\nimport { Exception } from \"../../../shared/exception\";\r\nimport { HttpException } from '../../../shared/httpException';\r\n\r\n@Injectable()\r\nexport class HttpErrorCodeHandler {\r\n\r\n constructor(\r\n @Inject(RouteRedirector) protected routeRedirector: RouteRedirector,\r\n @Inject(AccountDataStore) protected accountStore: AccountDataStore,\r\n ) { }\r\n\r\n public handle(httpException: HttpException) {\r\n \r\n let exceptions: Exception[] = httpException.exceptions;\r\n if (!exceptions || exceptions.length == 0)\r\n return;\r\n\r\n let apiException = exceptions.find((ex) => ex instanceof ApiException);\r\n if (apiException instanceof ApiException) {\r\n\r\n if (httpException.errorResponse.status == 401) {\r\n // Remove user session only if authentication or work session has expired, or if the amount of active users have been exceeded.\r\n if (apiException.code == ErrorCodes.AUTHENTICATION_EXPIRED || apiException.code == ErrorCodes.WORK_SESSION_EXPIRED || apiException.code == ErrorCodes.ACTIVE_USERS_COUNT_EXCEEDED) {\r\n this.accountStore.endUserSession();\r\n return;\r\n }\r\n \r\n // Redirect to login with returnurl to start page\r\n this.routeRedirector.redirectToLogin('start');\r\n } \r\n }\r\n }\r\n}","import { Inject, Injectable } from '@angular/core';\r\nimport { HttpInterceptor, HttpRequest, HttpEvent, HttpHandler, HttpErrorResponse, HttpResponse, HttpEventType } from '@angular/common/http';\r\nimport { Observable, Subject, Subscription, throwError } from 'rxjs';\r\nimport { tap, catchError, finalize } from 'rxjs/operators';\r\nimport { Ioc, Register } from \"../../../shared/ioc/iocdecorator\";\r\nimport { ApiResponse, ApiException } from \"../models\"\r\nimport { ExceptionHandler } from \"./exceptionHandler\"\r\nimport { Exception } from \"../../../shared/exception\";\r\nimport { HttpException } from \"../../../shared/httpException\";\r\nimport { ModelFactory } from \"./modelFactory\";\r\nimport { HttpLifeCycleService, HttpStatus } from './httpLifeCycleService';\r\nimport { SignalRService } from './pushMessage/signalRService';\r\nimport { AccountDataStore } from './accountData/accountDataStore';\r\nimport { AuthenticationTokenTypes } from './authenticationTokenTypes';\r\nimport { HttpRequestTrackerService } from './httpRequestTrackerService';\r\n\r\n@Injectable()\r\nexport class HttpInterceptService implements HttpInterceptor {\r\n\r\n constructor(\r\n @Inject(AccountDataStore) public accountDataStore: AccountDataStore,\r\n public exceptionHandler: ExceptionHandler,\r\n public httpLifeCycle: HttpLifeCycleService,\r\n public signalRService: SignalRService,\r\n public modelFactory: ModelFactory,\r\n public httpRequestTrackerService: HttpRequestTrackerService\r\n ) { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n\r\n let requestToUse = request;\r\n let headersToUse = requestToUse.headers;\r\n\r\n headersToUse = this.injectTokensInRequest(headersToUse);\r\n\r\n if (!requestToUse.headers.has(\"Combinum-Client-Version\")) {\r\n\r\n headersToUse = headersToUse.append(\"Combinum-Client-Version\", window.combinumApp.version);\r\n\r\n // Include header value only if available\r\n if (window.combinumApp.visualizationVersion && window.combinumApp.visualizationVersion.length > 0)\r\n headersToUse = headersToUse.append(\"Combinum-Visualization-Version\", window.combinumApp.visualizationVersion);\r\n\r\n let connectionId = this.signalRService.connectionId;\r\n if (connectionId)\r\n headersToUse = headersToUse.append(\"SignalR-Connection-Id\", connectionId);\r\n else\r\n headersToUse = headersToUse.append(\"SignalR-Temp-Id\", this.signalRService.tempConnectionId.toString());\r\n\r\n headersToUse = headersToUse.append(\"Client-Request-Id\", this.httpRequestTrackerService.addActiveRequest().toString());\r\n\r\n requestToUse = requestToUse.clone({ headers: headersToUse });\r\n }\r\n\r\n let requestEnded = false;\r\n this.httpLifeCycle.send(HttpStatus.Started, requestToUse);\r\n\r\n // If request takes longer than 2 seconds then show the blocker ui.\r\n setTimeout(() => {\r\n\r\n if (!requestEnded)\r\n this.httpLifeCycle.send(HttpStatus.WaitingState, requestToUse);\r\n\r\n }, 2000);\r\n\r\n let httpException: HttpException = null;\r\n\r\n return next.handle(requestToUse).pipe(\r\n // Extract ApiException from response.\r\n // Server can add non-fatal exception even though the response is ok.\r\n tap((response) => {\r\n\r\n if (response instanceof HttpResponse) {\r\n\r\n this.storeResponseToken(response);\r\n\r\n this.removeClientRequestId(response);\r\n\r\n requestEnded = true;\r\n this.httpLifeCycle.send(HttpStatus.Completed, requestToUse);\r\n\r\n // Read and store the visualization plugin version in the client\r\n let headerValue = response.headers.get(\"Combinum-Visualization-Version\");\r\n if (headerValue && headerValue.length > 0)\r\n window.combinumApp.visualizationVersion = headerValue;\r\n }\r\n\r\n this.handleApiException(response);\r\n\r\n //when array buffer returns a json containing an error cancel the request, otherwise it will be downloaded\r\n if ((response as any).containsHttpError)\r\n throw new HttpErrorResponse({});\r\n }),\r\n catchError((errorResponse) => {\r\n // Bug in Angular 6, which treats json error as blob so we need to read it and parse it back as json.\r\n // Keep this just in case the bug ever comes back.\r\n if (errorResponse instanceof HttpErrorResponse) {\r\n if (errorResponse.error instanceof Blob && errorResponse.error.size > 0) {\r\n\r\n let blobReader: FileReader = new FileReader();\r\n let fileReadObservable: Observable = Observable.create((observer: any) => {\r\n blobReader.onloadend = (e) => {\r\n\r\n (errorResponse as any).error = JSON.parse(blobReader.result as string);\r\n observer.error(errorResponse);\r\n observer.complete();\r\n }\r\n });\r\n blobReader.readAsText(errorResponse.error);\r\n return fileReadObservable;\r\n }\r\n }\r\n\r\n // If error is not blob then just throw the originalerror, it will be caught in next catch\r\n return throwError(errorResponse);\r\n }),\r\n catchError((errorResponse) => {\r\n // Unblock the UI\r\n requestEnded = true;\r\n this.httpLifeCycle.send(HttpStatus.Completed, requestToUse);\r\n\r\n let convertedError: HttpErrorResponse = this.convertErrorResponseToHttpErrorResponse(errorResponse);\r\n\r\n // Convert to HttpException\r\n httpException = this.getHttpException(convertedError);\r\n\r\n // Inform all subscribers that error has occurred\r\n return new Observable((subscriber) => subscriber.error(httpException));\r\n }),\r\n finalize(() => {\r\n // Handle error rather than throwing to allow the application to remain stable\r\n if (httpException && !httpException.isHandled)\r\n this.exceptionHandler.handleException(httpException); \r\n })\r\n );\r\n }\r\n\r\n removeClientRequestId(response) {\r\n\r\n let clientRequestId = response.headers.get('Client-Request-Id');\r\n if (clientRequestId) {\r\n this.httpRequestTrackerService.removeActiveRequest(clientRequestId);\r\n }\r\n }\r\n\r\n storeResponseToken(response) {\r\n let webSessionToken = response.headers.get(AuthenticationTokenTypes.WebSessionToken);\r\n if (webSessionToken && !this.accountDataStore.getAccessToken())\r\n this.accountDataStore.setWebSessionToken(webSessionToken);\r\n\r\n // if response include accesstoken, save it in session storage\r\n let accessToken = response.headers.get('Authorization');\r\n if (accessToken) {\r\n this.accountDataStore.setAccessToken(accessToken);\r\n this.accountDataStore.removeWebSessionToken();\r\n }\r\n }\r\n\r\n injectTokensInRequest(headers) {\r\n // inject tokens as Authorization header if exists in localstorage\r\n let accessToken = this.accountDataStore.getAccessToken();\r\n if (accessToken)\r\n headers = headers.append('Authorization', 'Bearer ' + accessToken);\r\n\r\n let webSessionToken = this.accountDataStore.getWebSessionToken();\r\n if (webSessionToken && !accessToken)\r\n headers = headers.append(AuthenticationTokenTypes.WebSessionToken, 'Bearer ' + webSessionToken);\r\n\r\n return headers;\r\n }\r\n\r\n public getHttpException(errorResponse: HttpErrorResponse) {\r\n let httpException = new HttpException();\r\n\r\n httpException.errorResponse = errorResponse;\r\n httpException.exceptions = errorResponse.error;\r\n\r\n return httpException;\r\n }\r\n\r\n public extractApiExceptions(response: any) {\r\n\r\n let body = null;\r\n if (response instanceof HttpResponse)\r\n body = response.body;\r\n if (response instanceof HttpErrorResponse)\r\n body = response.error;\r\n\r\n //if it's an arraybuffer and contains a json then parse it\r\n if (body instanceof ArrayBuffer && response.headers.get(\"Content-Type\") == \"application/json; charset=utf-8\") {\r\n let textDecoder = new TextDecoder('utf-8');\r\n let jsonString = textDecoder.decode(new Uint8Array(body));\r\n\r\n let parsedBody = JSON.parse(jsonString);\r\n\r\n if (parsedBody && parsedBody.className == ApiResponse.name && parsedBody.exceptions && parsedBody.exceptions.length > 0) {\r\n //used to cancel downloads when they contain an error\r\n response.containsHttpError = true;\r\n return this.modelFactory.createArray(parsedBody.exceptions).toArray();\r\n }\r\n }\r\n\r\n // Check if response has ApiException then return it\r\n if (body && body.className == ApiResponse.name && body.exceptions && body.exceptions.length > 0) {\r\n return this.modelFactory.createArray(body.exceptions).toArray();\r\n }\r\n\r\n return null;\r\n }\r\n\r\n public convertErrorResponseToHttpErrorResponse(errorResponse) {\r\n let apiExceptions: ApiException[] = this.extractApiExceptions(errorResponse);\r\n if (!apiExceptions && errorResponse) {\r\n // NOTE: Only exists as a failsafe.\r\n // If no ApiExceptions were available, then create this to know where it came from.\r\n // Although it should never come here because there should always be an ApiException available.\r\n apiExceptions = [this.createApiException(errorResponse.status)];\r\n\r\n // Create the error from the error response message.\r\n if (!errorResponse.error && errorResponse.message)\r\n errorResponse.error = [errorResponse.message];\r\n }\r\n\r\n return new HttpErrorResponse({ error: apiExceptions, headers: errorResponse.headers, status: errorResponse.status, statusText: errorResponse.statusText, url: errorResponse.url });\r\n }\r\n\r\n public createApiException(status: any) {\r\n let apiException: ApiException = null;\r\n\r\n switch (status) {\r\n case 401:\r\n apiException = new ApiException({ code: 4000, message: \"ERROR\" });\r\n break;\r\n }\r\n\r\n return apiException;\r\n }\r\n\r\n public handleApiException(response: any) {\r\n\r\n let apiExceptions = this.extractApiExceptions(response);\r\n if (apiExceptions) {\r\n apiExceptions.forEach((exception) => {\r\n this.exceptionHandler.handleException(exception);\r\n });\r\n }\r\n\r\n return response;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { Subscription } from \"rxjs\";\r\nimport { ManagedSubscription, ManagedSubject } from \"../../../shared\";\r\nimport { HttpRequest, HttpResponse } from '@angular/common/http';\r\n\r\n\r\nexport enum HttpStatus {\r\n\r\n Started,\r\n WaitingState,\r\n Completed\r\n\r\n}\r\n\r\nexport interface IHttpDataInfo {\r\n status: HttpStatus;\r\n request: HttpRequest; \r\n}\r\n\r\n@Injectable()\r\nexport class HttpLifeCycleService {\r\n\r\n\r\n private subject = new ManagedSubject(null, false, 0, false, false);\r\n\r\n public send(status: HttpStatus, request: HttpRequest): void {\r\n\r\n let info: IHttpDataInfo = {\r\n status: status,\r\n request: request\r\n }\r\n\r\n this.subject.nextValue(info);\r\n }\r\n\r\n public getMessage(): ManagedSubject {\r\n return this.subject;\r\n }\r\n\r\n\r\n}","import { Inject, Injectable } from '@angular/core';\r\nimport { HttpInterceptor, HttpRequest, HttpEvent, HttpHandler, HttpErrorResponse, HttpResponse, HttpEventType } from '@angular/common/http';\r\nimport { Observable, Subject, Subscription, throwError } from 'rxjs';\r\nimport { tap, catchError, finalize } from 'rxjs/operators';\r\nimport { Ioc, Register } from \"../../../shared/ioc/iocdecorator\";\r\nimport { ApiResponse, ApiException } from \"../models\"\r\nimport { ExceptionHandler } from \"./exceptionHandler\"\r\nimport { Exception } from \"../../../shared/exception\";\r\nimport { HttpException } from \"../../../shared/httpException\";\r\nimport { ModelFactory } from \"./modelFactory\";\r\nimport { HttpLifeCycleService, HttpStatus } from './httpLifeCycleService';\r\nimport { SignalRService } from './pushMessage/signalRService';\r\nimport { AccountDataStore } from './accountData/accountDataStore';\r\nimport { AuthenticationTokenTypes } from './authenticationTokenTypes';\r\n\r\n@Injectable()\r\nexport class HttpRequestTrackerService {\r\n\r\n private activeRequests: { [requestId: number]: boolean } = {};\r\n\r\n private requestInProgressSubject: Subject = new Subject();\r\n\r\n private readonly MAX_REQUESTS = 100;\r\n\r\n constructor() { }\r\n\r\n isRequestInProgress(): Observable {\r\n return this.requestInProgressSubject.asObservable();\r\n }\r\n\r\n createClientRequestId(): number {\r\n return new Date().valueOf() * 10000 + Math.floor(1000 + Math.random() * 9000);\r\n }\r\n\r\n addActiveRequest(): number {\r\n\r\n let requestId = this.createClientRequestId();\r\n\r\n if (Object.keys(this.activeRequests).length >= this.MAX_REQUESTS) {\r\n this.removeOldestRequest();\r\n }\r\n this.activeRequests[requestId] = true;\r\n\r\n return requestId;\r\n }\r\n\r\n removeActiveRequest(requestId: number): void {\r\n delete this.activeRequests[requestId];\r\n this.requestInProgressSubject.next(false); // Notify subscribers that request is no longer in progress\r\n }\r\n\r\n private removeOldestRequest(): void {\r\n const oldestRequestTime = Math.min(...Object.keys(this.activeRequests).map(Number));\r\n delete this.activeRequests[oldestRequestTime];\r\n }\r\n\r\n async waitForRequestCompletion(requestId?: number): Promise {\r\n // If a specific requestId is provided, wait until it's no longer in progress\r\n if (requestId && this.activeRequests[requestId]) {\r\n await new Promise((resolve) => {\r\n const subscription = this.isRequestInProgress().subscribe((inProgress) => {\r\n if (!this.activeRequests[requestId]) {\r\n subscription.unsubscribe(); // Unsubscribe once the request is complete\r\n resolve();\r\n }\r\n });\r\n });\r\n }\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\n\r\n@Injectable()\r\nexport class IconTools {\r\n\r\n public boolValueIcon(value?: boolean): string {\r\n\r\n if (value == null)\r\n return 'indeterminate';\r\n\r\n else if (value)\r\n return 'checkmark';\r\n\r\n return 'delete';\r\n }\r\n\r\n public boolValueTheme(value?: boolean): string {\r\n\r\n if (value == null)\r\n return 'primary';\r\n\r\n else if (value)\r\n return 'green';\r\n\r\n return 'error';\r\n }\r\n\r\n}","import { Injectable, Component, ViewEncapsulation, OnInit, Inject } from \"@angular/core\";\r\nimport { GlobalDataStore } from \"./globalData\";\r\nimport { AbstractImageService } from \"../../../shared/providers\";\r\n\r\nconst SIZE = {\r\n OneX: '1x',\r\n TwoX: '2x',\r\n ThreeX: '3x'\r\n}\r\n\r\nconst IMAGE_TYPE = {\r\n Svg: 'svg',\r\n Png: 'png'\r\n}\r\n\r\nconst re = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i;\r\n\r\n@Injectable()\r\nexport class ImageService extends AbstractImageService {\r\n\r\n private activeTheme = 'base';\r\n private source = `themes/${this.activeTheme}/images`;\r\n\r\n // TODO: Read from settings.\r\n private get vaultSource(): string {\r\n return this.globalDataStore.getGlobalData().webSettings.vaultUrl;\r\n }\r\n\r\n constructor( @Inject(GlobalDataStore) public globalDataStore: GlobalDataStore) {\r\n super();\r\n }\r\n\r\n public ngOnInit(): void {\r\n }\r\n\r\n public getSource(isVault: boolean, imageSet: string = \"primary\"): string {\r\n return isVault ? this.vaultSource : `${this.source}${imageSet ? \"/\" + imageSet : \"\"}`;\r\n }\r\n\r\n getSvgUrl(imageName: string, isVault: boolean = false, imageSet: string = \"primary\"): string {\r\n return `${this.getSource(isVault, imageSet)}/${imageName}.${IMAGE_TYPE.Svg}`;\r\n }\r\n\r\n getOtherTypeUrl(imageName: string, extension: string, isVault: boolean = false, sizes?: string): string[] {\r\n if (isVault) {\r\n return [`${this.getSource(true)}/${imageName}${extension ? \".\" + extension : \"\"}`];\r\n }\r\n\r\n let availableSizes = sizes != null ? sizes.split(',') : [\r\n SIZE.OneX,\r\n SIZE.TwoX,\r\n SIZE.ThreeX\r\n ];\r\n\r\n return [...availableSizes].map((x) => `${this.getSource(false, \"\")}/${imageName}-${x}.${extension}`);\r\n }\r\n\r\n /**\r\n * Returns the url of the page. It does not support different image sizes, It is recommended to access only svgs otherwise resolution will not be good for different devices.\r\n * @param imageName\r\n * @param sizes\r\n * @param isVault\r\n * @param imageSet image set for svg\r\n */\r\n getImageUrl(imageName: string, type: string, sizes?: string, isVault: boolean = false, imageSet: string = \"primary\"): string[] {\r\n\r\n let key: string = imageName;\r\n let extension: string = type;\r\n\r\n // Extract the extension to build up the srcSet.\r\n if (imageName.indexOf(\".\") > 0) {\r\n\r\n let arr: string[] = imageName.split('.');\r\n\r\n // Last index would be the extension of image\r\n extension = arr[arr.length - 1].toLowerCase();\r\n\r\n // Image key.\r\n key = arr[arr.length - 2];\r\n\r\n }\r\n\r\n if (isVault && imageName && re.exec(imageName.replace(\"images//\", \"\")))\r\n return this.getOtherTypeUrl(imageName, \"\", isVault);\r\n\r\n if (extension == IMAGE_TYPE.Svg) {\r\n // Return svg url\r\n return [this.getSvgUrl(key, isVault, imageSet)];\r\n }\r\n\r\n return this.getOtherTypeUrl(key, extension, isVault);\r\n }\r\n\r\n}","export * from './sessionStorageService';\r\nexport * from './appActionCreator';\r\nexport * from './applicationLifeCycleService';\r\nexport * from './appStoreSubscriptionManager';\r\nexport * from './authGuard';\r\nexport * from './exceptionHandler';\r\nexport * from './imageService';\r\nexport * from './modelFactory';\r\nexport * from './routeRedirector';\r\nexport * from './valueSubscriptionManager';\r\nexport * from './routeNames';\r\nexport * from './routeParams';\r\nexport * from './apiResponseBuilder';\r\nexport * from './apiMessageProvider';\r\nexport * from './appController';\r\nexport * from './httpErrorCodeHandler';\r\nexport * from './tabDisplayStyle';\r\nexport * from './startupArguments';\r\nexport * from './httpLifeCycleService';\r\nexport * from './iconTools';\r\nexport * from './BroadcastChannelService';","import { Injectable } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\n\r\nimport { BaseEntity } from \"../baseEntity\";\r\nimport { BaseObject } from \"../../../shared/baseObject\";\r\nimport { PropertyMapObject } from \"../../../shared/propertyMapObject\";\r\nimport { ImmutableObject } from \"../../../shared/immutableObject\";\r\nimport { Ioc, Register } from \"../../../shared/ioc/iocDecorator\";\r\n\r\nimport * as entityClasses from \"../models/entities\";\r\nimport * as messageClasses from \"../models/responses/messages\";\r\nimport * as responseClasses from \"../models/responses\";\r\nimport * as requestClasses from \"../models/requests\";\r\nimport * as clientClasses from \"../models/client\";\r\n\r\n@Injectable()\r\nexport class ModelFactory {\r\n\r\n createEntity(className: string, rawObject?: Partial): BaseEntity {\r\n return this.createAny(className, rawObject);\r\n }\r\n\r\n createObject(rawObject: Partial): T {\r\n\r\n if (!rawObject)\r\n return null;\r\n\r\n return this.createAny((rawObject).className, rawObject) as T;\r\n }\r\n\r\n createRequestOrCommand(className: string, rawObject?: Partial): T {\r\n return this.createAny(className, rawObject);\r\n }\r\n\r\n createAny(className: string, rawObject?: Partial, classNameResolver?: (currentObj, mapKey) => string) {\r\n\r\n let classConstructor = entityClasses[className] || messageClasses[className] || responseClasses[className] || requestClasses[className] || clientClasses[className];\r\n\r\n if (classConstructor) {\r\n\r\n let temp = new classConstructor();\r\n if (temp instanceof PropertyMapObject) {\r\n\r\n let propertyMap = null;\r\n if (temp instanceof ImmutableObject)\r\n propertyMap = rawObject ? this.recursivelyCreateBaseObject(rawObject, true, classNameResolver) : Immutable.Map();\r\n else\r\n propertyMap = rawObject ? this.recursivelyCreateBaseObject(rawObject, false, classNameResolver) : new Map();\r\n\r\n return new classConstructor(propertyMap);\r\n }\r\n\r\n let newObject = new classConstructor();\r\n if (rawObject) {\r\n this.populateObject(newObject, rawObject, classNameResolver);\r\n }\r\n return newObject; \r\n }\r\n \r\n throw new Error(`Class for '(${className})' not found`) \r\n }\r\n\r\n public recursivelyCreateBaseObject(rawObject: any, isImmutable?: boolean, classNameResolver?: (currentObj, mapKey) => string) {\r\n\r\n let data = new Map();\r\n\r\n for (let key of Object.keys(rawObject)) {\r\n\r\n if (rawObject[key] != null && rawObject[key] instanceof Object && !rawObject[key].className && classNameResolver)\r\n rawObject[key].className = classNameResolver(rawObject[key], key);\r\n\r\n if (rawObject[key] != null && rawObject[key].constructor === Array) {\r\n\r\n let subArray = new Array();\r\n\r\n let rawDataArray: Array = rawObject[key];\r\n\r\n for (let subObject of rawDataArray) {\r\n \r\n if (subObject && subObject.className)\r\n subArray.push(this.createAny(subObject.className, subObject, classNameResolver));\r\n else\r\n subArray.push(this.handleNormalizeId(subObject));\r\n }\r\n\r\n if (isImmutable)\r\n data = data.set(key, Immutable.List(subArray));\r\n else\r\n data = data.set(key, subArray);\r\n }\r\n else if (rawObject[key] != null && rawObject[key].constructor === Object && rawObject[key].className === undefined) {\r\n\r\n let subMap = new Map();\r\n\r\n let rawDataMap: Object = rawObject[key];\r\n\r\n for (let mapKey in rawDataMap) {\r\n\r\n let subObject = rawDataMap[mapKey];\r\n \r\n if (subObject && subObject.className)\r\n subMap.set(mapKey, this.createAny(subObject.className, subObject));\r\n else\r\n subMap.set(mapKey, this.handleNormalizeId(subObject));\r\n }\r\n\r\n if (isImmutable)\r\n data = data.set(key, Immutable.Map(subMap));\r\n else\r\n data = data.set(key, subMap);\r\n }\r\n else if (rawObject[key] != null && rawObject[key].className) {\r\n data = data.set(key, this.createAny(rawObject[key].className, rawObject[key]));\r\n }\r\n else {\r\n data = data.set(key, this.handleNormalizeId(rawObject[key]));\r\n }\r\n }\r\n\r\n if (isImmutable)\r\n return Immutable.Map(data);\r\n\r\n return data;\r\n }\r\n\r\n public populateObject(newObject: any, rawObject: any, classNameResolver?: (currentObj, mapKey) => string) {\r\n\r\n if (!rawObject)\r\n return;\r\n\r\n for (let key of Object.keys(rawObject)) {\r\n\r\n if (rawObject[key] != null && rawObject[key] instanceof Object && !rawObject[key].className && classNameResolver)\r\n rawObject[key].className = classNameResolver(rawObject[key], key);\r\n\r\n if (rawObject[key] != null && rawObject[key].constructor === Array) {\r\n\r\n let subArray = new Array();\r\n\r\n let rawDataArray: Array = rawObject[key];\r\n\r\n for (let subObject of rawDataArray) {\r\n if (subObject && subObject.className)\r\n subArray.push(this.createAny(subObject.className, subObject, classNameResolver));\r\n else\r\n subArray.push(subObject);\r\n }\r\n \r\n newObject[key] = subArray;\r\n }\r\n else if (rawObject[key] != null && rawObject[key].constructor === Object && rawObject[key].className === undefined) {\r\n\r\n let subMap = new Map();\r\n\r\n let rawDataMap: Object = rawObject[key];\r\n\r\n for (let mapKey in rawDataMap) {\r\n\r\n let subObject = rawDataMap[mapKey];\r\n\r\n if (subObject && subObject instanceof Object && !subObject.className && classNameResolver)\r\n subObject.className = classNameResolver(subObject, mapKey);\r\n\r\n if (subObject && subObject.className)\r\n subMap.set(mapKey, this.createAny(subObject.className, subObject, classNameResolver));\r\n else\r\n subMap.set(mapKey, subObject);\r\n }\r\n \r\n newObject[key] = subMap;\r\n }\r\n else if (rawObject[key] != null && rawObject[key].className) {\r\n newObject[key] = this.createAny(rawObject[key].className, rawObject[key], classNameResolver);\r\n }\r\n else {\r\n newObject[key] = rawObject[key]; \r\n }\r\n }\r\n }\r\n\r\n createArray(rawObjects: Partial[]): Immutable.List {\r\n\r\n let result = new Array();\r\n\r\n for (let rawObject of rawObjects)\r\n result.push(this.createObject(rawObject));\r\n\r\n return Immutable.List(result);\r\n }\r\n\r\n\r\n\r\n // If it is a Normalizr identifier object then return the id part only\r\n public handleNormalizeId(data: any): any {\r\n if (data && data.id && data.schema)\r\n return data.id;\r\n\r\n return data;\r\n }\r\n\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { BaseEntity } from \"../baseEntity\";\r\nimport { User, State, WorkGroup, Language, Product, ParamValue, Customer, CustomerSite, CustomerContact, Currency, ProductFamily, NumberSeries } from \"../models\";\r\n\r\n@Injectable()\r\nexport class ModelLabelService {\r\n\r\n /**\r\n * Gets the label for the given entity.\r\n For example name/title.\r\n */\r\n public getLabel(entity: BaseEntity): string {\r\n let label = \"\";\r\n if (entity instanceof User)\r\n label = entity.name;\r\n else if (entity instanceof State)\r\n label = entity.name;\r\n else if (entity instanceof WorkGroup)\r\n label = entity.title;\r\n else if (entity instanceof Language)\r\n label = entity.title;\r\n else if (entity instanceof Product)\r\n label = entity.title;\r\n else if (entity instanceof ProductFamily)\r\n label = entity.title;\r\n else if (entity instanceof ParamValue)\r\n label = entity.title;\r\n else if (entity instanceof Customer)\r\n label = entity.name;\r\n else if (entity instanceof CustomerSite)\r\n label = entity.name;\r\n else if (entity instanceof CustomerContact)\r\n label = entity.name;\r\n else if (entity instanceof Currency)\r\n label = entity.identity;\r\n else if (entity instanceof NumberSeries)\r\n label = entity.name;\r\n\r\n return label;\r\n }\r\n}","export * from \"./pageActionCreator\";\r\nexport * from \"./pageUIStore\";\r\nexport * from \"./pageStore\";\r\nexport * from \"./pageDataMemorizer\";","import { Injectable, Inject } from \"@angular/core\";\r\n\r\nimport { AppStore, AppAction, UIAction, PageActions, GlobalDataActions } from \"../../state\";\r\nimport { RequestViews } from \"../../models\";\r\nimport { ImmutableObject } from \"../../../../shared/immutableObject\";\r\nimport { BaseActionCreator } from \"../../baseActionCreator\";\r\n\r\n@Injectable()\r\nexport class PageActionCreator extends BaseActionCreator {\r\n\r\n constructor(\r\n @Inject(AppStore) public appStore: AppStore\r\n ) {\r\n super(null);\r\n }\r\n\r\n dispatchPageIdentifierIncrement = (pageId: number) => this.appStore.dispatch(this.pageIdentifierIncrement(pageId)) as UIAction;\r\n pageIdentifierIncrement(pageId: number): UIAction {\r\n\r\n return {\r\n type: PageActions.INCREMENT_PAGE_IDENTITY, id: -1, executeAsync: null, pageId: pageId\r\n }\r\n }\r\n\r\n dispatchAddConfiguratorPageUIData = (pageIdentifier) => this.appStore.dispatch(this.addConfiguratorPageUIData(pageIdentifier)) as AppAction;\r\n addConfiguratorPageUIData(pageIdentifier: number): UIAction {\r\n return {\r\n type: PageActions.CREATE_CONFIGURATOR_PAGE_UI_DATA, pageId: pageIdentifier, executeAsync: null\r\n }\r\n }\r\n\r\n dispatchAddConfUIData = (pageId, confId) => this.appStore.dispatch(this.addConfUIData(pageId, confId)) as UIAction;\r\n addConfUIData(pageId: number, confId: number): UIAction {\r\n return {\r\n type: PageActions.CREATE_CONF_UI_DATA, pageId: pageId, executeAsync: null, payload: confId\r\n }\r\n }\r\n\r\n dispatchUpdateState = (pageId: number, actionType: string, data: ImmutableObject) => this.appStore.dispatch(this.updateState(pageId, actionType, data)) as AppAction;\r\n updateState(pageId: number, actionType: string, data: ImmutableObject): UIAction {\r\n return {\r\n type: actionType, pageId: pageId, executeAsync: null, payload: data\r\n }\r\n }\r\n\r\n dispatchUpdateActiveView = (activeRouteName: string) => this.appStore.dispatch(this.updateActiveView(activeRouteName)) as AppAction;\r\n updateActiveView(activeRouteName: string): UIAction {\r\n return {\r\n type: PageActions.CONF_ACTIVE_ROUTE_NAME, executeAsync: null, payload: activeRouteName\r\n }\r\n }\r\n\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport { ReselectorService, ReselectorResult } from \"../reselectorService\";\r\nimport { ConfiguratorPageUIData } from \"../../state\";\r\n\r\n@Injectable()\r\nexport class PageDataMemorizer {\r\n\r\n constructor( @Inject(ReselectorService) public reselectorService: ReselectorService) {\r\n \r\n }\r\n\r\n /**\r\n * Configurator UI\r\n */\r\n public getConfiguratorUIDataMemorizer(pageId: number): () => ConfiguratorPageUIData\r\n {\r\n return this.reselectorService.createMemorizer((state) => state.uiData.configuratorUI.get(pageId.toString()));\r\n }\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport { Subscription, Subject, ReplaySubject } from \"rxjs\";\r\nimport { PageActionCreator } from \"./pageActionCreator\";\r\nimport { AppStore, StoreResponse, PageUIData, PageState } from \"../../state\";\r\nimport { ReselectorResult, ReselectorService } from \"../reselectorService\";\r\nimport { ManagedSubscription, SubscriptionOptions } from \"../../../../shared/managedSubscription\";\r\nimport { ManagedSubject } from \"../../../../shared/managedSubject\";\r\nimport { AppStoreSubscriptionManager } from \"../appStoreSubscriptionManager\";\r\nimport { BaseStore } from \"../../state/baseStore\";\r\nimport { ModelFactory } from \"../modelFactory\";\r\nimport { RouteNames } from \"..\";\r\nimport { RequestViews } from \"../../models\";\r\nimport { GlobalDataStore } from \"../globalData\";\r\n\r\n@Injectable()\r\nexport class PageStore extends BaseStore {\r\n\r\n constructor(\r\n @Inject(AppStore) public appStore: AppStore,\r\n @Inject(PageActionCreator) public pageActionCreator: PageActionCreator,\r\n @Inject(AppStoreSubscriptionManager) public appStoreSubscriptionManager: AppStoreSubscriptionManager,\r\n @Inject(ModelFactory) public modelFactory: ModelFactory,\r\n @Inject(ReselectorService) public reselectorService: ReselectorService,\r\n public globalDataStore: GlobalDataStore\r\n ) {\r\n super(appStore, appStoreSubscriptionManager, modelFactory, pageActionCreator);\r\n }\r\n\r\n public getPageState(): PageState {\r\n return this.appStore.getState().uiData;\r\n }\r\n\r\n public get activeRouteName(): RouteNames { return this.getPageState().activeRouteName; }\r\n\r\n public getActiveClientType(): RequestViews {\r\n return this.translateRouteToClientType(this.activeRouteName);\r\n }\r\n\r\n public translateRouteToClientType(routeName: string): RequestViews {\r\n switch (routeName) {\r\n case RouteNames.Editor:\r\n case RouteNames.Summary:\r\n case RouteNames.Search:\r\n case RouteNames.Start:\r\n case RouteNames.Login:\r\n return routeName;\r\n\r\n default:\r\n return RequestViews.None;\r\n }\r\n }\r\n\r\n /**\r\n * TODO This needs to be called to update the view! \r\n * @param routeName\r\n */\r\n public updateActiveRoute(routeName: string) {\r\n // Dispatch the active route.\r\n this.pageActionCreator.dispatchUpdateActiveView(routeName).id;\r\n }\r\n\r\n public onActiveRouteNameChange(subscriptionOptions: SubscriptionOptions): ManagedSubscription {\r\n let activeConfMemorizer: () => string = this.reselectorService.createMemorizer((state) =>\r\n state.uiData.activeRouteName\r\n );\r\n\r\n return this.createStoreSubscription('__active_conf_view', activeConfMemorizer, subscriptionOptions);\r\n }\r\n\r\n public createStoreSubscription(identifier: string, memorizer: () => T, subscriptionOptions: SubscriptionOptions): ManagedSubscription {\r\n let managedSubject: ManagedSubject = this.appStoreSubscriptionManager.getOrCreateStoreSubject(identifier, memorizer, false, 1, false);\r\n return managedSubject.subscribe(subscriptionOptions);\r\n }\r\n\r\n public nextPageIdentifier(): number {\r\n let nextPageId: number = this.getPageState().nextPageIdentifier;\r\n\r\n // Dispatch for increment.\r\n this.pageActionCreator.dispatchPageIdentifierIncrement(nextPageId);\r\n\r\n return nextPageId;\r\n }\r\n\r\n //public listenUIChange(pageId: number, callBackOptions: SubscriptionOptions): ManagedSubscription {\r\n // return this.createStoreSubscription(pageId.toString(), this.getMemorizer(pageId), callBackOptions);\r\n //}\r\n\r\n //public createStoreSubscription(identifier: string, memorizer: () => T, subscriptionOptions: SubscriptionOptions): ManagedSubscription {\r\n // let managedSubject: ManagedSubject = this.appStoreSubscriptionManager.getOrCreateStoreSubject(identifier, memorizer, false, 1, false);\r\n // return managedSubject.subscribe(subscriptionOptions);\r\n //}\r\n\r\n //public getMemorizer(pageId: number): () => PageUIData {\r\n // return null;\r\n //};\r\n\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport { Subscription, Subject, ReplaySubject } from \"rxjs\";\r\nimport { PageActionCreator } from \"./pageActionCreator\";\r\nimport { AppStore, StoreResponse, PageUIData } from \"../../state\";\r\nimport { ReselectorResult } from \"../reselectorService\";\r\nimport { ManagedSubscription, SubscriptionOptions } from \"../../../../shared/managedSubscription\";\r\nimport { ManagedSubject } from \"../../../../shared/managedSubject\";\r\nimport { AppStoreSubscriptionManager } from \"../appStoreSubscriptionManager\";\r\nimport { BaseStore } from \"../../state/baseStore\";\r\nimport { ModelFactory } from \"../modelFactory\";\r\nimport { GlobalDataStore } from \"../globalData/globalDataStore\";\r\n\r\nclass IdGenerator {\r\n static Id = 1;\r\n}\r\n\r\n@Injectable()\r\nexport class PageUIStore extends BaseStore {\r\n\r\n constructor(\r\n public appStore: AppStore,\r\n public pageActionCreator: PageActionCreator,\r\n public appStoreSubscriptionManager: AppStoreSubscriptionManager,\r\n @Inject(ModelFactory) public modelFactory: ModelFactory,\r\n public globalDataStore: GlobalDataStore\r\n ) {\r\n super(appStore, appStoreSubscriptionManager, modelFactory, pageActionCreator);\r\n }\r\n \r\n public nextPageIdentifier(): number {\r\n return IdGenerator.Id++;\r\n }\r\n\r\n public listenUIChange(pageId: number, callBackOptions: SubscriptionOptions): ManagedSubscription {\r\n return this.createStoreSubscription(\"__pageUiData_\" + pageId.toString(), this.getMemorizer(pageId), callBackOptions);\r\n }\r\n\r\n public createStoreSubscription(identifier: string, memorizer: () => T, subscriptionOptions: SubscriptionOptions): ManagedSubscription {\r\n let managedSubject: ManagedSubject = this.appStoreSubscriptionManager.getOrCreateStoreSubject(identifier, memorizer, false, 1, false);\r\n return managedSubject.subscribe(subscriptionOptions);\r\n }\r\n\r\n public getMemorizer(pageId: number): () => PageUIData {\r\n throw \"getMemorizer must be implemented\";\r\n };\r\n\r\n public getPageUIState(pageId: number): PageUIData {\r\n throw \"getPageUIState must be implemented\";\r\n };\r\n \r\n}","export * from \"./productDataSchema\"\r\nexport * from \"./productDataNormalizer\"\r\nexport * from \"./productDataController\"\r\nexport * from \"./productDataActionCreator\"\r\nexport * from \"./productDataStore\"","import { Injectable, Inject } from '@angular/core';\r\n\r\nimport { AppStore } from \"../../state/appStore\";\r\nimport { AppAction, AppAsyncAction, HttpAction, ActionStatus } from \"../../state\";\r\nimport { ProductDataResponse } from \"../../models/responses\";\r\nimport { ProductDataController } from \"./productDataController\";\r\nimport { ProductDataActions } from \"../../state/productData/productDataActions\";\r\nimport { BaseActionCreator } from \"../../baseActionCreator\";\r\nimport { ProductDataRequest } from \"../../models/requests/productDataRequest\";\r\nimport { ApiResponse } from \"../../models\";\r\n\r\n@Injectable()\r\nexport class ProductDataActionCreator extends BaseActionCreator {\r\n\r\n constructor( \r\n @Inject(AppStore) public appStore: AppStore,\r\n @Inject(ProductDataController) public productDataController: ProductDataController\r\n ) {\r\n super(productDataController);\r\n }\r\n\r\n\r\n\r\n dispatchFetchProductTabs = (requestModel: ProductDataRequest) => this.appStore.dispatch(this.fetchProductTabs(requestModel)) as HttpAction;\r\n fetchProductTabs(requestModel: ProductDataRequest): HttpAction {\r\n\r\n return this.createHttpAction (\r\n\r\n ProductDataActions.FETCH_PRODUCT_TABS,\r\n\r\n (dispatch, state, callback) => {\r\n\r\n return this.productDataController.getProductData(requestModel).subscribe((productDataResult) => {\r\n\r\n // Dispatch action type and results.\r\n dispatch({ type: ProductDataActions.PRODUCT_LINKED_DATA_LOADED, payload: productDataResult });\r\n \r\n // Update complete request status\r\n callback(new ActionStatus(true, productDataResult));\r\n })\r\n\r\n }); \r\n }\r\n \r\n dispatchFetchProducts = (requestModel: ProductDataRequest) => this.appStore.dispatch(this.fetchProducts(requestModel)) as HttpAction;\r\n fetchProducts(requestModel: ProductDataRequest): HttpAction {\r\n\r\n return this.createHttpAction(\r\n\r\n ProductDataActions.FETCH_PRODUCTS,\r\n\r\n (dispatch, state, callback) => {\r\n\r\n return this.productDataController.getProductData(requestModel).subscribe((productDataResult) => {\r\n\r\n // Dispatch action type and results.\r\n dispatch({ type: ProductDataActions.PRODUCT_LINKED_DATA_LOADED, payload: productDataResult });\r\n\r\n // Update complete request status\r\n callback(new ActionStatus(true, productDataResult));\r\n })\r\n\r\n });\r\n }\r\n\r\n dispatchRootAssortments = (requestModel: ProductDataRequest) => this.appStore.dispatch(this.getRootAssortments(requestModel)) as HttpAction;\r\n getRootAssortments(requestModel: ProductDataRequest): HttpAction {\r\n\r\n return this.createHttpAction (\r\n\r\n ProductDataActions.FETCH_ROOT_ASSORTMENTS,\r\n\r\n (dispatch, state, callback) => {\r\n return this.productDataController.getProductData(requestModel).subscribe((productDataResult) => {\r\n \r\n // Dispatch action type and product results.\r\n dispatch({ type: ProductDataActions.ROOT_ASSORTMENTS_LOADED, payload: productDataResult });\r\n\r\n callback(new ActionStatus(true, productDataResult));\r\n })\r\n }\r\n ); \r\n }\r\n\r\n dispatchAssortments = (requestModel: ProductDataRequest) => this.appStore.dispatch(this.getAssortments(requestModel)) as HttpAction;\r\n getAssortments(requestModel: ProductDataRequest): HttpAction {\r\n\r\n return this.createHttpAction(\r\n\r\n ProductDataActions.FETCH_ASSORTMENTS,\r\n\r\n (dispatch, state, callback) => {\r\n return this.productDataController.getProductData(requestModel).subscribe((productDataResult) => {\r\n\r\n // Dispatch action type and product results.\r\n dispatch({ type: ProductDataActions.FETCH_ASSORTMENTS, payload: productDataResult });\r\n \r\n callback(new ActionStatus(true, productDataResult));\r\n })\r\n }\r\n );\r\n }\r\n\r\n dispatchProductData(arr: ApiResponse[]): any {\r\n\r\n arr.forEach(data => {\r\n \r\n let action = this.createHttpAction(ProductDataActions.PRODUCT_LINKED_DATA_LOADED, null, data);\r\n this.appStore.dispatch(action);\r\n\r\n })\r\n }\r\n\r\n}","import { Injectable, Inject } from '@angular/core';\r\nimport { Observable } from \"rxjs\";\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { HttpService } from \"../../../../shared/providers/httpService\";\r\nimport { ProductDataResponse } from \"../../models/responses\";\r\nimport { ProductDataNormalizer } from \"./productDataNormalizer\";\r\nimport { ProductDataRequest } from \"../../models/requests/productDataRequest\";\r\nimport { ApiResponseBuilder } from \"../apiResponseBuilder\";\r\nimport { ApiResponse } from \"../../models\";\r\nimport { BaseController } from '../baseController';\r\n\r\n@Injectable()\r\nexport class ProductDataController extends BaseController {\r\n\r\n public productDataControllerUrl = \"api/productdata\";\r\n\r\n constructor(\r\n @Inject(HttpService) public httpService: HttpService,\r\n public apiResponseBuilder: ApiResponseBuilder) {\r\n super(httpService, apiResponseBuilder);\r\n }\r\n\r\n public normalizeData = map((response, index) => this.apiResponseBuilder.build(response));\r\n\r\n public getProductData(requestModel: ProductDataRequest): Observable {\r\n return this.httpService.get(this.productDataControllerUrl, requestModel).pipe(this.normalizeData);\r\n }\r\n\r\n public getControllerUrl(): string {\r\n return this.productDataControllerUrl;\r\n }\r\n\r\n}","import { Inject, Injectable } from \"@angular/core\"\r\nimport { normalize, Schema, schema } from \"normalizr\";\r\nimport * as Immutable from \"immutable\"\r\n\r\nimport { BaseEntity } from \"../../baseEntity\"\r\nimport { ModelFactory } from \"../modelFactory\"\r\nimport { Ioc, Register } from \"../../../../shared/ioc/iocdecorator\"\r\nimport { NormalizerService } from \"../../../../shared/providers/normalizer\"\r\nimport { ProductDataResponse } from \"../../models/responses\";\r\nimport { ProductDataSchema } from \"./productDataSchema\"\r\n\r\n@Injectable()\r\nexport class ProductDataNormalizer {\r\n\r\n constructor( \r\n @Inject(NormalizerService) public normalizerService: NormalizerService,\r\n @Inject(ModelFactory) public modelFactory: ModelFactory,\r\n @Inject(ProductDataSchema) public productDataSchema: ProductDataSchema\r\n ) { }\r\n\r\n normalizeJson(json: any): ProductDataResponse {\r\n\r\n let productResponse = new ProductDataResponse();\r\n let entities = Immutable.Map();\r\n let entityIdsByClassName = Immutable.Map>();\r\n\r\n if (json.entitiesByClassName) {\r\n\r\n for (let key in json.entitiesByClassName) {\r\n\r\n let classEntities = json.entitiesByClassName[key];\r\n\r\n let normalizeOutput = this.normalizerService.normalizeJson(classEntities, this.productDataSchema.getSchemaArray(key), (className, data) => this.modelFactory.createEntity(className, data));\r\n\r\n entityIdsByClassName = entityIdsByClassName.set(key, Immutable.List(normalizeOutput.resultIds));\r\n entities = this.mergeEntities(entities, normalizeOutput.entities);\r\n\r\n }\r\n }\r\n\r\n productResponse = productResponse.setEntityIdsByClassName(entityIdsByClassName);\r\n productResponse = productResponse.setEntities(entities);\r\n\r\n return productResponse;\r\n }\r\n\r\n protected mergeEntities(existingEntities: Immutable.Map, newEntities: Map)\r\n {\r\n newEntities.forEach((newEntity: BaseEntity, key: number) => {\r\n existingEntities = existingEntities.set(key, newEntity); \r\n });\r\n\r\n return existingEntities;\r\n }\r\n}","import { Injectable } from \"@angular/core\"\r\nimport { Schema, schema } from 'normalizr';\r\n\r\nimport * as EntityTypes from \"../../models/entities\";\r\n\r\n@Injectable()\r\nexport class ProductDataSchema {\r\n\r\n public allSchema = new Map();\r\n\r\n constructor() {\r\n this.setupProductSchema();\r\n }\r\n\r\n public setupProductSchema() {\r\n\r\n let productSchema: schema.Entity = this.getSchema(EntityTypes.Product.name);\r\n let productFamilySchema: schema.Entity = this.getSchema(EntityTypes.ProductFamily.name);\r\n\r\n let assortmentSchemaType = { Product: productSchema, ProductFamily: productFamilySchema };\r\n // An array of product and product families.\r\n let assortmentSchemaArray = new schema.Array(assortmentSchemaType, 'className');\r\n\r\n // product family has children of products and product families.\r\n productFamilySchema.define({\r\n children: assortmentSchemaArray\r\n })\r\n\r\n let tabSchema = this.getSchema(EntityTypes.Tab.name);\r\n \r\n let visualObjectSchemaType = {\r\n BoolParam: this.getSchema(EntityTypes.BoolParam.name),\r\n IntParam: this.getSchema(EntityTypes.IntParam.name),\r\n StringParam: this.getSchema(EntityTypes.StringParam.name),\r\n LookupParam: this.getSchema(EntityTypes.LookupParam.name),\r\n DoubleParam: this.getSchema(EntityTypes.DoubleParam.name),\r\n MultiChoiceParam: this.getSchema(EntityTypes.MultiChoiceParam.name),\r\n DataSelector: this.getSchema(EntityTypes.DataSelector.name),\r\n PropertyDecoration: this.getSchema(EntityTypes.PropertyDecoration.name),\r\n AttributeDecoration: this.getSchema(EntityTypes.AttributeDecoration.name),\r\n HeaderDecoration: this.getSchema(EntityTypes.HeaderDecoration.name),\r\n DocumentsDecoration: this.getSchema(EntityTypes.DocumentsDecoration.name),\r\n PriceListDecoration: this.getSchema(EntityTypes.PriceListDecoration.name),\r\n TextDecoration: this.getSchema(EntityTypes.TextDecoration.name),\r\n ImageDecoration: this.getSchema(EntityTypes.ImageDecoration.name),\r\n GraphicsDecoration: this.getSchema(EntityTypes.GraphicsDecoration.name),\r\n BomDecoration: this.getSchema(EntityTypes.BomDecoration.name),\r\n CodeDecoration: this.getSchema(EntityTypes.CodeDecoration.name),\r\n VisualizationDecoration: this.getSchema(EntityTypes.VisualizationDecoration.name),\r\n FormDecoration: this.getSchema(EntityTypes.FormDecoration.name)\r\n };\r\n\r\n // A Tab has an array of visual objects.\r\n tabSchema.define({\r\n visualObjects: new schema.Array(visualObjectSchemaType, 'className')\r\n });\r\n\r\n let multiChoiceParamSchema = this.getSchema(EntityTypes.MultiChoiceParam.name);\r\n // A MultiChoiceParam has an array of param values.\r\n multiChoiceParamSchema.define({\r\n paramValues: new schema.Array(this.getSchema(EntityTypes.MultiChoiceValue.name))\r\n });\r\n\r\n let lookupParamSchema = this.getSchema(EntityTypes.LookupParam.name);\r\n // A LookupParam has an array of param values.\r\n lookupParamSchema.define({\r\n paramValues: new schema.Array(this.getSchema(EntityTypes.LookupValue.name))\r\n });\r\n\r\n let dataSelectorSchema = this.getSchema(EntityTypes.DataSelector.name); \r\n // DataSelector has columns\r\n dataSelectorSchema.define({\r\n columns: new schema.Array(this.getSchema(EntityTypes.DataSelectColumn.name))\r\n });\r\n \r\n // Product has children and tabs.\r\n productSchema.define({\r\n children: new schema.Array(productSchema),\r\n tabs: new schema.Array(tabSchema)\r\n });\r\n\r\n this.setSchema(EntityTypes.Assortment.name, assortmentSchemaArray);\r\n } \r\n\r\n public getSchema(className: string): any {\r\n\r\n if (!this.allSchema.has(className))\r\n this.allSchema.set(className, new schema.Entity(className, {}, { idAttribute: 'longId' }));\r\n\r\n return this.allSchema.get(className);\r\n }\r\n\r\n public setSchema(className: string, schema: Schema) {\r\n this.allSchema.set(className, schema);\r\n }\r\n\r\n public getSchemaArray(className: string): schema.Array {\r\n\r\n let classSchema = this.getSchema(className);\r\n if (classSchema instanceof schema.Array)\r\n return classSchema;\r\n\r\n return new schema.Array(this.getSchema(className));\r\n }\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\nimport { Subject, Subscription, BehaviorSubject, ReplaySubject } from \"rxjs\";\r\n\r\nimport { BaseStore } from \"../../state/baseStore\";\r\nimport { Product, Tab, Assortment, ConfInfo, State, GlobalEntitiesCommand, ProductCommand, TabOptions, VisualObjectOptions, AssortmentCommand } from \"../../models\";\r\nimport { BaseEntity } from \"../../baseEntity\";\r\nimport { StoreResponse } from \"../../state/storeResponse\";\r\nimport { ProductDataState, ActionInfo, RequestStatus, HttpAction, AppStore } from \"../../state\";\r\nimport { ProductDataActionCreator } from \"./productDataActionCreator\";\r\nimport { ProductDataResponse, ApiResponse } from \"../../models/responses\";\r\nimport { AppStoreSubscriptionManager } from \"../appStoreSubscriptionManager\";\r\nimport { ValueSubscriptionManager } from \"../valueSubscriptionManager\";\r\nimport { ManagedSubject } from \"../../../../shared/managedSubject\";\r\nimport { GlobalDataStore } from \"../globalData/globalDataStore\";\r\nimport { ProductDataRequest } from \"../../models/requests/productDataRequest\";\r\nimport { ModelFactory } from \"../modelFactory\";\r\n\r\n@Injectable()\r\nexport class ProductDataStore extends BaseStore {\r\n \r\n constructor(\r\n @Inject(AppStore) protected appStore: AppStore,\r\n @Inject(GlobalDataStore) protected globalDataStore: GlobalDataStore,\r\n @Inject(ProductDataActionCreator) protected productActionCreator: ProductDataActionCreator,\r\n @Inject(AppStoreSubscriptionManager) protected appStoreSubscriptionManager: AppStoreSubscriptionManager,\r\n @Inject(ValueSubscriptionManager) protected valueSubscriptionManager: ValueSubscriptionManager,\r\n @Inject(ModelFactory) protected modelFactory: ModelFactory,\r\n ) {\r\n super(appStore, appStoreSubscriptionManager, modelFactory, productActionCreator);\r\n }\r\n\r\n public getProductData(): ProductDataState {\r\n return this.appStore.getState().productData;\r\n }\r\n \r\n public getEntity(id: number) {\r\n return this.getProductData().entities.get(+id) as T;\r\n }\r\n\r\n public createProductRequestModel(): ProductDataRequest {\r\n return this.modelFactory.createAny(ProductDataRequest.name) as ProductDataRequest;\r\n }\r\n\r\n public getProduct(productId: number, callback: (product: Product) => void): void {\r\n if (this.getProductData().entities.has(productId))\r\n callback(this.getEntity(productId));\r\n else\r\n this.fetchProduct(productId).subscribe(res => callback(res.data));\r\n }\r\n\r\n public getChildProducts(product: Product, filterChildren?: Array): ManagedSubject> {\r\n let subject = this.valueSubscriptionManager.createSubject(ManagedSubject.IGNORE_VALUE, true);\r\n\r\n // Create response object\r\n let response: StoreResponse = new StoreResponse();\r\n\r\n if (this.isChildProductsLoaded(product)) {\r\n // Set the tabs to data.\r\n\r\n let children: Product[];\r\n\r\n if (product.children) {\r\n\r\n let childrenIds = this.intersectOrDefault(product.children.toArray(), filterChildren);\r\n \r\n children = childrenIds.map(x => this.getEntity(x))\r\n\r\n }\r\n else\r\n children = [];\r\n\r\n response.data = children;\r\n subject.nextValue(response);\r\n }\r\n else {\r\n // Load the product data. It mostly happens when user opens the direct configurator url.\r\n this.fetchChildProducts(product).subscribe(res => {\r\n\r\n let childrenIds = this.intersectOrDefault(res.data.children.toArray(), filterChildren);\r\n\r\n response.data = childrenIds.map(x => this.getEntity(x));\r\n subject.nextValue(response);\r\n\r\n });\r\n }\r\n\r\n return subject;\r\n }\r\n\r\n protected intersectOrDefault(defaultArray: Array, arr?: Array) {\r\n\r\n if (!arr || arr.length == 0)\r\n return defaultArray;\r\n\r\n // Take the intersection.\r\n let childrenIds = arr.filter(id => defaultArray.indexOf(id) > -1);\r\n\r\n return childrenIds;\r\n }\r\n\r\n protected isChildProductsLoaded(product: Product): boolean {\r\n if (product.children.isEmpty())\r\n return true;\r\n\r\n // Check if all child products are loaded\r\n return product.children.every(childProductId => this.getProductData().entities.has(childProductId));\r\n }\r\n\r\n public getTabs(productId: number): ManagedSubject> {\r\n\r\n let subject = this.valueSubscriptionManager.createSubject(ManagedSubject.IGNORE_VALUE, true);\r\n\r\n // Create response object\r\n let response: StoreResponse = new StoreResponse();\r\n\r\n if (this.productTabsLoaded(productId)) {\r\n // Get product\r\n let product: Product = this.getEntity(productId);\r\n // Set the tabs to data.\r\n response.data = product.tabs.toArray().map(x => this.getEntity(x));\r\n subject.nextValue(response);\r\n }\r\n else {\r\n // Load the product data. It mostly happens when user opens the direct configurator url.\r\n this.fetchProductTabs(productId).subscribe(res => {\r\n\r\n response.data = res.data.tabs.toArray().map(x => this.getEntity(x));\r\n subject.nextValue(response);\r\n });\r\n }\r\n\r\n return subject;\r\n }\r\n\r\n public getLoadedTabs(productId: number): Tab[] {\r\n let tabs: Tab[] = [];\r\n let product: Product = this.getEntity(productId)\r\n product.tabs.forEach(tabId => { tabs.push(this.getEntity(tabId)); });\r\n\r\n return tabs;\r\n }\r\n\r\n public productTabsLoaded(productId: number): boolean {\r\n // Get product\r\n let product: Product = this.getEntity(productId);\r\n if (!product)\r\n return false;\r\n\r\n if (product.tabs.isEmpty())\r\n return true;\r\n\r\n // We only need to check the first tab.\r\n return this.getProductData().entities.has(product.tabs.get(0));\r\n }\r\n\r\n\r\n /**\r\n * Fetches products without tabs.\r\n * @param productId\r\n */\r\n fetchProduct(productId: number): ManagedSubject> {\r\n let model = this.createProductRequestModel();\r\n model.product = this.modelFactory.createRequestOrCommand(ProductCommand.name, { ids: [productId] });\r\n let action = this.productActionCreator.dispatchFetchProducts(model);\r\n\r\n // Create request object\r\n let response: StoreResponse = new StoreResponse();\r\n\r\n return this.createAction(action, () => {\r\n response.data = this.getEntity(productId);\r\n return response;\r\n });\r\n }\r\n\r\n /**\r\n * Fetches child products without tabs.\r\n * @param product\r\n */\r\n fetchChildProducts(product: Product): ManagedSubject> {\r\n let model = this.createProductRequestModel();\r\n model.product = this.modelFactory.createRequestOrCommand(ProductCommand.name, { ids: product.children.toArray() });\r\n let action = this.productActionCreator.dispatchFetchProducts(model); \r\n \r\n // Create request object\r\n let response: StoreResponse = new StoreResponse();\r\n\r\n return this.createAction(action, () => {\r\n response.data = this.getEntity(product.longId);\r\n return response;\r\n });\r\n }\r\n\r\n\r\n /**\r\n * Fetches multiple products data.\r\n * @param product\r\n */\r\n fetchProductsWidthData(productIds: Array): ManagedSubject>> {\r\n\r\n let model = this.createProductRequestModel();\r\n model.product = this.modelFactory.createRequestOrCommand(ProductCommand.name, { ids: productIds });\r\n model.product.tab = this.modelFactory.createAny(TabOptions.name, {});\r\n model.product.tab.visualObject = this.modelFactory.createAny(VisualObjectOptions.name, {}); \r\n\r\n let action = this.productActionCreator.dispatchFetchProducts(model); \r\n\r\n // Create request object\r\n let response: StoreResponse> = new StoreResponse>();\r\n\r\n return this.createAction(action, () => {\r\n response.data = this.getObjects(productIds, Product);\r\n return response;\r\n });\r\n }\r\n\r\n\r\n fetchProductsWithoutData(productIds: Array): ManagedSubject>> {\r\n\r\n let model = this.createProductRequestModel();\r\n model.assortment = this.modelFactory.createRequestOrCommand(AssortmentCommand.name, { ids: productIds, productLevel: 10 });\r\n \r\n let action = this.productActionCreator.dispatchFetchProducts(model);\r\n\r\n // Create request object\r\n let response: StoreResponse> = new StoreResponse>();\r\n\r\n return this.createAction(action, () => {\r\n response.data = this.getObjects(productIds, Product);\r\n return response;\r\n });\r\n\r\n }\r\n\r\n /**\r\n * Fetches product with tabs.\r\n * @param productId\r\n */\r\n fetchProductTabs(productId: number): ManagedSubject> {\r\n\r\n let model = this.createProductRequestModel();\r\n model.product = this.modelFactory.createRequestOrCommand(ProductCommand.name, { ids: [productId] });\r\n model.product.tab = this.modelFactory.createAny(TabOptions.name, {});\r\n model.product.tab.visualObject = this.modelFactory.createAny(VisualObjectOptions.name, {}); \r\n\r\n let action = this.productActionCreator.dispatchFetchProductTabs(model);\r\n\r\n // Create request object\r\n let response: StoreResponse = new StoreResponse();\r\n\r\n return this.createAction(action, () => {\r\n response.data = this.getEntity(productId);\r\n return response;\r\n });\r\n }\r\n\r\n /**\r\n * Fetches all roots assortments.\r\n */\r\n getRootAssortments(): ManagedSubject> {\r\n\r\n // Create request object\r\n let response: StoreResponse = new StoreResponse();\r\n\r\n // Assortments are loaded ?\r\n if (this.getProductData().rootAssortments.size > 0) {\r\n response.data = this.getObjectsFromResultId(this.getProductData().rootAssortments);\r\n return this.valueSubscriptionManager.createSubject(response, true);\r\n }\r\n\r\n let model = this.createProductRequestModel(); \r\n model.assortment = this.modelFactory.createRequestOrCommand(AssortmentCommand.name, { isRoot: true, productLevel: 1, productFamilyLevel: 10 });\r\n \r\n let action = this.productActionCreator.dispatchRootAssortments(model);\r\n\r\n return this.createAction(action, () => {\r\n response.data = this.getObjectsFromResultId(this.getProductData().rootAssortments);\r\n return response;\r\n });\r\n }\r\n\r\n /**\r\n * Assortments by parentId.\r\n * @param parentId\r\n */\r\n getAssortments(parentId: number): ManagedSubject> {\r\n // Create request object\r\n let response: StoreResponse = new StoreResponse();\r\n\r\n // Retreive parent assortment from store.\r\n let parentAssortment: Assortment = this.appStore.getState().productData.entities.get(+parentId) as Assortment;\r\n\r\n // Make direct return If store contains the children information.\r\n if (parentAssortment && parentAssortment.children.size > 0) {\r\n response.data = this.getObjectsFromResultId(parentAssortment.children);\r\n return this.valueSubscriptionManager.createSubject(response, true);\r\n }\r\n\r\n let model = this.createProductRequestModel(); \r\n model.assortment = this.modelFactory.createRequestOrCommand(AssortmentCommand.name, { isRoot: true, productLevel: 1, productFamilyLevel: 10, ids: [parentId] });\r\n \r\n let action = this.productActionCreator.dispatchAssortments(model);\r\n\r\n return this.createAction(action, () => {\r\n response.data = this.getObjectsFromResultId(parentAssortment.children);\r\n // TODO: Needed ?\r\n response.requestId = action.id;\r\n return response;\r\n });\r\n }\r\n\r\n hasCompositeStructure(rootProductId: number): boolean {\r\n let product: Product = this.getEntity(rootProductId); \r\n return product.children.size > 0 && !product.showChildrenInAccordionTabs;\r\n }\r\n\r\n}","export * from \"./pushMessageController\"\r\nexport * from \"./pushMessageActionCreator\"\r\nexport * from \"./pushMessageStore\"","import { Injectable, Inject } from '@angular/core';\r\n\r\nimport { AppStore } from \"../../state/appStore\";\r\nimport { AppAction, AppAsyncAction, HttpAction, ActionStatus, Actions, RequestStatus } from \"../../state\";\r\nimport { PushMessageController } from \"./pushMessageController\";\r\nimport { PushMessageActions } from \"../../state/pushMessage/pushMessageActions\";\r\nimport { BaseActionCreator } from \"../../baseActionCreator\";\r\nimport { ApiResponse, ClientPushMessage } from \"../../models\";\r\nimport { PushMessageSelection } from './pushMessageSelection';\r\nimport { HttpEventType } from '@angular/common/http';\r\n\r\n@Injectable()\r\nexport class PushMessageActionCreator extends BaseActionCreator {\r\n\r\n static PUSH_MESSAGE_UPLOAD_RESULT = \"@PUSH_MESSAGE_UPLOAD_RESULT\";\r\n\r\n constructor(\r\n @Inject(AppStore) public appStore: AppStore,\r\n @Inject(PushMessageController) public pushMessageController: PushMessageController\r\n ) {\r\n super(pushMessageController);\r\n }\r\n\r\n dispatchSetServerPushMessage = (data: any) => this.appStore.dispatch(this.setServerPushMessage(data)) as HttpAction;\r\n setServerPushMessage(data: any): HttpAction {\r\n\r\n return this.createHttpAction(\r\n\r\n PushMessageActions.PUSH_MESSAGE,\r\n\r\n (dispatch, state, callback) => {\r\n\r\n return this.pushMessageController.getPushMessage(data).subscribe((pushMessageResult) => {\r\n\r\n //return (pushMessageResult) => {\r\n\r\n // Dispatch action type and results.\r\n dispatch({ type: PushMessageActions.PUSH_MESSAGE_LOADED, payload: pushMessageResult });\r\n\r\n // Update complete request status\r\n callback(new ActionStatus(true, pushMessageResult));\r\n })\r\n },\r\n );\r\n }\r\n\r\n dispatchUploadFile = (model: ClientPushMessage, file: File, errorCallback?: (error) => void) => this.appStore.dispatch(this.uploadFile(model, file, errorCallback));\r\n uploadFile(model: ClientPushMessage, file: File, errorCallback?: (error) => void) {\r\n return this.createHttpAction(\r\n\r\n PushMessageActions.PUSH_MESSAGE_UPLOAD,\r\n\r\n (dispatch, state, callback) => {\r\n\r\n this.pushMessageController.upload(model, file).subscribe(event => {\r\n\r\n dispatch({ type: PushMessageActionCreator.PUSH_MESSAGE_UPLOAD_RESULT, payload: event });\r\n // Update complete request status \r\n callback(new ActionStatus(true, event));\r\n\r\n },\r\n error => {\r\n if (errorCallback)\r\n errorCallback(error);\r\n\r\n callback(new ActionStatus(true, error, RequestStatus.ERROR));\r\n }\r\n );\r\n }\r\n );\r\n }\r\n\r\n dispatchValueChanged = (pushMessageSelection: PushMessageSelection) => this.appStore.dispatch(this.valueChanged(pushMessageSelection)) as AppAction;\r\n valueChanged(pushMessageSelection): AppAction {\r\n return {\r\n type: Actions.PUSH_MESSAGE_SELECTION,\r\n payload: pushMessageSelection\r\n };\r\n }\r\n\r\n dispatchRefreshingChanged = (refreshing: boolean) => this.appStore.dispatch(this.refreshingChanged(refreshing)) as AppAction;\r\n refreshingChanged(refreshing): AppAction {\r\n return {\r\n type: Actions.PUSH_MESSAGE_REFRESHING,\r\n payload: refreshing\r\n };\r\n }\r\n\r\n dispatchRedirectingChanged = (redirecting: boolean) => this.appStore.dispatch(this.redirectingChanged(redirecting)) as AppAction;\r\n redirectingChanged(redirecting): AppAction {\r\n return {\r\n type: Actions.PUSH_MESSAGE_REDIRECTING,\r\n payload: redirecting\r\n };\r\n }\r\n}","import { Injectable, Inject } from '@angular/core';\r\nimport { Observable } from \"rxjs\";\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { HttpService } from \"../../../../shared/providers/httpService\";\r\nimport { ApiResponseBuilder } from \"../apiResponseBuilder\";\r\nimport { ModelFactory } from '../modelFactory';\r\nimport { ClientPushMessage } from '../../models/requests/clientPushMessage';\r\nimport { ApiResponse } from '../../models';\r\nimport { BaseController } from '../baseController';\r\nimport { JsonConvert } from '../../../../shared/providers';\r\n\r\n@Injectable()\r\nexport class PushMessageController extends BaseController {\r\n\r\n public url = \"api/pushmessage\";\r\n\r\n constructor(\r\n @Inject(HttpService) public httpService: HttpService,\r\n @Inject(ModelFactory) public modelFactory: ModelFactory,\r\n public apiResponseBuilder: ApiResponseBuilder,\r\n public jsonConvert: JsonConvert,)\r\n {\r\n super(httpService, apiResponseBuilder);\r\n }\r\n\r\n public send(message: ClientPushMessage) {\r\n\r\n return this.httpService.get(this.url, message)\r\n .pipe(this.buildResponseObject).subscribe(\r\n // If there is not a subscription the data will never be sent.\r\n data => console.log('success', data),\r\n error => console.log('oops', error)\r\n );\r\n }\r\n\r\n public buildResponseObject = map((response, index) => this.apiResponseBuilder.build(response));\r\n\r\n public getPushMessage(data: any): Observable {\r\n\r\n const obsUsingCreate = Observable.create(observer => {\r\n observer.next(this.apiResponseBuilder.build(data));\r\n\r\n observer.complete()\r\n })\r\n\r\n return obsUsingCreate;\r\n }\r\n\r\n public getControllerUrl(): string {\r\n return this.url;\r\n }\r\n\r\n upload(model: ClientPushMessage, file: File) {\r\n let formData = new FormData();\r\n formData.append('json', this.jsonConvert.stringify(model));\r\n formData.append('file', file, file.name);\r\n\r\n // Add cache-busting parameter to URL\r\n const timestamp = new Date().getTime();\r\n const url = `${this.url}/upload?timestamp=${timestamp}`;\r\n\r\n return this.httpService.postWithProgress(url, formData);\r\n }\r\n\r\n}","import { Injectable, Inject } from \"@angular/core\"\r\nimport { ReselectorService } from \"../reselectorService\"\r\nimport { AppState } from \"../../state/shared/appState\";\r\nimport * as Immutable from \"immutable\";\r\nimport { UIAction, UIElement, UIGroup, UIInput, UISelect } from \"../../models\";\r\n\r\n@Injectable()\r\nexport class PushMessageMemorizer {\r\n\tconstructor(@Inject(ReselectorService) public reselectorService: ReselectorService) {\r\n\r\n\t}\r\n\r\n\tpublic hasSessionData(sessionId: number, state: AppState): boolean {\r\n\t\treturn state.pushMessages.dataBySessionId.has(sessionId);\r\n\t}\r\n\r\n\t/**\r\n\t * UIElement memorizer\r\n\t */\r\n\tpublic getElementMemorizer(sessionId: number, elementId: number, currentElementFunc?: () => any): () => UIElement {\r\n\t\treturn this.reselectorService.createMemorizer2((state) => {\r\n\t\t\tif (!this.hasSessionData(sessionId, state))\r\n\t\t\t\treturn null;\r\n\r\n\t\t\tif (!elementId)\r\n\t\t\t\treturn null;\r\n\r\n\t\t\tlet serverPushMessage = state.pushMessages.dataBySessionId.get(sessionId);\r\n\t\t\tif (!serverPushMessage)\r\n\t\t\t\treturn null;\r\n\r\n\t\t\tlet element = this.getElement(state, elementId, sessionId);\r\n\t\t\tif (!element)\r\n\t\t\t\treturn null;\r\n\r\n\t\t\treturn element;\r\n\t\t},\r\n\t\t\t(state) => {\r\n\t\t\t\tif (currentElementFunc)\r\n\t\t\t\t\treturn currentElementFunc();\r\n\r\n\t\t\t\treturn null;\r\n\t\t\t},\r\n\t\t\t(state) => state\r\n\t\t);\r\n\t}\r\n\r\n\tprivate getElement(state: AppState, elementId: number, sessionId: number): UIElement {\r\n\t\treturn state.pushMessages.dataBySessionId.get(sessionId)?.uiElementById?.get(elementId) as UIElement;\r\n\t}\r\n\r\n/**\r\n * UIElement value memorizer\r\n */\r\n\tpublic getElementValueMemorizer(sessionId: number, elementId: number, currentElementFunc?: () => any): () => string {\r\n\t\treturn this.reselectorService.createMemorizer2((state) => {\r\n\t\t\tif (!this.hasSessionData(sessionId, state))\r\n\t\t\t\treturn null;\r\n\r\n\t\t\tif (!elementId)\r\n\t\t\t\treturn null;\r\n\r\n\t\t\tlet serverPushMessage = state.pushMessages.dataBySessionId.get(sessionId);\r\n\t\t\tif (!serverPushMessage)\r\n\t\t\t\treturn null;\r\n\r\n\t\t\tlet element = this.getElement(state, elementId, sessionId);\r\n\t\t\tif (!element)\r\n\t\t\t\treturn null;\r\n\r\n\t\t\tlet hasValue = false;\r\n\r\n\t\t\tif (element instanceof UIInput) {\r\n\t\t\t\tlet input = (element as UIInput);\r\n\r\n\t\t\t\tif (input.type == \"text\" || input.type == \"checkbox\")\r\n\t\t\t\t\thasValue = true;\r\n\r\n\t\t\t}\r\n\t\t\telse if (element instanceof UISelect) {\r\n\t\t\t\thasValue = true;\r\n\t\t\t}\r\n\r\n\t\t\tif (!hasValue)\r\n\t\t\t\treturn null;\r\n\r\n\t\t\t// Should not ignore null.\r\n\t\t\tlet elementValue = this.getElementValue(state, element.id, sessionId);\r\n\t\t\tif (!elementValue)\r\n\t\t\t\treturn \"\";\r\n\r\n\t\t\treturn elementValue;\r\n\t\t},\r\n\t\t\t(state) => {\r\n\t\t\t\tif (currentElementFunc)\r\n\t\t\t\t\treturn currentElementFunc();\r\n\r\n\t\t\t\treturn null;\r\n\t\t\t},\r\n\t\t\t(state) => state\r\n\t\t);\r\n\t}\r\n\r\n\tprivate getElementValue(state: AppState, elementId: string, sessionId: number): string {\r\n\t\treturn state.pushMessages.dataBySessionId.get(sessionId)?.values?.get(elementId) as string;\r\n\t}\r\n\r\n}","import { Inject, Injectable } from \"@angular/core\";\r\nimport { NormalizerService } from \"../../../../shared/providers/normalizer\";\r\nimport { ModelFactory } from \"../modelFactory\";\r\nimport * as Immutable from \"immutable\";\r\nimport { PushMessageData } from \"../../models/entities/pushMessageData\";\r\nimport { PushMessageSchema } from \"./pushMessageSchema\";\r\nimport { UIAction, UIElement, UIPopup, UIInput, UISelect } from \"../../models\";\r\nimport { BaseEntity } from \"../../baseEntity\";\r\n\r\n@Injectable()\r\nexport class PushMessageNormalizer {\r\n\r\n constructor(\r\n @Inject(NormalizerService) public normalizerService: NormalizerService,\r\n @Inject(ModelFactory) public modelFactory: ModelFactory,\r\n @Inject(PushMessageSchema) public pushMessageSchema: PushMessageSchema\r\n ) { }\r\n\r\n normalizeJson(json: any) {\r\n \r\n let pushMessageData = new PushMessageData();\r\n let uiActions = Immutable.Map();\r\n let uiActionStructureById = Immutable.Map>();\r\n let uiElements = Immutable.Map();\r\n let values = Immutable.Map();\r\n\r\n pushMessageData = pushMessageData.setInteractionSessionId(json.interactionSessionId);\r\n pushMessageData = pushMessageData.setExtraArgs(json.extraArgs);\r\n pushMessageData = pushMessageData.setLongId(json.longId);\r\n pushMessageData = pushMessageData.setStartUIAction(json.startUIAction);\r\n pushMessageData = pushMessageData.setClientRequestId(json.clientRequestId);\r\n\r\n for (let property in json.uiActionsById) {\r\n\r\n let currentUIActionIds = Immutable.List();\r\n\r\n let currentProperty: Immutable.List = json.uiActionsById[property];\r\n currentProperty.forEach(uiAction => {\r\n\r\n let jsonArray = new Array();\r\n jsonArray.push(uiAction);\r\n\r\n let normalizeOutput = this.normalizerService.normalizeJson(jsonArray, this.pushMessageSchema.uiActionSchemaArray, (className, data) => this.modelFactory.createEntity(className, data));\r\n\r\n normalizeOutput.entities.forEach((value, key) => {\r\n\r\n if (value instanceof UIAction) {\r\n\r\n uiActions = uiActions.set(key, value);\r\n currentUIActionIds = currentUIActionIds.push(key);\r\n }\r\n else if (value instanceof UIElement) {\r\n\r\n uiElements = uiElements.set(key, value);\r\n\r\n if (value instanceof UIInput) {\r\n let input = (value as UIInput);\r\n\r\n if (input.type == \"text\" || input.type == \"checkbox\")\r\n values = values.set(input.id, input.value);\r\n\r\n }\r\n else if (value instanceof UISelect) {\r\n\r\n values = values.set(value.id, value.value);\r\n\r\n }\r\n }\r\n\r\n });\r\n });\r\n\r\n uiActionStructureById = uiActionStructureById.set(property, currentUIActionIds);\r\n\r\n }\r\n\r\n pushMessageData = pushMessageData.setUiActions(uiActions);\r\n pushMessageData = pushMessageData.setUiActionStructureById(uiActionStructureById);\r\n pushMessageData = pushMessageData.setUiElements(uiElements);\r\n pushMessageData = pushMessageData.setValues(values);\r\n\r\n return pushMessageData;\r\n\r\n }\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { schema } from \"normalizr\";\r\nimport { UIElementSchema } from \"../uiElementSchema\";\r\n\r\n\r\n@Injectable()\r\nexport class PushMessageSchema extends UIElementSchema {\r\n\r\n // NOTE! This is not used.\r\n //public serverPushMessageSchema: schema.Entity = new schema.Entity('ServerPushMessage', {}, { idAttribute: 'id' });\r\n\r\n public uiActionSchemaArray: schema.Array;\r\n public uiActionSchema: schema.Entity = new schema.Entity('UIAction', {}, { idAttribute: 'renderId' });\r\n public uiActionUIPopupSchema: schema.Entity = new schema.Entity('UIPopup', {}, { idAttribute: 'renderId' });\r\n public uiActionUIEventOperationSchema: schema.Entity = new schema.Entity('UIEventOperation', {}, { idAttribute: 'renderId' });\r\n public uiActionUINotificationSchema: schema.Entity = new schema.Entity('UINotification', {}, { idAttribute: 'renderId' });\r\n\r\n public uiPopupSchemaArray: schema.Array;\r\n\r\n constructor() {\r\n super();\r\n this.setupServerPushMessageSchema();\r\n }\r\n\r\n public setupServerPushMessageSchema(): void {\r\n\r\n let uiActionSchemaType = {\r\n UIPopup: this.uiActionUIPopupSchema,\r\n UIEventOperation: this.uiActionUIEventOperationSchema,\r\n UINotification: this.uiActionUINotificationSchema\r\n };\r\n\r\n this.uiActionSchemaArray = new schema.Array(uiActionSchemaType, 'className');\r\n\r\n this.uiActionSchema.define({\r\n uiActions: new schema.Array(uiActionSchemaType, 'className')\r\n });\r\n\r\n this.uiActionUIPopupSchema.define({\r\n uiElements: new schema.Array(this.uiElementSchemaType, 'className')\r\n });\r\n\r\n }\r\n}","export class PushMessageSelection {\r\n\r\n sessionId: number;\r\n\r\n // Should the session be cleared?\r\n clearSession: boolean;\r\n\r\n // The key of the control.\r\n key: string;\r\n\r\n // The value to set in the session, for the control.\r\n value: string;\r\n\r\n // Should it trigger an action?\r\n triggerAction: boolean;\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\nimport { Subject, Subscription, BehaviorSubject, ReplaySubject } from \"rxjs\";\r\n\r\nimport { BaseStore } from \"../../state/baseStore\";\r\nimport { Product, Tab, Assortment, ConfInfo, State, GlobalEntitiesCommand, ProductCommand, TabOptions, VisualObjectOptions, AssortmentCommand, PushMessage, ServerPushMessage, UIElement, UIAction } from \"../../models\";\r\nimport { BaseEntity } from \"../../baseEntity\";\r\nimport { StoreResponse } from \"../../state/storeResponse\";\r\nimport { PushMessageActionCreator } from \"./pushMessageActionCreator\";\r\nimport { AppStoreSubscriptionManager } from \"../appStoreSubscriptionManager\";\r\nimport { ValueSubscriptionManager } from \"../valueSubscriptionManager\";\r\nimport { ManagedSubject } from \"../../../../shared/managedSubject\";\r\nimport { GlobalDataStore } from \"../globalData/globalDataStore\";\r\nimport { ModelFactory } from \"../modelFactory\";\r\nimport { AppStore } from \"../../state\";\r\nimport { ClientPushMessage } from \"../../models/requests/clientPushMessage\";\r\nimport { PushMessageSelection } from \"./pushMessageSelection\";\r\nimport { ManagedSubscription, SubscriptionOptions } from \"../../../../shared\";\r\nimport { PushMessageMemorizer } from \"./pushMessageMemorizer\";\r\nimport { PushMessageData } from \"../../models/entities/pushMessageData\";\r\nimport { SignalRService } from \"./signalRService\";\r\nimport { AccountDataStore } from \"../accountData\";\r\nimport { ElementStore } from \"../elementStore\";\r\n\r\n@Injectable()\r\nexport class PushMessageStore extends BaseStore implements ElementStore {\r\n \r\n constructor(\r\n @Inject(AppStore) protected appStore: AppStore,\r\n @Inject(GlobalDataStore) protected globalDataStore: GlobalDataStore,\r\n @Inject(PushMessageActionCreator) protected pushMessageActionCreator: PushMessageActionCreator,\r\n @Inject(AppStoreSubscriptionManager) protected appStoreSubscriptionManager: AppStoreSubscriptionManager,\r\n @Inject(ValueSubscriptionManager) protected valueSubscriptionManager: ValueSubscriptionManager,\r\n @Inject(PushMessageMemorizer) protected memorizer: PushMessageMemorizer,\r\n @Inject(ModelFactory) protected modelFactory: ModelFactory,\r\n @Inject(SignalRService) protected signalRService: SignalRService,\r\n @Inject(AccountDataStore) protected accountDataStore: AccountDataStore\r\n ) {\r\n super(appStore, appStoreSubscriptionManager, modelFactory, pushMessageActionCreator);\r\n }\r\n\r\n /**\r\n * Fetches products without tabs.\r\n * @param productId\r\n */\r\n setData(data: any): ManagedSubject> {\r\n // let model = this.createProductRequestModel();\r\n //model.product = this.modelFactory.createRequestOrCommand(ProductCommand.name, { ids: [productId] });\r\n let response: StoreResponse = new StoreResponse();\r\n\r\n let action = this.pushMessageActionCreator.dispatchSetServerPushMessage(data);\r\n\r\n // Create request object\r\n return this.createAction(action, actionInfo => {\r\n let serverPushMessage = actionInfo.payload.data as PushMessageData;\r\n\r\n if (serverPushMessage)\r\n response.data = serverPushMessage;\r\n\r\n return response;\r\n });\r\n\r\n }\r\n\r\n public getElementValue(id: string, sessionId: number) {\r\n let valuesBySessionId = this.getValuesBySessionId(sessionId);\r\n\r\n if (valuesBySessionId)\r\n return valuesBySessionId.get(id);\r\n\r\n return null;\r\n }\r\n\r\n public getValuesBySessionId(sessionId: number): Immutable.Map {\r\n return this.appStore.getState().pushMessages.dataBySessionId.get(sessionId).values;\r\n }\r\n\r\n public clear(sessionId: number) {\r\n\r\n let selection = new PushMessageSelection();\r\n\r\n selection.sessionId = sessionId;\r\n selection.clearSession = true;\r\n\r\n this.pushMessageActionCreator.dispatchValueChanged(selection);\r\n }\r\n\r\n public setValue(pushMessageSelection: PushMessageSelection) {\r\n\r\n this.pushMessageActionCreator.dispatchValueChanged(pushMessageSelection);\r\n }\r\n\r\n public createRequest(): ClientPushMessage {\r\n return this.modelFactory.createRequestOrCommand(ClientPushMessage.name);\r\n }\r\n\r\n onElementChange(sessionId: number, elementId: number, callback: (uiElement: UIElement) => void, currentValueFunc?: () => any): ManagedSubscription {\r\n let memorizer: () => UIElement = this.memorizer.getElementMemorizer(sessionId, elementId, currentValueFunc);\r\n\r\n let identifier = `onElementChange_${sessionId}_${elementId}`;\r\n\r\n if (currentValueFunc)\r\n identifier += \"_match_current_value\";\r\n\r\n return this.createStoreSubscription(identifier, memorizer, callback);\r\n }\r\n\r\n onElementValueChange(sessionId: number, elementId: number, callback: (value: string) => void, currentValueFunc?: () => any): ManagedSubscription {\r\n let memorizer: () => string = this.memorizer.getElementValueMemorizer(sessionId, elementId, currentValueFunc);\r\n\r\n let identifier = `onElementValueChange_${sessionId}_${elementId}`;\r\n\r\n if (currentValueFunc)\r\n identifier += \"_match_current_value\";\r\n\r\n return this.createStoreSubscription(identifier, memorizer, callback);\r\n }\r\n\r\n public getUIActions(id: string, sessionId: number): Immutable.List {\r\n\r\n let actions = this.appStore.getState().pushMessages.dataBySessionId.get(sessionId).serverPushMessage.uiActionStructureById;\r\n\r\n return actions.get(id);\r\n }\r\n\r\n public getUIActionsBySessionId(sessionId: number): Immutable.Map {\r\n return this.appStore.getState().pushMessages.dataBySessionId.get(sessionId).uiActionById;\r\n }\r\n\r\n public getElementsBySessionId(sessionId: number): Immutable.Map {\r\n\r\n if (!this.appStore.getState().pushMessages.dataBySessionId)\r\n return null;\r\n\r\n if (!this.appStore.getState().pushMessages.dataBySessionId.has(sessionId))\r\n return null;\r\n\r\n return this.appStore.getState().pushMessages.dataBySessionId.get(sessionId).uiElementById;\r\n }\r\n\r\n public getUIAction(id: number, sessionId: number): UIAction {\r\n return this.getUIActionsBySessionId(sessionId)?.get(id);\r\n }\r\n\r\n public getElement(id: number, sessionId: number): UIElement {\r\n return this.getElementsBySessionId(sessionId)?.get(id);\r\n }\r\n\r\n public createStoreSubscription(identifier: string, memorizer: () => T, subscriptionOptions: SubscriptionOptions, oneTime = false) {\r\n let managedSubject: ManagedSubject = this.appStoreSubscriptionManager.getOrCreateStoreSubject(identifier, memorizer, oneTime, 1, true);\r\n return managedSubject.subscribe(subscriptionOptions);\r\n }\r\n\r\n public startListening(): void {\r\n if (this.accountDataStore.isUserLoggedIn() && !this.signalRService.isConnected()) {\r\n this.signalRService.startConnection();\r\n }\r\n }\r\n\r\n public stopListening(): void {\r\n this.signalRService.stopConnection();\r\n }\r\n\r\n public isRedirecting() {\r\n return this.appStore.getState().pushMessages && this.appStore.getState().pushMessages.redirecting;\r\n }\r\n\r\n public isRefreshing() {\r\n return this.appStore.getState().pushMessages && this.appStore.getState().pushMessages.refreshing;\r\n }\r\n\r\n public setRefreshing(refreshing: boolean): ManagedSubject {\r\n this.pushMessageActionCreator.dispatchRefreshingChanged(refreshing);\r\n\r\n // Create request object\r\n let response: StoreResponse = new StoreResponse();\r\n\r\n // Subscribe to store and return the results on request complete. \r\n return this.appStoreSubscriptionManager.createSubject(() => {\r\n\r\n if (this.appStore.getState().pushMessages.refreshing) {\r\n\r\n return response;\r\n }\r\n\r\n return ManagedSubject.IGNORE_VALUE;\r\n }, true);\r\n }\r\n\r\n public setRedirecting(redirecting: boolean) {\r\n this.pushMessageActionCreator.dispatchRedirectingChanged(redirecting);\r\n\r\n // Create request object\r\n let response: StoreResponse = new StoreResponse();\r\n\r\n // Subscribe to store and return the results on request complete. \r\n return this.appStoreSubscriptionManager.createSubject(() => {\r\n\r\n if (this.appStore.getState().pushMessages.redirecting) {\r\n\r\n return response;\r\n }\r\n\r\n return ManagedSubject.IGNORE_VALUE;\r\n }, true);\r\n }\r\n\r\n public uploadFile(file: File, uploadSessionId: number, errorCallback?: (error) => void) {\r\n\r\n let model = this.createRequest();\r\n\r\n model.interactionSessionId = uploadSessionId;\r\n\r\n return this.pushMessageActionCreator.dispatchUploadFile(model, file, errorCallback);\r\n }\r\n}","import { Injectable, EventEmitter, Inject } from \"@angular/core\";\r\nimport { HubConnection, HubConnectionBuilder, LogLevel, HubConnectionState } from '@microsoft/signalr';\r\nimport { ServerPushMessage, ClientPushMessage } from \"../../models\";\r\nimport { ApiResponseBuilder } from \"../apiResponseBuilder\";\r\nimport { PushMessageActionCreator } from \"./pushMessageActionCreator\";\r\nimport { random } from \"core-js/fn/number\";\r\nimport { SessionStorageService } from \"../sessionStorageService\";\r\nimport { GlobalDataStore } from \"../globalData\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class SignalRService {\r\n private hubConnection: signalR.HubConnection;\r\n signalReceived = new EventEmitter();\r\n connecting = new EventEmitter();\r\n\r\n temporaryId: number;\r\n\r\n constructor(public sessionStorageService: SessionStorageService,\r\n @Inject(ApiResponseBuilder) public apiResponseBuilder: ApiResponseBuilder,\r\n @Inject(PushMessageActionCreator) public pushMessageActionCreator: PushMessageActionCreator,\r\n @Inject(GlobalDataStore) public globalDataStore: GlobalDataStore,\r\n ) {\r\n //this.buildConnection();\r\n //this.startConnection();\r\n }\r\n\r\n get tempConnectionId(): number {\r\n\r\n if (!this.temporaryId) {\r\n this.temporaryId = new Date().valueOf() * 10000 + Math.floor(1000 + Math.random() * 9000);\r\n }\r\n\r\n return this.temporaryId\r\n }\r\n\r\n get connectionId(): string {\r\n\r\n if (this.hubConnection)\r\n return this.hubConnection.connectionId;\r\n\r\n return \"\";\r\n }\r\n\r\n private buildConnection() {\r\n\r\n let baseUrl = this.globalDataStore.getGlobalData().webSettings.baseUrl;\r\n\r\n let accessToken = this.sessionStorageService.getData()?.accessToken;\r\n this.hubConnection = new HubConnectionBuilder()\r\n .withUrl(`${baseUrl}/pushMessageHub`, { accessTokenFactory: () => accessToken })\r\n .withAutomaticReconnect()\r\n .build();\r\n }\r\n\r\n public isConnected() {\r\n\r\n return this.hubConnection && (this.hubConnection.state != HubConnectionState.Disconnected && this.hubConnection.state != HubConnectionState.Disconnecting)\r\n\r\n }\r\n\r\n public stopConnection() {\r\n //console.log(\"???????????????????????????????????????????????????????????????? stop.\");\r\n if (this.hubConnection && this.hubConnection.state != HubConnectionState.Disconnected) {\r\n this.temporaryId = null;\r\n this.hubConnection.stop();\r\n }\r\n }\r\n\r\n public startConnection() {\r\n //console.log(\"???????????????????????????????????????????????????????????????? start.\");\r\n if (this.hubConnection && this.hubConnection.state != HubConnectionState.Disconnected) {\r\n //this.temporaryId = null;\r\n this.hubConnection.stop().then(() => this.startConnectionInternal());\r\n }\r\n else {\r\n this.buildConnection();\r\n this.startConnectionInternal();\r\n }\r\n }\r\n\r\n private startConnectionInternal() {\r\n //console.log(\"???????????????????????????????????????????????????????????????? start internal.\");\r\n this.hubConnection\r\n .start()\r\n .then(() => {\r\n console.log(\"SignalR Connection Started.\");\r\n this.registerSignalEvents();\r\n\r\n // Send notification to the server so that the temporary id can be removed.\r\n this.connecting.emit(this.temporaryId);\r\n\r\n this.temporaryId = null;\r\n })\r\n .catch(err => {\r\n console.log(\"Error while starting the SignalR connection: \" + err);\r\n\r\n // Try again if there was an error.\r\n setTimeout(function () {\r\n () => {\r\n this.startConnection();\r\n };\r\n }\r\n , 3000);\r\n });\r\n }\r\n\r\n public send(message: ClientPushMessage) {\r\n\r\n this.hubConnection.invoke(\"Send\", message);\r\n\r\n }\r\n\r\n private registerSignalEvents() {\r\n this.hubConnection.on(\"ServerPushMessage\", (data: ServerPushMessage) => {\r\n this.signalReceived.emit(data);\r\n\r\n this.apiResponseBuilder.build(data);\r\n this.pushMessageActionCreator.dispatchSetServerPushMessage(data);\r\n });\r\n }\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport * as Immutable from 'immutable';\r\nimport { AppState, AppStore } from \"../state\"\r\nimport { ManagedSubject } from \"../../../shared/managedSubject\";\r\nimport { Array } from \"core-js\";\r\n\r\n@Injectable()\r\nexport class ReselectorService {\r\n\r\n constructor(\r\n @Inject(AppStore) public appStore: AppStore\r\n )\r\n {}\r\n\r\n createMemorizer(stateSlicer: (AppState: AppState) => T1, ignoreNull:boolean = true): () => T1 {\r\n\r\n let memorizerFn: () => ReselectorResult = this.create1(stateSlicer, (result: T1): T1 => result);\r\n\r\n return () => {\r\n\r\n let result: ReselectorResult = memorizerFn(); \r\n if (result.isChanged) {\r\n if ((result.Output == null || result.Output == undefined) && ignoreNull)\r\n return ManagedSubject.IGNORE_VALUE;\r\n \r\n return result.Output;\r\n }\r\n\r\n return ManagedSubject.IGNORE_VALUE;\r\n }\r\n }\r\n\r\n createMemorizer1(stateSlicer: (AppState: AppState) => T1, resultFunc: (arg1: T1) => TOutput, ignoreNull: boolean = true): () => TOutput {\r\n\r\n let memorizerFn: () => ReselectorResult = this.create1(stateSlicer, resultFunc);\r\n\r\n return () => {\r\n\r\n let result: ReselectorResult = memorizerFn();\r\n if (result.isChanged) {\r\n if ((result.Output == null || result.Output == undefined) && ignoreNull)\r\n return ManagedSubject.IGNORE_VALUE;\r\n\r\n return result.Output;\r\n }\r\n\r\n return ManagedSubject.IGNORE_VALUE;\r\n }\r\n }\r\n\r\n createMemorizer2(stateSlicer1: (AppState: AppState) => T1, stateSlicer2: (AppState: AppState) => T2, resultFunc: (arg1: T1, arg2: T2) => TOutput, ignoreNull: boolean = true): () => TOutput {\r\n\r\n let memorizerFn: () => ReselectorResult = this.create2(stateSlicer1, stateSlicer2, resultFunc);\r\n\r\n return () => {\r\n\r\n let result: ReselectorResult = memorizerFn();\r\n if (result.isChanged) {\r\n if ((result.Output == null || result.Output == undefined) && ignoreNull)\r\n return ManagedSubject.IGNORE_VALUE;\r\n\r\n return result.Output;\r\n }\r\n\r\n return ManagedSubject.IGNORE_VALUE;\r\n }\r\n }\r\n \r\n create1(stateSlicer1: (AppState: AppState) => T1, resultFunc: (arg1: T1) => TOutput): () => ReselectorResult {\r\n return this.create(resultFunc, stateSlicer1);\r\n }\r\n\r\n create2(stateSlicer1: (AppState: AppState) => T1, stateSlicer2: (AppState: AppState) => T2, resultFunc: (arg1: T1, arg2: T2) => TOutput): () => ReselectorResult {\r\n return this.create(resultFunc, stateSlicer1, stateSlicer2);\r\n }\r\n\r\n create3(stateSlicer1: (AppState: AppState) => T1, stateSlicer2: (AppState: AppState) => T2, stateSlicer3: (AppState: AppState) => T3, resultFunc: (arg1: T1, arg2: T2, arg3: T3) => TOutput): () => ReselectorResult {\r\n return this.create(resultFunc, stateSlicer1, stateSlicer2, stateSlicer3);\r\n }\r\n\r\n create4(stateSlicer1: (AppState: AppState) => T1, stateSlicer2: (AppState: AppState) => T2, stateSlicer3: (AppState: AppState) => T3, stateSlicer4: (AppState: AppState) => T4, resultFunc: (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => TOutput): () => ReselectorResult {\r\n return this.create(resultFunc, stateSlicer1, stateSlicer2, stateSlicer3, stateSlicer4);\r\n }\r\n\r\n create5(stateSlicer1: (AppState: AppState) => T1, stateSlicer2: (AppState: AppState) => T2, stateSlicer3: (AppState: AppState) => T3, stateSlicer4: (AppState: AppState) => T4, stateSlicer5: (AppState: AppState) => T5, resultFunc: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => TOutput): () => ReselectorResult {\r\n return this.create(resultFunc, stateSlicer1, stateSlicer2, stateSlicer3, stateSlicer4, stateSlicer5);\r\n }\r\n\r\n public create(resultFunc: Function, ...stateSlicers: Function[]): () => ReselectorResult {\r\n\r\n const memoizedResultFunc = this.memorizer((...args) => {\r\n return resultFunc(...args)\r\n })\r\n\r\n const reselector = () => {\r\n let state: AppState = this.appStore.getState();\r\n const params = stateSlicers.map(func => func(state))\r\n return memoizedResultFunc(...params)\r\n }\r\n\r\n return reselector;\r\n }\r\n\r\n public memorizer(reselector: Function): (...args) => ReselectorResult {\r\n let lastArgs = null\r\n let lastResult = null\r\n let firstTime: boolean = true;\r\n\r\n const isEqualToLastArg = (value, index) => {\r\n\r\n if (value === lastArgs[index])\r\n return true;\r\n else {\r\n\r\n if ((value instanceof Immutable.List && lastArgs[index] instanceof Immutable.List)) {\r\n\r\n let list1 = value as Immutable.List;\r\n let list2 = lastArgs[index] as Immutable.List;\r\n\r\n if (list1.size != list2.size)\r\n return false;\r\n\r\n for (let ii = 0; ii < list1.size; ii++)\r\n if (list1.get(ii) !== list2.get(ii))\r\n return false;\r\n\r\n return true;\r\n }\r\n\r\n }\r\n\r\n return false;\r\n };\r\n\r\n return (...args): ReselectorResult => {\r\n \r\n let result = new ReselectorResult();\r\n result.isChanged = firstTime;\r\n firstTime = false;\r\n\r\n if (lastArgs === null || lastArgs.length !== args.length || !args.every(isEqualToLastArg)) {\r\n lastResult = reselector(...args)\r\n result.isChanged = true;\r\n }\r\n\r\n result.Output = lastResult; \r\n lastArgs = args;\r\n\r\n return result;\r\n }\r\n }\r\n}\r\n\r\nexport class ReselectorResult {\r\n isChanged: boolean;\r\n Output: TOutput;\r\n}","export enum RouteNames {\r\n Configurator = \"configurator\",\r\n Summary = \"summary\", // Child route\r\n Editor = \"editor\", // Child route\r\n Selector = \"selector\",\r\n Search = \"search\",\r\n Comparison = \"comparison\",\r\n Result = \"result\", // Child route of search\r\n Redirector = \"redirector\",\r\n Account = \"account\",\r\n Login = \"login\",\r\n Logout = \"logout\",\r\n Recover = \"recover\",\r\n PasswordChange = \"passwordchange\",\r\n SignUp = \"signup\",\r\n Email = \"email\",\r\n Verify = \"verify\",\r\n CreateProfile = \"createprofile\",\r\n Start = \"start\",\r\n Settings = \"settings\",\r\n}","import { SimpleObject } from \"../../../shared/simpleObject\";\r\nimport { ParamMap } from \"@angular/router\";\r\n\r\nexport abstract class RouteParams {\r\n\r\n public internalMap: Map = new Map();\r\n constructor(public paramMap?: ParamMap) {\r\n\r\n // Copy the value to internal map. As paramMap is not map itself, It has internally \"params\" property. \r\n if (paramMap)\r\n paramMap.keys.forEach(key => { this.internalMap.set(key, paramMap.get(key)); });\r\n\r\n }\r\n \r\n}","import { Injectable, Inject, forwardRef, ElementRef } from '@angular/core';\r\nimport { Location } from \"@angular/common\";\r\nimport { Router, RouterStateSnapshot, NavigationExtras, ActivatedRoute, Params } from '@angular/router';\r\nimport { ConfRouteParams } from \"../../configurator/providers/confRouteParams\";\r\nimport { RouteNames } from \"./routeNames\";\r\nimport { ComparisonUrlParams } from '../../configurator/comparison/components/dragDrop/models/comparisonUrlParams';\r\nimport { AccountDataStore } from './accountData';\r\nimport { searchUrlQueryParam } from '../../../shared/utils/routeParamsUtils';\r\nimport { SessionStorageService } from './sessionStorageService';\r\n\r\n@Injectable()\r\nexport class RouteRedirector {\r\n\r\n constructor(public router: Router, public activeRoute: ActivatedRoute, public location: Location, public sessionStorageService: SessionStorageService, public accountStore: AccountDataStore) { }\r\n\r\n public redirect(commands: any[], extras?: NavigationExtras): Promise {\r\n\r\n if (extras && extras.replaceUrl) {\r\n let urlToRedirect = \"#\" + decodeURIComponent(this.router.serializeUrl(this.router.createUrlTree(commands, extras)));\r\n location.replace(urlToRedirect);\r\n return Promise.resolve(true);\r\n }\r\n\r\n return this.router.navigate(commands, extras); \r\n }\r\n\r\n public redirectByUrl(url: string, extras?: NavigationExtras): Promise {\r\n\r\n if (extras && extras.replaceUrl)\r\n return this.redirect([url], extras);\r\n\r\n return this.router.navigateByUrl(url, extras);\r\n }\r\n\r\n public redirectByAbsolutUrl(url: string, includeAccessToken=true) {\r\n if (includeAccessToken) {\r\n url = this.sessionStorageService.addTokenToUrl(url);\r\n }\r\n window.location.href = url;\r\n }\r\n\r\n /**\r\n * Redirects to the redirector page for the given URL\r\n * @param url url to redirect to\r\n * @param routeArgs optional route arguments\r\n */\r\n public redirectToRedirector(url: string, routeArgs: any = {}): Promise {\r\n let params = { url: url, ...routeArgs }\r\n return this.redirect([\"/redirector\", params], { skipLocationChange: true });\r\n }\r\n\r\n public redirectToStart(params: any = {}, extras?: NavigationExtras): Promise {\r\n let routeArgs = { ...params };\r\n\r\n return this.redirect(['/start', routeArgs], extras);\r\n }\r\n\r\n public redirectToLogin(returnUrl: string = null): Promise {\r\n \r\n if (!returnUrl)\r\n returnUrl = this.location.path();\r\n\r\n if (returnUrl) {\r\n // Avoid redirect if the user is already at login or logout url\r\n if (returnUrl == \"account\" || returnUrl == \"/account\" || returnUrl.indexOf(\"account/login\") > -1 || returnUrl.indexOf(\"logout\") > -1)\r\n return Promise.resolve(true);\r\n }\r\n \r\n let routeArgs = {};\r\n if (returnUrl)\r\n routeArgs = { returnurl: returnUrl };\r\n\r\n return this.redirect(['/account/login', routeArgs]);\r\n }\r\n\r\n public redirectAfterLogout(): Promise {\r\n\r\n return this.redirect(['/account/login'], { replaceUrl: true });\r\n }\r\n\r\n public redirectToSearchResult(params: any = {}): Promise {\r\n return this.redirect([`/${RouteNames.Search}/${RouteNames.Result}`, params]);\r\n }\r\n\r\n public redirectToSearch(params: any = {}): Promise {\r\n return this.redirect([`/${RouteNames.Search}`, params]);\r\n }\r\n\r\n public redirectToSelector(params: any = {}): Promise {\r\n return this.redirect([`/${RouteNames.Selector}`, params]);\r\n }\r\n\r\n /**\r\n * Redirector to load the load before component rendering.\r\n * @param params\r\n */\r\n public redirectToDataLoaderComponent(params: ConfRouteParams, extras?: any, subConfId?: number): Promise {\r\n\r\n if (!extras)\r\n extras = {};\r\n\r\n if (subConfId)\r\n params.subConfId = subConfId;\r\n\r\n extras.skipLocationChange = true;\r\n\r\n this.cleanParams(params);\r\n // Redirector is responsible to make the sub routing.\r\n return this.redirect(['/configurator/redirector', params], extras);\r\n }\r\n\r\n /**\r\n * Navigates to corresponding view on data load.\r\n * @param params\r\n */\r\n public redirectToConfViewAfterDataLoad(params: ConfRouteParams, extras?: any): Promise {\r\n // Copy the view before remove.\r\n let view: string = params.view;\r\n\r\n if (!extras)\r\n extras = {};\r\n\r\n // Clean/remove unnecessary fields\r\n this.cleanParams(params, true); \r\n\r\n // Make redirect.\r\n return this.redirect([`/${RouteNames.Configurator}/${view}`, params], extras);\r\n }\r\n\r\n public cleanParams(params: ConfRouteParams, removeView: boolean = false): any {\r\n Object.keys(params).forEach((key) => (params[key] == null || (removeView && key == ConfRouteParams.VIEW)) && delete params[key]);\r\n }\r\n\r\n public redirectToEditor(params: ConfRouteParams): Promise {\r\n // If the call is made directly, not through then view could be null, set it to 'editor'\r\n params.view = RouteNames.Editor;\r\n return this.redirectToDataLoaderComponent(params);\r\n }\r\n\r\n /** Redirects to the configuration summary*/\r\n public redirectToSummary(params: ConfRouteParams): Promise {\r\n // If the call is made directly, not through then view could be null, set it to 'summary'\r\n params.view = RouteNames.Summary;\r\n return this.redirectToDataLoaderComponent(params);\r\n }\r\n\r\n public redirectToConfigurator(params: ConfRouteParams): Promise {\r\n switch (params.view) {\r\n case RouteNames.Editor:\r\n return this.redirectToEditor(params);\r\n \r\n case RouteNames.Summary:\r\n return this.redirectToSummary(params);\r\n \r\n }\r\n }\r\n\r\n public redirectToAccountRecoverEmail(params: any = {}): Promise {\r\n return this.redirect([`/${RouteNames.Account}/${RouteNames.Recover}/${RouteNames.Email}`, params]);\r\n }\r\n\r\n public redirectToAccountRecoverVerify(params: any = {}): Promise {\r\n return this.redirect([`/${RouteNames.Account}/${RouteNames.Recover}/${RouteNames.Verify}`, params]);\r\n }\r\n\r\n public redirectToPasswordChange(params: any = {}): Promise {\r\n\r\n return this.redirect([`/${RouteNames.Account}/${RouteNames.Recover}/${RouteNames.PasswordChange}`, params]);\r\n }\r\n\r\n public redirectToSignUpEmail(params: any = {}): Promise {\r\n return this.redirect([`/${RouteNames.Account}/${RouteNames.SignUp}/${RouteNames.Email}`, params]);\r\n }\r\n\r\n public redirectToSignUpVerify(params: any = {}): Promise {\r\n return this.redirect([`/${RouteNames.Account}/${RouteNames.SignUp}/${RouteNames.Verify}`, params]);\r\n }\r\n\r\n public redirectToSignUp(params: any = {}): Promise {\r\n return this.redirect([`/${RouteNames.Account}/${RouteNames.SignUp}/${RouteNames.CreateProfile}`, params]);\r\n }\r\n\r\n public redirectToComparison(params: ComparisonUrlParams): Promise {\r\n return this.redirect([`/${RouteNames.Comparison}`, params], { skipLocationChange: isNaN(params.sessionid) });\r\n }\r\n\r\n public readFromRouteUrl(paramName: string) {\r\n\r\n if (!paramName)\r\n return null;\r\n\r\n paramName = paramName.toLowerCase();\r\n\r\n let params = this.router.url.split(';');\r\n for (let index = 0; index < params.length; index++) {\r\n\r\n let currentParam = params[index];\r\n\r\n let keyValues = currentParam.split('=');\r\n if (keyValues.length > 1 && keyValues[0].toLowerCase() == paramName)\r\n return keyValues[1];\r\n }\r\n\r\n return null;\r\n }\r\n\r\n public searchRouteParam(name: string) {\r\n\r\n let url = this.router.url;\r\n for (let paramValue of url.split(';'))\r\n if (paramValue.startsWith(name)) {\r\n\r\n const keyValue = paramValue.split('=');\r\n if (keyValue.length > 1)\r\n return keyValue[1];\r\n }\r\n\r\n return null;\r\n }\r\n\r\n public changeParamValue(paramName: string, value: string): string {\r\n\r\n let newUrl = this.router.url;\r\n\r\n let params = newUrl.split(';');\r\n let index = 0;\r\n for (;index < params.length; index++) {\r\n\r\n let param = params[index];\r\n if (param.toLocaleLowerCase().startsWith(paramName.toLocaleLowerCase())) {\r\n params.splice(index, 1);\r\n }\r\n }\r\n\r\n // If value is defined then include it.\r\n if (value) {\r\n const paramVal = `${paramName}=${value}`;\r\n params.splice(index, 0, paramVal);\r\n }\r\n\r\n newUrl = params.join(';');\r\n \r\n this.redirect([newUrl], { replaceUrl: true});\r\n return newUrl;\r\n }\r\n\r\n}","export * from './searchDataNormalizer';\r\nexport * from './searchDataController';\r\nexport * from './searchDataActionCreator';\r\nexport * from './searchDataMemorizer';\r\nexport * from './searchDataMessageProvider';\r\nexport * from './searchDataStore';","import { Injectable, Inject } from '@angular/core';\r\n\r\nimport { AppStore, AccountDataActions, AppAsyncAction, HttpAction, ActionStatus, AppAction, PageActions, Actions, SearchDataActions } from \"../../state\";\r\nimport { SearchDataResponse } from \"../../models/responses\"\r\nimport { SearchDataRequest } from \"../../models/requests/searchDataRequest\";\r\nimport { SearchDataController } from \"./searchDataController\";\r\nimport { ApiResponse, KeyValue } from \"../../models\";\r\nimport { BaseActionCreator } from '../../baseActionCreator';\r\n\r\n@Injectable()\r\nexport class SearchDataActionCreator extends BaseActionCreator {\r\n\r\n constructor(\r\n @Inject(AppStore) public appStore: AppStore,\r\n @Inject(SearchDataController) public searchDataController: SearchDataController\r\n ) {\r\n super(searchDataController);\r\n }\r\n\r\n dispatchGetRecentUserConf = (requestModel: SearchDataRequest) => this.appStore.dispatch(this.getRecentUserConf(requestModel)) as HttpAction;\r\n getRecentUserConf(requestModel: SearchDataRequest): HttpAction {\r\n return this.createHttpAction(\r\n PageActions.SEARCH_RECENT_USER_CONF_REQUEST,\r\n (dispatch, state, callback) => {\r\n return this.searchDataController.getSearchData(requestModel).subscribe((searchResponse) => {\r\n dispatch({ type: Actions.SEARCH_CONFIGURATIONS_RESULT, payload: searchResponse });\r\n \r\n // Update complete request status\r\n callback(new ActionStatus(true, searchResponse));\r\n })\r\n });\r\n }\r\n\r\n dispatchGetRecentWorkGroupConf = (requestModel: SearchDataRequest) => this.appStore.dispatch(this.getRecentWorkGroupConf(requestModel)) as HttpAction;\r\n getRecentWorkGroupConf(requestModel: SearchDataRequest): HttpAction {\r\n return this.createHttpAction(\r\n PageActions.SEARCH_RECENT_WORKGROUP_CONF_REQUEST,\r\n (dispatch, state, callback) => {\r\n return this.searchDataController.getSearchData(requestModel).subscribe((searchResponse) => {\r\n dispatch({ type: Actions.SEARCH_CONFIGURATIONS_RESULT, payload: searchResponse });\r\n\r\n // Update complete request status\r\n callback(new ActionStatus(true, searchResponse));\r\n })\r\n });\r\n }\r\n\r\n dispatchGetUnsavedUserConf = (requestModel: SearchDataRequest) => this.appStore.dispatch(this.getUnsavedUserConf(requestModel)) as HttpAction;\r\n getUnsavedUserConf(requestModel: SearchDataRequest): HttpAction {\r\n return this.createHttpAction(\r\n PageActions.SEARCH_UNSAVED_USER_CONF_REQUEST,\r\n (dispatch, state, callback) => {\r\n return this.searchDataController.getSearchData(requestModel).subscribe((searchResponse) => {\r\n dispatch({ type: Actions.SEARCH_CONFIGURATIONS_RESULT, payload: searchResponse });\r\n\r\n // Update complete request status\r\n callback(new ActionStatus(true, searchResponse));\r\n })\r\n });\r\n }\r\n\r\n dispatchFetchSavedConfigurationSearches = (requestModel: SearchDataRequest) => this.appStore.dispatch(this.fetchSavedConfigurationSearches(requestModel)) as HttpAction;\r\n fetchSavedConfigurationSearches(requestModel: SearchDataRequest): HttpAction {\r\n return this.createHttpAction(\r\n SearchDataActions.FETCH_SAVED_CONFIGURATION_SEARCHES,\r\n (dispatch, state, callback) => {\r\n return this.searchDataController.getSearchData(requestModel).subscribe((searchResponse) => {\r\n dispatch({ type: SearchDataActions.SAVED_CONFIGURATION_SEARCHES_LOADED, payload: searchResponse });\r\n\r\n // Update complete request status\r\n callback(new ActionStatus(true, searchResponse));\r\n })\r\n });\r\n }\r\n\r\n dispatchSearchConfigurations = (requestModel: SearchDataRequest) => this.appStore.dispatch(this.getSearchConfigurations(requestModel)) as HttpAction;\r\n getSearchConfigurations(requestModel: SearchDataRequest): HttpAction {\r\n return this.createHttpAction(\r\n Actions.SEARCH_CONFIGURATIONS,\r\n (dispatch, state, callback) => {\r\n return this.searchDataController.getSearchData(requestModel).subscribe((searchResponse) => {\r\n dispatch({ type: Actions.SEARCH_CONFIGURATIONS_RESULT, payload: searchResponse });\r\n\r\n // Update complete request status\r\n callback(new ActionStatus(true, searchResponse));\r\n })\r\n });\r\n }\r\n\r\n dispatchSaveConfigurationSearch = (requestModel: SearchDataRequest) => this.appStore.dispatch(this.saveConfigurationSearch(requestModel)) as HttpAction;\r\n saveConfigurationSearch(requestModel: SearchDataRequest): HttpAction {\r\n return this.createHttpAction(\r\n SearchDataActions.SAVE_CONFIGURATION_SEARCH,\r\n (dispatch, state, callback) => {\r\n return this.searchDataController.getSearchData(requestModel).subscribe((searchResponse) => {\r\n dispatch({ type: SearchDataActions.SAVED_CONFIGURATION_SEARCHES_LOADED, payload: searchResponse });\r\n\r\n // Update complete request status\r\n callback(new ActionStatus(true, searchResponse));\r\n })\r\n });\r\n }\r\n\r\n dispatchDeleteConfigurationSearch = (requestModel: SearchDataRequest) => this.appStore.dispatch(this.deleteConfigurationSearch(requestModel)) as HttpAction;\r\n deleteConfigurationSearch(requestModel: SearchDataRequest): HttpAction {\r\n return this.createHttpAction(\r\n SearchDataActions.DELETE_CONFIGURATION_SEARCH,\r\n (dispatch, state, callback) => {\r\n return this.searchDataController.getSearchData(requestModel).subscribe((searchResponse) => {\r\n dispatch({ type: SearchDataActions.SAVED_CONFIGURATION_SEARCHES_LOADED, payload: searchResponse });\r\n\r\n // Update complete request status \r\n callback(new ActionStatus(true, searchResponse));\r\n })\r\n });\r\n }\r\n\r\n \r\n\r\n public createHttpAction(actionType: any, executeAsync: any, payload: T = null): HttpAction {\r\n let httpAction: HttpAction = {\r\n type: actionType,\r\n executeAsync: executeAsync,\r\n payload: payload\r\n }\r\n return httpAction;\r\n }\r\n}","import { Injectable, Inject } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { HttpService } from \"../../../../shared/providers/httpService\";\r\nimport { SearchDataResponse } from \"../../models/responses\";\r\nimport { SearchDataRequest } from \"../../models/requests/searchDataRequest\";\r\nimport { SearchDataNormalizer } from \"./searchDataNormalizer\";\r\nimport { ApiResponse } from \"../../models\";\r\nimport { ApiResponseBuilder } from \"../apiResponseBuilder\";\r\nimport { BaseController } from '../baseController';\r\n\r\n@Injectable()\r\nexport class SearchDataController extends BaseController {\r\n\r\n public url = 'api/search';\r\n\r\n constructor(\r\n @Inject(HttpService) public httpService: HttpService,\r\n public apiResponseBuilder: ApiResponseBuilder \r\n ) {\r\n super(httpService, apiResponseBuilder);\r\n }\r\n \r\n public getSearchData(requestModel: SearchDataRequest): Observable {\r\n return this.httpService.post(this.url, requestModel).pipe(this.buildResponseObject);\r\n }\r\n\r\n public buildResponseObject = map((response, index) => this.apiResponseBuilder.build(response));\r\n\r\n public getControllerUrl(): string {\r\n return this.url;\r\n }\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\n\r\nimport { ReselectorService } from \"../reselectorService\";\r\nimport { AbstractSearchDataMessage } from \"../../models/responses/messages\";\r\n\r\n@Injectable()\r\nexport class SearchDataMemorizer {\r\n\r\n constructor( @Inject(ReselectorService) public reselectorService: ReselectorService) {\r\n }\r\n\r\n public getMessagesMemorizer(className: string): () => Immutable.List {\r\n\r\n return this.reselectorService.createMemorizer((state) => {\r\n\r\n let messages = state.searchData.messages;\r\n if (messages && messages.size > 0)\r\n return messages.get(className) as Immutable.List;\r\n\r\n return null;\r\n });\r\n }\r\n}","import { Injectable, Inject } from '@angular/core';\r\nimport * as Immutable from \"immutable\";\r\n\r\nimport { AbstractSearchDataMessage } from \"../../models/responses/messages\";\r\nimport { SearchDataMemorizer } from \"./searchDataMemorizer\";\r\nimport { ManagedSubscription, SubscriptionOptions } from \"../../../../shared/managedSubscription\";\r\nimport { ManagedSubject } from \"../../../../shared/managedSubject\";\r\nimport { AppStoreSubscriptionManager } from \"../appStoreSubscriptionManager\";\r\n\r\n@Injectable()\r\nexport class SearchDataMessageProvider {\r\n\r\n constructor(\r\n public appStoreSubscriptionManager: AppStoreSubscriptionManager,\r\n @Inject(SearchDataMemorizer) public searchDataMemorizer: SearchDataMemorizer\r\n ) {\r\n }\r\n\r\n public onMessages(messageClassName: string, subscriptionOptions: SubscriptionOptions>): ManagedSubscription {\r\n return this.createStoreSubscription>(messageClassName, this.searchDataMemorizer.getMessagesMemorizer(messageClassName), subscriptionOptions);\r\n }\r\n\r\n public createStoreSubscription(identifier: string, memorizer: () => T, subscriptionOptions: SubscriptionOptions): ManagedSubscription {\r\n\r\n let managedSubject: ManagedSubject = this.appStoreSubscriptionManager.getOrCreateStoreSubject(identifier, memorizer, false, 1, false);\r\n return managedSubject.subscribe(subscriptionOptions);\r\n }\r\n\r\n}","import { Inject, Injectable } from \"@angular/core\"\r\nimport { normalize } from \"normalizr\";\r\nimport * as Immutable from \"immutable\"\r\n\r\nimport { BaseEntity } from \"../../baseEntity\"\r\nimport { AbstractConfigurationMessage } from \"../../models/responses/messages\"\r\nimport { ModelFactory } from \"../modelFactory\"\r\nimport { Ioc, Register } from \"../../../../shared/ioc/iocdecorator\"\r\nimport { ConfDataResponse } from \"../../models/responses\"\r\nimport { ConfInfoResult } from \"../../models/responses\"\r\nimport { NormalizerService } from \"../../../../shared/providers/normalizer\"\r\nimport {\r\n ConfInfo, SearchDataResponse, PaginationInfo, SortingInfo,\r\n ConfSearchResultItem, SearchResult, ConfigurationSearch, AbstractSearchDataMessage\r\n} from \"../../models\";\r\nimport { ConfDataNormalizer } from \"../configurationData/confDataNormalizer\";\r\n\r\n@Injectable()\r\nexport class SearchDataNormalizer {\r\n\r\n constructor(\r\n @Inject(ModelFactory) public modelFactory: ModelFactory,\r\n @Inject(ConfDataNormalizer) public confDataNormalizer: ConfDataNormalizer,\r\n @Inject(NormalizerService) public normalizerService: NormalizerService\r\n ) { }\r\n\r\n normalizeJson(json: any): SearchDataResponse {\r\n\r\n let searchDataResponse = new SearchDataResponse();\r\n\r\n if (json.searchResult) {\r\n\r\n // save it for later use\r\n let jsonConfDataResponses = json.searchResult.confDataResponses;\r\n // set to null, we dont want to create models for it, it will be normalized later on\r\n json.searchResult.confDataResponses = null;\r\n\r\n let searchResult = this.modelFactory.createObject(json.searchResult);\r\n\r\n if (jsonConfDataResponses && jsonConfDataResponses.length > 0) {\r\n\r\n let confDataResponses: ConfDataResponse[] = [];\r\n\r\n for (let i = 0; i < jsonConfDataResponses.length; i++) {\r\n let normalizedResponse = this.confDataNormalizer.normalizeJson(jsonConfDataResponses[i])\r\n confDataResponses.push(normalizedResponse);\r\n }\r\n\r\n searchResult = searchResult.setConfDataResponses(Immutable.List(confDataResponses));\r\n }\r\n\r\n searchDataResponse = searchDataResponse.setSearchResult(searchResult);\r\n }\r\n\r\n if (json.savedSearches) {\r\n searchDataResponse = searchDataResponse.setSavedSearches(this.modelFactory.createArray(json.savedSearches));\r\n }\r\n\r\n if (json.messages) {\r\n searchDataResponse = searchDataResponse.setMessages(this.modelFactory.createArray(json.messages));\r\n }\r\n\r\n return searchDataResponse;\r\n } \r\n}","import { Injectable, Inject } from '@angular/core';\r\nimport * as Immutable from 'immutable';\r\nimport { AppStore, HttpAction, StoreResponse, SearchSessionData, SearchDataState } from \"../../state\"\r\nimport { SearchDataResponse, QuerySourceTypes } from \"../../models/responses\"\r\nimport { AppStoreSubscriptionManager } from \"../appStoreSubscriptionManager\";\r\nimport { ManagedSubject } from \"../../../../shared/managedSubject\";\r\nimport { BaseStore } from \"../../state/baseStore\";\r\nimport { SearchDataRequest } from \"../../models/requests/searchDataRequest\";\r\nimport { ModelFactory } from \"../modelFactory\";\r\nimport {\r\n RequestViews, PaginationArgument, ConfResponseFormat, SortingArgument, SearchCommand, ConfigurationSearch,\r\n ConfSearchProperty, ConfSearchCriteria, SavedSearchCommand, ApiResponse, KeyValue\r\n} from \"../../models\";\r\nimport { SearchDataActionCreator } from \"./searchDataActionCreator\";\r\nimport { ConfiguratorStore } from \"../../../configurator/providers\";\r\nimport { GlobalDataStore } from \"../globalData\";\r\nimport { ManagedSubscription, SubscriptionOptions } from \"../../../../shared/managedSubscription\";\r\nimport { ReselectorService } from \"../reselectorService\";\r\n\r\n@Injectable()\r\nexport class SearchDataStore extends BaseStore {\r\n\r\n constructor( @Inject(AppStore) public appStore: AppStore,\r\n @Inject(SearchDataActionCreator) public searchActionCreator: SearchDataActionCreator,\r\n @Inject(ModelFactory) public modelFactory: ModelFactory,\r\n @Inject(ReselectorService) public reselectorService: ReselectorService,\r\n public globalDataStore: GlobalDataStore,\r\n public appStoreSubscriptionManager: AppStoreSubscriptionManager,\r\n ) {\r\n super(appStore, appStoreSubscriptionManager, modelFactory, searchActionCreator);\r\n }\r\n\r\n public searchSessionMemorizer(searchSessionId: number): () => SearchSessionData {\r\n return this.reselectorService.createMemorizer((state) => this.getSearchDataSession(searchSessionId));\r\n }\r\n\r\n public listenSearchSessionDataChange(searchSessionId: number, callBackOptions: SubscriptionOptions): ManagedSubscription {\r\n return this.createStoreSubscription(\"__searchSessionId_\" + searchSessionId.toString(), this.searchSessionMemorizer(searchSessionId), callBackOptions);\r\n }\r\n\r\n public savedSearchesMemorizer(): () => Immutable.List {\r\n return this.reselectorService.createMemorizer((state) => this.getSearchData().savedSearches);\r\n }\r\n\r\n public listenSavedSearchesChange(callBackOptions: SubscriptionOptions>): ManagedSubscription {\r\n return this.createStoreSubscription>(\"__savedSearches\", this.savedSearchesMemorizer(), callBackOptions);\r\n } \r\n\r\n public createStoreSubscription(identifier: string, memorizer: () => T, subscriptionOptions: SubscriptionOptions): ManagedSubscription {\r\n let managedSubject: ManagedSubject = this.appStoreSubscriptionManager.getOrCreateStoreSubject(identifier, memorizer, false, 1, false);\r\n return managedSubject.subscribe(subscriptionOptions);\r\n }\r\n\r\n public createSearchRequest(client: RequestViews, searchSessionId?: number): SearchDataRequest {\r\n let result: SearchDataRequest = this.modelFactory.createRequestOrCommand(SearchDataRequest.name);\r\n result.client = client;\r\n result.search = this.modelFactory.createRequestOrCommand(SearchCommand.name);\r\n result.search.responseFormat = this.globalDataStore.getConfResponseFormat(client, true);\r\n\r\n if (searchSessionId)\r\n result.search.searchSessionId = searchSessionId;\r\n\r\n return result;\r\n }\r\n\r\n public createSavedSearchRequest(client: RequestViews): SearchDataRequest {\r\n let result: SearchDataRequest = this.modelFactory.createRequestOrCommand(SearchDataRequest.name);\r\n result.client = client;\r\n result.savedSearch = this.modelFactory.createRequestOrCommand(SavedSearchCommand.name);\r\n\r\n return result;\r\n }\r\n\r\n public getSearchData(): SearchDataState {\r\n return this.appStore.getState().searchData;\r\n }\r\n\r\n public getConfigurationSearch(longId: number) {\r\n if (this.getSearchData().savedSearches) {\r\n return this.getSearchData().savedSearches.find(x => x.longId == longId);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n public getSearchDataSession(searchSessionId: number) {\r\n if (!this.appStore.getState().searchData.dataBySessionId.has(searchSessionId))\r\n return null;\r\n\r\n return this.appStore.getState().searchData.dataBySessionId.get(searchSessionId);\r\n }\r\n\r\n public getUnsavedUserConf(userId: number, client: RequestViews): ManagedSubject> {\r\n let model: SearchDataRequest = this.createSearchRequest(client, null);\r\n\r\n model.search.pagination = this.modelFactory.createAny(PaginationArgument.name, { pageIndex: 1 });\r\n model.search.querySourceType = QuerySourceTypes.Unsaved;\r\n\r\n let action: HttpAction = this.searchActionCreator.dispatchGetUnsavedUserConf(model);\r\n\r\n // Create request object\r\n let response: StoreResponse = new StoreResponse();\r\n\r\n return this.createAction(action, actionInfo => {\r\n let searchDataResponse = actionInfo.payload.data as SearchDataResponse;\r\n response.data = this.getSearchDataSession(searchDataResponse.searchResult.searchSessionId);\r\n return response;\r\n });\r\n }\r\n\r\n public getRecentUserConf(userId: number, client: RequestViews): ManagedSubject> {\r\n\r\n let model: SearchDataRequest = this.createSearchRequest(client, null);\r\n let confSearch = this.modelFactory.createAny(ConfigurationSearch.name);\r\n let searchCriterias: ConfSearchCriteria[] = [];\r\n searchCriterias.push(this.modelFactory.createAny(ConfSearchProperty.name, { name: \"CreatedById\", value: userId.toString() }));\r\n searchCriterias.push(this.modelFactory.createAny(ConfSearchProperty.name, { name: \"ParentId\", value: \"null\" }));\r\n confSearch = confSearch.setSearchCriterias(Immutable.List(searchCriterias));\r\n\r\n model.search.query = confSearch;\r\n model.search.pagination = this.modelFactory.createAny(PaginationArgument.name, { pageIndex: 1 });\r\n\r\n let action: HttpAction = this.searchActionCreator.dispatchGetRecentUserConf(model);\r\n\r\n // Create request object\r\n let response: StoreResponse = new StoreResponse();\r\n\r\n return this.createAction(action, actionInfo => {\r\n let searchDataResponse = actionInfo.payload.data as SearchDataResponse;\r\n response.data = this.getSearchDataSession(searchDataResponse.searchResult.searchSessionId);\r\n return response;\r\n });\r\n }\r\n\r\n public getRecentWorkGroupConf(workgroupId: number, client: RequestViews): ManagedSubject> {\r\n\r\n let model: SearchDataRequest = this.createSearchRequest(client, null);\r\n let confSearch = this.modelFactory.createAny(ConfigurationSearch.name);\r\n let searchCriterias: ConfSearchCriteria[] = [];\r\n searchCriterias.push(this.modelFactory.createAny(ConfSearchProperty.name, { name: \"OwnedById\", value: workgroupId.toString() }));\r\n searchCriterias.push(this.modelFactory.createAny(ConfSearchProperty.name, { name: \"ParentId\", value: \"null\" }));\r\n confSearch = confSearch.setSearchCriterias(Immutable.List(searchCriterias));\r\n\r\n model.search.query = confSearch;\r\n model.search.pagination = this.modelFactory.createAny(PaginationArgument.name, { pageIndex: 1 });\r\n\r\n let action: HttpAction = this.searchActionCreator.dispatchGetRecentWorkGroupConf(model);\r\n\r\n // Create request object\r\n let response: StoreResponse = new StoreResponse();\r\n\r\n return this.createAction(action, actionInfo => {\r\n\r\n let searchDataResponse = actionInfo.payload.data as SearchDataResponse;\r\n response.data = this.getSearchDataSession(searchDataResponse.searchResult.searchSessionId);\r\n return response;\r\n });\r\n }\r\n\r\n public queryConfs(configurationSearch: ConfigurationSearch, client: RequestViews, pageSize?: number, pageIndex?: number, sorting?: SortingArgument, searchSessionId?: number): ManagedSubject> {\r\n let model: SearchDataRequest = this.createSearchRequest(client, searchSessionId);\r\n\r\n model.search.query = configurationSearch;\r\n\r\n // Encode the query title to keep spaces.\r\n if (model.search.query && model.search.query.title)\r\n model.search.query = model.search.query.setTitle(model.search.query.title);\r\n\r\n model.search.pagination = pageSize != null ? this.modelFactory.createAny(PaginationArgument.name, { pageSize: pageSize, pageIndex: pageIndex || 1 }) : null;\r\n model.search.sorting = sorting;\r\n\r\n let action: HttpAction = this.searchActionCreator.dispatchSearchConfigurations(model);\r\n\r\n // Create request object\r\n let response: StoreResponse = new StoreResponse();\r\n\r\n return this.createAction(action, actionInfo => {\r\n\r\n let searchDataResponse = actionInfo.payload.data as SearchDataResponse;\r\n response.data = searchDataResponse && this.getSearchDataSession(searchDataResponse.searchResult.searchSessionId);\r\n return response;\r\n });\r\n }\r\n\r\n public saveConfigurationSearch(configurationSearch: ConfigurationSearch, client: RequestViews): ManagedSubject> {\r\n let model: SearchDataRequest = this.createSavedSearchRequest(client);\r\n\r\n model.savedSearch.save = configurationSearch;\r\n model.savedSearch.getAll = true;\r\n\r\n let action = this.searchActionCreator.dispatchSaveConfigurationSearch(model);\r\n\r\n // Create request object\r\n let response: StoreResponse = new StoreResponse();\r\n\r\n return this.createAction(action, actionInfo => {\r\n\r\n let searchDataResponse = actionInfo.payload.data as SearchDataResponse; \r\n response.data = this.getSearchDataSession(searchDataResponse.searchResult.searchSessionId);\r\n return response;\r\n });\r\n }\r\n\r\n public getSavedConfigurationSearches(client: RequestViews): ManagedSubject>> {\r\n let model: SearchDataRequest = this.createSavedSearchRequest(client);\r\n model.savedSearch.getAll = true;\r\n\r\n let action = this.searchActionCreator.dispatchFetchSavedConfigurationSearches(model);\r\n \r\n // Create request object\r\n let response: StoreResponse> = new StoreResponse>();\r\n\r\n return this.createAction(action, actionInfo => {\r\n response.data = this.getSearchData().savedSearches;\r\n return response;\r\n });\r\n }\r\n\r\n public deleteConfigurationSearch(client: RequestViews, configurationSearchId: number): ManagedSubject>> {\r\n let model: SearchDataRequest = this.createSavedSearchRequest(client);\r\n model.savedSearch.delete = configurationSearchId;\r\n model.savedSearch.getAll = true; // Also get the updated results.\r\n\r\n let action = this.searchActionCreator.dispatchDeleteConfigurationSearch(model);\r\n\r\n // Create request object\r\n let response: StoreResponse> = new StoreResponse>();\r\n\r\n return this.createAction(action, actionInfo => {\r\n response.data = this.getSearchData().savedSearches;\r\n return response;\r\n });\r\n } \r\n}","import { Injectable } from \"@angular/core\";\r\nimport { ModelFactory } from \"./modelFactory\";\r\nimport { JsonConvert } from \"../../../shared/providers/jsonConvert\";\r\nimport { ManagedSubject } from \"../../../shared/managedSubject\";\r\nimport { ValueSubscriptionManager } from \"./valueSubscriptionManager\";\r\nimport { SubscriptionOptions, ManagedSubscription } from \"../../../shared/managedSubscription\";\r\nimport { AuthenticationTokenTypes } from \"./authenticationTokenTypes\";\r\nimport { SessionStorageData } from \"../models/client/sessionStorageData\";\r\n\r\n\r\n@Injectable()\r\nexport class SessionStorageService {\r\n\r\n public sessionStorageData: SessionStorageData;\r\n\r\n public constructor(\r\n public modelFactory: ModelFactory,\r\n public jsonConvert: JsonConvert,\r\n public valueSubscriptionManager: ValueSubscriptionManager\r\n ) {\r\n }\r\n\r\n private _sessionStorageSubject: ManagedSubject;\r\n public get sessionStorageSubject(): ManagedSubject {\r\n\r\n if (!this._sessionStorageSubject) {\r\n this._sessionStorageSubject = this.valueSubscriptionManager.createSubject(ManagedSubject.IGNORE_VALUE, false, 1, false);\r\n }\r\n\r\n return this._sessionStorageSubject;\r\n }\r\n\r\n public get key() {\r\n return `${location.origin}${location.pathname}`;\r\n }\r\n\r\n public createSessionStorageData(value: string) {\r\n \r\n if (value == null || value == undefined || value.trim().length == 0)\r\n return this.modelFactory.createAny(SessionStorageData.name, { });\r\n else\r\n return this.modelFactory.createAny(SessionStorageData.name, JSON.parse(value)); \r\n }\r\n\r\n public onSessionStorageChanged(subscriptionOptions: SubscriptionOptions): ManagedSubscription {\r\n return this.sessionStorageSubject.subscribe(subscriptionOptions);\r\n }\r\n\r\n public setData(sessionStorageData: SessionStorageData) {\r\n\r\n if (sessionStorageData == null || sessionStorageData == undefined)\r\n sessionStorageData = this.createSessionStorageData(null);\r\n\r\n this.storeAndTrigger(sessionStorageData);\r\n }\r\n \r\n protected storeAndTrigger(sessionStorageData: SessionStorageData) {\r\n\r\n this.sessionStorageData = sessionStorageData;\r\n \r\n sessionStorage.setItem(this.key, this.jsonConvert.stringify(this.sessionStorageData));\r\n\r\n this.sessionStorageSubject.nextValue(this.getData());\r\n }\r\n\r\n public getData() {\r\n if (!this.sessionStorageData)\r\n this.sessionStorageData = this.createSessionStorageData(sessionStorage.getItem(this.key));\r\n\r\n return this.sessionStorageData;\r\n }\r\n\r\n public addTokenToUrl(url: string): string {\r\n if (!url)\r\n return null;\r\n\r\n let accessToken = this.getData()?.accessToken;\r\n if (!accessToken)\r\n return url;\r\n\r\n let token_param = `${AuthenticationTokenTypes.AccessToken}=${accessToken}`\r\n url += ((url.includes('?') ? '&' : '?') + token_param);\r\n\r\n return url;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { RouterModule, DefaultUrlSerializer, UrlTree, UrlSerializer, Router, ParamMap } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class StartupArguments {\r\n\r\n protected localeKey = \"locale\";\r\n protected allParams: ParamMap; \r\n\r\n public locale: string; \r\n\r\n constructor() {\r\n\r\n let urlSerializer = new DefaultUrlSerializer();\r\n let urlTree = urlSerializer.parse(window.location.href.replace(window.location.origin, \"\"));\r\n\r\n this.allParams = urlTree.queryParamMap; \r\n this.locale = this.allParams.has(this.localeKey) ? this.allParams.get(this.localeKey) : null;\r\n }\r\n\r\n getArgument(key: string)\r\n {\r\n if (this.allParams.has(key))\r\n return this.allParams.get(key);\r\n\r\n return null;\r\n }\r\n}","export enum TabDisplayStyle {\r\n Accordion = \"Accordion\",\r\n Normal = \"Normal\",\r\n Separate = \"Separate\",\r\n AccordionHeaderTab = \"AccordionHeaderTab\",\r\n AccordionChildren = \"AccordionChildren\"\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { schema } from \"normalizr\";\r\n\r\nexport class UIElementSchema {\r\n\r\n public uiPopupUIGroupSchema: schema.Entity = new schema.Entity('UIGroup', {}, { idAttribute: 'renderId' });\r\n public uiPopupUIInputSchema: schema.Entity = new schema.Entity('UIInput', {}, { idAttribute: 'renderId' });\r\n public uiPopupUIImageSchema: schema.Entity = new schema.Entity('UIImage', {}, { idAttribute: 'renderId' });\r\n public uiPopupUILabelSchema: schema.Entity = new schema.Entity('UILabel', {}, { idAttribute: 'renderId' });\r\n public uiPopupUILinkSchema: schema.Entity = new schema.Entity('UILink', {}, { idAttribute: 'renderId' });\r\n public uiPopupUISelectSchema: schema.Entity = new schema.Entity('UISelect', {}, { idAttribute: 'renderId' });\r\n public uiPopupUITextSchema: schema.Entity = new schema.Entity('UIText', {}, { idAttribute: 'renderId' });\r\n\r\n public uiElementSchemaType;\r\n\r\n constructor() {\r\n this.setupSchema();\r\n }\r\n\r\n public setupSchema(): void {\r\n\r\n this.uiElementSchemaType = this.GetElementSchemaType();\r\n\r\n this.uiPopupUIGroupSchema.define({\r\n uiElements: new schema.Array(this.uiElementSchemaType, 'className')\r\n });\r\n\r\n }\r\n\r\n public GetElementSchemaType() {\r\n return {\r\n UIGroup: this.uiPopupUIGroupSchema,\r\n UIImage: this.uiPopupUIImageSchema,\r\n UIInput: this.uiPopupUIInputSchema,\r\n UILabel: this.uiPopupUILabelSchema,\r\n UILink: this.uiPopupUILinkSchema,\r\n UISelect: this.uiPopupUISelectSchema,\r\n UIText: this.uiPopupUITextSchema\r\n };\r\n }\r\n\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\nimport { ManagedSubject } from \"../../../shared/managedSubject\";\r\n\r\n@Injectable()\r\nexport class ValueSubscriptionManager {\r\n \r\n public managedSubjects: Array> = new Array>();\r\n \r\n createSubject(initialValueOrObserver: T | Observable, oneTime = false, buffer = 1, completeOnZeroObserver = true): ManagedSubject {\r\n\r\n let observer = (initialValueOrObserver instanceof Observable || initialValueOrObserver instanceof Subject) ? initialValueOrObserver : null;\r\n\r\n let managedSubject = this.createSubjectInternal(observer, oneTime, buffer, completeOnZeroObserver, false);\r\n\r\n if (initialValueOrObserver != ManagedSubject.IGNORE_VALUE && !(initialValueOrObserver instanceof Observable || initialValueOrObserver instanceof Subject))\r\n managedSubject.nextValue(initialValueOrObserver);\r\n\r\n return managedSubject;\r\n }\r\n\r\n public createSubjectInternal(observable: Observable, oneTime = false, buffer = 1, completeOnZeroObserver = true, executeObserverOnSubscribe = true): ManagedSubject { \r\n let managedSubject = new ManagedSubject(observable, oneTime, buffer, completeOnZeroObserver);\r\n this.managedSubjects.push(managedSubject);\r\n return managedSubject;\r\n }\r\n\r\n dispose() {\r\n this.managedSubjects.forEach((subject) => subject.complete());\r\n this.managedSubjects = new Array>();\r\n }\r\n}","export class AccountDataActions {\r\n\r\n static REQUEST_LOGGED_IN_USER = \"@REQUEST_LOGGED_IN_USER\";\r\n static LOGGED_IN_USER_LOADED = \"@LOGGED_IN_USER_LOADED\";\r\n\r\n static USER_LOGGING_IN = \"@USER_LOGGING_IN\"; \r\n static USER_LOGIN_RESULT = \"@USER_LOGIN_RESULT\";\r\n\r\n static USER_LOGGING_OUT = \"@USER_LOGGING_OUT\";\r\n static USER_LOGOUT_RESULT = \"@USER_LOGOUT_RESULT\";\r\n \r\n static USER_CHANGE_PASSWORD = \"@USER_CHANGE_PASSWORD\";\r\n static USER_CHANGE_PASSWORD_RESULT = \"@USER_CHANGE_PASSWORD_RESULT\";\r\n\r\n static ACCOUNT_VERIFY_REQEUEST = \"@ACCOUNT_VERIFY_REQEUEST\";\r\n static ACCOUNT_VERIFY_REQUEST_RESULT = \"@ACCOUNT_VERIFY_REQUEST_RESULT\";\r\n\r\n static ACCOUNT_CREATE_ACCOUNT_REQUEST = \"@ACCOUNT_CREATE_ACCOUNT_REQEUEST\";\r\n static ACCOUNT_CREATE_ACCOUNT_REQUEST_RESULT = \"@ACCOUNT_CREATE_ACCOUNT_RESULT\";\r\n\r\n static ACCOUNT_VERIFY_CODE = \"@ACCOUNT_VERIFY_CODE\";\r\n static ACCOUNT_VERIFY_CODE_RESULT = \"@ACCOUNT_VERIFY_CODE_RESULT\";\r\n\r\n static USER_UPDATE_PROFILE = \"@USER_UPDATE_PROFILE\";\r\n static USER_UPDATE_PROFILE_RESULT = \"@USER_UPDATE_PROFILE_RESULT\";\r\n\r\n static USER_UPDATE_SETTINGS = \"@USER_UPDATE_SETTINGS\";\r\n static USER_UPDATE_SETTINGS_RESULT = \"@USER_UPDATE_SETTINGS_RESULT\";\r\n\r\n static ACCOUNT_FETCH_ENTITIES = \"@ACCOUNT_FETCH_ENTITIES\";\r\n static ACCOUNT_ENTITIES_LOADED = \"@ACCOUNT_ENTITIES_LOADED\";\r\n\r\n\r\n}","import { Injectable, Inject } from '@angular/core';\r\nimport * as Immutable from \"immutable\";\r\n\r\nimport { AccountDataResponse, AbstractAccountMessage } from \"../../models/responses\";\r\nimport { AccountDataState } from \"../shared/accountDataState\";\r\nimport { AccountDataActions } from \"./accountDataActions\";\r\nimport { AppAction } from \"../shared/appAction\";\r\nimport { BaseEntity } from \"../../baseEntity\";\r\nimport { Actions } from \"../shared/actions\";\r\n\r\n@Injectable()\r\nexport class AccountDataReducer {\r\n\r\n public getReducer() {\r\n\r\n let defaultState = new AccountDataState();\r\n defaultState = defaultState.setEntities(Immutable.Map());\r\n defaultState = defaultState.setEntityIdsByClassName(Immutable.Map>());\r\n defaultState = defaultState.setMessages(Immutable.Map>());\r\n\r\n return (state: AccountDataState = defaultState, action: AppAction): AccountDataState => {\r\n\r\n if (action.type == Actions.CLEAR_CLIENT_CACHE) {\r\n\r\n // Clear everything except the user data\r\n\r\n state = state.setEntities(Immutable.Map());\r\n state = state.setEntityIdsByClassName(Immutable.Map>());\r\n state = state.setMessages(Immutable.Map>());\r\n\r\n return state;\r\n }\r\n\r\n if (!action.payload || !(action.payload.data instanceof AccountDataResponse))\r\n return state;\r\n\r\n let accountResponse = action.payload.data as AccountDataResponse;\r\n\r\n state = state.setShowRecaptcha(accountResponse.showRecaptcha);\r\n\r\n switch (action.type) {\r\n\r\n case AccountDataActions.USER_LOGIN_RESULT:\r\n case AccountDataActions.USER_UPDATE_SETTINGS_RESULT:\r\n case AccountDataActions.USER_UPDATE_PROFILE_RESULT:\r\n case AccountDataActions.LOGGED_IN_USER_LOADED:\r\n {\r\n state = state.setUser(accountResponse.user);\r\n break;\r\n }\r\n case AccountDataActions.USER_LOGOUT_RESULT:\r\n {\r\n state = state.setUser(null);\r\n break;\r\n }\r\n case AccountDataActions.ACCOUNT_ENTITIES_LOADED: {\r\n\r\n if (accountResponse.entities && accountResponse.entities.size > 0) {\r\n \r\n accountResponse.entityIdsByClassName.forEach((newIds, className) => {\r\n\r\n let existingIds = state.entityIdsByClassName.get(className);\r\n state = state.setEntityIdsByClassName(state.entityIdsByClassName.set(className, this.mergeIds(existingIds, newIds)));\r\n\r\n })\r\n\r\n let entities: Immutable.Map = this.mergeEntities(state.entities, accountResponse.entities);\r\n state = state.setEntities(entities);\r\n }\r\n }\r\n break;\r\n }\r\n\r\n if (accountResponse.messages && accountResponse.messages.size > 0)\r\n state = state.setMessages(this.createMessagesMap(accountResponse.messages));\r\n\r\n return state;\r\n }\r\n }\r\n\r\n protected mergeIds(existingIds: Immutable.List, newIds: Immutable.List) {\r\n if (existingIds && existingIds.count() > 0)\r\n return existingIds.merge(newIds).toSet().toList();\r\n\r\n return newIds;\r\n }\r\n\r\n protected mergeEntities(existingEntities: Immutable.Map, newEntities: Immutable.Map): Immutable.Map {\r\n\r\n let resultedEntities = existingEntities;\r\n\r\n newEntities.forEach((newEntity: BaseEntity, key: number) => {\r\n\r\n // Convert to number, needed to make sure the key is number in runtime\r\n key = parseInt(key.toString());\r\n\r\n if (!existingEntities.has(key)) {\r\n resultedEntities = resultedEntities.set(key, newEntity);\r\n }\r\n else {\r\n let existingEntity = existingEntities.get(key);\r\n resultedEntities = resultedEntities.set(key, Object.assign(existingEntity, newEntity));\r\n }\r\n });\r\n\r\n return resultedEntities;\r\n }\r\n\r\n protected createMessagesMap(messages: Immutable.List): Immutable.Map> {\r\n\r\n let messagesMap = Immutable.Map>();\r\n\r\n messages.forEach((message) => {\r\n\r\n if (!messagesMap.has(message.className))\r\n messagesMap = messagesMap.set(message.className, Immutable.List());\r\n\r\n let messagesList = messagesMap.get(message.className);\r\n messagesMap = messagesMap.set(message.className, messagesList.push(message));\r\n });\r\n\r\n return messagesMap;\r\n }\r\n}","export * from \"./accountDataActions\"\r\nexport * from \"./accountDataReducer\"","import { RequestStatus } from \"./shared/requestStatus\";\r\nimport { AppAction } from \"./shared/appAction\";\r\n\r\nexport class ActionInfo\r\n{\r\n id: number;\r\n action: AppAction;\r\n status: RequestStatus; // complete, pending, error, abort\r\n payload?: any;\r\n completed: boolean = false;\r\n}","import { Injectable } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\nimport { Reducer } from \"redux\";\r\nimport { ReducersCombiner } from \"../../../shared/providers/reducersCombiner\";\r\nimport { AccountDataReducer } from \"./accountData\";\r\nimport { ProductDataReducer } from \"./productData\";\r\nimport { ConfDataReducer } from \"./configurationData\";\r\nimport { PageReducer } from \"./page\";\r\nimport { GlobalDataReducer } from \"./globalData\";\r\nimport { SearchDataReducer } from \"./searchData\";\r\nimport { AppState } from \"./shared\";\r\nimport { ActionInfo } from \"./actionInfo\";\r\nimport { Actions } from \"./shared/actions\";\r\nimport { AppAction } from \"./shared/appAction\";\r\nimport { ActionStatus } from \"./shared/actionStatus\";\r\nimport { ApiResponse, ApiMessage } from \"../models/responses\";\r\nimport { ComparisonDataReducer } from \"../../configurator/comparison/providers/comparisonDataReducer\";\r\nimport { PushMessageReducer } from \"./pushMessage/pushMessageReducer\";\r\n\r\n@Injectable()\r\nexport class AppReducer {\r\n\r\n constructor(\r\n public reducersCombiner: ReducersCombiner,\r\n public productDataReducer: ProductDataReducer,\r\n public configurationDataReducer: ConfDataReducer,\r\n public pageReducer: PageReducer,\r\n public globalDataReducer: GlobalDataReducer,\r\n public accountReducer: AccountDataReducer,\r\n public searchDataReducer: SearchDataReducer,\r\n public comparisonDataReducer: ComparisonDataReducer,\r\n public pushMessageReducer: PushMessageReducer,\r\n ) { }\r\n\r\n getReducer(): Reducer {\r\n return this.reducersCombiner.combine({\r\n productData: this.productDataReducer.getReducer(),\r\n configurationData: this.configurationDataReducer.getReducer(),\r\n searchData: this.searchDataReducer.getReducer(),\r\n comparisonData: this.comparisonDataReducer.getReducer(),\r\n uiData: this.pageReducer.getReducer(),\r\n globalData: this.globalDataReducer.getReducer(),\r\n accountData: this.accountReducer.getReducer(),\r\n infoByActionId: this.getInfoByActionIdReducer(),\r\n messages: this.getMessagesReducer(),\r\n pushMessages: this.pushMessageReducer.getReducer(),\r\n });\r\n }\r\n\r\n public getMessagesReducer() {\r\n\r\n let defaultState = Immutable.Map>();\r\n\r\n return (state = defaultState, action: AppAction): Immutable.Map> => {\r\n\r\n if (action.type == Actions.CLEAR_CLIENT_CACHE)\r\n return defaultState;\r\n\r\n if (!action.payload || !(action.payload instanceof ApiResponse))\r\n return state;\r\n \r\n if (action.payload.messages && action.payload.messages.size > 0)\r\n state = this.createMessagesMap(action.payload.messages);\r\n\r\n return state;\r\n };\r\n }\r\n\r\n public getInfoByActionIdReducer() {\r\n\r\n let defaultState = Immutable.Map();\r\n\r\n return (actionInfoById: Immutable.Map = defaultState, action: AppAction): Immutable.Map => {\r\n\r\n let status: ActionStatus = action.payload as ActionStatus;\r\n\r\n let actionInfo;\r\n\r\n switch (action.type) {\r\n\r\n\r\n case Actions.ACTION_STARTED:\r\n\r\n actionInfo = actionInfoById.get(status.action.id);\r\n\r\n if (!actionInfo) {\r\n actionInfo = new ActionInfo();\r\n actionInfo.id = status.action.id;\r\n actionInfo.action = status.action; // It helps in debugging.\r\n actionInfoById = actionInfoById.set(status.action.id, actionInfo);\r\n }\r\n\r\n actionInfo.status = status.requestStatus;\r\n return actionInfoById;\r\n\r\n case Actions.UPDATE_ACTION_STATUS:\r\n\r\n if (!action.payload)\r\n return actionInfoById;\r\n \r\n actionInfo = actionInfoById.get(status.action.id);\r\n\r\n if (!actionInfo)\r\n return actionInfoById;\r\n \r\n actionInfo.completed = status.completed;\r\n actionInfo.status = status.requestStatus;\r\n actionInfo.payload = status.payload;\r\n\r\n return actionInfoById;\r\n\r\n default:\r\n return actionInfoById;\r\n }\r\n\r\n }\r\n }\r\n\r\n createMessagesMap(messages: Immutable.List): Immutable.Map> {\r\n\r\n let messagesMap = Immutable.Map>();\r\n\r\n messages.forEach((message) => {\r\n\r\n if (!messagesMap.has(message.className))\r\n messagesMap = messagesMap.set(message.className, Immutable.List());\r\n\r\n let messagesList = messagesMap.get(message.className);\r\n messagesMap = messagesMap.set(message.className, messagesList.push(message));\r\n });\r\n\r\n return messagesMap;\r\n }\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport { Subject, Subscription } from \"rxjs\";\r\nimport { Reducer, combineReducers, createStore, Store, Dispatch, compose, Action } from 'redux';\r\nimport { Middleware, MiddlewareAPI, applyMiddleware, Unsubscribe } from \"redux\";\r\nimport { AppState, HttpAction, AppAction, ActionStatus, AppAsyncAction, Actions } from \"./shared\";\r\nimport { ActionInfo } from \"./actionInfo\";\r\nimport { AppReducer } from \"./appReducer\";\r\nimport { RequestStatus } from \"./shared/requestStatus\";\r\n\r\nclass IdGenerator {\r\n static Id = 1;\r\n}\r\n\r\n@Injectable()\r\nexport class AppStore {\r\n\r\n public store: Store;\r\n protected subject: Subject = new Subject();\r\n protected processingActionIds: number[] = [];\r\n\r\n constructor(\r\n @Inject(AppReducer) public appReducer: AppReducer\r\n ) {\r\n\r\n const rootReducer: Reducer = this.appReducer.getReducer();\r\n\r\n // Create default AppState\r\n let defaultState = new AppState();\r\n\r\n // Uncomment to debug redux in Chrome\r\n const composeEnhancers = window[\"__REDUX_DEVTOOLS_EXTENSION_COMPOSE__\"] || compose;\r\n this.store = createStore(rootReducer, defaultState, composeEnhancers(\r\n applyMiddleware(this.createLoggerMiddleware(), this.createAsyncMiddleware())\r\n ));\r\n\r\n //this.store = createStore(rootReducer, defaultState, composeWithDevTools(applyMiddleware(this.createLoggerMiddleware(), this.createAsyncMiddleware())));\r\n //this.store = createStore(rootReducer, defaultState, applyMiddleware(this.createLoggerMiddleware(), this.createAsyncMiddleware()));\r\n }\r\n\r\n public createAsyncMiddleware(): Middleware {\r\n return (api2) => (next2) => (action2) => {\r\n\r\n // TODO: Typescript 2.4.1 and Redux typings are incompatible\r\n let api = (api2 as any) as MiddlewareAPI;\r\n let next = next2 as Dispatch;\r\n let action = action2 as AppAction;\r\n\r\n if (!action.id) {\r\n\r\n // Generate new action id. \r\n action.id = IdGenerator.Id++;\r\n this.processingActionIds.push(action.id);\r\n\r\n // Update the page state for action if it async\r\n if ((>action).executeAsync) {\r\n api.dispatch({ type: Actions.ACTION_STARTED, id: -1, payload: new ActionStatus(false, null, RequestStatus.PENDING, action) });\r\n }\r\n }\r\n\r\n if ((>action).executeAsync) {\r\n\r\n //this.internalChange = true;\r\n next(action);\r\n\r\n (>action).executeAsync(api.dispatch, api.getState, (status: ActionStatus) => {\r\n\r\n if (status) {\r\n\r\n // Assign action if not set\r\n if (!status.action)\r\n status.action = action;\r\n\r\n this.processingActionIds = this.processingActionIds.filter(x => x != action.id);\r\n api.dispatch({ type: Actions.UPDATE_ACTION_STATUS, payload: status })\r\n }\r\n\r\n });\r\n\r\n return action2;\r\n }\r\n\r\n next(action);\r\n\r\n this.processingActionIds = this.processingActionIds.filter(x => x != action.id);\r\n return action2;\r\n\r\n };\r\n }\r\n\r\n public createLoggerMiddleware(): Middleware {\r\n return (api2) => (next2) => (action2) => {\r\n\r\n let api = (api2 as any) as MiddlewareAPI;\r\n let next = next2 as Dispatch;\r\n let action = action2 as AppAction;\r\n\r\n let actionClass = (action).executeAsync ? AppAsyncAction.name : AppAction.name;\r\n\r\n next(action);\r\n return action2;\r\n };\r\n }\r\n\r\n subscribe(callback: () => void): Subscription {\r\n return this.subject.subscribe(callback);\r\n }\r\n\r\n dispatch(action: AppAction) {\r\n\r\n let resultAction = this.store.dispatch(action);\r\n\r\n if (this.processingActionIds.indexOf(resultAction.id) > -1) {\r\n let unsubscribe = this.store.subscribe(() => {\r\n\r\n if (this.processingActionIds.indexOf(resultAction.id) > -1)\r\n return;\r\n\r\n unsubscribe();\r\n\r\n // Execute listeners\r\n this.subject.next();\r\n });\r\n }\r\n else {\r\n // Execute listeners\r\n this.subject.next();\r\n }\r\n\r\n return resultAction;\r\n }\r\n\r\n getState() {\r\n return this.store.getState();\r\n }\r\n\r\n getActionInfo(actionId: number): ActionInfo {\r\n return this.getState().infoByActionId.get(+actionId);\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport * as Immutable from \"immutable\";\r\nimport { ManagedSubject } from \"../../../shared/managedSubject\";\r\nimport { BaseActionCreator } from '../baseActionCreator';\r\nimport { BaseEntity } from \"../baseEntity\";\r\nimport { BaseRequest, RequestViews, DefaultRequest, ApiResponse } from \"../models\";\r\nimport { AppStoreSubscriptionManager } from \"../providers/appStoreSubscriptionManager\";\r\nimport { GlobalDataStore } from '../providers/globalData/globalDataStore';\r\nimport { ModelFactory } from \"../providers/modelFactory\";\r\nimport { ActionInfo } from \"./actionInfo\";\r\nimport { AppStore } from \"./appStore\";\r\nimport { AppAction } from './shared/appAction';\r\nimport { RequestStatus } from './shared/requestStatus';\r\nimport { HttpAction } from './shared/httpAction';\r\nimport { BaseResponse } from '../models/responses/baseResponse';\r\nimport { BaseObject } from '../../../shared';\r\nimport { ActionStatus } from './shared/actionStatus';\r\n\r\n\r\n@Injectable()\r\nexport abstract class BaseStore {\r\n\r\n constructor(\r\n protected appStore: AppStore,\r\n protected appStoreSubscriptionManager: AppStoreSubscriptionManager,\r\n protected modelFactory: ModelFactory, // TODO remove model factory \r\n protected baseAction: BaseActionCreator\r\n ) { \r\n\r\n }\r\n \r\n public dispatch(action: AppAction): void {\r\n this.appStore.dispatch(action);\r\n }\r\n\r\n protected getActionInfo(actionId: number) {\r\n return this.appStore.getActionInfo(actionId);\r\n }\r\n\r\n /** Subscribe to store and return its status (successful/rejected.*/\r\n protected createAction(action: HttpAction, onfulfilled: (actionInfo: ActionInfo) => void, onrejected?: (actionInfo: ActionInfo) => void): ManagedSubject {\r\n return this.appStoreSubscriptionManager.createSubject((appStore) => {\r\n\r\n let actionInfo = this.getActionInfo(action.id);\r\n if (actionInfo && actionInfo.status == RequestStatus.SUCCESS) {\r\n return onfulfilled(actionInfo);\r\n }\r\n\r\n if (actionInfo && (actionInfo.status == RequestStatus.ERROR || actionInfo.status == RequestStatus.ABORT)) {\r\n return onrejected ? onrejected(actionInfo) : ManagedSubject.ErrorValue(actionInfo.payload);\r\n }\r\n\r\n return ManagedSubject.IGNORE_VALUE;\r\n }, true);\r\n }\r\n\r\n getObjectsFromResultId(data: Immutable.List): Array {\r\n let list: T[] = [];\r\n\r\n data.forEach(resultId => {\r\n list.push(this.getEntity(resultId) as T);\r\n });\r\n\r\n return list;\r\n }\r\n\r\n getObjects(ids: number[], constructor: { new(): T }): Array {\r\n let list: T[] = [];\r\n\r\n ids.forEach(id => {\r\n let entity: T = this.getEntity(id);\r\n\r\n if (entity instanceof constructor)\r\n list.push(this.getEntity(id) as T);\r\n });\r\n\r\n return list;\r\n }\r\n\r\n public getEntity(id: number) { return null; }\r\n\r\n public getDefaultData(request: REQ, isStoreData?: boolean) : Promise {\r\n\r\n let requestId: number;\r\n if (isStoreData) {\r\n requestId = this.appStore.dispatch(this.baseAction.sendDefaultDataAction(request)).id; \r\n return this.observeRequestCompletion(requestId).toPromise();\r\n }\r\n\r\n else {\r\n\r\n return new Promise((resolve, reject) => {\r\n\r\n this.baseAction.baseController.getDefaultData(request)\r\n .subscribe(result => {\r\n\r\n let action = this.baseAction.sendDefaultDataAction(request); \r\n action.executeAsync(null, null, (actionStatus) => {\r\n\r\n resolve(result);\r\n\r\n });\r\n }, reject);\r\n\r\n });\r\n\r\n } \r\n\r\n }\r\n\r\n public observeRequestCompletion(requestId: number): ManagedSubject {\r\n return this.appStoreSubscriptionManager.createSubject((appStore) => {\r\n\r\n let actionInfo: ActionInfo = appStore.getActionInfo(requestId);\r\n if (actionInfo.status == RequestStatus.SUCCESS) {\r\n if (actionInfo.payload && actionInfo.payload instanceof ApiResponse) {\r\n return actionInfo.payload;\r\n }\r\n }\r\n return ManagedSubject.IGNORE_VALUE;\r\n }, true);\r\n }\r\n\r\n}","export class ConfDataActions {\r\n static GET_CONFIGURATION = \"@GET_CONFIGURATION\";\r\n static EDIT_CONFIGURATION = \"@EDIT_CONFIGURATION\";\r\n static ACTIVE_CONFIGURATION = \"@ACTIVE_CONFIGURATION\";\r\n static CREATE_CONFIGURATION = \"@CREATE_CONFIGURATION\";\r\n static CREATE_DYNAMIC_INDEXES = \"@CREATE_DYNAMIC_INDEXES\";\r\n static JAVASCRIPT_ACTION = \"@JAVASCRIPT_ACTION\";\r\n static REUSE_CONFIGURATION = \"@REUSE_CONFIGURATION\";\r\n static REVISE_CONFIGURATION = \"@REVISE_CONFIGURATION\";\r\n static SAVE_CONFIGURATION = \"@SAVE_CONFIGURATION\";\r\n static CONTACT = \"@CONTACT\";\r\n static SET_CONFIGURATION_VALUE = \"@SET_CONFIGURATION_VALUE\";\r\n static SET_CONFIGURATION_PROPERTY_VALUE = \"@SET_CONFIGURATION_PROPERTY_VALUE\";\r\n static GET_DISALLOWED_INFO = \"@GET_DISALLOWED_INFO\";\r\n static GET_READ_ONLY_INFO = \"@GET_READ_ONLY_INFO\";\r\n static GET_MANDATORY_INFO = \"@GET_MANDATORY_INFO\";\r\n static GET_CODE_FILE = \"@GET_CODE_FILE\";\r\n static GET_PRICE_REPORT = \"@GET_PRICE_REPORT\";\r\n static GET_PRICE_SETTING = \"@GET_PRICE_SETTING\";\r\n static SET_PRICE_SETTING = \"@SET_PRICE_SETTING\";\r\n static DELETE_CONFIGURATION = \"@DELETE_CONFIGURATION\";\r\n static COPY_CONFIGURATION = \"@COPY_CONFIGURATION\";\r\n static CLOSE_CONFIGURATOR_SESSION = \"@CLOSE_CONFIGURATOR_SESSION\";\r\n static MARK_CONFIGURATOR_SESSION_FOR_CLOSING = \"@MARK_CONFIGURATOR_SESSION_FOR_CLOSING\";\r\n static GET_COPY_CONFIGURATION_DESTINATIONS = \"@GET_COPY_CONFIGURATION_DESTINATIONS\"; \r\n static ORDER_CHANGE_CONFIGURATION = \"@ORDER_CHANGE_CONFIGURATION\";\r\n static IMPORT_IDENTITIES = \"@IMPORT_IDENTITIES\";\r\n static IMPORT_IDENTITIES_RESULT = \"@IMPORT_IDENTITIES_RESULT\";\r\n}","import { combineReducers, Reducer } from 'redux';\r\nimport { Injectable, Inject } from '@angular/core';\r\nimport * as Immutable from \"immutable\";\r\nimport { ConfSessionData } from \"../shared/confSessionData\";\r\nimport { AppAction } from \"../shared/appAction\";\r\nimport { ConfDataResponse } from \"../../models/responses\";\r\nimport { ConfDataState } from \"../shared/confDataState\";\r\nimport { AbstractConfigurationMessage } from \"../../models/responses/messages/abstractConfigurationMessage\";\r\nimport { BaseEntity } from \"../../baseEntity\";\r\nimport { ConfInfo, SearchDataResponse, ApiResponse, Conf, ConfMultiChoiceValue, StoredConf, UIElement, UIInput, UISelect } from \"../../models\";\r\nimport { ConfDataActions } from \"./confDataActions\";\r\nimport { Actions } from \"../shared/actions\";\r\nimport { ValueSyncType } from '../../valueSyncType';\r\nimport { BaseSyncObject } from '../../baseSyncObject';\r\nimport { Array, Number, String, Map, Object } from 'core-js';\r\nimport { isNumeric } from '../../../../shared/utils';\r\nimport { PushMessageSelection } from '../../providers/pushMessage/pushMessageSelection';\r\nimport { forEach } from 'core-js/fn/dict';\r\n\r\ninterface IConfDataRepository {\r\n oldEntities: Immutable.Map;\r\n newEntities: Immutable.Map;\r\n result?: Immutable.Map;\r\n}\r\n\r\n@Injectable()\r\nexport class ConfDataReducer {\r\n\r\n constructor() { }\r\n\r\n public getReducer(): Reducer {\r\n return combineReducers({\r\n dataBySessionId: this.getConfSessionDataReducer()\r\n });\r\n }\r\n\r\n getConfSessionDataReducer() {\r\n\r\n let defaultState: Immutable.Map = Immutable.Map();\r\n\r\n return (state = defaultState, action: AppAction): Immutable.Map => {\r\n\r\n if (action.type == Actions.CLEAR_CLIENT_CACHE) {\r\n return defaultState;\r\n }\r\n else if (action.type == Actions.REMOVE_CONFIGURATOR_SESSIONS) {\r\n\r\n let confSessionIds = action.payload as number[];\r\n // Filter map by removing the matching ConfSessionIds \r\n let filterState = state.filter((value, key) => confSessionIds.indexOf(value.confSessionId) < 0).toMap();\r\n\r\n if (filterState.size != state.size)\r\n return filterState;\r\n\r\n return state;\r\n }\r\n else if (action.type == Actions.FORM_SELECTION) {\r\n\r\n if (!(action.payload instanceof PushMessageSelection))\r\n return state;\r\n\r\n let pushMessageSelection = action.payload as PushMessageSelection;\r\n\r\n let confSessionData = state.get(pushMessageSelection.sessionId.toString());\r\n\r\n if (pushMessageSelection.clearSession) {\r\n confSessionData = confSessionData.setValueByElementId(Immutable.Map());\r\n }\r\n\r\n // Don't set a value without a key.\r\n if (pushMessageSelection.key) {\r\n\r\n if (!confSessionData.valueByElementId) {\r\n confSessionData = confSessionData.setValueByElementId(Immutable.Map());\r\n }\r\n\r\n let newValue = confSessionData.valueByElementId.set(pushMessageSelection.key, pushMessageSelection.value);\r\n confSessionData = confSessionData.setValueByElementId(newValue);\r\n }\r\n\r\n state = state.set(pushMessageSelection.sessionId.toString(), confSessionData);\r\n }\r\n\r\n if (action.payload instanceof ApiResponse) {\r\n let subResponse = action.payload.data;\r\n\r\n if (subResponse instanceof ConfDataResponse) {\r\n state = this.updateConfSessionData(subResponse, state);\r\n }\r\n // If we have got ConfDataResponse from search results then update the state\r\n else if (action.type == Actions.SEARCH_CONFIGURATIONS_RESULT && subResponse instanceof SearchDataResponse) {\r\n\r\n if (subResponse.searchResult && subResponse.searchResult.confDataResponses) {\r\n\r\n subResponse.searchResult.confDataResponses.forEach(confDataResponse => {\r\n state = this.updateConfSessionData(confDataResponse, state);\r\n });\r\n }\r\n }\r\n }\r\n\r\n return state;\r\n }\r\n\r\n }\r\n\r\n updateConfSessionData(confDataResponse: ConfDataResponse, state: Immutable.Map) {\r\n if (!state.has(confDataResponse.confSessionId.toString())) {\r\n let confSessionData = new ConfSessionData();\r\n\r\n if (confDataResponse.entities)\r\n confSessionData = confSessionData.setEntitiesByConfId(confDataResponse.entities);\r\n\r\n else confSessionData = confSessionData.setEntitiesByConfId(Immutable.Map>());\r\n\r\n confSessionData = confSessionData.setConfSessionId(confDataResponse.confSessionId);\r\n confSessionData = confSessionData.setRootConfId(confDataResponse.rootConfId);\r\n confSessionData = confSessionData.setIsClosed(confDataResponse.isClosed);\r\n confSessionData = confSessionData.setHasUnsavedChanges(confDataResponse.hasUnsavedChanges);\r\n confSessionData = confSessionData.setUiElements(confDataResponse.uiElements);\r\n\r\n if (confDataResponse.uiElements) {\r\n confSessionData = this.setFormDefualtValues(confSessionData, confDataResponse);\r\n }\r\n\r\n confSessionData = confSessionData.setMessages(this.createMessagesMap(confDataResponse.messages));\r\n confSessionData = confSessionData.setCompositeStructure(confDataResponse.confInfos.entities);\r\n state = state.set(confDataResponse.confSessionId.toString(), confSessionData);\r\n }\r\n else {\r\n\r\n // Existing session data.\r\n let confSessionData = state.get(confDataResponse.confSessionId.toString());\r\n\r\n if (confSessionData.hasUnsavedChanges != confDataResponse.hasUnsavedChanges)\r\n confSessionData = confSessionData.setHasUnsavedChanges(confDataResponse.hasUnsavedChanges);\r\n\r\n if (confSessionData.isClosed != confDataResponse.isClosed)\r\n confSessionData = confSessionData.setIsClosed(confDataResponse.isClosed);\r\n\r\n if (confDataResponse.configurationIds) {\r\n\r\n let entitiesByConfId = confSessionData.entitiesByConfId;\r\n confDataResponse.configurationIds.forEach(confId => {\r\n\r\n // Merge only the changes. \r\n let confDataRepository: IConfDataRepository = {\r\n oldEntities: entitiesByConfId.get(confId),\r\n newEntities: confDataResponse.entities.get(confId)\r\n }\r\n this.initConfDataSynchronization(confDataRepository, confId);\r\n entitiesByConfId = entitiesByConfId.set(confId, confDataRepository.result);\r\n });\r\n\r\n confSessionData = confSessionData.setEntitiesByConfId(entitiesByConfId);\r\n }\r\n\r\n confSessionData = confSessionData.setMessages(this.createMessagesMap(confDataResponse.messages));\r\n\r\n // Merge only confInfo changes.\r\n let oldCompositeStructure = confSessionData.compositeStructure;\r\n let newCompositeStructure: Immutable.Map = Immutable.Map();\r\n // Loop through new composite structure, make comparison and merge the changes.\r\n\r\n if (confDataResponse.confInfos.entities) {\r\n confDataResponse.confInfos.entities.forEach(confInfo => {\r\n\r\n // Compare old and new confInfo.\r\n let oldConfInfo = oldCompositeStructure.get(confInfo.longId);\r\n let entity = this.equal(oldConfInfo, confInfo) ? oldConfInfo : confInfo;\r\n newCompositeStructure = newCompositeStructure.set(confInfo.longId, entity);\r\n });\r\n\r\n // As old composite structure might contain deleted confInfos, that's we have to replace old composite struture with new one. \r\n confSessionData = confSessionData.setCompositeStructure(newCompositeStructure);\r\n }\r\n\r\n if (confDataResponse.uiElements) {\r\n\r\n let oldUiElements = confSessionData.uiElements;\r\n let newUiElements = confDataResponse.uiElements;\r\n\r\n if (!oldUiElements)\r\n oldUiElements = newUiElements;\r\n\r\n let data = this.mergeEntities(oldUiElements, newUiElements);\r\n\r\n confSessionData = confSessionData.setUiElements(data);\r\n\r\n confSessionData = this.setFormDefualtValues(confSessionData, confDataResponse);\r\n }\r\n\r\n state = state.set(confDataResponse.confSessionId.toString(), confSessionData);\r\n }\r\n\r\n return state;\r\n }\r\n\r\n private setFormDefualtValues(confSessionData: ConfSessionData, confDataResponse: ConfDataResponse) {\r\n if (!confSessionData.valueByElementId) {\r\n confSessionData = confSessionData.setValueByElementId(Immutable.Map());\r\n }\r\n\r\n let values = confSessionData.valueByElementId;\r\n\r\n confDataResponse.uiElements.forEach(element => {\r\n\r\n let hasValue = false;\r\n\r\n if (element instanceof UIInput) {\r\n let input = (element as UIInput);\r\n\r\n if (input.type == \"text\" || input.type == \"checkbox\" || input.type == \"submit\")\r\n hasValue = true;\r\n\r\n }\r\n else if (element instanceof UISelect) {\r\n hasValue = true;\r\n }\r\n\r\n if (hasValue) {\r\n // Set default empty value.\r\n values = values.set(element.id, \"\");\r\n }\r\n\r\n });\r\n\r\n confSessionData = confSessionData.setValueByElementId(values);\r\n return confSessionData;\r\n }\r\n\r\n protected mergeEntities(existingEntities: Immutable.Map, newEntities: Immutable.Map): Immutable.Map {\r\n\r\n let resultedEntities = existingEntities;\r\n\r\n newEntities.forEach((newEntity: UIElement, key: number) => {\r\n\r\n // Convert to number, needed to make sure the key is number in runtime\r\n key = parseInt(key.toString());\r\n\r\n if (!existingEntities.has(key)) {\r\n resultedEntities = resultedEntities.set(key, newEntity);\r\n }\r\n else {\r\n let existingEntity = existingEntities.get(key);\r\n resultedEntities = resultedEntities.set(key, Object.assign(existingEntity, newEntity));\r\n }\r\n });\r\n\r\n return resultedEntities;\r\n }\r\n\r\n /**\r\n * Synchronizes server and client data.\r\n * @param repository\r\n * @param confId\r\n */\r\n initConfDataSynchronization(repository: IConfDataRepository, confId: number): void {\r\n\r\n // If oldEntities don't exists It means data is loaded first time.\r\n if (!repository.oldEntities) {\r\n repository.result = repository.newEntities;\r\n return;\r\n }\r\n\r\n // Grab the new configuration.\r\n let newConf: Conf = repository.newEntities.has(+confId) ? repository.newEntities.get(+confId) as Conf : null;\r\n if (!newConf) {\r\n // If new Configuration is mising then return empty list (rare scenario, it should not happen)\r\n repository.result = Immutable.Map();\r\n return;\r\n }\r\n\r\n let oldConf: Conf = repository.oldEntities.get(confId) as Conf;\r\n this.synchronizeConfDataInternal(repository, newConf, oldConf);\r\n }\r\n\r\n /**\r\n * Synchronizes the client and server conf data.\r\n * @param repository\r\n * @param newEntity\r\n */\r\n synchronizeConfDataInternal(repository: IConfDataRepository, newEntity: BaseEntity, oldEntity: BaseEntity, propertyName?: string): void {\r\n\r\n // Result map, Put the old entities in result and replace the the entities if they are different.\r\n if (!repository.result) {\r\n repository.result = repository.oldEntities;\r\n }\r\n\r\n // Get all merging properties \r\n let mergingProperties: Array = this.getMergingProperties(newEntity);\r\n if (mergingProperties && mergingProperties.length) {\r\n\r\n // Loop through each property and merge the data individually.\r\n mergingProperties.forEach(mergingPropertyName => {\r\n\r\n // Value could be array or immutable list. If true -> compare each entity belonging to list-ids.\r\n const newPropValue = newEntity ? newEntity.getInternalValue(mergingPropertyName) : null;\r\n const oldPropValue = oldEntity ? oldEntity.getInternalValue(mergingPropertyName) : null;\r\n\r\n // May new or old property value is null. It better to have array check on both.\r\n if (Array.isArray(newPropValue) || Array.isArray(oldPropValue) || newPropValue instanceof Immutable.List || oldPropValue instanceof Immutable.List) {\r\n\r\n // Compare normal array data\r\n this.handleArrayDataComparison(newEntity, oldEntity, repository, mergingPropertyName);\r\n oldEntity = this.extractUpdatedOrDefault(oldEntity, repository);\r\n\r\n }\r\n else {\r\n\r\n // Recursive call.\r\n // Handle Objects or normal properties.\r\n this.handleLinearDataComparison(repository, newEntity, oldEntity, mergingPropertyName);\r\n oldEntity = this.extractUpdatedOrDefault(oldEntity, repository);\r\n\r\n }\r\n\r\n });\r\n }\r\n else {\r\n\r\n // Handle non sync type objects.\r\n if (!this.equal(oldEntity, newEntity)) {\r\n this.merge(newEntity, oldEntity, propertyName, repository);\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n /**\r\n * Compares the array data, In this case propertyName is beloning to array data.\r\n * @param newEntity\r\n * @param repository\r\n * @param propertyName\r\n */\r\n handleArrayDataComparison(newEntity: BaseEntity, oldEntity: BaseEntity, repository: IConfDataRepository, propertyName: string): void {\r\n\r\n // New array data\r\n let newPropertyData: Array = this.readArrayData(newEntity, propertyName);\r\n\r\n // Old array data\r\n let oldPropertyData: Array = this.readArrayData(oldEntity, propertyName);\r\n\r\n // Does it contain referenced data?\r\n let isReferenceObject = isNumeric((newPropertyData && newPropertyData[0]) || (oldPropertyData && oldPropertyData[0]));\r\n // If new array has no data then remove the old data from corresponding property.\r\n if (!newPropertyData) {\r\n\r\n // if old array contains data then remove it\r\n if (oldPropertyData)\r\n this.removeOldEntities(oldPropertyData, repository);\r\n }\r\n\r\n // Merge array data only if it is not referenced objects or arrays are different\r\n if (!isReferenceObject || !this.equal(newPropertyData, oldPropertyData)) {\r\n this.merge(newEntity, oldEntity, propertyName, repository);\r\n oldEntity = this.extractUpdatedOrDefault(oldEntity, repository);\r\n }\r\n\r\n if (isReferenceObject && newPropertyData) {\r\n\r\n this.addNewEntities(newPropertyData, repository);\r\n\r\n if (oldPropertyData) {\r\n let deletedIds = oldPropertyData.filter(x => !newPropertyData.includes(x));\r\n this.removeOldEntities(deletedIds, repository);\r\n }\r\n\r\n newPropertyData.forEach(id => {\r\n\r\n // Get deep level referenced objects. e.g MultiSetValue\r\n let newArrayEntity: BaseEntity = repository.newEntities.get(+id);\r\n if (newArrayEntity) {\r\n\r\n let oldArrayEntity: BaseEntity;\r\n if (repository.oldEntities)\r\n oldArrayEntity = repository.oldEntities.get(+id);\r\n this.synchronizeConfDataInternal(repository, newArrayEntity, oldArrayEntity);\r\n\r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Compares the specified property data \r\n * @param repository\r\n * @param newEntity\r\n * @param propertyName\r\n */\r\n handleLinearDataComparison(repository: IConfDataRepository, newEntity: BaseEntity, oldEntity: BaseEntity, propertyName: string): void {\r\n\r\n if (!(newEntity instanceof BaseEntity))\r\n throw 'Entity must be BaseEnity: ' + newEntity;\r\n\r\n // Update the property data\r\n let newPropertyValue = newEntity.getInternalValue(propertyName);\r\n let oldPropertyValue = oldEntity.getInternalValue(propertyName);\r\n\r\n if (newPropertyValue instanceof BaseEntity || oldPropertyValue instanceof BaseEntity) {\r\n this.synchronizeConfDataInternal(repository, newPropertyValue as BaseEntity, oldPropertyValue as BaseEntity, propertyName);\r\n return;\r\n }\r\n\r\n\r\n if (!this.equal(oldEntity, newEntity, propertyName)) {\r\n oldEntity = oldEntity.setInternalValue(propertyName, newEntity.getInternalValue(propertyName));\r\n repository.result = repository.result.set(oldEntity.longId, oldEntity);\r\n }\r\n\r\n }\r\n\r\n equal(oldObj: any, newObj: any, propertyName?: string): boolean {\r\n\r\n if (propertyName && oldObj && newObj)\r\n return JSON.stringify(oldObj[propertyName]) === JSON.stringify(newObj[propertyName]);\r\n\r\n return JSON.stringify(oldObj) === JSON.stringify(newObj);\r\n\r\n }\r\n\r\n readArrayData(entity: BaseEntity, propertyName): Array {\r\n\r\n if (!entity)\r\n return null;\r\n\r\n let propertyValue = entity.getInternalValue(propertyName);\r\n\r\n if (propertyValue instanceof Immutable.List)\r\n return (propertyValue as Immutable.List).toArray();\r\n\r\n if (Array.isArray(propertyValue))\r\n return propertyValue as Array;\r\n\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Merges the specified property data into result. \r\n * @param newEntity\r\n * @param mergingPropertyName\r\n * @param repository\r\n */\r\n merge(newEntity: BaseEntity, oldEntity: BaseEntity, mergingPropertyName: string, repository: IConfDataRepository) {\r\n\r\n // Special case for StoredConf.\r\n if (newEntity instanceof StoredConf) {\r\n\r\n // Get old or the updated conf.\r\n let conf = this.extractUpdatedOrDefaultEntity(newEntity.longId, repository);\r\n let newConf = repository.newEntities.get(newEntity.longId);\r\n\r\n if (!this.equal(conf, newConf, mergingPropertyName)) {\r\n conf = conf.setInternalValue(mergingPropertyName, newEntity);\r\n\r\n repository.result = repository.result.set(conf.longId, conf);\r\n }\r\n\r\n return;\r\n }\r\n\r\n // Put the new entity into result if no old entity found. \r\n if (!oldEntity) {\r\n repository.result = repository.result.set(newEntity.longId, newEntity);\r\n return;\r\n }\r\n\r\n // If property name is not defined then add the new entity into result.\r\n if (!mergingPropertyName) {\r\n repository.result = repository.result.set(newEntity.longId, newEntity);\r\n return;\r\n }\r\n\r\n // merge property\r\n // Copy new specific property data to old object\r\n oldEntity = oldEntity.setInternalValue(mergingPropertyName, newEntity.getInternalValue(mergingPropertyName))\r\n repository.result = repository.result.set(oldEntity.longId, oldEntity);\r\n\r\n }\r\n\r\n\r\n removeOldEntities(oldEntities: Array, repository: IConfDataRepository): void {\r\n\r\n if (!oldEntities)\r\n return;\r\n\r\n oldEntities.forEach(x => {\r\n\r\n if (x instanceof BaseEntity)\r\n repository.result = repository.result.remove(x.longId);\r\n else\r\n repository.result = repository.result.remove(x);\r\n\r\n });\r\n\r\n }\r\n\r\n addNewEntities(newEntities: Array, repository: IConfDataRepository): void {\r\n\r\n if (!newEntities)\r\n return;\r\n\r\n newEntities.forEach(x => {\r\n\r\n if (x instanceof BaseEntity || x.longId != null) {\r\n if (!repository.result.has(x.longId))\r\n repository.result = repository.result.set(x.longId, x);\r\n }\r\n\r\n else if (isNumeric(x) && repository.newEntities.has(+x)) {\r\n if (!repository.result.has(x))\r\n repository.result = repository.result.set(x, repository.newEntities.get(+x));\r\n }\r\n });\r\n }\r\n\r\n\r\n /**\r\n * Returns the updated entity or default old one.\r\n * @param id\r\n * @param repository\r\n */\r\n extractUpdatedOrDefaultEntity(id: number, repository: IConfDataRepository): BaseEntity {\r\n\r\n if (repository.result && repository.result.has(+id))\r\n return repository.result.get(+id);\r\n\r\n return repository.oldEntities.get(id);\r\n\r\n }\r\n\r\n extractUpdatedOrDefault(oldEntity: BaseEntity, repository: IConfDataRepository) {\r\n\r\n if (oldEntity == null)\r\n return;\r\n\r\n return this.extractUpdatedOrDefaultEntity(oldEntity.longId, repository);\r\n\r\n }\r\n\r\n /**\r\n * Is it allowed to have deep level merge for the provided entity.\r\n * @param entity\r\n */\r\n allowDeepLevelMerge(entity: BaseEntity): boolean {\r\n\r\n if (entity instanceof ConfMultiChoiceValue)\r\n return true;\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Returns the properties whose data must be synchronized.\r\n * @param newObj\r\n */\r\n getMergingProperties(newObj: BaseEntity): Array {\r\n\r\n\r\n let list: Array = [];\r\n\r\n if (newObj instanceof BaseSyncObject) {\r\n newObj.syncTypeByProperty.forEach((value, key) => {\r\n\r\n if (value == ValueSyncType.Replace)\r\n list.push(key);\r\n\r\n });\r\n }\r\n\r\n return list;\r\n }\r\n\r\n createMessagesMap(messages: Immutable.List): Immutable.Map> {\r\n\r\n let messagesMap = Immutable.Map>();\r\n\r\n if (messages && messages.size > 0) {\r\n messages.forEach((message) => {\r\n\r\n if (!messagesMap.has(message.className))\r\n messagesMap = messagesMap.set(message.className, Immutable.List());\r\n\r\n let messagesList = messagesMap.get(message.className);\r\n messagesMap = messagesMap.set(message.className, messagesList.push(message));\r\n });\r\n }\r\n\r\n return messagesMap;\r\n }\r\n}","export * from \"./confDataActions\";\r\nexport * from \"./confDataReducer\";","export class GlobalDataActions {\r\n\r\n static FETCH_GLOBAL_ENTITIES = \"@FETCH_GLOBAL_ENTITIES\";\r\n static GLOBAL_ENTITIES_LOADED = \"@GLOBAL_ENTITIES_LOADED\";\r\n\r\n static REQUEST_GLOBAL_SETTINGS = \"@REQUEST_GLOBAL_SETTINGS\";\r\n static GLOBAL_SETTINGS_LOADED = \"@GLOBAL_SETTINGS_LOADED\";\r\n\r\n static REQUEST_LOCALIZE_DATA = \"@REQUEST_LOCALIZE_DATA\";\r\n static LOCALIZE_DATA_LOADED = \"@LOCALIZE_DATA_LOADED\";\r\n\r\n static REQUEST_WEB_SETTINGS = \"@REQUEST_WEB_SETTINGS\";\r\n static WEB_SETTINGS_LOADED = \"@WEB_SETTINGS_LOADED\";\r\n\r\n static REQUEST_UI_SETTINGS = \"@REQUEST_UI_SETTINGS\";\r\n static UI_SETTINGS_LOADED = \"@UI_SETTINGS_LOADED\";\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\n\r\nimport { AppAction } from \"../shared/appAction\";\r\nimport { GlobalDataState } from \"../shared/globalDataState\";\r\nimport { GlobalDataActions } from \"./globalDataActions\";\r\nimport { GlobalDataResponse, UISettingsResponse } from \"../../models/responses\";\r\nimport { GlobalSettings, WebSettingsResponse } from \"../../models\";\r\nimport { BaseEntity } from \"../../baseEntity\";\r\nimport { Actions } from \"../shared/actions\";\r\n\r\n@Injectable()\r\nexport class GlobalDataReducer {\r\n\r\n public getReducer() {\r\n\r\n let defaultState = new GlobalDataState();\r\n defaultState = defaultState.setEntities(Immutable.Map());\r\n defaultState = defaultState.setEntityIdsByClassName(Immutable.Map>());\r\n\r\n return (state = defaultState, action: AppAction): GlobalDataState => {\r\n\r\n if (action.type == Actions.CLEAR_CLIENT_CACHE)\r\n return defaultState;\r\n\r\n if (!action.payload)\r\n return state;\r\n\r\n if (action.payload.data instanceof GlobalDataResponse) {\r\n\r\n let globalDataResponse = action.payload.data as GlobalDataResponse;\r\n\r\n if (action.type == GlobalDataActions.GLOBAL_ENTITIES_LOADED) {\r\n\r\n if (globalDataResponse.entities && globalDataResponse.entities.size > 0) {\r\n\r\n globalDataResponse.entityIdsByClassName.forEach((entityIds, className) => {\r\n\r\n let existingIds = state.entityIdsByClassName.get(className);\r\n state = state.setEntityIdsByClassName(state.entityIdsByClassName.set(className, this.mergeIds(existingIds, entityIds)));\r\n\r\n })\r\n\r\n let entities: Immutable.Map = this.mergeEntities(state.entities, globalDataResponse.entities);\r\n state = state.setEntities(entities);\r\n }\r\n }\r\n else if (action.type == GlobalDataActions.GLOBAL_SETTINGS_LOADED) {\r\n\r\n state = state.setGlobalSettings(globalDataResponse.globalSettings);\r\n }\r\n else if (action.type == GlobalDataActions.LOCALIZE_DATA_LOADED) {\r\n\r\n state = state.setLocalizeData(globalDataResponse.localizeData);\r\n }\r\n }\r\n else if (action.payload.data instanceof WebSettingsResponse) {\r\n\r\n let webSettingsResponse = action.payload.data as WebSettingsResponse;\r\n\r\n if (action.type == GlobalDataActions.WEB_SETTINGS_LOADED) {\r\n state = state.setWebSettings(webSettingsResponse.settings);\r\n }\r\n\r\n }\r\n else if (action.payload.data instanceof UISettingsResponse) {\r\n\r\n let uiSettingsResponse = action.payload.data as UISettingsResponse;\r\n\r\n if (action.type == GlobalDataActions.UI_SETTINGS_LOADED) {\r\n state = state.setUISettings(uiSettingsResponse.settings);\r\n }\r\n }\r\n return state;\r\n }\r\n }\r\n\r\n protected mergeIds(existingIds: Immutable.List, newIds: Immutable.List) {\r\n if (existingIds && existingIds.count() > 0)\r\n return existingIds.merge(newIds).toSet().toList();\r\n\r\n return newIds;\r\n }\r\n\r\n protected mergeEntities(existingEntities: Immutable.Map, newEntities: Immutable.Map): Immutable.Map {\r\n\r\n let resultedEntities = existingEntities;\r\n\r\n newEntities.forEach((newEntity: BaseEntity, key: number) => {\r\n\r\n // Convert to number, needed to make sure the key is number in runtime\r\n key = parseInt(key.toString());\r\n\r\n if (!existingEntities.has(key)) {\r\n resultedEntities = resultedEntities.set(key, newEntity);\r\n }\r\n else {\r\n let existingEntity = existingEntities.get(key);\r\n resultedEntities = resultedEntities.set(key, Object.assign(existingEntity, newEntity));\r\n }\r\n });\r\n\r\n return resultedEntities;\r\n }\r\n\r\n}\r\n\r\n\r\n","export * from \"./globalDataActions\";\r\nexport * from \"./globalDataReducer\";","export * from \"./accountData/index\";\r\nexport * from \"./actionInfo\"\r\nexport * from \"./appStore\";\r\nexport * from \"./baseStore\";\r\nexport * from \"./configurationData/index\";\r\nexport * from \"./globalData/index\";\r\nexport * from \"./page/index\";\r\nexport * from \"./productData/index\";\r\nexport * from \"./shared\";\r\nexport * from \"./storeResponse\";\r\nexport * from \"./searchData/index\";\r\nexport * from \"./appReducer\";","import { Injectable, Inject } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\n\r\nimport { AppAction } from \"../shared/appAction\";\r\nimport { ConfUIData } from \"../shared/confUIData\";\r\nimport { PageActions } from \"./pageActions\";\r\nimport { ConfiguratorPageUIData } from \"../shared/configuratorPageUIData\";\r\n\r\n@Injectable()\r\nexport class ConfUIReducer {\r\n\r\n\r\n public getReducer() {\r\n\r\n return (stateById: Immutable.Map = Immutable.Map(), action: AppAction): Immutable.Map => {\r\n\r\n switch (action.type) {\r\n \r\n //case PageActions.SEPARATED_UI_TAB_CHANGE:\r\n\r\n // let sepratedUI: SeparatedTabUIData = action.payload as SeparatedTabUIData;\r\n\r\n // // Add confUIData if not exists -> Need more work, It must be generated in beginning.\r\n // //stateById = this.addConfUIDataIfNotExists(stateById, sepratedUI.confId);\r\n\r\n // let confUI: ConfUIData = stateById.get(+sepratedUI.confId)\r\n // //let tabById: Immutable.Map = confUI.separatedTabById.set(sepratedUI.tabId, sepratedUI);\r\n // //stateById = stateById.set(confUI.confId, confUI.setSeparatedTabById(tabById));\r\n // confUI = confUI.setHideSeparatedTabs(!sepratedUI.calcSticky);\r\n // stateById = stateById.set(confUI.confId, confUI);\r\n \r\n // break;\r\n\r\n case PageActions.UPDATE_CONF_UI_DATA:\r\n {\r\n let data: ConfUIData = action.payload as ConfUIData;\r\n stateById = stateById.set(data.confId, data);\r\n }\r\n break;\r\n\r\n }\r\n\r\n return stateById;\r\n }\r\n }\r\n\r\n addConfUIDataIfNotExists(stateById: Immutable.Map = Immutable.Map(), confId: number): Immutable.Map {\r\n \r\n if (confId && !stateById.has(+confId)) {\r\n let confUI = new ConfUIData();\r\n confUI.setConfId(confId);\r\n stateById = stateById.set(confId, confUI);\r\n }\r\n\r\n return stateById;\r\n }\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\nimport { combineReducers, ReducersMapObject } from \"redux\";\r\n\r\nimport { ConfDataResponse, RequestViews} from \"../../models\";\r\nimport { AppStore } from \"../appStore\";\r\nimport { AppAction } from \"../shared/appAction\";\r\nimport { UIAction } from \"../shared/uiAction\";\r\nimport { CompositeUIData } from \"../shared/compositeUIData\";\r\nimport { ConfUIData } from \"../shared/confUIData\";\r\nimport { AccordionUIData } from \"../shared/accordionUIData\";\r\nimport { PageActions } from \"./pageActions\";\r\nimport { Actions } from \"../shared/actions\";\r\nimport { ConfiguratorPageUIData } from \"../shared/configuratorPageUIData\";\r\nimport { PageConfIdentifier } from \"../shared/pageConfIdentifier\";\r\nimport { ConfUIReducer } from \"./confUIReducer\";\r\nimport { ReducersCombiner } from \"../../../../shared/providers/reducersCombiner\";\r\n\r\n@Injectable()\r\nexport class ConfiguratorUIReducer {\r\n\r\n constructor(\r\n @Inject(ConfUIReducer) public confUIReducer: ConfUIReducer,\r\n @Inject(ReducersCombiner) public reducersCombiner: ReducersCombiner\r\n ) { }\r\n\r\n public getReducer() {\r\n\r\n let defaultPageUIState = new ConfiguratorPageUIData();\r\n\r\n const confUiReducer = this.reducersCombiner.combine({\r\n confUIDataById: this.confUIReducer.getReducer(),\r\n pageConfIdentifier: this.pageConfIdentifierReducer(),\r\n compositeUI: this.compositeUIReducer(),\r\n accordionUI: this.accordionUIReducer()\r\n });\r\n\r\n return (stateById: Immutable.Map = Immutable.Map(), action: AppAction): Immutable.Map => {\r\n\r\n let uiAction = action as UIAction;\r\n //if (uiAction.type == PageActions.CREATE_CONFIGURATOR_UI_DATA) {\r\n\r\n // Temporary check.\r\n if (uiAction.pageId > -1) {\r\n\r\n let pageUIState = defaultPageUIState;\r\n\r\n // Use the default ConfiguratorPageUIData state if does not exist.\r\n if (!stateById.has(uiAction.pageId.toString())) {\r\n stateById = stateById.set(uiAction.pageId.toString(), pageUIState);\r\n }\r\n else {\r\n // Existing state\r\n pageUIState = stateById.get(uiAction.pageId.toString());\r\n }\r\n\r\n let result = confUiReducer(pageUIState, action);\r\n\r\n // Update if the results are not same.\r\n if (result != pageUIState)\r\n stateById = stateById.set(uiAction.pageId.toString(), result);\r\n //}\r\n }\r\n return stateById;\r\n }\r\n }\r\n\r\n /**\r\n * Updates the configuration page identifiers, e.g configurationId and sessionId.\r\n * @param stateById\r\n * @param uiAction\r\n */\r\n public pageConfIdentifierReducer() {\r\n // Default state\r\n const defaultState: PageConfIdentifier = new PageConfIdentifier()\r\n\r\n // Reducer\r\n return (identifierState: PageConfIdentifier = defaultState, uiAction: UIAction): PageConfIdentifier => {\r\n\r\n //if confDataResponse and activeId does not exists in ConfInfo then set to null\r\n\r\n switch (uiAction.type) {\r\n\r\n case Actions.CONFIGURATION_LOADED:\r\n {\r\n let response: ConfDataResponse = uiAction.payload as ConfDataResponse;\r\n if (response.confSessionId == identifierState.confSessionId) {\r\n if (identifierState.selectedConfId && !response.confInfos.entities.has(identifierState.selectedConfId))\r\n identifierState = identifierState.setSelectedConfId(null);\r\n }\r\n break;\r\n }\r\n case PageActions.CONFIGURATION_SELECT:\r\n {\r\n identifierState = uiAction.payload;\r\n break;\r\n }\r\n }\r\n\r\n return identifierState;\r\n }\r\n }\r\n\r\n public compositeUIReducer() {\r\n const defaultState = new CompositeUIData();\r\n\r\n // Reducer\r\n return (state: CompositeUIData = defaultState, uiAction: UIAction): CompositeUIData => {\r\n\r\n switch (uiAction.type) {\r\n case PageActions.COMPOSITE_UI_CHANGE:\r\n state = uiAction.payload;\r\n }\r\n return state;\r\n }\r\n }\r\n\r\n public accordionUIReducer() {\r\n const defaultState = new AccordionUIData();\r\n\r\n // Reducer\r\n return (state: AccordionUIData = defaultState, uiAction: UIAction): AccordionUIData => {\r\n switch (uiAction.type) {\r\n case PageActions.TABS_ACCORDION_UI_CHANGE:\r\n state = uiAction.payload;\r\n }\r\n return state;\r\n }\r\n }\r\n\r\n}","export * from \"./configuratorPageUIReducer\";\r\nexport * from \"./selectorPageUIReducer\";\r\nexport * from \"./pageReducer\";\r\nexport * from \"./pageActions\";\r\nexport * from \"./confUIReducer\";","export class PageActions {\r\n\r\n static CREATE_PAGE_UI_DATA = \"@CREATE_PAGE_UI_DATA\";\r\n static CREATE_SELECTOR_UI_DATA = \"@CREATE_SELECTOR_UI_DATA\";\r\n static CREATE_CONFIGURATOR_PAGE_UI_DATA = \"@CREATE_CONFIGURATOR_PAGE_UI_DATA\";\r\n static CREATE_CONF_UI_DATA = \"@CREATE_CONF_UI_DATA\";\r\n static UPDATE_CONF_UI_DATA = \"@UPDATE_CONF_UI_DATA\";\r\n static INCREMENT_PAGE_IDENTITY = \"@INCREMENT_PAGE_IDENTITY\";\r\n\r\n static CONFIGURATION_SELECT = \"@CONFIGURAION_SELECT\";\r\n static CONFIGURAION_UI_INIT = \"@CONFIGURAION_UI_INIT\";\r\n static COMPOSITE_UI_CHANGE = \"@COMPOSITE_UI_CHANGE\";\r\n static TABS_ACCORDION_UI_CHANGE = \"@TABS_ACCORDION_UI_CHANGE\";\r\n static SEPARATED_UI_TAB_CHANGE = \"@SEPARATED_UI_TAB_CHANGE\"; \r\n static CONF_ACTIVE_ROUTE_NAME = \"@CONF_ACTIVE_ROUTE_NAME\";\r\n\r\n static SET_SELECTED_ASSORTMENTS = \"@SET_SELECTED_ASSORTMENTS\";\r\n\r\n static SEARCH_RECENT_USER_CONF_REQUEST = \"@SEARCH_RECENT_USER_CONF_REQUEST\";\r\n static SEARCH_RECENT_USER_CONF_LOADED = \"@SEARCH_RECENT_USER_CONF_LOADED\";\r\n static SEARCH_RECENT_WORKGROUP_CONF_REQUEST = \"@SEARCH_RECENT_WORKGROUP_CONF_REQUEST\";\r\n static SEARCH_RECENT_WORKGROUP_CONF_LOADED = \"@SEARCH_RECENT_WORKGROUP_CONF_LOADED\";\r\n\r\n static SEARCH_UNSAVED_USER_CONF_REQUEST = \"@SEARCH_UNSAVED_USER_CONF_REQUEST\";\r\n\r\n static COMPARISON_CONFS_REQUEST = \"@COMPARISON_CONFS_REQUEST\";\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport { combineReducers, Reducer } from \"redux\";\r\n\r\nimport { AppAction } from \"../shared/appAction\";\r\nimport { PageState } from \"../shared/pageState\";\r\nimport { SelectorUIReducer } from \"./selectorPageUIReducer\";\r\nimport { ConfiguratorUIReducer } from \"./configuratorPageUIReducer\";\r\nimport { PageActions } from \"./pageActions\";\r\nimport { RequestViews } from \"../../models\";\r\nimport { UIAction } from \"..\";\r\n\r\n@Injectable()\r\nexport class PageReducer {\r\n\r\n constructor(\r\n @Inject(SelectorUIReducer) public selectorUIReducer: SelectorUIReducer,\r\n @Inject(ConfiguratorUIReducer) public configuratorUIReducer: ConfiguratorUIReducer\r\n ) { }\r\n\r\n public getReducer(): Reducer {\r\n return combineReducers({\r\n selectorUI: this.selectorUIReducer.getReducer(),\r\n configuratorUI: this.configuratorUIReducer.getReducer(),\r\n nextPageIdentifier: this.pageIdentifierReducer(),\r\n activeRouteName: this.activeViewReducer(),\r\n })\r\n }\r\n\r\n public pageIdentifierReducer() {\r\n return (state: number = 1, action: AppAction): number => {\r\n if (action.type == PageActions.INCREMENT_PAGE_IDENTITY)\r\n state = ++state;\r\n\r\n return state;\r\n }\r\n }\r\n\r\n public activeViewReducer() {\r\n const defaultState = RequestViews.Editor;\r\n\r\n // Reducer\r\n return (state: RequestViews = defaultState, uiAction: UIAction): RequestViews => {\r\n switch (uiAction.type) {\r\n case PageActions.CONF_ACTIVE_ROUTE_NAME:\r\n state = uiAction.payload;\r\n }\r\n return state;\r\n }\r\n }\r\n}\r\n\r\n\r\n","import { Injectable, Inject } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\n\r\nimport { AppAction } from \"../shared/appAction\";\r\nimport { UIAction } from \"../shared/uiAction\";\r\nimport { PageActions } from \"./pageActions\";\r\nimport { SelectorPageUIData } from \"../shared/selectorPageUIData\";\r\n\r\n@Injectable()\r\nexport class SelectorUIReducer {\r\n\r\n public getReducer() {\r\n\r\n return (stateById: Immutable.Map = Immutable.Map(), action: AppAction): Immutable.Map => {\r\n\r\n let uiAction = action as UIAction;\r\n\r\n switch (action.type) {\r\n\r\n case PageActions.CREATE_SELECTOR_UI_DATA:\r\n\r\n if (!stateById.has(uiAction.pageId.toString())) {\r\n\r\n return stateById.set(uiAction.pageId.toString(), new SelectorPageUIData()); \r\n }\r\n\r\n return stateById;\r\n\r\n case PageActions.SET_SELECTED_ASSORTMENTS:\r\n\r\n if (stateById.has(uiAction.pageId.toString())) {\r\n\r\n let selectorUI: SelectorPageUIData = stateById.get(uiAction.pageId.toString());\r\n selectorUI.selectedAssortments = uiAction.payload;\r\n return stateById.set(uiAction.pageId.toString(), selectorUI);\r\n\r\n }\r\n \r\n default:\r\n return stateById;\r\n } \r\n }\r\n\r\n }\r\n}","export * from \"./productDataActions\"\r\nexport * from \"./productDataReducer\"","export class ProductDataActions { \r\n\r\n static FETCH_ASSORTMENTS = \"@FETCH_ASSORTMENTS\";\r\n static FETCH_ROOT_ASSORTMENTS = \"@FETCH_ROOT_ASSORTMENTS\";\r\n static ROOT_ASSORTMENTS_LOADED = \"@ROOT_ASSORTMENTS_LOADED\";\r\n static FETCH_PRODUCTS = \"@FETCH_PRODUCTS\";\r\n static FETCH_PRODUCT_TABS = \"@FETCH_PRODUCT_TABS\";\r\n static PRODUCT_LINKED_DATA_LOADED = \"@PRODUCT_LINKED_DATA_LOADED\"; \r\n static FETCH_ENTITIES = \"@FETCH_ENTITIES\";\r\n static ENTITIES_LOADED = \"@ENTITIES_LOADED\";\r\n}","import { Injectable, Inject } from '@angular/core';\r\nimport { combineReducers } from 'redux';\r\nimport * as Immutable from \"immutable\";\r\n\r\nimport { ProductDataState } from \"../shared/productDataState\";\r\nimport { ProductDataActions } from \"./productDataActions\";\r\nimport { ProductDataResponse } from \"../../models/responses\";\r\nimport { BaseEntity } from \"../../baseEntity\";\r\nimport { Assortment } from \"../../models/entities\";\r\nimport { AppAction } from \"../shared/appAction\";\r\nimport { Actions } from \"../shared/actions\";\r\nimport { RequestStatus } from \"../shared/requestStatus\";\r\n\r\n@Injectable()\r\nexport class ProductDataReducer {\r\n \r\n public getReducer() {\r\n\r\n let defaultState = new ProductDataState();\r\n defaultState = defaultState.setEntities(Immutable.Map());\r\n defaultState = defaultState.setEntityIdsByClassName(Immutable.Map>());\r\n defaultState = defaultState.setRootAssortments(Immutable.List());\r\n\r\n return (state = defaultState, action: AppAction): ProductDataState => {\r\n\r\n if (action.type == Actions.CLEAR_CLIENT_CACHE)\r\n return defaultState;\r\n\r\n if (!action.payload || !(action.payload.data instanceof ProductDataResponse))\r\n return state;\r\n\r\n let productResponse = action.payload.data as ProductDataResponse;\r\n \r\n if (productResponse.entities && productResponse.entities.size > 0) {\r\n \r\n productResponse.entityIdsByClassName.forEach((entityIds, className) => {\r\n\r\n let existingIds = state.entityIdsByClassName.get(className);\r\n state = state.setEntityIdsByClassName(state.entityIdsByClassName.set(className, this.mergeIds(existingIds, entityIds)));\r\n\r\n })\r\n \r\n let entities: Immutable.Map = this.mergeEntities(state.entities, productResponse.entities);\r\n state = state.setEntities(entities);\r\n }\r\n\r\n switch (action.type) {\r\n\r\n case ProductDataActions.PRODUCT_LINKED_DATA_LOADED:\r\n return state;\r\n \r\n case ProductDataActions.ROOT_ASSORTMENTS_LOADED:\r\n state = state.setRootAssortments(productResponse.entityIdsByClassName.get(Assortment.name));\r\n return state;\r\n\r\n default:\r\n return state;\r\n }\r\n }\r\n }\r\n\r\n public mergeIds(existingIds: Immutable.List, newIds: Immutable.List) {\r\n if (existingIds && existingIds.count() > 0)\r\n return existingIds.merge(newIds).toSet().toList();\r\n\r\n return Immutable.List(newIds);\r\n }\r\n\r\n public mergeEntities(existingEntities: Immutable.Map, newEntities: Immutable.Map): Immutable.Map {\r\n\r\n let resultedEntities = existingEntities;\r\n\r\n newEntities.forEach((newEntity: BaseEntity, key: number) => {\r\n\r\n // Convert to number, needed to make sure the key is number in runtime\r\n key = parseInt(key.toString());\r\n\r\n if (!existingEntities.has(key)) {\r\n resultedEntities = resultedEntities.set(key, newEntity);\r\n }\r\n else {\r\n let existingEntity = existingEntities.get(key);\r\n resultedEntities = resultedEntities.set(key, Object.assign(existingEntity, newEntity));\r\n }\r\n });\r\n\r\n return resultedEntities;\r\n }\r\n\r\n}","export class PushMessageActions { \r\n\r\n static PUSH_MESSAGE = \"@PUSH_MESSAGE\";\r\n static PUSH_MESSAGE_LOADED = \"@PUSH_MESSAGE_LOADED\";\r\n static PUSH_MESSAGE_UPLOAD = \"@PUSH_MESSAGE_UPLOAD\";\r\n}","import { Injectable } from '@angular/core';\r\nimport * as Immutable from \"immutable\";\r\n\r\nimport { AppAction } from \"../shared/appAction\";\r\nimport { PushMessageState } from \"../shared/pushMessageState\";\r\nimport { Actions } from \"../shared/actions\";\r\nimport { ServerPushMessage, UIAction, UIElement } from \"../../models\";\r\nimport { PushMessageSelection } from '../../providers/pushMessage/pushMessageSelection';\r\nimport { PushMessageData } from '../../models/entities/pushMessageData';\r\nimport { PushData } from '../shared/pushData';\r\n\r\ninterface IUIEntityRepository {\r\n oldUIEntities: Immutable.Map,\r\n newUIEntities: Immutable.Map,\r\n result?: Immutable.Map\r\n}\r\n\r\ninterface IValuesRepository {\r\n oldUIEntities: Immutable.Map,\r\n newUIEntities: Immutable.Map,\r\n result?: Immutable.Map\r\n}\r\n\r\n@Injectable()\r\nexport class PushMessageReducer {\r\n\r\n public getReducer() {\r\n\r\n let defaultState = new PushMessageState();\r\n defaultState = defaultState.setDataBySessionId(Immutable.Map());\r\n\r\n return (state = defaultState, action: AppAction): PushMessageState => {\r\n\r\n if (action.type == Actions.CLEAR_CLIENT_CACHE) {\r\n return defaultState;\r\n }\r\n\r\n if (action.type == Actions.PUSH_MESSAGE_SELECTION) {\r\n\r\n if (!(action.payload instanceof PushMessageSelection))\r\n return state;\r\n\r\n let pushMessageSelection = action.payload as PushMessageSelection;\r\n\r\n let pushData = state.dataBySessionId.get(pushMessageSelection.sessionId);\r\n\r\n let pushMessageSessionData = pushData.values;\r\n\r\n if (pushMessageSelection.clearSession) {\r\n pushMessageSessionData = Immutable.Map();\r\n }\r\n\r\n // Don't set a value without a key.\r\n if (pushMessageSelection.key) {\r\n\r\n if (!pushMessageSessionData) {\r\n pushMessageSessionData = Immutable.Map();\r\n }\r\n\r\n pushMessageSessionData = pushMessageSessionData.set(pushMessageSelection.key, pushMessageSelection.value);\r\n }\r\n\r\n pushData = pushData.setValues(pushMessageSessionData);\r\n\r\n let newPushData = state.dataBySessionId.set(pushMessageSelection.sessionId, pushData);\r\n state = state.setDataBySessionId(newPushData);\r\n }\r\n else if (action.type == Actions.PUSH_MESSAGE_LOADED) {\r\n\r\n if (!(action.payload.data instanceof PushMessageData))\r\n return state;\r\n\r\n //if (this.number > 0)\r\n // console.log(\"Needs lock.\");\r\n //this.number = this.number + 1;\r\n\r\n state = this.updatePushMessageData(action.payload.data, state);\r\n\r\n /* this.number = this.number - 1;*/\r\n }\r\n else if (action.type == Actions.PUSH_MESSAGE_REFRESHING) {\r\n state = state.setRefreshing(action.payload);\r\n }\r\n else if (action.type == Actions.PUSH_MESSAGE_REDIRECTING) {\r\n state = state.setRedirecting(action.payload);\r\n }\r\n\r\n return state;\r\n }\r\n }\r\n\r\n updatePushMessageData(pushMessageData: PushMessageData, state: PushMessageState): PushMessageState {\r\n\r\n if (!state.dataBySessionId.has(pushMessageData.interactionSessionId)) {\r\n let pushData = new PushData();\r\n\r\n let serverPushMessage = new ServerPushMessage();\r\n\r\n if (pushMessageData.uiActions)\r\n pushData = pushData.setUiActionById(pushMessageData.uiActions);\r\n\r\n if (pushMessageData.uiElements)\r\n pushData = pushData.setUiElementById(pushMessageData.uiElements);\r\n\r\n if (pushMessageData.values)\r\n pushData = pushData.setValues(pushMessageData.values);\r\n\r\n serverPushMessage = serverPushMessage.setExtraArgs(pushMessageData.extraArgs);\r\n serverPushMessage = serverPushMessage.setInteractionSessionId(pushMessageData.interactionSessionId);\r\n serverPushMessage = serverPushMessage.setLongId(pushMessageData.longId);\r\n serverPushMessage = serverPushMessage.setStartUIAction(pushMessageData.startUIAction);\r\n serverPushMessage = serverPushMessage.setUiActionStructureById(pushMessageData.uiActionStructureById);\r\n\r\n pushData = pushData.setServerPushMessage(serverPushMessage);\r\n\r\n let newPushData = state.dataBySessionId.set(pushMessageData.interactionSessionId, pushData);\r\n state = state.setDataBySessionId(newPushData);\r\n }\r\n else {\r\n let pushData = state.dataBySessionId.get(pushMessageData.interactionSessionId);\r\n\r\n let serverPushMessage = pushData.serverPushMessage;\r\n\r\n if (serverPushMessage.extraArgs != pushMessageData.extraArgs)\r\n serverPushMessage = serverPushMessage.setExtraArgs(pushMessageData.extraArgs);\r\n\r\n if (serverPushMessage.longId != pushMessageData.longId)\r\n serverPushMessage = serverPushMessage.setLongId(pushMessageData.longId);\r\n\r\n if (serverPushMessage.startUIAction != pushMessageData.startUIAction)\r\n serverPushMessage = serverPushMessage.setStartUIAction(pushMessageData.startUIAction);\r\n\r\n if (pushMessageData.uiElements) {\r\n\r\n let oldUIElementsById = pushData.uiElementById;\r\n let newUIElementsById = pushMessageData.uiElements;\r\n\r\n let uiEntityRepository: IUIEntityRepository = >{\r\n oldUIEntities: oldUIElementsById,\r\n newUIEntities: newUIElementsById\r\n };\r\n\r\n this.initUIEntityDataSynchronization(uiEntityRepository);\r\n pushData = pushData.setUiElementById(uiEntityRepository.result);\r\n }\r\n\r\n if (pushMessageData.values) {\r\n\r\n let oldUIElementsById2 = pushData.values;\r\n let newUIElementsById2 = pushMessageData.values;\r\n\r\n let valuesRepository: IValuesRepository = {\r\n oldUIEntities: oldUIElementsById2,\r\n newUIEntities: newUIElementsById2\r\n };\r\n\r\n this.initValuesSynchronization(valuesRepository);\r\n pushData = pushData.setValues(valuesRepository.result);\r\n }\r\n\r\n if (pushMessageData.uiActions) {\r\n\r\n let oldUIActionsById = pushData.uiActionById;\r\n let newUIActionsById = pushMessageData.uiActions;\r\n\r\n let uiEntityRepository: IUIEntityRepository = >{\r\n oldUIEntities: oldUIActionsById,\r\n newUIEntities: newUIActionsById\r\n };\r\n\r\n this.initUIEntityDataSynchronization(uiEntityRepository);\r\n pushData = pushData.setUiActionById(uiEntityRepository.result);\r\n }\r\n\r\n if (pushMessageData.uiActionStructureById) {\r\n\r\n let oldUIActionStructureById = serverPushMessage.uiActionStructureById;\r\n let newUIActionStructureById = pushMessageData.uiActionStructureById;\r\n\r\n if (!oldUIActionStructureById)\r\n serverPushMessage = serverPushMessage.setUiActionStructureById(newUIActionStructureById);\r\n else {\r\n\r\n let result = oldUIActionStructureById;\r\n\r\n newUIActionStructureById.forEach((newUIActionStructure, key) => {\r\n\r\n if (!result.has(key))\r\n result = result.set(key, newUIActionStructure);\r\n\r\n if (!this.isEqual(result.get(key), newUIActionStructure))\r\n result = result.set(key, newUIActionStructure);\r\n\r\n });\r\n\r\n // Remove old ui actions.\r\n oldUIActionStructureById.keySeq().toArray().forEach((key) => {\r\n\r\n if (!newUIActionStructureById.has(key))\r\n result = result.remove((key));\r\n });\r\n\r\n serverPushMessage = serverPushMessage.setUiActionStructureById(result);\r\n }\r\n\r\n }\r\n\r\n pushData = pushData.setServerPushMessage(serverPushMessage);\r\n\r\n let newPushData = state.dataBySessionId.set(pushMessageData.interactionSessionId, pushData);\r\n state = state.setDataBySessionId(newPushData);\r\n }\r\n\r\n return state;\r\n }\r\n\r\n initValuesSynchronization(repository: IValuesRepository): void {\r\n\r\n if (!repository.oldUIEntities) {\r\n repository.result = repository.newUIEntities;\r\n return;\r\n }\r\n\r\n this.synchronizeValues(repository);\r\n\r\n }\r\n\r\n synchronizeValues(repository: IValuesRepository): void {\r\n\r\n if (!repository.result)\r\n repository.result = repository.oldUIEntities;\r\n\r\n let newUIEntitiesIds = repository.newUIEntities.keySeq().toArray();\r\n newUIEntitiesIds.forEach(id => {\r\n\r\n let oldEntity = repository.oldUIEntities.get(id);\r\n let newEntity = repository.newUIEntities.get(id);\r\n\r\n if (!this.isEqual(oldEntity, newEntity))\r\n this.mergeValues(repository, oldEntity, newEntity, id);\r\n\r\n });\r\n\r\n if (repository.oldUIEntities) {\r\n this.removeOldValues(repository);\r\n }\r\n\r\n }\r\n\r\n mergeValues(repository: IValuesRepository, oldUIEntity: string, newUIEntity: string, id: string): void {\r\n\r\n if (!oldUIEntity) {\r\n repository.result = repository.result.set(id, newUIEntity);\r\n return;\r\n }\r\n\r\n repository.result = repository.result.set(id, newUIEntity);\r\n }\r\n\r\n removeOldValues(repository: IValuesRepository) {\r\n\r\n if (!repository.oldUIEntities)\r\n return;\r\n\r\n let keys = repository.oldUIEntities.keySeq().toArray();\r\n keys.forEach(key => {\r\n\r\n // If old is not in the new then delete from result.\r\n if (!repository.newUIEntities.has(key))\r\n repository.result = repository.result.remove(key);\r\n\r\n });\r\n\r\n }\r\n\r\n initUIEntityDataSynchronization(repository: IUIEntityRepository): void {\r\n\r\n if (!repository.oldUIEntities) {\r\n repository.result = repository.newUIEntities;\r\n return;\r\n }\r\n\r\n this.synchronizeUIEntityData(repository);\r\n\r\n }\r\n\r\n synchronizeUIEntityData(repository: IUIEntityRepository): void {\r\n\r\n if (!repository.result)\r\n repository.result = repository.oldUIEntities;\r\n\r\n let newUIEntitiesIds = repository.newUIEntities.keySeq().toArray();\r\n newUIEntitiesIds.forEach(id => {\r\n\r\n let oldEntity = repository.oldUIEntities.get(id);\r\n let newEntity = repository.newUIEntities.get(id);\r\n\r\n if (!this.isEqual(oldEntity, newEntity))\r\n this.merge(repository, oldEntity, newEntity, id);\r\n\r\n });\r\n\r\n if (repository.oldUIEntities) {\r\n this.removeOldUIEntities(repository);\r\n }\r\n\r\n }\r\n\r\n merge(repository: IUIEntityRepository, oldUIEntity: T, newUIEntity: T, id: number): void {\r\n\r\n if (!oldUIEntity) {\r\n repository.result = repository.result.set(id, newUIEntity);\r\n return;\r\n }\r\n\r\n repository.result = repository.result.set(id, newUIEntity);\r\n }\r\n\r\n removeOldUIEntities(repository: IUIEntityRepository) {\r\n\r\n if (!repository.oldUIEntities)\r\n return;\r\n\r\n let keys = repository.oldUIEntities.keySeq().toArray();\r\n keys.forEach(key => {\r\n\r\n // If old is not in the new then delete from result.\r\n if (!repository.newUIEntities.has(key))\r\n repository.result = repository.result.remove(key);\r\n\r\n });\r\n\r\n }\r\n\r\n isEqual(oldEntity: any, newEntity: any): boolean {\r\n return JSON.stringify(oldEntity) === JSON.stringify(newEntity);\r\n }\r\n}","export * from \"./searchDataActions\";\r\nexport * from \"./searchDataReducer\";","export class SearchDataActions {\r\n\r\n static FETCH_SAVED_CONFIGURATION_SEARCHES = \"@FETCH_SAVED_CONFIGURATION_SEARCHES\";\r\n static SAVED_CONFIGURATION_SEARCHES_LOADED = \"@SAVED_CONFIGURATION_SEARCHES_LOADED\";\r\n\r\n static DELETE_CONFIGURATION_SEARCH = \"@DELETE_CONFIGURATION_SEARCH\"; \r\n static SAVE_CONFIGURATION_SEARCH = \"@SAVE_CONFIGURATION_SEARCH\"; \r\n}\r\n\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { combineReducers } from 'redux';\r\nimport * as Immutable from \"immutable\";\r\n\r\nimport { AppAction } from \"../shared/appAction\";\r\nimport { SearchSessionData } from \"../shared/searchSessionData\";\r\nimport { SearchDataState } from \"../shared/searchDataState\";\r\nimport { SearchDataActions } from \"./searchDataActions\";\r\nimport { Actions } from \"../shared/actions\";\r\nimport { SearchDataResponse } from \"../../models/responses\";\r\nimport { ConfigurationSearch, AbstractSearchDataMessage, ApiResponse, KeyValue } from \"../../models\";\r\n\r\n@Injectable()\r\nexport class SearchDataReducer {\r\n\r\n public getReducer() {\r\n\r\n // TODO use model factory\r\n let defaultState = new SearchDataState();\r\n defaultState = defaultState.setDataBySessionId(Immutable.Map());\r\n defaultState = defaultState.setSavedSearches(Immutable.List());\r\n defaultState = defaultState.setMessages(Immutable.Map>());\r\n\r\n return (state = defaultState, action: AppAction): SearchDataState => {\r\n\r\n if (action.type == Actions.CLEAR_CLIENT_CACHE) {\r\n return defaultState;\r\n }\r\n\r\n // TODO need to clear previous search results\r\n if (action.type == Actions.SEARCH_CONFIGURATIONS) {\r\n\r\n }\r\n\r\n if (action.type == Actions.REMOVE_CONFIGURATOR_SESSIONS) { \r\n\r\n // Remove all configuration search results which are part of the requested removal of ConfSessionIds\r\n\r\n let confSessionIds = action.payload as number[];\r\n\r\n let dataBySessionIdTemp = state.dataBySessionId;\r\n\r\n state.dataBySessionId.forEach((value, key) => {\r\n\r\n let filteredItems = value.confSearchResultItems.filter(confSearchResultItem => confSessionIds.indexOf(confSearchResultItem.confSessionId) < 0).toList();\r\n if (filteredItems.size != value.confSearchResultItems.size) {\r\n let newSearchSessionData = value.setConfSearchResultItems(filteredItems);\r\n dataBySessionIdTemp = dataBySessionIdTemp.set(key, newSearchSessionData);\r\n }\r\n });\r\n\r\n if (dataBySessionIdTemp != state.dataBySessionId)\r\n state = state.setDataBySessionId(dataBySessionIdTemp);\r\n\r\n return state;\r\n }\r\n\r\n if (!(action.payload instanceof ApiResponse) || !(action.payload.data instanceof SearchDataResponse))\r\n return state;\r\n\r\n let searchDataResponse = action.payload.data as SearchDataResponse;\r\n\r\n if (action.type == Actions.SEARCH_CONFIGURATIONS_RESULT) {\r\n\r\n if (searchDataResponse.searchResult) {\r\n let searchResult = searchDataResponse.searchResult;\r\n\r\n let searchSessionData = state.dataBySessionId.get(searchResult.searchSessionId);\r\n if (!searchSessionData) {\r\n // TODO use model factory\r\n searchSessionData = new SearchSessionData();\r\n }\r\n\r\n searchSessionData = searchSessionData.setSearchSessionId(searchResult.searchSessionId);\r\n searchSessionData = searchSessionData.setPaginationInfo(searchResult.paginationInfo);\r\n searchSessionData = searchSessionData.setSortingInfo(searchResult.sortingInfo);\r\n searchSessionData = searchSessionData.setConfSearchResultItems(searchResult.confSearchResultItems);\r\n\r\n if (JSON.stringify(searchSessionData.query) != JSON.stringify(searchResult.query))\r\n searchSessionData = searchSessionData.setQuery(searchResult.query);\r\n\r\n searchSessionData = searchSessionData.setQuerySourceType(searchResult.querySourceType);\r\n\r\n let dataBySessionId = state.dataBySessionId.set(searchResult.searchSessionId, searchSessionData);\r\n state = state.setDataBySessionId(dataBySessionId);\r\n }\r\n }\r\n\r\n if (action.type == SearchDataActions.SAVED_CONFIGURATION_SEARCHES_LOADED) {\r\n\r\n if (searchDataResponse.savedSearches) {\r\n state = state.setSavedSearches(searchDataResponse.savedSearches);\r\n }\r\n }\r\n\r\n if (searchDataResponse.messages) {\r\n state = state.setMessages(this.createMessagesMap(searchDataResponse.messages));\r\n }\r\n\r\n return state;\r\n }\r\n }\r\n\r\n createMessagesMap(messages: Immutable.List): Immutable.Map> {\r\n let messagesMap = Immutable.Map>();\r\n\r\n messages.forEach((message) => {\r\n if (!messagesMap.has(message.className))\r\n messagesMap = messagesMap.set(message.className, Immutable.List());\r\n\r\n let messagesList = messagesMap.get(message.className);\r\n messagesMap = messagesMap.set(message.className, messagesList.push(message));\r\n });\r\n\r\n return messagesMap;\r\n }\r\n}","import { StickableUIData } from \"./stickableUIData\";\r\n\r\nexport class AccordionUIData extends StickableUIData {\r\n \r\n public readonly TABS_COUNT = \"tabsCount\";\r\n \r\n get tabsCount(): number { return this.getInternalValue(this.TABS_COUNT); }\r\n setTabsCount(tabsCount: number): this { return this.setInternalValue(this.TABS_COUNT, tabsCount); }\r\n\r\n}","import * as Immutable from \"immutable\";\r\n\r\nimport { ImmutableObject } from \"../../../../shared/immutableObject\";\r\nimport { User, AbstractAccountMessage } from \"../../models\";\r\nimport { BaseEntity } from \"../../baseEntity\";\r\n\r\nexport class AccountDataState extends ImmutableObject\r\n{ \r\n protected readonly USER = \"user\";\r\n protected readonly ENTITIES = \"entities\";\r\n protected readonly ENTITY_IDS_BY_CLASS_NAME = \"entityIdsByClassName\"; \r\n protected readonly MESSAGES = \"messages\";\r\n protected readonly SHOW_RECAPTCHA = \"showRecaptcha\";\r\n\r\n get user(): User { return this.getInternalValue(this.USER); }\r\n setUser(user: User): this { return this.setInternalValue(this.USER, user); }\r\n\r\n get entities(): Immutable.Map { return this.getInternalValue>(this.ENTITIES); }\r\n setEntities(entities: Immutable.Map): this { return this.setInternalValue(this.ENTITIES, entities); }\r\n\r\n get entityIdsByClassName(): Immutable.Map> { return this.getInternalValue>>(this.ENTITY_IDS_BY_CLASS_NAME); }\r\n setEntityIdsByClassName(entityIdsByClassName: Immutable.Map>): this { return this.setInternalValue(this.ENTITY_IDS_BY_CLASS_NAME, entityIdsByClassName); }\r\n\r\n get messages(): Immutable.Map> { return this.getInternalValue>>(this.MESSAGES); }\r\n setMessages(messages: Immutable.Map>): this { return this.setInternalValue(this.MESSAGES, messages); }\r\n\r\n get showRecaptcha(): boolean { return this.getInternalValue(this.SHOW_RECAPTCHA); }\r\n setShowRecaptcha(showRecaptcha: boolean): this { return this.setInternalValue(this.SHOW_RECAPTCHA, showRecaptcha); }\r\n}","import { RequestStatus } from \"./requestStatus\"\r\nimport { AppAction } from \"./appAction\";\r\n\r\nexport class ActionStatus {\r\n \r\n constructor(public completed: boolean = false, public payload: any, public requestStatus = RequestStatus.SUCCESS, public action?: AppAction) {\r\n\r\n }\r\n\r\n}","// Actions which can be called from any where in the application\r\nexport class Actions {\r\n\r\n static CLEAR_CLIENT_CACHE = \"@CLEAR_CLIENT_CACHE\";\r\n static RELOAD_CACHES = \"@RELOAD_CACHES\";\r\n static RELOAD_CACHES_COMPLETED = \"@RELOAD_CACHES_COMPLETED\";\r\n\r\n static CONFIGURATION_LOADED = \"@CONFIGURATION_LOADED\";\r\n static CONFIGURATION_DELETED = \"@CONFIGURATION_DELETED\";\r\n\r\n static DELETE_CONFIGURATION = \"@DELETE_CONFIGURATION\";\r\n static SEARCH_CONFIGURATIONS = \"@SEARCH_CONFIGURATIONS\";\r\n static SEARCH_CONFIGURATIONS_RESULT = \"@SEARCH_CONFIGURATIONS_RESULT\";\r\n\r\n static REMOVE_CONFIGURATOR_SESSIONS = \"@REMOVE_CONFIGURATOR_SESSIONS\";\r\n\r\n static ACTION_STARTED = \"@ACTION_STARTED\";\r\n static UPDATE_ACTION_STATUS = \"@UPDATE_ACTION_STATUS\";\r\n\r\n static COMPARISON_CONFIGURATIONS_RESULT = \"@COMPARISON_CONFIGURATIONS_RESULT\";\r\n\r\n static PUSH_MESSAGE_SELECTION = \"@PUSH_MESSAGE_SELECTION\";\r\n static PUSH_MESSAGE_LOADED = \"@PUSH_MESSAGE_LOADED\";\r\n\r\n static DEFAULT_DATA_ACCESS = \"@DEFAULT_DATA_ACCESS\";\r\n\r\n static FORM_SELECTION = \"@FORM_SELECTION\";\r\n\r\n static PUSH_MESSAGE_REFRESHING = \"@PUSH_MESSAGE_REFRESHING\";\r\n\r\n static PUSH_MESSAGE_REDIRECTING = \"@PUSH_MESSAGE_REDIRECTING\";\r\n}","import { Action } from \"redux\";\r\n\r\nexport class AppAction implements Action {\r\n id?: number;\r\n type: string;\r\n payload?: T;\r\n error?: Error;\r\n meta?: any;\r\n}","import { Dispatch } from \"redux\";\r\n\r\nimport { AppAction } from \"./appAction\";\r\nimport { AppState } from \"./appState\";\r\n\r\nexport class AppAsyncAction extends AppAction {\r\n executeAsync: (dispatch?: Dispatch, getState?: () => AppState, callback?: (ActionStatus) => void) => void;\r\n status?: string;\r\n}","import * as Immutable from \"immutable\";\r\n\r\nimport { ImmutableObject } from \"../../../../shared/immutableObject\";\r\nimport { ProductDataState } from \"./productDataState\";\r\nimport { PageState } from \"./pageState\";\r\nimport { ConfDataState } from \"./confDataState\";\r\nimport { AccountDataState } from \"./accountDataState\"\r\nimport { GlobalDataState } from \"./globalDataState\";\r\nimport { SearchDataState } from \"./searchDataState\";\r\nimport { ActionInfo } from \"../actionInfo\";\r\nimport { ApiMessage } from \"../../models/responses/messages\";\r\nimport { ComparisonDataState } from \"./comparisonDataState\";\r\nimport { PushMessageState } from \"./pushMessageState\";\r\n\r\nexport class AppState extends ImmutableObject {\r\n\r\n public readonly PRODUCT_DATA = \"productData\";\r\n public readonly CONFIGURATION_DATA = \"configurationData\";\r\n public readonly UI_DATA = \"uiData\";\r\n public readonly ACCOUNT_DATA = \"accountData\";\r\n public readonly GLOBAL_DATA = \"globalData\";\r\n public readonly SEARCH_DATA = \"searchData\";\r\n public readonly COMPARISON_DATA = \"comparisonData\";\r\n public readonly INFO_BY_ACTION_ID = \"infoByActionId\";\r\n public readonly MESSAGES = \"messages\";\r\n public readonly PUSH_MESSAGES = \"pushMessages\";\r\n \r\n // Product data state\r\n get productData(): ProductDataState { return this.getInternalValue(this.PRODUCT_DATA); }\r\n setProductData(productData: ProductDataState): this { return this.setInternalValue(this.PRODUCT_DATA, productData); } \r\n\r\n // Configuration data state\r\n get configurationData(): ConfDataState { return this.getInternalValue(this.CONFIGURATION_DATA); }\r\n setConfigurationData(configurationData: ConfDataState): this { return this.setInternalValue(this.CONFIGURATION_DATA, configurationData); } \r\n\r\n // Search data state\r\n get searchData(): SearchDataState { return this.getInternalValue(this.SEARCH_DATA); }\r\n setSearchData(searchData: SearchDataState): this { return this.setInternalValue(this.SEARCH_DATA, searchData); } \r\n\r\n get comparisonData(): ComparisonDataState { return this.getInternalValue(this.COMPARISON_DATA); }\r\n setComparisonData(comparisonData: ComparisonDataState): this { return this.setInternalValue(this.COMPARISON_DATA, comparisonData); } \r\n\r\n // Page states.\r\n get uiData(): PageState { return this.getInternalValue(this.UI_DATA); }\r\n setUiData(uiData: PageState): this { return this.setInternalValue(this.UI_DATA, uiData); } \r\n\r\n // Global data state\r\n get globalData(): GlobalDataState { return this.getInternalValue(this.GLOBAL_DATA); }\r\n setGlobalData(globalData: GlobalDataState): this { return this.setInternalValue(this.GLOBAL_DATA, globalData); }\r\n\r\n // User data state\r\n get accountData(): AccountDataState { return this.getInternalValue(this.ACCOUNT_DATA); }\r\n setAccountData(accountData: AccountDataState): this { return this.setInternalValue(this.ACCOUNT_DATA, accountData); } \r\n\r\n // Resulted data by Action id\r\n get infoByActionId(): Immutable.Map { return this.getInternalValue>(this.INFO_BY_ACTION_ID); }\r\n setInfoByActionId(infoByActionId: Immutable.Map): this { return this.setInternalValue(this.INFO_BY_ACTION_ID, infoByActionId); }\r\n\r\n get messages(): Immutable.Map> { return this.getInternalValue>>(this.MESSAGES); }\r\n setMessages(messages: Immutable.Map>): this { return this.setInternalValue(this.MESSAGES, messages); }\r\n\r\n get pushMessages(): PushMessageState { return this.getInternalValue(this.PUSH_MESSAGES); }\r\n setPushMessages(pushMessages: PushMessageState): this { return this.setInternalValue(this.PUSH_MESSAGES, pushMessages); }\r\n}","import * as Immutable from \"immutable\";\r\nimport { ImmutableObject } from \"../../../../shared/immutableObject\";\r\nimport { ComparisonSessionData } from \"./comparisonSessionData\";\r\n\r\nexport class ComparisonDataState extends ImmutableObject {\r\n\r\n public readonly DATA_BY_SESSION_ID = \"dataBySessionId\";\r\n \r\n get dataBySessionId(): Immutable.Map { return this.getInternalValue>(this.DATA_BY_SESSION_ID); }\r\n setDataBySessionId(dataBySessionId: Immutable.Map): this { return this.setInternalValue(this.DATA_BY_SESSION_ID, dataBySessionId); }\r\n\r\n}","import * as Immutable from \"immutable\";\r\nimport { ImmutableObject } from \"../../../../shared/immutableObject\";\r\nimport { ConfInfo } from \"../../models/entities/confInfo\";\r\nimport { Comparison } from \"../../models/entities/comparison\";\r\nimport { KeyValue } from \"../../models\";\r\n\r\nexport class ComparisonResult extends ImmutableObject {\r\n\r\n public static readonly COMPARISON_SESSION_ID = \"comparisonSessionId\";\r\n public static readonly DETAIL = \"detail\";\r\n public static readonly PATH = \"path\";\r\n public static readonly CONF_IDS = \"confIds\";\r\n public static readonly DIFFERENCY_RESULT = \"differencyResult\";\r\n public static readonly BREADCRUMB_CONF_INFOS = \"breadcrumbConfInfos\";\r\n public static readonly CHILD_CONFS_ORDER = \"childConfsOrder\";\r\n \r\n get breadcrumbConfInfos(): Immutable.List> { return this.getInternalValue>>(ComparisonResult.BREADCRUMB_CONF_INFOS); }\r\n setBreadcrumbConfInfos(breadcrumbConfInfos: Immutable.List>): this { return this.setInternalValue(ComparisonResult.BREADCRUMB_CONF_INFOS, breadcrumbConfInfos); }\r\n\r\n get childConfsOrder(): Immutable.List> { return this.getInternalValue>>(ComparisonResult.CHILD_CONFS_ORDER); }\r\n setChildConfsOrder(childConfsOrder: Immutable.List>): this { return this.setInternalValue(ComparisonResult.CHILD_CONFS_ORDER, childConfsOrder); }\r\n\r\n get path(): string { return this.getInternalValue(ComparisonResult.PATH); }\r\n setPath(path: string): this { return this.setInternalValue(ComparisonResult.PATH, path); }\r\n\r\n get comparisonSessionId(): number { return this.getInternalValue(ComparisonResult.COMPARISON_SESSION_ID); }\r\n setComparisonSessionId(comparisonSessionId: number): this { return this.setInternalValue(ComparisonResult.COMPARISON_SESSION_ID, comparisonSessionId); }\r\n \r\n get detail(): Comparison { return this.getInternalValue(ComparisonResult.DETAIL); }\r\n setDetail(comparison: Comparison): this { return this.setInternalValue(ComparisonResult.DETAIL, comparison); }\r\n\r\n get confIds(): Immutable.List { return this.getInternalValue>(ComparisonResult.CONF_IDS); }\r\n setConfIds(confIds: Immutable.List): this { return this.setInternalValue(ComparisonResult.CONF_IDS, confIds); }\r\n\r\n get differencyResult(): Immutable.List { return this.getInternalValue>(ComparisonResult.DIFFERENCY_RESULT); }\r\n setDifferencyResult(differencyResult: Immutable.List): this { return this.setInternalValue(ComparisonResult.DIFFERENCY_RESULT, differencyResult); }\r\n \r\n}","import * as Immutable from \"immutable\";\r\nimport { ImmutableObject } from \"../../../../shared/immutableObject\";\r\nimport { ComparisonResult } from \"./comparisonSession\";\r\n\r\nexport class ComparisonSessionData extends ImmutableObject {\r\n\r\n public readonly COMPARISON_SESSION_BY_ID = \"comparisonSessionById\";\r\n \r\n get comparisonResultByPath(): Immutable.Map { return this.getInternalValue>(this.COMPARISON_SESSION_BY_ID); }\r\n setComparisonResultByPath(comparisonResultByPath: Immutable.Map): this { return this.setInternalValue(this.COMPARISON_SESSION_BY_ID, comparisonResultByPath); }\r\n\r\n}","import { StickableUIData } from \"./stickableUIData\";\r\n\r\nexport class CompositeUIData extends StickableUIData {\r\n public readonly SIDEBAR_EXTENDED = \"sidebarExtended\";\r\n\r\n get sidebarExtended(): boolean { return this.getInternalValue(this.SIDEBAR_EXTENDED); }\r\n setSidebarExtended(sidebarExtended: boolean): this { return this.setInternalValue(this.SIDEBAR_EXTENDED, sidebarExtended); } \r\n}","import * as Immutable from \"immutable\";\r\n\r\nimport { ConfSessionData } from \"./confSessionData\";\r\nimport { ImmutableObject } from \"../../../../shared/immutableObject\";\r\n\r\nexport class ConfDataState extends ImmutableObject {\r\n \r\n public readonly DATA_BY_SESSION_ID = \"dataBySessionId\";\r\n \r\n get dataBySessionId(): Immutable.Map { return this.getInternalValue>(this.DATA_BY_SESSION_ID); }\r\n setDataBySessionId(dataBySessionId: Immutable.Map): this { return this.setInternalValue(this.DATA_BY_SESSION_ID, dataBySessionId); } \r\n}","import * as Immutable from \"immutable\";\r\n\r\nimport { BaseEntity } from \"../../baseEntity\";\r\nimport { ConfInfo, UIElement } from \"../../models\";\r\nimport { AbstractConfigurationMessage } from \"../../models/responses/messages/abstractConfigurationMessage\";\r\nimport { ImmutableObject } from \"../../../../shared/immutableObject\";\r\n\r\nexport class ConfSessionData extends ImmutableObject {\r\n\r\n public readonly ENTITIES_BY_CONF_ID = \"entitiesByConfId\";\r\n protected readonly IS_CLOSED = \"isClosed\";\r\n protected readonly HAS_UNSAVED_CHANGES = \"hasUnsavedChanges\";\r\n public readonly CONF_SESSION_ID = \"confSessionId\";\r\n public readonly ROOT_CONF_ID = \"rootConfId\";\r\n public readonly MESSAGES = \"messages\";\r\n public readonly COMPOSITE_STRUCTURE = \"compositeStructure\";\r\n protected readonly UI_ELEMENTS = \"uiElements\";\r\n protected readonly VALUE_BY_ELEMENT_ID = \"valueByElementId\";\r\n\r\n get entitiesByConfId(): Immutable.Map> { return this.getInternalValue>>(this.ENTITIES_BY_CONF_ID); }\r\n setEntitiesByConfId(entitiesByConfId: Immutable.Map>): this { return this.setInternalValue(this.ENTITIES_BY_CONF_ID, entitiesByConfId); } \r\n\r\n get isClosed(): boolean { return this.getInternalValue(this.IS_CLOSED); }\r\n setIsClosed(isClosed: boolean): this { return this.setInternalValue(this.IS_CLOSED, isClosed); }\r\n\r\n get hasUnsavedChanges(): boolean { return this.getInternalValue(this.HAS_UNSAVED_CHANGES); }\r\n setHasUnsavedChanges(hasUnsavedChanges: boolean): this { return this.setInternalValue(this.HAS_UNSAVED_CHANGES, hasUnsavedChanges); }\r\n\r\n get confSessionId(): number { return this.getInternalValue(this.CONF_SESSION_ID); }\r\n setConfSessionId(confSessionId: number): this { return this.setInternalValue(this.CONF_SESSION_ID, confSessionId); }\r\n\r\n get rootConfId(): number { return this.getInternalValue(this.ROOT_CONF_ID); }\r\n setRootConfId(rootConfId: number): this { return this.setInternalValue(this.ROOT_CONF_ID, rootConfId); }\r\n \r\n get messages(): Immutable.Map> { return this.getInternalValue>>(this.MESSAGES); }\r\n setMessages(messages: Immutable.Map>): this { return this.setInternalValue(this.MESSAGES, messages); }\r\n\r\n get compositeStructure(): Immutable.Map { return this.getInternalValue>(this.COMPOSITE_STRUCTURE); }\r\n setCompositeStructure(compositeStructure: Immutable.Map): this { return this.setInternalValue(this.COMPOSITE_STRUCTURE, compositeStructure); }\r\n\r\n get uiElements(): Immutable.Map { return this.getInternalValue>(this.UI_ELEMENTS); }\r\n setUiElements(uiElements: Immutable.Map): this { return this.setInternalValue(this.UI_ELEMENTS, uiElements); }\r\n\r\n get valueByElementId(): Immutable.Map { return this.getInternalValue>(this.VALUE_BY_ELEMENT_ID); }\r\n setValueByElementId(valueByElementId: Immutable.Map): this { return this.setInternalValue(this.VALUE_BY_ELEMENT_ID, valueByElementId); }\r\n}","import { ImmutableObject } from \"../../../../shared/immutableObject\";\r\n\r\nexport class ConfUIData extends ImmutableObject {\r\n\r\n public readonly CONF_ID = \"confId\";\r\n public readonly MIN_CALC_TABS_WIDTH = \"minCalcTabsWidth\";\r\n \r\n get confId(): number { return this.getInternalValue(this.CONF_ID); }\r\n setConfId(confId: number): this { return this.setInternalValue(this.CONF_ID, confId); }\r\n\r\n get minCalcTabsWidth(): number { return this.getInternalValue(this.MIN_CALC_TABS_WIDTH); }\r\n setCalcMinTabsWidth(minCalcTabsWidth: number): this { return this.setInternalValue(this.MIN_CALC_TABS_WIDTH, minCalcTabsWidth); }\r\n\r\n}","import * as Immutable from \"immutable\";\r\n\r\nimport { ConfUIData } from \"./confUIData\";\r\nimport { PageConfIdentifier } from \"./pageConfIdentifier\";\r\nimport { CompositeUIData } from \"./compositeUIData\";\r\nimport { AccordionUIData } from \"./accordionUIData\";\r\nimport { PageUIData } from \"./pageUIData\";\r\nimport { RequestViews } from \"../../models\";\r\n\r\n/**\r\n * Represents the page UI data for configurator.\r\n */\r\nexport class ConfiguratorPageUIData extends PageUIData {\r\n\r\n public readonly PAGE_CONF_IDENTIFIER = \"pageConfIdentifier\";\r\n\r\n // Configuration ui data by configuration Id. \r\n public readonly CONF_UI_DATA_BY_ID = \"confUIDataById\";\r\n public readonly COMPOSITE_UI = \"compositeUI\";\r\n public readonly ACCORDION_UI = \"accordionUI\"; \r\n \r\n get compositeUI(): CompositeUIData { return this.getInternalValue(this.COMPOSITE_UI); }\r\n setCompositeUI(compositeUI: CompositeUIData): this { return this.setInternalValue(this.COMPOSITE_UI, compositeUI); }\r\n\r\n get accordionUI(): AccordionUIData { return this.getInternalValue(this.ACCORDION_UI); }\r\n setAccordionUI(accordionUI: AccordionUIData): this { return this.setInternalValue(this.ACCORDION_UI, accordionUI); }\r\n\r\n get confUIDataById(): Immutable.Map { return this.getInternalValue>(this.CONF_UI_DATA_BY_ID); }\r\n setConfUIDataById(confUIDataById: Immutable.Map): this { return this.setInternalValue(this.CONF_UI_DATA_BY_ID, confUIDataById); }\r\n\r\n get pageConfIdentifier(): PageConfIdentifier { return this.getInternalValue(this.PAGE_CONF_IDENTIFIER); }\r\n setPageConfIdentifier(pageConfIdentifier: PageConfIdentifier): this { return this.setInternalValue(this.PAGE_CONF_IDENTIFIER, pageConfIdentifier); }\r\n\r\n}","import * as Immutable from \"immutable\";\r\nimport { ImmutableObject } from \"../../../../shared/immutableObject\";\r\nimport { GlobalSettings, WebSettings, LocalizeData, UISettings } from \"../../models\";\r\nimport { BaseEntity } from \"../../baseEntity\";\r\n\r\nexport class GlobalDataState extends ImmutableObject {\r\n\r\n protected readonly ENTITIES = \"entities\";\r\n protected readonly ENTITY_IDS_BY_CLASS_NAME = \"entityIdsByClassName\";\r\n protected readonly GLOBAL_SETTINGS = \"globalSettings\"; \r\n protected readonly LOCALIZE_DATA = \"localizeData\"; \r\n protected readonly WEB_SETTINGS = \"webSettings\";\r\n protected readonly UI_SETTINGS = \"uiSettings\";\r\n\r\n get entities(): Immutable.Map { return this.getInternalValue>(this.ENTITIES); }\r\n setEntities(entities: Immutable.Map): this { return this.setInternalValue(this.ENTITIES, entities); }\r\n\r\n get entityIdsByClassName(): Immutable.Map> { return this.getInternalValue>>(this.ENTITY_IDS_BY_CLASS_NAME); }\r\n setEntityIdsByClassName(entityIdsByClassName: Immutable.Map>): this { return this.setInternalValue(this.ENTITY_IDS_BY_CLASS_NAME, entityIdsByClassName); }\r\n\r\n get globalSettings(): GlobalSettings { return this.getInternalValue(this.GLOBAL_SETTINGS); }\r\n setGlobalSettings(globalSettings: GlobalSettings): this { return this.setInternalValue(this.GLOBAL_SETTINGS, globalSettings); }\r\n\r\n get localizeData(): LocalizeData { return this.getInternalValue(this.LOCALIZE_DATA); }\r\n setLocalizeData(localizeData: LocalizeData): this { return this.setInternalValue(this.LOCALIZE_DATA, localizeData); }\r\n\r\n get webSettings(): WebSettings { return this.getInternalValue(this.WEB_SETTINGS); }\r\n setWebSettings(webSettings: WebSettings): this { return this.setInternalValue(this.WEB_SETTINGS, webSettings); }\r\n\r\n get uiSettings(): UISettings { return this.getInternalValue(this.UI_SETTINGS); }\r\n setUISettings(uiSettings: UISettings): this { return this.setInternalValue(this.UI_SETTINGS, uiSettings); }\r\n}","import { Dispatch } from \"redux\";\r\n\r\nimport { AppAction } from \"./appAction\"\r\nimport { AppState } from \"./appState\"\r\n\r\nexport class HttpAction extends AppAction {\r\n\r\n executeAsync: (dispatch?: Dispatch, getState?: () => AppState, callback?: (ActionStatus) => void) => void;\r\n\r\n status?: string;\r\n}","export * from \"./requestStatus\";\r\nexport * from \"./actions\";\r\nexport * from \"./appAction\";\r\nexport * from \"./actionStatus\";\r\nexport * from \"./accountDataState\";\r\nexport * from \"./confDataState\";\r\nexport * from \"./confSessionData\";\r\nexport * from \"./tabsUIData\";\r\nexport * from \"./pageUIData\";\r\nexport * from \"./stickableUIData\";\r\nexport * from \"./compositeUIData\";\r\nexport * from \"./accordionUIData\";\r\nexport * from \"./pageConfIdentifier\";\r\nexport * from \"./configuratorPageUIData\";\r\nexport * from \"./selectorPageUIData\";\r\nexport * from \"./pageState\";\r\nexport * from \"./productDataState\";\r\nexport * from \"./appState\";\r\nexport * from \"./appAsyncAction\";\r\nexport * from \"./httpAction\";\r\nexport * from \"./uiAction\";\r\nexport * from \"./separatedUIData\";\r\nexport * from \"./confUIData\";\r\nexport * from './searchSessionData';\r\nexport * from './searchDataState';\r\nexport * from './comparisonSessionData';\r\nexport * from './comparisonDataState';\r\nexport * from './comparisonSession';","import { ImmutableObject } from \"../../../../shared/immutableObject\";\r\n\r\nexport class PageConfIdentifier extends ImmutableObject {\r\n\r\n public readonly SELECTED_CONF_ID = \"selectedConfId\";\r\n public readonly CONF_SESSION_ID = \"confSessionId\"; \r\n\r\n get selectedConfId(): number { return this.getInternalValue(this.SELECTED_CONF_ID); }\r\n setSelectedConfId(selectedConfId: number): this { return this.setInternalValue(this.SELECTED_CONF_ID, selectedConfId); }\r\n\r\n get confSessionId(): number { return this.getInternalValue(this.CONF_SESSION_ID); }\r\n setConfSessionId(confSessionId: number): this { return this.setInternalValue(this.CONF_SESSION_ID, confSessionId); }\r\n\r\n}","import * as Immutable from \"immutable\";\r\n\r\nimport { SelectorPageUIData } from \"./selectorPageUIData\";\r\nimport { ConfiguratorPageUIData } from \"./configuratorPageUIData\";\r\nimport { ActionInfo } from \"../actionInfo\"\r\nimport { ImmutableObject } from \"../../../../shared/immutableObject\";\r\nimport { WebSettings } from \"../../models\"\r\n\r\nexport class PageState extends ImmutableObject {\r\n\r\n public readonly SELECTOR_UI = \"selectorUI\";\r\n public readonly CONFIGURATOR_UI = \"configuratorUI\";\r\n public readonly NEXT_PAGE_IDENTIFIER = \"nextPageIdentifier\";\r\n public readonly ACTIVE_ROUTE_NAME = \"activeRouteName\";\r\n\r\n // Selector UI data by page identifier.\r\n get selectorUI(): Immutable.Map { return this.getInternalValue>(this.SELECTOR_UI); }\r\n setSelectorUI(selectorUI: Immutable.Map): this { return this.setInternalValue(this.SELECTOR_UI, selectorUI); }\r\n\r\n // Configurator UI data by page identifier.\r\n get configuratorUI(): Immutable.Map { return this.getInternalValue>(this.CONFIGURATOR_UI); }\r\n setConfiguratorUI(configuratorUI: Immutable.Map): this { return this.setInternalValue(this.CONFIGURATOR_UI, configuratorUI); }\r\n\r\n get nextPageIdentifier(): number { return this.getInternalValue(this.NEXT_PAGE_IDENTIFIER); }\r\n setNextPageIdentifier(nextPageIdentifier: number): this { return this.setInternalValue(this.NEXT_PAGE_IDENTIFIER, nextPageIdentifier); }\r\n\r\n get activeRouteName(): string { return this.getInternalValue(this.ACTIVE_ROUTE_NAME); }\r\n setActiveRouteName(activeRouteName: string): this { return this.setInternalValue(this.ACTIVE_ROUTE_NAME, activeRouteName); }\r\n}","import { ImmutableObject } from \"../../../../shared/immutableObject\";\r\n\r\nexport abstract class PageUIData extends ImmutableObject {\r\n\r\n \r\n}","import * as Immutable from \"immutable\";\r\n\r\nimport { ImmutableObject } from \"../../../../shared/immutableObject\";\r\nimport { BaseEntity } from \"../../baseEntity\";\r\nimport { RequestStatus } from \"./requestStatus\";\r\n\r\nexport class ProductDataState extends ImmutableObject {\r\n\r\n public readonly ENTITIES = \"entities\";\r\n public readonly ENTITY_IDS_BY_CLASS_NAME = \"entityIdsByClassName\"; \r\n public readonly ROOT_ASSORTMENTS = \"rootAssortments\";\r\n\r\n get entities(): Immutable.Map { return this.getInternalValue>(this.ENTITIES); }\r\n setEntities(entities: Immutable.Map): this { return this.setInternalValue(this.ENTITIES, entities); }\r\n\r\n get entityIdsByClassName(): Immutable.Map> { return this.getInternalValue>>(this.ENTITY_IDS_BY_CLASS_NAME); }\r\n setEntityIdsByClassName(entityIdsByClassName: Immutable.Map>): this { return this.setInternalValue(this.ENTITY_IDS_BY_CLASS_NAME, entityIdsByClassName); }\r\n\r\n get rootAssortments(): Immutable.List { return this.getInternalValue>(this.ROOT_ASSORTMENTS); }\r\n setRootAssortments(rootAssortments: Immutable.List): this { return this.setInternalValue(this.ROOT_ASSORTMENTS, rootAssortments); }\r\n}","import * as Immutable from \"immutable\";\r\n\r\nimport { SearchSessionData } from \"./searchSessionData\";\r\nimport { ImmutableObject } from \"../../../../shared/immutableObject\";\r\nimport { ConfigurationSearch, AbstractSearchDataMessage, ServerPushMessage, UIAction, UIElement } from \"../../models\";\r\nimport { BaseEntity } from \"../../baseEntity\";\r\n\r\nexport class PushData extends ImmutableObject {\r\n\r\n protected readonly VALUES = \"values\";\r\n protected readonly SERVER_PUSH_MESSAGE = \"serverPushMessage\";\r\n protected readonly UI_ACTION_BY_ID = \"uiActionById\";\r\n protected readonly UI_ELEMENT_BY_ID = \"uiElementById\";\r\n\r\n get values(): Immutable.Map { return this.getInternalValue >(this.VALUES); }\r\n setValues(values: Immutable.Map): this { return this.setInternalValue(this.VALUES, values); }\r\n\r\n get serverPushMessage(): ServerPushMessage { return this.getInternalValue(this.SERVER_PUSH_MESSAGE); }\r\n setServerPushMessage(serverPushMessage: ServerPushMessage): this { return this.setInternalValue(this.SERVER_PUSH_MESSAGE, serverPushMessage); }\r\n\r\n get uiActionById(): Immutable.Map { return this.getInternalValue>(this.UI_ACTION_BY_ID); }\r\n setUiActionById(uiActionsById: Immutable.Map): this { return this.setInternalValue(this.UI_ACTION_BY_ID, uiActionsById); }\r\n\r\n get uiElementById(): Immutable.Map { return this.getInternalValue>(this.UI_ELEMENT_BY_ID); }\r\n setUiElementById(uiElementsById: Immutable.Map): this { return this.setInternalValue(this.UI_ELEMENT_BY_ID, uiElementsById); }\r\n\r\n}","import * as Immutable from \"immutable\";\r\n\r\nimport { ImmutableObject } from \"../../../../shared/immutableObject\";\r\nimport { PushData } from \"./pushData\";\r\n\r\nexport class PushMessageState extends ImmutableObject {\r\n\r\n protected readonly DATA_BY_SESSION_ID = \"dataBySessionId\";\r\n protected readonly REFRESHING = \"refreshing\";\r\n protected readonly REDIRECTING = \"redirecting\";\r\n\r\n get dataBySessionId(): Immutable.Map { return this.getInternalValue>(this.DATA_BY_SESSION_ID); }\r\n setDataBySessionId(dataBySessionId: Immutable.Map): this { return this.setInternalValue(this.DATA_BY_SESSION_ID, dataBySessionId); }\r\n\r\n get refreshing(): boolean { return this.getInternalValue(this.REFRESHING); }\r\n setRefreshing(refreshing: boolean): this { return this.setInternalValue(this.REFRESHING, refreshing); }\r\n\r\n get redirecting(): boolean { return this.getInternalValue(this.REDIRECTING); }\r\n setRedirecting(redirecting: boolean): this { return this.setInternalValue(this.REDIRECTING, redirecting); }\r\n}","export enum RequestStatus { \r\n PENDING = \"PENDING\",\r\n SUCCESS = \"SUCCESS\",\r\n ERROR = \"ERROR\",\r\n ABORT = \"ABORT\", \r\n}","import * as Immutable from \"immutable\";\r\n\r\nimport { SearchSessionData } from \"./searchSessionData\";\r\nimport { ImmutableObject } from \"../../../../shared/immutableObject\";\r\nimport { ConfigurationSearch, AbstractSearchDataMessage } from \"../../models\";\r\n\r\nexport class SearchDataState extends ImmutableObject {\r\n\r\n public readonly DATA_BY_SESSION_ID = \"dataBySessionId\";\r\n public readonly SAVED_SEARCHES = \"savedSearches\";\r\n public readonly MESSAGES = \"messages\";\r\n\r\n get dataBySessionId(): Immutable.Map { return this.getInternalValue>(this.DATA_BY_SESSION_ID); }\r\n setDataBySessionId(dataBySessionId: Immutable.Map): this { return this.setInternalValue(this.DATA_BY_SESSION_ID, dataBySessionId); }\r\n\r\n get savedSearches(): Immutable.List { return this.getInternalValue>(this.SAVED_SEARCHES); }\r\n setSavedSearches(savedSearches: Immutable.List): this { return this.setInternalValue(this.SAVED_SEARCHES, savedSearches); }\r\n\r\n get messages(): Immutable.Map> { return this.getInternalValue>>(this.MESSAGES); }\r\n setMessages(messages: Immutable.Map>): this { return this.setInternalValue(this.MESSAGES, messages); }\r\n}","import * as Immutable from \"immutable\";\r\nimport { ImmutableObject } from \"../../../../shared/immutableObject\";\r\nimport { PaginationInfo, SortingInfo, ConfSearchResultItem } from \"../../models/responses\";\r\nimport { ConfigurationSearch } from \"../../models\";\r\nimport { QuerySourceTypes } from \"../../models/responses/searchResult\";\r\n\r\nexport class SearchSessionData extends ImmutableObject {\r\n\r\n public readonly SEARCH_SESSION_ID = \"searchSessionId\";\r\n public readonly CONF_SEARCH_RESULT_ITEMS = \"confSearchResultItems\";\r\n public readonly PAGINATION_INFO = \"paginationInfo\";\r\n public readonly SORTING_INFO = \"sortingInfo\"; \r\n public readonly QUERY = \"query\";\r\n public readonly QUERY_SOURCE_TYPE = \"querySourceType\";\r\n\r\n get searchSessionId(): number { return this.getInternalValue(this.SEARCH_SESSION_ID); }\r\n setSearchSessionId(searchSessionId: number): this { return this.setInternalValue(this.SEARCH_SESSION_ID, searchSessionId); }\r\n\r\n get confSearchResultItems(): Immutable.List { return this.getInternalValue>(this.CONF_SEARCH_RESULT_ITEMS); }\r\n setConfSearchResultItems(confSearchResultItems: Immutable.List): this { return this.setInternalValue(this.CONF_SEARCH_RESULT_ITEMS, confSearchResultItems); }\r\n\r\n get paginationInfo(): PaginationInfo { return this.getInternalValue(this.PAGINATION_INFO); }\r\n setPaginationInfo(paginationInfo: PaginationInfo): this { return this.setInternalValue(this.PAGINATION_INFO, paginationInfo); }\r\n\r\n get sortingInfo(): SortingInfo { return this.getInternalValue(this.SORTING_INFO); }\r\n setSortingInfo(sortingInfo: SortingInfo): this { return this.setInternalValue(this.SORTING_INFO, sortingInfo); }\r\n\r\n get query(): ConfigurationSearch { return this.getInternalValue(this.QUERY); }\r\n setQuery(query: ConfigurationSearch): this { return this.setInternalValue(this.QUERY, query); }\r\n\r\n get querySourceType(): QuerySourceTypes { return this.getInternalValue(this.QUERY_SOURCE_TYPE); }\r\n setQuerySourceType(querySourceType: QuerySourceTypes): this { return this.setInternalValue(this.QUERY_SOURCE_TYPE, querySourceType); }\r\n}","import * as Immutable from \"immutable\";\r\nimport { PageUIData } from \"./pageUIData\";\r\n\r\nexport class SelectorPageUIData extends PageUIData {\r\n selectedAssortments: Immutable.List;\r\n}","import { ImmutableObject } from \"../../../../shared/immutableObject\";\r\nimport { StickableUIData } from \"./stickableUIData\";\r\n\r\nexport class SeparatedTabUIData extends StickableUIData {\r\n\r\n public readonly TAB_ID = \"tabId\";\r\n public readonly CONF_ID = \"confId\";\r\n\r\n get tabId(): number { return this.getInternalValue(this.TAB_ID); }\r\n setTabId(tabId: number): this { return this.setInternalValue(this.TAB_ID, tabId); }\r\n\r\n get confId(): number { return this.getInternalValue(this.CONF_ID); }\r\n setConfId(confId: number): this { return this.setInternalValue(this.CONF_ID, confId); }\r\n\r\n}","import { ImmutableObject } from \"../../../../shared/immutableObject\";\r\n\r\nexport abstract class StickableUIData extends ImmutableObject {\r\n\r\n public readonly USER_STICKY = \"userSticky\";\r\n public readonly CALC_STICKY = \"calcSticky\";\r\n public readonly VISIBLE = \"visible\";\r\n public readonly CALC_WIDTH = \"calcWidth\";\r\n\r\n get calcSticky(): boolean { return this.getInternalValue(this.CALC_STICKY); }\r\n setCalcSticky(calcSticky: boolean): this { return this.setInternalValue(this.CALC_STICKY, calcSticky); }\r\n\r\n get visible(): boolean { return this.getInternalValue(this.VISIBLE); }\r\n setVisible(visible: boolean): this { return this.setInternalValue(this.VISIBLE, visible); }\r\n\r\n // Note! We also supports shrinking the sidebars that's why we have defined the calcWidth based on available room.\r\n get calcWidth(): string { return this.getInternalValue(this.CALC_WIDTH); }\r\n setCalcWidth(calcWidth: string): this { return this.setInternalValue(this.CALC_WIDTH, calcWidth); }\r\n\r\n}\r\n","import { StickableUIData } from \"./stickableUIData\";\r\n\r\nexport class TabsUIData extends StickableUIData {\r\n \r\n \r\n\r\n}","import { Dispatch } from \"redux\";\r\n\r\nimport { AppAction } from \"./appAction\"\r\nimport { AppState } from \"./appState\"\r\n\r\nexport class UIAction extends AppAction {\r\n\r\n executeAsync: (dispatch?: Dispatch, getState?: () => AppState, callback?: (ActionStatus) => void) => void;\r\n\r\n /** TODO is PageID needed? It's probably not needed any more and can be removed. */\r\n pageId?: number = 0;\r\n\r\n //status?: string;\r\n}","import { Subscription, Subject } from \"rxjs\";\r\n\r\nexport class StoreResponse {\r\n\r\n requestId: number;\r\n\r\n data: T;\r\n\r\n}","import { Inject, Component } from \"@angular/core\";\r\nimport { ReplaySubject, Subscription } from \"rxjs\";\r\nimport { ConfiguratorUIStore } from \"../configurator/providers\";\r\nimport { ConfiguratorPageUIData, PageUIData } from \"./state\";\r\nimport { PageUIStore } from \"./providers/page\";\r\nimport { BaseComponent } from \"./baseComponent\";\r\nimport { ManagedSubscription } from \"../../shared/managedSubscription\";\r\n\r\n@Component({ template: '' })\r\nexport abstract class UIComponent extends BaseComponent {\r\n\r\n constructor(\r\n public uiStore: PageUIStore\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n \r\n // Subscribe the ui changes.\r\n // Note! UI changes won't be subscribed until pageId available.\r\n this.subscribePageUIChanges();\r\n\r\n // This call is only made to read the default settings. It might happen sometimes that another component has registered the change before loading this component that's why \r\n // we have made this call explicitly.\r\n this.beforeUILoad(this.uiStore.getPageUIState(this.pageId));\r\n }\r\n\r\n abstract get pageId(): number;\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroy();\r\n }\r\n\r\n /**\r\n * Listens the page data change.\r\n * \r\n * @param uiData\r\n */\r\n onUIDataChange(uiData: PageUIData): void {\r\n\r\n }\r\n\r\n beforeUILoad(uiData: PageUIData): void {\r\n\r\n }\r\n\r\n public subscribePageUIChanges(): void {\r\n\r\n if (this.uiStore)\r\n this.uiStore.listenUIChange(this.pageId, (data: PageUIData) => {\r\n\r\n this.onUIDataChange(data);\r\n\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n }\r\n\r\n}","export enum ValueSyncType { \r\n Replace = 0,\r\n Ignore = 1 \r\n}","import { Inject, Component } from \"@angular/core\";\r\nimport { Subscription } from \"rxjs\";\r\n\r\nimport { BaseComponent } from \"../../shared\";\r\nimport { PopperConfig } from \"../../../shared/components/popover/popoverInfo\";\r\nimport { PopperContentComponent } from \"../../../shared/components/popover/popperContentComponent\";\r\nimport { PopoverService } from \"../../../shared/components/popover/popoverService\";\r\nimport { Conf, RequestViews } from \"../../shared/models\";\r\nimport { ManagedSubscription } from \"../../../shared/managedSubscription\";\r\nimport { ConfiguratorStore } from \"../../configurator/providers\";\r\n\r\n\r\n@Component({\r\n selector: 'configuration-context-menu',\r\n templateUrl: './configurationContextMenuComponent.html'\r\n})\r\nexport class ConfigurationContextMenuComponent extends BaseComponent {\r\n\r\n public configurationId: number;\r\n public confSessionId: number;\r\n public searchSessionId: number;\r\n public showRevision: boolean = false;\r\n public waitingState: boolean = false;\r\n public disableRevision: boolean = false;\r\n\r\n public messageSubscription: ManagedSubscription;\r\n\r\n constructor(@Inject(PopoverService) public popoverService: PopoverService,\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore\r\n) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.messageSubscription = this.popoverService.getMessage().subscribe((info: PopperConfig) => {\r\n if (info.open) {\r\n this.configurationId = info.tag.configurationId;\r\n this.confSessionId = info.tag.confSessionId;\r\n this.searchSessionId = info.tag.searchSessionId;\r\n\r\n\r\n let conf: Conf = this.confStore.getConf(this.configurationId, this.confSessionId);\r\n this.disableRevision = conf.authorization.isReviseOperationDisallowed;\r\n\r\n this.showRevision = conf.revisions && conf.revisions.size > 0;\r\n this.waitingState = true;\r\n this.loadFullConfiguration();\r\n }\r\n else {\r\n this.configurationId = this.confSessionId = this.searchSessionId = null;\r\n this.showRevision = false;\r\n this.waitingState = true;\r\n // this.loadFullConfiguration();\r\n }\r\n });\r\n }\r\n\r\n loadFullConfiguration(): void {\r\n\r\n this.confStore.loadConf(this.configurationId, this.confSessionId, RequestViews.Start).then(response => {\r\n\r\n this.waitingState = false;\r\n\r\n });\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.messageSubscription)\r\n this.messageSubscription.unsubscribe();\r\n\r\n super.ngOnDestroy();\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { Inject, Component, Input, ViewChild, forwardRef, ElementRef, HostListener, ChangeDetectorRef, SimpleChanges } from \"@angular/core\";\r\n\r\nimport { ConfInfo, Conf } from \"../../shared/models\";\r\nimport { BaseComponent } from \"../../shared\";\r\nimport { ConfigurationLinkComponent } from \"../../configurator/shared/configurationLinkComponent\";\r\nimport { PopperConfig } from \"../../../shared/components/popover/popoverInfo\";\r\nimport { PopoverService } from \"../../../shared/components/popover/popoverService\";\r\nimport { ManagedSubscription } from \"../../../shared/managedSubscription\";\r\nimport { Breakpoints, ImageSets } from \"../../../shared/utils\";\r\n\r\n// This needs to be moved from start\r\n\r\n@Component({\r\n selector: 'configuration-link-control',\r\n templateUrl: './configurationLinkControlComponent.html'\r\n})\r\nexport class ConfigurationLinkControlComponent extends BaseComponent {\r\n\r\n public readonly DEFAULT_IMAGE = \"configuration\";\r\n public icon: string = \"\";\r\n public isVault: boolean = false;\r\n public menuSelected: boolean = false;\r\n public messageSubscription: ManagedSubscription;\r\n public confImageSet: string;\r\n \r\n @ViewChild('menuButton')\r\n public menuButton: ElementRef;\r\n\r\n _conf: ConfInfo;\r\n @Input() set conf(value: ConfInfo) {\r\n this._conf = value;\r\n this.icon = this.hasImage ? this._conf.iconRelativeUrl : this.DEFAULT_IMAGE;\r\n this.isVault = this.hasImage; \r\n };\r\n\r\n @Input()\r\n confSessionId: number;\r\n\r\n @Input()\r\n searchSessionId: number;\r\n\r\n @Input()\r\n menuSupport: boolean = true;\r\n\r\n @Input()\r\n public compactMode: boolean = false;\r\n\r\n constructor(@Inject(PopoverService) public popoverService: PopoverService, @Inject(ChangeDetectorRef) public cd: ChangeDetectorRef) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.confImageSet = this.getImageSet(ImageSets.StartConfiguration);\r\n\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['compactMode']) {\r\n this.cd.detectChanges();\r\n }\r\n }\r\n\r\n public subscribe() {\r\n this.unsubscribe();\r\n\r\n this.messageSubscription = this.popoverService.getMessage().subscribe((info: PopperConfig) => {\r\n // Deselect the configuration\r\n if (!info.open || info.tag.configurationId != this._conf.longId) {\r\n this.menuSelected = false;\r\n this.unsubscribe();\r\n }\r\n });\r\n }\r\n\r\n get hasImage(): boolean {\r\n return this._conf.iconRelativeUrl != \"\";\r\n }\r\n\r\n onMenuClick(event: any): void {\r\n this.menuSelected = !this.menuSelected;\r\n\r\n // Prepare context menu Info.\r\n let info = {\r\n title: this.strings.PerformActionOn,\r\n subTitle: this._conf.text,\r\n open: this.menuSelected,\r\n refElement: this.menuButton.nativeElement,\r\n tag: {\r\n configurationId: this._conf.longId,\r\n confSessionId: this.confSessionId,\r\n searchSessionId: this.searchSessionId,\r\n }\r\n };\r\n\r\n this.popoverService.show(info);\r\n event.stopPropagation();\r\n\r\n this.subscribe();\r\n }\r\n\r\n public unsubscribe() {\r\n if (this.messageSubscription)\r\n this.messageSubscription.unsubscribe();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.unsubscribe();\r\n\r\n super.ngOnDestroy();\r\n }\r\n}\r\n","\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n {{compactMode ? _conf.compact : _conf.text}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
","import { Component, Inject } from \"@angular/core\";\r\nimport { BaseComponent } from \"../../shared\";\r\nimport { GlobalDataStore } from \"../../shared/providers/globalData\";\r\nimport * as Immutable from \"immutable\";\r\nimport { HttpService } from \"../../../shared/providers\";\r\nimport { NotificationService } from \"../../../shared/components\";\r\n\r\n@Component({\r\n selector: 'get-started',\r\n templateUrl: './getStartedComponent.html'\r\n})\r\nexport class GetStartedComponent extends BaseComponent {\r\n public showGetStartedComponent: boolean = false;\r\n public helpFileUrl: string;\r\n public helpDocuments: Immutable.List;\r\n\r\n constructor(\r\n @Inject(GlobalDataStore) public globalDataStore: GlobalDataStore,\r\n @Inject(HttpService) public httpService: HttpService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.helpDocuments = this.globalSettings.helpDocumentFilenames;\r\n\r\n if (this.helpDocuments != null && this.helpDocuments.size > 0) {\r\n this.showGetStartedComponent = true;\r\n this.helpFileUrl = this.helpDocuments.get(0);\r\n }\r\n else {\r\n this.showGetStartedComponent = false;\r\n } \r\n\r\n }\r\n\r\n private get globalSettings(): any {\r\n return this.globalDataStore.getGlobalData().globalSettings;\r\n }\r\n\r\n public openHelpDocument(event): void {\r\n if (!this.helpFileUrl)\r\n return;\r\n\r\n this.fileExits(this.helpFileUrl).then(resolved => {\r\n if (resolved) \r\n window.open(this.helpFileUrl, '_blank');\r\n });\r\n }\r\n\r\n // Search for file in folder\r\n private fileExits(url: string): Promise {\r\n return new Promise(resolve => {\r\n let subscription = this.httpService.head(url, { observe: 'response' }).subscribe((response) => {\r\n resolve(response.status == 200);\r\n subscription.unsubscribe();\r\n }, (error) => {\r\n subscription.unsubscribe();\r\n return resolve(false);\r\n });\r\n });\r\n }\r\n\r\n}","\r\n\r\n
\r\n

{{strings.GetStarted}}

\r\n {{strings.ReadHelpGuide}}\r\n
\r\n\r\n","export * from './getStartedComponent';\r\nexport * from './newsComponent';\r\nexport * from './inlineSearchResultComponent';\r\nexport * from './searchNavigatorComponent';\r\nexport * from './quickSearchComponent';\r\nexport * from './recentsComponent';\r\nexport * from './configurationLinkControlComponent';\r\nexport * from './configurationContextMenuComponent';","import { Component, Input, Inject, SimpleChanges, ChangeDetectorRef } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\n\r\nimport { BaseComponent } from \"../../shared\";\r\nimport { QuickSearchItemUIModel } from \"./quickSearchUIModel\";\r\nimport { RouteRedirector } from \"../../shared/providers\";\r\nimport { SearchDataStore } from \"../../shared/providers/searchData\";\r\nimport { SearchSessionData } from \"../../shared/state\";\r\nimport { ConfSearchResultItem, ConfInfo } from \"../../shared/models\";\r\nimport { ConfiguratorStore } from \"../../configurator/providers\";\r\nimport { ManagedSubscription } from \"../../../shared/managedSubscription\";\r\n\r\n@Component({\r\n selector: 'inline-search-results',\r\n templateUrl: './inlineSearchResultComponent.html'\r\n})\r\nexport class InlineSearchResultComponent extends BaseComponent {\r\n\r\n public searchResultChangeSubscription: ManagedSubscription = null;\r\n\r\n @Input() public quickSearch: QuickSearchItemUIModel;\r\n\r\n constructor(\r\n @Inject(RouteRedirector) public routeRedirector: RouteRedirector,\r\n public searchDataStore: SearchDataStore,\r\n public configuratorStore: ConfiguratorStore\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['quickSearch']) {\r\n this.listenForChanges();\r\n }\r\n }\r\n\r\n listenForChanges() {\r\n\r\n if (!this.quickSearch.resultSessionData)\r\n return;\r\n\r\n if (this.searchResultChangeSubscription)\r\n this.searchResultChangeSubscription.unsubscribe();\r\n\r\n // Listen for remove and update of configuration search results\r\n // TODO hide inline results if search count reaches to 0\r\n this.searchResultChangeSubscription = this.searchDataStore.listenSearchSessionDataChange(this.quickSearch.resultSessionData.searchSessionId, {\r\n next: (searchSessionData: SearchSessionData) => {\r\n\r\n this.quickSearch.resultConfInfos = this.retreiveConfInfos(searchSessionData.confSearchResultItems);\r\n },\r\n listenNewEventsOnly: true\r\n });\r\n\r\n this.searchResultChangeSubscription.unsubscribeOn(this.unsubscribeSubject);\r\n }\r\n\r\n retreiveConfInfos(items: Immutable.List): Immutable.OrderedMap {\r\n let confBySessionId: Immutable.OrderedMap = Immutable.OrderedMap();\r\n items.forEach(\r\n item => {\r\n confBySessionId = confBySessionId.set(item.confSessionId, this.configuratorStore.getConfInfo(item.configurationId, item.confSessionId))\r\n });\r\n\r\n return confBySessionId;\r\n }\r\n\r\n public trackConf(index: number, kvp: {}): any {\r\n // kvp is an object with the confInfo longId in index 0 and its ConfInfo in index 1\r\n return kvp[0];\r\n }\r\n\r\n public showMore() {\r\n this.routeRedirector.redirectToSearchResult({ confSearchId: this.quickSearch.search.longId });\r\n }\r\n}","\r\n\r\n \r\n
\r\n {{strings.NoResultsWereFound}}\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n\r\n
\r\n","import { Component } from \"@angular/core\";\r\nimport { BaseComponent } from \"../../shared\";\r\n\r\n@Component({\r\n selector: 'news',\r\n templateUrl: './newsComponent.html'\r\n})\r\nexport class NewsComponent extends BaseComponent {\r\n}","
\r\n
\r\n

News

\r\n
\r\n

System maintence

\r\n The system is down for maintenance between 12.00 and 13.00 CEST. Don’t forget to save your current work!\r\n

\r\n NEW\r\n 2017-10-02\r\n

\r\n
\r\n
\r\n

Visit us at the Trade Fairly event the 11th of November

\r\n Come and visit us at the Trade Fairly event in New York bla la bla\r\n

\r\n NEW\r\n 2017-10-02\r\n

\r\n
\r\n
\r\n

The Product A can now be ordered in green color

\r\n Click on the link below to see an example.\r\n Product a in green color\r\n

\r\n 2017-10-02\r\n

\r\n
\r\n
\r\n

Welcome Company X

\r\n Company X is a distributor for Australia and New Zeeland. We give them a warm welcome and wish them good luck!\r\n

\r\n 2017-10-02\r\n

\r\n
\r\n

More news...

\r\n
\r\n
","import { Component, Input, Inject, SimpleChanges, ChangeDetectorRef, ViewChild } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\n\r\nimport { BaseComponent } from \"../../shared\";\r\nimport { ConfigurationSearch, ConfInfo, RequestViews, ConfSearchResultItem, DeleteSearchMessage } from \"../../shared/models\";\r\nimport { QuickSearchItemUIModel } from \"./quickSearchUIModel\";\r\nimport { SearchDataStore, SearchDataMessageProvider } from \"../../shared/providers/searchData\";\r\nimport { ConfiguratorStore } from \"../../configurator/providers\";\r\nimport { RouteRedirector } from \"../../shared/providers\";\r\nimport { NotificationInfo, NotificationType, NotificationService, MessageBoxComponent, MessageBoxConfig } from \"../../../shared/components\";\r\n\r\n@Component({\r\n selector: 'quick-search',\r\n templateUrl: './quickSearchComponent.html'\r\n})\r\nexport class QuickSearchComponent extends BaseComponent {\r\n\r\n @Input() configurationSearches: Immutable.List;\r\n public timer: any;\r\n\r\n // UI Model by \r\n quickSearches: Immutable.List = Immutable.List();\r\n\r\n @ViewChild(MessageBoxComponent)\r\n public confirmDeleteMessageBox: MessageBoxComponent;\r\n\r\n constructor(\r\n @Inject(SearchDataStore) public searchDataStore: SearchDataStore,\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(RouteRedirector) public routeRedirector: RouteRedirector,\r\n public searchDataMesssageProvider: SearchDataMessageProvider,\r\n public notificationService: NotificationService,\r\n public cdr: ChangeDetectorRef\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.searchDataMesssageProvider.onMessages(DeleteSearchMessage.name, {\r\n next: (messages) => {\r\n let message = messages.first();\r\n\r\n this.notificationService.notify({\r\n title: message.success ? this.strings.Success : this.strings.Error,\r\n message: message.success ? this.strings.SuccessfullyDeletedSearch : this.strings.ErrorDeleting + message.messages.join(\", \"),\r\n type: message.success ? NotificationType.Success : NotificationType.Error,\r\n selfClose: true\r\n });\r\n\r\n this.unblockUI();\r\n },\r\n listenNewEventsOnly: true\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['configurationSearches']) {\r\n this.makeQuickSearchModels();\r\n\r\n this.timer = setTimeout(() => {\r\n if (!this.timer)\r\n return;\r\n\r\n this.makeLazyLoadingInlineContents();\r\n }, 100);\r\n }\r\n }\r\n\r\n makeQuickSearchModels(): void {\r\n\r\n this.quickSearches = Immutable.List();\r\n\r\n this.configurationSearches.forEach(confSearch => {\r\n let quickSearch: QuickSearchItemUIModel = new QuickSearchItemUIModel();\r\n quickSearch.search = confSearch;\r\n quickSearch.showInline = confSearch.inlineResults; // Helps in template to access the property easily \r\n this.quickSearches = this.quickSearches.push(quickSearch);\r\n });\r\n }\r\n\r\n /**\r\n * Loads the data sequentially.\r\n */\r\n makeLazyLoadingInlineContents(): void {\r\n for (let index = 0; index < this.quickSearches.size; index++) {\r\n\r\n let quickSearch: QuickSearchItemUIModel = this.quickSearches.get(index);\r\n if (quickSearch.resultRequestCompleted || !quickSearch.showInline)\r\n continue;\r\n\r\n this.searchDataStore.queryConfs(quickSearch.search, RequestViews.Start, quickSearch.search.maxInlineResults).subscribe(storeResponse => {\r\n if (!this.timer)\r\n return;\r\n\r\n // Create new model otherwise change will not be detected in InlineSearchResultComponent\r\n let newQuickSearch: QuickSearchItemUIModel = new QuickSearchItemUIModel();\r\n newQuickSearch.search = quickSearch.search;\r\n newQuickSearch.showInline = quickSearch.showInline;\r\n\r\n newQuickSearch.resultSessionData = storeResponse.data;\r\n newQuickSearch.resultRequestCompleted = true;\r\n newQuickSearch.resultConfInfos = this.retreiveConfInfos(storeResponse.data.confSearchResultItems);\r\n this.quickSearches = this.quickSearches.set(index, newQuickSearch);\r\n\r\n this.cdr.detectChanges();\r\n this.makeLazyLoadingInlineContents(); // Next request\r\n\r\n });\r\n break;\r\n }\r\n }\r\n\r\n retreiveConfInfos(items: Immutable.List): Immutable.OrderedMap {\r\n let confBySessionId: Immutable.OrderedMap = Immutable.OrderedMap();\r\n items.forEach(\r\n item => {\r\n confBySessionId = confBySessionId.set(item.confSessionId, this.confStore.getConfInfo(item.configurationId, item.confSessionId))\r\n });\r\n\r\n return confBySessionId;\r\n }\r\n\r\n showSearchResults(search: ConfigurationSearch): void {\r\n this.routeRedirector.redirectToSearchResult({ confSearchId: search.longId });\r\n }\r\n\r\n showConfirmMessage(quickSearch: QuickSearchItemUIModel): void {\r\n\r\n let info: MessageBoxConfig = >{\r\n headerText: this.strings.AreYouSureYouWantToDelete,\r\n caption: this.strings.Search,\r\n description: quickSearch.search.title,\r\n icon: \"error\",\r\n tag: quickSearch\r\n }\r\n\r\n this.confirmDeleteMessageBox.show(info);\r\n //this.confirmDeleteMessageBox.show(this.strings.AreYouSureYouWantToDelete, this.strings.Search, quickSearch.search);\r\n }\r\n\r\n deleteSearch(model: QuickSearchItemUIModel) {\r\n\r\n this.searchDataStore.deleteConfigurationSearch(RequestViews.Start, model.search.longId);\r\n\r\n this.blockUI();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.timer = null;\r\n super.ngOnDestroy();\r\n }\r\n\r\n}","
\r\n

{{strings.QuickSearch}}

\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n

{{quickSearch.search.title}}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n","import * as Immutable from \"immutable\";\r\nimport { ImmutableObject } from \"../../../shared/immutableObject\";\r\nimport { ConfigurationSearch, ConfInfo } from \"../../shared/models\";\r\nimport { SearchSessionData } from \"../../shared/state\";\r\n\r\nexport class QuickSearchItemUIModel {\r\n \r\n search: ConfigurationSearch;\r\n\r\n showInline: boolean = false;\r\n\r\n resultSessionData: SearchSessionData;\r\n\r\n resultRequestCompleted: boolean = false;\r\n\r\n resultConfInfos: Immutable.OrderedMap;\r\n \r\n}","import * as Immutable from \"immutable\";\r\n\r\nimport { Component, Inject, Input } from \"@angular/core\";\r\nimport { ConfSearchResultItem, ConfInfo, IntervalType } from \"../../shared/models\";\r\nimport { BaseComponent } from \"../../shared\";\r\nimport { RouteRedirector } from \"../../shared/providers\";\r\n\r\n@Component({\r\n selector: 'recents',\r\n templateUrl: './recentsComponent.html'\r\n})\r\nexport class RecentsComponent extends BaseComponent {\r\n\r\n @Input()\r\n title: string;\r\n\r\n @Input()\r\n searchSessionId: number;\r\n\r\n @Input()\r\n configurationsByInterval: Immutable.OrderedMap>;\r\n\r\n public translatedIntervals: Map;\r\n\r\n constructor(\r\n @Inject(RouteRedirector) public routeRedirector: RouteRedirector\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this.translatedIntervals = new Map();\r\n\r\n for (let interval in IntervalType) {\r\n if (!isNaN(+interval))\r\n this.translatedIntervals.set(+interval, this.getTranslation(IntervalType[interval].toString()));\r\n }\r\n }\r\n\r\n public trackInterval(index: number, kvp: {}): any {\r\n // kvp is an object with the interval in index 0 and its OrderedMap in index 1\r\n return kvp[0];\r\n }\r\n\r\n public trackConf(index: number, kvp: {}): any {\r\n // kvp is an object with the confInfo longId in index 0 and its ConfInfo in index 1\r\n return kvp[0];\r\n }\r\n\r\n public showMore() {\r\n this.routeRedirector.redirectToSearchResult({ searchSessionId: this.searchSessionId });\r\n }\r\n\r\n public getTranslation(key) {\r\n let translation = this.strings.getString(key);\r\n if (translation === this.strings.Unspecified)\r\n return this.strings.Unsaved;\r\n\r\n return translation;\r\n }\r\n}","
\r\n
\r\n

{{translatedIntervals.get(key[0])}}

\r\n \r\n
\r\n\r\n \r\n
","import { Component, Input, Inject, SimpleChanges, ChangeDetectorRef } from \"@angular/core\";\r\nimport { BaseComponent } from \"../../shared\";\r\nimport { QuickSearchItemUIModel } from \"./quickSearchUIModel\";\r\nimport { RouteRedirector } from \"../../shared/providers\";\r\nimport { ImageSets } from \"../../../shared/utils\";\r\n\r\n@Component({\r\n selector: 'search-navigator',\r\n templateUrl: './searchNavigatorComponent.html'\r\n})\r\nexport class SearchNavigatorComponent extends BaseComponent {\r\n\r\n @Input() public quickSearch: QuickSearchItemUIModel;\r\n\r\n public imageSet: string;\r\n\r\n constructor(\r\n @Inject(RouteRedirector) public routeRedirector: RouteRedirector,\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.imageSet = this.getImageSet(ImageSets.StartConfiguration);\r\n }\r\n\r\n public showMore() {\r\n this.routeRedirector.redirectToSearchResult({ confSearchId: this.quickSearch.search.longId });\r\n }\r\n}","
\r\n
\r\n \r\n
\r\n {{strings.Search }}...\r\n
","import { BaseComponent } from \"../../shared\";\r\nimport { Component, Input, ChangeDetectorRef, ChangeDetectionStrategy, Inject } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\nimport { ConfInfo } from \"../../shared/models\";\r\nimport { GlobalDataStore } from \"../../shared/providers/globalData\";\r\nimport { SystemInformation } from \"../../shared/models/entities/systemInformation\";\r\n\r\n@Component({\r\n selector: 'start-welcome',\r\n templateUrl: './startWelcomeComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class StartWelcomeComponent extends BaseComponent {\r\n\r\n @Input()\r\n configurationsByInterval: Immutable.OrderedMap>;\r\n\r\n public welcomeMessage: string;\r\n public welcomeTitle: string;\r\n\r\n constructor(@Inject(GlobalDataStore) public globalDataStore: GlobalDataStore,\r\n @Inject(ChangeDetectorRef) protected cdr: ChangeDetectorRef) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.welcomeTitle = this.strings.DefaultWelcomeTitle;\r\n this.welcomeMessage = this.strings.DefaultWelcomeMessage; \r\n\r\n this.globalDataStore.getEntities(SystemInformation.name).subscribe((storeResponse) => {\r\n storeResponse.data.toArray().forEach((systemInfo) => {\r\n if (systemInfo.isWelcomeMessage) {\r\n this.welcomeTitle = systemInfo.title; \r\n this.welcomeMessage = systemInfo.message;\r\n this.cdr.markForCheck(); \r\n } \r\n });\r\n\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n } \r\n}","
\r\n
\r\n

{{welcomeTitle}}

\r\n
\r\n\r\n
\r\n
\r\n
\r\n
","import { Inject, Component, Input, ViewChild } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\nimport { BaseComponent } from \"../../shared\";\r\nimport { ConfiguratorStore } from \"../../configurator/providers\";\r\nimport { SystemInformation } from \"../../shared/models\";\r\nimport { PopupService, MessageBoxConfig, MessageBoxComponent } from \"../../../shared/components\";\r\nimport { ImageSets } from \"../../../shared/utils\";\r\n\r\n@Component({\r\n selector: 'system-information',\r\n templateUrl: './systemInformationComponent.html'\r\n})\r\nexport class SystemInformationComponent extends BaseComponent {\r\n\r\n @Input()\r\n systemInformations: Immutable.List\r\n \r\n @ViewChild(MessageBoxComponent)\r\n protected systemInformationPopup: MessageBoxComponent;\r\n\r\n public imageSet: string;\r\n\r\n constructor(public popupService: PopupService) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.imageSet = this.getImageSet(ImageSets.StartConfiguration);\r\n super.ngOnInit();\r\n\r\n }\r\n\r\n showSystemInfoDetail(info: SystemInformation) {\r\n\r\n let messageConfig: MessageBoxConfig = >{\r\n headerText: info.title,\r\n caption: '' + this.strings.PublishedDate + ':' + info.publishedDate,\r\n description: info.message,\r\n icon: \"bell\",\r\n tag: info\r\n }\r\n\r\n this.systemInformationPopup.show(messageConfig);\r\n }\r\n\r\n}\r\n","
\r\n\r\n

{{strings.SystemInformation}}

\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n

{{info.title}}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{strings.PublishedDate}}:{{info.publishedDate}}\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, ViewEncapsulation, Inject, ViewChild, Host, ChangeDetectorRef } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\nimport { Routing } from \"../../shared/route/routeDecorator\";\r\nimport { BreakPointAccessor, Breakpoints } from \"../../shared/utils\";\r\nimport { BackdropComponent, PopoverService, InputViewModel, GenericDropdownGroup } from \"../../shared/components\";\r\nimport { AccountDataStore } from \"../shared/providers/accountData\";\r\nimport { ConfSearchResultItem, ConfInfo, Conf, RequestViews, ConfigurationSearch, ConfDeleteMessage, IntervalType, SystemInformation } from \"../shared/models\";\r\nimport { AppStoreSubscriptionManager, RouteNames, RouteRedirector } from \"../shared/providers\";\r\nimport { BaseComponent, PageComponent } from \"../shared\";\r\nimport { ConfiguratorStore, ConfMessageProvider } from \"../configurator/providers\";\r\nimport { SearchDataStore } from \"../shared/providers/searchData\";\r\nimport { SearchSessionData } from \"../shared/state\";\r\nimport { PageStore } from \"../shared/providers/page\";\r\nimport { GlobalDataStore } from \"../shared/providers/globalData\";\r\nimport { VisualObjectHelper } from \"../configurator/parameters/shared\";\r\nimport { VisualObjectUIDataService } from \"../configurator/shared/visualObjectUIDataService\";\r\n\r\n@Routing({ path: 'start' })\r\n@Routing({ path: '**' })\r\n@Component({\r\n encapsulation: ViewEncapsulation.None,\r\n templateUrl: './startComponent.html',\r\n providers: [AppStoreSubscriptionManager, VisualObjectHelper, VisualObjectUIDataService]\r\n})\r\nexport class StartComponent extends PageComponent {\r\n\r\n @ViewChild(BackdropComponent)\r\n public backdrop: BackdropComponent;\r\n\r\n public newsOpened = false;\r\n public canSearch = false;\r\n public recentTitle: string;\r\n public includeWorkgroup: boolean = false;\r\n public showWorkGroupRecentSeparately: boolean = false;\r\n\r\n public hasUserConfs: boolean = true;\r\n public hasWorkGroupConfs: boolean = true;\r\n public hasUnsavedConfs: boolean = true;\r\n\r\n public includeModules: Array = [];\r\n\r\n /** Search session id for user confs. */\r\n public userSearchSessionId: number;\r\n public userConfsByInterval: Immutable.OrderedMap>;\r\n\r\n public unsavedSearchSessionId: number;\r\n public unsavedConfsByInterval: Immutable.OrderedMap>;\r\n\r\n\r\n /** Search session id for workgroup confs. */\r\n public workGroupSearchSessionId: number;\r\n public workGroupConfsByInterval: Immutable.OrderedMap>;\r\n\r\n public configurationSearches: Immutable.List = Immutable.List();\r\n\r\n public recentView: InputViewModel;\r\n public recentsView: Array = [];\r\n\r\n public userRecentsLoaded = false;\r\n public workgroupRecentsLoaded = false;\r\n public unsavedLoaded = false;\r\n public showRecentConfsDropdown: boolean = false;\r\n \r\n public systemInformations: Immutable.List = Immutable.List();\r\n\r\n public allLoaded = false;\r\n\r\n @ViewChild(GenericDropdownGroup)\r\n public dropdown: GenericDropdownGroup;\r\n\r\n\r\n constructor(\r\n @Inject(BreakPointAccessor) public breakPointAccessor: BreakPointAccessor,\r\n @Inject(SearchDataStore) public searchDataStore: SearchDataStore,\r\n @Inject(AccountDataStore) public accountStore: AccountDataStore,\r\n @Inject(ConfiguratorStore) public confStore: ConfiguratorStore,\r\n @Inject(PopoverService) public popoverService: PopoverService,\r\n @Inject(PageStore) public pageStore: PageStore,\r\n @Inject(ConfMessageProvider) public confMessageProvider: ConfMessageProvider,\r\n @Inject(AppStoreSubscriptionManager) public appStoreSubscriptionManager: AppStoreSubscriptionManager,\r\n @Inject(RouteRedirector) public routeRedirector: RouteRedirector,\r\n @Inject(ChangeDetectorRef) public cdr: ChangeDetectorRef,\r\n @Inject(GlobalDataStore) public globalDataStore: GlobalDataStore\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n\r\n super.ngOnInit();\r\n\r\n this.pageStore.updateActiveRoute(RouteNames.Start);\r\n this.canSearch = this.accountStore.getUser().systemAuthorization.canSearchConfigurations;\r\n \r\n this.loadAllModules(); \r\n\r\n this.recentView = new InputViewModel();\r\n this.recentsView = [];\r\n\r\n // Only show dropdown if my recents and workgroup recents both are visible in first column.\r\n if (this.globalDataStore.globalSettings.showWorkgroupRecent && this.globalDataStore.globalSettings.showMyRecent) {\r\n this.recentsView.push({ id: StartConfigurationSearch.MyRecent, title: this.strings.MyRecent, value: this.strings.MyRecent });\r\n this.recentsView.push({ id: StartConfigurationSearch.MyWorkgroup, title: this.strings.WorkgroupRecent, value: this.strings.WorkgroupRecent });\r\n }\r\n \r\n }\r\n\r\n public loadAllModules(): void {\r\n\r\n // Stores all promises.\r\n let promises: Promise[] = [];\r\n\r\n promises.push(this.loadSystemInformation());\r\n promises.push(this.loadRecentConfigurations());\r\n promises.push(this.loadWorkgroupRecents());\r\n promises.push(this.loadUnsavedConfigurations());\r\n promises.push(this.loadSavedSearches());\r\n\r\n Promise.all(promises).then(responses => {\r\n\r\n this.allLoaded = true; \r\n this.adjustLayoutSettings();\r\n this.listenChanges();\r\n\r\n if (!this.cdr['destroyed'])\r\n this.cdr.detectChanges();\r\n\r\n });\r\n }\r\n\r\n adjustLayoutSettings() {\r\n\r\n this.showRecentConfsDropdown = this.hasWorkGroupConfs && this.hasUserConfs && this.configurationSearches.size > 0;\r\n this.showWorkGroupRecentSeparately = this.configurationSearches.size == 0 && (this.hasUserConfs || this.hasUnsavedConfs);\r\n\r\n // Display workgroups only if It is shown on separate column or there are no users confs and unsaved confs.\r\n if (this.showWorkGroupRecentSeparately) {\r\n this.includeWorkgroup = false;\r\n this.recentTitle = this.strings.MyRecent;\r\n }\r\n else if (!this.hasUserConfs && !this.hasUnsavedConfs) {\r\n\r\n this.recentTitle = this.strings.WorkgroupRecent;\r\n this.includeWorkgroup = true;\r\n }\r\n\r\n }\r\n\r\n public listenChanges(): void {\r\n\r\n // Subscribe for unsaved configurations\r\n if (this.unsavedSearchSessionId) {\r\n this.searchDataStore.listenSearchSessionDataChange(this.unsavedSearchSessionId, {\r\n next: (searchSessionData: SearchSessionData) => {\r\n\r\n this.popoverService.close();\r\n this.setUnSavedConfs(searchSessionData);\r\n this.adjustLayoutSettings();\r\n },\r\n listenNewEventsOnly: true\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n }\r\n\r\n // Subscribe for saved searches\r\n this.searchDataStore.listenSavedSearchesChange(savedSearches => {\r\n\r\n this.configurationSearches = savedSearches;\r\n \r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n // Send command for saved searches\r\n //this.searchDataStore.getSavedConfigurationSearches(RequestViews.Start);\r\n\r\n // My recents\r\n if (this.globalDataStore.globalSettings.showMyRecent && this.userSearchSessionId) {\r\n\r\n // Listen for remove and update results and close the popper context menu.\r\n this.searchDataStore.listenSearchSessionDataChange(this.userSearchSessionId, {\r\n next: (searchSessionData: SearchSessionData) => {\r\n\r\n this.popoverService.close();\r\n\r\n this.setRecentUserConfs(searchSessionData);\r\n\r\n },\r\n listenNewEventsOnly: true\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n }\r\n\r\n // Workgroup change\r\n if (this.globalDataStore.globalSettings.showWorkgroupRecent && this.workGroupSearchSessionId) {\r\n \r\n this.searchDataStore.listenSearchSessionDataChange(this.workGroupSearchSessionId, {\r\n next: (searchSessionData: SearchSessionData) => {\r\n\r\n this.popoverService.close();\r\n this.setWorkgroups(searchSessionData);\r\n\r\n },\r\n listenNewEventsOnly: true\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n }\r\n\r\n }\r\n\r\n public loadSystemInformation(): Promise {\r\n\r\n return new Promise(resolve => {\r\n\r\n this.globalDataStore.getEntities(SystemInformation.name).subscribe((storeResponse) => {\r\n\r\n storeResponse.data.toArray().forEach((systemInfo) => {\r\n\r\n if (!systemInfo.isWelcomeMessage)\r\n this.systemInformations = this.systemInformations.push(systemInfo);\r\n\r\n });\r\n\r\n resolve(true);\r\n\r\n }).unsubscribeOn(this.unsubscribeSubject);\r\n\r\n });\r\n }\r\n\r\n public loadWorkgroupRecents(): Promise {\r\n\r\n return new Promise(resolve => {\r\n\r\n if (!this.canSearch || !this.globalDataStore.globalSettings.showWorkgroupRecent) {\r\n\r\n this.hasWorkGroupConfs = false;\r\n resolve(true);\r\n return;\r\n\r\n }\r\n\r\n let workGroupId = this.accountStore.getUser().workGroup.longId;\r\n this.searchDataStore.getRecentWorkGroupConf(workGroupId, RequestViews.Start).subscribe(storeResponse => {\r\n\r\n this.setWorkgroups(storeResponse.data);\r\n resolve(true);\r\n\r\n });\r\n });\r\n }\r\n\r\n public loadRecentConfigurations(): Promise {\r\n\r\n return new Promise(resolve => {\r\n\r\n if (!this.canSearch || !this.globalDataStore.globalSettings.showMyRecent) {\r\n\r\n this.hasUserConfs = false;\r\n resolve(true);\r\n return; \r\n\r\n }\r\n\r\n this.recentTitle = this.strings.MyRecent;\r\n\r\n let userId = this.accountStore.getUser().longId;\r\n this.searchDataStore.getRecentUserConf(userId, RequestViews.Start).subscribe(storeResponse => {\r\n\r\n this.setRecentUserConfs(storeResponse.data);\r\n resolve(true);\r\n\r\n });\r\n\r\n });\r\n }\r\n\r\n public loadUnsavedConfigurations(): Promise {\r\n\r\n return new Promise(resolve => {\r\n\r\n if (!this.canSearch) {\r\n resolve(true);\r\n return;\r\n }\r\n\r\n let userId = this.accountStore.getUser().longId;\r\n this.searchDataStore.getUnsavedUserConf(userId, RequestViews.Start).subscribe(storeResponse => {\r\n\r\n this.setUnSavedConfs(storeResponse.data);\r\n resolve(true);\r\n\r\n });\r\n\r\n });\r\n }\r\n\r\n public loadSavedSearches(): Promise {\r\n\r\n return new Promise(resolve => {\r\n\r\n if (!this.canSearch) {\r\n resolve(true);\r\n return;\r\n }\r\n\r\n // Send command for saved searches\r\n this.searchDataStore.getSavedConfigurationSearches(RequestViews.Start).subscribe(storeResponse => {\r\n\r\n this.configurationSearches = storeResponse.data;\r\n resolve(true);\r\n\r\n });\r\n\r\n });\r\n\r\n }\r\n\r\n public setWorkgroups(data: SearchSessionData): void {\r\n\r\n this.workGroupSearchSessionId = data.searchSessionId;\r\n this.workGroupConfsByInterval = this.getInteralMap(data);\r\n this.hasWorkGroupConfs = this.workGroupConfsByInterval.size > 0;\r\n\r\n }\r\n\r\n public setRecentUserConfs(data: SearchSessionData): void {\r\n\r\n this.userSearchSessionId = data.searchSessionId;\r\n this.userConfsByInterval = this.getInteralMap(data);\r\n this.userRecentsLoaded = true;\r\n this.hasUserConfs = this.userConfsByInterval.size > 0;\r\n\r\n }\r\n\r\n public setUnSavedConfs(data: SearchSessionData): void {\r\n\r\n this.unsavedSearchSessionId = data.searchSessionId;\r\n this.unsavedConfsByInterval = this.getInteralMapFirst(data);\r\n this.hasUnsavedConfs = this.unsavedConfsByInterval.size > 0;\r\n this.unsavedLoaded = true;\r\n\r\n }\r\n\r\n public getInteralMap(searchSessionData: SearchSessionData): Immutable.OrderedMap> {\r\n\r\n if (!searchSessionData.confSearchResultItems)\r\n return Immutable.OrderedMap>();\r\n\r\n return searchSessionData.confSearchResultItems.reduce((map, confSearchResultItem) =>\r\n map.set(confSearchResultItem.intervalType, (map.get(confSearchResultItem.intervalType) || Immutable.OrderedMap()).set(confSearchResultItem.confSessionId, this.confStore.getConfInfo(confSearchResultItem.configurationId, confSearchResultItem.confSessionId))),\r\n Immutable.Map>()).sortBy((v, k) => k).toMap();\r\n }\r\n\r\n public getInteralMapFirst(searchSessionData: SearchSessionData): Immutable.OrderedMap> {\r\n\r\n if (!searchSessionData.confSearchResultItems)\r\n return Immutable.OrderedMap>();\r\n\r\n let maxConfBySessionId: ConfSearchResultItem = searchSessionData.confSearchResultItems.max(x => x.confSessionId);\r\n let maxConfSessionId: number = maxConfBySessionId ? maxConfBySessionId.confSessionId : -1;\r\n\r\n return searchSessionData.confSearchResultItems.filter(x => x.confSessionId == maxConfSessionId).reduce((map, confSearchResultItem) =>\r\n map.set(confSearchResultItem.intervalType, (map.get(confSearchResultItem.intervalType) || Immutable.OrderedMap()).set(confSearchResultItem.confSessionId, this.confStore.getConfInfo(confSearchResultItem.configurationId, confSearchResultItem.confSessionId))),\r\n Immutable.Map>());\r\n }\r\n \r\n \r\n\r\n public updateRecents() {\r\n switch (this.dropdown.view.value) {\r\n case StartConfigurationSearch.MyRecent:\r\n this.includeWorkgroup = false;\r\n break;\r\n case StartConfigurationSearch.MyWorkgroup:\r\n this.includeWorkgroup = true;\r\n break;\r\n }\r\n }\r\n\r\n public openNews() {\r\n this.newsOpened = true;\r\n this.backdrop.popup.open();\r\n }\r\n\r\n public onClosed(): void {\r\n this.newsOpened = false;\r\n if (this.backdrop.visible)\r\n this.backdrop.popup.close();\r\n }\r\n\r\n public get largeUp() {\r\n return this.breakPointAccessor.activeBreakPoint.min > Breakpoints.lg.max;\r\n }\r\n\r\n public get mediumUp() {\r\n return this.breakPointAccessor.activeBreakPoint.min > Breakpoints.sm.max;\r\n }\r\n\r\n public get smallUp() {\r\n return this.breakPointAccessor.activeBreakPoint.min > Breakpoints.sm.min;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.appStoreSubscriptionManager.dispose();\r\n\r\n super.ngOnDestroy();\r\n }\r\n}\r\n\r\nexport enum StartConfigurationSearch {\r\n MyWorkgroup = \"My workgroup\",\r\n MyRecent = \"My recent\",\r\n SavedSearches = \"Saved searches\"\r\n}","
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n

{{recentTitle}}

\r\n\r\n \r\n \r\n
0\" class=\"start-dropdown\">\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n 0\">\r\n \r\n\r\n \r\n
\r\n

{{this.strings.WorkgroupRecent}}

\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n 0\"\r\n [configurationSearches]=\"configurationSearches\">\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n","export abstract class BaseObject\r\n{\r\n get className(): string { \r\n return this.constructor.name;\r\n }\r\n\r\n // NOTE! Don't remove this. It will break the whole application. \r\n set className(className: string) {\r\n }\r\n}","import { Component, Input, Output, EventEmitter } from \"@angular/core\";\r\n\r\n// Added to remove the circular dependency warning when bundling\r\n@Component({ template: '' })\r\nexport abstract class AbstractAccordionGroupComponent {\r\n\r\n @Input()\r\n heading: string;\r\n\r\n @Input()\r\n isOpened = false;\r\n\r\n @Output()\r\n onOpen = new EventEmitter();\r\n\r\n @Output()\r\n onClose = new EventEmitter();\r\n\r\n @Output()\r\n onToggle = new EventEmitter();\r\n\r\n @Input()\r\n disabled = false;\r\n\r\n @Input()\r\n scrollInToView = false;\r\n\r\n @Input()\r\n icon: string;\r\n\r\n @Input()\r\n iconIsVault = true;\r\n\r\n @Input()\r\n darkTheme = false;\r\n\r\n /** True to use dark theme for a selected/opened group */\r\n @Input()\r\n selectedDarkTheme = false;\r\n\r\n @Input()\r\n togglable = true;\r\n\r\n public get useDarkTheme() {\r\n return this.darkTheme || (this.selectedDarkTheme && this.isOpened);\r\n }\r\n\r\n public onClick(): void {\r\n this.toggle();\r\n }\r\n\r\n open() {\r\n this.isOpened = true;\r\n }\r\n\r\n close(): void {\r\n this.isOpened = false;\r\n }\r\n\r\n abstract toggle();\r\n}","import { ContentChildren, Component, QueryList, Input, AfterContentInit, OnDestroy, forwardRef, Inject } from \"@angular/core\";\r\nimport { AccordionGroupComponent } from \"./accordionGroupComponent\";\r\nimport { AccordionService, AccordionConfig } from \"./accordionService\";\r\nimport { Subscription } from \"rxjs\";\r\n\r\n@Component({\r\n selector: \"accordion\",\r\n templateUrl: './accordionComponent.html',\r\n providers: [\r\n AccordionService\r\n ]\r\n})\r\nexport class AccordionComponent implements AfterContentInit {\r\n\r\n @Input()\r\n closeOthers = true;\r\n\r\n @Input()\r\n expandAll = false;\r\n\r\n // Opens the first tab on load.\r\n @Input()\r\n openFirst: boolean = false;\r\n\r\n @ContentChildren(forwardRef(() => AccordionGroupComponent))\r\n groups: QueryList;\r\n\r\n @Input()\r\n classes: string;\r\n\r\n public subscription: Subscription;\r\n\r\n constructor(\r\n @Inject(AccordionService) public accordionService: AccordionService\r\n ) { }\r\n\r\n ngAfterContentInit() {\r\n\r\n if (this.openFirst && this.groups.find(x => x.isOpened) == undefined)\r\n this.openFirstGroup();\r\n\r\n this.subscription = this.accordionService.getMessage().subscribe((info: AccordionConfig) => {\r\n\r\n this.groups.forEach(group => {\r\n\r\n if (group === info.tag || !group.togglable)\r\n return;\r\n\r\n group.close();\r\n });\r\n\r\n });\r\n }\r\n\r\n closeAll() {\r\n this.groups.forEach(group => {\r\n group.isOpened = false;\r\n });\r\n }\r\n\r\n openFirstGroup() {\r\n\r\n if (this.groups.length == 1)\r\n this.openFirst = true;\r\n\r\n if (this.openFirst && this.groups.length > 0) \r\n this.groups.first.open();\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n}","
\r\n \r\n
","import { Component, ContentChild, ElementRef, ChangeDetectorRef, ViewChild, ChangeDetectionStrategy } from \"@angular/core\";\r\nimport { AccordionToggleComponent } from \"./accordionToggleComponent\";\r\nimport { AccordionService, AccordionConfig } from \"./accordionService\";\r\nimport { AbstractAccordionGroupComponent } from \"./abstractAccordionGroupComponent\";\r\n\r\n@Component({\r\n selector: \"accordion-group\",\r\n templateUrl: './accordionGroupComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class AccordionGroupComponent extends AbstractAccordionGroupComponent {\r\n\r\n @ContentChild(AccordionToggleComponent)\r\n toggler: ElementRef;\r\n\r\n @ViewChild(\"accordionGroup\")\r\n accordionGroupElement: ElementRef;\r\n\r\n\r\n constructor(private cdr: ChangeDetectorRef, public accordionService: AccordionService) {\r\n super();\r\n }\r\n\r\n checkAndToggle() {\r\n // if custom toggle element is supplied, then do nothing, custom toggler will take care of it\r\n if (this.toggler)\r\n return;\r\n\r\n this.toggle();\r\n }\r\n\r\n toggle() {\r\n if (this.disabled)\r\n return;\r\n\r\n const isOpenedBeforeWeChange = this.isOpened;\r\n\r\n this.accordionService.sendMessage({ tag: this } as AccordionConfig);\r\n \r\n this.isOpened = !isOpenedBeforeWeChange;\r\n if (this.isOpened) {\r\n this.onOpen.emit({ isOpened: this.isOpened, clickedGroup: this.accordionGroupElement });\r\n } else {\r\n this.onClose.emit({ isOpened: this.isOpened, clickedGroup: this.accordionGroupElement });\r\n }\r\n this.onToggle.emit({ isOpened: this.isOpened, clickedGroup: this.accordionGroupElement });\r\n }\r\n\r\n ngAfterViewInit() {\r\n\r\n if (this.accordionGroupElement && this.scrollInToView && this.isOpened)\r\n setTimeout(() => {\r\n this.accordionGroupElement.nativeElement.scrollIntoView(true);\r\n }, 0);\r\n\r\n }\r\n\r\n open() {\r\n super.open();\r\n\r\n this.cdr.markForCheck();\r\n }\r\n\r\n close() {\r\n super.close();\r\n\r\n this.cdr.markForCheck();\r\n }\r\n}","
\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {{heading}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
","import { Component } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"accordion-heading\",\r\n template: ``\r\n})\r\nexport class AccordionHeading {\r\n\r\n}","import { Observable } from \"rxjs\";\r\nimport { Subscription, Subject, BehaviorSubject } from \"rxjs\";\r\n\r\nexport class AccordionConfig {\r\n\r\n // Attach any object to it. Which would be accessible to all listeners.\r\n tag?: any;\r\n\r\n}\r\n\r\nexport class AccordionService {\r\n\r\n // Subject to subscribe the PopoverInfo.\r\n // Subject to subscribe the tree nodes. \r\n private subject = new Subject();\r\n\r\n /**\r\n * Broadcasts the message to all subscribers\r\n * @param event\r\n */\r\n public sendMessage(info: AccordionConfig): void {\r\n this.subject.next(info);\r\n }\r\n\r\n getMessage(): Observable {\r\n return this.subject.asObservable();\r\n }\r\n\r\n}","import { Component, HostListener, Inject, Host, forwardRef } from \"@angular/core\";\r\nimport { AbstractAccordionGroupComponent } from \"./abstractAccordionGroupComponent\";\r\n\r\n@Component({\r\n selector: \"accordion-toggle\",\r\n template: ``\r\n})\r\nexport class AccordionToggleComponent {\r\n\r\n constructor( @Host() @Inject(forwardRef(() => AbstractAccordionGroupComponent)) private accordionGroup: AbstractAccordionGroupComponent) {\r\n }\r\n\r\n @HostListener(\"click\")\r\n onClick() {\r\n this.accordionGroup.toggle();\r\n }\r\n}","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { AccordionGroupComponent } from \"./accordionGroupComponent\";\r\nimport { AccordionComponent } from \"./accordionComponent\";\r\nimport { AccordionToggleComponent } from \"./accordionToggleComponent\";\r\nimport { AccordionHeading } from \"./accordionHeadingComponent\";\r\nimport { ImageModule } from \"../image\";\r\n\r\nexport * from \"./accordionComponent\";\r\nexport * from \"./accordionGroupComponent\";\r\nexport * from \"./accordionToggleComponent\";\r\nexport * from \"./accordionHeadingComponent\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ImageModule\r\n ],\r\n declarations: [\r\n AccordionComponent,\r\n AccordionGroupComponent,\r\n AccordionToggleComponent,\r\n AccordionHeading\r\n ],\r\n exports: [\r\n AccordionComponent,\r\n AccordionGroupComponent,\r\n AccordionToggleComponent,\r\n AccordionHeading\r\n ]\r\n})\r\nexport class AccordionModule {\r\n\r\n}","import { ContentChildren, Component, QueryList, Input, AfterContentInit, OnDestroy, forwardRef, Inject, EventEmitter, Output } from \"@angular/core\";\r\nimport { BaseComponent } from \"../../../pages/shared\";\r\n\r\n@Component({\r\n selector: \"accordion-overlay\",\r\n templateUrl: './accordionOverlayComponent.html' \r\n})\r\nexport class AccordionOverlayComponent extends BaseComponent {\r\n\r\n @Input()\r\n title: string;\r\n\r\n @Input()\r\n showHeader: boolean = false;\r\n\r\n\r\n @Output()\r\n public close = new EventEmitter();\r\n\r\n\r\n ngOnInit(): void {\r\n\r\n\r\n }\r\n\r\n}","
\r\n
\r\n
\r\n {{title}}\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { AccordionOverlayComponent } from \"./accordionOverlayComponent\";\r\nimport { ImageModule } from \"../image\";\r\nimport { AccordionModule } from \"../accordion\";\r\n\r\nexport * from \"./accordionOverlayComponent\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ImageModule,\r\n AccordionModule\r\n ],\r\n declarations: [\r\n AccordionOverlayComponent,\r\n ],\r\n exports: [\r\n AccordionOverlayComponent, \r\n ]\r\n})\r\nexport class AccordionOverlayModule {\r\n\r\n}","import { Directive, ViewContainerRef, HostListener } from '@angular/core';\r\n\r\n@Directive({ selector: '[auto-scrollbar]' })\r\nexport class AutoScrollbarDirective {\r\n\r\n constructor(private referenceElement: ViewContainerRef) { }\r\n\r\n ngOnInit() {\r\n this.updateStyles();\r\n this.setHidden();\r\n\r\n setTimeout(() => {\r\n this.updateStyles();\r\n }, 0);\r\n }\r\n\r\n updateStyles(): void {\r\n if (!this.referenceElement)\r\n return;\r\n\r\n let element = this.referenceElement.element.nativeElement;\r\n let topPosition: number = element.getBoundingClientRect().top;\r\n let height = `${window.innerHeight - topPosition}px`;\r\n element.style.height = height;\r\n }\r\n\r\n public setAuto() {\r\n let element = this.referenceElement.element.nativeElement;\r\n element.style.overflow = 'auto';\r\n }\r\n\r\n public setHidden() {\r\n let element = this.referenceElement.element.nativeElement;\r\n element.style.overflow = 'hidden';\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event) {\r\n this.updateStyles();\r\n }\r\n\r\n @HostListener('mouseenter') onMouseEnter() {\r\n this.setAuto();\r\n }\r\n\r\n @HostListener('mouseleave') onMouseLeave() {\r\n this.setHidden();\r\n }\r\n\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { AutoScrollbarDirective } from \"./autoScrollbarDirective\";\r\n\r\nexport * from \"./autoScrollbarDirective\";\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule \r\n ],\r\n declarations: [\r\n AutoScrollbarDirective\r\n ],\r\n exports: [\r\n AutoScrollbarDirective\r\n ],\r\n providers: [\r\n AutoScrollbarDirective\r\n ]\r\n})\r\n\r\nexport class AutoScrollbarModule {\r\n\r\n}","import { NgModule, ModuleWithProviders, InjectionToken } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { BlockUIComponent } from './components/block-ui/block-ui.component';\nimport { BlockUIContentComponent } from './components/block-ui-content/block-ui-content.component';\nimport { BlockUIInstanceService } from './services/block-ui-instance.service';\nimport { BlockUIService } from './services/block-ui.service';\nimport { BlockUIDirective } from './directives/block-ui.directive';\nimport { BlockUISettings } from './models/block-ui-settings.model';\n\nexport const BlockUIServiceInstance = new BlockUIInstanceService();\n\n// Needed for AOT compiling\nexport const BlockUIModuleSettings = new InjectionToken('BlockUIModuleSettings');\n\nexport function provideInstance(settings: BlockUISettings): any {\n BlockUIServiceInstance.updateSettings(settings);\n return BlockUIServiceInstance;\n}\n\n@NgModule({\n imports: [\n CommonModule\n ],\n entryComponents: [\n BlockUIComponent,\n BlockUIContentComponent\n ],\n declarations: [\n BlockUIComponent,\n BlockUIDirective,\n BlockUIContentComponent\n ],\n exports: [\n BlockUIComponent,\n BlockUIDirective,\n BlockUIContentComponent\n ]\n})\nexport class BlockUIModule {\n public static forRoot(settings: BlockUISettings = {}): ModuleWithProviders {\n return {\n ngModule: BlockUIModule,\n providers: [\n {\n provide: BlockUIModuleSettings,\n useValue: settings\n },\n {\n provide: BlockUIInstanceService,\n useFactory: provideInstance,\n deps: [BlockUIModuleSettings]\n },\n BlockUIService\n ]\n };\n }\n}\n","// Spinner style - https://github.com/lukehaas/css-loaders\n\nexport const styles = `\n.block-ui-wrapper {\n display: none;\n position: fixed;\n height: 100%;\n width: 100%;\n top: 0;\n left: 0;\n background: rgba(0, 0, 0, 0.70);\n z-index: 30000;\n cursor: wait;\n}\n\n.block-ui-wrapper.block-ui-wrapper--element {\n position: absolute;\n}\n\n.block-ui-wrapper.active {\n display: block;\n}\n\n.block-ui-wrapper.block-ui-main {\n position: fixed;\n}\n\n.block-ui-spinner,\n.block-ui-template {\n position: absolute;\n top: 40%;\n margin: 0 auto;\n left: 0;\n right: 0;\n transform: translateY(-50%);\n}\n\n.block-ui-spinner > .message {\n font-size: 1.3em;\n text-align: center;\n color: #fff;\n}\n\n.block-ui__element {\n position: relative;\n}\n\n.loader,\n.loader:after {\n border-radius: 50%;\n width: 10em;\n height: 10em;\n}\n.loader {\n margin: 7px auto;\n font-size: 5px;\n position: relative;\n text-indent: -9999em;\n border-top: 1.1em solid rgba(255, 255, 255, 0.2);\n border-right: 1.1em solid rgba(255, 255, 255, 0.2);\n border-bottom: 1.1em solid rgba(255, 255, 255, 0.2);\n border-left: 1.1em solid #ffffff;\n -webkit-transform: translateZ(0);\n -ms-transform: translateZ(0);\n transform: translateZ(0);\n -webkit-animation: load8 1.1s infinite linear;\n animation: load8 1.1s infinite linear;\n}\n\n@-webkit-keyframes load8 {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes load8 {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n`;\n","export const template = `\n
0 }\">\n
\n
\n
\n {{ message || defaultMessage }}\n
\n
\n \n
\n`;\n","import {\n Component,\n OnInit,\n AfterViewInit,\n AfterViewChecked,\n OnDestroy,\n ViewEncapsulation,\n Input,\n ViewChild,\n ComponentRef,\n TemplateRef,\n ComponentFactoryResolver,\n ViewContainerRef,\n ChangeDetectorRef,\r\n ChangeDetectionStrategy\n} from '@angular/core';\nimport { Observable, Subscription } from 'rxjs';\n\nimport { BlockUIInstanceService } from '../../services/block-ui-instance.service';\nimport { BlockUIEvent } from '../../models/block-ui-event.model';\nimport { BlockUIActions } from '../../constants/block-ui-actions.constant';\nimport { BlockUIDefaultName } from '../../constants/block-ui-default-name.constant';\nimport { styles } from './block-ui-content.component.style';\nimport { template } from './block-ui-content.component.template';\nimport { BlockUISettings } from '../../models/block-ui-settings.model';\n\nexport type BlockState = {\n startTimeouts: Array;\n stopTimeouts: Array;\n updateTimeouts: Array;\n blockCount: number;\n startCallCount: number;\n stopCallCount: number;\n}\n\n@Component({\n selector: 'block-ui-content',\n template: template,\n styles: [styles], // TODO: Find how to bundle styles for npm\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BlockUIContentComponent implements OnInit, AfterViewInit, AfterViewChecked, OnDestroy {\n @Input() name: string = BlockUIDefaultName;\n @Input() delayStart: number = 0;\n @Input() delayStop: number = 0;\n @Input('message') defaultMessage: string;\n @Input('template') templateCmp: any;\n @ViewChild('templateOutlet', { read: ViewContainerRef })\n templateOutlet: ViewContainerRef;\n\n defaultBlockState: BlockState = {\n startTimeouts: [],\n stopTimeouts: [],\n updateTimeouts: [],\n blockCount: 0,\n startCallCount: 0,\n stopCallCount: 0\n };\n state: BlockState = { ...this.defaultBlockState };\n className: string;\n templateCompRef: ComponentRef<{ message?: any }> | TemplateRef<{}>;\n message: any;\n\n private blockUISubscription: Subscription;\n private settings: BlockUISettings;\n\n constructor(\n private blockUI: BlockUIInstanceService,\n private resolver: ComponentFactoryResolver,\n private changeDetectionRef: ChangeDetectorRef\n ) { }\n\n ngOnInit() {\n this.settings = this.blockUI.getSettings();\n this.blockUISubscription = this.subscribeToBlockUI(this.blockUI.observe());\n }\n\n ngAfterViewInit() {\n try {\n if (!this.templateCmp) {\n return false;\n }\n\n if (this.templateCmp instanceof TemplateRef) {\n this.templateOutlet.createEmbeddedView(this.templateCmp);\n } else {\n const templateComp = this.resolver.resolveComponentFactory(this.templateCmp);\n this.templateCompRef = this.templateOutlet.createComponent(templateComp);\n this.updateBlockTemplate(this.message);\n }\n } catch (error) {\n console.error('ng-block-ui:', error);\n }\n }\n\n ngAfterViewChecked() {\n this.detectChanges();\n }\n\n private subscribeToBlockUI(blockUI$: Observable): Subscription {\n return blockUI$.subscribe(event => this.onDispatchedEvent(event));\n }\n\n private onDispatchedEvent(event: BlockUIEvent) {\n switch (event.action) {\n case BlockUIActions.START:\n this.onStart(event);\n break;\n\n case BlockUIActions.STOP:\n this.onStop(event);\n break;\n\n case BlockUIActions.UPDATE:\n this.onUpdate(event);\n break;\n\n case BlockUIActions.RESET:\n this.onReset(event);\n break;\n\n case BlockUIActions.RESET_GLOBAL:\n this.resetState();\n break;\n\n case BlockUIActions.UNSUBSCRIBE:\n this.onStop(event);\n this.onUnsubscribe(event.name);\n break;\n }\n }\n\n private onStart({ name, message }: BlockUIEvent) {\n if (name === this.name) {\n const delay = this.delayStart || this.settings.delayStart || 0;\n\n this.state.startCallCount += 1;\n const startTimeout = setTimeout(() => {\n this.state.blockCount += 1;\n this.showBlock(message);\n this.updateInstanceBlockCount();\n }, delay);\n this.state.startTimeouts.push(startTimeout);\n }\n }\n\n private onStop({ name }: BlockUIEvent) {\n if (name === this.name) {\n const stopCount = this.state.stopCallCount + 1;\n\n if (this.state.startCallCount - stopCount >= 0) {\n const delay = this.delayStop || this.settings.delayStop || 0;\n\n this.state.stopCallCount = stopCount;\n const stopTimeout = setTimeout(() => {\n this.state.blockCount -= 1;\n this.updateInstanceBlockCount();\n this.detectChanges();\n }, delay);\n this.state.stopTimeouts.push(stopTimeout);\n }\n }\n }\n\n private onUpdate({ name, message }: BlockUIEvent) {\n if (name === this.name) {\n const delay = this.delayStart || this.settings.delayStart || 0;\n\n clearTimeout(this.state.updateTimeouts[0]);\n const updateTimeout = setTimeout(() => {\n this.updateMessage(message);\n }, delay);\n this.state.updateTimeouts.push(updateTimeout);\n }\n }\n\n private onReset({ name }: BlockUIEvent) {\n if (name === this.name) {\n this.resetState();\n }\n }\n\n private updateMessage(message: string) {\n this.showBlock(message);\n }\n\n private showBlock(message: any) {\n this.message = message || this.defaultMessage || this.settings.message;\n this.updateBlockTemplate(this.message);\n this.detectChanges();\n }\n\n private updateBlockTemplate(msg: any): void {\n if (this.templateCompRef && this.templateCompRef instanceof ComponentRef) {\n this.templateCompRef.instance.message = msg;\n }\n }\n\n private resetState() {\n [\n ...this.state.startTimeouts,\n ...this.state.stopTimeouts,\n ...this.state.updateTimeouts\n ].forEach(clearTimeout);\n this.state = { ...this.defaultBlockState };\n this.updateInstanceBlockCount();\n this.detectChanges();\n }\n\n private onUnsubscribe(name: string) {\n if (this.blockUISubscription && name === this.name) {\n this.blockUISubscription.unsubscribe();\n }\n }\n\n private updateInstanceBlockCount() {\n if (this.blockUI.blockUIInstances[this.name]) {\n const { blockCount } = this.state;\n this.blockUI.blockUIInstances[this.name].blockCount = blockCount;\n }\n }\n\n private detectChanges() {\n if (!this.changeDetectionRef['destroyed']) {\n this.changeDetectionRef.markForCheck();\n }\n }\n\n ngOnDestroy() {\n this.resetState();\n this.onUnsubscribe(this.name);\n this.blockUI.clearInstance(this.name);\n }\n}\n","import {\n Component,\n Input,\n ViewEncapsulation,\n OnInit,\n ComponentRef\n} from '@angular/core';\nimport { BlockUIInstanceService } from '../../services/block-ui-instance.service';\nimport { BlockUIDefaultName } from '../../constants/block-ui-default-name.constant';\n\n@Component({\n selector: 'block-ui',\n template: `\n \n \n \n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class BlockUIComponent implements OnInit {\n @Input() name: string;\n @Input() message: any;\n @Input() delayStart: number;\n @Input() delayStop: number;\n @Input() template: any;\n\n constructor(\n private blockUI: BlockUIInstanceService,\n ) { }\n\n ngOnInit() {\n this.name = this.name || BlockUIDefaultName;\n this.template = this.template || this.blockUI.blockUISettings.template;\n }\n}\n","export class BlockUIActions {\n static START = 'start';\n static STOP = 'stop';\n static UPDATE = 'update';\n static RESET = 'reset';\n static RESET_GLOBAL = 'reset_global';\n static UNSUBSCRIBE = 'unsubscribe';\n}","export const BlockUIDefaultName: string = 'block-ui-main';\n","import { BlockUIServiceInstance } from '../block-ui.module';\nimport { BlockUIDecoratorSettings } from '../models/block-ui-decorator-settings.model';\n\nexport let blockInstanceGuid = 1;\n\nexport function BlockUI(blockName?: string, settings: BlockUIDecoratorSettings = {}) {\n if (!settings.scopeToInstance) {\n return function (target?: any, propertyKey?: string) {\n target[propertyKey] = BlockUIServiceInstance.decorate(blockName);\n };\n }\n\n\n return function (target?: any, key?: string) {\n const secret = `_${key}-block-ui`;\n\n Object.defineProperty(target, key, {\n get: function () {\n if (this[secret]) {\n return this[secret];\n }\n\n const instanceName = `${blockName}-${blockInstanceGuid++}`;\n this[secret] = BlockUIServiceInstance.decorate(instanceName);\n\n return this[secret];\n },\n set: function (value: any) {\n this[secret] = value;\n },\n });\n };\n}\n","import {\n Directive,\n Input,\n OnInit,\n OnDestroy,\n ComponentRef,\n ComponentFactoryResolver,\n ViewContainerRef,\n TemplateRef,\n Renderer2\n} from '@angular/core';\nimport { BlockUIContentComponent } from '../components/block-ui-content/block-ui-content.component';\nimport { BlockUIInstanceService } from '../services/block-ui-instance.service';\nimport { BlockUIDefaultName } from '../constants/block-ui-default-name.constant';\nimport { BlockUIService } from '../services/block-ui.service';\n\n@Directive({ selector: '[blockUI]' })\nexport class BlockUIDirective implements OnInit, OnDestroy {\n private blockUIComponentRef: ComponentRef;\n blockTarget: string;\n message: any;\n template: any;\n delayStart: any;\n delayStop: any;\n\n @Input()\n set blockUI(name: any) { this.blockTarget = name; };\n @Input()\n set blockUIMessage(message: any) { this.message = message; };\n @Input()\n set blockUITemplate(template: any) { this.template = template; };\n @Input()\n set blockUIDelayStart(delayStart: any) {\n this.delayStart = delayStart ? Number(delayStart) : null;\n };\n @Input()\n set blockUIDelayStop(delayStop: any) {\n this.delayStop = delayStop ? Number(delayStop) : null;\n };\n\n constructor(\n private blockUIService: BlockUIService,\n private blockUIInstanceService: BlockUIInstanceService,\n private viewRef: ViewContainerRef,\n private templateRef: TemplateRef,\n private renderer: Renderer2,\n private componentFactoryResolver: ComponentFactoryResolver\n ) { }\n\n ngOnInit() {\n try {\n this.viewRef.createEmbeddedView(this.templateRef);\n const parentElement = this.getParentElement();\n\n if (parentElement && !this.isComponentInTemplate(parentElement)) {\n this.renderer.addClass(parentElement, 'block-ui__element');\n this.blockUIComponentRef = this.createComponent();\n let blockUIContent = this.findContentNode(this.viewRef.element.nativeElement);\n\n if (blockUIContent) {\n const settings = this.blockUIInstanceService.getSettings();\n\n parentElement.appendChild(blockUIContent);\n this.blockUIComponentRef.instance.className = 'block-ui-wrapper--element';\n this.blockUIComponentRef.instance.name = this.blockTarget || BlockUIDefaultName;\n if (this.message) this.blockUIComponentRef.instance.defaultMessage = this.message;\n if (this.delayStart) this.blockUIComponentRef.instance.delayStart = this.delayStart;\n if (this.delayStop) this.blockUIComponentRef.instance.delayStop = this.delayStop;\n if (this.template || settings.template)\n this.blockUIComponentRef.instance.templateCmp = this.template || settings.template;\n }\n }\n } catch (error) {\n console.error('ng-block-ui:', error);\n }\n }\n\n private isComponentInTemplate(element: any): boolean {\n // Needed because of https://github.com/microsoft/TypeScript/issues/26235\n const targetElement = element || {};\n let { children } = targetElement;\n children = Array.from(children || []).reverse();\n return children.some((el: any) => el && el.localName === 'block-ui');\n }\n\n private getParentElement(): Element {\n const {\n nextElementSibling,\n previousElementSibling\n } = this.viewRef.element.nativeElement;\n\n return nextElementSibling || previousElementSibling;\n }\n\n // Needed for IE (#17)\n private findContentNode(element: any) {\n const nextSibling = element.nextSibling || {};\n const previousSibling = element.previousSibling || {};\n\n return [\n nextSibling,\n nextSibling.nextSibling,\n previousSibling,\n previousSibling.previousSibling\n ].find((e) => e && e.localName === 'block-ui-content');\n }\n\n private createComponent() {\n const resolvedBlockUIComponent = this.componentFactoryResolver.resolveComponentFactory(BlockUIContentComponent);\n return this.viewRef.createComponent(resolvedBlockUIComponent);\n }\n\n ngOnDestroy() {\n if (this.blockTarget) {\n this.blockUIService.reset(this.blockTarget);\n }\n }\n}\n","import { BlockUIModule } from './block-ui.module';\nimport { BlockUIComponent } from './components/block-ui/block-ui.component';\nimport { BlockUIContentComponent } from './components/block-ui-content/block-ui-content.component';\nimport { BlockUI } from './decorators/block-ui.decorator';\nimport { NgBlockUI } from './models/block-ui.model';\nimport { HttpSettings } from './models/block-ui-http-settings.model';\nimport { BlockUIService } from './services/block-ui.service';\nimport { BlockUIDefaultName as BLOCKUI_DEFAULT } from './constants/block-ui-default-name.constant';\n\nexport {\n BlockUIModule,\n BlockUIComponent,\n BlockUIContentComponent,\n BlockUI,\n NgBlockUI,\n HttpSettings,\n BlockUIService,\n BLOCKUI_DEFAULT\n};\n","import { Injectable } from '@angular/core';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { BlockUIActions } from '../constants/block-ui-actions.constant';\nimport { BlockUIDefaultName } from '../constants/block-ui-default-name.constant';\nimport { NgBlockUI } from '../models/block-ui.model';\nimport { BlockUISettings } from '../models/block-ui-settings.model';\nimport { BlockUIEvent } from '../models/block-ui-event.model';\n\n\n@Injectable()\nexport class BlockUIInstanceService {\n blockUISettings: BlockUISettings | any = {};\n blockUIInstances: any = {};\n private blockUISubject: ReplaySubject = new ReplaySubject(1);\n private blockUIObservable: Observable = this.blockUISubject.asObservable();\n\n constructor() {\n this.blockUIObservable.subscribe(this.blockUIMiddleware.bind(this));\n }\n\n getSettings(): BlockUISettings | any {\n return this.blockUISettings;\n }\n\n updateSettings(settings: BlockUISettings | any = {}): void {\n this.blockUISettings = { ...this.blockUISettings, ...settings };\n }\n\n decorate(name: string = BlockUIDefaultName): NgBlockUI {\n const blockUI = {\n name,\n isActive: false,\n blockCount: 0,\n start: this.dispatch(this.blockUISubject, BlockUIActions.START, name),\n update: this.dispatch(this.blockUISubject, BlockUIActions.UPDATE, name),\n stop: this.dispatch(this.blockUISubject, BlockUIActions.STOP, name),\n reset: this.dispatch(this.blockUISubject, BlockUIActions.RESET, name),\n resetGlobal: this.dispatch(this.blockUISubject, BlockUIActions.RESET_GLOBAL, name),\n unsubscribe: this.dispatch(this.blockUISubject, BlockUIActions.UNSUBSCRIBE, name)\n } as NgBlockUI;\n\n this.blockUIInstances[name] = this.blockUIInstances[name] || blockUI;\n\n return blockUI;\n }\n\n observe(): Observable {\n return this.blockUIObservable;\n }\n\n clearInstance(instanceName: string) {\n this.dispatch(this.blockUISubject, BlockUIActions.RESET, instanceName);\n }\n\n private blockUIMiddleware({ action, name }: BlockUIEvent): void {\n let isActive: boolean = null;\n\n switch (action) {\n case (BlockUIActions.START):\n isActive = true;\n break;\n\n case (BlockUIActions.STOP):\n case (BlockUIActions.RESET):\n isActive = false;\n break;\n }\n\n if (isActive !== null) {\n this.blockUIInstances[name].isActive = isActive;\n }\n }\n\n private dispatch(subject: ReplaySubject, action: BlockUIActions, name: string = BlockUIDefaultName): Function {\n return (message?: any): void => {\n subject.next({\n name,\n action,\n message\n });\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BlockUIActions } from '../constants/block-ui-actions.constant';\nimport { BlockUIInstanceService } from './block-ui-instance.service';\nimport { NgBlockUI } from '../models/block-ui.model';\n\n\n@Injectable()\nexport class BlockUIService {\n globalDispatch: NgBlockUI = this.blockUIInstance.decorate();\n\n constructor(\n private blockUIInstance: BlockUIInstanceService\n ) { }\n\n /**\n * Starts blocking for given BlockUI instance or instances\n */\n start(target: string | string[], message?: any): void {\n this.dispatch(target, BlockUIActions.START, message);\n }\n\n /**\n * Stops blocking for given BlockUI instance or instances\n */\n stop(target: string | string[]): void {\n this.dispatch(target, BlockUIActions.STOP);\n }\n\n /**\n * Reset blocking for given BlockUI instance or instances\n */\n reset(target: string | string[]): void {\n this.dispatch(target, BlockUIActions.RESET);\n }\n\n /**\n * Reset blocking for all BlockUI instances\n */\n resetGlobal(): void {\n this.globalDispatch.resetGlobal();\n }\n\n /**\n * Updates message for given BlockUI instance or instances\n */\n update(target: string | string[], message: any): void {\n this.dispatch(target, BlockUIActions.UPDATE, message);\n }\n\n /**\n * Unsubscribes for given BlockUI instance or instances\n */\n unsubscribe(target: string | string[]): void {\n this.dispatch(target, BlockUIActions.UNSUBSCRIBE);\n }\n\n /**\n * Checks if BlockUI is actively blocking\n */\n isActive(target: string | string[] = null): boolean {\n const targets = target ? this.toArray(target) : null;\n const instances = this.blockUIInstance.blockUIInstances;\n\n return Object.keys(instances).some((key: string) => {\n if (!targets) {\n return instances[key].isActive;\n }\n\n return targets.indexOf(instances[key].name) >= 0 && instances[key].isActive;\n });\n }\n\n private dispatch(target: string | string[] = [], type: string, message?: any) {\n const instances = this.toArray(target);\n instances.forEach(i => this.blockUIInstance.decorate(i)[type](message));\n }\n\n private toArray(target: string | string[] = []) {\n return typeof target === 'string' ? [target] : target;\n }\n}\n","import { Component, EventEmitter, Output, Input } from \"@angular/core\";\r\nimport { BreadcrumbItem } from \".\";\r\n\r\n@Component({\r\n selector: 'breadcrumb',\r\n templateUrl: './breadcrumbComponent.html'\r\n})\r\nexport class BreadcrumbComponent {\r\n\r\n @Input() items: Array = [];\r\n\r\n @Output() itemClick: EventEmitter = new EventEmitter();\r\n\r\n onClick(event, item: BreadcrumbItem): void {\r\n\r\n event.preventDefault();\r\n this.itemClick.emit(item);\r\n\r\n }\r\n\r\n}","","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { BreadcrumbComponent } from \"./breadcrumbComponent\";\r\n\r\nexport * from \"./breadcrumbComponent\";\r\nexport * from \"./breadcrumbItem\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule \r\n ],\r\n declarations: [\r\n BreadcrumbComponent\r\n ],\r\n exports: [\r\n BreadcrumbComponent\r\n ],\r\n\r\n providers: []\r\n})\r\nexport class BreadcrumbModule {\r\n\r\n}","import { Component, Input, EventEmitter, Output } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'limited-browser-support',\r\n templateUrl: './browserSupportComponent.html'\r\n})\r\nexport class BrowserSupportComponent {\r\n\r\n @Input()\r\n public message: string;\r\n\r\n public visible: boolean = true;\r\n \r\n @Output()\r\n okButtonClicked = new EventEmitter();\r\n\r\n removeWarning(event) {\r\n this.visible = false;\r\n }\r\n\r\n}","
\r\n
\r\n\r\n
\r\n
\r\n {{message}}\r\n
\r\n
\r\n \r\n
\r\n
","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { BrowserSupportComponent } from \"./browserSupportComponent\";\r\nimport { ImageModule } from \"../image\";\r\nimport { MessageBoxModule } from \"../messageBox\";\r\n\r\nexport * from \"./browserSupportComponent\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ImageModule,\r\n MessageBoxModule\r\n ],\r\n declarations: [\r\n BrowserSupportComponent \r\n ],\r\n exports: [\r\n BrowserSupportComponent\r\n ],\r\n\r\n providers: []\r\n})\r\nexport class BrowserSupportModule {\r\n\r\n}","import { Component, OnInit, AfterContentInit, Inject, Input, EventEmitter, Output } from \"@angular/core\";\r\n\r\n@Component({ template: '' })\r\nexport abstract class BaseButtonComponent {\r\n\r\n @Input() class: string;\r\n\r\n @Input() tag: any;\r\n\r\n @Output() buttonClick = new EventEmitter();\r\n\r\n onClick($event): void {\r\n // TODO: We might need proper event class.\r\n this.buttonClick.emit({ event: $event, tag: this.tag });\r\n $event.stopPropagation();\r\n }\r\n\r\n}","import { Component, OnInit, AfterContentInit, Inject, Input, EventEmitter, Output } from \"@angular/core\";\r\nimport { BaseButtonComponent } from \"./baseButtonComponent\";\r\n\r\n@Component({\r\n selector: 'button-circle',\r\n templateUrl: './circleButtonComponent.html'\r\n})\r\nexport class CircleButtonComponent extends BaseButtonComponent {\r\n\r\n @Input() icon: string;\r\n\r\n @Input() imageSet: string;\r\n\r\n @Input() iconWidth: string = \"32px\";\r\n\r\n @Input() iconHeight: string = \"32px\";\r\n\r\n @Input() tooltip: string;\r\n\r\n}","
\r\n \r\n \r\n \r\n
\r\n","import { Component, OnInit, AfterContentInit, Inject, Input, EventEmitter, Output } from \"@angular/core\";\r\nimport { BaseButtonComponent } from \"./baseButtonComponent\";\r\n\r\n@Component({\r\n selector: 'button-icon',\r\n templateUrl: './iconButtonComponent.html'\r\n})\r\nexport class IconButtonComponent extends BaseButtonComponent {\r\n\r\n @Input() icon: string;\r\n\r\n @Input() imageSet: string;\r\n\r\n @Input() iconWidth: string = \"32px\";\r\n\r\n @Input() iconHeight: string = \"32px\";\r\n\r\n @Input() tooltip: string;\r\n\r\n // Makes rounded background If It is set to true, otherwise background would be ignored.\r\n @Input() rounded: boolean = false;\r\n\r\n}","
\r\n \r\n \r\n \r\n
","import { Component, OnInit, AfterContentInit, Inject, Input, EventEmitter, Output } from \"@angular/core\";\r\nimport { IconButtonComponent } from \"./iconButtonComponent\";\r\n\r\n@Component({\r\n selector: 'button-icon-text',\r\n templateUrl: './iconTextButtonComponent.html'\r\n})\r\nexport class IconTextButtonComponent extends IconButtonComponent {\r\n \r\n @Input() text: string;\r\n\r\n // horizontal or vertical\r\n @Input() direction: string = 'horizontal';\r\n\r\n @Input() uppercase: boolean = true;\r\n\r\n @Input() highlightIfMandatory: boolean = false;\r\n\r\n @Input() subText: string;\r\n}","\r\n\r\n\r\n \r\n {{text}}\r\n \r\n\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { StandardButtonComponent } from \"./standardButtonComponent\";\r\nimport { IconButtonComponent } from \"./iconButtonComponent\";\r\nimport { IconTextButtonComponent } from \"./iconTextButtonComponent\";\r\nimport { CircleButtonComponent } from \"./circleButtonComponent\";\r\nimport { ImageModule } from \"../image\";\r\n\r\nexport * from \"./standardButtonComponent\";\r\nexport * from \"./iconButtonComponent\";\r\nexport * from \"./iconTextButtonComponent\";\r\nexport * from \"./circleButtonComponent\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ImageModule \r\n ],\r\n declarations: [\r\n StandardButtonComponent, \r\n IconButtonComponent,\r\n IconTextButtonComponent,\r\n CircleButtonComponent \r\n ],\r\n exports: [\r\n StandardButtonComponent,\r\n IconButtonComponent,\r\n IconTextButtonComponent,\r\n CircleButtonComponent \r\n ],\r\n\r\n providers: [ ]\r\n})\r\nexport class ButtonModule {\r\n\r\n}","import { Component, OnInit, AfterContentInit, Inject, Input, EventEmitter, Output } from \"@angular/core\";\r\nimport { BaseButtonComponent } from \"./baseButtonComponent\";\r\n\r\n@Component({\r\n selector: 'button-standard',\r\n templateUrl: './standardButtonComponent.html'\r\n})\r\nexport class StandardButtonComponent extends BaseButtonComponent {\r\n\r\n @Input() text: string;\r\n\r\n @Input() icon: string;\r\n\r\n @Input() imageSet: string;\r\n\r\n @Input() iconWidth: string = \"32px\";\r\n\r\n @Input() iconHeight: string = \"32px\";\r\n}","","import { EventEmitter, Inject, ChangeDetectorRef, OnInit, Output, ViewChild, ElementRef, Component, Input, SimpleChanges } from \"@angular/core\";\r\nimport { BaseInputComponent } from \"../shared\";\r\n\r\nexport enum CheckboxType {\r\n standard = 'standard',\r\n classic = 'classic'\r\n}\r\n\r\n// In templates we require these keywords to apply the css, that's why we have defined the states.\r\nconst STATES = {\r\n Checked: 'true',\r\n Unchecked: 'false',\r\n Indeterminate: 'null'\r\n}\r\n\r\n// Note! Multiple modules have same 'CheckboxComponent' name. Its better to define the prefix to prevent the conflicts with others.\r\n@Component({\r\n selector: 'check-box',\r\n templateUrl: './coCheckboxComponent.html'\r\n})\r\nexport class CoCheckboxComponent extends BaseInputComponent implements OnInit {\r\n\r\n @Input()\r\n styleNames: string;\r\n\r\n states: Array = [];\r\n \r\n @Input()\r\n triState: boolean; \r\n\r\n @Input()\r\n type = CheckboxType.classic;\r\n\r\n constructor( @Inject(ChangeDetectorRef) protected cdr: ChangeDetectorRef) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n \r\n // Checked state\r\n this.states.push(STATES.Checked);\r\n\r\n // Unchecked state\r\n this.states.push(STATES.Unchecked);\r\n\r\n if (this.triState)\r\n this.states.push(STATES.Indeterminate);\r\n\r\n // Add Inderminate state in setter\r\n }\r\n\r\n get activeState(): any {\r\n if (this.view) {\r\n return this.extractState(this.view.value);\r\n }\r\n\r\n return STATES.Indeterminate;\r\n }\r\n\r\n processEvent($event): void {\r\n // Get next bool state.\r\n let nextState = this.nextState(this.activeState);\r\n\r\n if (this.notifyIfReadOnly(this.view, nextState))\r\n return;\r\n\r\n if (this.notifyIfDisabled(this.view, nextState))\r\n return;\r\n\r\n // If user clicks on checked option then uncheck it. \r\n this.notifyValueChange(this.view, nextState);\r\n }\r\n\r\n public nextState(state: any): any {\r\n // Current state\r\n let index = this.states.findIndex(x => x == state)\r\n\r\n if (index == this.states.length - 1) {\r\n // Restart from first state\r\n return this.states[0];\r\n }\r\n\r\n // Next state\r\n return this.states[index + 1];\r\n }\r\n\r\n extractState(value: any): string {\r\n if (value == null || value.toString() == STATES.Indeterminate)\r\n return STATES.Indeterminate;\r\n\r\n return value.toString() == STATES.Checked ? STATES.Checked : STATES.Unchecked;\r\n }\r\n\r\n}","
\r\n \r\n \r\n
\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { CoCheckboxComponent } from \"./coCheckboxComponent\";\r\nimport { SelectDirective } from \"./selectDirective\";\r\nimport { StandardCheckboxComponent } from \"./templates/standardCheckboxComponent\";\r\nimport { ClassicCheckboxComponent } from \"./templates/classicCheckboxComponent\";\r\nimport { ImageModule } from \"../image\";\r\nimport { HelpModule } from \"../help\";\r\nimport { IconModule } from \"../icon/index\";\r\n\r\nexport * from \"./coCheckboxComponent\";\r\nexport * from \"./selectDirective\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ImageModule,\r\n HelpModule,\r\n IconModule\r\n ], \r\n declarations: [\r\n CoCheckboxComponent,\r\n StandardCheckboxComponent,\r\n ClassicCheckboxComponent,\r\n SelectDirective\r\n ], \r\n exports: [\r\n CoCheckboxComponent,\r\n StandardCheckboxComponent,\r\n ClassicCheckboxComponent,\r\n SelectDirective\r\n ]\r\n})\r\nexport class CheckboxModule {\r\n\r\n}","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\r\n@Directive({\r\n selector: '[select]'\r\n})\r\nexport class SelectDirective {\r\n constructor(private el: ElementRef) { }\r\n\r\n @HostListener('change')\r\n onChange() {\r\n this.highlight('yellow');\r\n }\r\n @HostListener('click')\r\n onClick() {\r\n this.highlight(null);\r\n }\r\n private highlight(color: string) {\r\n this.el.nativeElement.style.backgroundColor = color;\r\n }\r\n}","import { Component, ChangeDetectorRef, Input, Host, Inject, AfterContentInit } from \"@angular/core\";\r\nimport { CoCheckboxComponent } from '../coCheckboxComponent';\r\nimport { InputViewModel } from \"../../shared\";\r\nimport { BaseComponent } from \"../../../../pages/shared/baseComponent\";\r\n\r\n@Component({ template: '' })\r\nexport class BaseCheckboxComponent extends BaseComponent {\r\n\r\n @Input()\r\n view: InputViewModel;\r\n\r\n constructor(public checkbox: CoCheckboxComponent, protected cdr: ChangeDetectorRef) {\r\n super();\r\n }\r\n\r\n public updateStyle(): void { }\r\n\r\n onClick($event): void {\r\n this.checkbox.processEvent($event);\r\n }\r\n\r\n onHelpClick($event): void {\r\n this.checkbox.helpClick($event);\r\n }\r\n\r\n}","import { Component, ViewChild, ElementRef, ChangeDetectorRef, Input, Host, Inject, forwardRef, SimpleChanges } from \"@angular/core\";\r\nimport { BaseCheckboxComponent } from './baseCheckboxComponent';\r\nimport { CoCheckboxComponent } from \"../coCheckboxComponent\";\r\nimport { ImageSets } from \"../../../utils\";\r\n\r\n@Component({\r\n selector: 'classic-checkbox',\r\n templateUrl: './classicCheckboxComponent.html'\r\n})\r\nexport class ClassicCheckboxComponent extends BaseCheckboxComponent {\r\n\r\n @Input()\r\n public viewValue;\r\n\r\n public stateString: string;\r\n\r\n public imageSet: string;\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['viewValue']) {\r\n this.stateString = this.getState();\r\n }\r\n }\r\n\r\n constructor(\r\n @Host() @Inject(forwardRef(() => CoCheckboxComponent)) public checkbox: CoCheckboxComponent,\r\n protected cdr: ChangeDetectorRef\r\n ) {\r\n super(checkbox, cdr);\r\n }\r\n\r\n ngOnInit() {\r\n this.imageSet = this.getImageSet(ImageSets.ControlLock);\r\n super.ngOnInit();\r\n }\r\n\r\n getState(): any {\r\n return this.checkbox.extractState(this.view.value);\r\n }\r\n\r\n @ViewChild('chekBoxButton')\r\n inputControlRef: ElementRef;\r\n\r\n \r\n readOnlyClick(): void {\r\n this.checkbox.notifyIfReadOnly(this.view, null);\r\n }\r\n\r\n}","
\r\n\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n {{view.title}}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n ?\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n","import { Component, ViewChild, ElementRef, ChangeDetectorRef, Input, Host, Inject, forwardRef, SimpleChanges } from \"@angular/core\";\r\nimport { BaseCheckboxComponent } from './baseCheckboxComponent';\r\nimport { CoCheckboxComponent } from \"../coCheckboxComponent\";\r\n\r\n@Component({\r\n selector: 'standard-checkbox',\r\n templateUrl: \"standardCheckboxComponent.html\"\r\n})\r\nexport class StandardCheckboxComponent extends BaseCheckboxComponent {\r\n\r\n constructor(\r\n @Host() @Inject(forwardRef(() => CoCheckboxComponent)) public checkbox: CoCheckboxComponent,\r\n protected cdr: ChangeDetectorRef\r\n ) {\r\n super(checkbox, cdr);\r\n }\r\n\r\n @ViewChild('chekboxButton')\r\n inputControlRef: ElementRef;\r\n\r\n ngAfterContentInit() {\r\n \r\n }\r\n\r\n /**\r\n * TODO: Need more work to make this checkbox component functional for configurator page.\r\n * @param $event\r\n */\r\n onClick($event): void {\r\n this.checkbox.notifyValueChange(this.view, $event.target.checked, this.inputControlRef.nativeElement);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n\r\n if (changes['view'] && !changes['view'].firstChange) {\r\n\r\n // Note! template is not detecting the view.value that's we have set the value to control forcefully.\r\n this.inputControlRef.nativeElement.checked = this.view.value; \r\n\r\n }\r\n\r\n }\r\n\r\n}","
\r\n \r\n \r\n
","import { Input, Inject, Component } from \"@angular/core\";\r\nimport { HttpService } from \"../../providers\";\r\nimport { GlobalDataStore } from \"../../../pages/shared/providers/globalData\";\r\n\r\n@Component({\r\n selector: 'custom-link',\r\n templateUrl: './customLinkComponent.html',\r\n})\r\nexport class CustomLinkComponent {\r\n\r\n @Input()\r\n public targetSelf: boolean = false;\r\n\r\n @Input()\r\n public clickable: boolean = true;\r\n\r\n @Input()\r\n public url: string;\r\n\r\n @Input()\r\n public title: string;\r\n\r\n @Input()\r\n public extraStyles: string;\r\n\r\n @Input()\r\n public icon: string;\r\n\r\n @Input()\r\n public defaultIcon = 'document';\r\n\r\n @Input()\r\n public showIcon: boolean = true;\r\n\r\n @Input()\r\n public isRemote: boolean;\r\n\r\n @Input()\r\n public imageSet = 'primary';\r\n\r\n public linkTarget: string = \"_blank\";\r\n\r\n constructor(@Inject(HttpService) public httpService: HttpService,\r\n @Inject(GlobalDataStore) public globalDataStore: GlobalDataStore\r\n ) { }\r\n\r\n ngOnInit() {\r\n if (this.isRemote == null)\r\n this.isRemote = this.globalDataStore.getGlobalData().webSettings.isVaultDirectoryRemote;\r\n\r\n this.linkTarget = this.targetSelf ? \"_self\" : \"_blank\";\r\n }\r\n\r\n public openLink() {\r\n this.httpService.downloadFile(this.url);\r\n }\r\n\r\n}","\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n {{title}}\r\n
\r\n
","import { Component, ViewChild, Output, Input, EventEmitter, ChangeDetectionStrategy, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { MatCalendar } from '@angular/material/datepicker';\r\nimport { ConfigDatepickerService} from '../providers/configDatepickerService';\r\n\r\n@Component({\r\n selector: 'calendar-wrapper',\r\n templateUrl: './decoratedCalendarComponent.html', \r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class DecoratedCalenderComponent implements OnChanges {\r\n\r\n @ViewChild(MatCalendar) matCalendar: MatCalendar;\r\n\r\n @Output() readonly selectedDateChange: EventEmitter = new EventEmitter();\r\n\r\n @Input() selectedDate: Date;\r\n @Input() prefixLabel: string;\r\n @Input() minDate: Date;\r\n @Input() maxDate: Date;\r\n weekendFilter = (d: Date) => true;\r\n dateFormat: string;\r\n\r\n constructor(private config: ConfigDatepickerService) {\r\n this.dateFormat = config.dateRangeOptions.format;\r\n if (config.dateRangeOptions.excludeWeekends) {\r\n this.weekendFilter = (d: Date): boolean => {\r\n const day = d.getDay();\r\n return day !== 0 && day !== 6;\r\n }\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n // Necessary to force view refresh\r\n //this.matCalendar._activeDate = changes.selectedDate.currentValue;\r\n }\r\n\r\n onSelectedChange(date) {\r\n this.selectedDateChange.emit(date);\r\n }\r\n\r\n onYearSelected(e) { }\r\n\r\n onUserSelection(e) { }\r\n\r\n}","
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n
","import { NgModule, InjectionToken } from '@angular/core';\r\nimport { CommonModule, DatePipe } from '@angular/common';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatNativeDateModule } from '@angular/material/core';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatDividerModule } from '@angular/material/divider';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { InputDatepickerFieldComponent } from './inputs/inputDatepickerFieldComponent';\r\nimport { DateRangePickerComponent } from './range/dateRangeOverlayComponent';\r\nimport { DecoratedCalenderComponent } from './calendar/decoratedCalendarComponent';\r\nimport { DropDownDateRangesComponent } from './range/dropDownDateRangesComponent';\r\nimport { OverlayDatepickerService } from './providers/overlayDatepickerService';\r\nimport { RangeDatepickerService, DATE } from './providers/rangeDatepickerService';\r\nimport { ConfigDatepickerService } from './providers/configDatepickerService';\r\nimport { PresetService } from './providers/presetService';\r\nimport { ImageModule } from \"../image\";\r\nimport { TextBoxModule } from \"../textBox\";\r\n\r\n\r\nexport * from './models/model';\r\nexport * from './inputs/inputDatepickerFieldComponent';\r\nexport * from './range/dateRangeOverlayComponent';\r\nexport * from './calendar/decoratedCalendarComponent';\r\nexport * from './range/dropDownDateRangesComponent';\r\nexport * from './providers/overlayDatepickerService';\r\nexport * from './providers/rangeDatepickerService';\r\nexport * from './providers/configDatepickerService';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n BrowserAnimationsModule,\r\n MatFormFieldModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatInputModule,\r\n MatDividerModule,\r\n MatButtonModule,\r\n MatTooltipModule,\r\n MatIconModule,\r\n OverlayModule,\r\n ImageModule,\r\n TextBoxModule \r\n ],\r\n declarations: [\r\n InputDatepickerFieldComponent,\r\n DecoratedCalenderComponent,\r\n DateRangePickerComponent,\r\n DropDownDateRangesComponent\r\n ],\r\n providers: [\r\n //OverlayDatepickerService,\r\n //RangeDatepickerService,\r\n //PresetService,\r\n //ConfigDatepickerService,\r\n //DatePipe,\r\n //{ provide: DATE, useValue: new Date() }\r\n ],\r\n \r\n entryComponents: [DateRangePickerComponent],\r\n exports: [InputDatepickerFieldComponent]\r\n})\r\nexport class DateRangePickerModule { }","import { Component, OnInit, ViewChild, Output, ElementRef, EventEmitter, Input, OnDestroy, AfterViewChecked, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core';\r\nimport { DatePipe } from '@angular/common';\r\nimport { OverlayRef } from '@angular/cdk/overlay';\r\nimport { OverlayDatepickerService } from '../providers/overlayDatepickerService';\r\nimport { RangeDatepickerService, DATE } from '../providers/rangeDatepickerService';\r\nimport { Range, DateRangeOptions, CalendarDialogConfig } from '../models/model';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { ConfigDatepickerService } from '../providers/configDatepickerService';\r\nimport { PresetService } from '../providers/presetService';\r\nimport { Element } from '@angular/compiler';\r\nimport { DateValueModel } from \"../..\";\r\n\r\n@Component({\r\n selector: 'date-range-picker',\r\n templateUrl: './inputDatepickerFieldComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [ OverlayDatepickerService,\r\n RangeDatepickerService,\r\n PresetService,\r\n ConfigDatepickerService,\r\n DatePipe,\r\n { provide: DATE, useValue: new Date() }]\r\n})\r\nexport class InputDatepickerFieldComponent implements OnInit, OnDestroy, AfterViewChecked {\r\n \r\n @ViewChild('matFormField')\r\n protected matFormField: ElementRef; \r\n\r\n @Output()\r\n protected readonly selectedDateRangeChanged: EventEmitter = new EventEmitter();\r\n\r\n @Input()\r\n protected options: DateRangeOptions;\r\n\r\n @Input()\r\n public width: string;\r\n\r\n @Input()\r\n protected showPresetLabel: boolean = true;\r\n\r\n @Input()\r\n public imageSet: string;\r\n\r\n protected rangeUpdateSubscription: Subscription;\r\n public displayText: string = \"\";\r\n public showClearOption: boolean = false;\r\n\r\n constructor(\r\n protected changeDetectionRef: ChangeDetectorRef,\r\n protected calendarOverlayService: OverlayDatepickerService,\r\n protected rangeDatepickerService: RangeDatepickerService,\r\n protected configStoreService: ConfigDatepickerService, \r\n protected datePipe: DatePipe\r\n ) {\r\n \r\n }\r\n\r\n ngOnInit() {\r\n this.configStoreService.dateRangeOptions = this.options;\r\n \r\n this.rangeUpdateSubscription = this.rangeDatepickerService.rangeUpdateSubscription.subscribe(\r\n (valueModel) => {\r\n \r\n this.displayText = valueModel.displayText;\r\n this.showClearOption = valueModel.range != null; // If range is defined then show the 'clear value' icon.\r\n this.selectedDateRangeChanged.emit(valueModel);\r\n }\r\n );\r\n\r\n this.rangeDatepickerService.updateRange(this.valueModel(this.options.range.fromDate, this.options.range.toDate));\r\n this.changeDetectionRef.detectChanges();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.rangeUpdateSubscription.unsubscribe();\r\n }\r\n\r\n private formatToDateString(date: Date, format: string): string {\r\n return this.datePipe.transform(date, format);\r\n }\r\n\r\n ngAfterViewChecked() {\r\n\r\n }\r\n\r\n openCalendar(event) {\r\n\r\n let calenderOptions = { minWidth: this.matFormField.nativeElement.offsetWidth };\r\n\r\n this.configStoreService.calendarDialogConfig = calenderOptions;\r\n const overlayRef: OverlayRef = this.calendarOverlayService.open(calenderOptions, this.matFormField);\r\n\r\n }\r\n\r\n /**\r\n * TODO: This method is not used right now, but later we will use this for input field when showing simple datepicker.\r\n * @param event\r\n */\r\n valueChanged(event) {\r\n\r\n let [fromDateStr, toDateStr] = event.target.value.split(\"-\");\r\n if (fromDateStr && toDateStr) {\r\n const from = new Date(fromDateStr);\r\n const to = new Date(toDateStr); \r\n this.rangeDatepickerService.updateRange(this.valueModel(from, to));\r\n }\r\n else { \r\n this.rangeDatepickerService.updateRange(this.valueModel()); \r\n }\r\n\r\n }\r\n\r\n clearDate(event: Event) {\r\n event.stopImmediatePropagation();\r\n this.rangeDatepickerService.updateRange(this.valueModel());\r\n }\r\n\r\n valueModel(from?: Date, to?: Date): DateValueModel {\r\n return this.configStoreService.createDateValueModel(from, to);\r\n }\r\n\r\n}","\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{displayText}}\r\n \r\n \r\n \r\n
\r\n
\r\n","export enum TimeSpanType {\r\n Day = 'day',\r\n Month = 'month',\r\n Year = 'year',\r\n Quarter = 'quarter',\r\n}\r\n\r\nexport class PresetItem {\r\n predefinedLabel: string; // Display label in input box\r\n identifier: string; // Preset identifier used at backend.\r\n range: Range;\r\n}\r\n\r\nexport class Range {\r\n\r\n constructor(public fromDate: Date, public toDate: Date)\r\n {}\r\n}\r\n\r\nexport class DateValueModel {\r\n\r\n range?: Range;\r\n displayText?: string; // Shown in textbox.\r\n value?: string; // Value to be stored into database.\r\n isPreset?: boolean; // If not preset then It means it is custom range.\r\n\r\n}\r\n\r\nexport class CalendarDialogConfig {\r\n panelClass?: string;\r\n hasBackdrop?: boolean;\r\n backdropClass?: string;\r\n shouldCloseOnBackdropClick?: boolean; \r\n minWidth?: number;\r\n}\r\n\r\nexport class DateRangeOptions {\r\n\r\n predefinedItems: Array;\r\n format: string;\r\n range: Range;\r\n excludeWeekends?: boolean;\r\n locale?: string;\r\n fromMinMax?: Range;\r\n toMinMax?: Range;\r\n applyLabel?: string;\r\n cancelLabel?: string;\r\n emptyValueLabel?: string;\r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport { CalendarDialogConfig, DateRangeOptions, PresetItem, DateValueModel } from '../models/model';\r\nimport { DatePipe } from '@angular/common';\r\n\r\n@Injectable()\r\nexport class ConfigDatepickerService {\r\n\r\n private _calendarDialogConfig: CalendarDialogConfig;\r\n private _dateRangeOptions: DateRangeOptions;\r\n private defaultOptions = {\r\n excludeWeekends: false,\r\n locale: 'en-US',\r\n format: 'yyyy-MM-dd',\r\n fromMinMax: { fromDate: null, toDate: null },\r\n toMinMax: { fromDate: null, toDate: null }\r\n };\r\n\r\n constructor(private datePipe: DatePipe) { }\r\n\r\n get calendarDialogConfig(): CalendarDialogConfig {\r\n return this._calendarDialogConfig;\r\n }\r\n\r\n get dateRangeOptions(): DateRangeOptions {\r\n return this._dateRangeOptions;\r\n }\r\n\r\n set calendarDialogConfig(config: CalendarDialogConfig) {\r\n this._calendarDialogConfig = config;\r\n }\r\n\r\n set dateRangeOptions(options: DateRangeOptions) {\r\n this._dateRangeOptions = { ...this.defaultOptions, ...options };\r\n }\r\n\r\n /**\r\n * Returns the matched preset item. It returns null If no match found.\r\n * @param fromDate\r\n * @param toDate\r\n */\r\n getPreset(fromDate: Date, toDate: Date): PresetItem {\r\n\r\n // TODO Move this method to somewhere else\r\n\r\n for (let p of this._dateRangeOptions.predefinedItems)\r\n if (p.range.fromDate.valueOf() == fromDate.valueOf() && p.range.toDate.valueOf() == toDate.valueOf())\r\n return p;\r\n\r\n return null;\r\n } \r\n\r\n\r\n /**\r\n * Creates the date value model from provided range.\r\n * @param fromDate\r\n * @param toDate\r\n */\r\n createDateValueModel(fromDate: Date, toDate: Date): DateValueModel {\r\n\r\n // TODO Move this method to somewhere else\r\n\r\n const valueModel: DateValueModel = {};\r\n\r\n if (!fromDate || !toDate) {\r\n\r\n // No range selected.\r\n valueModel.displayText = this._dateRangeOptions.emptyValueLabel; \r\n return valueModel;\r\n }\r\n\r\n // If preset value selected\r\n const preset = this.getPreset(fromDate, toDate);\r\n if (preset) {\r\n valueModel.displayText = preset.predefinedLabel;\r\n valueModel.range = preset.range;\r\n valueModel.isPreset = true;\r\n valueModel.value = preset.identifier;\r\n }\r\n else {\r\n\r\n const from: string = this.formatToDateString(fromDate, this._dateRangeOptions.format);\r\n const to: string = this.formatToDateString(toDate, this._dateRangeOptions.format);\r\n\r\n valueModel.range = { fromDate: fromDate, toDate: toDate };\r\n valueModel.isPreset = false;\r\n valueModel.displayText = `${from} - ${to}`;\r\n valueModel.value = `${from}...${to}`;;\r\n }\r\n\r\n return valueModel;\r\n }\r\n\r\n public formatToDateString(date: Date, format: string): string {\r\n\r\n return this.datePipe.transform(date, format);\r\n\r\n }\r\n\r\n\r\n}","import { Injectable, ElementRef, Injector } from '@angular/core';\r\nimport { Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\r\nimport { ComponentPortal, PortalInjector } from '@angular/cdk/portal';\r\nimport { DateRangePickerComponent } from '../range/dateRangeOverlayComponent';\r\nimport { DateRangeOptions, CalendarDialogConfig } from '../models/model';\r\nimport { takeWhile } from 'rxjs/operators';\r\n\r\n\r\n\r\nconst DEFAULT_CONFIG: CalendarDialogConfig = {\r\n panelClass: 'drp-overlay', // DateRangePicker-overlay\r\n hasBackdrop: true,\r\n backdropClass: 'drp-overlay-backdrop', // Backdrop\r\n shouldCloseOnBackdropClick: true\r\n}\r\n\r\n@Injectable()\r\nexport class OverlayDatepickerService {\r\n\r\n private hostElemRef: ElementRef;\r\n\r\n constructor(private overlay: Overlay, private injector: Injector) { }\r\n\r\n open(config: CalendarDialogConfig = {}, hostElemRef: ElementRef): OverlayRef {\r\n this.hostElemRef = hostElemRef;\r\n const overlayConfig = { ...DEFAULT_CONFIG, ...config };\r\n const overlayRef = this.createOverlay(overlayConfig);\r\n const portalInjector = this.createInjector(overlayRef);\r\n const calendarPortal = new ComponentPortal(DateRangePickerComponent, null, portalInjector);\r\n overlayRef.attach(calendarPortal);\r\n\r\n overlayRef.backdropClick()\r\n .pipe(takeWhile(() => overlayConfig.shouldCloseOnBackdropClick))\r\n .subscribe(\r\n () => overlayRef.dispose()\r\n );\r\n\r\n return overlayRef;\r\n }\r\n\r\n private createOverlay(config: CalendarDialogConfig): OverlayRef {\r\n const overlayConfig = this.getOverlayConfig(config);\r\n return this.overlay.create(overlayConfig);\r\n }\r\n\r\n private getOverlayConfig(dialogConfig: CalendarDialogConfig): OverlayConfig {\r\n const positionStrategy = this.overlay.position()\r\n .connectedTo(\r\n this.hostElemRef,\r\n { originX: 'start', originY: 'bottom' },\r\n { overlayX: 'start', overlayY: 'top' }\r\n ).withOffsetY(0).withOffsetX(2);\r\n\r\n const overlayConfig = new OverlayConfig({\r\n hasBackdrop: dialogConfig.hasBackdrop,\r\n backdropClass: dialogConfig.backdropClass,\r\n panelClass: dialogConfig.panelClass,\r\n scrollStrategy: this.overlay.scrollStrategies.block(), \r\n positionStrategy,\r\n height: `calc(100% - ${this.hostElemRef.nativeElement.getBoundingClientRect().top + 30}px)`,\r\n minWidth: \"320px\"\r\n });\r\n\r\n return overlayConfig;\r\n }\r\n\r\n private createInjector(overlayRef: OverlayRef): PortalInjector {\r\n const injectionTokens = new WeakMap();\r\n injectionTokens.set(OverlayRef, overlayRef);\r\n\r\n return new PortalInjector(this.injector, injectionTokens);\r\n }\r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport { PresetItem, Range } from \"../..\";\r\n\r\n@Injectable()\r\nexport class PresetService {\r\n \r\n public presets: Array = [];\r\n\r\n isPreset(range: Range): boolean {\r\n\r\n if (range.fromDate && range.toDate) {\r\n\r\n for (let p of this.presets)\r\n if (this.equal(p.range, range))\r\n return true; \r\n\r\n }\r\n\r\n return false;\r\n }\r\n\r\n equal(range1: Range, range2: Range): boolean {\r\n\r\n if (!range1.toDate || !range1.toDate || !range2.toDate || !range2.toDate)\r\n return false;\r\n\r\n return (range1.fromDate.valueOf() == range2.fromDate.valueOf() && range1.toDate.valueOf() == range2.toDate.valueOf())\r\n }\r\n\r\n}","import { Injectable, Inject, InjectionToken } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { Range, DateValueModel } from '../models/model';\r\n\r\n\r\nexport const DATE = new InjectionToken('date');\r\n\r\n@Injectable()\r\nexport class RangeDatepickerService {\r\n\r\n rangeUpdateSubscription: Subject = new Subject();\r\n\r\n private _fromDate: Date;\r\n private _toDate: Date;\r\n\r\n constructor(\r\n //@Inject(DATE) private _fromDate: Date, // Default date\r\n //@Inject(DATE) private _toDate: Date // Default date\r\n ) {\r\n\r\n }\r\n\r\n /* set fromDate(fromDate:Date) {\r\n this._fromDate = fromDate;\r\n } */\r\n\r\n get fromDate(): Date {\r\n return this._fromDate;\r\n }\r\n\r\n get range(): Range {\r\n return {\r\n fromDate: this.fromDate,\r\n toDate: this.toDate\r\n }\r\n }\r\n\r\n /* set toDate(toDate:Date) {\r\n this._toDate = toDate;\r\n } */\r\n\r\n get toDate(): Date {\r\n return this._toDate;\r\n }\r\n \r\n updateRange(valueModel: DateValueModel) { \r\n\r\n if (valueModel.range) {\r\n this._fromDate = valueModel.range.fromDate;\r\n this._toDate = valueModel.range.toDate;\r\n }\r\n \r\n this.rangeUpdateSubscription.next(valueModel);\r\n }\r\n\r\n}","import { Component, OnInit, ViewChild, ElementRef, HostListener, ChangeDetectorRef } from '@angular/core';\r\nimport { PresetItem, DateRangeOptions, DateValueModel } from '../models/model';\r\nimport { RangeDatepickerService } from '../providers/rangeDatepickerService';\r\nimport { OverlayRef } from '@angular/cdk/overlay';\r\nimport { ConfigDatepickerService } from '../providers/configDatepickerService';\r\ndeclare var jQuery: any;\r\n\r\n@Component({\r\n selector: 'mat-drp-range',\r\n templateUrl: './dateRangeOverlayComponent.html' \r\n})\r\nexport class DateRangePickerComponent implements OnInit {\r\n\r\n fromDate: Date;\r\n toDate: Date;\r\n fromMinDate: Date;\r\n fromMaxDate: Date;\r\n toMinDate: Date;\r\n toMaxDate: Date;\r\n presets: Array = [];\r\n applyLabel: string;\r\n cancelLabel: string;\r\n showCustomRangeForm: boolean = false;\r\n\r\n // As window.click is triggered right after calling the showCustomRange method and we have written the logic to close the date range picker in window.click.\r\n // This new field helps to prevent closing the window when opening it first time.\r\n isIntermediateStateWhileOpening: boolean = false;\r\n minWidth: number;\r\n\r\n @ViewChild('dateRangeOverlay')\r\n dateRangeOverlay: ElementRef;\r\n\r\n constructor(\r\n private rangeStoreService: RangeDatepickerService,\r\n private configStoreService: ConfigDatepickerService,\r\n private overlayRef: OverlayRef,\r\n private cdr: ChangeDetectorRef\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.minWidth = this.configStoreService.calendarDialogConfig.minWidth;\r\n this.fromDate = this.rangeStoreService.fromDate;\r\n this.toDate = this.rangeStoreService.toDate;\r\n this.applyLabel = this.configStoreService.dateRangeOptions.applyLabel || \"Apply\";\r\n this.cancelLabel = this.configStoreService.dateRangeOptions.cancelLabel || \"Cancel\";\r\n this.presets = this.configStoreService.dateRangeOptions.predefinedItems;\r\n ({ fromDate: this.fromMinDate, toDate: this.fromMaxDate } = this.configStoreService.dateRangeOptions.fromMinMax);\r\n ({ fromDate: this.toMinDate, toDate: this.toMaxDate } = this.configStoreService.dateRangeOptions.toMinMax); \r\n\r\n if (this.presets.length == 0)\r\n this.showCustomRange();\r\n }\r\n\r\n updateFromDate(date) {\r\n this.fromDate = date;\r\n //this.overlayRef.getConfig();\r\n }\r\n\r\n updateToDate(date) {\r\n this.toDate = date;\r\n this.applyNewDates();\r\n }\r\n\r\n updateRangeByPreset(presetItem: PresetItem) { // Need a better way to expose API for setting presets externally\r\n //this.rangeStoreService.updateRange(presetItem.range.fromDate, presetItem.range.toDate);\r\n this.updateFromDate(presetItem.range.fromDate);\r\n this.updateToDate(presetItem.range.toDate);\r\n }\r\n\r\n applyNewDates() {\r\n\r\n this.rangeStoreService.updateRange(this.configStoreService.createDateValueModel(this.fromDate, this.toDate));\r\n this.disposeOverLay();\r\n }\r\n\r\n showCustomRange() {\r\n this.showCustomRangeForm = true;\r\n this.isIntermediateStateWhileOpening = true;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n private disposeOverLay() {\r\n this.overlayRef.dispose();\r\n }\r\n\r\n @HostListener('window:click', ['$event'])\r\n close(c): void {\r\n\r\n if (this.isIntermediateStateWhileOpening) {\r\n this.isIntermediateStateWhileOpening = false;\r\n return;\r\n }\r\n\r\n var clickedOn = jQuery(event.target);\r\n var current = jQuery(this.dateRangeOverlay.nativeElement);\r\n\r\n // If clicked outside the calender, then close it. \r\n // As DateRangePicker closes automatically when we select the end date but if we reopen the date range picker and only change the start date and ignore end date \r\n // then date range picker needs to be closed on click outside.\r\n if (this.showCustomRangeForm && !clickedOn.parents().is(current)) {\r\n this.applyNewDates();\r\n this.showCustomRangeForm = false;\r\n }\r\n\r\n }\r\n\r\n}","
\r\n\r\n
0\" class=\"preset-ranges col\" [style.minWidth.px]=\"minWidth\" > \r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
","import { Component, OnInit, Output, EventEmitter, Input, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';\r\nimport { PresetItem, Range } from '../models/model';\r\nimport { ConfigDatepickerService } from '../providers/configDatepickerService';\r\nimport { RangeDatepickerService } from '../providers/rangeDatepickerService';\r\nimport { PresetService } from '../providers/presetService';\r\nimport { Subscription } from 'rxjs';\r\n\r\ninterface DropDownItem { title: string; value: any; selected?: boolean }\r\n\r\n@Component({\r\n selector: 'drp-date-ranges',\r\n templateUrl: './dropDownDateRangesComponent.html', \r\n changeDetection: ChangeDetectionStrategy.OnPush \r\n})\r\nexport class DropDownDateRangesComponent implements OnInit {\r\n\r\n @Input() presets: Array;\r\n\r\n items: Array = [];\r\n \r\n // Triggers when default range gets changed.\r\n @Output() readonly presetsChanged: EventEmitter = new EventEmitter();\r\n @Output() readonly customRange: EventEmitter = new EventEmitter();\r\n \r\n constructor(protected rangePickerService: RangeDatepickerService,\r\n protected presetService: PresetService\r\n ) { }\r\n\r\n ngOnInit() {\r\n\r\n this.items = [];\r\n let selectedRange: Range = this.rangePickerService.range;\r\n let isPresetSelected: boolean = false;\r\n\r\n this.presets.forEach(preset => {\r\n\r\n let currentItemSelected: boolean = false;\r\n\r\n if (!isPresetSelected)\r\n currentItemSelected = isPresetSelected = this.presetService.equal(preset.range, selectedRange)\r\n\r\n\r\n const item: DropDownItem = { title: preset.predefinedLabel, value: preset, selected: currentItemSelected };\r\n this.items.push(item);\r\n\r\n });\r\n\r\n // Add custom range\r\n let isCustomRangeSelected: boolean = !isPresetSelected && selectedRange.fromDate != null && selectedRange.toDate != null;\r\n\r\n this.items.push({ title: 'Custom range', value: null, selected: isCustomRangeSelected }); // TODO Custom range text in config file.\r\n if (isCustomRangeSelected)\r\n this.customRange.emit();\r\n\r\n }\r\n\r\n \r\n onItemClick(item: DropDownItem) {\r\n\r\n for (const itm of this.items)\r\n itm.selected = itm.value == item.value;\r\n\r\n // Is preset?\r\n if (item.value)\r\n this.presetsChanged.emit(item.value); // Value is preset.\r\n\r\n else this.customRange.emit(item);\r\n }\r\n\r\n \r\n}","
    \r\n
  • \r\n {{item.title}}\r\n
  • \r\n
\r\n\r\n","import { Injectable, Inject } from \"@angular/core\";\r\nimport { NgbDateStruct, NgbDateParserFormatter } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport * as moment from 'moment';\r\n\r\n/**\r\n * This Service handles how the date is rendered and parsed from keyboard i.e. in the bound input field.\r\n */\r\n@Injectable()\r\nexport class CustomDateParserFormatter extends NgbDateParserFormatter {\r\n\r\n\tpublic dateFormat: string; \r\n\r\n\tparse(value: string): NgbDateStruct | null {\r\n\t\tif (value) {\r\n\r\n\t\t\tlet dateFormat: string = this.dateFormat;\r\n\t\t\tif (dateFormat) {\r\n\t\t\t\tdateFormat = dateFormat.toLocaleUpperCase();\r\n\t\t\t}\r\n\r\n\t\t\tconst dt = moment(value, dateFormat);\r\n\r\n\t\t\treturn {\r\n\t\t\t\tday: dt.date(),\r\n\t\t\t\tmonth: dt.month(),\r\n\t\t\t\tyear: dt.year(),\r\n\t\t\t};\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n\r\n\tformat(date: NgbDateStruct | null): string {\r\n\r\n\t\tlet dateFormat: string = this.dateFormat;\r\n\t\tif (dateFormat) {\r\n\r\n\t\t\tdateFormat = dateFormat.toLocaleUpperCase();\r\n }\r\n\r\n\t\tif (date) {\r\n\t\t\tlet dateStr = date.day + '-' + date.month + '-' + date.year;\r\n\t\t\t// Add input format and return according to global settings format.\r\n\t\t\treturn moment(dateStr, 'DD-MM-YYYY').format(dateFormat);\r\n\t\t}\r\n\t\telse\r\n\t\t\treturn '';\r\n\t}\r\n}","import { DatePipe } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, Input, SimpleChanges, ViewChild, ElementRef } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { MatDatepickerInputEvent } from '@angular/material/datepicker';\r\nimport { NgbDateStruct, NgbDateParserFormatter } from '@ng-bootstrap/ng-bootstrap';\r\nimport * as moment from 'moment';\r\nimport { BaseInputComponent } from \"../shared\";\r\nimport { CustomDateParserFormatter } from './customDateParserFormatter';\r\n\r\n\r\n@Component({\r\n selector: 'datepicker',\r\n templateUrl: './datepickerComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [DatePipe]\r\n})\r\nexport class DatepickerComponent extends BaseInputComponent {\r\n \r\n public selectedDate = new FormControl(new Date());\r\n public date: { year: number, month: number };\r\n public model: NgbDateStruct;\r\n \r\n navigation = 'select'; \r\n outsideDays = 'visible';\r\n\r\n @Input()\r\n public dateFormat: string;\r\n\r\n @Input()\r\n public weekNumbersEnabled: boolean = true;\r\n\r\n @ViewChild('inputDatapicker')\r\n public inputDatapicker: ElementRef;\r\n\r\n constructor(private datePipe: DatePipe, protected formatter: NgbDateParserFormatter) {\r\n super(); \r\n }\r\n \r\n ngOnInit() {\r\n\r\n // Default if not defined.\r\n if (!this.dateFormat)\r\n this.dateFormat = 'yyyy-MM-dd';\r\n \r\n if (this.view.value)\r\n this.setValue();\r\n \r\n else this.selectedDate.setValue(null);\r\n\r\n (this.formatter as CustomDateParserFormatter).dateFormat = this.dateFormat;\r\n\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n\r\n if (changes['view'] && !changes['view'].firstChange) {\r\n this.setValue();\r\n }\r\n\r\n }\r\n \r\n processEvent($event, checkImmediate: boolean): void {\r\n\r\n this.notify(this.formatToDateString($event), checkImmediate);\r\n \r\n }\r\n\r\n setValue() {\r\n\r\n let date = moment(this.view.value?.replace(/-/g, \"/\"), this.dateFormat.toUpperCase());\r\n this.model = this.createDateModel(date?.date(), date?.month() + 1, date?.year()); \r\n\r\n }\r\n\r\n createDateModel(date: number, month: number, year: number): any {\r\n return { day: date, month: month, year: year };\r\n }\r\n\r\n notify(date: string, checkImmediate: boolean): void {\r\n\r\n // Remove highlighting now, otherwise it will wait for server response and cause flickering.\r\n this.view.highlight = false;\r\n\r\n if (checkImmediate && !this.immediate)\r\n return;\r\n\r\n this.notifyValueChange(this.view, date);\r\n }\r\n\r\n public formatToDateString(date): string {\r\n\r\n if (date == \"\")\r\n date = null;\r\n\r\n if (date != null) {\r\n\r\n let mDate = moment(date, this.dateFormat.toUpperCase());\r\n\r\n const jsDate: any = this.createDateModel(mDate.date(), mDate.month() + 1, mDate.year());\r\n return this.formatter.format(jsDate);\r\n\r\n }\r\n\r\n return date;\r\n }\r\n\r\n endDateChange(type: string, event: MatDatepickerInputEvent) {\r\n\r\n if (!event.value)\r\n this.notify((event.targetElement).value, false);\r\n else\r\n this.notify(this.formatToDateString(event.value), false);\r\n }\r\n\r\n onDaySelect(ngbDate: any) {\r\n\r\n if (ngbDate) {\r\n const jsDate = new Date(ngbDate.year, ngbDate.month - 1, ngbDate.day);\r\n this.notify(this.formatToDateString(jsDate), false);\r\n }\r\n\r\n }\r\n\r\n openDatepicker(event, datepicker) {\r\n\r\n if (!datepicker.isOpen())\r\n datepicker.open();\r\n\r\n }\r\n\r\n valuechange(event) {\r\n\r\n if (event && event.target) {\r\n this.view.value = this.formatToDateString(event.target.value);\r\n this.notify(this.formatToDateString(event.target.value), false);\r\n }\r\n \r\n }\r\n\r\n closeFix(event, datepicker) {\r\n\r\n if (event.target.name == 'datepickerInput' || (datepicker && !datepicker.isOpen()))\r\n return;\r\n\r\n if (event.target.offsetParent == null || event.target.offsetParent.nodeName != \"NGB-DATEPICKER\")\r\n datepicker.close();\r\n \r\n }\r\n\r\n}\r\n","
\r\n\r\n \r\n
\r\n\r\n \r\n\r\n
\r\n \r\n\r\n\r\n
\r\n","import { OverlayModule } from '@angular/cdk/overlay';\r\nimport { CommonModule, DatePipe } from '@angular/common';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatNativeDateModule } from '@angular/material/core';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatDividerModule } from '@angular/material/divider';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { NgbDateParserFormatter, NgbDatepickerModule, NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ImageModule } from \"../image\";\r\nimport { CustomDateParserFormatter } from './customDateParserFormatter';\r\nimport { DatepickerComponent } from './datepickerComponent';\r\n\r\nexport * from './datepickerComponent';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n HttpClientModule,\r\n BrowserAnimationsModule,\r\n MatFormFieldModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatInputModule,\r\n MatDividerModule,\r\n MatButtonModule,\r\n MatTooltipModule,\r\n MatIconModule,\r\n OverlayModule,\r\n ImageModule,\r\n NgbModule,\r\n NgbDatepickerModule\r\n ],\r\n declarations: [\r\n DatepickerComponent\r\n ], \r\n providers: [\r\n { provide: NgbDateParserFormatter, useClass: CustomDateParserFormatter }\r\n ], \r\n exports: [DatepickerComponent]\r\n})\r\nexport class DatepickerModule { }","import { Component, Input, ViewChild, Output, EventEmitter, ElementRef } from \"@angular/core\";\r\nimport { Subject } from \"rxjs\";\r\nimport { debounceTime, distinctUntilChanged } from \"rxjs/operators\";\r\n\r\nimport { BaseComponent } from \"../../../pages/shared\";\r\nimport { InputViewModel, ValueChangeEventArgs } from \"../shared\";\r\nimport { TextBoxComponent } from \"../textBox\";\r\n\r\n@Component({\r\n selector: 'debounced-text-box',\r\n templateUrl: './debouncedTextBoxComponent.html'\r\n})\r\nexport class DebouncedTextBoxComponent {\r\n // Use a \"smart\" obserable search input to make it less wasteful. From https://angular.io/guide/http#more-fun-with-observables\r\n\r\n @Input()\r\n public view: InputViewModel;\r\n\r\n @Input()\r\n public delayMs = 300;\r\n\r\n @Input()\r\n public width = \"100%\";\r\n\r\n @Output()\r\n public onDebounceStart = new EventEmitter();\r\n\r\n @Output()\r\n public onDebounceEnd = new EventEmitter();\r\n\r\n @ViewChild('inputQuery')\r\n public textBoxElement: TextBoxComponent;\r\n\r\n public searchTermStream = new Subject();\r\n\r\n ngOnInit() {\r\n // Use a smart search stream to debounce keys and wait before updating the values for unique inputs.\r\n this.searchTermStream.pipe(debounceTime(this.delayMs), distinctUntilChanged()) \r\n .subscribe((query) => {\r\n this.debounceEnd(query);\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.searchTermStream)\r\n this.searchTermStream.unsubscribe();\r\n }\r\n\r\n debounceStart(query: string) {\r\n this.searchTermStream.next(query);\r\n\r\n this.onDebounceStart.emit({ value: query });\r\n }\r\n\r\n debounceEnd(query: string) {\r\n let args = new ValueChangeEventArgs();\r\n args.element = this.textBoxElement;\r\n args.value = query;\r\n args.actionView = this.view;\r\n this.onDebounceEnd.emit(args);\r\n }\r\n}","\r\n\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\n\r\nimport { DebouncedTextBoxComponent } from \"./debouncedTextBoxComponent\";\r\nimport { TextBoxModule } from \"../textBox\";\r\n\r\nexport * from \"./debouncedTextBoxComponent\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n TextBoxModule,\r\n ],\r\n declarations: [\r\n DebouncedTextBoxComponent\r\n ],\r\n exports: [\r\n DebouncedTextBoxComponent\r\n ]\r\n})\r\nexport class DebouncedTextBoxModule {\r\n\r\n}","import {Injectable, ChangeDetectorRef, ViewRef} from '@angular/core';\r\nimport {ElementRef} from '@angular/core';\r\nimport { DragDropConfig, DragImage } from './dragDropConfig';\r\nimport { DragDropService } from './dragDropService';\r\nimport { isString, isFunction, isPresent, createImage, callFun } from './dragDropUtils';\r\n\r\n@Injectable()\r\nexport abstract class AbstractComponent {\r\n _elem: HTMLElement;\r\n _dragHandle: HTMLElement;\r\n _dragHelper: HTMLElement;\r\n _defaultCursor: string;\r\n\r\n /**\r\n * Last element that was mousedown'ed\r\n */\r\n _target: EventTarget;\r\n\r\n /**\r\n * Whether the object is draggable. Default is true.\r\n */\r\n private _dragEnabled: boolean = false;\r\n set dragEnabled(enabled: boolean) {\r\n this._dragEnabled = !!enabled;\r\n this._elem.draggable = this._dragEnabled;\r\n }\r\n get dragEnabled(): boolean {\r\n return this._dragEnabled;\r\n }\r\n\r\n /**\r\n * Allows drop on this element\r\n */\r\n dropEnabled: boolean = false;\r\n /**\r\n * Drag effect\r\n */\r\n effectAllowed: string;\r\n /**\r\n * Drag cursor\r\n */\r\n effectCursor: string;\r\n\r\n /**\r\n * Restrict places where a draggable element can be dropped. Either one of\r\n * these two mechanisms can be used:\r\n *\r\n * - dropZones: an array of strings that permits to specify the drop zones\r\n * associated with this component. By default, if the drop-zones attribute\r\n * is not specified, the droppable component accepts drop operations by\r\n * all the draggable components that do not specify the allowed-drop-zones\r\n *\r\n * - allowDrop: a boolean function for droppable components, that is checked\r\n * when an item is dragged. The function is passed the dragData of this\r\n * item.\r\n * - if it returns true, the item can be dropped in this component\r\n * - if it returns false, the item cannot be dropped here\r\n */\r\n allowDrop: (dropData: any) => boolean;\r\n dropZones: string[] = [];\r\n\r\n /**\r\n * Here is the property dragImage you can use:\r\n * - The string value as url to the image\r\n *
\r\n * ...\r\n * - The DragImage value with Image and optional offset by x and y:\r\n * let myDragImage: DragImage = new DragImage(\"/images/simpler1.png\", 0, 0);\r\n * ...\r\n *
\r\n * ...\r\n * - The custom function to return the value of dragImage programmatically:\r\n *
\r\n * ...\r\n * getDragImage(value:any): string {\r\n * return value ? \"/images/simpler1.png\" : \"/images/simpler2.png\"\r\n * }\r\n */\r\n dragImage: string | DragImage | Function;\r\n\r\n cloneItem: boolean = false;\r\n\r\n constructor(elemRef: ElementRef, public _dragDropService: DragDropService, public _config: DragDropConfig,\r\n private _cdr: ChangeDetectorRef) {\r\n\r\n // Assign default cursor unless overridden\r\n this._defaultCursor = _config.defaultCursor;\r\n this._elem = elemRef.nativeElement;\r\n this._elem.style.cursor = this._defaultCursor; // set default cursor on our element\r\n //\r\n // DROP events\r\n //\r\n this._elem.ondragenter = (event: Event) => {\r\n this._onDragEnter(event);\r\n };\r\n this._elem.ondragover = (event: DragEvent) => {\r\n this._onDragOver(event);\r\n //\r\n if (event.dataTransfer != null) {\r\n event.dataTransfer.dropEffect = this._config.dropEffect.name;\r\n }\r\n\r\n return false;\r\n };\r\n this._elem.ondragleave = (event: Event) => {\r\n this._onDragLeave(event);\r\n };\r\n this._elem.ondrop = (event: Event) => {\r\n this._onDrop(event);\r\n };\r\n //\r\n // Drag events\r\n //\r\n this._elem.onmousedown = (event: MouseEvent) => {\r\n this._target = event.target;\r\n };\r\n this._elem.ondragstart = (event: DragEvent) => {\r\n if (this._dragHandle) {\r\n if (!this._dragHandle.contains(this._target)) {\r\n event.preventDefault();\r\n return;\r\n }\r\n }\r\n\r\n this._onDragStart(event);\r\n //\r\n if (event.dataTransfer != null) {\r\n event.dataTransfer.setData('text', '');\r\n // Change drag effect\r\n event.dataTransfer.effectAllowed = this.effectAllowed || this._config.dragEffect.name;\r\n // Change drag image\r\n if (isPresent(this.dragImage)) {\r\n if (isString(this.dragImage)) {\r\n (event.dataTransfer).setDragImage(createImage(this.dragImage));\r\n } else if (isFunction(this.dragImage)) {\r\n (event.dataTransfer).setDragImage(callFun(this.dragImage));\r\n } else {\r\n let img: DragImage = this.dragImage;\r\n (event.dataTransfer).setDragImage(img.imageElement, img.x_offset, img.y_offset);\r\n }\r\n } else if (isPresent(this._config.dragImage)) {\r\n let dragImage: DragImage = this._config.dragImage;\r\n (event.dataTransfer).setDragImage(dragImage.imageElement, dragImage.x_offset, dragImage.y_offset);\r\n } else if (this.cloneItem) {\r\n this._dragHelper = this._elem.cloneNode(true);\r\n this._dragHelper.classList.add('dnd-drag-item');\r\n this._dragHelper.style.position = \"absolute\";\r\n this._dragHelper.style.top = \"0px\";\r\n this._dragHelper.style.left = \"-1000px\";\r\n this._elem.parentElement.appendChild(this._dragHelper);\r\n (event.dataTransfer).setDragImage(this._dragHelper, event.offsetX, event.offsetY);\r\n }\r\n\r\n // Change drag cursor\r\n let cursorelem = (this._dragHandle) ? this._dragHandle : this._elem;\r\n\r\n if (this._dragEnabled) {\r\n cursorelem.style.cursor = this.effectCursor ? this.effectCursor : this._config.dragCursor;\r\n } else {\r\n cursorelem.style.cursor = this._defaultCursor;\r\n }\r\n }\r\n };\r\n\r\n this._elem.ondragend = (event: Event) => {\r\n if (this._elem.parentElement && this._dragHelper) {\r\n this._elem.parentElement.removeChild(this._dragHelper);\r\n }\r\n // console.log('ondragend', event.target);\r\n this._onDragEnd(event);\r\n // Restore style of dragged element\r\n let cursorelem = (this._dragHandle) ? this._dragHandle : this._elem;\r\n\r\n //if(cursorelem.draggable)\r\n // cursorelem.style.color = 'red';\r\n\r\n cursorelem.style.cursor = this._defaultCursor;\r\n };\r\n }\r\n\r\n public setDragHandle(elem: HTMLElement) {\r\n this._dragHandle = elem;\r\n }\r\n /******* Change detection ******/\r\n\r\n detectChanges () {\r\n // Programmatically run change detection to fix issue in Safari\r\n setTimeout(() => {\r\n if ( this._cdr && !(this._cdr as ViewRef).destroyed ) {\r\n this._cdr.detectChanges();\r\n }\r\n }, 250);\r\n }\r\n\r\n //****** Droppable *******//\r\n private _onDragEnter(event: Event): void {\r\n // console.log('ondragenter._isDropAllowed', this._isDropAllowed);\r\n if (this._isDropAllowed(event)) {\r\n // event.preventDefault();\r\n this._onDragEnterCallback(event);\r\n }\r\n }\r\n\r\n private _onDragOver(event: Event) {\r\n // // console.log('ondragover._isDropAllowed', this._isDropAllowed);\r\n if (this._isDropAllowed(event)) {\r\n // The element is over the same source element - do nothing\r\n if (event.preventDefault) {\r\n // Necessary. Allows us to drop.\r\n event.preventDefault();\r\n }\r\n\r\n this._onDragOverCallback(event);\r\n }\r\n }\r\n\r\n private _onDragLeave(event: Event): void {\r\n // console.log('ondragleave._isDropAllowed', this._isDropAllowed);\r\n if (this._isDropAllowed(event)) {\r\n // event.preventDefault();\r\n this._onDragLeaveCallback(event);\r\n }\r\n }\r\n\r\n private _onDrop(event: Event): void {\r\n // console.log('ondrop._isDropAllowed', this._isDropAllowed);\r\n if (this._isDropAllowed(event)) {\r\n // Necessary. Allows us to drop.\r\n this._preventAndStop(event);\r\n\r\n this._onDropCallback(event);\r\n\r\n this.detectChanges();\r\n }\r\n }\r\n\r\n private _isDropAllowed(event: any): boolean {\r\n if ((this._dragDropService.isDragged || (event.dataTransfer && event.dataTransfer.files)) && this.dropEnabled) {\r\n // First, if `allowDrop` is set, call it to determine whether the\r\n // dragged element can be dropped here.\r\n if (this.allowDrop) {\r\n return this.allowDrop(this._dragDropService.dragData);\r\n }\r\n\r\n // Otherwise, use dropZones if they are set.\r\n if (this.dropZones.length === 0 && this._dragDropService.allowedDropZones.length === 0) {\r\n return true;\r\n }\r\n for (let i: number = 0; i < this._dragDropService.allowedDropZones.length; i++) {\r\n let dragZone: string = this._dragDropService.allowedDropZones[i];\r\n if (this.dropZones.indexOf(dragZone) !== -1) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n private _preventAndStop(event: Event): any {\r\n if (event.preventDefault) {\r\n event.preventDefault();\r\n }\r\n if (event.stopPropagation) {\r\n event.stopPropagation();\r\n }\r\n }\r\n\r\n //*********** Draggable **********//\r\n\r\n private _onDragStart(event: Event): void {\r\n //console.log('ondragstart.dragEnabled', this._dragEnabled);\r\n if (this._dragEnabled) {\r\n this._dragDropService.allowedDropZones = this.dropZones;\r\n // console.log('ondragstart.allowedDropZones', this._dragDropService.allowedDropZones);\r\n this._onDragStartCallback(event);\r\n }\r\n }\r\n\r\n private _onDragEnd(event: Event): void {\r\n this._dragDropService.allowedDropZones = [];\r\n // console.log('ondragend.allowedDropZones', this._dragDropService.allowedDropZones);\r\n this._onDragEndCallback(event);\r\n }\r\n\r\n //**** Drop Callbacks ****//\r\n _onDragEnterCallback(event: Event) { }\r\n _onDragOverCallback(event: Event) { }\r\n _onDragLeaveCallback(event: Event) { }\r\n _onDropCallback(event: Event) { }\r\n\r\n //**** Drag Callbacks ****//\r\n _onDragStartCallback(event: Event) { }\r\n _onDragEndCallback(event: Event) { }\r\n}\r\n\r\nexport class AbstractHandleComponent {\r\n _elem: HTMLElement;\r\n constructor(elemRef: ElementRef, public _dragDropService: DragDropService, public _config: DragDropConfig,\r\n private _Component: AbstractComponent, private _cdr: ChangeDetectorRef) {\r\n this._elem = elemRef.nativeElement;\r\n this._Component.setDragHandle(this._elem);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { isString } from './dragDropUtils';\n\nexport class DataTransferEffect {\n\n static COPY = new DataTransferEffect('copy');\n static LINK = new DataTransferEffect('link');\n static MOVE = new DataTransferEffect('move');\n static NONE = new DataTransferEffect('none');\n\n constructor(public name: string) { }\n}\n\nexport class DragImage {\n constructor(\n public imageElement: any,\n public x_offset: number = 0,\n public y_offset: number = 0) {\n if (isString(this.imageElement)) {\n // Create real image from string source\n let imgScr: string = this.imageElement;\n this.imageElement = new HTMLImageElement();\n (this.imageElement).src = imgScr;\n }\n }\n}\n\n@Injectable()\nexport class DragDropConfig {\n public onDragStartClass: string = \"dnd-drag-start\";\n public onDragEnterClass: string = \"dnd-drag-enter\";\n public onDragOverClass: string = \"dnd-drag-over\";\n public onSortableDragClass: string = \"dnd-sortable-drag\";\n\n public dragEffect: DataTransferEffect = DataTransferEffect.MOVE;\n public dropEffect: DataTransferEffect = DataTransferEffect.MOVE;\n public dragCursor: string = \"move\";\n public dragImage: DragImage;\n public defaultCursor: string = \"pointer\";\n}","import {Injectable, EventEmitter} from '@angular/core';\nimport {DragDropConfig} from './dragDropConfig';\nimport { isPresent } from './dragDropUtils';\nimport {SortableContainer} from './sortableComponent';\n\nexport class DragDropData {\n dragData: any;\n mouseEvent: MouseEvent;\n}\n\nexport function dragDropServiceFactory(): DragDropService {\n return new DragDropService();\n}\n\n@Injectable()\nexport class DragDropService {\n allowedDropZones: Array = [];\n onDragSuccessCallback: EventEmitter;\n dragData: any;\n isDragged: boolean;\n}\n\nexport function dragDropSortableServiceFactory(config: DragDropConfig): DragDropSortableService {\n return new DragDropSortableService(config);\n}\n\n@Injectable()\nexport class DragDropSortableService {\n index: number;\n sortableContainer: SortableContainer;\n isDragged: boolean;\n\n private _elem: HTMLElement;\n public get elem(): HTMLElement {\n return this._elem;\n }\n\n constructor(private _config:DragDropConfig) {}\n\n markSortable(elem: HTMLElement) {\n if (isPresent(this._elem)) {\n this._elem.classList.remove(this._config.onSortableDragClass);\n }\n if (isPresent(elem)) {\n this._elem = elem;\n this._elem.classList.add(this._config.onSortableDragClass);\n }\n }\n}\n","/**\n * Check and return true if an object is type of string\n */\nexport function isString(obj:any) {\n return typeof obj === \"string\";\n}\n\n/**\n * Check and return true if an object not undefined or null\n */\nexport function isPresent(obj: any) {\n return obj !== undefined && obj !== null;\n}\n\n/**\n * Check and return true if an object is type of Function\n */\nexport function isFunction(obj: any) {\n return typeof obj === \"function\";\n}\n\n/**\n * Create Image element with specified url string\n */\nexport function createImage(src: string) {\n let img:HTMLImageElement = new HTMLImageElement();\n img.src = src;\n return img;\n}\n\n/**\n * Call the function\n */\nexport function callFun(fun: Function) {\n return fun();\n}","import {ChangeDetectorRef} from '@angular/core';\nimport {Directive, Input, Output, EventEmitter, ElementRef} from '@angular/core';\nimport {AbstractComponent, AbstractHandleComponent} from './abstractComponent';\nimport {DragDropConfig, DragImage} from './dragDropConfig';\nimport {DragDropService, DragDropData} from './dragDropService';\n\n@Directive({ selector: '[dnd-draggable]' })\nexport class DraggableComponent extends AbstractComponent {\n\n @Input(\"dragEnabled\") set draggable(value:boolean) {\n this.dragEnabled = !!value;\n }\n\n /**\n * Callback function called when the drag actions happened.\n */\n @Output() onDragStart: EventEmitter = new EventEmitter();\n @Output() onDragEnd: EventEmitter = new EventEmitter();\n\n /**\n * The data that has to be dragged. It can be any JS object\n */\n @Input() dragData: any;\n\n /**\n * Callback function called when the drag action ends with a valid drop action.\n * It is activated after the on-drop-success callback\n */\n @Output(\"onDragSuccess\") onDragSuccessCallback: EventEmitter = new EventEmitter();\n\n @Input(\"dropZones\") set dropzones(value:Array) {\n this.dropZones = value;\n }\n\n /**\n * Drag allowed effect\n */\n @Input(\"effectAllowed\") set effectallowed(value: string) {\n this.effectAllowed = value;\n }\n\n /**\n * Drag effect cursor\n */\n @Input(\"effectCursor\") set effectcursor(value: string) {\n this.effectCursor = value;\n }\n\n /**\n * Here is the property dragImage you can use:\n * - The string value as url to the image\n *
\n * ...\n * - The DragImage value with Image and offset by x and y:\n * let myDragImage: DragImage = new DragImage(\"/images/simpler1.png\", 0, 0);\n * ...\n *
\n * ...\n * - The custom function to return the value of dragImage programmatically:\n *
\n * ...\n * getDragImage(value:any): string {\n * return value ? \"/images/simpler1.png\" : \"/images/simpler2.png\"\n * }\n */\n @Input() dragImage: string | DragImage | Function;\n\n \n @Input() cloneItem: boolean;\n\n constructor(elemRef: ElementRef, dragDropService: DragDropService, config:DragDropConfig,\n cdr:ChangeDetectorRef) {\n\n super(elemRef, dragDropService, config, cdr);\n this._defaultCursor = this._elem.style.cursor;\n this.dragEnabled = true;\n }\n\n _onDragStartCallback(event: MouseEvent) {\n this._dragDropService.isDragged = true;\n this._dragDropService.dragData = this.dragData;\n this._dragDropService.onDragSuccessCallback = this.onDragSuccessCallback;\n this._elem.classList.add(this._config.onDragStartClass);\n //\n this.onDragStart.emit({dragData: this.dragData, mouseEvent: event});\n }\n\n _onDragEndCallback(event: MouseEvent) {\n this._dragDropService.isDragged = false;\n this._dragDropService.dragData = null;\n this._dragDropService.onDragSuccessCallback = null;\n this._elem.classList.remove(this._config.onDragStartClass);\n //\n this.onDragEnd.emit({dragData: this.dragData, mouseEvent: event});\n }\n}\n\n\n@Directive({ selector: '[dnd-draggable-handle]' })\nexport class DraggableHandleComponent extends AbstractHandleComponent {\n constructor(elemRef: ElementRef, dragDropService: DragDropService, config:DragDropConfig, _Component: DraggableComponent,\n cdr:ChangeDetectorRef) {\n\n super(elemRef, dragDropService, config, _Component, cdr);\n }\n}\n","import {ChangeDetectorRef} from '@angular/core';\nimport {Directive, Input, Output, EventEmitter, ElementRef} from '@angular/core';\nimport {AbstractComponent} from './abstractComponent';\nimport { DragDropConfig } from './dragDropConfig';\nimport { DragDropService, DragDropData } from './dragDropService';\n\n@Directive({ selector: '[dnd-droppable]' })\nexport class DroppableComponent extends AbstractComponent {\n\n @Input(\"dropEnabled\") set droppable(value:boolean) {\n this.dropEnabled = !!value;\n }\n\n /**\n * Callback function called when the drop action completes correctly.\n * It is activated before the on-drag-success callback.\n */\n @Output() onDropSuccess: EventEmitter = new EventEmitter();\n @Output() onDragEnter: EventEmitter = new EventEmitter();\n @Output() onDragOver: EventEmitter = new EventEmitter();\n @Output() onDragLeave: EventEmitter = new EventEmitter();\n\n @Input(\"allowDrop\") set allowdrop(value: (dropData: any) => boolean) {\n this.allowDrop = value;\n }\n\n @Input(\"dropZones\") set dropzones(value:Array) {\n this.dropZones = value;\n }\n\n /**\n * Drag allowed effect\n */\n @Input(\"effectAllowed\") set effectallowed(value: string) {\n this.effectAllowed = value;\n }\n\n /**\n * Drag effect cursor\n */\n @Input(\"effectCursor\") set effectcursor(value: string) {\n this.effectCursor = value;\n }\n\n constructor(elemRef: ElementRef, dragDropService: DragDropService, config:DragDropConfig,\n cdr:ChangeDetectorRef) {\n\n super(elemRef, dragDropService, config, cdr);\n\n this.dropEnabled = true;\n }\n\n _onDragEnterCallback(event: MouseEvent) {\n if (this._dragDropService.isDragged) {\n this._elem.classList.add(this._config.onDragEnterClass);\n this.onDragEnter.emit({dragData: this._dragDropService.dragData, mouseEvent: event});\n }\n }\n\n _onDragOverCallback (event: MouseEvent) {\n if (this._dragDropService.isDragged) {\n this._elem.classList.add(this._config.onDragOverClass);\n this.onDragOver.emit({dragData: this._dragDropService.dragData, mouseEvent: event});\n }\n };\n\n _onDragLeaveCallback (event: MouseEvent) {\n if (this._dragDropService.isDragged) {\n this._elem.classList.remove(this._config.onDragOverClass);\n this._elem.classList.remove(this._config.onDragEnterClass);\n this.onDragLeave.emit({dragData: this._dragDropService.dragData, mouseEvent: event});\n }\n };\n\n _onDropCallback (event: MouseEvent) {\n let dataTransfer = (event as any).dataTransfer;\n if (this._dragDropService.isDragged || (dataTransfer && dataTransfer.files)) {\n this.onDropSuccess.emit({dragData: this._dragDropService.dragData, mouseEvent: event});\n if (this._dragDropService.onDragSuccessCallback) {\n this._dragDropService.onDragSuccessCallback.emit({dragData: this._dragDropService.dragData, mouseEvent: event});\n }\n this._elem.classList.remove(this._config.onDragOverClass);\n this._elem.classList.remove(this._config.onDragEnterClass);\n }\n }\n}\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { DraggableComponent, DraggableHandleComponent } from \"./draggableComponent\";\r\nimport { DroppableComponent } from \"./droppableComponent\";\r\nimport { SortableComponent, SortableContainer, SortableHandleComponent } from \"./sortableComponent\";\r\nimport { DragDropService, DragDropSortableService } from \"./dragDropService\";\r\nimport { DragDropConfig } from \"./dragDropConfig\";\r\n\r\nexport * from \"./draggableComponent\";\r\nexport * from \"./droppableComponent\";\r\nexport * from \"./sortableComponent\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n \r\n ],\r\n declarations: [\r\n SortableContainer,\r\n DroppableComponent,\r\n DraggableComponent,\r\n DraggableHandleComponent,\r\n SortableComponent, \r\n SortableHandleComponent\r\n ],\r\n exports: [\r\n DraggableComponent,\r\n DraggableHandleComponent,\r\n SortableComponent,\r\n SortableHandleComponent,\r\n SortableContainer,\r\n DroppableComponent\r\n ],\r\n providers: [\r\n DragDropService,\r\n DragDropSortableService,\r\n DragDropConfig,\r\n SortableContainer\r\n ]\r\n})\r\n\r\nexport class DragDropCustomModule {\r\n\r\n}\r\n","import {ChangeDetectorRef} from '@angular/core';\nimport {Directive, Input, Output, EventEmitter, ElementRef} from '@angular/core';\nimport {FormArray} from '@angular/forms';\nimport {AbstractComponent, AbstractHandleComponent} from './abstractComponent';\nimport { DragDropConfig } from './dragDropConfig';\nimport { DragDropService, DragDropSortableService } from './dragDropService';\n\n@Directive({ selector: '[dnd-sortable-container]' })\nexport class SortableContainer extends AbstractComponent {\n\n @Input(\"dragEnabled\") set draggable(value:boolean) {\n this.dragEnabled = !!value;\n }\n\n private _sortableData: Array|FormArray = [];\n private sortableHandler: SortableFormArrayHandler|SortableArrayHandler;\n\n @Input() set sortableData(sortableData: Array|FormArray) {\n this._sortableData = sortableData;\n if (sortableData instanceof FormArray) {\n this.sortableHandler = new SortableFormArrayHandler();\n } else {\n this.sortableHandler = new SortableArrayHandler();\n }\n //\n this.dropEnabled = !!this._sortableData;\n // console.log(\"collection is changed, drop enabled: \" + this.dropEnabled);\n }\n get sortableData(): Array|FormArray {\n return this._sortableData;\n }\n\n @Input(\"dropZones\") set dropzones(value:Array) {\n this.dropZones = value;\n }\n\n constructor(elemRef: ElementRef, dragDropService: DragDropService, config:DragDropConfig, cdr:ChangeDetectorRef,\n private _sortableDataService: DragDropSortableService) {\n\n super(elemRef, dragDropService, config, cdr);\n this.dragEnabled = false;\n }\n\n _onDragEnterCallback(event: Event) {\n if (this._sortableDataService.isDragged) {\n let item:any = this._sortableDataService.sortableContainer.getItemAt(this._sortableDataService.index);\n // Check does element exist in sortableData of this Container\n if (this.indexOf(item) === -1) {\n // Let's add it\n // console.log('Container._onDragEnterCallback. drag node [' + this._sortableDataService.index.toString() + '] over parent node');\n // Remove item from previouse list\n this._sortableDataService.sortableContainer.removeItemAt(this._sortableDataService.index);\n if (this._sortableDataService.sortableContainer._sortableData.length === 0) {\n this._sortableDataService.sortableContainer.dropEnabled = true;\n }\n // Add item to new list\n this.insertItemAt(item, 0);\n this._sortableDataService.sortableContainer = this;\n this._sortableDataService.index = 0;\n }\n // Refresh changes in properties of container component\n this.detectChanges();\n }\n }\n\n getItemAt(index: number): any {\n return this.sortableHandler.getItemAt(this._sortableData, index);\n }\n\n indexOf(item: any): number {\n return this.sortableHandler.indexOf(this._sortableData, item);\n }\n\n removeItemAt(index: number): void {\n this.sortableHandler.removeItemAt(this._sortableData, index);\n }\n\n insertItemAt(item: any, index: number) {\n this.sortableHandler.insertItemAt(this._sortableData, item, index);\n }\n}\n\nclass SortableArrayHandler {\n getItemAt(sortableData: any, index: number): any {\n return sortableData[index];\n }\n\n indexOf(sortableData: any, item: any): number {\n return sortableData.indexOf(item);\n }\n\n removeItemAt(sortableData: any, index: number) {\n sortableData.splice(index, 1);\n }\n\n insertItemAt(sortableData: any, item: any, index: number) {\n sortableData.splice(index, 0, item);\n }\n}\n\nclass SortableFormArrayHandler {\n getItemAt(sortableData: any, index: number): any {\n return sortableData.at(index);\n }\n\n indexOf(sortableData: any, item: any): number {\n return sortableData.controls.indexOf(item);\n }\n\n removeItemAt(sortableData: any, index: number) {\n sortableData.removeAt(index);\n }\n\n insertItemAt(sortableData: any, item: any, index: number) {\n sortableData.insert(index, item);\n }\n}\n\n@Directive({ selector: '[dnd-sortable]' })\nexport class SortableComponent extends AbstractComponent {\n\n @Input('sortableIndex') index: number;\n\n @Input(\"dragEnabled\") set draggable(value:boolean) {\n this.dragEnabled = !!value;\n }\n\n @Input(\"dropEnabled\") set droppable(value:boolean) {\n this.dropEnabled = !!value;\n }\n\n /**\n * The data that has to be dragged. It can be any JS object\n */\n @Input() dragData: any;\n\n /**\n * Drag allowed effect\n */\n @Input(\"effectAllowed\") set effectallowed(value: string) {\n this.effectAllowed = value;\n }\n\n /**\n * Drag effect cursor\n */\n @Input(\"effectCursor\") set effectcursor(value: string) {\n this.effectCursor = value;\n }\n\n /**\n * Callback function called when the drag action ends with a valid drop action.\n * It is activated after the on-drop-success callback\n */\n @Output(\"onDragSuccess\") onDragSuccessCallback: EventEmitter = new EventEmitter();\n\n @Output(\"onDragStart\") onDragStartCallback: EventEmitter = new EventEmitter();\n @Output(\"onDragOver\") onDragOverCallback: EventEmitter = new EventEmitter();\n @Output(\"onDragEnd\") onDragEndCallback: EventEmitter = new EventEmitter();\n @Output(\"onDropSuccess\") onDropSuccessCallback: EventEmitter = new EventEmitter();\n\n constructor(elemRef: ElementRef, dragDropService: DragDropService, config:DragDropConfig,\n private _sortableContainer: SortableContainer,\n private _sortableDataService: DragDropSortableService,\n cdr:ChangeDetectorRef) {\n super(elemRef, dragDropService, config, cdr);\n this.dropZones = this._sortableContainer.dropZones;\n this.dragEnabled = true;\n this.dropEnabled = true;\n }\n\n _onDragStartCallback(event: Event) {\n // console.log('_onDragStartCallback. dragging elem with index ' + this.index);\n this._sortableDataService.isDragged = true;\n this._sortableDataService.sortableContainer = this._sortableContainer;\n this._sortableDataService.index = this.index;\n this._sortableDataService.markSortable(this._elem);\n // Add dragData\n this._dragDropService.isDragged = true;\n this._dragDropService.dragData = this.dragData;\n this._dragDropService.onDragSuccessCallback = this.onDragSuccessCallback;\n //\n this.onDragStartCallback.emit(this._dragDropService.dragData);\n }\n\n _onDragOverCallback(event: Event) {\n if (this._sortableDataService.isDragged && this._elem !== this._sortableDataService.elem) {\n // console.log('_onDragOverCallback. dragging elem with index ' + this.index);\n this._sortableDataService.sortableContainer = this._sortableContainer;\n this._sortableDataService.index = this.index;\n this._sortableDataService.markSortable(this._elem);\n this.onDragOverCallback.emit(this._dragDropService.dragData);\n }\n }\n\n _onDragEndCallback(event: Event) {\n // console.log('_onDragEndCallback. end dragging elem with index ' + this.index);\n this._sortableDataService.isDragged = false;\n this._sortableDataService.sortableContainer = null;\n this._sortableDataService.index = null;\n this._sortableDataService.markSortable(null);\n // Add dragGata\n this._dragDropService.isDragged = false;\n this._dragDropService.dragData = null;\n this._dragDropService.onDragSuccessCallback = null;\n //\n this.onDragEndCallback.emit(this._dragDropService.dragData);\n }\n\n _onDragEnterCallback(event: Event) {\n if (this._sortableDataService.isDragged) {\n this._sortableDataService.markSortable(this._elem);\n if ((this.index !== this._sortableDataService.index) ||\n (this._sortableDataService.sortableContainer.sortableData !== this._sortableContainer.sortableData)) {\n // console.log('Component._onDragEnterCallback. drag node [' + this.index + '] over node [' + this._sortableDataService.index + ']');\n // Get item\n let item:any = this._sortableDataService.sortableContainer.getItemAt(this._sortableDataService.index);\n // Remove item from previouse list\n this._sortableDataService.sortableContainer.removeItemAt(this._sortableDataService.index);\n if (this._sortableDataService.sortableContainer.sortableData.length === 0) {\n this._sortableDataService.sortableContainer.dropEnabled = true;\n }\n // Add item to new list\n this._sortableContainer.insertItemAt(item, this.index);\n if (this._sortableContainer.dropEnabled) {\n this._sortableContainer.dropEnabled = false;\n }\n this._sortableDataService.sortableContainer = this._sortableContainer;\n this._sortableDataService.index = this.index;\n this.detectChanges();\n }\n }\n }\n\n _onDropCallback (event: Event) {\n if (this._sortableDataService.isDragged) {\n // console.log('onDropCallback.onDropSuccessCallback.dragData', this._dragDropService.dragData);\n this.onDropSuccessCallback.emit(this._dragDropService.dragData);\n if (this._dragDropService.onDragSuccessCallback) {\n // console.log('onDropCallback.onDragSuccessCallback.dragData', this._dragDropService.dragData);\n this._dragDropService.onDragSuccessCallback.emit(this._dragDropService.dragData);\n }\n // Refresh changes in properties of container component\n this._sortableContainer.detectChanges();\n }\n }\n}\n\n@Directive({ selector: '[dnd-sortable-handle]' })\nexport class SortableHandleComponent extends AbstractHandleComponent {\n constructor(elemRef: ElementRef, dragDropService: DragDropService, config:DragDropConfig, _Component: SortableComponent,\n cdr:ChangeDetectorRef) {\n\n super(elemRef, dragDropService, config, _Component, cdr);\n }\n}\n","import {\r\n ElementRef,\r\n Component,\r\n Renderer2,\r\n OnDestroy,\r\n Input,\r\n Output,\r\n AfterViewInit,\r\n OnChanges,\r\n EventEmitter,\r\n ViewChild,\r\n ContentChildren,\r\n AfterViewChecked,\r\n QueryList,\r\n Inject\r\n} from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\nimport { DragScrollItemDirective } from './dragScrollItemDirective';\r\n\r\n@Component({\r\n selector: 'drag-scroll',\r\n templateUrl: './dragScrollComponent.html',\r\n styles: [`\r\n :host {\r\n overflow: hidden;\r\n display: block;\r\n }\r\n .drag-scroll-content {\r\n height: 100%;\r\n overflow: auto;\r\n white-space: nowrap;\r\n }\r\n `]\r\n})\r\nexport class DragScrollComponent implements OnDestroy, AfterViewInit, OnChanges, AfterViewChecked {\r\n\r\n private _index = 0;\r\n\r\n private _scrollbarHidden = false;\r\n\r\n private _disabled = false;\r\n\r\n private _xDisabled = false;\r\n\r\n private _yDisabled = false;\r\n\r\n private _dragDisabled = false;\r\n\r\n private _snapDisabled = false;\r\n\r\n private _snapOffset = 0;\r\n\r\n private _snapDuration = 500;\r\n\r\n private _onMouseMoveListener: any;\r\n\r\n private _onMouseUpListener: any;\r\n\r\n /**\r\n * Is the user currently pressing the element\r\n */\r\n isPressed = false;\r\n\r\n /**\r\n * Is the user currently scrolling the element\r\n */\r\n isScrolling = false;\r\n\r\n scrollTimer: number | NodeJS.Timer = -1;\r\n\r\n scrollToTimer: number | NodeJS.Timer = -1;\r\n\r\n /**\r\n * The x coordinates on the element\r\n */\r\n downX = 0;\r\n\r\n /**\r\n * The y coordinates on the element\r\n */\r\n downY = 0;\r\n\r\n displayType: string | null = 'block';\r\n\r\n elWidth: string | null = null;\r\n\r\n elHeight: string | null = null;\r\n\r\n /**\r\n * The parentNode of carousel Element\r\n */\r\n parentNode: HTMLElement;\r\n\r\n /**\r\n * The carousel Element\r\n */\r\n\r\n @ViewChild('contentRef') _contentRef: ElementRef;\r\n\r\n @ContentChildren(DragScrollItemDirective) _children: QueryList;\r\n\r\n wrapper: HTMLDivElement | null;\r\n\r\n scrollbarWidth: string | null = null;\r\n\r\n get currIndex() { return this._index; }\r\n set currIndex(value) {\r\n if (value !== this._index) {\r\n this._index = value;\r\n this.indexChanged.emit(value);\r\n }\r\n }\r\n\r\n isAnimating = false;\r\n\r\n prevChildrenLength = 0;\r\n\r\n @Output() dsInitialized = new EventEmitter();\r\n\r\n @Output() indexChanged = new EventEmitter();\r\n\r\n @Output() reachesLeftBound = new EventEmitter();\r\n\r\n @Output() reachesRightBound = new EventEmitter();\r\n\r\n @Output() snapAnimationFinished = new EventEmitter();\r\n\r\n /**\r\n * Shows the full frame always, if half of the frame is hidden then system makes an automatic scroll to make the frame/entity visible.\r\n */\r\n @Input('show-full-frame')\r\n showFullFrame: boolean = false;\r\n\r\n /**\r\n * Whether the scrollbar is hidden\r\n */\r\n @Input('scrollbar-hidden')\r\n get scrollbarHidden() { return this._scrollbarHidden; }\r\n set scrollbarHidden(value: boolean) { this._scrollbarHidden = value; }\r\n\r\n /**\r\n * Whether horizontally and vertically draging and scrolling is be disabled\r\n */\r\n @Input('drag-scroll-disabled')\r\n get disabled() { return this._disabled; }\r\n set disabled(value: boolean) { this._disabled = value; }\r\n\r\n /**\r\n * Whether horizontally dragging and scrolling is be disabled\r\n */\r\n @Input('drag-scroll-x-disabled')\r\n get xDisabled() { return this._xDisabled; }\r\n set xDisabled(value: boolean) { this._xDisabled = value; }\r\n\r\n /**\r\n * Whether vertically dragging and scrolling events is disabled\r\n */\r\n @Input('drag-scroll-y-disabled')\r\n get yDisabled() { return this._yDisabled; }\r\n set yDisabled(value: boolean) { this._yDisabled = value; }\r\n\r\n @Input('drag-disabled')\r\n get dragDisabled() { return this._dragDisabled; }\r\n set dragDisabled(value: boolean) { this._dragDisabled = value; }\r\n\r\n @Input('snap-disabled')\r\n get snapDisabled() { return this._snapDisabled; }\r\n set snapDisabled(value: boolean) { this._snapDisabled = value; }\r\n\r\n @Input('snap-offset')\r\n get snapOffset() { return this._snapOffset; }\r\n set snapOffset(value: number) { this._snapOffset = value; }\r\n\r\n @Input('snap-duration')\r\n get snapDuration() { return this._snapDuration; }\r\n set snapDuration(value: number) { this._snapDuration = value; }\r\n\r\n constructor(\r\n @Inject(ElementRef) private _elementRef: ElementRef,\r\n @Inject(Renderer2) private _renderer: Renderer2,\r\n @Inject(DOCUMENT) private _document: any\r\n ) {\r\n this.scrollbarWidth = `${this.getScrollbarWidth()}px`;\r\n }\r\n\r\n\r\n ngOnChanges() {\r\n if (!this._contentRef)\r\n return;\r\n\r\n this.setScrollBar();\r\n\r\n if (this.xDisabled || this.disabled) {\r\n this.disableScroll('x');\r\n } else {\r\n this.enableScroll('x');\r\n }\r\n\r\n if (this.yDisabled || this.disabled) {\r\n this.disableScroll('y');\r\n } else {\r\n this.enableScroll('y');\r\n }\r\n }\r\n\r\n dragStart: any;\r\n\r\n ngAfterViewInit() {\r\n this.ngOnChanges();\r\n\r\n // auto assign computed css\r\n this._renderer.setAttribute(this._contentRef.nativeElement, 'drag-scroll', 'true');\r\n\r\n this.displayType = typeof window !== 'undefined' ? window.getComputedStyle(this._elementRef.nativeElement).display : 'block';\r\n\r\n this._renderer.setStyle(this._contentRef.nativeElement, 'display', this.displayType);\r\n this._renderer.setStyle(this._contentRef.nativeElement, 'whiteSpace', 'noWrap');\r\n\r\n // store ele width height for later user\r\n this.markElDimension();\r\n\r\n this._renderer.setStyle(this._contentRef.nativeElement, 'width', this.elWidth);\r\n this._renderer.setStyle(this._contentRef.nativeElement, 'height', this.elHeight);\r\n\r\n if (this.wrapper) {\r\n this.checkScrollbar();\r\n }\r\n\r\n this._renderer.listen(this._contentRef.nativeElement, 'mousedown', this.onMouseDownHandler.bind(this));\r\n this._renderer.listen(this._contentRef.nativeElement, 'touchstart', this.onMouseDownHandler.bind(this));\r\n this._renderer.listen(this._contentRef.nativeElement, 'scroll', this.onScrollHandler.bind(this));\r\n this._renderer.listen(this._contentRef.nativeElement, 'touchend', this.onMouseUpHandler.bind(this));\r\n\r\n this.checkNavStatus();\r\n this.dsInitialized.emit();\r\n }\r\n\r\n onDragStart(e): void {\r\n e.preventDefault();\r\n }\r\n\r\n ngAfterViewChecked() {\r\n // avoid extra checks\r\n if (this._children['_results'].length !== this.prevChildrenLength) {\r\n this.markElDimension();\r\n this.checkScrollbar();\r\n this.prevChildrenLength = this._children['_results'].length;\r\n this.checkNavStatus();\r\n }\r\n }\r\n\r\n // Updates contents and scrollbar forcefully.\r\n update(): void {\r\n\r\n if (!this.wrapper)\r\n return;\r\n\r\n this._renderer.setStyle(this.wrapper, 'height', '100%');\r\n\r\n if (this.scrollbarHidden)\r\n this.disableScroll('x');\r\n\r\n else this.enableScroll('x');\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n this._renderer.setAttribute(this._contentRef.nativeElement, 'drag-scroll', 'false'); \r\n }\r\n\r\n onMouseMoveHandler(event: MouseEvent) {\r\n this.onMouseMove(event);\r\n }\r\n\r\n onMouseMove(event: MouseEvent) {\r\n if (this.isPressed && !this.disabled) {\r\n // // Drag X\r\n if (!this.xDisabled && !this.dragDisabled) {\r\n this._contentRef.nativeElement.scrollLeft =\r\n this._contentRef.nativeElement.scrollLeft - event.clientX + this.downX;\r\n this.downX = event.clientX;\r\n }\r\n\r\n // Drag Y\r\n if (!this.yDisabled && !this.dragDisabled) {\r\n this._contentRef.nativeElement.scrollTop =\r\n this._contentRef.nativeElement.scrollTop - event.clientY + this.downY;\r\n this.downY = event.clientY;\r\n }\r\n }\r\n }\r\n\r\n onMouseDownHandler(event: MouseEvent) {\r\n this._startGlobalListening();\r\n this.isPressed = true;\r\n this.downX = event.clientX;\r\n this.downY = event.clientY;\r\n\r\n clearTimeout(this.scrollToTimer as number);\r\n }\r\n\r\n onScrollHandler() {\r\n this.checkNavStatus();\r\n if (!this.isPressed && !this.isAnimating && !this.snapDisabled) {\r\n this.isScrolling = true;\r\n clearTimeout(this.scrollTimer as number);\r\n this.scrollTimer = setTimeout(() => {\r\n this.isScrolling = false;\r\n this.locateCurrentIndex(true);\r\n }, 500);\r\n } else {\r\n this.locateCurrentIndex();\r\n }\r\n }\r\n\r\n onMouseUpHandler(event: MouseEvent) {\r\n if (this.isPressed) {\r\n this.isPressed = false;\r\n if (!this.snapDisabled) {\r\n this.locateCurrentIndex(true);\r\n } else {\r\n this.locateCurrentIndex();\r\n }\r\n this._stopGlobalListening();\r\n }\r\n }\r\n\r\n /*\r\n * Nav button\r\n */\r\n moveLeft() {\r\n if ((this.currIndex !== 0 || this.snapDisabled)) {\r\n this.currIndex--;\r\n clearTimeout(this.scrollToTimer as number);\r\n this.scrollTo(this._contentRef.nativeElement, this.toChildrenLocation(), this.snapDuration);\r\n }\r\n }\r\n\r\n moveRight() {\r\n const container = this.wrapper || this.parentNode;\r\n const containerWidth = container ? container.clientWidth : 0;\r\n\r\n if (!this.isScrollReachesRightEnd() && this.currIndex < this.maximumIndex(containerWidth, this._children)) {\r\n this.currIndex++;\r\n clearTimeout(this.scrollToTimer as number);\r\n this.scrollTo(this._contentRef.nativeElement, this.toChildrenLocation(), this.snapDuration);\r\n }\r\n }\r\n\r\n moveTo(index: number) {\r\n const container = this.wrapper || this.parentNode;\r\n const containerWidth = container ? container.clientWidth : 0;\r\n if (\r\n index >= 0 &&\r\n index !== this.currIndex &&\r\n this.currIndex < this.maximumIndex(containerWidth, this._children)\r\n ) {\r\n this.currIndex = index;\r\n clearTimeout(this.scrollToTimer as number);\r\n this.scrollTo(this._contentRef.nativeElement, this.toChildrenLocation(), this.snapDuration);\r\n }\r\n }\r\n\r\n checkNavStatus() {\r\n setTimeout(() => {\r\n const onlyOneItem = Boolean(this._children['_results'].length <= 1);\r\n const containerIsLargerThanContent = Boolean(this._contentRef.nativeElement.scrollWidth <=\r\n this._contentRef.nativeElement.clientWidth);\r\n if (onlyOneItem || containerIsLargerThanContent) {\r\n // only one element\r\n this.reachesLeftBound.emit(true);\r\n this.reachesRightBound.emit(true);\r\n } else if (this.isScrollReachesRightEnd()) {\r\n // reached right end\r\n this.reachesLeftBound.emit(false);\r\n this.reachesRightBound.emit(true);\r\n } else if (this._contentRef.nativeElement.scrollLeft === 0 &&\r\n this._contentRef.nativeElement.scrollWidth > this._contentRef.nativeElement.clientWidth) {\r\n // reached left end\r\n this.reachesLeftBound.emit(true);\r\n this.reachesRightBound.emit(false);\r\n } else {\r\n // in the middle\r\n this.reachesLeftBound.emit(false);\r\n this.reachesRightBound.emit(false);\r\n }\r\n }, 0);\r\n }\r\n\r\n private _startGlobalListening() {\r\n if (!this._onMouseMoveListener) {\r\n this._onMouseMoveListener = this._renderer.listen('document', 'mousemove', this.onMouseMoveHandler.bind(this));\r\n }\r\n\r\n if (!this._onMouseUpListener) {\r\n this._onMouseUpListener = this._renderer.listen('document', 'mouseup', this.onMouseUpHandler.bind(this));\r\n }\r\n }\r\n\r\n private _stopGlobalListening() {\r\n if (this._onMouseMoveListener) {\r\n this._onMouseMoveListener = this._onMouseMoveListener();\r\n }\r\n\r\n if (this._onMouseUpListener) {\r\n this._onMouseUpListener = this._onMouseUpListener();\r\n }\r\n }\r\n\r\n private disableScroll(axis: string): void {\r\n this._renderer.setStyle(this._contentRef.nativeElement, `overflow-${axis}`, 'hidden');\r\n }\r\n\r\n private enableScroll(axis: string): void {\r\n this._renderer.setStyle(this._contentRef.nativeElement, `overflow-${axis}`, 'auto');\r\n }\r\n\r\n private hideScrollbar(): void {\r\n if (this._contentRef.nativeElement.style.display !== 'none' && !this.wrapper) {\r\n this.parentNode = this._contentRef.nativeElement.parentNode;\r\n\r\n // create container element\r\n this.wrapper = this._renderer.createElement('div');\r\n this._renderer.setAttribute(this.wrapper, 'class', 'drag-scroll-wrapper');\r\n this._renderer.addClass(this.wrapper, 'drag-scroll-container');\r\n\r\n this._renderer.setStyle(this.wrapper, 'width', '100%');\r\n this._renderer.setStyle(this.wrapper, 'height', this._elementRef.nativeElement.style.height\r\n || this._elementRef.nativeElement.offsetHeight + 'px');\r\n\r\n this._renderer.setStyle(this.wrapper, 'overflow', 'hidden');\r\n\r\n this._renderer.setStyle(this._contentRef.nativeElement, 'width', `calc(100% + ${this.scrollbarWidth})`);\r\n this._renderer.setStyle(this._contentRef.nativeElement, 'height', `calc(100% + ${this.scrollbarWidth})`);\r\n\r\n // Append container element to component element.\r\n this._renderer.appendChild(this._elementRef.nativeElement, this.wrapper);\r\n\r\n // Append content element to container element.\r\n this._renderer.appendChild(this.wrapper, this._contentRef.nativeElement);\r\n }\r\n }\r\n\r\n private showScrollbar(): void {\r\n if (this.wrapper) {\r\n this._renderer.setStyle(this._contentRef.nativeElement, 'width', '100%');\r\n this._renderer.setStyle(this._contentRef.nativeElement, 'height', this.wrapper.style.height);\r\n if (this.parentNode !== null) {\r\n this.parentNode.removeChild(this.wrapper);\r\n this.parentNode.appendChild(this._contentRef.nativeElement);\r\n }\r\n this.wrapper = null;\r\n }\r\n }\r\n\r\n private checkScrollbar() {\r\n if (this._contentRef.nativeElement.scrollWidth <= this._contentRef.nativeElement.clientWidth) {\r\n this._renderer.setStyle(this._contentRef.nativeElement, 'height', '100%');\r\n } else {\r\n this._renderer.setStyle(this._contentRef.nativeElement, 'height', `calc(100% + ${this.scrollbarWidth})`);\r\n }\r\n if (this._contentRef.nativeElement.scrollHeight <= this._contentRef.nativeElement.clientHeight) {\r\n this._renderer.setStyle(this._contentRef.nativeElement, 'width', '100%');\r\n } else {\r\n this._renderer.setStyle(this._contentRef.nativeElement, 'width', `calc(100% + ${this.scrollbarWidth})`);\r\n }\r\n }\r\n\r\n private setScrollBar(): void {\r\n if (this.scrollbarHidden) {\r\n this.hideScrollbar();\r\n } else {\r\n this.showScrollbar();\r\n }\r\n }\r\n\r\n private getScrollbarWidth(): number {\r\n /**\r\n * Browser Scrollbar Widths (2016)\r\n * OSX (Chrome, Safari, Firefox) - 15px\r\n * Windows XP (IE7, Chrome, Firefox) - 17px\r\n * Windows 7 (IE10, IE11, Chrome, Firefox) - 17px\r\n * Windows 8.1 (IE11, Chrome, Firefox) - 17px\r\n * Windows 10 (IE11, Chrome, Firefox) - 17px\r\n * Windows 10 (Edge 12/13) - 12px\r\n */\r\n const outer = this._renderer.createElement('div');\r\n this._renderer.setStyle(outer, 'visibility', 'hidden');\r\n this._renderer.setStyle(outer, 'width', '100px');\r\n this._renderer.setStyle(outer, 'msOverflowStyle', 'scrollbar'); // needed for WinJS apps\r\n // document.body.appendChild(outer);\r\n this._renderer.appendChild(this._document.body, outer);\r\n // this._renderer.appendChild(this._renderer.selectRootElement('body'), outer);\r\n const widthNoScroll = outer.offsetWidth;\r\n // force scrollbars\r\n this._renderer.setStyle(outer, 'overflow', 'scroll');\r\n\r\n // add innerdiv\r\n const inner = this._renderer.createElement('div');\r\n this._renderer.setStyle(inner, 'width', '100%');\r\n this._renderer.appendChild(outer, inner);\r\n\r\n const widthWithScroll = inner.offsetWidth;\r\n\r\n // remove divs\r\n this._renderer.removeChild(this._document.body, outer);\r\n\r\n /**\r\n * Scrollbar width will be 0 on Mac OS with the\r\n * default \"Only show scrollbars when scrolling\" setting (Yosemite and up).\r\n * setting default width to 20;\r\n */\r\n return widthNoScroll - widthWithScroll || 20;\r\n }\r\n\r\n /*\r\n * The below solution is heavily inspired from\r\n * https://gist.github.com/andjosh/6764939\r\n */\r\n private scrollTo(element: Element, to: number, duration: number) {\r\n\r\n if (!this.showFullFrame)\r\n return;\r\n\r\n const self = this;\r\n self.isAnimating = true;\r\n const start = element.scrollLeft,\r\n change = to - start - this.snapOffset,\r\n increment = 20;\r\n let currentTime = 0;\r\n\r\n // t = current time\r\n // b = start value\r\n // c = change in value\r\n // d = duration\r\n const easeInOutQuad = function (t: number, b: number, c: number, d: number) {\r\n t /= d / 2;\r\n if (t < 1) {\r\n return c / 2 * t * t + b;\r\n }\r\n t--;\r\n return -c / 2 * (t * (t - 2) - 1) + b;\r\n };\r\n\r\n const animateScroll = function () {\r\n currentTime += increment;\r\n element.scrollLeft = easeInOutQuad(currentTime, start, change, duration);\r\n if (currentTime < duration) {\r\n self.scrollToTimer = setTimeout(animateScroll, increment);\r\n } else {\r\n // run one more frame to make sure the animation is fully finished\r\n setTimeout(() => {\r\n self.isAnimating = false;\r\n self.snapAnimationFinished.emit(self.currIndex);\r\n }, increment);\r\n }\r\n };\r\n animateScroll();\r\n }\r\n\r\n private locateCurrentIndex(snap?: boolean) {\r\n this.currentChildWidth((currentChildWidth, nextChildrenWidth, childrenWidth, idx: number, stop) => {\r\n if (\r\n (this._contentRef.nativeElement.scrollLeft >= childrenWidth &&\r\n this._contentRef.nativeElement.scrollLeft <= nextChildrenWidth)\r\n ) {\r\n if (nextChildrenWidth - this._contentRef.nativeElement.scrollLeft > currentChildWidth / 2 && !this.isScrollReachesRightEnd()) {\r\n // roll back scrolling\r\n if (!this.isAnimating) {\r\n this.currIndex = idx;\r\n }\r\n if (snap) {\r\n this.scrollTo(this._contentRef.nativeElement, childrenWidth, this.snapDuration);\r\n }\r\n } else {\r\n // forward scrolling\r\n if (!this.isAnimating) {\r\n this.currIndex = idx + 1;\r\n }\r\n if (snap) {\r\n this.scrollTo(this._contentRef.nativeElement, childrenWidth + currentChildWidth, this.snapDuration);\r\n }\r\n }\r\n stop();\r\n } else if ((idx + 1) === (this._children['_results'].length - 1)) {\r\n // reaches last index\r\n if (!this.isAnimating) {\r\n this.currIndex = idx + 1;\r\n }\r\n stop();\r\n }\r\n });\r\n }\r\n\r\n private currentChildWidth(cb: (\r\n currentClildWidth: number,\r\n nextChildrenWidth: number,\r\n childrenWidth: number,\r\n index: number,\r\n breakFunc: () => void) => void) {\r\n let childrenWidth = 0;\r\n let shouldBreak = false;\r\n const breakFunc = function () {\r\n shouldBreak = true;\r\n };\r\n for (let i = 0; i < this._children['_results'].length; i++) {\r\n if (i === this._children['_results'].length - 1) {\r\n break;\r\n }\r\n if (shouldBreak) {\r\n break;\r\n }\r\n\r\n const nextChildrenWidth = childrenWidth + this._children['_results'][i + 1]._elementRef.nativeElement.clientWidth;\r\n const currentClildWidth = this._children['_results'][i]._elementRef.nativeElement.clientWidth;\r\n cb(currentClildWidth, nextChildrenWidth, childrenWidth, i, breakFunc);\r\n\r\n childrenWidth += currentClildWidth;\r\n }\r\n }\r\n\r\n private toChildrenLocation(): number {\r\n let to = 0;\r\n for (let i = 0; i < this.currIndex; i++) {\r\n to += this._children['_results'][i]._elementRef.nativeElement.clientWidth;\r\n }\r\n return to;\r\n }\r\n\r\n private markElDimension() {\r\n if (this.wrapper) {\r\n this.elWidth = this.wrapper.style.width;\r\n this.elHeight = this.wrapper.style.height;\r\n } else {\r\n this.elWidth = this._elementRef.nativeElement.style.width || (this._elementRef.nativeElement.offsetWidth + 'px');\r\n this.elHeight = this._elementRef.nativeElement.style.height || (this._elementRef.nativeElement.offsetHeight + 'px');\r\n }\r\n }\r\n\r\n private maximumIndex(containerWidth: number, childrenElements: QueryList): number {\r\n let count = 0;\r\n let childrenWidth = 0;\r\n for (let i = 0; i <= childrenElements['_results'].length; i++) {\r\n // last N element\r\n const dragScrollItemDirective: DragScrollItemDirective = childrenElements['_results'][childrenElements['_results'].length - 1 - i];\r\n childrenWidth += dragScrollItemDirective._elementRef.nativeElement.clientWidth;\r\n if (childrenWidth < containerWidth) {\r\n count++;\r\n } else {\r\n break;\r\n }\r\n }\r\n return childrenElements.length - count;\r\n }\r\n\r\n private isScrollReachesRightEnd(): boolean {\r\n const scrollLeftPos = this._contentRef.nativeElement.scrollLeft + this._contentRef.nativeElement.offsetWidth;\r\n return scrollLeftPos >= this._contentRef.nativeElement.scrollWidth;\r\n }\r\n\r\n}\r\n","
\r\n \r\n
","import { Directive, ElementRef, Renderer2, HostBinding, Inject } from '@angular/core';\n@Directive({\n selector: '[drag-scroll-item]'\n})\nexport class DragScrollItemDirective {\n @HostBinding('style.display')\n display = 'inline-block';\n\n _elementRef: ElementRef;\n\n constructor(\n @Inject(ElementRef) private elementRef: ElementRef,\n ) {\n this._elementRef = elementRef;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { DragScrollComponent } from './dragScrollComponent';\nimport { DragScrollItemDirective } from './dragScrollItemDirective';\n\nexport { DragScrollItemDirective } from './dragScrollItemDirective';\nexport { DragScrollComponent } from './dragScrollComponent';\n\n\n@NgModule({\n exports: [\n DragScrollComponent,\n DragScrollItemDirective\n ],\n declarations: [\n DragScrollComponent,\n DragScrollItemDirective\n ]\n})\nexport class DragScrollModule { }\n","import { Input, ChangeDetectorRef, Component, Directive } from \"@angular/core\";\r\nimport { AbstractDropdownItem } from \"./abstractDropdownItem\";\r\nimport { GenericDropdownGroup } from \"./genericDropdownGroup\";\r\nimport { InputViewModel } from \"../shared\";\r\nimport { BaseComponent } from \"../../../pages/shared/baseComponent\";\r\n\r\n@Component({ template: '' })\r\nexport abstract class AbstractDropdownGroup extends BaseComponent {\r\n\r\n @Input()\r\n public view: InputViewModel;\r\n\r\n @Input()\r\n public itemsView: InputViewModel[] = [];\r\n\r\n public emptyValueItem: InputViewModel;\r\n\r\n @Input()\r\n public disabled: boolean = false\r\n\r\n constructor(public parent: GenericDropdownGroup, public cdr: ChangeDetectorRef) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n if (this.parent.showEmptyValue) {\r\n this.emptyValueItem = new InputViewModel();\r\n this.emptyValueItem.id = null; \r\n this.itemsView.unshift(this.emptyValueItem);\r\n }\r\n super.ngOnInit();\r\n }\r\n\r\n isSelected(item: AbstractDropdownItem): boolean {\r\n return item.view.value == true;\r\n }\r\n\r\n processEvent(event, item: AbstractDropdownItem): void {\r\n //this.parent.processEvent(event, item);\r\n }\r\n\r\n onHelpClick($event): void {\r\n this.parent.helpClick($event);\r\n }\r\n}","import { Input, OnInit, ChangeDetectorRef, Output, AfterViewInit, AfterContentInit, EventEmitter, Component } from \"@angular/core\";\r\nimport { AbstractDropdownGroup } from './abstractDropdownGroup';\r\nimport { InputViewModel } from \"../shared\";\r\n\r\n@Component({ template: '' })\r\nexport abstract class AbstractDropdownItem implements OnInit, AfterViewInit, AfterContentInit {\r\n\r\n constructor(public dropdownGroup: AbstractDropdownGroup, public cdr: ChangeDetectorRef) {\r\n }\r\n\r\n @Input()\r\n public view: InputViewModel;\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n }\r\n\r\n ngAfterContentInit() {\r\n }\r\n\r\n public onClick($event): void {\r\n this.dropdownGroup.processEvent($event, this);\r\n }\r\n}","import { Component, Input, SimpleChanges } from \"@angular/core\";\r\nimport { InputViewModel } from \"../shared/models/inputViewModel\";\r\nimport { BaseInputComponent } from \"../shared/baseInputComponent\";\r\n\r\n@Component({\r\n selector: \"dropdown\",\r\n templateUrl: './genericDropdownGroup.html',\r\n})\r\nexport class GenericDropdownGroup extends BaseInputComponent {\r\n\r\n @Input()\r\n itemsView: InputViewModel[] = [];\r\n\r\n @Input()\r\n menuHeight: string;\r\n\r\n @Input()\r\n collapseIcon: string;\r\n\r\n @Input()\r\n expandIcon: string;\r\n\r\n @Input()\r\n selectedViewId: string;\r\n\r\n /**\r\n True to auto add a empty value at the top of the items.\r\n */\r\n @Input()\r\n public showEmptyValue: boolean = false;\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['itemsView'] || changes['view'])\r\n this.setDefaultValue();\r\n }\r\n\r\n public setDefaultValue(): void {\r\n\r\n if (this.itemsView.length > 0 && !this.showEmptyValue && !this.view.value && this.view.value != '0') {\r\n this.view.formattedValue = this.itemsView[0].title;\r\n this.value = this.view.value = this.itemsView[0].id;\r\n }\r\n\r\n if (this.view && this.value != this.view.value) {\r\n this.value = this.view.value;\r\n this.formattedValue = this.view.formattedValue;\r\n }\r\n \r\n }\r\n\r\n\r\n /**\r\n * Returns true If any item view is readOnly,\r\n */\r\n public isReadOnly(newValue: any): boolean {\r\n return this.itemsView.filter(x => x.readOnly).length > 0;\r\n }\r\n\r\n public selectedChildItemView(): InputViewModel {\r\n for (let view of this.itemsView) {\r\n // Return not null value.\r\n if (view.id == this.view.value)\r\n return view;\r\n }\r\n\r\n if (!this.showEmptyValue && this.itemsView.length > 0)\r\n return this.itemsView[0];\r\n\r\n // This line only would be executed if no value is set.\r\n return null;\r\n }\r\n\r\n public isDisabled(newValue: any): boolean {\r\n let itemView = this.getItemViewById(newValue);\r\n return itemView && itemView.disabled;\r\n }\r\n\r\n private getItemViewById(id: string): InputViewModel {\r\n for (let view of this.itemsView) {\r\n if (view.id == id)\r\n return view;\r\n }\r\n return null;\r\n }\r\n\r\n beforeNotifyToListener(actionView: InputViewModel): void { \r\n this.view.formattedValue = actionView.title;\r\n this.view.value = actionView.value;\r\n }\r\n\r\n readOnlyClick(actionView?: InputViewModel): void {\r\n let v: InputViewModel = actionView == null ? this.selectedChildItemView() : actionView;\r\n super.notifyIfReadOnly(v, null);\r\n\r\n }\r\n}","
\r\n \r\n \r\n \r\n\r\n \r\n \r\n
","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\n\r\nimport { ImageModule } from \"../image\";\r\nimport { HelpModule } from \"../help\";\r\nimport { IconModule } from \"../icon\";\r\n\r\nimport { LineDropdownGroupComponent } from \"./line/lineDropdownGroupComponent\";\r\nimport { LineDropdownItemComponent } from \"./line/lineDropdownItemComponent\";\r\n\r\nimport { ImageLeftLineItemComponent } from \"./line/items/imageLeftLineItemComponent\";\r\nimport { StandardLineItemComponent } from \"./line/items/standardLineItemComponent\";\r\n\r\nimport { StandardDropdownGroupComponent } from \"./standard/standardDropdownGroupComponent\";\r\nimport { StandardDropdownItemComponent } from \"./standard/standardDropdownItemComponent\";\r\n\r\nimport { GenericDropdownGroup } from \"./genericDropdownGroup\";\r\n\r\nexport * from \"./line/lineDropdownGroupComponent\";\r\nexport * from \"./line/lineDropdownItemComponent\";\r\nexport * from \"./line/items/baseLineItemComponent\";\r\nexport * from \"./line/items/imageLeftLineItemComponent\";\r\nexport * from \"./line/items/standardLineItemComponent\";\r\nexport * from \"./standard/standardDropdownGroupComponent\";\r\nexport * from \"./standard/standardDropdownItemComponent\";\r\nexport * from \"./genericDropdownGroup\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ImageModule,\r\n HelpModule,\r\n IconModule\r\n ],\r\n declarations: [\r\n LineDropdownGroupComponent,\r\n LineDropdownItemComponent,\r\n ImageLeftLineItemComponent,\r\n StandardLineItemComponent,\r\n\r\n StandardDropdownGroupComponent,\r\n StandardDropdownItemComponent,\r\n GenericDropdownGroup,\r\n ],\r\n exports: [\r\n LineDropdownGroupComponent,\r\n LineDropdownItemComponent,\r\n ImageLeftLineItemComponent,\r\n StandardLineItemComponent,\r\n\r\n StandardDropdownGroupComponent,\r\n StandardDropdownItemComponent,\r\n GenericDropdownGroup,\r\n ]\r\n})\r\n\r\nexport class DropdownModule {\r\n\r\n}\r\n","import { Component, ChangeDetectorRef, Input, Host, Inject, AfterContentInit } from \"@angular/core\";\r\nimport { LineDropdownItemComponent } from '../lineDropdownItemComponent';\r\nimport { InputViewModel } from \"../../../shared\";\r\n\r\n@Component({ template: '' })\r\nexport abstract class BaseLineItemComponent implements AfterContentInit {\r\n\r\n constructor(public item: LineDropdownItemComponent, public cdr: ChangeDetectorRef) {\r\n item.template = this;\r\n }\r\n\r\n public view: InputViewModel;\r\n\r\n ngAfterContentInit() {\r\n this.view = this.item.view;\r\n }\r\n\r\n get selected() {\r\n return this.item.dropdownGroup.isSelected(this.item);\r\n }\r\n\r\n public onClick($event): void {\r\n console.log(\"onclick BaseLineItemComponent\");\r\n\r\n // Send click upward to the item\r\n this.item.onClick($event);\r\n }\r\n}","import { Component, Input, ChangeDetectorRef, Host, Inject, AfterContentInit } from \"@angular/core\";\r\nimport { BaseLineItemComponent } from './baseLineItemComponent';\r\nimport { LineDropdownItemComponent } from '../lineDropdownItemComponent';\r\n\r\n@Component({\r\n selector: 'image-left-line-item',\r\n templateUrl: './imageLeftLineItemComponent.html',\r\n})\r\nexport class ImageLeftLineItemComponent extends BaseLineItemComponent {\r\n\r\n constructor( @Host() @Inject(LineDropdownItemComponent) public item: LineDropdownItemComponent, public cdr: ChangeDetectorRef) {\r\n super(item, cdr);\r\n }\r\n\r\n}","\r\n","import { Component, ViewChild, ElementRef, ChangeDetectorRef, Input, Host, Inject, AfterContentInit, AfterViewInit } from \"@angular/core\";\r\nimport { BaseLineItemComponent } from './baseLineItemComponent';\r\nimport { LineDropdownItemComponent } from '../lineDropdownItemComponent';\r\n\r\n@Component({\r\n selector: 'standard-line-item',\r\n template: ``\r\n})\r\nexport class StandardLineItemComponent extends BaseLineItemComponent {\r\n\r\n constructor( @Host() @Inject(LineDropdownItemComponent) public item: LineDropdownItemComponent, public cdr: ChangeDetectorRef) {\r\n super(item, cdr);\r\n }\r\n}","import { Inject, Component, OnInit, Host, AfterContentInit, ChangeDetectorRef, Input, EventEmitter, Output, ViewChild, ElementRef, ChangeDetectionStrategy } from \"@angular/core\";\r\nimport { GenericDropdownGroup } from \"../genericDropdownGroup\";\r\nimport { AbstractDropdownItem } from \"../abstractDropdownItem\";\r\nimport { AbstractDropdownGroup } from \"../abstractDropdownGroup\";\r\nimport { InputViewModel } from \"../../shared/models/inputViewModel\";\r\n\r\nimport {\r\n DOWN_ARROW,\r\n ENTER,\r\n LEFT_ARROW,\r\n RIGHT_ARROW,\r\n SPACE,\r\n UP_ARROW,\r\n} from '@angular/cdk/keycodes';\r\nimport { ImageSets } from \"../../../utils\";\r\n\r\n@Component({\r\n selector: \"line-dropdown\",\r\n templateUrl: './lineDropdownGroupComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class LineDropdownGroupComponent extends AbstractDropdownGroup {\r\n\r\n @ViewChild('lineDropdown')\r\n public dropdownMenu: ElementRef;\r\n\r\n @ViewChild('selectButton')\r\n public selectButton: ElementRef;\r\n\r\n @Input()\r\n public view: InputViewModel;\r\n\r\n @Input()\r\n public itemsView: InputViewModel[] = [];\r\n\r\n @Input()\r\n menuHeight: string;\r\n\r\n @Input()\r\n selectedViewId: string;\r\n\r\n selectedIconKey: string;\r\n\r\n public expanded: boolean = false;\r\n\r\n public menuWidth: string = \"\";\r\n\r\n public showPlaceholder: boolean = false;\r\n\r\n public imageSet: string;\r\n\r\n private SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item';\r\n\r\n constructor(@Host() @Inject(GenericDropdownGroup) public parent: GenericDropdownGroup, public cdr: ChangeDetectorRef) {\r\n super(parent, cdr);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this.imageSet = this.getImageSet(ImageSets.ControlLock);\r\n\r\n if (this.parent.view.showIconAsSelected) {\r\n\r\n let selectedItem = this.parent.itemsView.find(x => x.id == this.parent.view.value);\r\n if (selectedItem)\r\n this.selectedIconKey = selectedItem.icon;\r\n\r\n }\r\n\r\n this.setPlaceholder();\r\n }\r\n\r\n ngAfterViewInit() {\r\n $(this.dropdownMenu.nativeElement).on('hide.bs.dropdown', () => {\r\n this.dropdownOpenedClosed({ event: false })\r\n });\r\n\r\n $(this.dropdownMenu.nativeElement).on('show.bs.dropdown', () => {\r\n this.dropdownOpenedClosed({ event: true })\r\n });\r\n }\r\n\r\n public dropdownOpenedClosed($event): void {\r\n this.expanded = $event.event;\r\n\r\n if (!this.expanded)\r\n this.selectButton.nativeElement.focus();\r\n\r\n if (this.parent && this.parent.collapseIcon)\r\n !this.cdr['destroyed']\r\n this.cdr.markForCheck();\r\n }\r\n\r\n setPlaceholder(): void {\r\n\r\n this.showPlaceholder = this.parent.showEmptyValue && this.parent.view.placeholder && !this.parent.view.value;\r\n\r\n }\r\n\r\n processEvent(event, item: AbstractDropdownItem, view: InputViewModel = null): void {\r\n if (view == null && item != null)\r\n view = item.view;\r\n\r\n if (view == null)\r\n return;\r\n\r\n if (this.parent.notifyIfReadOnly(view, view.id))\r\n return;\r\n\r\n if (this.parent.notifyIfDisabled(view, view.id))\r\n return;\r\n\r\n // Show immediate change at client. \r\n this.parent.view.value = view.id;\r\n this.parent.view.formattedValue = view.title; \r\n this.selectedIconKey = view.icon;\r\n\r\n // Remove highlighting now, otherwise it will wait for server response and cause flickering.\r\n this.parent.view.highlight = false;\r\n\r\n this.setPlaceholder();\r\n\r\n // this.updateText(view);\r\n this.parent.notifyValueChange(view, view.id);\r\n }\r\n\r\n // TODO: Postpond dropdown placeholder text until approval.\r\n // Text to be displayed on the dropdown button\r\n // public text: string;\r\n // public placeHolderStyle: boolean = false;\r\n\r\n //public updateText(itemView: InputViewModel) {\r\n // // Update text displayed on the dropdown button. Use selected value if possible, otherwise use default. \r\n // this.text = itemView.id == null ? `Choose ${this.parent.view.title.toLowerCase()}` : itemView.title;\r\n // this.placeHolderStyle = itemView.id == null;\r\n //}\r\n\r\n readOnlyClick(): void {\r\n this.parent.readOnlyClick();\r\n }\r\n\r\n handleKeyup(event: KeyboardEvent): void {\r\n if (this.disabled)\r\n return;\r\n\r\n const keyCode = event.keyCode;\r\n const isArrowKey = keyCode === DOWN_ARROW || keyCode === UP_ARROW ||\r\n keyCode === LEFT_ARROW || keyCode === RIGHT_ARROW;\r\n const isOpenKey = keyCode === ENTER || keyCode === SPACE;\r\n\r\n if (isArrowKey || isOpenKey)\r\n return;\r\n\r\n const key = event.key;\r\n const found = this.itemsView.filter(x => !x.disabled && x.title != null && ('' + x.title).toLowerCase().charAt(0) == '' + key);\r\n\r\n if (found.length > 0) {\r\n if (this.expanded) {\r\n\r\n let items = Array.prototype.slice.call(this.dropdownMenu.nativeElement.querySelectorAll(this.SELECTOR_VISIBLE_ITEMS));\r\n\r\n let subIndex = 0;\r\n\r\n if (found.length > 1) {\r\n let activeIndex = items.indexOf(document.activeElement);\r\n\r\n subIndex = found.findIndex(x => this.itemsView.indexOf(x) == activeIndex) + 1;\r\n\r\n if (subIndex >= found.length)\r\n subIndex = 0;\r\n }\r\n\r\n let index = this.itemsView.indexOf(found[subIndex]);\r\n\r\n if (index > -1 && items.length > index)\r\n items[index].focus();\r\n }\r\n else {\r\n let subIndex = this.parent.view ? found.findIndex(x => x.id == this.parent.view.id) + 1 : 0;\r\n\r\n if (subIndex >= found.length)\r\n subIndex = 0;\r\n\r\n this.processEvent(event, null, found[subIndex]);\r\n }\r\n\r\n }\r\n }\r\n}","
\r\n \r\n\r\n \r\n\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
","import { Component, Input, Host, OnInit, Inject, ChangeDetectorRef, AfterViewInit, AfterContentInit, EventEmitter } from \"@angular/core\";\r\nimport { AbstractDropdownItem } from \"../abstractDropdownItem\";\r\nimport { LineDropdownGroupComponent } from './lineDropdownGroupComponent';\r\nimport { BaseLineItemComponent } from './items/baseLineItemComponent';\r\n\r\n@Component({\r\n selector: \"line-dropdown-item\",\r\n template: `\r\n `\r\n})\r\n\r\nexport class LineDropdownItemComponent extends AbstractDropdownItem implements OnInit, AfterViewInit, AfterContentInit {\r\n\r\n constructor( @Host() @Inject(LineDropdownGroupComponent) public dropdownGroup: LineDropdownGroupComponent, public cdr: ChangeDetectorRef) {\r\n super(dropdownGroup, cdr);\r\n }\r\n\r\n public template: BaseLineItemComponent;\r\n\r\n ngOnInit() {\r\n super.ngOnInit(); \r\n }\r\n\r\n ngAfterViewInit() {\r\n super.ngAfterViewInit();\r\n }\r\n\r\n ngAfterContentInit() {\r\n super.ngAfterContentInit();\r\n }\r\n}","import { Inject, Component, OnInit, Host, AfterContentInit, ChangeDetectorRef, Input, EventEmitter, Output } from \"@angular/core\";\r\n\r\nimport { GenericDropdownGroup } from \"../genericDropdownGroup\";\r\nimport { AbstractDropdownGroup } from \"../abstractDropdownGroup\";\r\nimport { AbstractDropdownItem } from \"../abstractDropdownItem\";\r\n\r\n@Component({\r\n selector: \"standard-dropdown\",\r\n templateUrl: './standardDropdownGroupComponent.html',\r\n})\r\n\r\n // TODO: NOT DONE! Selection is not implemented yet\r\nexport class StandardDropdownGroupComponent extends AbstractDropdownGroup {\r\n\r\n constructor( @Host() @Inject(GenericDropdownGroup) public parent: GenericDropdownGroup, public cdr: ChangeDetectorRef) {\r\n super(parent, cdr);\r\n }\r\n\r\n processEvent(event, item: AbstractDropdownItem): void {\r\n super.processEvent(event, item);\r\n }\r\n\r\n selectItem($event) {\r\n }\r\n}","\r\n\r\n","import { Component, Input, Host, OnInit, Inject, ContentChild, ElementRef, ChangeDetectorRef, Output, AfterViewInit, AfterContentInit, EventEmitter } from \"@angular/core\";\r\nimport { AbstractDropdownItem } from \"../abstractDropdownItem\";\r\nimport { StandardDropdownGroupComponent } from './standardDropdownGroupComponent';\r\n\r\n@Component({\r\n selector: \"standard-dropdown-item\",\r\n templateUrl: './standardDropdownItemComponent.html',\r\n})\r\nexport class StandardDropdownItemComponent extends AbstractDropdownItem implements OnInit, AfterViewInit, AfterContentInit {\r\n\r\n constructor(@Host() @Inject(StandardDropdownGroupComponent) public dropdownGroup: StandardDropdownGroupComponent, public cdr: ChangeDetectorRef) {\r\n super(dropdownGroup, cdr);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n }\r\n\r\n ngAfterViewInit() {\r\n super.ngAfterViewInit();\r\n }\r\n\r\n ngAfterContentInit() {\r\n super.ngAfterContentInit();\r\n }\r\n\r\n}","{{view.title}}\r\n\r\n","import { Component, Input, ElementRef, Directive } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"columntemplate\"\r\n})\r\n\r\n//@Component({\r\n// selector: \"columntemplate\",\r\n// templateUrl: './columntemplate.html'\r\n//})\r\nexport class ColumntemplateComponent {\r\n\r\n /** Bootstrap column sizes from smallest (1 -> 1/12~8.3%) to largest (12 -> 12/12=100%),\r\n or auto. */\r\n @Input()\r\n size: number | string;\r\n\r\n @Input()\r\n classes: string = \"\";\r\n\r\n @Input()\r\n autoCell: boolean = false;\r\n\r\n constructor(public element: ElementRef) {\r\n }\r\n\r\n ngOnInit() {\r\n if (this.classes)\r\n this.element.nativeElement.className += this.classes;\r\n\r\n if (this.autoCell) {\r\n this.element.nativeElement.className += ' col-auto';\r\n }\r\n else {\r\n this.element.nativeElement.className += ` col${this.size == null ? '' : '-' + this.size}`;\r\n }\r\n }\r\n\r\n}","import { Component, Input } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"gridview\",\r\n templateUrl: './gridviewComponent.html'\r\n})\r\nexport class GridviewComponent {\r\n\r\n @Input()\r\n width: string;\r\n\r\n @Input()\r\n minWidth: string;\r\n\r\n @Input()\r\n classes: string = \"\";\r\n\r\n @Input()\r\n fluid: boolean = true;\r\n\r\n @Input()\r\n scrollable = false;\r\n\r\n styles: string;\r\n \r\n ngOnInit() {\r\n this.styles = `${this.fluid ? 'container-fluid' : 'container' } ${this.classes != \"\" ? \" \" + this.classes : \"\"}`;\r\n }\r\n \r\n}","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
","import { Component, Input } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"gridview-footer\",\r\n templateUrl: './gridviewFooterComponent.html'\r\n})\r\nexport class GridviewFooterComponent {\r\n\r\n @Input()\r\n classes: string = \"\";\r\n}","TODO create footer, use for pagnation and stuff","import { Component, Input } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"gridview-header\",\r\n templateUrl: './gridviewHeaderComponent.html'\r\n})\r\nexport class GridviewHeaderComponent {\r\n\r\n @Input()\r\n classes: string = \"\";\r\n\r\n}","
\r\n \r\n
","import { Component, Input} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"gridview-row\",\r\n templateUrl: './gridviewRowComponent.html'\r\n})\r\nexport class GridviewRowComponent {\r\n\r\n @Input()\r\n classes: string = \"\";\r\n\r\n @Input()\r\n height?: string = null;\r\n\r\n @Input()\r\n paddingTop?: string = null;\r\n\r\n @Input()\r\n paddingBottom?: string = null;\r\n\r\n}","
\r\n \r\n
","import { Component, Input, Output, ElementRef, Directive, OnInit, HostListener, EventEmitter } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"header-columntemplate\"\r\n})\r\nexport class HeaderColumnTemplate implements OnInit {\r\n\r\n /** Bootstrap column sizes from smallest (1 -> 1/12~8.3%) to largest (12 -> 12/12=100%),\r\n or auto. */\r\n @Input()\r\n size: number | string;\r\n\r\n @Input()\r\n classes: string = \"\";\r\n\r\n oldClasses: string = \"\";\r\n\r\n //#region \"Sorting related\"\r\n\r\n @Input()\r\n useSorting: boolean = false;\r\n\r\n @Input()\r\n name: string;\r\n\r\n @Input()\r\n defaultDirection: string = \"\"; // TODO enum?\r\n\r\n @Output()\r\n onSort = new EventEmitter();\r\n\r\n public direction: string; // TODO enum?\r\n\r\n @Input()\r\n public autoCell: boolean = false;\r\n\r\n //#endregion \"Sorting related\"\r\n\r\n constructor(public element: ElementRef) {\r\n }\r\n\r\n ngOnInit() {\r\n this.direction = this.defaultDirection;\r\n this.setClass();\r\n }\r\n\r\n public setClass() {\r\n this.element.nativeElement.className.replace(this.oldClasses, \"\");\r\n this.element.nativeElement.className += \" \" + this.classes;\r\n this.oldClasses = this.classes;\r\n\r\n if (this.autoCell)\r\n this.element.nativeElement.className += ' col-auto';\r\n else \r\n this.element.nativeElement.className += ` col${this.size == null ? '' : '-' + this.size}`;\r\n\r\n if (this.useSorting)\r\n this.element.nativeElement.className += \" sorting \" + this.direction;\r\n }\r\n\r\n public toggleDirection() {\r\n this.direction = this.direction == \"up\" ? \"down\" : \"up\";\r\n this.setClass();\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n click($event) {\r\n if (this.useSorting) {\r\n this.toggleDirection();\r\n if (this.onSort != null)\r\n this.onSort.emit({ name: this.name, direction: this.direction });\r\n }\r\n }\r\n}","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { ImageModule } from \"../image\";\r\n\r\nimport { GridviewComponent } from \"./gridviewComponent\";\r\nimport { GridviewHeaderComponent } from \"./gridviewHeaderComponent\";\r\nimport { GridviewFooterComponent } from \"./gridviewFooterComponent\";\r\nimport { GridviewRowComponent } from \"./gridviewRowComponent\";\r\nimport { ColumntemplateComponent } from \"./columntemplate\";\r\nimport { HeaderColumnTemplate } from \"./headerColumnTemplate\";\r\n\r\nexport * from \"./gridviewComponent\";\r\nexport * from \"./gridviewHeaderComponent\";\r\nexport * from \"./gridviewRowComponent\";\r\nexport * from \"./columntemplate\";\r\nexport * from \"./headerColumnTemplate\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ImageModule\r\n ],\r\n declarations: [\r\n GridviewComponent,\r\n GridviewHeaderComponent,\r\n GridviewFooterComponent,\r\n GridviewRowComponent,\r\n ColumntemplateComponent,\r\n HeaderColumnTemplate,\r\n ],\r\n exports: [\r\n GridviewComponent,\r\n GridviewHeaderComponent,\r\n GridviewFooterComponent,\r\n GridviewRowComponent,\r\n ColumntemplateComponent,\r\n HeaderColumnTemplate\r\n ]\r\n})\r\nexport class GridviewModule {\r\n\r\n}","import { Component, Input, Output, EventEmitter, ViewContainerRef, ComponentFactoryResolver, ViewChild, AfterContentInit } from \"@angular/core\";\r\nimport { InputViewModel } from \"../shared\";\r\n\r\n@Component({\r\n selector: 'help-link',\r\n templateUrl: './helpLinkComponent.html'\r\n})\r\nexport class HelpLinkComponent {\r\n\r\n @Output()\r\n onHelpClick = new EventEmitter();\r\n\r\n @Input()\r\n view: InputViewModel;\r\n\r\n @Input()\r\n separator: boolean = true;\r\n\r\n @Input()\r\n styles: string = \"\"; // Extra input styles.\r\n\r\n imageKey: string;\r\n\r\n @Input()\r\n imageSet: string = \"primary-dark\";\r\n\r\n infoClasses: string;\r\n\r\n ngOnInit() {\r\n this.infoClasses = this.separator == true ? 'input-info' : 'input-info no-border';\r\n this.infoClasses = `${this.infoClasses} ${this.styles}`; \r\n }\r\n}","
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { ImageModule } from \"../image\";\r\n\r\nimport { HelpLinkComponent } from \"./helpLinkComponent\";\r\n\r\nexport * from \"./helpLinkComponent\";\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ImageModule\r\n ],\r\n declarations: [\r\n HelpLinkComponent \r\n ],\r\n exports: [\r\n HelpLinkComponent\r\n ]\r\n })\r\nexport class HelpModule {\r\n\r\n}","import { Component, Input, Output, EventEmitter, ViewContainerRef, ComponentFactoryResolver, ViewChild, AfterContentInit } from \"@angular/core\";\r\nimport { InputViewModel } from \"../shared\";\r\n\r\n@Component({\r\n selector: 'icon',\r\n template: `
\r\n \r\n
`\r\n})\r\nexport class IconComponent {\r\n @Input()\r\n view: InputViewModel;\r\n\r\n @Input()\r\n classes: string;\r\n}","import { NgModule } from \"@angular/core\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { IconComponent } from \"./iconComponent\";\r\nimport { ImageModule } from \"../image\";\r\n\r\nexport * from \"./iconComponent\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ImageModule\r\n ],\r\n declarations: [\r\n IconComponent\r\n ],\r\n exports: [\r\n IconComponent\r\n ]\r\n})\r\nexport class IconModule {\r\n\r\n}","import { Input, Inject, Component, ViewChild, ElementRef, SimpleChanges, ViewEncapsulation, OnInit, AfterViewInit, Output, EventEmitter } from \"@angular/core\";\r\nimport { AbstractImageService } from \"../../providers\";\r\nimport { isString } from \"util\";\r\n\r\n@Component({\r\n selector: 'co-image',\r\n encapsulation: ViewEncapsulation.None,\r\n templateUrl: './imageComponent.html'\r\n})\r\nexport class ImageComponent implements OnInit, AfterViewInit {\r\n\r\n public keepSameWidthIfImageNotFound: boolean = true;\r\n public imageFound: boolean = true;\r\n \r\n @Input() id: string;\r\n\r\n @Output()\r\n imageLoaded = new EventEmitter()\r\n\r\n @Output()\r\n imageError = new EventEmitter()\r\n\r\n @Input()\r\n key: string;\r\n\r\n\r\n @Input()\r\n customUrl: string;\r\n\r\n @Input() cssClass: string;\r\n @Input() style: string;\r\n\r\n // Sizes separated by comma ','\r\n // Example : 1x, 2x, 3x, 4x \r\n // or 0.5x, 1x, 1.5x\r\n @Input()\r\n sizes: string;\r\n\r\n @Input()\r\n maxHeight: string;\r\n\r\n @Input()\r\n height: string;\r\n\r\n @Input()\r\n width: string\r\n\r\n @Input()\r\n type = 'svg';\r\n\r\n /** Image set for svg. Like \"primary\", \"primary-dark\" etc. */\r\n @Input()\r\n imageSet = 'primary';\r\n\r\n @Input()\r\n isVault = false;\r\n\r\n srcSet: string[];\r\n\r\n defaultSrc: string;\r\n\r\n @ViewChild('image') imageElement: ElementRef;\r\n\r\n constructor(\r\n public imageService: AbstractImageService) {\r\n }\r\n\r\n public ngOnInit(): void {\r\n if (this.customUrl)\r\n this.initCustomUrlSource();\r\n else\r\n this.defineSources();\r\n }\r\n\r\n public ngAfterViewInit(): void {\r\n\r\n // let expression = /[^\\d\\.\\-]/g;\r\n // let _width: number = 0; \r\n // let _height: number = 0;\r\n // this.width.replace(expression, '')\r\n\r\n //if (this.width != null) {\r\n // this.imageElement.nativeElement.width = this.width;\r\n //}\r\n\r\n //if (this.height != null) {\r\n // this.imageElement.nativeElement.height = this.height;\r\n //}\r\n\r\n //if (this.style != null) {\r\n // // Note! I.E throws exception If we set the style from template\r\n // // Exception: Assignment to read- only properties is not allowed in strict mode\r\n // this.imageElement.nativeElement.style = this.style;\r\n //}\r\n\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (this.customUrl)\r\n return;\r\n\r\n if (changes['isVault'] || changes['imageSet'] || changes['key']) {\r\n this.defineSources();\r\n }\r\n }\r\n\r\n public initCustomUrlSource(): void {\r\n if (!this.type || this.type == \"\")\r\n this.getTypeFromUrl();\r\n\r\n // see if url is remote or not\r\n if (this.customUrl.indexOf('://') > 0 || this.customUrl.indexOf('//') === 0) {\r\n if (this.type && this.type.length > 0 && !this.customUrl.toLowerCase().endsWith(this.type))\r\n this.defaultSrc = `${this.customUrl}.${this.type}`;\r\n else\r\n this.defaultSrc = this.customUrl;\r\n } else {\r\n this.srcSet = this.imageService.getImageUrl(this.customUrl, this.type, this.sizes, true, this.imageSet);\r\n this.defaultSrc = this.srcSet.length > 0 ? this.srcSet[0] : '';\r\n }\r\n }\r\n\r\n getTypeFromUrl() {\r\n let type = this.customUrl.toLowerCase().split(\".\").pop();\r\n let validExts = [\".jpg\", \".jpeg\", \".bmp\", \".gif\", \".png\", \".apng\", \".avif\", '.jpg', '.jfif', '.pjpeg', \".pjp\", '.svg', '.webp', '.bmp', '.ico,', '.cur', '.tif', '.tiff'];\r\n\r\n if (validExts.indexOf('.' + type) > -1)\r\n this.type = type;\r\n else\r\n this.type = \"png\";\r\n }\r\n\r\n public defineSources(): void {\r\n if (this.key == null)\r\n return;\r\n\r\n // If the input parameter is string.\r\n if (isString(this.isVault))\r\n this.isVault = this.isVault == 'true';\r\n\r\n this.srcSet = this.imageService.getImageUrl(this.key, this.type, this.sizes, this.isVault, this.imageSet);\r\n\r\n this.defaultSrc = this.srcSet.length > 0 ? this.srcSet[0] : '';\r\n }\r\n\r\n // TODO: Handle loading events.\r\n\r\n triggerEvent(event): void {\r\n\r\n this.imageFound = true;\r\n this.imageLoaded.emit(event);\r\n }\r\n\r\n onError(event): void {\r\n this.imageFound = false;\r\n this.imageError.emit(event);\r\n }\r\n\r\n}","\r\n \r\n \"\"\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { ImageComponent } from './imageComponent';\r\nimport { ImageDimensionModule } from \"../../utils/pipes\";\r\n\r\nexport * from './imageComponent';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ImageDimensionModule\r\n ],\r\n declarations: [ \r\n ImageComponent\r\n ],\r\n exports: [\r\n ImageComponent\r\n ]\r\n})\r\nexport class ImageModule {\r\n\r\n}","export * from './accordion';\r\nexport * from './button';\r\nexport * from './debouncedTextBox';\r\nexport * from './dragDrop';\r\nexport * from './dropdown';\r\nexport * from './gridview';\r\nexport * from './help';\r\nexport * from './icon';\r\nexport * from './icon';\r\nexport * from './image';\r\nexport * from './layout';\r\nexport * from './messageBox';\r\nexport * from './notification';\r\nexport * from './pagination';\r\nexport * from './panel';\r\nexport * from './password';\r\nexport * from './popover';\r\nexport * from './popup';\r\nexport * from './radioButton';\r\nexport * from './shared';\r\nexport * from './tab';\r\nexport * from './textBox';\r\nexport * from './treeView';\r\nexport * from './datepicker';\r\nexport * from './dateRangePicker';\r\nexport * from './autoScrollbar';\r\nexport * from './customLink/customLinkComponent';\r\nexport * from './breadcrumb';\r\nexport * from './checkbox';","import { Component, Input, OnInit } from \"@angular/core\";\r\n\r\nconst LayoutDirection = {\r\n TopLeft: 'topLeft',\r\n TopRight: 'topRight',\r\n BottomLeft: 'bottomLeft',\r\n BottomRight: 'bottomRight'\r\n}\r\n\r\n@Component({\r\n selector: 'absolute-layout',\r\n template: `
\r\n \r\n
`\r\n})\r\nexport class AbsoluteLayoutComponent implements OnInit {\r\n\r\n @Input() direction: string = LayoutDirection.TopLeft;\r\n\r\n @Input() gutter: string;\r\n\r\n @Input() positionX: number;\r\n\r\n @Input() positionY: number;\r\n\r\n @Input() zIndex: string;\r\n\r\n @Input() alwaysShow: boolean = true;\r\n\r\n public transitionStyle: string;\r\n public visibleStyle: string;\r\n public left: string;\r\n public right: string;\r\n public top: string;\r\n public bottom: string;\r\n\r\n ngOnInit() {\r\n // Set the position if the positionX is provided through template input.\r\n if (this.positionX != null)\r\n this.setPosition()\r\n\r\n if (this.alwaysShow)\r\n this.show();\r\n }\r\n\r\n adjust(positionX: number, positionY: number): void {\r\n this.positionX = positionX;\r\n this.positionY = positionY;\r\n\r\n // Explicit call to set the position.\r\n this.setPosition();\r\n }\r\n\r\n public addTransition(transition: boolean): void {\r\n // Set no transition to have abrupt change\r\n this.transitionStyle = \"transition-layout\";\r\n\r\n // Remove no-transition css.\r\n //setTimeout(() =>\r\n //{\r\n // this.transitionStyle = ''\r\n //}, 5000);\r\n\r\n if (!transition) {\r\n this.transitionStyle += \".none\";\r\n }\r\n }\r\n\r\n hide(transition: boolean = true): void {\r\n if (transition) {\r\n this.addTransition(transition);\r\n }\r\n\r\n this.visibleStyle = \"hide\";\r\n }\r\n\r\n show(transition: boolean = true): void {\r\n if (transition) {\r\n this.addTransition(transition);\r\n }\r\n\r\n this.visibleStyle = \"show\";\r\n }\r\n\r\n public setPosition(): void {\r\n switch (this.direction) {\r\n case LayoutDirection.TopLeft:\r\n this.right = \"\";\r\n this.left = String(this.positionX);\r\n this.top = String(this.positionY);\r\n this.bottom = \"\";\r\n break;\r\n\r\n case LayoutDirection.TopRight:\r\n this.left = \"\";\r\n this.right = String(this.positionX);\r\n\r\n this.top = String(this.positionY);\r\n this.bottom = \"\";\r\n\r\n break;\r\n\r\n case LayoutDirection.BottomLeft:\r\n this.right = \"\";\r\n this.left = String(this.positionX);\r\n\r\n this.top = \"\";\r\n this.bottom = String(this.positionY);\r\n\r\n break;\r\n\r\n case LayoutDirection.BottomRight:\r\n this.right = String(this.positionX);\r\n this.left = \"\";\r\n this.top = \"\";\r\n this.bottom = String(this.positionY);\r\n\r\n break;\r\n }\r\n\r\n }\r\n}","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { AbsoluteLayoutComponent } from \"./absoluteLayoutComponent\";\r\n\r\nexport * from \"./absoluteLayoutComponent\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n AbsoluteLayoutComponent, \r\n ],\r\n exports: [\r\n AbsoluteLayoutComponent, \r\n ]\r\n})\r\nexport class LayoutModule {\r\n\r\n}","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { MessageBoxComponent } from './messageBoxComponent';\r\nimport { PopupModule } from \"../popup\";\r\nimport { ImageModule } from \"../image\";\r\nimport { SafeHtmlModule } from \"../../../shared/utils/pipes\";\r\nexport * from \"./messageBoxComponent\";\r\nexport * from \"./messageBoxInfo\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PopupModule,\r\n ImageModule,\r\n SafeHtmlModule\r\n ],\r\n declarations: [\r\n MessageBoxComponent\r\n ],\r\n providers: [\r\n ],\r\n exports: [\r\n MessageBoxComponent\r\n ]\r\n})\r\nexport class MessageBoxModule {\r\n\r\n}","import { Component, Input, Optional, ChangeDetectorRef, Output, EventEmitter, SimpleChanges, HostListener } from \"@angular/core\";\r\nimport { MessageBoxConfig } from \"./messageBoxInfo\";\r\nimport { PopupService } from \"../popup/popupService\";\r\nimport { BaseComponent } from \"../../../pages/shared/baseComponent\";\r\nimport { ImageSets } from \"../../utils\";\r\n\r\n@Component({\r\n selector: 'message-box',\r\n templateUrl: './messageBoxComponent.html'\r\n})\r\nexport class MessageBoxComponent extends BaseComponent {\r\n\r\n @Input()\r\n public message: MessageBoxConfig;\r\n\r\n @Input()\r\n public visible: boolean = false;\r\n\r\n @Input()\r\n public showBodyContents: boolean = false;\r\n\r\n @Input()\r\n public id = \"message-box\";\r\n\r\n @Input()\r\n public title: string;\r\n\r\n @Input()\r\n public okButtonText: string;\r\n\r\n @Input()\r\n public cancelButtonText: string;\r\n\r\n @Input()\r\n public cancelButton: boolean = true;\r\n\r\n @Input() public showCloseButton: boolean = true;\r\n\r\n @Input() public showOkButton: boolean = true;\r\n\r\n @Input()\r\n public height: string = '300px';\r\n\r\n @Input()\r\n public width: string = '500px';\r\n\r\n @Output()\r\n okClick = new EventEmitter();\r\n\r\n okClickedClosure: any;\r\n cancelClickedClosure: any;\r\n\r\n public imageSet: string;\r\n\r\n constructor( \r\n public cdr: ChangeDetectorRef,\r\n @Optional() public popupService?: PopupService\r\n ) {\r\n super();\r\n } \r\n\r\n ngOnInit() {\r\n this.imageSet = this.getImageSet(ImageSets.PopupHeader);\r\n super.ngOnInit();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n\r\n if (changes['visible'] && this.visible && this.message) {\r\n this.show(this.message);\r\n }\r\n\r\n }\r\n\r\n public show(message: MessageBoxConfig, okClickedClosure?: any, cancelClickedClosure?: any): void {\r\n\r\n this.visible = true; \r\n this.message = message;\r\n\r\n }\r\n\r\n public onOkClick($event): void {\r\n\r\n if (this.okClickedClosure)\r\n this.okClickedClosure();\r\n\r\n this.okClick.emit(this.message.tag);\r\n this.message = null;\r\n this.visible = false;\r\n\r\n }\r\n\r\n public onCancelClick($event): void {\r\n\r\n if (this.cancelClickedClosure)\r\n this.cancelClickedClosure();\r\n\r\n this.message = null;\r\n this.visible = false;\r\n\r\n }\r\n\r\n @HostListener('document:keydown', ['$event'])\r\n onKeydownHandler(event: KeyboardEvent) {\r\n if (event.key === \"Escape\") {\r\n this.popupService?.close(this.id);\r\n event.stopPropagation();\r\n }\r\n }\r\n\r\n}","\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n

\r\n

\r\n

\r\n
\r\n
\r\n
\r\n
\r\n

\r\n
\r\n \r\n
","export interface BaseMessageBoxModel {\r\n\r\n id?: string;\r\n\r\n}\r\n\r\nexport class MessageBoxConfig implements BaseMessageBoxModel {\r\n\r\n public id?: string;\r\n public headerText: string;\r\n public caption: string;\r\n public description: string;\r\n public icon: string;\r\n public tag: T;\r\n\r\n}\r\n\r\nexport enum ActionNames {\r\n Ok = \"Ok\",\r\n Cancel = \"Cancel\",\r\n Close = \"Close\",\r\n}\r\n\r\n\r\nexport class MessageBoxAction implements BaseMessageBoxModel {\r\n\r\n // Unique id for component.\r\n id?: string;\r\n actionName: ActionNames;\r\n tag?: T;\r\n\r\n\r\n}","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { MultiChoiceGroupComponent } from \"./multiChoiceGroupComponent\";\r\nimport { MultiChoiceItemComponent } from \"./multiChoiceItemComponent\";\r\n\r\nimport { MultiChoiceItemViewModel } from \"./multiChoiceItemViewModel\";\r\nimport { ImageModule } from \"../image\";\r\nimport { CheckboxModule } from \"../checkbox\";\r\nimport { HelpModule } from \"../help\";\r\nimport { IconModule } from \"../icon\";\r\n\r\nexport * from \"./multiChoiceGroupComponent\";\r\nexport * from \"./multiChoiceItemComponent\";\r\nexport * from \"./multiChoiceItemViewModel\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ImageModule,\r\n CheckboxModule,\r\n HelpModule,\r\n IconModule\r\n ],\r\n declarations: [\r\n MultiChoiceGroupComponent,\r\n MultiChoiceItemComponent\r\n ],\r\n exports: [\r\n MultiChoiceGroupComponent,\r\n MultiChoiceItemComponent\r\n ]\r\n})\r\nexport class MultiChoiceModule {\r\n\r\n}","import { Component } from \"@angular/core\";\r\nimport { BaseInputComponent } from \"../shared\";\r\n\r\n@Component({\r\n selector: 'multi-choice-group',\r\n templateUrl: './multiChoiceGroupComponent.html'\r\n})\r\nexport class MultiChoiceGroupComponent extends BaseInputComponent {\r\n \r\n} ","
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
","import { Component, Input} from \"@angular/core\";\r\nimport { BaseInputComponent } from \"../shared\";\r\nimport { MultiChoiceItemViewModel } from \"./multiChoiceItemViewModel\";\r\n\r\n@Component({\r\n selector: 'multi-choice-item',\r\n template: `\r\n `\r\n})\r\nexport class MultiChoiceItemComponent extends BaseInputComponent {\r\n @Input()\r\n view: MultiChoiceItemViewModel;\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { InputViewModel } from \"../shared\";\r\n\r\n@Injectable()\r\nexport class MultiChoiceItemViewModel extends InputViewModel {\r\n\r\n triState: boolean = false;\r\n\r\n}","import { Component, Input, EventEmitter, ViewChild, ElementRef, Output, SimpleChanges, ChangeDetectionStrategy, ChangeDetectorRef } from \"@angular/core\";\r\nimport { MultiSelectItem, ItemStateType } from \"./multiSelectModels\";\r\nimport { MultiSelectEventService, MultiSelectEvent, MultiSelectAction } from \"./multiSelectEventService\";\r\nimport { Subscription } from \"rxjs\";\r\n\r\n@Component({\r\n selector: \"multi-select-item\",\r\n templateUrl: './multiSelectItemComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MultiSelectItemComponent {\r\n\r\n @Input()\r\n item: MultiSelectItem;\r\n\r\n @Input()\r\n showItemIcons: boolean = false;\r\n\r\n @Input()\r\n iconImageSet: string;\r\n\r\n @Input()\r\n triState: boolean = false;\r\n\r\n @Input()\r\n checkedIcon: string;\r\n\r\n @Input()\r\n uncheckedIcon: string;\r\n\r\n subscription: Subscription;\r\n\r\n constructor(private eventService: MultiSelectEventService, private cd: ChangeDetectorRef) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.subscription = this.eventService.get().subscribe(info => {\r\n\r\n switch (info.actionType) {\r\n\r\n case MultiSelectAction.DropDownItemRemoved:\r\n\r\n this.cd.markForCheck();\r\n\r\n break;\r\n\r\n case MultiSelectAction.DropdownOpen:\r\n\r\n // TODO..\r\n break;\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n onItemClick(item: MultiSelectItem) {\r\n\r\n this.setNextState(this.item);\r\n this.updateItemIcon(this.item);\r\n\r\n // Notify to the listeners.\r\n let event = {\r\n actionType: MultiSelectAction.DropDownItemClick,\r\n item: item\r\n };\r\n\r\n this.eventService.sendMessage(event);\r\n this.cd.markForCheck();\r\n }\r\n\r\n setNextState(item: MultiSelectItem): void {\r\n\r\n // Comparison before state update.\r\n if (item.state == ItemStateType.Unchecked) {\r\n\r\n // Set new state.\r\n item.state = ItemStateType.Checked;\r\n }\r\n\r\n else if (item.state == ItemStateType.Checked && this.triState) {\r\n item.state = ItemStateType.Inderminate;\r\n }\r\n\r\n else {\r\n item.state = ItemStateType.Unchecked;\r\n }\r\n\r\n this.updateItemIcon(item);\r\n }\r\n\r\n updateItemIcon(item: MultiSelectItem): void {\r\n\r\n if (item.state == ItemStateType.Checked) {\r\n item.icon = this.checkedIcon;\r\n }\r\n\r\n else if (item.state == ItemStateType.Unchecked) {\r\n item.icon = this.uncheckedIcon;\r\n }\r\n\r\n else item.icon = '';\r\n }\r\n\r\n ngOnDestroy() {\r\n\r\n if (this.subscription)\r\n this.subscription.unsubscribe();\r\n\r\n }\r\n\r\n}","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{item.title}}\r\n
\r\n
\r\n
\r\n\r\n 0\">\r\n\r\n \r\n \r\n\r\n\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { ImageModule } from \"../image\";\r\nimport { MultiSelectGroupComponent } from \"./multiSelectGroupComponent\";\r\nimport { DragScrollModule } from \"../dragScroll\";\r\nimport { MultiSelectDropdownSelectedValues } from \"./multiSelectDropdownSelectedValues\";\r\nimport { MultiSelectItemComponent } from \"./MultiSelectItemComponent\";\r\n\r\nexport * from \"./multiSelectGroupComponent\";\r\nexport * from \"./multiSelectModels\";\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ImageModule, \r\n DragScrollModule\r\n \r\n ],\r\n declarations: [\r\n MultiSelectGroupComponent,\r\n MultiSelectItemComponent,\r\n MultiSelectDropdownSelectedValues\r\n ],\r\n exports: [\r\n MultiSelectGroupComponent,\r\n MultiSelectItemComponent,\r\n MultiSelectDropdownSelectedValues\r\n ]\r\n})\r\n\r\nexport class MultiSelectDropDownModule {\r\n\r\n}\r\n","import { Component, Output, EventEmitter, Input } from \"@angular/core\";\r\nimport { MultiSelectItem } from \".\";\r\nimport * as Immutable from \"immutable\";\r\nimport { BaseComponent } from \"../../../pages/shared/baseComponent\";\r\nimport { ImageSets } from \"../../utils\";\r\n\r\n@Component({\r\n selector: \"dropdown-selected-values\",\r\n templateUrl: './multiSelectDropdownSelectedValues.html'\r\n})\r\nexport class MultiSelectDropdownSelectedValues extends BaseComponent {\r\n\r\n @Output()\r\n openIt = new EventEmitter();\r\n\r\n @Output()\r\n itemRemoved = new EventEmitter();\r\n\r\n @Input()\r\n items: Immutable.List = Immutable.List();\r\n\r\n @Input()\r\n selectedItems: Immutable.List = Immutable.List();\r\n\r\n @Input()\r\n show = false;\r\n\r\n @Input()\r\n emptyTitle: string;\r\n\r\n public imageSet: string;\r\n\r\n ngOnInit() {\r\n\r\n this.imageSet = this.getImageSet(ImageSets.Control);\r\n super.ngOnInit();\r\n\r\n }\r\n\r\n openMenu($event): void {\r\n $event.stopPropagation();\r\n\r\n this.openIt.emit();\r\n }\r\n\r\n removeItem($event, item: MultiSelectItem): void {\r\n $event.stopPropagation();\r\n\r\n this.itemRemoved.emit(item);\r\n }\r\n\r\n}","
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n {{item.title}}\r\n \r\n
\r\n\r\n \r\n {{emptyTitle}}\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
","import { Subject, Observable } from 'rxjs';\r\nimport { MultiSelectItem } from './multiSelectModels';\r\n\r\nexport interface MultiSelectEvent {\r\n item: MultiSelectItem;\r\n actionType: MultiSelectAction\r\n}\r\n\r\nexport enum MultiSelectAction {\r\n DropDownItemClick = 'click',\r\n DropDownItemRemoved = 'removed',\r\n DropdownOpen = 'dropdownOpen'\r\n}\r\n\r\nexport class MultiSelectEventService {\r\n\r\n // Subject to subscribe the Popup.\r\n private subject = new Subject();\r\n\r\n /**\r\n * Broadcasts the message to all subscribers\r\n * @param event\r\n */\r\n public sendMessage(info: MultiSelectEvent): void {\r\n this.subject.next(info);\r\n }\r\n\r\n public get() {\r\n return this.subject;\r\n }\r\n\r\n}","import { Component, Input, EventEmitter, ViewChild, ElementRef, Output, SimpleChanges, ChangeDetectionStrategy, ChangeDetectorRef } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\"\r\nimport { MultiSelectItem, ItemStateType } from \"./multiSelectModels\";\r\nimport { DragScrollComponent } from \"../dragScroll\";\r\nimport { HostListener } from \"@angular/core\";\r\nimport { MultiSelectEventService, MultiSelectAction, MultiSelectEvent } from \"./multiSelectEventService\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { SelectChangeEventArgs } from \"./selectChangeEventArgs\";\r\n\r\n@Component({ \r\n selector: \"multi-select-group\",\r\n templateUrl: './multiSelectGroupComponent.html',\r\n providers: [MultiSelectEventService],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MultiSelectGroupComponent {\r\n\r\n @Input()\r\n width: string = \"320px\";\r\n\r\n @Input()\r\n emptyTitle: string;\r\n\r\n @Input()\r\n checkedIcon: string;\r\n\r\n @Input()\r\n uncheckedIcon: string;\r\n\r\n @Input()\r\n disabled: boolean = false;\r\n\r\n @Input()\r\n enableInputItemIcon: boolean = false; \r\n\r\n @Input()\r\n iconImageSet: string;\r\n\r\n /**\r\n * @deprecated The method should not be used anymore. Use onSelectChange instead.\r\n */\r\n @Output()\r\n onSelect = new EventEmitter>();\r\n\r\n @Output()\r\n onSelectChange = new EventEmitter();\r\n\r\n showItemIcons: boolean = false;\r\n\r\n @Input()\r\n items: Immutable.List = Immutable.List();\r\n \r\n selectedItems: Immutable.List = Immutable.List();\r\n show: boolean = false;\r\n\r\n @Input()\r\n triState: boolean = false;\r\n\r\n subscription: Subscription;\r\n\r\n constructor(private elementRef: ElementRef, private eventService: MultiSelectEventService, private cd: ChangeDetectorRef) { } \r\n\r\n @ViewChild('dragScroll', { read: DragScrollComponent }) ds: DragScrollComponent;\r\n\r\n moveLeft() {\r\n this.ds.moveLeft();\r\n }\r\n\r\n moveRight() {\r\n this.ds.moveRight();\r\n }\r\n\r\n ngOnInit() {\r\n this.showItemIcons = this.checkedIcon != null || this.uncheckedIcon != null; \r\n\r\n this.subscription = this.eventService.get().subscribe(info => {\r\n\r\n switch (info.actionType) {\r\n\r\n case MultiSelectAction.DropDownItemClick:\r\n\r\n this.updateSelectedItems(info.item);\r\n break;\r\n\r\n case MultiSelectAction.DropdownOpen:\r\n\r\n // TODO..\r\n break;\r\n\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n removeItem(item: MultiSelectItem): void {\r\n\r\n if (this.disabled)\r\n return;\r\n\r\n item.state = this.triState ? ItemStateType.Inderminate : ItemStateType.Unchecked;\r\n this.updateItemIcon(item);\r\n this.updateSelectedItems(item);\r\n this.eventService.sendMessage({ item: item, actionType: MultiSelectAction.DropDownItemRemoved });\r\n\r\n }\r\n\r\n openIt() {\r\n\r\n if (this.disabled)\r\n return;\r\n\r\n // Parent box\r\n let jParentContentsBox = $(event.target).closest('drag-scroll');\r\n\r\n // Inner contents box\r\n let innerContentsBox = jParentContentsBox.find('.inner-contents');\r\n\r\n // Populate the menu only if mouse click is performed outside the contents.\r\n if (innerContentsBox.length > 0 && this.selectedItems.size > 0) {\r\n\r\n // In case of overflowing the inner contents, get the parent container size.\r\n let rect = innerContentsBox.width() < jParentContentsBox.width() ? innerContentsBox[0].getBoundingClientRect() : (jParentContentsBox[0]).getBoundingClientRect();\r\n let mousePosX = (event).clientX;\r\n let mousePosY = (event).clientY;\r\n\r\n // If mouse clicked position is outside the inner contents then show the popup menu.\r\n if (!this.between(mousePosX, mousePosY, rect)) {\r\n this.show = !this.show;\r\n }\r\n }\r\n else this.show = !this.show;\r\n\r\n }\r\n\r\n between(mouseX: number, mouseY: number, rect: any): boolean {\r\n return mouseX > rect.x && mouseY > rect.y && mouseX < rect.x + rect.width && mouseY < rect.y + rect.height;\r\n }\r\n \r\n updateSelectedItems(targetItem: MultiSelectItem): void {\r\n\r\n\r\n this.selectedItems = Immutable.List(this.getSelectedItems(this.items.toArray()));\r\n\r\n if (this.ds)\r\n this.ds.update();\r\n\r\n if (this.disabled)\r\n return;\r\n\r\n this.onSelect.emit(this.selectedItems.toArray());\r\n\r\n if (targetItem) {\r\n let args = new SelectChangeEventArgs();\r\n args.selectedItems = this.selectedItems.toArray();\r\n args.targetItem = targetItem;\r\n this.onSelectChange.emit(args);\r\n }\r\n\r\n }\r\n\r\n updateItemIcon(item: MultiSelectItem): void {\r\n\r\n if (item.state == ItemStateType.Checked) {\r\n item.icon = this.checkedIcon;\r\n }\r\n\r\n else if (item.state == ItemStateType.Unchecked) {\r\n item.icon = this.uncheckedIcon;\r\n }\r\n\r\n else item.icon = '';\r\n }\r\n\r\n protected getSelectedItems(items: Array): Array {\r\n\r\n let selectedItems: Array = new Array();\r\n for (let item of items) {\r\n\r\n if (this.includeAsSelected(item))\r\n selectedItems.push(item);\r\n\r\n if (item.children)\r\n selectedItems.push(...this.getSelectedItems(item.children));\r\n }\r\n\r\n return selectedItems;\r\n }\r\n\r\n protected includeAsSelected(item: MultiSelectItem): boolean {\r\n\r\n if (this.triState)\r\n return item.state == ItemStateType.Checked || item.state == ItemStateType.Unchecked;\r\n\r\n else\r\n return item.state == ItemStateType.Checked;\r\n\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n\r\n if (changes['items']) {\r\n //this.selectedItems = this.items.filter(x => this.includeAsSelected(x)).toArray();\r\n this.updateSelectedItems(null);\r\n }\r\n\r\n }\r\n\r\n @HostListener('document:click', ['$event'])\r\n onClick(event) {\r\n\r\n // If dropdown menu is not visible then don't continue.\r\n if (!this.show)\r\n return;\r\n \r\n this.show = this.contains(event.clientX, event.clientY);\r\n this.cd.markForCheck();\r\n \r\n }\r\n\r\n contains(x, y) {\r\n\r\n if (this.containsElement(x, y, 'multi-select-group'))\r\n return true;\r\n\r\n return this.containsElement(x, y, 'multi-select-menu');\r\n }\r\n\r\n containsElement(x, y, element) {\r\n\r\n let menuDOM = this.elementRef.nativeElement.getElementsByClassName(element);\r\n if (menuDOM.lenth == 0)\r\n return false;\r\n\r\n let menuRect = menuDOM[0].getBoundingClientRect();\r\n\r\n return menuRect.x <= x && x <= menuRect.x + menuRect.width &&\r\n menuRect.y <= y && y <= menuRect.y + menuRect.height;\r\n }\r\n\r\n ngOnDestroy() {\r\n\r\n if (this.subscription)\r\n this.subscription.unsubscribe();\r\n\r\n }\r\n\r\n @HostListener('window:mouseup', ['$event'])\r\n mouseUp(event)\r\n {\r\n\r\n if (this.show && !this.contains(event.clientX, event.clientY)) {\r\n\r\n this.show = false;\r\n this.cd.markForCheck();\r\n\r\n } \r\n }\r\n \r\n}","
\r\n\r\n \r\n \r\n\r\n \r\n\r\n
\r\n\r\n \r\n \r\n \r\n\r\n
\r\n\r\n \r\n\r\n
","export enum ItemStateType {\r\n Checked = 'checked',\r\n Unchecked = 'unchecked',\r\n Inderminate = 'inderminate'\r\n}\r\n\r\nexport interface MultiSelectItem {\r\n id: string;\r\n state: ItemStateType;\r\n title: string;\r\n icon?: string;\r\n parentId?: string;\r\n selectable?: boolean;\r\n isChild?: boolean;\r\n children?: Array;\r\n\r\n}","import { MultiSelectItem, ItemStateType } from \".\";\r\n\r\nexport class SelectChangeEventArgs {\r\n \r\n targetItem: MultiSelectItem;\r\n\r\n selectedItems: Array = [];\r\n\r\n}","import { NgModule } from \"@angular/core\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { NotificationService } from \"./notificationService\";\r\nimport { NotificationComponent } from \"./notificationComponent\";\r\nimport { ImageModule } from \"../image\";\r\nimport { SafeHtmlModule } from \"../../../shared/utils/pipes\";\r\n\r\nexport * from \"./notificationService\";\r\nexport * from \"./notificationComponent\";\r\nexport * from \"./notificationInfo\";\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ImageModule,\r\n SafeHtmlModule\r\n ],\r\n declarations: [\r\n NotificationComponent \r\n ],\r\n providers: [\r\n NotificationService\r\n ],\r\n exports: [\r\n NotificationComponent\r\n ] \r\n})\r\nexport class NotificationModule {\r\n\r\n}","import { Component, Input, ElementRef, ViewChild, ChangeDetectorRef, ChangeDetectionStrategy } from '@angular/core';\r\nimport { NotificationService } from './notificationService';\r\nimport { Notification, NotificationInfo, NotificationPositionTypes, NotificationConfig } from \"./notificationInfo\";\r\nimport { JsonConvert } from '../../providers';\r\n\r\n@Component({\r\n selector: 'notification',\r\n templateUrl: './notificationComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class NotificationComponent {\r\n public notifications: Notification[] = [];\r\n\r\n // Default settings\r\n public config: NotificationConfig = new NotificationConfig();\r\n\r\n public showFallbackIcon: boolean = false;\r\n\r\n /**\r\n * Raw text\r\n */\r\n @Input() public detailButtonText: string = \"Detail\";\r\n\r\n /**\r\n * Message text\r\n */\r\n @Input() public messageButtonText: string = \"Message\";\r\n\r\n\r\n constructor(\r\n public cd: ChangeDetectorRef,\r\n public notficationService: NotificationService,\r\n public jsonConvert: JsonConvert) {\r\n\r\n this.notficationService.observers.subscribe(notification => {\r\n this.setNotification(notification);\r\n });\r\n\r\n this.config = this.notficationService.notificationConfig;\r\n }\r\n\r\n public createTimeout(notification: Notification, ignoreNotifyUpdate: boolean = false) {\r\n notification.timeout = setTimeout(() => {\r\n // Update notify status, It helps to remove the dom element when system sets it to false.\r\n\r\n if (!ignoreNotifyUpdate)\r\n notification.notify = !notification.notify;\r\n\r\n setTimeout(() => {\r\n\r\n // Update existing notification\r\n if (notification.timestamp && notification.timestamp > Date.now() - (notification.info.delay || this.config.delay))\r\n this.createTimeout(notification, true);\r\n else {\r\n let index = this.notifications.indexOf(notification);\r\n if (index > -1)\r\n this.notifications.splice(index, 1);\r\n\r\n this.cd.markForCheck();\r\n }\r\n }, 1000);\r\n }, notification.info.delay || this.config.delay);\r\n\r\n }\r\n\r\n public alreadyExists(info1: NotificationInfo, info2: NotificationInfo) {\r\n return this.jsonConvert.stringify(info1) === this.jsonConvert.stringify(info2);\r\n }\r\n\r\n public setNotification(notification: Notification) {\r\n\r\n let existingNotification = notification.info.sync ? this.notifications.find(x => x.info.identifier == notification.info.identifier) :\r\n this.notifications.find(x => this.alreadyExists(x.info, notification.info));\r\n\r\n if (existingNotification) {\r\n // Replace the contents in existing one.\r\n existingNotification.timestamp = Date.now() - (notification.info.delay || this.config.delay) / 2;\r\n existingNotification.info = notification.info;\r\n this.cd.markForCheck();\r\n return;\r\n }\r\n\r\n notification.notify = true;\r\n notification.detailSelected = true; // By default detail tab shall be selected.\r\n notification.rawSelected = false;\r\n\r\n this.notifications.push(notification);\r\n this.cd.markForCheck();\r\n if (notification.info.selfClose)\r\n this.createTimeout(notification);\r\n }\r\n\r\n public closeIt(notification: Notification): void {\r\n // Update notify status, It helps to remove the dom element when system sets it to false.\r\n notification.notify = !notification.notify;\r\n let index: number = this.notifications.indexOf(notification);\r\n if (index > -1) {\r\n this.notifications.splice(index, 1);\r\n this.cd.markForCheck();\r\n this.cd.detectChanges();\r\n }\r\n }\r\n\r\n detailSelect(event, notification: Notification): void {\r\n notification.rawSelected = false;\r\n notification.detailSelected = true;\r\n this.cd.markForCheck();\r\n }\r\n\r\n rawSelect(event, notification: Notification): void {\r\n notification.detailSelected = false;\r\n notification.rawSelected = true;\r\n this.cd.markForCheck();\r\n }\r\n\r\n onImageLoadError(event): void {\r\n this.showFallbackIcon = true;\r\n }\r\n\r\n}","
    \r\n
  • \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {{ notification.info.title }}\r\n

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    0\">\r\n
    \r\n
    \r\n
    0\">\r\n
    \r\n
    {{notificationCell.message}}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n
    \r\n

    {{ notification.detailSelected ? notification.info.detail : notification.info.rawInfo }}

    \r\n
    \r\n
    \r\n
    \r\n
  • \r\n
\r\n","// Represents the notification positions\r\nexport enum NotificationPositionTypes {\r\n RightBottom = 'right-bottom',\r\n LeftBottom = 'left-bottom',\r\n LeftTop = 'left-top',\r\n RightTop = 'right-top'\r\n}\r\n\r\nexport enum NotificationType {\r\n Success = 'Success',\r\n Warning = 'Warning',\r\n Error = 'Error',\r\n Info = 'Info'\r\n}\r\n\r\nexport class NotificationInfo {\r\n\r\n public title: string;\r\n public message: string;\r\n public rows: NotificationRow[] = [];\r\n public detail?: string;\r\n public rawInfo?: string;\r\n\r\n // Represents notification type, It could be success, error, warning etc.\r\n public type: NotificationType;\r\n\r\n // System removes the notifications automatically after a while. \r\n // If you want it to be closed by user then make it 'false'.\r\n public selfClose: boolean = true;\r\n\r\n // If selfClose is true then this option overrides the default setting.\r\n public delay?: number;\r\n\r\n // If is 'true' then system would show the contents in existing one.\r\n public identifier?: string;\r\n\r\n // Synchronizes the messages belonging to same type\r\n public sync: boolean = false; \r\n \r\n}\r\n\r\nexport class NotificationRow {\r\n public classes = \"\";\r\n public cells: NotificationCell[] = [];\r\n}\r\n\r\nexport class NotificationCell {\r\n public message = \"\";\r\n public classes = \"\";\r\n}\r\n\r\nexport class NotificationConfig {\r\n\r\n public corner = NotificationPositionTypes.RightBottom;\r\n public delay: number = 5000;\r\n public width: number = 400;\r\n public sound: boolean = false;\r\n\r\n}\r\n\r\n// This modal class encapsulates message information and notiying status, which is used internally in notification html template. \r\nexport class Notification {\r\n\r\n // Message information.\r\n public info: NotificationInfo;\r\n\r\n public notify: boolean = false;\r\n\r\n public timeout: any;\r\n\r\n public detailSelected: boolean;\r\n\r\n public rawSelected: boolean;\r\n\r\n public timestamp: number;\r\n}","import { Observable } from 'rxjs';\r\nimport { share } from 'rxjs/operators';\r\n\r\nimport { Notification, NotificationInfo, NotificationPositionTypes, NotificationConfig, NotificationType } from \"./notificationInfo\";\r\nimport { Strings } from '../../../pages/shared/providers/globalData';\r\nimport { GlobalServiceLocator } from '../../providers/globalServiceLocator';\r\n\r\nexport class NotificationService {\r\n\r\n public observers: Observable;\r\n\r\n public notificationId: number = 0;\r\n\r\n public notifyObserver: any;\r\n\r\n public notificationConfig: NotificationConfig = new NotificationConfig();\r\n\r\n private _strings: Strings;\r\n\r\n constructor() {\r\n this.observers = new Observable(observer => this.notifyObserver = observer).pipe(share());\r\n }\r\n\r\n public get strings() {\r\n if (!this._strings)\r\n this._strings = GlobalServiceLocator.injector.get(Strings);\r\n return this._strings;\r\n }\r\n\r\n public notify(info: NotificationInfo) {\r\n if (!info.message && (!info.rows || info.rows.length == 0)) {\r\n console.error('Notification service expected a message, but it was blank.');\r\n return false;\r\n }\r\n\r\n if (!info.type) {\r\n console.error('Notification service expected a message type!');\r\n return false;\r\n }\r\n\r\n if (!info.title) {\r\n switch (info.type) {\r\n case NotificationType.Success:\r\n info.title = this.strings.Success;\r\n break;\r\n case NotificationType.Error:\r\n info.title = this.strings.Error;\r\n break;\r\n case NotificationType.Warning:\r\n info.title = this.strings.Warning;\r\n break;\r\n default:\r\n info.title = this.strings.Info;\r\n } \r\n }\r\n\r\n // Send the notification.\r\n this.notifyObserver.next({ info: info });\r\n }\r\n\r\n public config(config: NotificationConfig) {\r\n\r\n if (!config) {\r\n console.error('Notification configuration is missing!');\r\n }\r\n\r\n this.notificationConfig = config;\r\n }\r\n\r\n}","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { PaginationComponent } from \"./paginationComponent\";\r\nimport { GridviewModule } from \"../gridview\";\r\n\r\nexport * from \"./paginationComponent\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n GridviewModule\r\n ],\r\n declarations: [\r\n PaginationComponent,\r\n ],\r\n exports: [\r\n PaginationComponent,\r\n ]\r\n})\r\nexport class PaginationModule {\r\n\r\n}","import { Component, Input, Output, EventEmitter, OnInit } from \"@angular/core\";\r\nimport { Range } from \"immutable\";\r\n\r\n@Component({\r\n selector: 'pagination',\r\n templateUrl: './paginationComponent.html'\r\n})\r\nexport class PaginationComponent implements OnInit {\r\n @Input()\r\n currentPage: number;\r\n\r\n @Input()\r\n noOfPages: number;\r\n\r\n @Input()\r\n maxPages: number = 5;\r\n\r\n @Output()\r\n pageChanged = new EventEmitter();\r\n\r\n ngOnInit() {\r\n }\r\n\r\n public get pages() {\r\n // Create a simple array containing the page numbers so we can iterate them\r\n // Make the current page centered, and show last/next pages on each side.\r\n\r\n // number of pages to show on each side of center\r\n let step = Math.floor(this.maxPages / 2);\r\n // lower bounds is first page or current page minus step\r\n let lower = Math.max(1, this.currentPage - step);\r\n // upper bounds is last page or lower bounds plus the number of pages to display\r\n let upper = Math.min(Math.min(this.noOfPages, this.maxPages) + lower, this.noOfPages + 1);\r\n\r\n return Range(lower, upper).toArray(); \r\n }\r\n\r\n public onPaging(page: number) {\r\n this.currentPage = page;\r\n this.pageChanged.emit({ page: page });\r\n }\r\n}","\r\n","import { NgModule } from \"@angular/core\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { PanelComponent } from \"./panelComponent\";\r\n\r\nexport * from \"./panelComponent\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule \r\n ],\r\n declarations: [\r\n PanelComponent \r\n ],\r\n exports: [\r\n PanelComponent\r\n ]\r\n})\r\nexport class PanelModule {\r\n\r\n}","import { Component, Input, Output, EventEmitter, ViewContainerRef, ComponentFactoryResolver, ViewChild, AfterContentInit } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'panel',\r\n templateUrl: './panelComponent.html'\r\n})\r\n// Note! this class is not being used right now. Later we might use this structure to make complete container clickable.\r\nexport class PanelComponent {\r\n\r\n // Makes the complete panel clickable\r\n @Input()\r\n button: boolean = true;\r\n\r\n @Output()\r\n onPanelClick = new EventEmitter();\r\n\r\n}","
\r\n
\r\n \r\n
\r\n
","import { NgModule } from \"@angular/core\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { ImageModule } from \"../image\";\r\nimport { InputViewModel } from \"../shared\";\r\nimport { PasswordComponent } from \"./passwordComponent\";\r\nimport { HelpModule } from \"../help\";\r\nimport { IconModule } from \"../icon\";\r\nimport { PanelModule } from \"../panel\";\r\n\r\nexport * from \"./passwordComponent\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ImageModule,\r\n HelpModule,\r\n IconModule,\r\n PanelModule\r\n ],\r\n declarations: [\r\n PasswordComponent\r\n ],\r\n exports: [\r\n PasswordComponent\r\n ]\r\n})\r\nexport class PasswordModule {\r\n\r\n}","import { Component, Input } from \"@angular/core\";\r\nimport { BaseInputComponent } from \"../shared\";\r\n\r\n@Component({\r\n selector: 'password',\r\n templateUrl: './passwordComponent.html'\r\n})\r\nexport class PasswordComponent extends BaseInputComponent {\r\n\r\n @Input()\r\n isNewPassword: boolean = false;\r\n\r\n processEvent($event): void {\r\n // Clear any errors.\r\n this.errors = [];\r\n if (this.view)\r\n this.view.errors = [];\r\n\r\n this.notifyValueChange(this.view, $event.target.value);\r\n }\r\n\r\n getMoreStyles(): string {\r\n return this.view.icon ? \"has-icon\" : \"\";\r\n }\r\n\r\n}","
\r\n \r\n
\r\n\r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n
","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { ImageModule } from \"../image\";\r\nimport { PopoverComponent } from \"./popoverComponent\";\r\nimport { PopperContentComponent } from \"./popperContentComponent\";\r\nimport { PopperDirective } from \"./popperDirective\";\r\nimport { PopoverService } from \"./popoverService\";\r\n\r\nexport * from \"./popoverInfo\";\r\nexport * from \"./popoverService\";\r\nexport * from \"./popoverComponent\";\r\nexport * from \"./popperContentComponent\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ImageModule\r\n ],\r\n declarations: [\r\n PopoverComponent,\r\n PopperContentComponent,\r\n PopperDirective\r\n ],\r\n providers: [\r\n ],\r\n exports: [\r\n PopoverComponent,\r\n PopperContentComponent,\r\n PopperDirective,\r\n //PopoverService\r\n ]\r\n})\r\nexport class PopoverModule {\r\n}","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'popover',\r\n templateUrl: './popoverComponent.html',\r\n})\r\nexport class PopoverComponent {\r\n\r\n @Input()\r\n public isOpened = false;\r\n\r\n toggle() {\r\n this.isOpened = !this.isOpened;\r\n }\r\n\r\n close(): void {\r\n this.isOpened = false;\r\n }\r\n}","
\r\n
\r\n \r\n
\r\n\r\n","export enum Placement {\r\n Left = 'left',\r\n Right = 'right',\r\n Top = 'top',\r\n Bottom = 'bottom'\r\n}\r\n\r\nexport class PopperConfig {\r\n\r\n // Attach any object to it. Which would be accessible to all listeners.\r\n tag?: any;\r\n\r\n open: boolean = false;\r\n\r\n positionX?: number;\r\n\r\n positionY?: number;\r\n\r\n width: number;\r\n\r\n height: number;\r\n\r\n title?: string;\r\n\r\n subTitle?: string;\r\n\r\n refElement: any;\r\n\r\n // Default placement\r\n placement: Placement;\r\n\r\n // Calculated placement, only used internally. If the is 'right' and there is not enough room to have it on right side, then calculate placement must be 'left'.\r\n calcPlacement: Placement;\r\n\r\n maximize: boolean = false;\r\n\r\n}","import { PopperConfig } from './popoverInfo';\r\nimport { ManagedSubject } from \"../../managedSubject\";\r\n\r\nexport class PopoverService {\r\n\r\n // Subject to subscribe the PopoverInfo.\r\n private subject = new ManagedSubject(null, false, 0, false);\r\n \r\n show(info: PopperConfig): void {\r\n this.sendMessage(info);\r\n }\r\n\r\n close(): void {\r\n\r\n this.sendMessage({ open: false });\r\n }\r\n\r\n public getMessage(): ManagedSubject {\r\n return this.subject;\r\n }\r\n\r\n /**\r\n * Broadcasts the message to all subscribers\r\n * @param event\r\n */\r\n public sendMessage(info: PopperConfig): void {\r\n this.subject.nextValue(info);\r\n }\r\n\r\n}","import { Component, Input, Output, EventEmitter, ElementRef, Inject, ChangeDetectorRef, ChangeDetectionStrategy, HostListener } from \"@angular/core\";\r\n\r\nimport { PopperConfig, Placement } from \"./popoverInfo\";\r\nimport { PopoverService } from \"./popoverService\";\r\nimport { ManagedSubscription } from \"../../managedSubscription\";\r\n\r\n// TODO: How should we merge the popover and popper?\r\n@Component({\r\n selector: 'popper-content',\r\n templateUrl: './popperContentComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class PopperContentComponent {\r\n\r\n data: PopperConfig = { open: false, positionX: 0, placement: Placement.Right, calcPlacement: Placement.Right };\r\n\r\n @Output()\r\n positionChange = new EventEmitter();\r\n\r\n public popperStyle: CSSStyleDeclaration;\r\n\r\n @Input()\r\n public width: number;\r\n\r\n @Input()\r\n public ignoreMaximize = false;\r\n\r\n public messageSubscription: ManagedSubscription;\r\n\r\n constructor(\r\n public cd: ChangeDetectorRef,\r\n @Inject(PopoverService) public popoverService: PopoverService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.messageSubscription = this.popoverService.getMessage().subscribe((info: PopperConfig) => {\r\n this.data = info;\r\n if (this.data.open) {\r\n this.positionChange.emit(this.data);\r\n this.setStyle();\r\n }\r\n\r\n this.cd.markForCheck();\r\n });\r\n }\r\n\r\n close(tag?: any): void {\r\n this.popoverService.close();\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.messageSubscription)\r\n this.messageSubscription.unsubscribe();\r\n }\r\n\r\n setStyle(): void {\r\n this.popperStyle = {\r\n width: this.data.maximize && !this.ignoreMaximize ? '100%' : `${this.width}px`,\r\n height: !this.ignoreMaximize ? '100%' : `auto`,\r\n left: this.data.maximize && !this.ignoreMaximize ? '0' : `${this.data.positionX}px`,\r\n top: this.data.maximize && !this.ignoreMaximize ? '0' : `${this.data.positionY}px`,\r\n maxWidth: '100%'\r\n }\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event) {\r\n this.positionChange.emit(this.data);\r\n this.setStyle();\r\n }\r\n\r\n}","
\r\n
\r\n
\r\n
\r\n
\r\n

{{ data.title }}

\r\n {{data.subTitle}}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n","import { Directive, ViewContainerRef, SimpleChange, Output, Input } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { PopperContentComponent } from './popperContentComponent';\r\nimport { Placement, PopperConfig } from './popoverInfo';\r\n\r\n@Directive({\r\n selector: '[popper]',\r\n exportAs: 'popper'\r\n})\r\nexport class PopperDirective {\r\n\r\n // Margin around the popper\r\n public margin: number = 20;\r\n public marginX: number = 15;\r\n public marginY: number = 5;\r\n\r\n constructor(private referenceElement: ViewContainerRef) { }\r\n\r\n @Input('popper')\r\n content: PopperContentComponent;\r\n\r\n popperSubscription: Subscription;\r\n\r\n ngOnInit() {\r\n\r\n this.popperSubscription = this.content.positionChange.subscribe((config: PopperConfig) => {\r\n\r\n // Get element reference's bounds. \r\n let bounds = this.referenceElementBounds(config);\r\n\r\n\r\n if (this.content.ignoreMaximize) {\r\n let refElementBounds = this.referenceElement.element.nativeElement.getBoundingClientRect();\r\n\r\n config.positionX = bounds.left - refElementBounds.left - this.marginX;\r\n config.positionY = bounds.top - refElementBounds.top - this.marginY;\r\n\r\n config.width = bounds.width + 2 * this.marginX;\r\n config.height = bounds.height + 2 * this.marginY;\r\n }\r\n // Popper settings at right side.\r\n else if (this.hasRoomAtRightSide(bounds)) {\r\n\r\n // Set the positionX.\r\n config.positionX = bounds.right + this.margin;\r\n\r\n config.calcPlacement = Placement.Right;\r\n config.maximize = false;\r\n }\r\n // Popper settings at left side.\r\n else if (this.hasRoomAtLeftSide(bounds)) {\r\n\r\n // Calculate positionX\r\n config.positionX = bounds.left - (+this.content.width) - this.margin;\r\n\r\n // Placement\r\n config.calcPlacement = Placement.Left;\r\n\r\n // Don't maximize as enough room available\r\n config.maximize = false;\r\n }\r\n else\r\n // Maximize it as not enough room available.\r\n config.maximize = true;\r\n });\r\n }\r\n\r\n /**\r\n * Returns 'True' If sufficient room available at right side.\r\n * @param bounds\r\n */\r\n public hasRoomAtRightSide(bounds: any): boolean {\r\n return bounds.right + (+this.content.width + 2 * this.margin) < window.innerWidth;\r\n }\r\n\r\n /**\r\n * Returns 'True' If sufficient room available at left side.\r\n * @param bounds\r\n */\r\n public hasRoomAtLeftSide(bounds: any): boolean {\r\n return bounds.left - this.margin > +this.content.width + 2 * this.margin;\r\n }\r\n\r\n public referenceElementBounds(config: PopperConfig) {\r\n\r\n // Respect the reference element defined in over the reference element passed through constructor.\r\n // If the popper and reference element both exist in same component, then don't need to set the reference element in , just pass the popper reference\r\n // to any container where you want the popper to be shown. \r\n // Example: \r\n // \r\n //
\r\n\r\n if (config.refElement)\r\n return config.refElement.getBoundingClientRect();\r\n\r\n let element = this.referenceElement.element.nativeElement;\r\n return element.getBoundingClientRect();\r\n }\r\n\r\n ngOnChanges(changes: { [propertyName: string]: SimpleChange }) {\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.popperSubscription)\r\n this.popperSubscription.unsubscribe();\r\n\r\n }\r\n\r\n}","import { Inject, Component, Input, ViewChild, SimpleChanges, ChangeDetectorRef, Optional } from \"@angular/core\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { BaseComponent } from \"../../../pages/shared\";\r\nimport { SidebarPopupComponent } from \"./sidebarPopupComponent\";\r\nimport { RegularPopupComponent } from \"./regularPopupComponent\";\r\nimport { PopupInfo, PopupActions } from \"./popupInfo\";\r\nimport { PopupService } from \"./popupService\";\r\nimport { BasePopupComponent } from \"./basePopupComponent\";\r\n\r\n/**\r\n * This class is used to share logic between every popup component, and helps with visibilty logic.\r\n The popups can be very heavy and this component helps with only rendering it when it's needed.\r\n */\r\n@Component({ template: '' })\r\nexport abstract class AbstractPopupComponent extends BaseComponent {\r\n\r\n public visible = false;\r\n\r\n @Input()\r\n public id: string;\r\n\r\n public messageSubscription: Subscription;\r\n\r\n @ViewChild(SidebarPopupComponent)\r\n protected sideBarPopup: SidebarPopupComponent;\r\n\r\n @ViewChild(RegularPopupComponent)\r\n protected regularPopup: RegularPopupComponent;\r\n\r\n constructor(\r\n public cdr: ChangeDetectorRef,\r\n @Optional() public popupService?: PopupService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n // Listen for open from popupservice if available.\r\n if (this.popupService) {\r\n this.messageSubscription = this.popupService.getMessage().subscribe((info: PopupInfo) => {\r\n if (info.id === this.id) {\r\n this.executeAction(info);\r\n }\r\n });\r\n }\r\n }\r\n\r\n public executeAction(info: PopupInfo): void {\r\n switch (info.action) {\r\n case PopupActions.Open:\r\n this.open(info.tag);\r\n break;\r\n\r\n case PopupActions.Close:\r\n this.removeDomElement();\r\n break;\r\n }\r\n\r\n this.cdr.markForCheck();\r\n }\r\n\r\n /**\r\n * Opens this popup from the popup service.\r\n * @param tag any given data, eg. messages\r\n */\r\n public open(tag?: any) { \r\n this.showInternal();\r\n }\r\n\r\n public get popup(): BasePopupComponent {\r\n let popupComponent = this.sideBarPopup || this.regularPopup;\r\n if (popupComponent == null) {\r\n this.visible = true;\r\n popupComponent = this.sideBarPopup || this.regularPopup;\r\n this.cdr.markForCheck();\r\n }\r\n return popupComponent;\r\n }\r\n\r\n public initializeContents(tag: any): void {\r\n\r\n }\r\n\r\n protected showInternal(): void {\r\n this.visible = true;\r\n\r\n setTimeout(() => {\r\n this.popup.open();\r\n }, 0);\r\n }\r\n\r\n public removeDomElement() {\r\n this.visible = false;\r\n }\r\n\r\n public onPopupClosed(): void {\r\n this.removeDomElement();\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.messageSubscription)\r\n this.messageSubscription.unsubscribe();\r\n\r\n super.ngOnDestroy();\r\n }\r\n}","import { Inject, Component, EventEmitter, Output, Input, HostListener } from '@angular/core';\r\nimport { BasePopupComponent } from './basePopupComponent';\r\n\r\n/**\r\n * component.\r\n *\r\n * This is the parent component to that validates the state internally\r\n * and coordinates the backdrop and content styling.\r\n */\r\n@Component({\r\n selector: 'backdrop-container',\r\n templateUrl: './backdropComponent.html'\r\n})\r\nexport class BackdropComponent {\r\n\r\n // Backdrop visibility.\r\n // Note! Don't need to wrap popups with component If backdrop is not intended.\r\n // In some cases If you need backdrop conditionally then you can wrap it and set the visibility.\r\n // In combinum we have some scenarios where popups are floated with backdrop. But when they are docked inline we don't show the backdrop.\r\n _visible: boolean = true;\r\n set visible(value: boolean) {\r\n this._visible = value;\r\n\r\n // Normalize the position again. Sticky/UnSticky adds/removes the backdrop. We need to recalculate the z-index style;\r\n this.popup.normalizeSize();\r\n this.updateBackDropStyle();\r\n }\r\n\r\n get visible(): boolean {\r\n return this._visible;\r\n }\r\n\r\n @Input() contentClass: string;\r\n @Input() backdropClass: string;\r\n @Output() onClosed = new EventEmitter();\r\n\r\n contentStyle: CSSStyleDeclaration;\r\n popup: BasePopupComponent;\r\n\r\n add(popup: BasePopupComponent): void {\r\n this.popup = popup;\r\n }\r\n\r\n /**\r\n * @internal\r\n *\r\n * Computes `margin` value to push page contents to accommodate open sidebars as needed.\r\n *\r\n * @return margin styles for the page content.\r\n */\r\n updateBackDropStyle(): void {\r\n\r\n let transformStyle: string = null;\r\n let heightStyle: string = null;\r\n let widthStyle: string = null;\r\n\r\n\r\n //padding: `${top}px ${right}px ${bottom}px ${left}px`,\r\n this.contentStyle = {\r\n left: '0px',\r\n right: '0px',\r\n webkitTransform: transformStyle,\r\n transform: transformStyle,\r\n height: heightStyle,\r\n width: widthStyle,\r\n zIndex: this.visible ? \"99\" : null // Backdrop must have less value than popups/sidebars.\r\n };\r\n }\r\n\r\n public close() {\r\n if (this.popup && this.popup.isOpened && this.visible) {\r\n\r\n if (new String(this.popup.closeOnOutSideClick) == \"false\")\r\n return;\r\n\r\n this.popup.close();\r\n\r\n this.onClosed.emit();\r\n }\r\n }\r\n\r\n onBackdropClicked(event): void {\r\n this.close();\r\n\r\n event.stopPropagation();\r\n }\r\n\r\n @HostListener('document:keydown.escape', ['$event'])\r\n onKeydownHandler(evt: KeyboardEvent) {\r\n // Make popups closable on escape\r\n this.close();\r\n }\r\n}","
\r\n","import { ChangeDetectorRef, Output, EventEmitter, Input, SimpleChanges, ElementRef, HostListener, Component, } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { BackdropComponent } from './backdropComponent';\r\nimport { BreakPointAccessor } from \"../../utils\";\r\nimport { PopupService } from \"./popupService\";\r\nimport { PopupInfo, PopupActions } from \"./popupInfo\";\r\nimport { SizeUtility } from \"../shared\";\r\n\r\n@Component({ template: '' })\r\nexport abstract class BasePopupComponent {\r\n\r\n public defaultOkButtonText = \"Ok\";\r\n public defaultCancelButtonText = \"Cancel\";\r\n\r\n @Input() public id: string;\r\n\r\n @Input() public width = '450px';\r\n\r\n @Input() public height: string;\r\n\r\n @Input() public title: string;\r\n\r\n @Input()\r\n public okButton = true;\r\n\r\n @Input()\r\n public cancelButton = true;\r\n\r\n @Input()\r\n public okButtonText: string;\r\n\r\n @Input()\r\n public cancelButtonText: string;\r\n\r\n @Input()\r\n public showTitleBar = true;\r\n\r\n @Input()\r\n public showHeader = false;\r\n\r\n @Input()\r\n public showFooter = false;\r\n\r\n @Input()\r\n public forceWidth = false;\r\n\r\n @Input() public readonly maximize = false;\r\n public calcMaximize = false;\r\n\r\n @Input()\r\n public classes = \"\";\r\n\r\n @Input()\r\n public closeOnOutSideClick = true;\r\n\r\n /** True to close the popup on OK, otherwise leave it open. */\r\n @Input()\r\n public closeOnOk = true;\r\n\r\n @Output()\r\n public okClick = new EventEmitter();\r\n\r\n @Output()\r\n public cancelClick = new EventEmitter();\r\n\r\n @Output()\r\n public outsideClick = new EventEmitter();\r\n\r\n @Output()\r\n public onMaximizeStart = new EventEmitter();\r\n\r\n @Output()\r\n public onMaximizeEnd = new EventEmitter();\r\n\r\n public responsivenessActivationMargin: number = 30;\r\n\r\n @Output() onOpenStart: EventEmitter = new EventEmitter();\r\n @Output() onOpened: EventEmitter = new EventEmitter();\r\n @Output() onCloseStart: EventEmitter = new EventEmitter();\r\n @Output() onClosed: EventEmitter = new EventEmitter();\r\n @Output() public positionChange = new EventEmitter>();\r\n\r\n @Input() isOpened = false;\r\n\r\n funcTransitionEnd = (e) => this.onTransitionEnd(e);\r\n\r\n messageSubscription: Subscription;\r\n\r\n constructor(\r\n public cd: ChangeDetectorRef,\r\n public backdrop: BackdropComponent,\r\n public breakPointAccessor: BreakPointAccessor,\r\n public popupService: PopupService\r\n ) {\r\n if (this.backdrop)\r\n this.backdrop.add(this);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.messageSubscription = this.popupService.getMessage().subscribe((info: PopupInfo) => {\r\n if (info.id == this.id) {\r\n this.executeAction(info);\r\n }\r\n })\r\n\r\n this.normalizeSize();\r\n }\r\n\r\n abstract get rootElement(): ElementRef;\r\n\r\n public executeAction(info: PopupInfo): void {\r\n switch (info.action) {\r\n case PopupActions.Open:\r\n\r\n if(!this.isOpened)\r\n this.open();\r\n\r\n break;\r\n\r\n case PopupActions.Close:\r\n this.close();\r\n break;\r\n\r\n case PopupActions.Disable:\r\n this.enable(false);\r\n break;\r\n\r\n case PopupActions.Enable:\r\n this.enable(true);\r\n break;\r\n\r\n case PopupActions.Move:\r\n this.move(info);\r\n break;\r\n\r\n case PopupActions.Update:\r\n this.update(info);\r\n break;\r\n }\r\n\r\n this.cd.markForCheck();\r\n }\r\n\r\n public normalizeSize(): void {\r\n\r\n }\r\n\r\n public update(info: PopupInfo): void {\r\n\r\n }\r\n\r\n public calculateMaximizeState(): void {\r\n\r\n let oldCalcMax = this.calcMaximize;\r\n\r\n if (this.width == '100%')\r\n this.calcMaximize = true;\r\n\r\n // TODO: Get the offset width, because sometimes It could be in percentage.\r\n else this.calcMaximize = this.maximize || SizeUtility.sizeAsNumber(this.width) + this.responsivenessActivationMargin > innerWidth;\r\n\r\n if (this.calcMaximize != oldCalcMax) {\r\n\r\n if (this.calcMaximize)\r\n this.onMaximizeStart.emit();\r\n\r\n else this.onMaximizeEnd.emit();\r\n }\r\n\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['isOpened']) {\r\n if (changes['isOpened'].currentValue)\r\n this.open();\r\n else this.close();\r\n }\r\n }\r\n\r\n open(): void {\r\n this.isOpened = true;\r\n this.cd.markForCheck();\r\n this.onOpenStart.emit();\r\n this.normalizeSize();\r\n\r\n if (this.rootElement) {\r\n this.rootElement.nativeElement.addEventListener('transitionend', this.funcTransitionEnd);\r\n }\r\n else\r\n // No root element to transition -> emit onOpened directly.\r\n this.onOpened.emit();\r\n\r\n this.cd.markForCheck();\r\n }\r\n\r\n close(): void {\r\n this.isOpened = false;\r\n this.onCloseStart.emit();\r\n this.normalizeSize();\r\n\r\n if (this.rootElement) \r\n this.rootElement.nativeElement.addEventListener('transitionend', this.funcTransitionEnd);\r\n // No root element to transition -> emit onClosed directly.\r\n // Transition end event not triggered for sidebars. This is why this event is active for all popups.\r\n \r\n this.onClosed.emit();\r\n this.popupService.closed(this.id);\r\n\r\n this.cd.markForCheck();\r\n }\r\n\r\n toggle(): void {\r\n // If the previous state was opened then execute close ...\r\n if (this.isOpened)\r\n this.close();\r\n else this.open();\r\n }\r\n\r\n toggleTo(targetValue): void {\r\n // Do nothing...\r\n if (this.isOpened == targetValue)\r\n return;\r\n\r\n if (targetValue)\r\n this.open();\r\n else this.close();\r\n }\r\n\r\n enable(status): void {\r\n\r\n }\r\n\r\n move(info: PopupInfo): void {\r\n\r\n }\r\n\r\n cancelButtonClicked($event): void {\r\n this.close();\r\n\r\n this.cancelClick.emit($event);\r\n // Stop default propagation.\r\n $event.preventDefault();\r\n }\r\n\r\n okButtonClicked($event): void {\r\n\r\n this.okClick.emit($event);\r\n\r\n if (this.closeOnOk)\r\n this.close();\r\n\r\n // Stop default propagation.\r\n $event.preventDefault();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.messageSubscription)\r\n this.messageSubscription.unsubscribe();\r\n }\r\n\r\n onTransitionEnd(e: TransitionEvent): void {\r\n if (!this.rootElement)\r\n return;\r\n\r\n if (e.target === this.rootElement.nativeElement && this.rootElement.nativeElement.classList.contains('side-bar')) {\r\n this.rootElement.nativeElement.removeEventListener('transitionend', this.funcTransitionEnd);\r\n }\r\n\r\n if (this.isOpened) this.onOpened.emit();\r\n else this.onClosed.emit();\r\n\r\n this.cd.markForCheck();\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event) {\r\n if (this.isOpened)\r\n this.calculateMaximizeState();\r\n this.normalizeSize();\r\n }\r\n}","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { ImageModule } from \"../image\";\r\nimport { RegularPopupComponent } from \"./regularPopupComponent\";\r\nimport { SimplePopperComponent } from \"./simplePopperComponent\";\r\nimport { SidebarPopupComponent } from \"./sidebarPopupComponent\";\r\nimport { PopupService } from \"./popupService\";\r\nimport { BackdropComponent } from \"./backdropComponent\";\r\nimport { SideBarExtensionComponent } from \"./sidebarExtensionComponent\";\r\nimport { LightboxPopupComponent } from \"./lightboxPopupComponent\";\r\n\r\nexport * from \"./popupService\";\r\nexport * from \"./regularPopupComponent\";\r\nexport * from \"./lightboxPopupComponent\";\r\nexport * from \"./sidebarPopupComponent\";\r\nexport * from \"./sidebarExtensionComponent\";\r\nexport * from \"./basePopupComponent\";\r\nexport * from \"./backdropComponent\";\r\nexport * from \"./popupInfo\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ImageModule\r\n ],\r\n declarations: [\r\n RegularPopupComponent,\r\n SidebarPopupComponent,\r\n SideBarExtensionComponent,\r\n LightboxPopupComponent,\r\n SimplePopperComponent,\r\n BackdropComponent \r\n ],\r\n providers: [\r\n PopupService\r\n ],\r\n exports: [\r\n RegularPopupComponent,\r\n SidebarPopupComponent,\r\n SideBarExtensionComponent,\r\n LightboxPopupComponent,\r\n SimplePopperComponent,\r\n BackdropComponent\r\n ]\r\n})\r\nexport class PopupModule {\r\n}","import { Host, Component, Optional, ViewChild, ElementRef, Input, forwardRef, Inject, ChangeDetectionStrategy, ChangeDetectorRef, HostListener } from '@angular/core';\r\nimport { BasePopupComponent } from './basePopupComponent';\r\nimport { BackdropComponent } from './backdropComponent';\r\nimport { PopupService } from './popupService';\r\nimport { BreakPointAccessor, Breakpoints } from \"../../utils\";\r\nimport { ImageComponent } from \"../image\";\r\n\r\n@Component({\r\n selector: 'lightbox-popup',\r\n templateUrl: './lightboxPopupComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class LightboxPopupComponent extends BasePopupComponent {\r\n\r\n rootElement: ElementRef;\r\n\r\n protected readonly DEFAULT_MIN_WIDTH: number = 250;\r\n protected readonly DEFAULT_MIN_HEIGHT: number = 250;\r\n protected readonly HEADER_HEIGHT: number = 50; \r\n protected readonly FULL_LENGTH: string = '100%';\r\n\r\n @Input()\r\n image: string;\r\n\r\n public imageRealWidth: number;\r\n public imageRealHeight: number;\r\n public contentStyle: CSSStyleDeclaration;\r\n\r\n @ViewChild(\"imageRef\")\r\n imageRef: ImageComponent;\r\n\r\n constructor(\r\n public cd: ChangeDetectorRef,\r\n public backdrop: BackdropComponent,\r\n public breakPointAccessor: BreakPointAccessor,\r\n public popupService: PopupService\r\n ) {\r\n super(cd, backdrop, breakPointAccessor, popupService);\r\n }\r\n\r\n ngOnInit() {\r\n\r\n // Default size\r\n this.width = this.toPixel(this.DEFAULT_MIN_WIDTH);\r\n this.height = this.toPixel(this.DEFAULT_MIN_HEIGHT);\r\n\r\n super.ngOnInit();\r\n }\r\n\r\n calculateSize(event): void {\r\n\r\n this.imageRealWidth = event.target.width;\r\n this.imageRealHeight = event.target.height;\r\n\r\n this.normalizeSize();\r\n\r\n }\r\n\r\n\r\n public normalizeSize(): void {\r\n\r\n if (this.imageRealHeight && this.imageRealWidth) {\r\n\r\n this.width = this.toPixel(this.imageRealWidth);\r\n this.height = this.toPixel(this.imageRealHeight + this.HEADER_HEIGHT + 4);\r\n }\r\n \r\n if (window.innerWidth < Breakpoints.sm.min)\r\n this.width = this.FULL_LENGTH;\r\n\r\n if (window.innerHeight < Breakpoints.sm.min)\r\n this.height = this.FULL_LENGTH;\r\n\r\n if (!this.contentStyle)\r\n this.contentStyle = {};\r\n\r\n this.contentStyle.width = this.width; \r\n this.contentStyle.height = this.height;\r\n this.contentStyle.minWidth = this.toPixel(this.DEFAULT_MIN_WIDTH);\r\n this.contentStyle.minHeight = this.toPixel(this.DEFAULT_MIN_HEIGHT);\r\n this.contentStyle.maxWidth = this.FULL_LENGTH;\r\n this.contentStyle.maxHeight = this.FULL_LENGTH;\r\n \r\n }\r\n\r\n toPixel(value: number): string {\r\n return String(value) + 'px'; \r\n }\r\n \r\n @HostListener('window:resize', ['$event'])\r\n onResize(event) { \r\n this.normalizeSize();\r\n }\r\n\r\n closePopup(event): void {\r\n this.close();\r\n event.preventDefault();\r\n }\r\n\r\n}","
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
","export let PopupActions = {\r\n \r\n // Opens the popup\r\n Open: 'open',\r\n\r\n // closes the popup\r\n Close: 'close',\r\n\r\n // Triggers after closing the popup\r\n Closed: 'closed',\r\n\r\n // closes the popup's extension\r\n CloseExtension: 'closeExtension',\r\n\r\n // Stops the user interaction\r\n Disable: 'disable',\r\n\r\n // Enables the user interaction\r\n Enable: 'enable',\r\n\r\n // Moves the popup near to target position.\r\n Move: 'move',\r\n\r\n Update: 'update',\r\n\r\n None: 'none'\r\n}\r\n\r\nexport class PopupInfo {\r\n\r\n // Unique id for component.\r\n id: string;\r\n \r\n // Attach any object to it. Which would be accessible to all listeners.\r\n tag: TagType;\r\n\r\n action: string = PopupActions.None;\r\n\r\n positionX?: number;\r\n\r\n positionY?: number;\r\n\r\n referenceElementId: string;\r\n\r\n containerId: string;\r\n\r\n}","import { Subject, Observable } from 'rxjs';\r\nimport { PopupInfo, PopupActions } from \"./popupInfo\";\r\n\r\nexport class PopupService {\r\n\r\n // Subject to subscribe the Popup.\r\n private subject = new Subject();\r\n\r\n public open(id: string, tag?: T): void {\r\n\r\n let info: PopupInfo = >{\r\n id: id,\r\n action: PopupActions.Open,\r\n tag: tag\r\n }\r\n\r\n this.sendMessage(info);\r\n }\r\n\r\n public close(id: string): void {\r\n\r\n let info: PopupInfo = >{\r\n id: id,\r\n action: PopupActions.Close\r\n }\r\n\r\n this.sendMessage(info);\r\n }\r\n\r\n public closed(id: string): void {\r\n\r\n let info: PopupInfo = >{\r\n id: id,\r\n action: PopupActions.Closed\r\n }\r\n\r\n this.sendMessage(info);\r\n }\r\n\r\n public closeExtension(id: string): void {\r\n\r\n let info: PopupInfo = >{\r\n id: id,\r\n action: PopupActions.CloseExtension\r\n }\r\n\r\n this.sendMessage(info);\r\n }\r\n\r\n public getMessage(): Observable {\r\n return this.subject.asObservable();\r\n }\r\n\r\n /**\r\n * Enables/Disables the user interaction on popup\r\n * @param id\r\n * @param status\r\n */\r\n public enable(id: string, status: boolean = true): void {\r\n\r\n let info: PopupInfo = >{\r\n id: id,\r\n action: status ? PopupActions.Enable : PopupActions.Disable\r\n }\r\n\r\n this.sendMessage(info);\r\n }\r\n\r\n public move(posX: number, posY: number, identifier: string) {\r\n let info: PopupInfo = >{\r\n id: identifier,\r\n positionX: posX,\r\n positionY: posY,\r\n action: PopupActions.Move\r\n }\r\n\r\n this.sendMessage(info);\r\n }\r\n\r\n /**\r\n * Broadcasts the message to all subscribers\r\n * @param event\r\n */\r\n public sendMessage(info: PopupInfo): void {\r\n this.subject.next(info);\r\n }\r\n\r\n // TODO: containerId shouldn't be optional argument. We need to define enums somewhere for html identifiers and caller must send that enum value as an argument to it.\r\n public applyPopper(referenceElementId: string, popupId: string, containerId: string = \"wrapper\") {\r\n\r\n let config: PopupInfo = >{\r\n id: popupId,\r\n containerId: containerId,\r\n referenceElementId: referenceElementId,\r\n action: PopupActions.Move\r\n }\r\n\r\n this.sendMessage(config);\r\n }\r\n\r\n public update(referenceElementId: string, popupId: string, containerId: string = \"wrapper\") {\r\n\r\n let config: PopupInfo = >{\r\n id: popupId,\r\n containerId: containerId,\r\n referenceElementId: referenceElementId,\r\n action: PopupActions.Update\r\n }\r\n\r\n this.sendMessage(config);\r\n }\r\n\r\n}","import { Host, Component, Optional, ViewChild, ElementRef, Input, forwardRef, Inject, ChangeDetectionStrategy, ChangeDetectorRef, HostListener } from '@angular/core';\r\nimport { BasePopupComponent } from './basePopupComponent';\r\nimport { BackdropComponent } from './backdropComponent';\r\nimport { PopupService } from './popupService';\r\nimport { SizeUtility, SizeUnit } from \"../shared/sizeUtility\";\r\nimport { BreakPointAccessor, Breakpoints } from \"../../utils\";\r\nimport { PopupInfo } from './popupInfo';\r\nlet Popper = require('popper.js').default;\r\n\r\nexport class Position {\r\n constructor(public x: number, public y: number) { }\r\n}\r\n\r\n@Component({\r\n selector: 'regular-popup',\r\n templateUrl: './regularPopupComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class RegularPopupComponent extends BasePopupComponent {\r\n\r\n @Input() public minHeight = '400px';\r\n @Input() public minWidth = '350px'; \r\n \r\n // Makes the popup's size auto. But It won't be smaller than its minimum widht/height.\r\n @Input() public autoResize = false;\r\n @Input() public fullHeight = false;\r\n @Input() public draggable = false; \r\n @Input() public referenceContainerId: string;\r\n\r\n // Only works if showTitleBar == false.\r\n @Input() public showCloseButton = true;\r\n\r\n @Input() public okButtonClasses = \"\";\r\n @Input() public cancelButtonClasses = \"\";\r\n\r\n public positionX: string;\r\n public positionY: string;\r\n public orignal: Position = null;\r\n public tempPos: Position = new Position(0, 0);\r\n public referenceContainerOffsetTop: number;\r\n public moving = false;\r\n public config: PopupInfo;\r\n public margin = 50;\r\n public popperInstance: any;\r\n\r\n // Root element.\r\n @ViewChild('regularPopupElement')\r\n public popupElement: ElementRef;\r\n\r\n public contentStyle: CSSStyleDeclaration;\r\n\r\n constructor(cd: ChangeDetectorRef,\r\n @Optional() @Host() @Inject(forwardRef(() => BackdropComponent)) backdrop: BackdropComponent,\r\n @Inject(BreakPointAccessor) breakPointAccessor: BreakPointAccessor,\r\n @Inject(PopupService) popupService: PopupService\r\n ) {\r\n super(cd, backdrop, breakPointAccessor, popupService);\r\n }\r\n \r\n get rootElement(): ElementRef {\r\n return null; // Not used in regular popup.\r\n }\r\n\r\n open() {\r\n // Remove any old style.\r\n this.contentStyle = null;\r\n this.detachPopper();\r\n\r\n super.open();\r\n\r\n }\r\n\r\n move(config: PopupInfo): void {\r\n this.config = config;\r\n\r\n if (!this.config)\r\n return;\r\n\r\n // If the reference object is the part of accordion then It won't be rendered in accordion collapsed state.\r\n let referenceObject = document.getElementById(this.config.referenceElementId);\r\n if (!referenceObject)\r\n return;\r\n\r\n let container = document.getElementById(this.config.containerId);\r\n\r\n // Check if the element is a dropdown\r\n const dropdownMenu = referenceObject.querySelector('.dropdown-menu');\r\n\r\n // Dropdown needs space below the control for the control expansion.\r\n let placement = dropdownMenu ? 'top-start' : 'auto';\r\n let behavior = dropdownMenu ? ['right', 'top', 'left'] : ['right', 'top', 'left', 'bottom'];\r\n\r\n // Reuse the popper instance for subsequent requests\r\n if (this.popperInstance) {\r\n referenceObject.scrollIntoView(true);\r\n this.popperInstance.reference = referenceObject;\r\n\r\n this.popperInstance.options.placement = placement;\r\n this.popperInstance.options.modifiers.flip.behavior = behavior;\r\n\r\n this.popperInstance.modifiers.find(x => x.name == 'preventOverflow').boundariesElement = container;\r\n\r\n this.popperInstance.update();\r\n return;\r\n }\r\n\r\n // Popup element\r\n let popup = this.popupElement.nativeElement;\r\n\r\n // Container element\r\n\r\n // Container top position. TODO: We can get rid of this, if we get the offset position from popper.\r\n this.referenceContainerOffsetTop = container.getClientRects()[0].top;\r\n\r\n if (!referenceObject || window.innerWidth < Breakpoints.md.min) {\r\n\r\n this.normalizeSize();\r\n return;\r\n }\r\n\r\n referenceObject.scrollIntoView(true);\r\n\r\n this.popperInstance = new Popper(\r\n referenceObject,\r\n popup,\r\n {\r\n placement: placement,\r\n modifiers: {\r\n offset:\r\n {\r\n enabled: true,\r\n offset: \"20,20,20,20\"\r\n },\r\n flip: {\r\n behavior: behavior\r\n },\r\n arrow: {\r\n enabled: false\r\n },\r\n keepTogether: { enabled: false },\r\n preventOverflow: {\r\n boundariesElement: container,\r\n escapeWithReference: false\r\n },\r\n applyStyle: { enabled: true }\r\n }\r\n },\r\n );\r\n }\r\n\r\n detachPopper(): void {\r\n if (this.popperInstance) {\r\n // As popper removes the styles applied over the popup, We don't want them to be removed and want it to be on the same position while releasing the element reference.\r\n this.popperInstance.modifiers.filter(x => x.name == 'applyStyle')[0].enabled = false;\r\n this.popperInstance.disableEventListeners();\r\n this.popperInstance.destroy();\r\n this.popperInstance = null;\r\n }\r\n }\r\n\r\n /**\r\n * Sets the side bar position.\r\n */\r\n public normalizeSize(): void {\r\n // Calculated size after checking the screen size\r\n let calWidth: string;\r\n\r\n if (SizeUtility.onlyUnit(this.width) === SizeUnit.percentage) {\r\n // Using percentage and small screen -> maximize\r\n this.calcMaximize = this.maximize || this.breakPointAccessor.activeBreakPoint.max < Breakpoints.sm.max;\r\n }\r\n else {\r\n // Margin so that we could maximize the popup before hitting the window.width\r\n const margin: number = 30;\r\n this.calcMaximize = this.maximize || SizeUtility.sizeAsNumber(this.width) + margin > innerWidth;\r\n }\r\n\r\n if (this.calcMaximize || !this.isOpened)\r\n this.positionX = this.positionY = null;\r\n\r\n calWidth = this.width;\r\n // During the show/hide transitions, width must be same. \r\n if (this.width != '100%' && SizeUtility.sizeAsNumber(this.width) + this.responsivenessActivationMargin > window.innerWidth) {\r\n\r\n calWidth = `${window.innerWidth}px`;\r\n\r\n }\r\n\r\n if (!this.contentStyle)\r\n this.contentStyle = {}; \r\n\r\n this.contentStyle.maxHeight = \"100%\";\r\n this.contentStyle.maxWidth = calWidth;\r\n this.contentStyle.width = '100%';\r\n this.contentStyle.minHeight = this.minHeight;\r\n\r\n if (!this.calcMaximize)\r\n this.contentStyle.minWidth = this.minWidth;\r\n\r\n if (this.autoResize) {\r\n this.contentStyle.width = null;\r\n this.contentStyle.height = null;\r\n this.contentStyle.maxWidth = '100%';\r\n }\r\n\r\n this.cd.markForCheck();\r\n }\r\n\r\n private getPosition(x: number, y: number) {\r\n return new Position(x, y);\r\n }\r\n\r\n onMouseDown(event: any) {\r\n\r\n // Skip right click; \r\n if (event.button == 2 || !event.target) {\r\n return;\r\n }\r\n\r\n if ($(event.target).closest('.popup-close-button').length > 0)\r\n return;\r\n\r\n this.orignal = this.getPosition(event.clientX, event.clientY);\r\n this.tempPos = this.getPosition(event.clientX, event.clientY);\r\n\r\n if (!this.moving)\r\n this.moving = true;\r\n }\r\n\r\n @HostListener('document:mousemove', ['$event'])\r\n onMouseMove(event: any) {\r\n\r\n if (!this.isOpened)\r\n return;\r\n\r\n // Note! If the mouse movement not synchronized with popup then \"mouseup\" event triggers automatically when mouse goes beyond of the popup's bounds, that's why it is registered at document level.\r\n if (!this.draggable)\r\n return;\r\n\r\n if (this.moving) { \r\n this.moveTo(event.clientX, event.clientY);\r\n }\r\n }\r\n\r\n @HostListener('document:mouseup', ['$event'])\r\n onMouseUp(event: any) {\r\n \r\n if (!this.isOpened)\r\n return;\r\n\r\n if (!this.draggable)\r\n return;\r\n\r\n this.moving = false;\r\n\r\n if (this.orignal) {\r\n\r\n let diffX: number = event.clientX - this.orignal.x;\r\n let diffY: number = event.clientY - this.orignal.y;\r\n\r\n // Detach the popper if popup is dragged more than 50 pixels.\r\n if (Math.abs(diffX) > 50 || Math.abs(diffY) > 50)\r\n this.detachPopper();\r\n }\r\n }\r\n\r\n public moveTo(x: number, y: number) {\r\n\r\n this.orignal.x = this.tempPos.x - x;\r\n this.orignal.y = this.tempPos.y - y;\r\n this.tempPos.x = x;\r\n this.tempPos.y = y;\r\n\r\n if (!this.draggable)\r\n return;\r\n\r\n if (!this.referenceContainerId)\r\n throw new Error(\"Input parameter 'referenceContainerId' must be supplied for draggable popups.\");\r\n\r\n if (!this.referenceContainerOffsetTop) {\r\n // Container element\r\n let container = document.getElementById(this.referenceContainerId);\r\n this.referenceContainerOffsetTop = container.getClientRects()[0].top;\r\n }\r\n\r\n let rect = this.popupElement.nativeElement.getClientRects()[0];\r\n let leftPopupPosition: number = rect.left - this.orignal.x;\r\n let topPopupPosition: number = rect.top - this.orignal.y - this.referenceContainerOffsetTop;\r\n\r\n if (topPopupPosition < -this.referenceContainerOffsetTop)\r\n topPopupPosition = -this.referenceContainerOffsetTop;\r\n\r\n // Apply new transformation\r\n\r\n this.contentStyle.transform = `translate3d(${leftPopupPosition}px, ${topPopupPosition}px, 0px)`;\r\n this.contentStyle.left = \"0px\";\r\n this.contentStyle.top = \"0px\";\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event) {\r\n if (this.isOpened) {\r\n this.move(this.config);\r\n this.calculateMaximizeState();\r\n this.normalizeSize();\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.detachPopper();\r\n\r\n super.ngOnDestroy();\r\n }\r\n}","
\r\n
\r\n
\r\n
\r\n\r\n

{{title}}

\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n","import { Component } from '@angular/core';\r\n\r\nlet SideBarPositions = {\r\n Left: 'left',\r\n Right: 'right'\r\n}\r\n\r\n@Component({\r\n selector: 'sidebar-extension',\r\n templateUrl: './sideBarExtensionComponent.html' \r\n})\r\nexport class SideBarExtensionComponent {\r\n \r\n ngOnInit(): void {\r\n }\r\n\r\n}","","import { Component, Output, Optional, Host, Inject, forwardRef, EventEmitter, ChangeDetectionStrategy, ViewChild, ElementRef, Input, SimpleChanges, ChangeDetectorRef } from '@angular/core';\r\nimport { BasePopupComponent } from './basePopupComponent';\r\nimport { BackdropComponent } from './backdropComponent';\r\nimport { PopupService } from './popupService';\r\nimport { BreakPointAccessor, Breakpoints, BrowserInfo } from \"../../utils\";\r\nimport { SizeUtility, SizeUnit } from \"../shared/sizeUtility\";\r\nimport { PopupInfo, PopupActions } from \"./popupInfo\";\r\nimport { SideBarExtensionComponent } from \"./sidebarExtensionComponent\";\r\n\r\nlet SideBarPositions = {\r\n Left: 'left',\r\n Right: 'right'\r\n}\r\n\r\n@Component({\r\n selector: 'side-bar-popup',\r\n templateUrl: './sidebarPopupComponent.html',\r\n providers: [SizeUtility],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SidebarPopupComponent extends BasePopupComponent {\r\n\r\n @Output()\r\n transitionEnd = new EventEmitter();\r\n\r\n // Position: left, right\r\n @Input()\r\n public position: string = SideBarPositions.Left;\r\n\r\n @Input()\r\n public extensionWidth: string = \"350px\";\r\n\r\n @Input()\r\n public isSticky: boolean = false;\r\n\r\n @Input()\r\n public stopInteraction: boolean = false;\r\n\r\n // Styles for sidebar's root container\r\n public containerStyle: CSSStyleDeclaration;\r\n\r\n // Styles for sidebar's menu\r\n public menuStyle: CSSStyleDeclaration;\r\n\r\n // Styles for sidebar's sub menu\r\n public subMenuStyle: CSSStyleDeclaration;\r\n\r\n @ViewChild('sideBarElement')\r\n public sideBarElement: ElementRef;\r\n\r\n @Input()\r\n public extended: boolean = false;\r\n\r\n // At a time only one position can be set, either positionLeft or positionRight. Our system only supports two positions. If the positionLeft is defined other position would be undefined. In this case template \r\n // won't handle the undefined position.\r\n public positionLeft: string;\r\n public positionRight: string;\r\n\r\n constructor(\r\n public cd: ChangeDetectorRef,\r\n @Optional() @Host() @Inject(forwardRef(() => BackdropComponent))\r\n public backdrop: BackdropComponent,\r\n public breakPointAccessor: BreakPointAccessor,\r\n public popupService: PopupService,\r\n public browser: BrowserInfo\r\n\r\n ) {\r\n super(cd, backdrop, breakPointAccessor, popupService);\r\n }\r\n\r\n get rootElement(): ElementRef {\r\n return this.sideBarElement;\r\n }\r\n\r\n ngOnInit(): void {\r\n // Default height for sidebars.\r\n if (!this.height)\r\n this.height = '100%';\r\n\r\n super.ngOnInit();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n super.ngOnChanges(changes);\r\n\r\n if (changes['extended']) {\r\n\r\n this.normalizeSize();\r\n\r\n // If the sidebar is sticky and extended then display the backdrop to listen click events outside the sidebar so that we could close the \r\n // extended menu.\r\n if (this.isSticky) {\r\n this.backdrop.visible = this.extended;\r\n }\r\n // TODO temporary solution to show sidebar for small sizes. Asif this needs to be improved.\r\n else if (this.extended && this.subMenuStyle.width === \"0\") {\r\n this.backdrop.popup.normalizeSize();\r\n }\r\n \r\n }\r\n\r\n }\r\n\r\n public executeAction(info: PopupInfo): void {\r\n if (info.action == PopupActions.CloseExtension) {\r\n this.stopInteraction = false;\r\n this.extended = false;\r\n }\r\n\r\n super.executeAction(info);\r\n }\r\n\r\n close(): void {\r\n // Don't close the sidebar if user interaction is prevent. \r\n // Turn on the user interaction If action is intended.\r\n if (this.stopInteraction)\r\n return;\r\n\r\n if (this.extended) {\r\n this.extended = false;\r\n this.stopInteraction = false;\r\n \r\n }\r\n else super.close();\r\n }\r\n\r\n /**\r\n * Sets the side bar position.\r\n */\r\n public normalizeSize(): void {\r\n\r\n this.calculateMaximizeState();\r\n\r\n // Container which encapsulates both menu and sub-menu\r\n this.updateContainerStyle();\r\n\r\n // Menu style\r\n this.updateMenuStyle();\r\n\r\n // Sub menu style\r\n this.updateSubMenuStyle();\r\n\r\n this.cd.markForCheck();\r\n }\r\n \r\n public updateContainerStyle(): void {\r\n if (this.calcMaximize && this.isOpened) {\r\n this.positionRight = this.positionLeft = '0px';\r\n }\r\n else if (this.position == SideBarPositions.Left) {\r\n // Hide the side bar If it is not opened.\r\n this.positionLeft = this.isOpened == true ? '0px' : `-100%`;\r\n this.positionRight = null;\r\n }\r\n else if (this.position == SideBarPositions.Right) {\r\n this.positionRight = this.isOpened == true ? '0px' : `-100%`;\r\n this.positionLeft = null;\r\n }\r\n\r\n const $zindexModal = 1050; // bootstrap $zindex-modal\r\n this.containerStyle = {\r\n right: this.positionRight,\r\n left: this.positionLeft,\r\n zIndex: this.backdrop && this.backdrop.visible == true ? $zindexModal : \"\", // Backdrop component must have z-index less than this value. \r\n minWidth: this.calcMaximize ? '100%' : this.width\r\n }\r\n }\r\n\r\n public updateMenuStyle(): void {\r\n this.menuStyle = {\r\n width: '100%',\r\n minWidth: this.calcMaximize ? '100%' : this.width,\r\n maxWidth: this.calcMaximize ? '100%' : this.width,\r\n display: this.calcMaximize && this.extended ? 'none' : ''\r\n }\r\n }\r\n\r\n updateSubMenuStyle(): void {\r\n let calWidth: string = this.extensionWidth;\r\n\r\n // If it is closed then set the width 0.\r\n if (!this.extended)\r\n calWidth = '0';\r\n\r\n if (this.calcMaximize && this.extended)\r\n calWidth = '100%';\r\n\r\n this.subMenuStyle = {\r\n width: calWidth,\r\n minWidth: calWidth,\r\n maxWidth: '100%',\r\n left: this.isSticky && this.width != \"100%\" ? this.width : null\r\n } \r\n\r\n if (this.browser.isIE)\r\n this.subMenuStyle.left = null;\r\n\r\n }\r\n\r\n enable(status: boolean): void {\r\n this.stopInteraction = !status;\r\n }\r\n}","
\r\n
\r\n
\r\n
\r\n

{{title}}

\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n","import { Host, Component, Optional, ViewChild, ElementRef, Input, forwardRef, Inject, ChangeDetectionStrategy, ChangeDetectorRef, HostListener, SimpleChanges } from '@angular/core';\r\nimport { RegularPopupComponent } from './regularPopupComponent';\r\nimport { BasePopupComponent } from './basePopupComponent';\r\nimport { BackdropComponent } from './backdropComponent';\r\nimport { BreakPointAccessor, Breakpoints } from \"../../utils\";\r\nimport { PopupService } from \"./popupService\";\r\nimport { SizeUtility, SizeUnit } from \"../shared/sizeUtility\";\r\nlet Popper = require('popper.js').default;\r\nimport { PopupInfo } from './popupInfo';\r\n\r\n@Component({\r\n selector: 'simple-popper',\r\n templateUrl: './simplePopperComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SimplePopperComponent extends BasePopupComponent {\r\n\r\n rootElement: ElementRef;\r\n public popperInstance: any;\r\n public contentStyle: CSSStyleDeclaration;\r\n\r\n @Input() public fullHeight: boolean = false;\r\n @Input() public referenceContainerId: string;\r\n @Input() public referenceElementId: string;\r\n\r\n @ViewChild('regularPopupElement')\r\n public popupElement: ElementRef;\r\n\r\n constructor(\r\n public cd: ChangeDetectorRef,\r\n @Optional() @Host() @Inject(forwardRef(() => BackdropComponent)) backdrop: BackdropComponent,\r\n public breakPointAccessor: BreakPointAccessor,\r\n public popupService: PopupService\r\n ) {\r\n super(cd, backdrop, breakPointAccessor, popupService);\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.width = '600px';\r\n this.height = '600px';\r\n this.normalizeSize(); \r\n this.initializePopper();\r\n }\r\n\r\n initializePopper(): void {\r\n\r\n let container = document.getElementById(this.referenceContainerId);\r\n let referenceElem = document.getElementById(this.referenceElementId);\r\n let popup = this.popupElement.nativeElement;\r\n\r\n this.popperInstance = new Popper(\r\n referenceElem,\r\n popup,\r\n {\r\n placement: 'right',\r\n modifiers: {\r\n offset:\r\n {\r\n enabled: true,\r\n offset: \"20,20,20,20\"\r\n },\r\n flip: {\r\n behavior: ['right', 'top', 'left', 'bottom']\r\n },\r\n arrow: {\r\n enabled: true\r\n },\r\n\r\n keepTogether: { enabled: true },\r\n preventOverflow: {\r\n boundariesElement: container,\r\n escapeWithReference: false\r\n }\r\n }\r\n },\r\n );\r\n }\r\n\r\n public update(info: PopupInfo): void {\r\n\r\n if (!this.referenceElementId)\r\n this.referenceElementId = info.referenceElementId;\r\n\r\n if (!this.referenceContainerId)\r\n this.referenceContainerId = info.containerId;\r\n\r\n if (this.referenceElementId == null && this.referenceContainerId == null) {\r\n throw new Error(`Reference element (${this.referenceElementId}) or container Id (${this.referenceContainerId}) is missing.`);\r\n }\r\n\r\n let container = document.getElementById(this.referenceContainerId);\r\n let referenceElem = document.getElementById(this.referenceElementId);\r\n let popup = this.popupElement.nativeElement;\r\n\r\n if (this.popperInstance) {\r\n\r\n this.popperInstance.reference = referenceElem;\r\n this.popperInstance.popper = popup;\r\n this.popperInstance.modifiers.find(x => x.name == 'preventOverflow').boundariesElement = container;\r\n\r\n this.popperInstance.update();\r\n }\r\n\r\n }\r\n\r\n public normalizeSize(): void {\r\n\r\n // Calculated size after checking the screen size\r\n let calWidth: string;\r\n let calHeight: string;\r\n\r\n if (SizeUtility.onlyUnit(this.width) === SizeUnit.percentage) {\r\n // Using percentage and small screen -> maximize\r\n this.calcMaximize = this.maximize || this.breakPointAccessor.activeBreakPoint.max < Breakpoints.sm.max;\r\n }\r\n else {\r\n // Margin so that we could maximize the popup before hitting the window.width\r\n const margin: number = 30;\r\n this.calcMaximize = this.maximize || SizeUtility.sizeAsNumber(this.width) + margin > innerWidth;\r\n }\r\n\r\n // Full height does not mean that It also has 100% width. In reports we have 100% height.\r\n if (this.fullHeight || this.calcMaximize) {\r\n calHeight = '100%';\r\n }\r\n\r\n if (this.isOpened) {\r\n calHeight = (this.fullHeight || this.calcMaximize) ? \"100%\" : this.height;\r\n }\r\n\r\n // During the show/hide transitions, width must be same.\r\n calWidth = this.calcMaximize ? \"100%\" : this.width;\r\n\r\n if (!this.contentStyle)\r\n this.contentStyle = {};\r\n\r\n this.contentStyle.maxHeight = \"100%\";\r\n this.contentStyle.minWidth = '250px';\r\n this.contentStyle.minHeight = '250px';\r\n //this.contentStyle.height = calHeight;\r\n //this.contentStyle.width = '100%'; \r\n \r\n this.cd.markForCheck();\r\n }\r\n\r\n closePopup(event): void {\r\n\r\n if (this.popperInstance) {\r\n this.popperInstance.destroy();\r\n delete this.popperInstance;\r\n }\r\n\r\n this.close();\r\n event.preventDefault();\r\n\r\n }\r\n \r\n}","
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { PrintComponent } from './printComponent';\r\nimport { PrintService } from './printService';\r\n\r\nexport * from \"./printService\";\r\nexport * from \"./printComponent\";\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule \r\n ],\r\n declarations: [\r\n PrintComponent \r\n ],\r\n providers: [\r\n PrintService \r\n ],\r\n exports: [\r\n PrintComponent \r\n ]\r\n})\r\nexport class PrintModule {\r\n\r\n}","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Output, Renderer2, ViewChild } from \"@angular/core\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { PrintInfo, PrintService, PrintAction } from \"./printService\";\r\nimport { Delay, sleep } from \"../../utils\";\r\n\r\n@Component({\r\n selector: 'print-component',\r\n templateUrl: './printComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class PrintComponent {\r\n\r\n private subscription: Subscription;\r\n\r\n constructor(public printService: PrintService, protected cd: ChangeDetectorRef, private renderer: Renderer2) {\r\n \r\n }\r\n\r\n @Output()\r\n onSuccess = new EventEmitter();\r\n\r\n @Output()\r\n onStart = new EventEmitter();\r\n\r\n @ViewChild(\"printContainer\")\r\n printContainer: ElementRef;\r\n\r\n ngOnInit() {\r\n\r\n this.subscription = this.printService.getMessage().subscribe((info: PrintInfo) => {\r\n\r\n this.executePrintAction(info);\r\n \r\n });\r\n\r\n }\r\n\r\n executePrintAction(info: PrintInfo) {\r\n\r\n switch (info.action) {\r\n\r\n case PrintAction.CopyDOM:\r\n this.attachViewAfter(this.printContainer.nativeElement, [info.referenceElement.cloneNode(true)]);\r\n break;\r\n\r\n case PrintAction.RemoveDOM:\r\n // Remove the print element from DOM after print command.\r\n sleep(Delay.MS_400).then(x =>\r\n {\r\n $(this.printContainer.nativeElement).next().remove();\r\n this.cd.markForCheck();\r\n this.onSuccess.emit();\r\n }); \r\n break;\r\n\r\n case PrintAction.Print:\r\n this.onStart.emit();\r\n /*sleep(Delay.MS_400).then(x => window.print());*/\r\n break;\r\n\r\n }\r\n\r\n }\r\n\r\n attachViewAfter(nativeElement: any, viewRootNodes: any[]) {\r\n\r\n const parentElement = this.renderer.parentNode(nativeElement);\r\n const nextSibling = this.renderer.nextSibling(nativeElement);\r\n for (let i = 0; i < viewRootNodes.length; i++) {\r\n this.renderer.insertBefore(parentElement, viewRootNodes[i], nextSibling);\r\n }\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n}","
\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Subject, Observable } from 'rxjs';\r\n\r\nexport interface PrintInfo {\r\n referenceElement: any,\r\n action: PrintAction\r\n}\r\n\r\nexport enum PrintAction {\r\n CopyDOM = 'copy',\r\n RemoveDOM = 'remove',\r\n Print = 'print',\r\n}\r\n\r\n@Injectable()\r\nexport class PrintService {\r\n \r\n private subject = new Subject();\r\n\r\n public getMessage(): Observable {\r\n return this.subject.asObservable();\r\n }\r\n \r\n public sendPrint(printInfo: PrintInfo) {\r\n this.subject.next(printInfo);\r\n }\r\n \r\n}","import { Component, Input } from \"@angular/core\";\r\nimport { InputViewModel } from \"../../shared\";\r\nimport { RadioButtonComponent } from \"../radioButtonComponent\";\r\nimport { BaseComponent } from \"../../../../pages/shared/baseComponent\";\r\nimport { ImageSets } from \"../../../utils\";\r\n\r\n@Component({\r\n selector: 'image-radio-style',\r\n templateUrl: './imageRadioStyleComponent.html'\r\n})\r\nexport class ImageRadioStyleComponent extends BaseComponent {\r\n\r\n @Input()\r\n view: InputViewModel;\r\n\r\n @Input()\r\n selected: boolean = false;\r\n\r\n public imageSet: string;\r\n\r\n ngOnInit() {\r\n this.imageSet = this.getImageSet(ImageSets.ControlImageOptionChecked);\r\n super.ngOnInit();\r\n }\r\n\r\n public get imageStyle(): string {\r\n let imageStateCss: string = \"rounded-image-corner radio-border\";\r\n\r\n if (this.selected) {\r\n imageStateCss += \" checked\";\r\n }\r\n return imageStateCss;\r\n }\r\n}","\r\n\r\n \r\n \r\n \r\n \r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { RadioGroupComponent } from \"./radioGroupComponent\";\r\nimport { RadioButtonComponent } from \"./radioButtonComponent\";\r\nimport { StandardRadioStrategyComponent } from \"./strategies/standardRadioStrategyComponent\";\r\nimport { ImageRadioStrategyComponent } from \"./strategies/imageRadioStrategyComponent\";\r\nimport { ImageRadioStyleComponent } from \"./components/imageRadioStyleComponent\";\r\nimport { ImageModule } from \"../image\";\r\nimport { IconModule } from \"../icon\";\r\nimport { HelpModule } from \"../help\";\r\n\r\nexport * from \"./radioButtonComponent\";\r\nexport * from \"./radioGroupComponent\";\r\nexport * from \"./strategies/standardRadioStrategyComponent\";\r\nexport * from \"./strategies/imageRadioStrategyComponent\";\r\nexport * from \"./strategies/baseRadioStrategyComponent\";\r\nexport * from \"./components/imageRadioStyleComponent\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ImageModule,\r\n HelpModule,\r\n IconModule\r\n ],\r\n declarations: [\r\n RadioButtonComponent,\r\n RadioGroupComponent,\r\n ImageRadioStrategyComponent,\r\n StandardRadioStrategyComponent,\r\n ImageRadioStyleComponent, \r\n ],\r\n exports: [\r\n RadioButtonComponent,\r\n RadioGroupComponent,\r\n ImageRadioStrategyComponent,\r\n StandardRadioStrategyComponent,\r\n ImageRadioStyleComponent, \r\n ]\r\n})\r\nexport class RadioButtonModule {\r\n\r\n}","import { Component, Input, Host, OnInit, Inject, ContentChild, ElementRef, ChangeDetectorRef, Output, AfterViewInit, AfterContentInit, forwardRef, ChangeDetectionStrategy } from \"@angular/core\";\r\nimport { BrowserInfo } from \"../../utils\";\r\nimport { InputViewModel, DisplayStyle } from \"../shared\";\r\nimport { RadioGroupComponent } from \"./radioGroupComponent\";\r\nimport { BaseRadioStrategyComponent } from \"./strategies/baseRadioStrategyComponent\";\r\n\r\n@Component({\r\n selector: \"radio-button\",\r\n templateUrl: './radioButtonComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class RadioButtonComponent implements OnInit, AfterViewInit, AfterContentInit {\r\n\r\n template: BaseRadioStrategyComponent;\r\n\r\n // Note! It makes the whole Group readOnly, but the reason of defining variable in item is that It only shows the lock icon to that specific item which causes the complete group to be readonly.\r\n // readonly: boolean = false;\r\n\r\n\r\n constructor( @Host() @Inject(forwardRef(() => RadioGroupComponent)) public radioGroup: RadioGroupComponent,\r\n @Inject(BrowserInfo) public browserInfo: BrowserInfo,\r\n public cdr: ChangeDetectorRef\r\n ) {\r\n }\r\n\r\n public DISPLAY_STYLE_OPTIONS: typeof DisplayStyle = DisplayStyle;\r\n\r\n @Input()\r\n public view: InputViewModel;\r\n\r\n @Input()\r\n public selectedViewId: string\r\n\r\n @Input()\r\n public isDisabled: boolean;\r\n\r\n @Input()\r\n public isReadOnly: boolean;\r\n\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n\r\n }\r\n\r\n\r\n ngAfterContentInit() {\r\n\r\n }\r\n\r\n updateStyle(): void {\r\n this.template.updateStyle();\r\n }\r\n}","
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n","import { ChangeDetectorRef, Component, Inject, Input, OnInit, SimpleChanges, ChangeDetectionStrategy } from \"@angular/core\";\r\nimport { BaseInputComponent, InputViewModel } from \"../shared\";\r\nimport { RadioButtonComponent } from \"./radioButtonComponent\";\r\n\r\n@Component({\r\n selector: 'radio-group',\r\n templateUrl: './radioGroupComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class RadioGroupComponent extends BaseInputComponent implements OnInit {\r\n \r\n @Input()\r\n public itemsView: InputViewModel[] = []; \r\n\r\n @Input()\r\n public displayStyle: any;\r\n \r\n @Input()\r\n public orientation: any;\r\n\r\n public sizeStyle: CSSStyleDeclaration; \r\n\r\n @Input()\r\n public selectedViewId: string;\r\n\r\n constructor( \r\n @Inject(ChangeDetectorRef) public cdr: ChangeDetectorRef\r\n ) {\r\n super();\r\n }\r\n\r\n onClick(event, view) {\r\n this.processEvent(event, view);\r\n }\r\n\r\n /**\r\n * Is provided button selected ?\r\n * @param button\r\n */\r\n isSelected(button: RadioButtonComponent): boolean {\r\n\r\n if (button.view) {\r\n\r\n return button.view.value == null ? false : button.view.value == button.view.id;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n processEvent(event: any, view: InputViewModel): void {\r\n if (this.notifyIfReadOnly(view, event)) \r\n return;\r\n \r\n\r\n if (this.notifyIfDisabled(view, event))\r\n return;\r\n\r\n // If user clicks on checked option then uncheck it.\r\n //let newValue = view.value == null ? view.id : null; \r\n this.selectedViewId = event;\r\n\r\n\r\n //this.cdr.detectChanges();\r\n this.notifyValueChange(view, event); \r\n }\r\n\r\n /**\r\n * Returns true If any item view is readOnly,\r\n */\r\n public isReadOnly(newValue?: any): boolean {\r\n\r\n return this.itemsView.filter(x => x.readOnly).length > 0;\r\n }\r\n\r\n public isDisabled(newValue: any): boolean {\r\n\r\n let itemView = this.getItemViewById(newValue);\r\n return itemView && itemView.disabled;\r\n\r\n }\r\n\r\n public currentValue(): any {\r\n\r\n for (let view of this.itemsView) {\r\n\r\n // Return value.\r\n if (view.value != null)\r\n return view.value;\r\n\r\n }\r\n\r\n // This lines only would be executed if no value is set.\r\n return null;\r\n }\r\n\r\n public get selectedView(): InputViewModel {\r\n\r\n for (let view of this.itemsView) \r\n if (view.value != null)\r\n return view;\r\n\r\n return null;\r\n }\r\n \r\n ngOnInit() { \r\n this.setStyle();\r\n }\r\n\r\n\r\n private setStyle(): void {\r\n\r\n this.sizeStyle = { width: '100%', maxWidth: this.view.width, minWidth: this.view.minWidth }\r\n\r\n }\r\n\r\n public removeCssStyles(button: RadioButtonComponent): void {\r\n button.updateStyle();\r\n }\r\n \r\n private getItemViewById(id: string): InputViewModel {\r\n\r\n for (let view of this.itemsView) {\r\n if (view.id == id)\r\n return view;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n\r\n \r\n} ","\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n \r\n\r\n \r\n\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n\r\n
\r\n \r\n
\r\n
","import { Component, ChangeDetectorRef, Input, OnInit, SimpleChanges } from \"@angular/core\";\r\nimport { InputViewModel } from \"../../shared\";\r\nimport { RadioButtonComponent } from '../radioButtonComponent';\r\nimport { BaseComponent } from \"../../../../pages/shared/baseComponent\";\r\n\r\n@Component({ template: '' })\r\nexport abstract class BaseRadioStrategyComponent extends BaseComponent {\r\n\r\n public orientation: string = 'vertical';\r\n public groupView: InputViewModel;\r\n public imagePosition: string;\r\n public selected: boolean = false;\r\n public imageSet: string;\r\n\r\n @Input()\r\n public isDisabled: boolean = false;\r\n\r\n @Input()\r\n public isReadOnly: boolean = false;\r\n\r\n @Input()\r\n public itemView: InputViewModel;\r\n\r\n @Input()\r\n public selectedViewId: string;\r\n\r\n constructor(public button: RadioButtonComponent, public cdr: ChangeDetectorRef) {\r\n super();\r\n button.template = this;\r\n }\r\n\r\n public onClick($event): void {\r\n\r\n // Set the new value to button's view\r\n let newValue = this.button.view.value == null ? this.button.view.id : null;\r\n\r\n // If an existing selection is changed this prevents null value.\r\n if (this.button.view.value != null && this.selectedViewId != this.button.view.value)\r\n newValue = this.button.view.value;\r\n\r\n if (this.isValid(newValue))\r\n this.setSelected(newValue);\r\n \r\n this.button.radioGroup.processEvent(newValue, this.button.view) \r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.itemView = this.button.view;\r\n this.groupView = this.button.radioGroup.view;\r\n this.orientation = this.button.radioGroup.orientation;\r\n\r\n // TODO: Temporary code for demo\r\n // In vertical orientation, always set the imagePosition to left. \r\n this.imagePosition = this.orientation == 'vertical' ? 'left' : 'top';\r\n\r\n this.setSelected(this.selectedViewId);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n\r\n if (changes['selectedViewId'] != null && !changes['selectedViewId'].firstChange) {\r\n this.setSelected(this.selectedViewId);\r\n }\r\n }\r\n\r\n protected setSelected(newValue?: any): void { \r\n\r\n this.selectedViewId = newValue;\r\n this.selected = this.button.view.id == this.selectedViewId;\r\n\r\n }\r\n\r\n protected isValid(newValue: any): boolean {\r\n\r\n return !this.button.radioGroup.isReadOnly(newValue) && !this.button.radioGroup.isDisabled(newValue);\r\n\r\n }\r\n\r\n public updateStyle(): void { }\r\n\r\n}","import { Component, Input, ChangeDetectorRef, Host, Inject, AfterContentInit, forwardRef } from \"@angular/core\";\r\nimport { RadioButtonComponent } from \"../radioButtonComponent\";\r\nimport { BaseRadioStrategyComponent } from './baseRadioStrategyComponent';\r\nimport { ImageSets } from \"../../../utils\";\r\n\r\n@Component({\r\n selector: 'image-radio',\r\n templateUrl: './imageRadioStrategyComponent.html'\r\n})\r\nexport class ImageRadioStrategyComponent extends BaseRadioStrategyComponent {\r\n\r\n constructor(\r\n @Host() @Inject(forwardRef(() => RadioButtonComponent)) public button: RadioButtonComponent,\r\n public cdr: ChangeDetectorRef\r\n ) {\r\n super(button, cdr);\r\n }\r\n\r\n ngOnInit() {\r\n this.imageSet = this.getImageSet(ImageSets.ControlLock);\r\n super.ngOnInit();\r\n }\r\n\r\n readOnlyClick(): void {\r\n this.button.radioGroup.readOnlyClick();\r\n }\r\n}","\r\n
\r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
{{itemView.title}}
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
{{itemView.title}}
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n","import { Component, ViewChild, ElementRef, ChangeDetectorRef, Input, Host, Inject, AfterContentInit, AfterViewInit, forwardRef, ChangeDetectionStrategy, SimpleChanges } from \"@angular/core\";\r\nimport { RadioButtonComponent } from \"../radioButtonComponent\";\r\nimport { BaseRadioStrategyComponent } from \"./baseRadioStrategyComponent\";\r\nimport { InputViewModel } from \"../../shared\";\r\nimport { ImageSets } from \"../../../utils\";\r\n\r\n@Component({\r\n selector: 'standard-radio',\r\n templateUrl: './standardRadioStrategyComponent.html',\r\n changeDetection: ChangeDetectionStrategy.Default\r\n})\r\nexport class StandardRadioStrategyComponent extends BaseRadioStrategyComponent {\r\n\r\n constructor(\r\n @Host() @Inject(forwardRef(() => RadioButtonComponent)) public button: RadioButtonComponent,\r\n public cdr: ChangeDetectorRef\r\n ) {\r\n super(button, cdr);\r\n }\r\n\r\n ngOnInit() {\r\n this.imageSet = this.getImageSet(ImageSets.ControlLock);\r\n super.ngOnInit();\r\n }\r\n\r\n public styles: string;\r\n\r\n @ViewChild('radioButton')\r\n inputControlRef: ElementRef;\r\n\r\n updateStyle() {\r\n if (this.inputControlRef != null && this.selected) {\r\n this.inputControlRef.nativeElement.checked = true;\r\n }\r\n\r\n // Disabled style is set at item level and readOnly at group level because of their scopes\r\n //this.disabledStyle = this.button.disabled ? \"disabled\" : \"\";\r\n this.updateRadioStyles();\r\n\r\n this.cdr.markForCheck();\r\n }\r\n\r\n public updateRadioStyles(): void {\r\n\r\n this.styles = 'option-input';\r\n\r\n if (this.selected)\r\n {\r\n this.styles += ' checked';\r\n }\r\n\r\n if (this.selected && this.button.browserInfo.isIE)\r\n {\r\n this.styles += '-ie';\r\n } \r\n \r\n }\r\n\r\n protected setSelected(newValue?: any): void {\r\n\r\n super.setSelected(newValue);\r\n this.updateRadioStyles();\r\n\r\n }\r\n\r\n}","
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n","import { NgModule } from '@angular/core';\n\nimport { RecaptchaComponent } from './recaptcha.component';\n\n@NgModule({\n declarations: [\n RecaptchaComponent,\n ],\n exports: [\n RecaptchaComponent,\n ],\n})\nexport class RecaptchaCommonModule {\n}\n","import { FormsModule } from '@angular/forms';\r\nimport { NgModule } from '@angular/core';\r\nimport { RecaptchaCommonModule } from './recaptcha-common.module';\nimport { RecaptchaValueAccessorDirective } from './recaptcha-value-accessor.directive';\n\n@NgModule({\n declarations: [\n RecaptchaValueAccessorDirective,\n ],\n exports: [RecaptchaValueAccessorDirective],\n imports: [FormsModule, RecaptchaCommonModule],\n})\nexport class RecaptchaFormsModule {\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport {\n Inject,\n Injectable,\n InjectionToken,\n Optional,\n PLATFORM_ID,\n} from '@angular/core';\nimport { BehaviorSubject, Observable, of } from 'rxjs';\n\nexport const RECAPTCHA_LANGUAGE = new InjectionToken('recaptcha-language');\nexport const RECAPTCHA_BASE_URL = new InjectionToken('recaptcha-base-url');\nexport const RECAPTCHA_NONCE = new InjectionToken('recaptcha-nonce-tag');\n\ndeclare global {\n interface Window {\n ng2recaptchaloaded: () => void;\n }\n}\n\nexport function loadScript(\n renderMode: 'explicit' | string,\n onLoaded: (grecaptcha: ReCaptchaV2.ReCaptcha) => void,\n urlParams: string,\n url?: string,\n nonce?: string,\n) {\n window.ng2recaptchaloaded = () => {\n onLoaded(grecaptcha);\n };\n const script = document.createElement('script');\n script.innerHTML = '';\n const baseUrl = url || 'https://www.google.com/recaptcha/api.js';\n\n script.src = `${baseUrl}?render=${renderMode}&onload=ng2recaptchaloaded${urlParams}`;\n if (nonce) {\n // tslint:disable-next-line:no-any Remove \"any\" cast once we upgrade Angular to 7 and TypeScript along with it\n (script as any).nonce = nonce;\n }\n script.async = true;\n script.defer = true;\n document.head.appendChild(script);\n}\n\n@Injectable()\nexport class RecaptchaLoaderService {\n /**\n * @internal\n * @nocollapse\n */\n private static ready: BehaviorSubject = null;\n\n public ready: Observable;\n\n /** @internal */\n private language: string;\n /** @internal */\n private baseUrl: string;\n /** @internal */\n private nonce: string;\n\n constructor(\n // tslint:disable-next-line:no-any\n @Inject(PLATFORM_ID) private readonly platformId: any,\n @Optional() @Inject(RECAPTCHA_LANGUAGE) language?: string,\n @Optional() @Inject(RECAPTCHA_BASE_URL) baseUrl?: string,\n @Optional() @Inject(RECAPTCHA_NONCE) nonce?: string,\n ) {\n this.language = language;\n this.baseUrl = baseUrl;\n this.nonce = nonce;\n this.init();\n this.ready = isPlatformBrowser(this.platformId) ? RecaptchaLoaderService.ready.asObservable() : of();\n }\n\n /** @internal */\n private init() {\n if (RecaptchaLoaderService.ready) {\n return;\n }\n if (isPlatformBrowser(this.platformId)) {\n const subject = new BehaviorSubject(null);\n RecaptchaLoaderService.ready = subject;\n const langParam = this.language ? '&hl=' + this.language : '';\n loadScript('explicit', (grecaptcha) => subject.next(grecaptcha), langParam, this.baseUrl, this.nonce);\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const RECAPTCHA_SETTINGS = new InjectionToken('recaptcha-settings');\n\nexport interface RecaptchaSettings {\n siteKey?: string;\n theme?: ReCaptchaV2.Theme;\n type?: ReCaptchaV2.Type;\n size?: ReCaptchaV2.Size;\n badge?: ReCaptchaV2.Badge;\n}\n","import {\n Directive,\n forwardRef,\n HostListener,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NG_VALUE_ACCESSOR,\n} from '@angular/forms';\n\nimport { RecaptchaComponent } from './recaptcha.component';\n\n@Directive({\n providers: [\n {\n multi: true,\n provide: NG_VALUE_ACCESSOR,\n // tslint:disable-next-line:no-forward-ref\n useExisting: forwardRef(() => RecaptchaValueAccessorDirective),\n },\n ],\n // tslint:disable-next-line:directive-selector\n selector: 're-captcha[formControlName],re-captcha[formControl],re-captcha[ngModel]',\n})\nexport class RecaptchaValueAccessorDirective implements ControlValueAccessor {\n /** @internal */\n private onChange: (value: string) => void;\n\n /** @internal */\n private onTouched: () => void;\n\n constructor(private host: RecaptchaComponent) { }\n\n public writeValue(value: string): void {\n if (!value) {\n this.host.reset();\n }\n }\n\n public registerOnChange(fn: (value: string) => void): void { this.onChange = fn; }\n public registerOnTouched(fn: () => void): void { this.onTouched = fn; }\n\n @HostListener('resolved', ['$event']) public onResolve($event: string) {\n if (this.onChange) {\n this.onChange($event);\n }\n if (this.onTouched) {\n this.onTouched();\n }\n }\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n NgZone,\n OnDestroy,\n Optional,\n Output,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { RecaptchaLoaderService } from './recaptcha-loader.service';\nimport { RECAPTCHA_SETTINGS, RecaptchaSettings } from './recaptcha-settings';\n\nlet nextId = 0;\n\n@Component({\n exportAs: 'reCaptcha',\n selector: 're-captcha',\n template: ``,\n})\nexport class RecaptchaComponent implements AfterViewInit, OnDestroy {\n @Input()\n @HostBinding('attr.id')\n public id = `ngrecaptcha-${nextId++}`;\n\n @Input() public siteKey: string;\n @Input() public theme: ReCaptchaV2.Theme;\n @Input() public type: ReCaptchaV2.Type;\n @Input() public size: ReCaptchaV2.Size;\n @Input() public tabIndex: number;\n @Input() public badge: ReCaptchaV2.Badge;\n\n @Output() public resolved = new EventEmitter();\n\n /** @internal */\n private subscription: Subscription;\n /** @internal */\n private widget: number;\n /** @internal */\n private grecaptcha: ReCaptchaV2.ReCaptcha;\n /** @internal */\n private executeRequested: boolean;\n\n constructor(\n private elementRef: ElementRef,\n private loader: RecaptchaLoaderService,\n private zone: NgZone,\n @Optional() @Inject(RECAPTCHA_SETTINGS) settings?: RecaptchaSettings,\n ) {\n if (settings) {\n this.siteKey = settings.siteKey;\n this.theme = settings.theme;\n this.type = settings.type;\n this.size = settings.size;\n this.badge = settings.badge;\n }\n }\n\n public ngAfterViewInit() {\n this.subscription = this.loader.ready.subscribe((grecaptcha: ReCaptchaV2.ReCaptcha) => {\n if (grecaptcha != null && grecaptcha.render instanceof Function) {\n this.grecaptcha = grecaptcha;\n this.renderRecaptcha();\n }\n });\n }\n\n public ngOnDestroy() {\n // reset the captcha to ensure it does not leave anything behind\n // after the component is no longer needed\n this.grecaptchaReset();\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n\n /**\n * Executes the invisible recaptcha.\n * Does nothing if component's size is not set to \"invisible\".\n */\n public execute(): void {\n if (this.size !== 'invisible') {\n return;\n }\n\n if (this.widget != null) {\n this.grecaptcha.execute(this.widget);\n } else {\n // delay execution of recaptcha until it actually renders\n this.executeRequested = true;\n }\n }\n\n public reset() {\n if (this.widget != null) {\n if (this.grecaptcha.getResponse(this.widget)) {\n // Only emit an event in case if something would actually change.\n // That way we do not trigger \"touching\" of the control if someone does a \"reset\"\n // on a non-resolved captcha.\n this.resolved.emit(null);\n }\n\n this.grecaptchaReset();\n }\n }\n\n /** @internal */\n private expired() {\n this.resolved.emit(null);\n }\n\n /** @internal */\n private captchaResponseCallback(response: string) {\n this.resolved.emit(response);\n }\n\n /** @internal */\n private grecaptchaReset() {\n if (this.widget != null) {\n this.zone.runOutsideAngular(() => this.grecaptcha.reset(this.widget));\n }\n }\n\n /** @internal */\n private renderRecaptcha() {\n this.widget = this.grecaptcha.render(this.elementRef.nativeElement, {\n badge: this.badge,\n callback: (response: string) => {\n this.zone.run(() => this.captchaResponseCallback(response));\n },\n 'expired-callback': () => {\n this.zone.run(() => this.expired());\n },\n sitekey: this.siteKey,\n size: this.size,\n tabindex: this.tabIndex,\n theme: this.theme,\n type: this.type,\n });\n\n if (this.executeRequested === true) {\n this.executeRequested = false;\n this.execute();\n }\n }\n}\n","import { NgModule } from '@angular/core';\r\nimport { RecaptchaCommonModule } from './recaptcha-common.module';\nimport { RecaptchaLoaderService } from './recaptcha-loader.service';\nimport { RecaptchaComponent } from './recaptcha.component';\n\n@NgModule({\n exports: [\n RecaptchaComponent,\n ],\n imports: [\n RecaptchaCommonModule,\n ],\n providers: [\n RecaptchaLoaderService,\n ],\n})\nexport class RecaptchaModule {\n // We need this to maintain backwards-compatibility with v4. Removing this will be a breaking change\n public static forRoot() {\n return RecaptchaModule;\n }\n}\n","import { Component, Input, SimpleChanges, OnInit, OnChanges } from \"@angular/core\";\r\nimport { InputViewModel } from \"../..\";\r\n\r\n@Component({\r\n selector: \"selected-help-image\",\r\n templateUrl: './selectedHelpImageComponent.html',\r\n})\r\nexport class SelectedHelpImageComponent implements OnInit, OnChanges {\r\n\r\n @Input() valueModel: InputViewModel;\r\n @Input() groupModel: InputViewModel;\r\n @Input() selectedValueModel: InputViewModel;\r\n\r\n public style: CSSStyleDeclaration;\r\n public coImageStyle: CSSStyleDeclaration;\r\n public extraClasses: string;\r\n public showMessageBox = false;\r\n public message: string;\r\n\r\n\r\n ngOnInit() {\r\n this.applyStyle();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n\r\n if (changes['valueModel']) {\r\n this.showMessageBox = this.valueModel ? !this.valueModel.helpImage : !this.valueModel;\r\n this.message = this.valueModel ? this.valueModel.title : this.groupModel.title;\r\n }\r\n\r\n }\r\n\r\n onImageError(event): void {\r\n\r\n this.showMessageBox = true;\r\n this.message = this.valueModel.title;\r\n\r\n }\r\n\r\n\r\n applyStyle(): void {\r\n\r\n\r\n if (this.groupModel.helpImagePosition == 'above') {\r\n\r\n this.style = { width: '100%', height: this.groupModel.helpImageHeight }; \r\n this.extraClasses = \"mb-4 w-100\"; \r\n\r\n }\r\n\r\n else if (this.groupModel.helpImagePosition == 'inline-right' || this.groupModel.helpImagePosition == 'inline-left') {\r\n\r\n // Inline help image must be aligned middle to the radio button\r\n this.style = { width: '100%', maxHeight: this.groupModel.helpImageHeight, maxWidth: this.groupModel.helpImageWidth };\r\n\r\n }\r\n\r\n else {\r\n\r\n // In right case, both height & width are important. \r\n this.style = { width: '100%', height: this.groupModel.helpImageHeight, maxWidth: this.groupModel.helpImageWidth };\r\n\r\n }\r\n\r\n this.coImageStyle = { maxWidth: this.groupModel.helpImageWidth, maxHeight: this.groupModel.helpImageHeight };\r\n\r\n }\r\n\r\n}","
\r\n \r\n \r\n \r\n
\r\n {{message}}\r\n
\r\n\r\n
","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { ImageModule } from \"../image\";\r\nimport { HelpModule } from \"../help\";\r\nimport { IconModule } from \"../icon\";\r\n\r\nimport { SelectComponent } from \"./selectComponent\";\r\nimport { RadioButtonModule } from \"../radioButton\";\r\nimport { DropdownModule } from \"../dropdown\";\r\nimport { SelectedHelpImageComponent } from \"./components/selectedHelpImageComponent\";\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ImageModule,\r\n HelpModule,\r\n DropdownModule,\r\n IconModule, \r\n RadioButtonModule\r\n ],\r\n declarations: [\r\n SelectComponent, \r\n SelectedHelpImageComponent \r\n ],\r\n exports: [\r\n SelectComponent, \r\n SelectedHelpImageComponent \r\n ]\r\n})\r\n\r\nexport class SelectModule {\r\n\r\n}\r\n","import { Component, Input, SimpleChanges, OnInit, AfterViewInit, AfterContentInit, Inject, ChangeDetectorRef } from \"@angular/core\";\r\nimport { BaseInputComponent, InputViewModel, ValueChangeEventArgs, SizeUtility } from \"../shared\";\r\n\r\n@Component({\r\n selector: \"select-option\",\r\n templateUrl: './selectComponent.html',\r\n})\r\nexport class SelectComponent extends BaseInputComponent implements OnInit, AfterViewInit, AfterContentInit {\r\n \r\n @Input()\r\n public itemsView: InputViewModel[] = [];\r\n\r\n @Input()\r\n public displayAsRadio: boolean = true;\r\n\r\n @Input()\r\n public displayStyle: string;\r\n\r\n // Orientation only works for radio buttons.\r\n @Input()\r\n public orientation: string = 'vertical';\r\n\r\n @Input()\r\n public selectedValueId: string;\r\n\r\n public helpImageStyle: CSSStyleDeclaration; \r\n\r\n public helpImageExtraClasses: string; \r\n\r\n public controlStyle: CSSStyleDeclaration; \r\n\r\n public selectedValueModel: InputViewModel;\r\n\r\n /**\r\n True to auto add a empty value at the top of the items.\r\n */\r\n @Input()\r\n public showEmptyValue: boolean = false;\r\n\r\n constructor(@Inject(ChangeDetectorRef) public cdr: ChangeDetectorRef,) {\r\n super();\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.setStyle();\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n\r\n if (changes['selectedValueId']) {\r\n\r\n if (this.selectedValueId) {\r\n\r\n this.selectedValueModel = { ...this.itemsView.filter(x => x.id == this.selectedValueId)[0] };\r\n this.helpImageExtraClasses = 'has-value';\r\n }\r\n else {\r\n\r\n this.selectedValueModel = null;\r\n this.helpImageExtraClasses = 'has-no-value';\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n }\r\n\r\n onValueChanged(event: ValueChangeEventArgs) {\r\n\r\n this.selectedValueModel = event.actionView;\r\n\r\n this.notifyValueChange(event.actionView, event.value, event.element); \r\n\r\n }\r\n\r\n private setStyle(): void {\r\n\r\n //this.containerStyle = { width: '100%', maxWidth: '100%', minWidth: this.view.minWidth };\r\n\r\n if (this.view.helpImagePosition == \"right\") {\r\n\r\n // Total width of the control \r\n this.controlStyle = { width: '100%', maxWidth: this.view.widthIfSelectedImage };\r\n this.helpImageStyle = {};\r\n\r\n }\r\n else if (this.view.helpImagePosition == \"above\") {\r\n\r\n // Total width of the control \r\n this.controlStyle = { width: '100%', maxWidth: '100%' };\r\n this.helpImageStyle = { width: '100%', height: this.view.helpImageHeight };\r\n\r\n }\r\n else if (this.view.helpImagePosition == \"inline\") {\r\n\r\n // Total width of the control \r\n this.controlStyle = null;\r\n this.helpImageStyle = { width: this.view.helpImageWidth, height: this.view.helpImageHeight };\r\n\r\n }\r\n\r\n }\r\n\r\n}","
\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n
","import { Component, Input, Output, EventEmitter, ViewContainerRef, ComponentFactoryResolver, ViewChild, AfterContentInit } from \"@angular/core\";\r\nimport { InputViewModel } from \"./models\";\r\nimport { ValueChangeEventArgs, RestrictValueChangeEventArgs } from \"./inputControlEventArgs\";\r\nimport * as Immutable from \"immutable\";\r\nimport { ImageSetAccessor, ImageSets } from \"../../utils\";\r\nimport { GlobalServiceLocator } from \"../../providers\";\r\n\r\n@Component({ template: '' })\r\nexport abstract class BaseInputComponent {\r\n\r\n @Input() view = new InputViewModel();\r\n\r\n @Input() id = \"\";\r\n\r\n @Input() title = \"\";\r\n\r\n @Input() name = \"\";\r\n\r\n @Input() icon = \"\";\r\n\r\n @Input() imageSet;\r\n\r\n @Input() helpImageSet;\r\n\r\n @Input() isVaultIcon = false;\r\n\r\n @Input() helpImage = \"\";\r\n\r\n @Input() width = \"\";\r\n\r\n @Input() height = \"\";\r\n\r\n @Input() iconWidth = '24px'; // Temporarily set\r\n\r\n @Input() iconHeight = '24px'; // Temporarily set\r\n\r\n @Input() helpIconWidth = \"\";\r\n\r\n @Input() helpIconHeight = \"\";\r\n\r\n @Input() enableHelp;\r\n\r\n @Input() floatableLabel = false;\r\n\r\n @Input() disabled = false;\r\n\r\n @Input() readOnly = false;\r\n\r\n @Input() hideIfDisabled = false;\r\n\r\n @Input() immediate = false;\r\n\r\n @Input() highlight = false;\r\n\r\n @Input() value = \"\";\r\n\r\n @Input() formattedValue = \"\";\r\n\r\n /** Use this to be able to CSS select the container when its input is focused.\r\n TODO We should change this to use \":focus-within\" selector once it gets implemented http://caniuse.com/#feat=css-focus-within\r\n */\r\n @Input() hasFocus = false;\r\n\r\n // Note! We don't need this setter If we make the class object immutable.\r\n _errors: Immutable.List = Immutable.List();\r\n @Input() set errors(theErrors: Array) {\r\n this._errors = Immutable.List(theErrors);\r\n }\r\n \r\n // Placeholder attribute only works with textBox and dropDown.\r\n @Input() placeHolder = \"\";\r\n\r\n @Output()\r\n onValueChange = new EventEmitter();\r\n\r\n @Output()\r\n onFocusOut = new EventEmitter();\r\n\r\n @Output()\r\n onReadOnly = new EventEmitter();\r\n\r\n @Output()\r\n onDisabled = new EventEmitter();\r\n\r\n @Output()\r\n onHelpClick = new EventEmitter();\r\n\r\n ngAfterContentInit() {\r\n if (!this.imageSet)\r\n this.imageSet = this.getImageSet(ImageSets.Control);\r\n\r\n if (!this.helpImageSet)\r\n this.helpImageSet = this.getImageSet(ImageSets.Help);\r\n\r\n // Make the view If it is not provided.\r\n if (!this.view) {\r\n this.view = {\r\n id: this.id,\r\n title: this.title,\r\n name: this.name,\r\n icon: this.icon,\r\n isVaultIcon: this.isVaultIcon,\r\n helpImage: this.helpImage,\r\n width: this.width,\r\n height: this.height,\r\n iconWidth: this.iconWidth,\r\n iconHeight: this.iconHeight,\r\n helpIconWidth: this.helpIconWidth,\r\n helpIconHeight: this.helpIconHeight,\r\n enableHelp: this.enableHelp,\r\n floatableLabel: this.floatableLabel,\r\n disabled: this.disabled,\r\n readOnly: this.readOnly,\r\n hideIfDisabled: this.hideIfDisabled,\r\n immediate: this.immediate,\r\n highlight: this.highlight,\r\n value: this.value,\r\n errors: this._errors.toArray()\r\n } as InputViewModel;\r\n }\r\n }\r\n\r\n protected getImageSet(key) {\r\n return this.imageSetAccessor.get(key);\r\n }\r\n\r\n private _imageSetAccessor: ImageSetAccessor;\r\n public get imageSetAccessor() {\r\n if (!this._imageSetAccessor)\r\n this._imageSetAccessor = GlobalServiceLocator.injector.get(ImageSetAccessor);\r\n return this._imageSetAccessor;\r\n }\r\n\r\n notifyIfReadOnly(actionView: InputViewModel, newValue?: any) {\r\n // Raise invalid action If parameter is readOnly\r\n if (this.isReadOnly(newValue)) {\r\n this.onReadOnly.emit(this.restrictValueChangeEventArgs(actionView, newValue));\r\n\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n notifyIfDisabled(actionView: InputViewModel, newValue?: any) {\r\n if (this.view == null) {\r\n console.log(\"Can't set the value prior to view initialization.\");\r\n return;\r\n }\r\n\r\n // Raise invalid notification If parameter is disabled.\r\n if (this.isDisabled(newValue)) {\r\n this.onDisabled.emit(this.restrictValueChangeEventArgs(actionView, newValue));\r\n\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * Notifies the changes to listener.\r\n * @param actionView\r\n * @param newValue - could be different than actionView's value for textboxes, But for dropdown and radio buttons new value would be same as actionView's value.\r\n */\r\n notifyValueChange(actionView: InputViewModel, newValue?: any, element?: any) {\r\n // In radioButtonsGroup case, we provide the view for paramview/option and it will never be null in this case.\r\n if (actionView == null)\r\n actionView = this.view;\r\n\r\n let args: ValueChangeEventArgs = new ValueChangeEventArgs();\r\n\r\n args.element = element;\r\n args.component = this;\r\n args.value = newValue;\r\n args.actionView = actionView;\r\n args.prevValue = this.currentValue();\r\n\r\n // Note! It is noticed that there is some delay when changing the value and updating the view on server response.\r\n // To fix this issue we are updating the view value immediately before sending the request to server.\r\n actionView.value = newValue;\r\n\r\n // Set the value to property so that for simple control value could be accessed in an easy way.\r\n this.value = newValue;\r\n this.view.value = newValue;\r\n\r\n this.beforeNotifyToListener(actionView);\r\n\r\n this.onValueChange.emit(args);\r\n }\r\n\r\n public restrictValueChangeEventArgs(actionView: InputViewModel, invalidValue: any): RestrictValueChangeEventArgs {\r\n let args: RestrictValueChangeEventArgs = new RestrictValueChangeEventArgs();\r\n args.actionView = actionView;\r\n args.currentValue = this.currentValue();\r\n args.inValidValue = invalidValue;\r\n return args;\r\n }\r\n\r\n beforeNotifyToListener(actionView: InputViewModel): void {\r\n\r\n }\r\n\r\n /**\r\n * Returns true, if view is readOnly. Note! This property can be overriden for RadioButtonGroups.\r\n */\r\n public isReadOnly(newValue: any) {\r\n return this.view.readOnly;\r\n }\r\n\r\n /**\r\n * Returns the current view value, this property can be overriden for RadioButtonGroups.\r\n */\r\n public currentValue(): any {\r\n return this.view.value;\r\n }\r\n\r\n public selectedChildItemView(): InputViewModel {\r\n return this.view;\r\n }\r\n\r\n /**\r\n * Returns true, if view is disabled. Note! This property can be overriden for RadioButtonGroups.\r\n */\r\n public isDisabled(newValue: any) {\r\n return this.view.disabled;\r\n }\r\n\r\n helpClick(view: InputViewModel): void {\r\n this.onHelpClick.emit(view);\r\n }\r\n\r\n readOnlyClick(actionView?: InputViewModel): void {\r\n let v: InputViewModel = actionView == null ? this.view : actionView;\r\n this.notifyIfReadOnly(v, null);\r\n }\r\n\r\n cancelValue(value: any) {\r\n\r\n this.view.value = value;\r\n this.value = value;\r\n\r\n // Create a new instance to detect the changes.\r\n this.view = { ...this.view };\r\n\r\n }\r\n\r\n}","export let DisplayStyle = {\r\n Standard: 'standard',\r\n Image: 'image' \r\n}","/**\r\n Combinum.Global.Enums.FilterType\r\n*/\r\nexport enum FilterType {\r\n SingleValue = 0,\r\n LessThan = 1,\r\n GreaterThan = 2,\r\n Range = 3\r\n}","export * from \"./displayStyle\";\r\nexport * from \"./orientation\";\r\nexport * from \"./positions\";\r\nexport * from \"./filterType\";","export let Orientation = {\r\n Vertical: 'vertical',\r\n Horizontal: 'horizontal'\r\n}","export let Positions = {\r\n Left: \"left\",\r\n Above: \"above\",\r\n InlineRight: \"inline-right\",\r\n InlineLeft: \"inline-left\",\r\n Below: \"below\",\r\n Right: \"right\",\r\n None: \"none\"\r\n}","import { Component, NgModule, Input } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'floating',\r\n templateUrl: './floatingComponent.html'\r\n})\r\nexport class FloatingComponent {\r\n\r\n @Input()\r\n floatingPosition: boolean = true;\r\n\r\n public getCss(): string {\r\n return this.floatingPosition ? 'flex-item-auto' : 'flex-item-full';\r\n }\r\n}\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule\r\n ],\r\n declarations: [\r\n FloatingComponent\r\n ],\r\n exports: [\r\n FloatingComponent\r\n ]\r\n})\r\nexport class FloatingModule { }","
\r\n \r\n
","export class IdentifierUtility {\r\n\r\n public static get uniqueId(): string {\r\n return (Date.now().toString(36) + Math.random().toString(36).substr(2, 5)).toUpperCase();\r\n }\r\n\r\n}","export * from \"./enums/index\";\r\nexport * from \"./models/index\";\r\nexport * from \"./baseInputComponent\";\r\nexport * from \"./floatingComponent\";\r\nexport * from \"./inputControlEventArgs\";\r\nexport * from \"./selectValidator\";\r\nexport * from \"./sizeUtility\";\r\nexport * from \"./identifierUtility\";","import { InputViewModel } from \"./models\";\nimport { BaseInputComponent } from \"./baseInputComponent\";\r\n\nexport class ValueChangeEventArgs {\n\n // Native element\n element: any;\n\n // Component reference\n component: BaseInputComponent;\n\n // Value supposed to be set.\n // Note! This value is a temporary value and will not be set to view until server validates it.\n value: any = null;\n\n // Current view for the actioned item.\n actionView: InputViewModel;\n\n // View before action.\n prevValue: any;\n}\n\n\nexport class RestrictValueChangeEventArgs {\n \n // Invalid value\n inValidValue: any = null;\n\n // Current value.\n currentValue: any = null;\n\n // View associated with control where the action was performed. \n // In Radio/Multi choice items, it represents the actioned item's view.\n actionView: InputViewModel; \n}\n","import { SafeStyle } from \"@angular/platform-browser/\";\r\n\r\nexport class DataRowView {\r\n \r\n id?: string;\r\n\r\n cells: DataCellView[] = [];\r\n\r\n // Css classes\r\n classes?: string;\r\n\r\n tag?: any;\r\n}\r\n\r\n\r\nexport class DataCellView {\r\n\r\n id?: string;\r\n\r\n contents?: string;\r\n\r\n /** gridview column bootstrap size (col-x) */\r\n size?: number;\r\n\r\n /** gridview column exact pixel width */\r\n width?: number;\r\n\r\n classes?: string;\r\n\r\n /** safe css-style for this cell. */\r\n safeStyle?: {};\r\n\r\n href?: string;\r\n\r\n image?: string;\r\n\r\n tag?: any;\r\n\r\n cellId?: string;\r\n\r\n selected?: boolean = false;\r\n\r\n autoCell?: boolean = false; \r\n\r\n alignment?: string;\r\n}","import { InputViewModel } from \"./inputViewModel\";\r\n\r\nexport class DisplayCountValueModel extends InputViewModel {\r\n\r\n // 0 represents \"All\" results.\r\n public maxCount: number = 0;\r\n\r\n constructor(defaultDisplayCount: number, protected allAsString: string) {\r\n super();\r\n this.value = defaultDisplayCount.toString();\r\n }\r\n\r\n get count() {\r\n if (this.displayAll)\r\n return this.maxCount;\r\n else\r\n return parseInt(this.value);\r\n }\r\n\r\n get displayAll() {\r\n return this.formattedValue == this.allAsString;\r\n }\r\n}","export * from './inputViewModel';\r\nexport * from './dataRowViewModel';\r\nexport * from './displayCountValueModel';","import { Positions } from \"../enums\";\r\n\r\nexport class InputViewModel {\r\n\r\n id: string;\r\n\r\n title: string;\r\n\r\n name: string;\r\n\r\n icon: string;\r\n\r\n isVaultIcon = false;\r\n\r\n helpImage: string;\r\n\r\n helpImageHeight: string;\r\n \r\n helpImageWidth: string;\r\n\r\n minWidth: string;\r\n\r\n width: string;\r\n\r\n height: string;\r\n\r\n iconWidth = '24px'; // Temporarily set\r\n\r\n iconHeight = '24px'; // Temporarily set\r\n\r\n iconImageSet = 'primary';\r\n\r\n helpIconWidth: string;\r\n\r\n helpIconHeight: string;\r\n\r\n enableHelp: boolean;\r\n\r\n enableExternalLink: boolean;\r\n\r\n externalLink: string;\r\n\r\n floatableLabel = false; \r\n\r\n disabled = false;\r\n\r\n readOnly = false;\r\n\r\n hideIfDisabled = false;\r\n\r\n immediate = false;\r\n\r\n highlight = false;\r\n\r\n value: any = null; \r\n\r\n formattedValue: any = null; \r\n\r\n tag: any = null;\r\n\r\n isValid = true;\r\n\r\n // Only for debugging.\r\n //val: any;\r\n //set value(val: any) {\r\n // this.val = val;\r\n //}\r\n\r\n //get value(): any {\r\n // return this.val;\r\n //}\r\n \r\n // Shows icon as a selected text. --> TODO: Make separate model for dropdowns\r\n showIconAsSelected? = false;\r\n\r\n // Shows the dropdown arrow below of control -> TODO: Make separate model for dropdowns\r\n arrawAtBottom = false;\r\n\r\n // Placeholder attribute only works with textBox and dropDown.\r\n placeholder = \"\";\r\n \r\n public labelPosition = Positions.Above;\r\n\r\n // Supported only for radio buttons.\r\n helpImagePosition = Positions.Above;\r\n\r\n // Stores only parameter width\r\n widthIfSelectedImage: string;\r\n\r\n errors: Array;\r\n\r\n public constructor();\r\n public constructor(text: string);\r\n public constructor(text?: string) {\r\n this.name = this.title = text;\r\n }\r\n\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { Validator, AbstractControl } from \"@angular/forms\";\r\n\r\n@Injectable()\r\nexport class SelectValidator implements Validator {\r\n \r\n // -------------------------------------------------------------------------\r\n // Public Properties\r\n // -------------------------------------------------------------------------\r\n\r\n options: {\r\n required?: boolean;\r\n minModelSize?: number;\r\n } = {};\r\n\r\n // -------------------------------------------------------------------------\r\n // Implemented from Validator\r\n // -------------------------------------------------------------------------\r\n\r\n validate(c: AbstractControl) {\r\n if (!this.options) return null;\r\n\r\n const errors: any = {};\r\n if (this.options.required && (!c.value || (c.value instanceof Array) && c.value.length === 0))\r\n errors.required = true;\r\n if (this.options.minModelSize && (!c.value || (c.value instanceof Array) && c.value.length < this.options.minModelSize))\r\n errors.minModelSize = true;\r\n\r\n return Object.keys(errors).length > 0 ? errors : null;\r\n }\r\n\r\n}","import { Injectable } from \"@angular/core\";\r\n\r\nexport let SizeUnit = {\r\n pixel: 'px',\r\n percentage: '%' \r\n}\r\n\r\nexport class SizeUtility {\r\n\r\n public static sizeAsNumber(str: string): number {\r\n\r\n if (!str)\r\n return 0;\r\n\r\n let sizeNoUnit: string = str;\r\n\r\n if (str.endsWith('px'))\r\n sizeNoUnit = str.replace('px', '');\r\n\r\n if (str.endsWith('%'))\r\n sizeNoUnit = str.replace('%', '');\r\n\r\n return Number(sizeNoUnit);\r\n\r\n }\r\n\r\n public static onlyUnit(str: string): string {\r\n\r\n if (!str)\r\n return SizeUnit.pixel;\r\n \r\n if (str.endsWith('px'))\r\n return SizeUnit.pixel;\r\n\r\n if (str.endsWith('%'))\r\n return SizeUnit.percentage;\r\n\r\n return SizeUnit.pixel;\r\n\r\n }\r\n\r\n public static fullSize(str: string): boolean {\r\n return str == '100%';\r\n }\r\n \r\n}","import { Component, Input, Inject, SimpleChanges, ChangeDetectorRef } from \"@angular/core\";\r\nimport { BaseComponent } from \"../../../pages/shared\";\r\n\r\n@Component({\r\n selector: 'inline-spinner',\r\n templateUrl: './inlineSpinnerComponent.html'\r\n})\r\nexport class InlineSpinnerComponent extends BaseComponent {\r\n\r\n @Input() text: string;\r\n\r\n @Input() classes: string;\r\n\r\n}","
\r\n \r\n {{text}} \r\n
","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { TabComponent } from \"./tabComponent\";\r\nimport { TabsContainerComponent } from \"./tabsContainerComponent\";\r\nimport { LinksContainerComponent } from \"./linksContainerComponent\";\r\nimport { ImageModule } from \"../image\";\r\n\r\nexport * from \"./tabsContainerComponent\";\r\nexport * from \"./tabComponent\";\r\nexport * from \"./linksContainerComponent\";\r\nexport * from \"./tabModel\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ImageModule\r\n ],\r\n declarations: [\r\n TabsContainerComponent,\r\n TabComponent,\r\n LinksContainerComponent\r\n ],\r\n exports: [\r\n TabsContainerComponent,\r\n TabComponent,\r\n LinksContainerComponent\r\n ]\r\n})\r\nexport class TabsModule {\r\n\r\n}","import { Inject, Component, ViewEncapsulation, Injectable, Input, OnInit, AfterViewInit, Host, ChangeDetectorRef, ElementRef, ViewChild, HostListener, ChangeDetectionStrategy } from '@angular/core';\r\nimport { TabComponent } from \"./tabComponent\";\r\nimport { TabsContainerComponent } from \"./tabsContainerComponent\";\r\nimport { BaseComponent } from \"../../../pages/shared/baseComponent\";\r\nimport { Output } from '@angular/core';\r\nimport { EventEmitter } from '@angular/core';\r\nimport { TabModel } from \"./tabModel\";\r\nimport { SimpleChanges } from '@angular/core';\r\nimport { Strings } from \"../../../pages/shared/providers/globalData\";\r\nimport { ImageSets } from '../../utils';\r\n\r\n@Component({\r\n selector: \"tab-links\",\r\n templateUrl: './linksContainerComponent.html'\r\n})\r\nexport class LinksContainerComponent extends BaseComponent {\r\n\r\n // Selected tab css\r\n private selectedTabStyle: string = \"\";\r\n\r\n @ViewChild('tabsList')\r\n private tabsListElement: ElementRef;\r\n\r\n public tabListWidth: number;\r\n\r\n public nativeTabContainer: any;\r\n\r\n public nativeTabsList: any;\r\n\r\n public nativeTabItems: any[];\r\n\r\n public displayScroller: boolean = false;\r\n\r\n public currentScrolledTab: number = 0;\r\n\r\n public imageSet: string;\r\n\r\n private oldLength: number = 0;\r\n\r\n private leftPos: number = 0;\r\n\r\n // Firefox will give a small decimal number larger than zero when calculating client bounding rects.\r\n private readonly MIN_DISTANCE = 0.1;\r\n\r\n @Output()\r\n public activeLink: EventEmitter = new EventEmitter();\r\n\r\n @Input()\r\n public position: string;\r\n\r\n @Input()\r\n public models: TabModel[] = [];\r\n\r\n public activeLinkId: string;\r\n\r\n @Input()\r\n public defaultSelectedTabId: string;\r\n\r\n public enableRightScroller = false;\r\n\r\n constructor(private cdr: ChangeDetectorRef) {\r\n super();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.nativeTabContainer = this.tabsListElement.nativeElement.parentElement;\r\n this.nativeTabsList = this.tabsListElement.nativeElement;\r\n this.nativeTabItems = this.nativeTabsList.getElementsByTagName(\"li\");\r\n\r\n // In a timeout so that things render first\r\n setTimeout(() => {\r\n this.setScrollableOptions();\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.imageSet = this.getImageSet(ImageSets.ConfiguratorTabNormal);\r\n this.setDefaultTabSelected();\r\n super.ngOnInit();\r\n\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n\r\n if (changes['models']) {\r\n // Must update the scrollbar on 'models' change.\r\n // Wait until contents rendered then set the scrollbar options.\r\n setTimeout(() => {\r\n this.setScrollableOptions();\r\n });\r\n\r\n }\r\n\r\n if (changes['defaultSelectedTabId']) {\r\n this.setDefaultTabSelected(); \r\n }\r\n\r\n }\r\n\r\n setDefaultTabSelected(): void {\r\n let results = this.models.filter(x => x.id == this.defaultSelectedTabId);\r\n this.activeLinkId = results.length > 0 ? results[0].id : this.models[0].id; \r\n\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event) {\r\n this.setScrollableOptions();\r\n }\r\n\r\n public setEnableRightScroller(): void {\r\n this.enableRightScroller = this.nativeTabItems[this.nativeTabItems.length - 1].getBoundingClientRect().right - this.nativeTabContainer.getBoundingClientRect().right > this.MIN_DISTANCE;\r\n this.cdr.markForCheck();\r\n }\r\n\r\n public widthOfTab(tabIndex: number): number {\r\n if (tabIndex >= 0 && tabIndex < this.nativeTabItems.length) {\r\n return this.nativeTabItems[tabIndex].offsetWidth;\r\n }\r\n return 0;\r\n }\r\n\r\n public leftScrollMargin(): number {\r\n return this.nativeTabContainer.getBoundingClientRect().left;\r\n }\r\n\r\n public onScrollLeft($event?, scrollOnTabRemove: boolean = false, tabsToScroll?: number): void {\r\n\r\n if (this.currentScrolledTab > 0) {\r\n this.currentScrolledTab--;\r\n let width: number = this.widthOfTab(this.currentScrolledTab);\r\n\r\n // Calculate the scroll distance. We don't want to scroll too far so we go \"outside\" the tab area.\r\n // Distance is either the tab's full width, or just enough to reach the start.\r\n\r\n let firstTabPosition: number = this.nativeTabItems[0].getBoundingClientRect().left - this.leftScrollMargin();\r\n let useFirstTabPosition: boolean = (width + firstTabPosition) > 0;\r\n\r\n let distance: number = width;\r\n\r\n if (useFirstTabPosition) {\r\n distance = Math.abs(firstTabPosition);\r\n this.currentScrolledTab = 0;\r\n }\r\n\r\n let distanceToScroll: number = distance;\r\n\r\n if (scrollOnTabRemove) \r\n distanceToScroll = distance * tabsToScroll;\r\n \r\n this.leftPos += distanceToScroll;\r\n this.nativeTabsList.style.left = this.leftPos + 'px';\r\n this.setEnableRightScroller();\r\n \r\n }\r\n }\r\n\r\n public onScrollRight($event): void {\r\n // Don't scroll if it will put us outside the tab area.\r\n if (this.enableRightScroller) {\r\n // Calculate the scroll distance. We don't want to scroll too far.\r\n // Distance is either the tab's full width, or just enough to reach the end.\r\n let lastTabDistance = this.nativeTabItems[this.nativeTabItems.length - 1].getBoundingClientRect().right - this.nativeTabContainer.getBoundingClientRect().right;\r\n let distance = this.widthOfTab(this.currentScrolledTab);\r\n let useLastTabDistance = lastTabDistance < distance;\r\n\r\n if (useLastTabDistance)\r\n distance = lastTabDistance;\r\n\r\n this.leftPos -= Math.min(distance, this.widthOfTab(this.currentScrolledTab));\r\n this.nativeTabsList.style.left = this.leftPos + 'px';\r\n this.setEnableRightScroller(); \r\n\r\n this.currentScrolledTab++;\r\n }\r\n }\r\n\r\n public setScrollableOptions(): void {\r\n\r\n if (this.nativeTabContainer == null || this.nativeTabsList == null)\r\n return;\r\n\r\n if (this.nativeTabItems.length < this.oldLength) {\r\n let tabsToScroll = this.oldLength - this.nativeTabItems.length;\r\n this.onScrollLeft(null, true, tabsToScroll);\r\n }\r\n \r\n this.oldLength = this.nativeTabItems.length;\r\n\r\n // If the container width is smaller than tab-links width then show the scrollable options.\r\n let old = this.displayScroller;\r\n\r\n let tabsWidth: number = this.calcTabsWidth();\r\n\r\n this.displayScroller = this.nativeTabContainer.offsetWidth < tabsWidth;\r\n this.cdr.markForCheck();\r\n\r\n // Reset position if we're going from displaying scroller to not displaying it (to make sure all items are shown)\r\n if (old && !this.displayScroller) {\r\n console.log(\"swapping\");\r\n this.nativeTabsList.style.left = \"\";\r\n }\r\n\r\n // Reset after toggling scroller \r\n if (old != this.displayScroller)\r\n this.currentScrolledTab = 0;\r\n\r\n this.setEnableRightScroller();\r\n }\r\n\r\n private calcTabsWidth(): number {\r\n let tabsWidth: number = 0;\r\n for(let item of this.nativeTabItems) {\r\n tabsWidth += item.clientWidth as number;\r\n }\r\n return tabsWidth;\r\n }\r\n\r\n /**\r\n * Selects the current tab component and deselects others.\r\n * @param event\r\n * @param model\r\n */\r\n selectTab(event: any, model: TabModel) {\r\n\r\n this.activeLinkId = model.id; \r\n this.activeLink.emit(model);\r\n // Stop default propagation. \r\n event.preventDefault();\r\n }\r\n \r\n}","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
","import { Component, Input, Host, Inject, ContentChild, ElementRef, ChangeDetectorRef, Output, EventEmitter } from \"@angular/core\";\r\nimport { TabModel } from \"./tabModel\";\r\n\r\n@Component({\r\n selector: \"tab\",\r\n templateUrl: './tabComponent.html'\r\n})\r\nexport class TabComponent {\r\n\r\n @Input()\r\n model: TabModel;\r\n \r\n constructor(private cdr: ChangeDetectorRef) {\r\n\r\n }\r\n \r\n}","
\r\n \r\n
\r\n","export class TabModel {\r\n id?: string;\r\n title?: string;\r\n icon?: string;\r\n disabled?: boolean = false;\r\n}","import { ContentChildren, Output, EventEmitter, Component, QueryList, Input, AfterContentInit, OnDestroy } from \"@angular/core\";\r\nimport { TabComponent } from \"./tabComponent\";\r\nimport { TabModel } from \"./tabModel\";\r\n\r\nconst TAB_STYLES = {\r\n Accordion: \"nav nav-tabs tab-color flex-column\",\r\n Tabs: \"nav nav-tabs tab-color\"\r\n}\r\n\r\nconst TAB_POSITION = {\r\n Top: 'top',\r\n Bottom: 'bottom'\r\n}\r\n\r\n@Component({\r\n selector: \"tabs\",\r\n templateUrl: './tabsContainerComponent.html'\r\n})\r\nexport class TabsContainerComponent {\r\n\r\n @Input()\r\n position: any = TAB_POSITION.Top;\r\n\r\n @Input()\r\n defaultSelectedTabId: string;\r\n\r\n\r\n // Contaienr css\r\n private tabsContainerCSS: string = TAB_STYLES.Tabs;\r\n\r\n private showRightScroll: boolean = false;\r\n\r\n private showLeftScroll: boolean = false;\r\n\r\n @Input()\r\n tabModels: TabModel[] = [];\r\n\r\n @Input()\r\n classes: string;\r\n \r\n @Output() public selected: EventEmitter = new EventEmitter();\r\n\r\n ngOnInit() {\r\n \r\n }\r\n\r\n}","
\r\n 0 && position == 'top'\" \r\n [models]=\"tabModels\" \r\n position=\"top\" \r\n (activeLink)=\"selected.emit($event)\" \r\n [defaultSelectedTabId]=\"defaultSelectedTabId\" >\r\n \r\n \r\n\r\n 0 && position == 'bottom'\" [models]=\"tabModels\" position=\"bottom\" (activeLink)=\"selected.emit($event)\" [defaultSelectedTabId]=\"defaultSelectedTabId\" >\r\n
","import { NgModule } from \"@angular/core\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { ImageModule } from \"../image\";\r\nimport { InputViewModel } from \"../shared\";\r\nimport { TextBoxComponent } from \"./textBoxComponent\";\r\nimport { HelpModule } from \"../help/index\";\r\nimport { IconModule } from \"../icon/index\";\r\nimport { PanelModule } from \"../panel/index\";\r\n\r\nexport * from \"./textBoxComponent\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ImageModule,\r\n HelpModule,\r\n IconModule,\r\n PanelModule\r\n ],\r\n declarations: [\r\n TextBoxComponent \r\n ],\r\n exports: [\r\n TextBoxComponent \r\n ]\r\n})\r\nexport class TextBoxModule {\r\n\r\n}","import { Component, Input, Output, EventEmitter, ChangeDetectorRef, SimpleChanges, ViewChild, ElementRef } from \"@angular/core\";\r\nimport { InputViewModel, BaseInputComponent } from \"../shared\";\r\n\r\n@Component({\r\n selector: 'text-box',\r\n templateUrl: './textBoxComponent.html'\r\n})\r\nexport class TextBoxComponent extends BaseInputComponent {\r\n \r\n @Input()\r\n public autofocus: false;\r\n\r\n /** Defines multiline input #rows. */\r\n @Input()\r\n public rows: number = 0;\r\n\r\n /** Defines multiline input #cols. */\r\n @Input()\r\n public cols: number = 20;\r\n\r\n @Input()\r\n public type: string = \"text\";\r\n\r\n @Input()\r\n public autocomplete: string = \"Off\";\r\n\r\n @Input()\r\n public stepValue: number = 0;\r\n\r\n @Output()\r\n public onEnterKey = new EventEmitter();\r\n\r\n @Input()\r\n public useFormatting = false;\r\n\r\n @Input()\r\n public integer = false;\r\n\r\n @Input()\r\n public hideLabel = false;\r\n\r\n getMoreStyles: string = \"\";\r\n \r\n @ViewChild('textbox')\r\n public textbox: ElementRef;\r\n \r\n constructor(public cd: ChangeDetectorRef) { super(); }\r\n\r\n processEvent($event, checkImmediate: boolean): void {\r\n\r\n if (this.type == 'email')\r\n this.view.isValid = this.textbox?.nativeElement?.validity?.valid == true;\r\n\r\n // Emit enter key\r\n if ($event instanceof KeyboardEvent && ($event as KeyboardEvent).keyCode == 13) {\r\n this.clearErrors();\r\n this.onEnterKey.emit($event);\r\n return;\r\n }\r\n\r\n // Remove highlighting now, otherwise it will wait for server response and cause flickering.\r\n this.view.highlight = false;\r\n\r\n if (checkImmediate && !this.immediate)\r\n return;\r\n\r\n if (this.notifyIfReadOnly(this.view, $event.target.value))\r\n return;\r\n\r\n if (this.notifyIfDisabled(this.view, $event.target.value))\r\n return;\r\n\r\n this.clearErrors();\r\n\r\n this.notifyValueChange(this.view, $event.target.value);\r\n }\r\n\r\n processKeyPress(event: KeyboardEvent) {\r\n\r\n if (this.type !== \"number\")\r\n return;\r\n\r\n let pattern = /(?:)/;\r\n\r\n // Bug fix in Firefox, input of letters in numerical textbox only clears on the first attempt.\r\n // No commas in integer inputs.\r\n if(this.integer)\r\n pattern = /[e\\+\\-0-9]/i;\r\n else\r\n pattern = /[e.,\\+\\-0-9]/i;\r\n \r\n if (!pattern.test(event.key)) {\r\n // invalid character numerical character.\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getMoreStyles = this.type === \"number\" && !this.stepValue ? \" hide-spinner\" : \"\";\r\n this.getMoreStyles += this.rows ? \" control-border-y\" : \" control-border-b\";\r\n }\r\n \r\n //ngOnChanges(changes: SimpleChanges): void {\r\n // if (changes['errors']) {\r\n // if (this._errors) {\r\n // console.log(\"Lenght is \", this._errors.size);\r\n // console.log(this._errors);\r\n // }\r\n\r\n // this.cd.detectChanges();\r\n // }\r\n //}\r\n\r\n public clearErrors() {\r\n // Clear any errors.\r\n this._errors.clear(); // = [];\r\n if (this.view)\r\n this.view.errors = [];\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.view.iconImageSet = this.imageSet;\r\n }\r\n\r\n transformValue(event) {\r\n event.target.value = this.view.formattedValue;\r\n }\r\n\r\n onFocus(event) {\r\n\r\n if (this.view.formattedValue && this.view.formattedValue != this.view.value) {\r\n event.target.value = this.view.value;\r\n }\r\n\r\n this.hasFocus = true;\r\n\r\n }\r\n\r\n onTextboxFocusOut(event) {\r\n\r\n this.hasFocus = false\r\n\r\n if (this.view.formattedValue && this.view.formattedValue != this.view.value) {\r\n this.transformValue(event);\r\n }\r\n \r\n this.onFocusOut.emit(event);\r\n }\r\n\r\n update() {\r\n\r\n if (!this.textbox)\r\n return;\r\n\r\n if (this.view.formattedValue)\r\n this.textbox.nativeElement.value = this.view.formattedValue;\r\n else this.textbox.nativeElement.value = this.view.value;\r\n\r\n }\r\n\r\n nativeElementValue(): string {\r\n return this.textbox.nativeElement.value;\r\n }\r\n\r\n}","
\r\n \r\n
\r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n \r\n
","import { NgModule } from \"@angular/core\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { ImageModule } from \"../image\";\r\nimport { InputViewModel } from \"../shared\";\r\nimport { TextBoxModule } from \"../textBox\";\r\nimport { DropdownModule } from \"../dropdown\";\r\nimport { HelpModule } from \"../help\";\r\nimport { IconModule } from \"../icon\";\r\nimport { TextboxRangeComponent } from \"./textboxRangeComponent\";\r\n\r\n\r\nexport * from \"./textboxRangeComponent\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ImageModule,\r\n HelpModule,\r\n IconModule, \r\n TextBoxModule,\r\n DropdownModule\r\n ],\r\n declarations: [\r\n TextboxRangeComponent \r\n ],\r\n exports: [\r\n TextboxRangeComponent \r\n ]\r\n})\r\nexport class TextBoxRangeModule {\r\n\r\n}","import { InputViewModel } from \"..\";\r\n\r\nexport class RangeInputViewModel extends InputViewModel {\r\n\r\n placeHolder1: string;\r\n placeHolder2: string; \r\n\r\n value1: string;\r\n value2: string;\r\n\r\n /**\r\n * Represents the selected operator.\r\n * If '<' or '>' operator is selected then must read the value from and properties. But if '=' operator selected then read from .\r\n */\r\n Operator: RangeOperator;\r\n\r\n}\r\n\r\nexport enum RangeOperator {\r\n\r\n Equal = '=',\r\n Greater = '>',\r\n GreaterOrEqual = '>=',\r\n Less = '<',\r\n LessOrEqual = '<=',\r\n Range = '<->'\r\n\r\n}","import { Component, Inject, Input, ChangeDetectorRef, SimpleChanges, ChangeDetectionStrategy } from \"@angular/core\";\r\nimport { InputViewModel, TextBoxComponent } from \"..\";\r\nimport { RangeInputViewModel, RangeOperator } from \"./rangeInputViewModel\";\r\n\r\n@Component({\r\n selector: 'textbox-range',\r\n templateUrl: './textboxRangeComponent.html',\r\n changeDetection: ChangeDetectionStrategy.Default\r\n})\r\nexport class TextboxRangeComponent extends TextBoxComponent {\r\n\r\n @Input()\r\n public view: RangeInputViewModel;\r\n\r\n @Input()\r\n public showInput2: boolean = false;\r\n \r\n public internalView: InputViewModel;\r\n public internalView1: InputViewModel;\r\n public internalView2: InputViewModel; \r\n public internalOperatorGroup: InputViewModel;\r\n\r\n @Input()\r\n public internalOperatorItems: Array = [];\r\n\r\n constructor(public cd: ChangeDetectorRef) {\r\n super(cd);\r\n }\r\n\r\n ngOnInit() {\r\n this.initInternalViews();\r\n }\r\n\r\n initInternalViews(): void {\r\n \r\n if (this.internalOperatorItems.length == 0)\r\n this.internalOperatorItems.push(\r\n this.getInputViewModel(RangeOperator.Equal, 'Equal', null, 'equal', true),\r\n this.getInputViewModel(RangeOperator.Greater, 'Greater', null, 'greater', true),\r\n this.getInputViewModel(RangeOperator.GreaterOrEqual, 'Greater or equal', null, 'greaterorequal', true),\r\n this.getInputViewModel(RangeOperator.Less, 'Less than', null, 'less', true),\r\n this.getInputViewModel(RangeOperator.LessOrEqual, 'Less than or equal', null, 'lessorequal', true),\r\n this.getInputViewModel(RangeOperator.Range, 'Between', null, 'between', true)\r\n );\r\n\r\n if (this.view.Operator == RangeOperator.Range) {\r\n this.internalView1 = this.getInputViewModel('textbox1', null, this.view.placeHolder1, null, null, this.view.value1);\r\n this.internalView2 = this.getInputViewModel('textbox2', null, this.view.placeHolder2, null, null, this.view.value2);\r\n this.internalView = null;\r\n }\r\n else {\r\n\r\n this.internalView = this.getInputViewModel('textbox', null, this.view.placeholder, null, null, this.view.value);\r\n this.internalView1 = null;\r\n this.internalView2 = null;\r\n }\r\n\r\n\r\n this.internalOperatorGroup = this.getInputViewModel('operators');\r\n this.internalOperatorGroup.showIconAsSelected = true;\r\n\r\n // Make the operator selected.\r\n this.internalOperatorGroup.value = this.view.Operator as RangeOperator;\r\n this.internalOperatorGroup.id = this.view.Operator as RangeOperator;\r\n \r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n\r\n if (!changes['view'].firstChange) { \r\n this.initInternalViews();\r\n }\r\n\r\n }\r\n\r\n getInputViewModel(id: string, title?: string, placeHolder?: string, icon?: string, showIconAsValue?: boolean, value?: string): InputViewModel {\r\n\r\n let view: InputViewModel = new InputViewModel();\r\n view.placeholder = placeHolder;\r\n view.id = id; \r\n view.title = title;\r\n view.icon = icon;\r\n view.showIconAsSelected = showIconAsValue;\r\n view.value = value;\r\n\r\n return view;\r\n }\r\n\r\n onOperatorChange(event): void {\r\n\r\n this.view.Operator = event.value;\r\n this.initInternalViews();\r\n \r\n }\r\n\r\n onSingleValueChange(event): void {\r\n this.view.value = event.value;\r\n }\r\n\r\n onValueChange1(event): void {\r\n this.view.value1 = event.value;\r\n }\r\n\r\n onValueChange2(event): void {\r\n this.view.value2 = event.value;\r\n }\r\n\r\n}","
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { Component, ViewEncapsulation, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'expand-collapse',\r\n encapsulation: ViewEncapsulation.None,\r\n templateUrl: './expandCollapseComponent.html',\r\n})\r\nexport class ExpandCollapseComponent {\r\n\r\n @Input() expanded: boolean;\r\n\r\n @Input() styles: string;\r\n\r\n}","
\r\n \r\n
","export * from './treeViewComponent';\r\nexport * from './treeEvents';\r\nexport * from \"./treeDataProvider\"\r\nexport * from './nodeData';","import { ImmutableObject } from \"../../immutableObject\";\r\nimport * as Immutable from \"immutable\";\r\n\r\n/**\r\n * Represents the node data for TreeView.\r\n * Note! Don't add any such type of data which gets change very frequently. That would affect the performance. e.g Selected, expanded. Its better to add them into\r\n * .\r\n */\r\nexport class NodeData extends ImmutableObject {\r\n\r\n public readonly ID = \"Id\";\r\n public readonly PARENT_ID = \"parentId\"; \r\n public readonly TITLE = \"title\";\r\n public readonly ICON_KEY = \"iconKey\";\r\n public readonly VAULT_ICON = \"vaultIcon\";\r\n public readonly ORDER = \"order\";\r\n public readonly CAN_ADD_CHILD = \"canAddChild\";\r\n public readonly STYLES = \"styles\";\r\n \r\n get id(): number { return this.getInternalValue(this.ID); }\r\n setId(id: number): this { return this.setInternalValue(this.ID, id); }\r\n\r\n get parentId(): number { return this.getInternalValue(this.PARENT_ID); }\r\n setParentId(parentId: number): this { return this.setInternalValue(this.PARENT_ID, parentId); }\r\n \r\n get title(): string { return this.getInternalValue(this.TITLE); }\r\n setTitle(title: string): this { return this.setInternalValue(this.TITLE, title); }\r\n\r\n get iconKey(): string { return this.getInternalValue(this.ICON_KEY); }\r\n setIconKey(iconKey: string): this { return this.setInternalValue(this.ICON_KEY, iconKey); }\r\n\r\n get vaultIcon(): boolean { return this.getInternalValue(this.VAULT_ICON); }\r\n setVaultIcon(vaultIcon: boolean): this { return this.setInternalValue(this.VAULT_ICON, vaultIcon); }\r\n\r\n get order(): number { return this.getInternalValue(this.ORDER); }\r\n setOrder(order: number): this { return this.setInternalValue(this.ORDER, order); }\r\n\r\n get canAddChild(): boolean { return this.getInternalValue(this.CAN_ADD_CHILD); }\r\n setCanAddChild(canAddChild: boolean): this { return this.setInternalValue(this.CAN_ADD_CHILD, canAddChild); }\r\n\r\n get styles(): string { return this.getInternalValue(this.STYLES); }\r\n setStyles(styles: string): this { return this.setInternalValue(this.STYLES, styles); }\r\n\r\n}","import * as Immutable from \"immutable\";\r\nimport { NodeData } from \"./nodeData\";\r\n\r\nexport abstract class TreeCacheService {\r\n\r\n // Stores object by Id.\r\n private objectById: Immutable.Map = Immutable.Map();\r\n\r\n /**\r\n * Adds node to the cache\r\n * @param node\r\n */\r\n public addToCache(node: NodeData): void {\r\n\r\n this.objectById = this.objectById.set(node.id, node);\r\n }\r\n\r\n /**\r\n * Removes the node from cache.\r\n * @param node\r\n */\r\n public removeFromCache(node: NodeData): void {\r\n\r\n this.objectById = this.objectById.remove(node.id);\r\n }\r\n\r\n /**\r\n * Returns the node data.\r\n * @param id\r\n */\r\n public get(id: number): NodeData { return this.objectById.get(+id); }\r\n\r\n /**\r\n * Returns 'true' if node exists in cache.\r\n * @param id\r\n */\r\n public has(id: number): boolean { return this.objectById.has(+id); }\r\n\r\n}","import * as Immutable from \"immutable\";\r\nimport { Subscription, Subject, BehaviorSubject } from \"rxjs\";\r\nimport { Observable } from \"rxjs\";\r\nimport { NodeData } from \"./nodeData\";\r\nimport { TreeCacheService } from \"./treeCacheService\";\r\nimport { NodeEvent, NodeActions, EventSource } from \"./treeEvents\";\r\nimport { TreeExpandBehaviour } from \"./treeExpandBehaviour\";\r\n\r\nexport abstract class TreeDataProvider extends TreeCacheService {\r\n\r\n // Subject to subscribe the tree nodes. \r\n private subject = new Subject();\r\n\r\n /**\r\n * Loads the root nodes.\r\n * @param callback\r\n */\r\n abstract loadRoots(callback: (children: NodeData[]) => void): void;\r\n\r\n\r\n /**\r\n * Loads the children.\r\n * @param parent\r\n * @param callback\r\n */\r\n abstract loadChildren(parent: NodeData, callback: (children: NodeData[]) => void): void;\r\n\r\n /**\r\n * Returns true if node is expandable and vice versa.\r\n * @param node\r\n */\r\n abstract isNodeExpandable(node: NodeData): boolean;\r\n\r\n /**\r\n * Activates the expand/collapse behvaior when making click on title.\r\n * @param node\r\n */\r\n enableExpandCollapseOnTitleClick(node: NodeData): boolean { return false; }\r\n\r\n /**\r\n * Shows/hides the expand collapse icon.\r\n */\r\n get showExpandCollapseIcon(): boolean { return true; }\r\n\r\n get highlightSelectedNode(): boolean { return false; }\r\n\r\n /**\r\n * Makes the tree node selected.\r\n * @param id\r\n */\r\n selectNode(event: NodeEvent): void {\r\n\r\n if (event.node) {\r\n this.defaultSelectedId = event.node.id;\r\n event.action = NodeActions.BeforeSelect;\r\n this.sendMessage(event);\r\n }\r\n\r\n }\r\n\r\n selectNodeById(id: number): void {\r\n\r\n this.defaultSelectedId = id;\r\n let args = { action: NodeActions.BeforeSelect, eventSource: EventSource.Unknown, node: this.get(id) };\r\n this.sendMessage(args);\r\n\r\n }\r\n\r\n /**\r\n * Expands the complete tree on load. But It could be expansive call Tree nodes are in big size.\r\n */\r\n expandOnLoad(): boolean { return false; }\r\n\r\n /**\r\n * Expands only one node at a time.\r\n */\r\n singleExpand(): boolean { return true; }\r\n\r\n menuSupport(node: NodeData): boolean { return false; }\r\n\r\n getMessage(): Observable {\r\n return this.subject.asObservable();\r\n }\r\n\r\n /**\r\n * Broadcasts the message to all subscribers\r\n * @param event\r\n */\r\n sendMessage(event: NodeEvent): void {\r\n this.subject.next(event);\r\n }\r\n \r\n /**\r\n * Releases all the resources.\r\n */\r\n onDestroy() { }\r\n\r\n /**\r\n * Creates the new tree node data model.\r\n * @param id\r\n * @param title\r\n * @param imageKey\r\n * @param parentId\r\n * @param children\r\n * @param tag\r\n */\r\n public createNode(id: number, title: string, imageKey: string, isVault: boolean, parentId: number, order?: number, canAddChild?: boolean, styles?: string): NodeData {\r\n\r\n let data: NodeData;\r\n if (this.has(id)) {\r\n\r\n data = this.get(id);\r\n\r\n // Don't need to compare the complete object because of different children ids during add/remove actions. \r\n // We don't want to refresh the parent on add/remove actions. \r\n if (JSON.stringify({ title: data.title, id: data.id, parentId: data.parentId, order: data.order, canAddChild: data.canAddChild }) == JSON.stringify({ title: title, id: id, parentId: parentId, order: data.order, canAddChild: canAddChild })) \r\n return data;\r\n \r\n }\r\n \r\n data = new NodeData();\r\n data = data.setId(id); \r\n data = data.setId(id);\r\n data = data.setTitle(title);\r\n data = data.setIconKey(imageKey);\r\n data = data.setVaultIcon(isVault);\r\n data = data.setParentId(parentId);\r\n data = data.setOrder(order);\r\n data = data.setCanAddChild(canAddChild);\r\n data = data.setStyles(styles);\r\n\r\n // Add into cache.\r\n this.addToCache(data);\r\n return data;\r\n }\r\n\r\n /**\r\n * Calculates the distance from root.\r\n * @param id\r\n * @param nodeDepth\r\n */\r\n public distanceFromRoot(id: number, nodeDepth: number = 1): number {\r\n \r\n if (!this.has(id))\r\n return nodeDepth;\r\n\r\n let node: NodeData = this.get(id);\r\n\r\n // Before increment, return the node depth If no parent exits.\r\n if (!node.parentId)\r\n return nodeDepth;\r\n \r\n return this.distanceFromRoot(node.parentId, ++nodeDepth);\r\n }\r\n\r\n /**\r\n * Default selected node. It works only when the new node(s) are created.\r\n */\r\n public defaultSelectedId: number;\r\n\r\n /**\r\n * Applies the styles e.g highlight the button on click.\r\n * @param nodeAction\r\n */\r\n public applyButtonStyle(node: NodeData, nodeAction: string, eventSource?: string): void {\r\n this.sendMessage({ node: node, action: nodeAction, eventSource: eventSource }); \r\n }\r\n\r\n\r\n /**\r\n * No expand = -1\r\n * First level expand = \r\n * \r\n * */\r\n public get expandBehaviour(): number { return TreeExpandBehaviour.ExpandNoInitial; }\r\n\r\n /**\r\n * Node path to selected node.\r\n */\r\n public selectedNodePath: number[];\r\n\r\n public belongsToSelectedPath(nodeId: number): boolean {\r\n\r\n if (!this.selectedNodePath)\r\n return false;\r\n\r\n return this.selectedNodePath.includes(nodeId);\r\n\r\n }\r\n}","import { NodeData } from './nodeData';\r\n\r\nexport let NodeActions = {\r\n\r\n // Action when select is made.\r\n BeforeSelect: 'beforeSelect', \r\n\r\n // Action when select is made.\r\n AfterSelect: 'afterSelect', \r\n\r\n // Action for composite structure length changed.\r\n LengthChanged: 'lengthChanged', \r\n\r\n // Collapse expand action\r\n CollapseSibling: 'collapseSibling', \r\n\r\n // Action to refresh the whole tree.\r\n TreeRefresh: 'refresh', \r\n\r\n // Action core data is changed e.g Title.\r\n DataChanged: 'dataChanged',\r\n\r\n // Action - If menu is selected\r\n MenuClicked: 'menuClicked',\r\n\r\n // Add action\r\n AddClicked: 'addClicked',\r\n\r\n // Action - Deactivates the menu.\r\n DeactivateMenu: 'deactivateMenu',\r\n\r\n // Action - Deactivates the menu.\r\n ActivateMenu: 'activateMenu',\r\n\r\n // Action - Add\r\n ActivateAddMenu: 'activateAddMenu',\r\n\r\n DeactivateAddMenu: 'deactivateAddMenu',\r\n\r\n DeactivateAny: 'deactivateAny',\r\n\r\n None: 'none'\r\n}\r\n\r\nexport let EventSource = {\r\n\r\n MenuClick: 'menuClicked',\r\n\r\n NodeSelected: 'nodeSelected',\r\n\r\n AddClick: 'addClicked',\r\n\r\n Unknown: 'unknown'\r\n\r\n}\r\n\r\nexport class NodeEvent {\r\n node: NodeData;\r\n action: string = NodeActions.None;\r\n eventSource: string = EventSource.Unknown;\r\n}","export enum TreeExpandBehaviour {\r\n\r\n ExpandNoInitial = 0,\r\n ExpandFirstLevel = 1,\r\n ExpandSecondLevel = 2,\r\n ExpandAll = 3\r\n\r\n}","import { SimpleChanges, Output, Component, ViewEncapsulation, Injectable, ElementRef, Input, Inject, OnChanges, OnInit, ChangeDetectorRef, ChangeDetectionStrategy } from '@angular/core';\r\nimport { Subscription } from \"rxjs\";\r\n\r\nimport { NodeEvent, TreeDataProvider, NodeData } from '../index';\r\nimport { isLeftButtonClicked } from \"../../utils/eventUtils\";\r\nimport { TreeViewEventService } from './treeViewEventService';\r\nimport { NodeActions, EventSource } from \"./treeEvents\";\r\nimport { TreeExpandBehaviour } from './treeExpandBehaviour';\r\n\r\n@Component({\r\n selector: 'tree-node',\r\n encapsulation: ViewEncapsulation.None,\r\n templateUrl: './treeNodeComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class TreeNodeComponent {\r\n\r\n @Input() public node: NodeData;\r\n @Input() public selected: boolean = false;\r\n @Input() public expanded: boolean = false;\r\n @Input() public dataProvider: TreeDataProvider;\r\n\r\n @Input() public imageSet = \"primary\";\r\n\r\n public enableExpandCollapseOnTitle: boolean = false;\r\n public expandOnLoad: boolean = false;\r\n public expandable: boolean = false;\r\n public depth: number = 1;\r\n public children: NodeData[] = [];\r\n public iconMoreStyles: string = \"\";\r\n public extraStyles: string = \"\";\r\n\r\n // Should support menu ?\r\n public menuSupport: boolean = false;\r\n\r\n // Is menu activated. \r\n public menuActive: boolean = false;\r\n\r\n // Is menu activated. \r\n public addActive: boolean = false;\r\n\r\n public messageSubscription: Subscription;\r\n\r\n public indentationSpanCount: number;\r\n\r\n public showExpandCollapseIcon: boolean = true;\r\n\r\n public highlightSelected: boolean = false;\r\n\r\n public constructor(\r\n @Inject(TreeViewEventService) public treeViewEventService: TreeViewEventService,\r\n private cd: ChangeDetectorRef\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n // Set the settings.\r\n this.updateSettings();\r\n this.setIndentation();\r\n this.extraStyles = this.node.styles;\r\n this.applyDefaultExpansion();\r\n\r\n if (this.dataProvider.defaultSelectedId == this.node.id) {\r\n\r\n this.dataProvider.sendMessage({ action: NodeActions.DeactivateAny });\r\n this.selected = true;\r\n \r\n }\r\n\r\n // Subscribe the ui changes.\r\n this.messageSubscription = this.dataProvider.getMessage().subscribe((event: NodeEvent) => {\r\n\r\n let localNodeId = this.node.id;\r\n switch (event.action) {\r\n // Tree refresh message\r\n case NodeActions.TreeRefresh:\r\n {\r\n this.showChildren();\r\n this.setExpandableStatus();\r\n this.menuSupport = this.dataProvider.menuSupport(event.node);\r\n this.cd.markForCheck(); // Mark the path to refresh it.\r\n return;\r\n }\r\n\r\n // If the selection is made forcefully through service.\r\n case NodeActions.BeforeSelect:\r\n {\r\n // Turn the previous selected state 'false' except the current active node.\r\n if (event.node.id == this.node.id && !this.selected) {\r\n // Make the tree node selected.\r\n this.selectNode(event);\r\n this.cd.markForCheck();\r\n } \r\n\r\n break;\r\n }\r\n\r\n // Triggered internally to remove the previous selected state.\r\n case NodeActions.AfterSelect:\r\n {\r\n // Turn the previous selected state 'false' except the current active node.\r\n if (event.node.id != this.node.id ) {\r\n this.selected = false;\r\n this.cd.markForCheck();\r\n }\r\n\r\n break;\r\n }\r\n\r\n case NodeActions.DataChanged:\r\n {\r\n if (event.node.id == this.node.id) {\r\n this.node = event.node;\r\n this.showChildren();\r\n this.cd.markForCheck();\r\n }\r\n\r\n break;\r\n }\r\n\r\n // Collapse all siblings except current one.\r\n case NodeActions.CollapseSibling:\r\n {\r\n if (this.node.id != event.node.id && this.belongsToSameParent(event.node.id, this.node.id)) {\r\n this.expanded = false;\r\n this.cd.markForCheck();\r\n }\r\n\r\n break;\r\n }\r\n\r\n case NodeActions.MenuClicked:\r\n {\r\n // De-activate the previous selection.\r\n if (this.node.id != event.node.id) {\r\n\r\n this.menuActive = false;\r\n this.cd.markForCheck();\r\n }\r\n\r\n break;\r\n }\r\n\r\n case NodeActions.DeactivateMenu: \r\n {\r\n // Resets the menu to its default state\r\n if (this.menuActive) {\r\n\r\n this.menuActive = false;\r\n this.cd.markForCheck();\r\n }\r\n\r\n break;\r\n }\r\n\r\n case NodeActions.ActivateMenu:\r\n {\r\n // Activate the menu \r\n this.menuActive = this.node.id == event.node.id;\r\n this.addActive = false; \r\n this.cd.markForCheck();\r\n break;\r\n }\r\n\r\n case NodeActions.ActivateAddMenu:\r\n {\r\n // Activate the menu \r\n this.menuActive = false;\r\n this.addActive = this.node.id == event.node.id;\r\n this.cd.markForCheck();\r\n\r\n break;\r\n }\r\n\r\n case NodeActions.DeactivateAddMenu:\r\n {\r\n // Activate the menu\r\n if (this.node.id == event.node.id) {\r\n this.addActive = false;\r\n this.cd.markForCheck();\r\n }\r\n \r\n break;\r\n }\r\n\r\n case NodeActions.DeactivateAny:\r\n {\r\n // Deactivate the menu \r\n this.addActive = false;\r\n this.menuActive = false;\r\n this.selected = false;\r\n this.cd.markForCheck();\r\n\r\n break;\r\n }\r\n\r\n }\r\n });\r\n\r\n // Expand the node on load.\r\n if (this.expandOnLoad)\r\n this.expanded = true;\r\n\r\n this.showChildren();\r\n this.setExpandableStatus();\r\n }\r\n\r\n belongsToSameParent(targetParentId: number, currentNodeId: number): boolean {\r\n\r\n if (targetParentId == currentNodeId)\r\n return true;\r\n\r\n let parentNode: NodeData = this.dataProvider.get(currentNodeId);\r\n\r\n if (parentNode) \r\n return this.belongsToSameParent(targetParentId, parentNode.parentId);\r\n \r\n\r\n return false;\r\n }\r\n\r\n setIndentation(): void {\r\n\r\n // Root indentation\r\n if (!this.node.parentId) {\r\n this.indentationSpanCount = null;\r\n return;\r\n }\r\n\r\n // Child node indentation is multiplied with the node depth level.\r\n this.indentationSpanCount = this.depth - 1;\r\n\r\n }\r\n\r\n onNodeClick(e: MouseEvent): void {\r\n if (isLeftButtonClicked(e)) {\r\n\r\n if (this.enableExpandCollapseOnTitle)\r\n this.onExpandCollapseClick(e);\r\n\r\n let event = { action: NodeActions.AfterSelect, eventSource: EventSource.NodeSelected, node: this.node };\r\n this.selectNode(event);\r\n }\r\n }\r\n\r\n /**\r\n * Execute the select action.\r\n */\r\n public selectNode(event: NodeEvent): void {\r\n this.selected = true;\r\n\r\n event.action = NodeActions.AfterSelect;\r\n this.dataProvider.sendMessage(event);\r\n\r\n // Notify to component.\r\n this.treeViewEventService.nodeSelect$.next(event);\r\n }\r\n\r\n /**\r\n * Fires when making expand/collapse click.\r\n * @param e\r\n */\r\n public onExpandCollapseClick(e: MouseEvent): void {\r\n\r\n this.expanded = !this.expanded;\r\n\r\n this.showChildren();\r\n\r\n if (!this.expanded)\r\n this.treeViewEventService.nodeCollapse$.next({ node: this.node });\r\n\r\n else this.treeViewEventService.nodeExpand$.next({ node: this.node });\r\n\r\n if (this.dataProvider.singleExpand) {\r\n let event = { action: NodeActions.CollapseSibling, node: this.node };\r\n this.dataProvider.sendMessage(event);\r\n }\r\n\r\n }\r\n\r\n public onMenuClick(): void {\r\n \r\n let event = { action: NodeActions.MenuClicked, eventSource: EventSource.MenuClick, node: this.node };\r\n this.treeViewEventService.nodeMenuClick$.next(event); \r\n this.dataProvider.sendMessage(event); \r\n }\r\n\r\n public onAddClick(): void {\r\n\r\n let event = { action: NodeActions.AddClicked, eventSource: EventSource.AddClick, node: this.node };\r\n this.treeViewEventService.nodeAddClick$.next(event);\r\n this.dataProvider.sendMessage(event); \r\n\r\n }\r\n\r\n /**\r\n * Shows the children\r\n */\r\n public showChildren(): void {\r\n\r\n if (!this.expanded) {\r\n return;\r\n }\r\n \r\n this.dataProvider.loadChildren(this.node, (children: NodeData[]) => {\r\n this.children = children;\r\n });\r\n }\r\n\r\n /**\r\n * Sets the expandable status.\r\n */\r\n setExpandableStatus(): void {\r\n this.expandable = this.dataProvider.isNodeExpandable(this.node);\r\n }\r\n\r\n /**\r\n * Updates the settings.\r\n */\r\n updateSettings(): void {\r\n\r\n this.depth = this.dataProvider.distanceFromRoot(this.node.id);\r\n this.enableExpandCollapseOnTitle = this.dataProvider.enableExpandCollapseOnTitleClick(this.node);\r\n this.expandOnLoad = this.dataProvider.expandOnLoad();\r\n this.menuSupport = this.dataProvider.menuSupport(this.node);\r\n this.showExpandCollapseIcon = this.dataProvider.showExpandCollapseIcon;\r\n this.highlightSelected = this.dataProvider.highlightSelectedNode;\r\n }\r\n\r\n applyDefaultExpansion(): void {\r\n\r\n switch (this.dataProvider.expandBehaviour) {\r\n\r\n case TreeExpandBehaviour.ExpandNoInitial:\r\n if (this.dataProvider.belongsToSelectedPath(this.node.id))\r\n this.onExpandCollapseClick(null);\r\n break;\r\n\r\n case TreeExpandBehaviour.ExpandAll: \r\n this.expanded = true;\r\n break;\r\n\r\n case TreeExpandBehaviour.ExpandFirstLevel:\r\n if (this.dataProvider.belongsToSelectedPath(this.node.id) || this.depth <= 1 && !this.expanded)\r\n this.onExpandCollapseClick(null);\r\n\r\n break;\r\n\r\n case TreeExpandBehaviour.ExpandSecondLevel:\r\n if (this.dataProvider.belongsToSelectedPath(this.node.id) || this.depth <= 2 && !this.expanded)\r\n this.onExpandCollapseClick(null);\r\n\r\n break;\r\n } \r\n }\r\n\r\n ngOnDestroy() {\r\n\r\n if (this.messageSubscription)\r\n this.messageSubscription.unsubscribe();\r\n }\r\n}","
  • \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{node.title}}\r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
  • \r\n 0\">\r\n \r\n\r\n","import { Inject, Component, Injectable, Input, OnInit, EventEmitter, Output, ElementRef, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core';\r\nimport { Subscription } from \"rxjs\";\r\n\r\nimport { NodeData } from './nodeData';\r\nimport { TreeDataProvider } from './treeDataProvider';\r\nimport { TreeViewEventService } from './treeViewEventService';\r\nimport { TreeNodeComponent } from \"./treeNodeComponent\";\r\nimport { NodeEvent, NodeActions } from \"./treeEvents\";\r\n\r\n@Component({\r\n selector: 'tree-view',\r\n templateUrl: './treeViewComponent.html',\r\n providers: [TreeViewEventService],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class TreeViewComponent implements OnInit {\r\n\r\n @Input() public treeDataProvider: TreeDataProvider;\r\n @Input() public imageSet = \"primary\";\r\n \r\n\r\n @Output() public nodeSelected: EventEmitter = new EventEmitter();\r\n @Output() public menuClick: EventEmitter = new EventEmitter();\r\n @Output() public addClick: EventEmitter = new EventEmitter();\r\n @Output() public nodeExpanded: EventEmitter = new EventEmitter();\r\n\r\n public messageSubscription: Subscription;\r\n\r\n roots: NodeData[] = [];\r\n\r\n public constructor(\r\n @Inject(TreeViewEventService) public treeViewEventService: TreeViewEventService,\r\n private cd: ChangeDetectorRef\r\n ) {\r\n }\r\n\r\n public ngOnInit(): void {\r\n\r\n this.treeViewEventService.nodeSelect$.subscribe((e: NodeEvent) => {\r\n this.nodeSelected.emit(e);\r\n });\r\n\r\n this.treeViewEventService.nodeExpand$.subscribe((e: NodeEvent) => {\r\n\r\n if (+this.treeDataProvider.singleExpand)\r\n this.collapseAllSiblings(e.node);\r\n\r\n this.nodeExpanded.emit(e);\r\n\r\n });\r\n\r\n this.treeViewEventService.nodeCollapse$.subscribe((e: NodeEvent) => {\r\n\r\n this.nodeExpanded.emit(e);\r\n\r\n });\r\n\r\n this.treeViewEventService.nodeMenuClick$.subscribe((e: NodeEvent) => {\r\n this.menuClick.emit(e);\r\n });\r\n\r\n this.treeViewEventService.nodeAddClick$.subscribe((e: NodeEvent) => {\r\n this.addClick.emit(e);\r\n });\r\n\r\n this.messageSubscription = this.treeDataProvider.getMessage().subscribe((event: NodeEvent) => {\r\n\r\n switch (event.action) {\r\n\r\n case NodeActions.TreeRefresh:\r\n {\r\n this.init();\r\n break;\r\n }\r\n }\r\n\r\n });\r\n\r\n this.init();\r\n }\r\n\r\n init(): void {\r\n // Load all roots first time on load.\r\n this.treeDataProvider.loadRoots((roots: NodeData[]) => {\r\n this.roots = roots;\r\n this.cd.markForCheck(); // Mark the path checked\r\n });\r\n\r\n }\r\n\r\n collapseAllSiblings(node: NodeData): void {\r\n let siblings: NodeData[];\r\n\r\n //if (node.isRoot)\r\n // siblings = this.roots;\r\n\r\n //else siblings = node.parent.children;\r\n\r\n //siblings.forEach((sibling) => { if (sibling !== node) sibling.collapse() }); \r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.messageSubscription)\r\n this.messageSubscription.unsubscribe();\r\n }\r\n}","
    0\" class=\"treeview\"> \r\n
      \r\n \r\n
    \r\n
    ","import { Subject } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport { IocIgnore } from \"../../ioc/iocignoredecorator\";\r\nimport { NodeEvent } from './treeEvents';\r\n\r\n@Injectable()\r\nexport class TreeViewEventService { \r\n public nodeExpand$: Subject = new Subject();\r\n public nodeCollapse$: Subject = new Subject();\r\n public nodeSelect$: Subject = new Subject();\r\n public nodeMenuClick$: Subject = new Subject();\r\n public nodeAddClick$: Subject = new Subject();\r\n}","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { ImageModule } from '../image';\r\nimport { TreeViewSimpleComponent } from './treeViewSimpleComponent';\r\nimport { TreeNodeSimpleComponent } from './treeNodeSimpleComponent';\r\n\r\nexport * from './treeViewSimpleComponent';\r\nexport * from './treeNodeSimpleComponent';\r\n\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ImageModule \r\n ],\r\n declarations: [\r\n TreeViewSimpleComponent,\r\n TreeNodeSimpleComponent\r\n ],\r\n exports: [\r\n TreeViewSimpleComponent,\r\n TreeNodeSimpleComponent\r\n ]\r\n})\r\nexport class TreeViewSimpleModule {\r\n\r\n}","export class TreeNode {\r\n\r\n id: string;\r\n\r\n title: string;\r\n\r\n icon: string;\r\n\r\n isVault: boolean;\r\n\r\n children: Array = [];\r\n\r\n level: number = 0;\r\n\r\n}","import { SimpleChanges, Output, Component, ViewEncapsulation, Injectable, ElementRef, Input, Inject, OnChanges, OnInit, ChangeDetectorRef, ChangeDetectionStrategy, EventEmitter, ViewContainerRef } from '@angular/core';\r\nimport { TreeNode } from './treeNode';\r\nimport { TreeViewSimpleComponent } from './treeViewSimpleComponent';\r\n\r\n@Component({\r\n selector: 'tree-node-simple',\r\n encapsulation: ViewEncapsulation.None,\r\n templateUrl: './treeNodeSimpleComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class TreeNodeSimpleComponent {\r\n\r\n @Input() public node: TreeNode;\r\n @Input() public selected: boolean = false;\r\n @Input() public activeNodeId: string;\r\n\r\n @Input() public imageSet = \"primary\";\r\n \r\n public highlightSelected: boolean = false;\r\n public indentation: any;\r\n public actionIcon: string;\r\n private _parent: TreeViewSimpleComponent;\r\n\r\n public constructor( \r\n private cd: ChangeDetectorRef, private viewContainerRef: ViewContainerRef\r\n ) {\r\n\r\n const _injector = this.viewContainerRef.parentInjector;\r\n this._parent = _injector.get(TreeViewSimpleComponent);\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.indentation = Array.apply(null, Array(this.node.level));\r\n this.actionIcon = this._parent.actionIcon;\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n \r\n if (changes[\"activeNodeId\"]) {\r\n this.highlightSelected = this.node.id == this.activeNodeId;\r\n }\r\n }\r\n\r\n onNodeClick(e: MouseEvent): void {\r\n\r\n if (this._parent) {\r\n let event = { source: this, node: this.node };\r\n this._parent.notfiyToAllListeners(event);\r\n }\r\n \r\n }\r\n\r\n onActionIconClicked(e: MouseEvent): void {\r\n\r\n if (this._parent) {\r\n let event = { source: this, node: this.node };\r\n this._parent.actionIconClicked.emit(event);\r\n }\r\n\r\n } \r\n\r\n}","\r\n
  • \r\n
    \r\n\r\n
    \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{node.title}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n
  • \r\n \r\n\r\n
    ","import { Inject, Component, Injectable, Input, OnInit, EventEmitter, Output, ElementRef, ChangeDetectionStrategy, ChangeDetectorRef, SimpleChanges } from '@angular/core';\r\nimport { TreeNode } from './treeNode';\r\n\r\n@Component({\r\n selector: 'tree-view-simple',\r\n templateUrl: './treeViewSimpleComponent.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class TreeViewSimpleComponent implements OnInit {\r\n \r\n @Input() public imageSet = \"primary\";\r\n @Input() public actionIcon;\r\n @Input() public roots: Array = [];\r\n @Input() public activeNodeId: string;\r\n\r\n @Output() public selected: EventEmitter = new EventEmitter();\r\n\r\n @Output() public actionIconClicked: EventEmitter = new EventEmitter();\r\n\r\n public constructor( \r\n private cd: ChangeDetectorRef\r\n ) {\r\n }\r\n\r\n public ngOnInit(): void {\r\n\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n // Only for debugging\r\n if (changes[\"activeNodeId\"]) {\r\n\r\n }\r\n }\r\n\r\n notfiyToAllListeners(event: any) {\r\n this.selected.emit(event);\r\n }\r\n\r\n}","
    0\" class=\"treeview\"> \r\n
      \r\n \r\n
    \r\n
    ","import { ElementRef, Injectable, NgZone } from '@angular/core';\r\n\r\nconst getWindow = (): Window => window;\r\n\r\n@Injectable()\r\nexport class WindowRefService {\r\n\r\n private readonly windowObject: Window;\r\n\r\n public constructor() {\r\n this.windowObject = getWindow();\r\n }\r\n\r\n public get window(): Window {\r\n return this.windowObject;\r\n }\r\n\r\n public get document(): Document {\r\n return this.window.document;\r\n }\r\n\r\n public get localStore(): Storage {\r\n return this.window.localStorage;\r\n }\r\n\r\n public get sessionStorage(): Storage {\r\n return this.window.sessionStorage;\r\n }\r\n\r\n}","/**\r\n * Copied from the C# class ErrorCodes.\r\n */\r\nexport class ErrorCodes {\r\n // 1xxx - Startup errors\r\n // Such as DB errors, directory/web settings or some other important resource not found\r\n // Any other errors which are important for the running of the application\r\n\r\n\r\n // 2xxx - Authentication/Authorization errors\r\n // Login session expired, User account has changed, force logout, access denied etc\r\n\r\n public static readonly AUTHENTICATION_EXPIRED = 2000;\r\n public static readonly WORK_SESSION_EXPIRED = 2001;\r\n public static readonly ACCESS_DENIED = 2002; // User was not authorized to perform the operation or access the resource\r\n public static readonly ACTIVE_USERS_COUNT_EXCEEDED = 2003;\r\n\r\n // 3xxx - ConfigurationAuthorization errors, Configuration errors\r\n // Configuration not found or Configurator session not found\r\n public static readonly CONFIGURATION_AUTHORIZATION_ERROR = 3000;\r\n public static readonly CONFIGURATOR_SESSION_NOT_FOUND = 3001;\r\n public static readonly CONFIGURATOR_SESSION_ACCESS_DENIED = 3002;\r\n public static readonly CONFIGURATION_EXPIRED = 3003;\r\n public static readonly CONFIGURATOR_SESSION_CLOSED = 3004;\r\n public static readonly CONFIGURATION_NOT_FOUND = 3005;\r\n public static readonly CONFIGURATOR_SESSION_OPERATION_NOT_ALLOWED = 3006;\r\n public static readonly CONFIGURATOR_SESSION_NOT_INITIALIZED = 3007;\r\n\r\n // 5xxx Search page related errors, Search session authorization\r\n public static readonly SEARCH_SESSION_NOT_FOUND = 5000;\r\n public static readonly SEARCH_SESSION_ACCESS_DENIED = 5001;\r\n\r\n // 6xxx Comparison page related errors\r\n public static readonly COMPARISON_SESSION_ACCESS_DENIED = 6000;\r\n\r\n // 4xxx - Unexpected errors\r\n // Invalid json, missing arguments etc. \r\n\r\n public static readonly UNHANDLED_EXCEPTION = 4000;\r\n\r\n // Client version incompatible with server\r\n public static readonly CLIENT_VERSION_INCOMPATIBLE = 4001;\r\n\r\n public static isErrorCode(code: number) {\r\n\r\n let errorCodes = [ErrorCodes.ACCESS_DENIED, ErrorCodes.ACTIVE_USERS_COUNT_EXCEEDED];\r\n return errorCodes.indexOf(code) > -1;\r\n }\r\n\r\n public static isSuppressNotification(code: number) {\r\n let codes = [ErrorCodes.CLIENT_VERSION_INCOMPATIBLE];\r\n return codes.indexOf(code) > -1;\r\n } \r\n\r\n public static isInformationCode(code: number) {\r\n\r\n let infoCodes = [ErrorCodes.AUTHENTICATION_EXPIRED, ErrorCodes.CLIENT_VERSION_INCOMPATIBLE];\r\n return infoCodes.indexOf(code) > -1;\r\n }\r\n\r\n public static isWarningCode(code: number) {\r\n\r\n let warningCodes = [ErrorCodes.WORK_SESSION_EXPIRED, ErrorCodes.SEARCH_SESSION_NOT_FOUND];\r\n return warningCodes.indexOf(code) > -1;\r\n }\r\n\r\n public static isConfiguratorErrorCode(code: number) {\r\n let configurationCodes = [ErrorCodes.CONFIGURATION_AUTHORIZATION_ERROR, ErrorCodes.CONFIGURATION_NOT_FOUND, ErrorCodes.CONFIGURATOR_SESSION_NOT_FOUND, ErrorCodes.CONFIGURATOR_SESSION_ACCESS_DENIED, ErrorCodes.CONFIGURATION_EXPIRED, ErrorCodes.CONFIGURATOR_SESSION_CLOSED];\r\n return configurationCodes.indexOf(code) > -1;\r\n }\r\n}","import { SimpleObject } from \"./simpleObject\";\r\n\r\nexport class Exception extends SimpleObject {\r\n constructor(propertyMap?: any) {\r\n super(propertyMap);\r\n }\r\n\r\n public readonly MESSAGE = \"message\";\r\n public readonly DETAIL = \"detail\";\r\n public readonly URL = \"url\";\r\n public readonly STACK_TRACE = \"stackTrace\"; \r\n public readonly ORIGINAL_ERROR = \"originalError\";\r\n\r\n public get message(): string {\r\n return this.getInternalValue(this.MESSAGE);\r\n }\r\n\r\n public set message(message: string) {\r\n this.setInternalValue(this.MESSAGE, message);\r\n }\r\n\r\n public get detail(): string {\r\n return this.getInternalValue(this.DETAIL);\r\n }\r\n\r\n public set detail(detail: string) {\r\n this.setInternalValue(this.DETAIL, detail);\r\n }\r\n\r\n public get url(): string {\r\n return this.getInternalValue(this.URL);\r\n }\r\n\r\n public set url(url: string) {\r\n this.setInternalValue(this.URL, url);\r\n }\r\n\r\n public get stackTrace(): string {\r\n return this.getInternalValue(this.STACK_TRACE);\r\n }\r\n\r\n public set stackTrace(stackTrace: string) {\r\n this.setInternalValue(this.STACK_TRACE, stackTrace);\r\n } \r\n\r\n public get originalError(): any {\r\n return this.getInternalValue(this.ORIGINAL_ERROR);\r\n }\r\n\r\n public set originalError(originalError: any) {\r\n this.setInternalValue(this.ORIGINAL_ERROR, originalError);\r\n } \r\n}","import { HttpErrorResponse } from \"@angular/common/http\";\r\n\r\nimport { SimpleObject } from \"./simpleObject\";\r\nimport { Exception } from \"./exception\";\r\n\r\nexport class HttpException extends SimpleObject {\r\n constructor(propertyMap?: any) {\r\n super(propertyMap);\r\n }\r\n\r\n public readonly ERROR_RESPONSE = \"errorResponse\"; \r\n public readonly EXCEPTIONS = \"exceptions\";\r\n public readonly IS_HANDLED = \"isHandled\";\r\n\r\n public get errorResponse(): HttpErrorResponse {\r\n return this.getInternalValue(this.ERROR_RESPONSE);\r\n }\r\n\r\n public set errorResponse(errorResponse: HttpErrorResponse) {\r\n this.setInternalValue(this.ERROR_RESPONSE, errorResponse);\r\n }\r\n\r\n public get exceptions(): Exception[] {\r\n return this.getInternalValue(this.EXCEPTIONS);\r\n }\r\n\r\n public set exceptions(exceptions: Exception[]) {\r\n this.setInternalValue(this.EXCEPTIONS, exceptions);\r\n }\r\n\r\n public get isHandled(): boolean {\r\n return this.getInternalValue(this.IS_HANDLED);\r\n }\r\n\r\n public set isHandled(isHandled: boolean) {\r\n this.setInternalValue(this.IS_HANDLED, isHandled);\r\n }\r\n}","import * as Immutable from \"immutable\"\r\n\r\nimport { PropertyMapObject } from \"./propertyMapObject\";\r\n\r\nexport abstract class ImmutableObject extends PropertyMapObject {\r\n \r\n constructor(propertyMap?: Immutable.Map) {\r\n super(propertyMap ? propertyMap : Immutable.Map()); \r\n }\r\n \r\n public setInternalValue(key: string, value: any): this {\r\n return new (this).constructor(this.propertyMap.set(key, value));\r\n }\r\n}","export * from './baseObject';\r\nexport * from './propertyMapObject';\r\nexport * from './immutableObject';\r\nexport * from './simpleObject';\r\nexport * from './exception';\r\nexport * from './managedSubscription';\r\nexport * from './managedSubject';\r\nexport * from './httpException';","import { DefaultUrlSerializer, UrlTree, UrlSegmentGroup } from '@angular/router';\r\nimport { ConfRouteParams } from '../pages/configurator/providers';\r\n\r\nexport class LowerCaseUrlSerializer extends DefaultUrlSerializer {\r\n parse(url: string): UrlTree {\r\n\r\n const segements = url.split('?');\r\n\r\n let newUrl: string = '';\r\n if (segements.length == 1 || segements.length == 2) {\r\n\r\n // First segment must start with http.. and sub routings must contain ';'\r\n newUrl += this.toLowerCase(segements[0], ';');\r\n\r\n // After routing ends, It could contain ?.\r\n if (segements.length == 2)\r\n newUrl += '?' + this.toLowerCase(segements[1], '&');\r\n\r\n }\r\n else newUrl = url;\r\n\r\n return super.parse(newUrl);\r\n }\r\n\r\n private toLowerCase(segment: string, splitStr: string): string {\r\n\r\n let params = segment.split(splitStr);\r\n let newPath: string = '';\r\n params.forEach(sub => {\r\n\r\n let arr = sub.split('=');\r\n\r\n if (arr.length > 0) {\r\n\r\n if (this.existsInRouteParams(arr[0])) {\r\n arr[0] = arr[0].toLowerCase();\r\n }\r\n\r\n // Could be without '='\r\n let keyValue = arr[0];\r\n\r\n if (arr.length == 2)\r\n keyValue += '=' + arr[1];\r\n\r\n newPath += newPath == '' ? keyValue : splitStr + keyValue;\r\n }\r\n\r\n });\r\n\r\n return newPath;\r\n }\r\n\r\n private existsInRouteParams(name: string): boolean {\r\n\r\n let exists: boolean = false;\r\n ConfRouteParams.ALL_PROPERTIES.forEach(key => {\r\n\r\n if (key.toLowerCase() == name.toLowerCase()) {\r\n {\r\n exists = true;\r\n return;\r\n }\r\n }\r\n });\r\n\r\n return exists;\r\n\r\n }\r\n\r\n}","import { Subject, ReplaySubject, Subscription, Subscribable, Observable } from \"rxjs\";\r\n\r\nimport { StoreResponse } from \"../pages/shared/state/storeResponse\";\r\nimport { ManagedSubscription, SubscriptionOptions, IObserverOptions } from \"./managedSubscription\"\r\n\r\nexport class ManagedError {\r\n constructor(public error: any) { }\r\n}\r\n\r\nexport class ManagedSubject implements Subscribable {\r\n\r\n public static readonly IGNORE_VALUE: any = {};\r\n\r\n public static ErrorValue(error: any): any { return new ManagedError(error); }\r\n\r\n protected replaySubject: ReplaySubject;\r\n protected subject: Subject;\r\n\r\n // Used when observer needs to be stopped after triggerring only once\r\n protected isStopped: boolean;\r\n\r\n protected observable: any;\r\n protected observableSubscription: Subscription;\r\n\r\n constructor(observable: Observable | (() => T), public oneTime = false, protected buffer: number = 1, public completeOnZeroObserver = true, public triggerNextOnSubscribe = true) {\r\n this.observable = observable;\r\n this.replaySubject = new ReplaySubject(buffer);\r\n this.subject = new Subject();\r\n this.subject.subscribe(this.replaySubject);\r\n\r\n if (this.observable instanceof Observable || this.observable instanceof Subject) {\r\n this.observableSubscription = this.observable.subscribe((value) => this.nextValue(value));\r\n }\r\n }\r\n\r\n subscribe(subscriptionOptions: SubscriptionOptions): ManagedSubscription {\r\n return new ManagedSubscription(subscriptionOptions, this.getAddSubscriptionFn(), this.getRemoveSubscriptionFn());\r\n }\r\n\r\n public getAddSubscriptionFn() {\r\n\r\n return (subject: Subject, observerOptions: IObserverOptions) => {\r\n\r\n let subscription: Subscription;\r\n\r\n if (observerOptions.listenNewEventsOnly || !this.buffer)\r\n subscription = this.subject.subscribe(subject);\r\n else\r\n subscription = this.replaySubject.subscribe(subject);\r\n\r\n if (this.triggerNextOnSubscribe)\r\n this.triggerNext();\r\n\r\n return subscription;\r\n }\r\n }\r\n\r\n public getRemoveSubscriptionFn() {\r\n\r\n return (subscription: Subscription) => {\r\n subscription.unsubscribe();\r\n\r\n // If auto close and subscriber count = 0 then complete the subject stream\r\n if (this.completeOnZeroObserver && this.subject.observers.length == 1 && this.replaySubject.observers.length == 0)\r\n this.complete();\r\n }\r\n }\r\n\r\n error(error: ManagedError) {\r\n this.subject.error(error);\r\n }\r\n\r\n nextValue(value: T) {\r\n\r\n if (value instanceof ManagedError)\r\n this.error(value);\r\n\r\n if (this.isComplete)\r\n return;\r\n\r\n if (this.oneTime)\r\n this.isStopped = true;\r\n\r\n this.subject.next(value);\r\n\r\n if (this.isStopped)\r\n this.complete();\r\n }\r\n\r\n triggerNext(): void {\r\n\r\n if (this.isComplete)\r\n return;\r\n\r\n if (!this.observable || this.observable instanceof Observable || this.observable instanceof Subject)\r\n return;\r\n\r\n if (this.subject.observers.length == 1 && this.replaySubject.observers.length == 0)\r\n return;\r\n\r\n let value = this.observable();\r\n if (value == ManagedSubject.IGNORE_VALUE)\r\n return;\r\n\r\n this.nextValue(value);\r\n }\r\n\r\n toPromise(): Promise {\r\n return this.subject.toPromise();\r\n }\r\n\r\n get isComplete() {\r\n return this.isStopped || this.subject.isStopped;\r\n }\r\n\r\n complete(): void {\r\n if (this.observableSubscription)\r\n this.observableSubscription.unsubscribe();\r\n\r\n this.subject.complete();\r\n }\r\n}","import { Subject, Subscription, PartialObserver, Unsubscribable } from \"rxjs\"\r\nimport { Subscribable, Observer, NextObserver } from \"rxjs\";\r\n\r\nexport interface ICallback {\r\n (value: T): void;\r\n}\r\n\r\nexport interface IObserverOptions { \r\n startOnDemand?: boolean; // Starts by calling start method.\r\n listenNewEventsOnly?: boolean; // Always listens new changes.\r\n next?: (value: T) => void;\r\n error?: (err: any) => void;\r\n complete?: () => void;\r\n}\r\n\r\nexport type SubscriptionOptions = ICallback | IObserverOptions;\r\n\r\nexport class ManagedSubscription implements Unsubscribable {\r\n\r\n protected conditionalUnsubscribe: Unsubscribable;\r\n\r\n protected subject = new Subject();\r\n protected subscription: Subscription;\r\n\r\n protected observerOptions: IObserverOptions;\r\n\r\n private _isActive = false;\r\n get isActive() { return this._isActive; }\r\n \r\n constructor(subscriptionOptions: SubscriptionOptions, public addSubscriptionFn: (subject: Subject, observerOptions: IObserverOptions) => Subscription, public removeSubscriptionFn: (subscription: Subscription) => void) {\r\n\r\n this.createObserverOptions(subscriptionOptions);\r\n\r\n this.subject.subscribe(this.observerOptions.next, this.observerOptions.error, this.observerOptions.complete);\r\n\r\n if (!this.observerOptions.startOnDemand)\r\n this.start();\r\n }\r\n\r\n public createObserverOptions(subscriptionOptions: SubscriptionOptions) {\r\n\r\n this.observerOptions = >subscriptionOptions;\r\n if (!this.observerOptions.next)\r\n this.observerOptions.next = >subscriptionOptions;\r\n\r\n let originalObserver = this.observerOptions.next;\r\n\r\n this.observerOptions.next = (value: any) => {\r\n\r\n if (!this._isActive) {\r\n this.unsubscribe();\r\n return;\r\n }\r\n\r\n originalObserver(value);\r\n }\r\n }\r\n\r\n start() {\r\n \r\n this.stop();\r\n\r\n this._isActive = true;\r\n\r\n this.subscription = this.addSubscriptionFn(this.subject, this.observerOptions);\r\n\r\n return this;\r\n }\r\n\r\n stop() {\r\n\r\n this._isActive = false;\r\n\r\n if (this.subscription)\r\n this.removeSubscriptionFn(this.subscription);\r\n\r\n return this;\r\n }\r\n\r\n unsubscribeOn(unsubscribeSubject: Subscribable) {\r\n this.conditionalUnsubscribe = unsubscribeSubject.subscribe(() => {\r\n this.unsubscribe();\r\n });\r\n return this;\r\n }\r\n\r\n unsubscribe() {\r\n if (this.conditionalUnsubscribe)\r\n this.conditionalUnsubscribe.unsubscribe();\r\n\r\n this.stop();\r\n }\r\n\r\n dispose() {\r\n this.subject.complete();\r\n this.unsubscribe();\r\n }\r\n}","import * as Immutable from \"immutable\";\r\n\r\nimport { BaseObject } from \"./baseObject\";\r\nimport { EnumType } from \"typescript\";\r\n\r\nexport abstract class PropertyMapObject extends BaseObject\r\n{\r\n constructor(public propertyMap: any) {\r\n super();\r\n }\r\n\r\n public readonly CLASS_NAME = \"className\";\r\n\r\n get className(): string {\r\n let cName = this.getInternalValue(this.CLASS_NAME);\r\n if (!cName)\r\n return this.constructor.name;\r\n\r\n return cName;\r\n }\r\n\r\n public getInternalValue(key: string, enumType?: any): T {\r\n \r\n let value = null;\r\n\r\n if (this.propertyMap.get)\r\n value = this.propertyMap.get(key) as T;\r\n else\r\n value = this.propertyMap[key] as T;\r\n\r\n if (enumType) {\r\n return enumType[value] as T;\r\n }\r\n\r\n return value;\r\n } \r\n}","/**\r\n * Abstract ImageService.\r\n The implementation needs combinum data and cannot be made global, but we want ImageComponent to be global so we create this middleman.\r\n */\r\nexport abstract class AbstractImageService {\r\n\r\n /**\r\n * Returns the url of the page. It does not support different image sizes, It is recommended to access only svgs otherwise resolution will not be good for different devices.\r\n * @param imageName\r\n * @param sizes\r\n * @param isVault\r\n * @param imageSet image set for svg\r\n */\r\n abstract getImageUrl(imageName: string, type: string, sizes?: string, isVault?: boolean, imageSet?: string): string[];\r\n}","import { Injectable } from \"@angular/core\";\r\n\r\n@Injectable()\r\nexport class GlobalLogger {\r\n\r\n public oldConsole = console;\r\n\r\n // Applies to general logging. Error logging is always enabled\r\n enabled: boolean = true;\r\n\r\n log(message?: any, ...optionalParams: any[]): void { \r\n\r\n if (!this.enabled)\r\n return;\r\n\r\n this.oldConsole.log(message, ...optionalParams);\r\n }\r\n\r\n error(message?: any, ...optionalParams: any[]): void {\r\n this.oldConsole.error(message, ...optionalParams);\r\n }\r\n}","import { Injector } from \"@angular/core\";\r\n\r\n/**\r\n * Creates a static service locator for GLOBAL services.\r\n NOTE! Do not use this for non-global/non-constant services,\r\n only use it for services like \"strings.ts\"\r\n */\r\nexport class GlobalServiceLocator {\r\n\r\n /** Injected when boostraping the application (appModule.ts) */\r\n static injector: Injector = null;\r\n\r\n}","import { Inject, Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams, HttpRequest } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { JsonConvert } from \"./jsonConvert\";\r\nimport { param } from 'jquery';\r\n\r\n@Injectable()\r\nexport class HttpService {\r\n\r\n constructor(@Inject(HttpClient) public httpClient: HttpClient,\r\n protected jsonConvert: JsonConvert\r\n ) { }\r\n\r\n public createUrl(url: string, params?: any, addTimeStamp = true) {\r\n\r\n let queryString = null;\r\n if (addTimeStamp)\r\n queryString = `t=${new Date().getTime()}`;\r\n if (params) {\r\n \r\n let json = this.encode(params);\r\n // Append the json param to query string\r\n queryString = `json=${json}&${queryString}`;\r\n }\r\n\r\n if (queryString)\r\n return `${url}?${queryString}`;\r\n\r\n return url;\r\n }\r\n\r\n public get(url: string, params?: any, addTimeStamp = true): Observable {\r\n return this.httpClient.get(this.createUrl(url, params, addTimeStamp)).pipe(this.extractData);\r\n }\r\n\r\n public head(url: string, params?: any): Observable {\r\n return this.httpClient.head(this.createUrl(url, null, false), params).pipe(this.extractData);\r\n }\r\n\r\n public post(url: string, params: any): Observable {\r\n let formData = new FormData();\r\n\r\n let json = this.jsonConvert.stringify(params);\r\n formData.append(\"json\", json);\r\n\r\n return this.httpClient.post(url, formData)\r\n .pipe(this.extractData);\r\n }\r\n\r\n // refactor this method with the other downloadfile method\r\n public postExpectOptionalDownload(url: string, params: any): Observable {\r\n let formData = new FormData();\r\n\r\n let json = this.jsonConvert.stringify(params);\r\n formData.append(\"json\", json);\r\n\r\n let fileName = \"download.dat\";\r\n\r\n return new Observable(observer => {\r\n\r\n this.httpClient.post(url, formData, { observe: 'response', responseType: 'arraybuffer' })\r\n .subscribe(\r\n response => {\r\n\r\n let contentType = response.headers.get(\"Content-Type\");\r\n if (contentType && contentType.indexOf(\"json\") > -1) {\r\n let blobData = new Blob([response.body], { type: contentType });\r\n let fileReader: FileReader = new FileReader();\r\n fileReader.onload = (e) => {\r\n\r\n observer.next(JSON.parse(fileReader.result as string))\r\n observer.complete();\r\n } \r\n fileReader.readAsText(blobData);\r\n return;\r\n }\r\n\r\n //read the file type from the response\r\n let contentDisposition = response.headers.get('Content-Disposition');\r\n\r\n if (contentDisposition) {\r\n contentDisposition = contentDisposition.replace(/[\"']/g, \"\");\r\n let startPos = contentDisposition.indexOf(\"filename*=UTF-8\") + 15;\r\n let startPos16 = contentDisposition.indexOf(\"filename*=UTF-16\") + 16;\r\n if (startPos16 > 15 && startPos16 < startPos)\r\n startPos = startPos16;\r\n\r\n if (startPos > 14) {\r\n fileName = decodeURI(contentDisposition.substr(startPos));\r\n }\r\n }\r\n\r\n let blobData = new Blob([response.body], { type: contentType });\r\n\r\n if (window.navigator.msSaveOrOpenBlob) {\r\n let filename = fileName;\r\n window.navigator.msSaveOrOpenBlob(blobData, filename);\r\n }\r\n else {\r\n var a = document.createElement(\"a\");\r\n document.body.appendChild(a);\r\n\r\n a.href = URL.createObjectURL(blobData);\r\n a.download = fileName;\r\n\r\n // start download\r\n a.click();\r\n document.body.removeChild(a);\r\n a = null;\r\n }\r\n\r\n observer.complete();\r\n },\r\n (error) => {\r\n observer.error(error);\r\n }\r\n );\r\n });\r\n }\r\n\r\n public postWithProgress(url: string, formData: FormData): Observable {\r\n let params = new HttpParams();\r\n\r\n const options = {\r\n params: params,\r\n reportProgress: true,\r\n };\r\n\r\n const req = new HttpRequest('POST', url, formData, options);\r\n return this.httpClient.request(req).pipe(this.extractData);\r\n }\r\n\r\n public encode(value: any) {\r\n\r\n if (value == null)\r\n return null;\r\n\r\n return encodeURIComponent(this.jsonConvert.stringify(value));\r\n }\r\n\r\n public downloadFile(url: string, onSuccess?: any, onError?: any, createLink: boolean = true): void {\r\n let fileName = \"download.dat\";\r\n\r\n this.httpClient.get(url, { observe: 'response', responseType: 'arraybuffer' })\r\n .subscribe(\r\n response => {\r\n //read the file type from the response\r\n let contentDisposition = response.headers.get('Content-Disposition');\r\n\r\n if (contentDisposition) {\r\n contentDisposition = contentDisposition.replace(/[\"']/g, \"\");\r\n let startPos = contentDisposition.indexOf(\"filename*=UTF-8\") + 15;\r\n let startPos16 = contentDisposition.indexOf(\"filename*=UTF-16\") + 16;\r\n if (startPos16 > 15 && startPos16 < startPos)\r\n startPos = startPos16;\r\n\r\n if (startPos > 14) {\r\n fileName = decodeURI(contentDisposition.substr(startPos));\r\n }\r\n }\r\n\r\n let blobData = new Blob([response.body], { type: response.headers.get(\"Content-Type\") });\r\n\r\n if (blobData && createLink) {\r\n\r\n if (window.navigator.msSaveOrOpenBlob) {\r\n let filename = fileName;\r\n window.navigator.msSaveOrOpenBlob(blobData, filename);\r\n }\r\n else {\r\n var a = document.createElement(\"a\");\r\n document.body.appendChild(a);\r\n\r\n a.href = URL.createObjectURL(blobData);\r\n a.download = fileName;\r\n\r\n // start download\r\n a.click();\r\n document.body.removeChild(a);\r\n a = null;\r\n } \r\n }\r\n\r\n if (onSuccess) \r\n onSuccess(blobData); \r\n \r\n },\r\n (error) => {\r\n if (onError)\r\n onError(error);\r\n }\r\n );\r\n }\r\n\r\n public readContents(url: string, encoding = \"UTF-8\"): Promise {\r\n\r\n return new Promise((resolve, reject) => {\r\n\r\n // First get the blob data from url.\r\n\r\n this.downloadFile(url, (blobData: Blob) => {\r\n\r\n // Read the blob data.\r\n const reader = new FileReader();\r\n\r\n // This fires after the blob has been read/loaded.\r\n reader.addEventListener('loadend', (e: any) => {\r\n const text = e.srcElement.result;\r\n resolve(text);\r\n });\r\n\r\n // Try to read the encoding from the content type\r\n let charset = \"charset=\";\r\n let index = blobData.type.indexOf(charset);\r\n if (index > -1)\r\n encoding = blobData.type.substr(index + charset.length);\r\n\r\n // Start reading the blob as text.\r\n reader.readAsText(blobData, encoding);\r\n\r\n }, reject, false);\r\n\r\n });\r\n\r\n }\r\n\r\n\r\n public extractData = map((response: any, index) => response || {});\r\n}","export * from './abstractImageService';\r\nexport * from './jsonConvert';\r\nexport * from './httpService';\r\nexport * from \"./globalLogger\";\r\nexport * from \"./globalServiceLocator\";\r\nexport * from \"./plugin\";","import { Injectable, Inject } from \"@angular/core\";\r\nimport * as Immutable from \"immutable\";\r\n\r\nimport { ImmutableObject } from \"../immutableObject\";\r\nimport { SimpleObject } from \"../simpleObject\";\r\nimport { forEach } from \"core-js/fn/array\";\r\n\r\n@Injectable()\r\nexport class JsonConvert {\r\n\r\n stringify(value: any) {\r\n\r\n let result = JSON.stringify(this.decycle(value));\r\n if (result == \"{}\")\r\n result = JSON.stringify(value, Object.getOwnPropertyNames(value));\r\n\r\n return result;\r\n }\r\n\r\n protected decycle(value: any) {\r\n\r\n let pathByObject = new Map();\r\n return this.recursiveDecycle(value, \"$root\", pathByObject);\r\n }\r\n\r\n protected recursiveDecycle(inputObject: any, path: string, pathByObject: Map) {\r\n\r\n let objectToDecycle = this.convertToObject(inputObject);\r\n\r\n if (typeof objectToDecycle === \"object\"\r\n && objectToDecycle !== null\r\n && !(objectToDecycle instanceof Boolean)\r\n && !(objectToDecycle instanceof Date)\r\n && !(objectToDecycle instanceof Number)\r\n && !(objectToDecycle instanceof RegExp)\r\n && !(objectToDecycle instanceof String)) {\r\n\r\n let existingPath = pathByObject.get(objectToDecycle);\r\n if (existingPath !== undefined) {\r\n return { $cirularReference: existingPath };\r\n }\r\n\r\n pathByObject.set(objectToDecycle, path);\r\n\r\n if (Array.isArray(objectToDecycle)) {\r\n let decycledArray = [];\r\n\r\n for (let index of Array.from(objectToDecycle.keys())) {\r\n decycledArray[index] = this.recursiveDecycle(objectToDecycle[index], path + \"[\" + index + \"]\", pathByObject);\r\n }\r\n\r\n return decycledArray;\r\n } else {\r\n\r\n let decycledObject = {};\r\n for (let key in objectToDecycle) {\r\n decycledObject[key] = this.recursiveDecycle(objectToDecycle[key], path + \"[\" + JSON.stringify(key) + \"]\", pathByObject);\r\n }\r\n\r\n return decycledObject;\r\n }\r\n }\r\n return objectToDecycle;\r\n }\r\n\r\n protected convertToObject(value: any) {\r\n\r\n if (value === null)\r\n return undefined;\r\n \r\n if (value instanceof TypeError) {\r\n return JSON.stringify(value, Object.getOwnPropertyNames(value));\r\n }\r\n\r\n if (value instanceof Immutable.Map) {\r\n return (value as Immutable.Map).toJS();\r\n }\r\n\r\n if (value instanceof Immutable.List) {\r\n return (value as Immutable.List).toJS();\r\n }\r\n\r\n if (value instanceof Map) {\r\n let objFromMap = {};\r\n (value as Map).forEach((mapValue, mapKey) => { objFromMap[mapKey] = mapValue; });\r\n return objFromMap;\r\n }\r\n\r\n // Include class name, it is important when sending request objects to server\r\n if (value instanceof ImmutableObject && value[\"propertyMap\"] instanceof Immutable.Map) {\r\n return Object.assign((value[\"propertyMap\"] as Immutable.Map).toJS(), { \"className\": (value as ImmutableObject).className });\r\n }\r\n\r\n // Include class name, it is important when sending request objects to server\r\n if (value instanceof SimpleObject && value[\"propertyMap\"] instanceof Map) {\r\n let objFromMap = {};\r\n (value[\"propertyMap\"] as Map).forEach((mapValue, mapKey) => { objFromMap[mapKey] = mapValue; });\r\n return Object.assign(objFromMap, { \"className\": (value as SimpleObject).className });\r\n }\r\n\r\n return value;\r\n }\r\n}","import { Injectable } from \"@angular/core\";\nimport { IEditor } from \"./editor\";\n\n@Injectable()\nexport class HTMLTemplateBuilder {\n\n public get(editor: IEditor) {\n\n let properties = Object.keys(editor.entity);\n let template = \"
    \";\n let editorName = editor.selector;\n\n properties.forEach((propertyName) => {\n template += `\n <${editorName}>`;\n });\n\n return template + \"
    \";\n }\n}","export * from './normalizeResult';\r\nexport * from './normalizerService';","export class NormalizeResult\r\n{\r\n resultIds: number[]\r\n entities: Map\r\n}","import { Injectable, Inject } from \"@angular/core\"\r\nimport { normalize, Schema, schema } from \"normalizr\";\r\n\r\nimport { NormalizeResult } from \"./normalizeResult\"\r\n\r\n@Injectable()\r\nexport class NormalizerService {\r\n\r\n normalizeJson(json: any, schema: Schema, createObject: (className: string, data: any) => T): NormalizeResult {\r\n\r\n let normalizeOutput = normalize(json, schema);\r\n\r\n let entitiesMap = new Map();\r\n\r\n for (let key in normalizeOutput.entities) {\r\n if (!normalizeOutput.entities.hasOwnProperty(key)) {\r\n continue;\r\n }\r\n\r\n for (let id in normalizeOutput.entities[key]) {\r\n\r\n let dto = normalizeOutput.entities[key][id];\r\n entitiesMap.set(parseInt(id), createObject(dto.className, dto))\r\n }\r\n }\r\n\r\n let result = new NormalizeResult();\r\n result.resultIds = this.getNumericArray(schema, normalizeOutput);\r\n result.entities = entitiesMap;\r\n\r\n return result;\r\n }\r\n\r\n public getNumericArray(schema: Schema, normalizeOutput: { entities: any, result: any }) {\r\n\r\n let result = new Array();\r\n\r\n if (normalizeOutput.result.constructor == Array) {\r\n \r\n for (let item of normalizeOutput.result) {\r\n if (item.schema)\r\n result.push(item.id);\r\n else\r\n result.push(item);\r\n }\r\n }\r\n else {\r\n result.push(normalizeOutput.result);\r\n }\r\n\r\n return result;\r\n }\r\n}","export * from \"./visualizationPluginInterfaces\";\r\nexport * from \"./visualizationPluginManager\";","import { Injectable, Inject } from \"@angular/core\";\r\n\r\nimport { VisualizationPlugin } from \"./visualizationPluginInterfaces\";\r\nimport { HttpService } from \"../httpService\";\r\nimport { ManagedSubject, ManagedError } from \"../../managedSubject\";\r\nimport { SessionStorageService } from \"../../../pages/shared/providers/sessionStorageService\";\r\n\r\n@Injectable()\r\nexport class VisualizationPluginManager {\r\n\r\n protected globalDepsPath = \"api/configurator/visualization/globaldeps/\";\r\n protected baseFilePath = \"api/configurator/visualization/file/\";\r\n protected pluginObjectByUrl = new Map();\r\n\r\n protected managedSubjectByUrl = new Map>();\r\n protected globalDepsLoaded: boolean = false;\r\n\r\n constructor(@Inject(HttpService) public httpService: HttpService,\r\n public sessionStorageService: SessionStorageService) {\r\n }\r\n\r\n public register(url: string, pluginObject: any) {\r\n\r\n this.pluginObjectByUrl.set(url, pluginObject);\r\n }\r\n\r\n loadPlugin(pluginFilePath: string, onLoad: (visualizationPlugin: VisualizationPlugin, url: string) => void, onError: (error: any, url: string) => void) {\r\n\r\n this.loadGlobalDependencies(() => this.loadPluginInternally(pluginFilePath, onLoad, onError), onError);\r\n }\r\n\r\n protected loadPluginInternally(pluginFilePath: string, onLoad: (visualizationPlugin: VisualizationPlugin, url: string) => void, onError: (error: any, url: string) => void) {\r\n\r\n let url = this.generateDownloadUrl(pluginFilePath);\r\n let visualizationPlugin = this.getVisualizationPlugin(url);\r\n if (visualizationPlugin) {\r\n onLoad(visualizationPlugin, url);\r\n }\r\n else {\r\n this.fetchJavaScriptFile(url).subscribe({\r\n next: (event) => {\r\n\r\n visualizationPlugin = this.getVisualizationPlugin(url);\r\n if (visualizationPlugin)\r\n onLoad(visualizationPlugin, url);\r\n else\r\n onError(\"Visualization plugin couldn't be loaded.\", url);\r\n },\r\n error: (error: any) => onError(error, url)\r\n });\r\n }\r\n }\r\n\r\n protected loadGlobalDependencies(onLoad: () => void, onError: (error: any, url: string) => void) {\r\n\r\n if (this.globalDepsLoaded) {\r\n onLoad();\r\n return;\r\n }\r\n\r\n let managedSubject: ManagedSubject = this.managedSubjectByUrl.get(this.globalDepsPath);\r\n if (!managedSubject) {\r\n managedSubject = new ManagedSubject(null, true);\r\n this.managedSubjectByUrl.set(this.globalDepsPath, managedSubject);\r\n\r\n this.httpService.get(this.globalDepsPath).subscribe((result: string[]) => {\r\n\r\n if (result) {\r\n\r\n // Run in series\r\n result.reduce((promise: Promise, fileName) => {\r\n let url = this.generateDownloadUrl(fileName);\r\n return promise.then(() => this.fetchJavaScriptFile(url).toPromise(), (error) => onError(error, url));\r\n }, Promise.resolve(null))\r\n .then((event) => {\r\n \r\n this.globalDepsLoaded = true;\r\n managedSubject.nextValue(result);\r\n },\r\n (error) => {\r\n\r\n this.globalDepsLoaded = true;\r\n managedSubject.error(error);\r\n }); \r\n }\r\n else {\r\n\r\n this.globalDepsLoaded = true;\r\n managedSubject.nextValue(result);\r\n }\r\n }, (error) => {\r\n\r\n this.globalDepsLoaded = true;\r\n managedSubject.error(error)\r\n });\r\n }\r\n\r\n managedSubject.subscribe({\r\n next: (result) => onLoad(),\r\n error: (error) => onError(error, this.globalDepsPath)\r\n });\r\n }\r\n\r\n protected fetchJavaScriptFile(url: string) {\r\n\r\n let managedSubject: ManagedSubject = this.managedSubjectByUrl.get(url);\r\n if (managedSubject)\r\n return managedSubject;\r\n\r\n managedSubject = new ManagedSubject(null, true);\r\n this.managedSubjectByUrl.set(url, managedSubject);\r\n \r\n let scriptElement = document.createElement('script');\r\n scriptElement.type = 'text/javascript';\r\n scriptElement.src = this.sessionStorageService.addTokenToUrl(this.httpService.createUrl(url, null, false));\r\n\r\n scriptElement.onload = (event) => managedSubject.nextValue(event);\r\n scriptElement.onerror = (error) => managedSubject.error(new ManagedError(error));\r\n\r\n document.head.appendChild(scriptElement);\r\n\r\n return managedSubject;\r\n }\r\n\r\n protected getVisualizationPlugin(url: string): VisualizationPlugin {\r\n\r\n let pluginObject = this.pluginObjectByUrl.get(url);\r\n if (pluginObject)\r\n return (pluginObject.default || pluginObject) as VisualizationPlugin;\r\n\r\n return null;\r\n }\r\n\r\n protected generateDownloadUrl(pluginFilePath: string) {\r\n\r\n let origin = window.location.origin;\r\n let pathname = window.location.pathname;\r\n\r\n if (!pathname || pathname.length == 0)\r\n pathname = \"/\";\r\n\r\n return `${origin}${pathname}${this.baseFilePath}${pluginFilePath}`;\r\n } \r\n}","import { Injectable } from \"@angular/core\";\r\nimport { Reducer, ReducersMapObject, AnyAction } from \"redux\";\r\n\r\nimport { ImmutableObject } from \"../immutableObject\";\r\n\r\n@Injectable()\r\nexport class ReducersCombiner {\r\n\r\n combine(reducersMap: ReducersMapObject): Reducer {\r\n\r\n return (state: T, action: AnyAction): T => {\r\n \r\n Object.keys(reducersMap).forEach(key => {\r\n \r\n let reducer = reducersMap[key];\r\n let oldState = state[key];\r\n\r\n let newState = reducer(oldState, action);\r\n if (newState == undefined)\r\n console.error(`Reducer with key(${key}) returned undefined for action(${action.type})`);\r\n\r\n if (newState !== oldState)\r\n state = this.setStateValue(state, key, newState);\r\n\r\n });\r\n \r\n return state;\r\n }\r\n }\r\n\r\n public setStateValue(state: T, propertyName: string, value: any): T {\r\n return state[\"setInternalValue\"](propertyName, value);\r\n }\r\n}","export class RegisterRoute {\r\n path?: string;\r\n component?: any;\r\n pathMatch?: string;\r\n redirectTo?: string;\r\n}\r\n\r\nexport function Routing(route: RegisterRoute) {\r\n return (ctor: Function) => {}\r\n}\r\n\r\n","import { PropertyMapObject } from \"./propertyMapObject\";\r\n\r\nexport abstract class SimpleObject extends PropertyMapObject\r\n{\r\n constructor(propertyMap?: any) {\r\n super(propertyMap ? propertyMap : new Map());\r\n }\r\n\r\n public getInternalValue(key: string, classType?: any): T {\r\n\r\n let value = super.getInternalValue(key);\r\n if (value && classType && !(value instanceof classType)) {\r\n value = new classType(value);\r\n this.setInternalValue(key, value);\r\n }\r\n\r\n return value;\r\n }\r\n\r\n public getInternalArray(key: string, classType?: any): T[] {\r\n\r\n let value = super.getInternalValue(key);\r\n if (value && Array.isArray(value) && classType) {\r\n\r\n let isUpdate = false;\r\n\r\n for (let i = 0; i < value.length; i++)\r\n {\r\n let item = value[i];\r\n if (!(item instanceof classType)) {\r\n value[i] = new classType(item);\r\n isUpdate = true;\r\n }\r\n }\r\n\r\n if (isUpdate)\r\n this.setInternalValue(key, value);\r\n }\r\n\r\n return value;\r\n }\r\n\r\n public setInternalValue(key: string, value: any) {\r\n if (this.propertyMap.set)\r\n this.propertyMap.set(key, value);\r\n else\r\n this.propertyMap[key] = value;\r\n }\r\n}","import { Injectable, HostListener } from \"@angular/core\";\r\n\r\n// Define the minimum dimensions at which your layout will change, these settings are same as in sass.\r\nexport let Breakpoints: BreakpointsHolder = {\r\n // Extra small devices (phones)\r\n xs: {\r\n min: 0,\r\n max: 575\r\n },\r\n // Small devices (tablets)\r\n sm: {\r\n min: 576,\r\n max: 767\r\n },\r\n // Medium devices (desktops)\r\n md: {\r\n min: 768,\r\n max: 991,\r\n },\r\n // Large devices (large desktops)\r\n lg: {\r\n min: 992,\r\n max: 1199\r\n },\r\n\r\n xl: {\r\n min: 1200,\r\n max: Infinity\r\n }\r\n};\r\n\r\n\r\nexport interface BreakpointsHolder {\r\n\r\n\r\n xs: BreakpointRange;\r\n\r\n sm: BreakpointRange;\r\n\r\n md: BreakpointRange;\r\n\r\n lg: BreakpointRange;\r\n\r\n xl: BreakpointRange;\r\n\r\n}\r\n\r\nexport interface BreakpointRange {\r\n min: number;\r\n max: number;\r\n}\r\n\r\nexport enum BreakpointOperator {\r\n Equal = 'equal',\r\n EqualOrUp = 'equalOrUp',\r\n EqualOrDown = 'equalOrDown',\r\n Up = \"up\",\r\n Down = \"down\"\r\n}","import { Injectable, HostListener } from \"@angular/core\";\r\nimport { BreakpointOperator, Breakpoints, BreakpointRange } from \"./breakPoints\";\r\n\r\n@Injectable()\r\nexport class BreakPointAccessor {\r\n\r\n // Stores all breakpoint sizes e.g xs, sm, md, lg etc It helps to get lower or higher breakpoint from active one.\r\n sizes: BreakpointRange[] = [];\r\n\r\n constructor() {\r\n this.sizes = [Breakpoints.xs, Breakpoints.sm, Breakpoints.md, Breakpoints.lg, Breakpoints.xl]; \r\n }\r\n\r\n private _activeBreakPoint: BreakpointRange;\r\n public get activeBreakPoint() {\r\n \r\n return this._activeBreakPoint;\r\n }\r\n\r\n /**\r\n * Sets the current break point.\r\n * @param width\r\n */\r\n public initialize(width: number = null): void {\r\n\r\n let windowWidth = width ? width : window.innerWidth;\r\n\r\n if (windowWidth >= Breakpoints.xs.min && windowWidth <= Breakpoints.xs.max) {\r\n this._activeBreakPoint = Breakpoints.xs;\r\n }\r\n\r\n else if (windowWidth >= Breakpoints.sm.min && windowWidth <= Breakpoints.sm.max) {\r\n this._activeBreakPoint = Breakpoints.sm;\r\n }\r\n\r\n else if (windowWidth >= Breakpoints.md.min && windowWidth <= Breakpoints.md.max) {\r\n this._activeBreakPoint = Breakpoints.md;\r\n }\r\n\r\n else if (windowWidth >= Breakpoints.lg.min && windowWidth <= Breakpoints.lg.max) {\r\n this._activeBreakPoint = Breakpoints.lg;\r\n }\r\n\r\n else if (windowWidth >= Breakpoints.xl.min && windowWidth <= Breakpoints.xl.max) {\r\n this._activeBreakPoint = Breakpoints.xl;\r\n }\r\n }\r\n\r\n //public current(): string {\r\n\r\n //}\r\n\r\n /**\r\n * Returns true if break point matches with active one.\r\n * @param breakPoint e.g xs, lg\r\n */\r\n public equal(breakPoint: BreakpointRange): boolean {\r\n\r\n return breakPoint === this._activeBreakPoint;\r\n }\r\n\r\n /** \r\n * Media of at least the minimum breakpoint width.\r\n * Returns true If active breakpoint is equal or less than the given breakpoint.\r\n * @param breakPoint\r\n */\r\n public equalOrDown(breakPoint: BreakpointRange): boolean {\r\n\r\n // The index of the breakPoint\r\n let index = this.sizes.indexOf(breakPoint);\r\n\r\n if (index < 0)\r\n return false; // Index not found.\r\n \r\n // Active breakpoint index for current window.\r\n let activeIndex = this.sizes.indexOf(this._activeBreakPoint);\r\n\r\n return activeIndex <= index;\r\n }\r\n\r\n /**\r\n * Media of at most the maximum breakpoint width.\r\n * Returns true If active breakpoint is equal or above the given breakpoint.\r\n * @param breakPoint\r\n */\r\n public equalOrUp(breakPoint: BreakpointRange): boolean {\r\n\r\n // The index of the breakPoint\r\n let index = this.sizes.indexOf(breakPoint);\r\n\r\n if (index < 0)\r\n return false; // Index not found.\r\n\r\n // Active breakpoint index for current window.\r\n let activeIndex = this.sizes.indexOf(this._activeBreakPoint);\r\n\r\n return activeIndex >= index;\r\n }\r\n\r\n public up(breakPoint: BreakpointRange): boolean {\r\n\r\n // The index of the breakPoint\r\n let index = this.sizes.indexOf(breakPoint);\r\n\r\n if (index < 0)\r\n return false; // Index not found.\r\n\r\n // Active breakpoint index for current window.\r\n let activeIndex = this.sizes.indexOf(this._activeBreakPoint);\r\n\r\n return activeIndex > index;\r\n\r\n }\r\n\r\n public down(breakPoint: BreakpointRange): boolean {\r\n // The index of the breakPoint\r\n let index = this.sizes.indexOf(breakPoint);\r\n\r\n if (index < 0)\r\n return false; // Index not found.\r\n\r\n // Active breakpoint index for current window.\r\n let activeIndex = this.sizes.indexOf(this._activeBreakPoint);\r\n\r\n return activeIndex < index;\r\n }\r\n\r\n public isActive(breakpoint: BreakpointRange, op: BreakpointOperator): boolean {\r\n\r\n switch (op) {\r\n\r\n case BreakpointOperator.Up:\r\n return this.up(breakpoint);\r\n\r\n case BreakpointOperator.Down:\r\n return this.down(breakpoint);\r\n\r\n case BreakpointOperator.EqualOrUp:\r\n return this.equalOrUp(breakpoint);\r\n\r\n case BreakpointOperator.EqualOrDown:\r\n return this.equalOrDown(breakpoint);\r\n\r\n default:\r\n return this.equal(breakpoint);\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n}\r\n\r\n","import { Injectable } from \"@angular/core\";\r\nimport { expand } from \"rxjs/operators\";\r\n\r\n@Injectable()\r\nexport class BrowserInfo {\r\n \r\n public info: any;\r\n\r\n public isFirefox: boolean;\r\n\r\n public isIE: boolean;\r\n \r\n public isMobile: boolean;\r\n\r\n public isChrome: boolean;\r\n\r\n public isSafari: boolean;\r\n\r\n public isEdge: boolean;\r\n\r\n public isOpera: boolean;\r\n\r\n public name: string;\r\n\r\n protected readonly Unknown: string = 'Unknown'\r\n\r\n // More optimized way to access the value\r\n protected readonly BrowserFullNameMap = new Map([\r\n [BrowserType[BrowserType.IE], 'Internet explorer'],\r\n [BrowserType[BrowserType.Edge], 'Edge'],\r\n [BrowserType[BrowserType.Chrome], 'Google chrome'],\r\n [BrowserType[BrowserType.Safari], 'Safari'],\r\n [BrowserType[BrowserType.Firefox], 'Firefox'],\r\n [BrowserType[BrowserType.Opera], 'Opera']\r\n ]);\r\n\r\n constructor() {\r\n\r\n this.info = this.browserInfo;\r\n\r\n this.name = this.info.name\r\n this.isIE = this.name == BrowserType[BrowserType.IE];\r\n this.isEdge = this.name == BrowserType[BrowserType.Edge];\r\n this.isFirefox = this.name == BrowserType[BrowserType.Firefox];\r\n this.isChrome = this.name == BrowserType[BrowserType.Chrome];\r\n this.isOpera = this.name == BrowserType[BrowserType.Opera];\r\n this.isSafari = this.name == BrowserType[BrowserType.Safari];\r\n this.isMobile = (/android|webos|iphone|ipad|ipod|blackberry|windows phone/).test(navigator.userAgent.toLowerCase());\r\n\r\n }\r\n\r\n public get fullName(): string\r\n {\r\n return this.getFullName(this.name);\r\n }\r\n\r\n protected getFullName(name: string): string {\r\n return this.BrowserFullNameMap.has(name) ? this.BrowserFullNameMap.get(name) : this.Unknown;\r\n }\r\n\r\n public getSupportedBrowsersInfo(ignoreBrowsers: Array): string {\r\n\r\n let supportedBrowsers = new Array();\r\n Array.from(this.BrowserFullNameMap.keys()).forEach(browser => {\r\n ;\r\n if (ignoreBrowsers.indexOf(browser) > -1)\r\n return;\r\n\r\n const fullName = this.getFullName(browser);\r\n supportedBrowsers.push(fullName);\r\n \r\n });\r\n\r\n return supportedBrowsers.join(', ');\r\n }\r\n\r\n\r\n public get browserInfo(): any {\r\n\r\n let ua = navigator.userAgent, tem;\r\n let matches: any = navigator.userAgent.match(/(opera|chrome|safari|firefox|msie|trident(?=\\/))\\/?\\s*(\\d+)/i) || [];\r\n\r\n if (/trident/i.test(matches[1])) {\r\n tem = /\\brv[ :]+(\\d+)/g.exec(ua) || []; \r\n return { name: BrowserType[BrowserType.IE], version: tem[1] || '' };\r\n }\r\n\r\n if (matches[1] === 'Chrome') {\r\n tem = ua.match(/\\b(OPR|Edge?)\\/(\\d+)/);\r\n if (tem != null) return tem.slice(1).join(' ').replace('OPR', BrowserType[BrowserType.Opera]).replace('Edg ', BrowserType[BrowserType.Edge]);\r\n }\r\n\r\n matches = matches[2] ? [matches[1], matches[2]] : [navigator.appName, navigator.appVersion, '-?'];\r\n if ((tem = ua.match(/version\\/(\\d+)/i)) != null)\r\n matches.splice(1, 1, tem[1]);\r\n\r\n return { name: matches[0], version: matches[1] };\r\n\r\n }\r\n\r\n}\r\n\r\nexport enum BrowserType {\r\n\r\n IE,\r\n\r\n Edge,\r\n\r\n Chrome,\r\n\r\n Safari,\r\n\r\n Firefox,\r\n\r\n Opera\r\n\r\n}","export function deepCopy(obj) {\r\n\r\n let copy;\r\n\r\n // Handle the 3 simple types, and null or undefined\r\n if (null == obj || \"object\" != typeof obj) return obj;\r\n\r\n // Handle Date\r\n if (obj instanceof Date) {\r\n copy = new Date();\r\n copy.setTime(obj.getTime());\r\n return copy;\r\n }\r\n\r\n // Handle Array\r\n if (obj instanceof Array) {\r\n copy = [];\r\n for (var i = 0, len = obj.length; i < len; i++) {\r\n copy[i] = this.deepCopy(obj[i]);\r\n }\r\n\r\n \r\n\r\n return copy;\r\n }\r\n\r\n // Handle Object\r\n if (obj instanceof Object) {\r\n copy = {};\r\n for (var attr in obj) {\r\n if (obj.hasOwnProperty(attr)) copy[attr] = this.deepCopy(obj[attr]);\r\n }\r\n return copy;\r\n }\r\n\r\n throw new Error(\"Unable to copy obj! Its type isn't supported.\");\r\n}","export function isLeftButtonClicked(e: MouseEvent): boolean {\r\n return e.button === MouseButtons.Left;\r\n}\r\n\r\nexport function isRightButtonClicked(e: MouseEvent): boolean {\r\n return e.button === MouseButtons.Right;\r\n}\r\n\r\nexport function isEscapePressed(e: KeyboardEvent): boolean {\r\n return e.keyCode === Keys.Escape;\r\n}\r\n\r\nenum Keys {\r\n Escape = 27\r\n}\r\n\r\nenum MouseButtons {\r\n Left = 0,\r\n Right = 2,\r\n}","// @dynamic\r\n/**\r\n * Enum extensions\r\n * https://stackoverflow.com/a/21294925\r\n */\r\nexport abstract class EnumEx {\r\n static getNamesAndValues(e: any) {\r\n return EnumEx.getNames(e).map(n => ({ name: n, value: e[n] as T }));\r\n }\r\n\r\n static getNames(e: any) {\r\n return EnumEx.getObjValues(e).filter(v => typeof v === \"string\") as string[];\r\n }\r\n\r\n static getValues(e: any) {\r\n return EnumEx.getObjValues(e).filter(v => typeof v === \"number\") as T[];\r\n }\r\n\r\n private static getObjValues(e: any): (number | string)[] {\r\n return Object.keys(e).map(k => e[k]);\r\n }\r\n}","export * from './enumEx';","import { Injectable, HostListener } from \"@angular/core\";\r\nimport { ImageSets } from \"./imageSets\";\r\n\r\n@Injectable()\r\nexport class ImageSetAccessor {\r\n\r\n protected imageSetsMap: Map;\r\n\r\n constructor() {\r\n this.imageSetsMap = new Map();\r\n this.loadAllImageSets();\r\n }\r\n\r\n protected loadAllImageSets(): void {\r\n\r\n Object.keys(ImageSets).forEach(x => {\r\n\r\n const enumValue = ImageSets[x];\r\n const imageSetValue = window.getComputedStyle(document.body).getPropertyValue(enumValue);\r\n\r\n if (imageSetValue)\r\n this.imageSetsMap.set(enumValue, imageSetValue.trim());\r\n\r\n });\r\n\r\n }\r\n\r\n public get(key: string): string {\r\n return this.imageSetsMap.get(key);\r\n }\r\n \r\n}\r\n\r\n","// These imageSets values are same as sass imagesets\r\nexport enum ImageSets {\r\n StartConfiguration = '--start-configuration-image-set',\r\n StartConfigurationContextMenu = \"--start-configuration-context-menu-image-set\",\r\n MainMenu = '--main-menu-image-set',\r\n Control = '--control-image-set',\r\n ControlImageOptionChecked = \"--control-image-option-checked-image-set\",\r\n ControlIndicatorChecked = \"--control-indicator-checked-image-set\",\r\n ControlLock = \"--control-lock-image-set\",\r\n ConfiguratorDataSelectorPopupHeader = \"--configurator-data-selector-popup-header-image-set\",\r\n ConfiguratorDecoration = \"--configurator-decoration-image-set\",\r\n ConfiguratorDecorationGraphicsControl = \"--configurator-decoration-graphics-control-image-set\",\r\n ConfiguratorDecorationHeader = \"--configurator-decoration-header-image-set\",\r\n ConfiguratorBomActions = \"--configurator-bom-actions-image-set\",\r\n ConfiguratorBomPopupHeader = \"--configurator-bom-popup-header-image-set\",\r\n ConfiguratorTabNormal = \"--configurator-tab-normal-image-set\",\r\n Popup = \"--popup-image-set\",\r\n PopupHeader = \"--popup-header-image-set\",\r\n SummaryDetailHeader = \"--summary-detail-header-image-set\",\r\n SummaryDetailIcon = \"--summary-detail-icon-image-set\",\r\n SummaryActionDetail = \"--summary-action-detail-image-set\",\r\n SummaryActionHeader = \"--summary-action-header-image-set\",\r\n ConfiguratorTree = \"--configurator-tree-image-set\",\r\n SelectorTree = \"--selector-tree-image-set\",\r\n SidebarOpener = \"--sidebar-opener-image-set\",\r\n Help = \"--control-help-image-set\",\r\n}","//export * from './themeUtils';\r\nexport * from './eventUtils';\r\nexport * from './breakPoints';\r\nexport * from './breakpointsAccessor';\r\nexport * from './browserInfo';\r\nexport * from './sleepUtils';\r\nexport * from './isNumeric';\r\nexport * from \"./imageSetAccessor\";\r\nexport * from './imageSets';","export function isNumeric(numberObj) { \r\n return !isNaN(parseFloat(numberObj)) && isFinite(numberObj);\r\n}","import { Pipe, PipeTransform, NgModule } from '@angular/core';\r\n\r\n@Pipe({ name: 'imageDimension' })\r\nexport class ImageDimensionPipe implements PipeTransform {\r\n transform(value: string | null | undefined): string {\r\n if (value && !value.endsWith('px') && !isNaN(Number(value))) {\r\n return value + 'px';\r\n }\r\n\r\n return value || '';\r\n }\r\n}\r\n\r\n@NgModule({\r\n imports: [\r\n\r\n ],\r\n declarations: [\r\n ImageDimensionPipe\r\n ],\r\n providers: [\r\n\r\n ],\r\n exports: [\r\n ImageDimensionPipe\r\n ]\r\n})\r\nexport class ImageDimensionModule {\r\n\r\n};","export * from './safeHtmlPipe';\r\nexport * from './isNullOrWhiteSpacePipe';\r\nexport * from './isVaultImagePipe';\r\nexport * from './imageDimensionPipe';\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n/*\r\n*\r\n* Returns true if the given value is null, empty, or consists only of white-space characters.\r\n* Usage:\r\n* value | isNullOrWhiteSpace\r\n* object?.value | isNullOrWhiteSpace\r\n*/\r\n@Pipe({ name: 'isNullOrWhiteSpace' })\r\nexport class IsNullOrWhiteSpacePipe implements PipeTransform {\r\n transform(value: string) {\r\n if (typeof value === \"string\") {\r\n return value == null || value.trim() == \"\";\r\n }\r\n return false;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'isVaultImage' })\r\nexport class IsVaultImagePipe implements PipeTransform {\r\n transform(value: string) {\r\n return typeof value === \"string\" && value.split(\"/\").pop().startsWith(\"59_\");\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser'\r\n\r\n/*\r\n*\r\n* Bypasses security checks for safe HTML.\r\n* WARNING! Please only use this if we're sure the HTML is 100% safe and cannot contain malicious code.\r\n* Please see http://g.co/ng/security#xss\r\n* Calling this pipe with untrusted user data exposes XSS security risks.\r\n* Usage:\r\n* value | safeHtml\r\n*/\r\n@Pipe({ name: 'safeHtml' })\r\nexport class SafeHtmlPipe implements PipeTransform {\r\n constructor(private sanitizer: DomSanitizer) { }\r\n transform(value): SafeHtml {\r\n return this.sanitizer.bypassSecurityTrustHtml(value);\r\n }\r\n}\r\n\r\n@NgModule({\r\n imports: [\r\n\r\n ],\r\n declarations: [\r\n SafeHtmlPipe\r\n ],\r\n providers: [\r\n\r\n ],\r\n exports: [\r\n SafeHtmlPipe\r\n ]\r\n})\r\nexport class SafeHtmlModule {\r\n\r\n};","import { ConfRouteParams } from \"../../pages/configurator/providers/confRouteParams\";\r\nimport { ActivatedRouteSnapshot } from \"@angular/router\";\r\n\r\nexport function setRouteConfParamValue(params: ConfRouteParams, propertyName: string, value: string) {\r\n\r\n let handled: boolean = false;\r\n ConfRouteParams.ALL_PROPERTIES.forEach(key => {\r\n\r\n if (key.toLowerCase() == propertyName.toLowerCase()) {\r\n {\r\n params[key] = value;\r\n handled = true;\r\n return;\r\n }\r\n }\r\n });\r\n\r\n if (!handled) {\r\n params[propertyName] = value;\r\n }\r\n\r\n}\r\n\r\nexport function extractRouteParams(destination: ConfRouteParams, route: ActivatedRouteSnapshot) {\r\n\r\n const confParamsName = ConfRouteParams.CONF_PARAMS.toLowerCase();\r\n const extraArgsName = ConfRouteParams.EXTRA_ARGS.toLowerCase();\r\n let params = route.params;\r\n Object.keys(params).forEach(key => {\r\n\r\n // Ignore confParams and extraArgs as they are handled outside the loop\r\n if (key == confParamsName || key == extraArgsName)\r\n return;\r\n\r\n setRouteConfParamValue(destination, key, params[key]);\r\n });\r\n\r\n if (route.paramMap.has(confParamsName) && route.paramMap.get(confParamsName).length > 0)\r\n destination.confParams = JSON.parse(route.paramMap.get(confParamsName));\r\n\r\n if (route.paramMap.has(extraArgsName) && route.paramMap.get(extraArgsName).length > 0)\r\n destination.extraArgs = JSON.parse(route.paramMap.get(extraArgsName));\r\n\r\n}\r\n\r\nexport function searchUrlQueryParam(name: string, url: string = window.location.href) {\r\n\r\n url = url.replace(/#+/g, \"\");\r\n const firstIndexSemi = url.indexOf(\";\");\r\n url = url.replace(/;+/g, \"&\");\r\n const firstIndexAnd = url.indexOf(\"&\");\r\n if (firstIndexSemi === firstIndexAnd)\r\n url = url.replace(\"&\", \"?\");\r\n\r\n const parsedUrl = new URL(url);\r\n const searchParams = new URLSearchParams(parsedUrl.search);\r\n const lowerCaseKeyToMatch = name.toLowerCase();\r\n let result: string | null = null;\r\n\r\n searchParams.forEach((value, key) => {\r\n if (key.toLowerCase() === lowerCaseKeyToMatch) {\r\n result = value;\r\n }\r\n });\r\n\r\n return result;\r\n}\r\n\r\n","export enum Delay {\r\n MS_0 = 0,\r\n MS_50 = 50,\r\n MS_100 = 100,\r\n MS_200 = 200,\r\n MS_400 = 400,\r\n MS_600 = 600,\r\n MS_800 = 800,\r\n MS_1000 = 1000,\r\n MS_2000 = 2000\r\n}\r\n\r\nexport async function sleep(duration: Delay) {\r\n await _sleep(duration);\r\n}\r\n\r\nfunction _sleep(duration: Delay) {\r\n return new Promise((resolve) => setTimeout(resolve, Number(duration)));\r\n}","export const environment = {\r\n production: true\r\n};","import { App } from \"./app\";\r\nnew App().boot();","var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn-bd\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn-bd.js\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-in\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-in.js\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-sg\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./en-sg.js\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-mx\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-mx.js\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fil\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fil.js\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-deva\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-deva.js\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./oc-lnc\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./oc-lnc.js\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tk\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tk.js\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-mo\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-mo.js\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n"],"sourceRoot":"webpack:///"}