@smartbit4all/ng-client 5.0.21 → 6.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +386 -386
- package/esm2022/lib/component-factory-service/component-factory-service.module.mjs +17 -0
- package/esm2022/lib/component-factory-service/component-factory-service.service.mjs +35 -0
- package/esm2022/lib/component-factory-service/projects.mjs +6 -0
- package/esm2022/lib/session/api/api/api.mjs +4 -0
- package/esm2022/lib/session/api/api/session.service.mjs +306 -0
- package/esm2022/lib/session/api/configuration.mjs +91 -0
- package/esm2022/lib/session/api/encoder.mjs +19 -0
- package/esm2022/lib/session/api/index.mjs +3 -0
- package/esm2022/lib/session/api/model/accountInfo.mjs +13 -0
- package/esm2022/lib/session/api/model/apiError.mjs +13 -0
- package/esm2022/lib/session/api/model/authenticationProviderData.mjs +13 -0
- package/esm2022/lib/session/api/model/getAuthenticationProvidersResponse.mjs +2 -0
- package/esm2022/lib/session/api/model/models.mjs +9 -0
- package/esm2022/lib/session/api/model/refreshSessionRequest.mjs +13 -0
- package/esm2022/lib/session/api/model/session.mjs +2 -0
- package/esm2022/lib/session/api/model/sessionInfoData.mjs +2 -0
- package/esm2022/lib/session/api/model/userActivityLog.mjs +13 -0
- package/esm2022/lib/session/api/param.mjs +2 -0
- package/esm2022/lib/session/api/variables.mjs +9 -0
- package/esm2022/lib/session/cookie-service/smart-cookie.service.mjs +225 -0
- package/esm2022/lib/session/projects.mjs +13 -0
- package/esm2022/lib/session/smart-backend-bootstrap.config.mjs +2 -0
- package/esm2022/lib/session/smart-backend-bootstrap.service.mjs +214 -0
- package/esm2022/lib/session/smart-default-error-ui.service.mjs +134 -0
- package/esm2022/lib/session/smart-error-catching.interceptor.mjs +109 -0
- package/esm2022/lib/session/smart-header-maintainer.interceptor.mjs +44 -0
- package/esm2022/lib/session/smart-session-handler.service.mjs +7 -0
- package/esm2022/lib/session/smart-session.module.mjs +58 -0
- package/esm2022/lib/session/smart-session.service.mjs +284 -0
- package/esm2022/lib/session/smart-timer/smart-session-timer.component.mjs +39 -0
- package/esm2022/lib/session/smart-timer/smart-session-timer.service.mjs +63 -0
- package/esm2022/lib/shared/projects.mjs +4 -0
- package/esm2022/lib/shared/shared.module.mjs +19 -0
- package/esm2022/lib/shared/smart-tooltip.directive.mjs +58 -0
- package/esm2022/lib/shared/smarttable.date-pipe.mjs +43 -0
- package/esm2022/lib/smart-client/projects.mjs +4 -0
- package/esm2022/lib/smart-client/smart-component-api-client.mjs +934 -0
- package/esm2022/lib/smart-client/smart-file-uploader/smart-file-uploader.component.mjs +79 -0
- package/esm2022/lib/smart-client/smart.component.mjs +88 -0
- package/esm2022/lib/smart-client/smart.service.mjs +71 -0
- package/esm2022/lib/smart-component-layout/api/api/api.mjs +4 -0
- package/esm2022/lib/smart-component-layout/api/api/default.service.mjs +133 -0
- package/esm2022/lib/smart-component-layout/api/api.module.mjs +40 -0
- package/esm2022/lib/smart-component-layout/api/configuration.mjs +91 -0
- package/esm2022/lib/smart-component-layout/api/encoder.mjs +19 -0
- package/esm2022/lib/smart-component-layout/api/index.mjs +7 -0
- package/esm2022/lib/smart-component-layout/api/model/componentType.mjs +18 -0
- package/esm2022/lib/smart-component-layout/api/model/componentWidgetType.mjs +22 -0
- package/esm2022/lib/smart-component-layout/api/model/layoutDefinitionDescriptor.mjs +2 -0
- package/esm2022/lib/smart-component-layout/api/model/layoutDirection.mjs +17 -0
- package/esm2022/lib/smart-component-layout/api/model/models.mjs +9 -0
- package/esm2022/lib/smart-component-layout/api/model/smartComponentLayoutDefinition.mjs +2 -0
- package/esm2022/lib/smart-component-layout/api/model/smartComponentWidgetDefinition.mjs +2 -0
- package/esm2022/lib/smart-component-layout/api/model/toolbarDirection.mjs +17 -0
- package/esm2022/lib/smart-component-layout/api/model/toolbarProperties.mjs +2 -0
- package/esm2022/lib/smart-component-layout/api/param.mjs +2 -0
- package/esm2022/lib/smart-component-layout/api/variables.mjs +9 -0
- package/esm2022/lib/smart-component-layout/projects.mjs +8 -0
- package/esm2022/lib/smart-component-layout/smart-component-layout-utility.mjs +169 -0
- package/esm2022/lib/smart-component-layout/smart-component-layout.component.mjs +436 -0
- package/esm2022/lib/smart-component-layout/smart-component-layout.module.mjs +57 -0
- package/esm2022/lib/smart-diagram/api/api/api.mjs +4 -0
- package/esm2022/lib/smart-diagram/api/api/diagramService.service.mjs +141 -0
- package/esm2022/lib/smart-diagram/api/api.module.mjs +40 -0
- package/esm2022/lib/smart-diagram/api/configuration.mjs +91 -0
- package/esm2022/lib/smart-diagram/api/encoder.mjs +19 -0
- package/esm2022/lib/smart-diagram/api/index.mjs +7 -0
- package/esm2022/lib/smart-diagram/api/model/diagramColor.mjs +13 -0
- package/esm2022/lib/smart-diagram/api/model/diagramDataContainer.mjs +2 -0
- package/esm2022/lib/smart-diagram/api/model/diagramDataItem.mjs +13 -0
- package/esm2022/lib/smart-diagram/api/model/diagramDataSet.mjs +2 -0
- package/esm2022/lib/smart-diagram/api/model/diagramDescriptor.mjs +2 -0
- package/esm2022/lib/smart-diagram/api/model/diagramModel.mjs +2 -0
- package/esm2022/lib/smart-diagram/api/model/diagramShape.mjs +2 -0
- package/esm2022/lib/smart-diagram/api/model/drawTime.mjs +18 -0
- package/esm2022/lib/smart-diagram/api/model/labelText.mjs +2 -0
- package/esm2022/lib/smart-diagram/api/model/models.mjs +10 -0
- package/esm2022/lib/smart-diagram/api/param.mjs +2 -0
- package/esm2022/lib/smart-diagram/api/variables.mjs +9 -0
- package/esm2022/lib/smart-diagram/component/default-smart-diagram-options.provider.mjs +312 -0
- package/esm2022/lib/smart-diagram/component/smart-diagram.component.mjs +359 -0
- package/esm2022/lib/smart-diagram/component/smart-diagram.module.mjs +40 -0
- package/esm2022/lib/smart-diagram/component/smart-diagram.util.mjs +10 -0
- package/esm2022/lib/smart-diagram/projects.mjs +5 -0
- package/esm2022/lib/smart-dialog/projects.mjs +8 -0
- package/esm2022/lib/smart-dialog/smartdialog.component.mjs +54 -0
- package/esm2022/lib/smart-dialog/smartdialog.model.mjs +16 -0
- package/esm2022/lib/smart-dialog/smartdialog.module.mjs +46 -0
- package/esm2022/lib/smart-dialog/smartdialog.service.mjs +86 -0
- package/esm2022/lib/smart-expandable-section/expandable-section.component.mjs +101 -0
- package/esm2022/lib/smart-expandable-section/expandable-section.model.mjs +12 -0
- package/esm2022/lib/smart-expandable-section/projects.mjs +8 -0
- package/esm2022/lib/smart-expandable-section/smart-expandable-section.module.mjs +57 -0
- package/esm2022/lib/smart-expandable-section/smart-expandable-section.service.mjs +14 -0
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBoolOperator.mjs +17 -0
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBuilderField.mjs +2 -0
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBuilderGroup.mjs +8 -0
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBuilderModel.mjs +2 -0
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionData.mjs +2 -0
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionDataType.mjs +20 -0
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionField.mjs +2 -0
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionFieldList.mjs +2 -0
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionFieldWidgetType.mjs +28 -0
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionList.mjs +2 -0
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionOperandData.mjs +2 -0
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionOperation.mjs +32 -0
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionOrderBy.mjs +18 -0
- package/esm2022/lib/smart-filter/api/filter/model/model.mjs +16 -0
- package/esm2022/lib/smart-filter/api/filter/model/searchIndexObjectDefinitionData.mjs +2 -0
- package/esm2022/lib/smart-filter/api/filter/model/searchIndexPropertyDefinitionData.mjs +13 -0
- package/esm2022/lib/smart-filter/api/value/model/value.mjs +13 -0
- package/esm2022/lib/smart-filter/projects.mjs +9 -0
- package/esm2022/lib/smart-filter/smart-filter/components/smart-filter-expression-field/smart-filter-expression-field.component.mjs +14 -0
- package/esm2022/lib/smart-filter/smart-filter/components/smart-filter-simple/components/smart-filter-simple-field/smart-filter-simple-field.component.mjs +166 -0
- package/esm2022/lib/smart-filter/smart-filter/components/smart-filter-simple/smart-filter-simple.component.mjs +45 -0
- package/esm2022/lib/smart-filter/smart-filter/smart-filter.component.mjs +36 -0
- package/esm2022/lib/smart-filter/smart-filter/smart-filter.service.mjs +31 -0
- package/esm2022/lib/smart-filter/smart-filter.model.mjs +13 -0
- package/esm2022/lib/smart-filter/smart-filter.module.mjs +33 -0
- package/esm2022/lib/smart-filter-editor/api/api/filter.service.mjs +198 -0
- package/esm2022/lib/smart-filter-editor/api/configuration.mjs +91 -0
- package/esm2022/lib/smart-filter-editor/api/encoder.mjs +19 -0
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBoolOperator.mjs +17 -0
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderApiConfig.mjs +13 -0
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderField.mjs +2 -0
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderGroup.mjs +8 -0
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderModel.mjs +2 -0
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderUiModel.mjs +7 -0
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionData.mjs +2 -0
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionDataType.mjs +20 -0
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionField.mjs +2 -0
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionFieldEditor.mjs +2 -0
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionFieldList.mjs +2 -0
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionFieldWidgetType.mjs +28 -0
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionList.mjs +2 -0
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionOperandData.mjs +2 -0
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionOperation.mjs +32 -0
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionOrderBy.mjs +19 -0
- package/esm2022/lib/smart-filter-editor/api/model/smartFilterType.mjs +17 -0
- package/esm2022/lib/smart-filter-editor/api/param.mjs +2 -0
- package/esm2022/lib/smart-filter-editor/api/variables.mjs +9 -0
- package/esm2022/lib/smart-filter-editor/filterExpressionBuilderApiActions.mjs +15 -0
- package/esm2022/lib/smart-filter-editor/project.mjs +8 -0
- package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/components/smart-filter-expression-item/smart-filter-expression-item.component.mjs +73 -0
- package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/components/smart-filter-expression-items/smart-filter-expression-items.component.mjs +40 -0
- package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/smart-filter-editor-content.component.mjs +294 -0
- package/esm2022/lib/smart-filter-editor/smart-filter-editor.model.mjs +2 -0
- package/esm2022/lib/smart-filter-editor/smart-filter-editor.module.mjs +69 -0
- package/esm2022/lib/smart-filter-editor/smart-filter-editor.service.mjs +63 -0
- package/esm2022/lib/smart-filter-editor/smart-filter-params/components/smart-filter-param/smart-filter-param.component.mjs +24 -0
- package/esm2022/lib/smart-filter-editor/smart-filter-params/smart-filter-params.component.mjs +57 -0
- package/esm2022/lib/smart-form/api/api/api.mjs +4 -0
- package/esm2022/lib/smart-form/api/api/default.service.mjs +133 -0
- package/esm2022/lib/smart-form/api/api.module.mjs +40 -0
- package/esm2022/lib/smart-form/api/configuration.mjs +91 -0
- package/esm2022/lib/smart-form/api/encoder.mjs +19 -0
- package/esm2022/lib/smart-form/api/index.mjs +7 -0
- package/esm2022/lib/smart-form/api/model/dateFieldProperties.mjs +13 -0
- package/esm2022/lib/smart-form/api/model/fileUploaderProperties.mjs +2 -0
- package/esm2022/lib/smart-form/api/model/imageProperties.mjs +2 -0
- package/esm2022/lib/smart-form/api/model/models.mjs +19 -0
- package/esm2022/lib/smart-form/api/model/multiFileUploaderProperties.mjs +2 -0
- package/esm2022/lib/smart-form/api/model/propertyMapping.mjs +13 -0
- package/esm2022/lib/smart-form/api/model/recordingUploaderProperties.mjs +7 -0
- package/esm2022/lib/smart-form/api/model/selectionDefinition.mjs +14 -0
- package/esm2022/lib/smart-form/api/model/smartFormInputMode.mjs +22 -0
- package/esm2022/lib/smart-form/api/model/smartFormWidgetDirection.mjs +17 -0
- package/esm2022/lib/smart-form/api/model/smartFormWidgetType.mjs +49 -0
- package/esm2022/lib/smart-form/api/model/smartLayoutDefinition.mjs +2 -0
- package/esm2022/lib/smart-form/api/model/smartMatrixModel.mjs +2 -0
- package/esm2022/lib/smart-form/api/model/smartWidgetDefinition.mjs +2 -0
- package/esm2022/lib/smart-form/api/model/smartWidgetHint.mjs +18 -0
- package/esm2022/lib/smart-form/api/model/sortDefinition.mjs +13 -0
- package/esm2022/lib/smart-form/api/model/textBoxProperties.mjs +13 -0
- package/esm2022/lib/smart-form/api/model/textFieldProperties.mjs +13 -0
- package/esm2022/lib/smart-form/api/model/valueChangeMode.mjs +21 -0
- package/esm2022/lib/smart-form/api/param.mjs +2 -0
- package/esm2022/lib/smart-form/api/variables.mjs +9 -0
- package/esm2022/lib/smart-form/highlightMacthingString-pipe.mjs +20 -0
- package/esm2022/lib/smart-form/projects.mjs +18 -0
- package/esm2022/lib/smart-form/services/smartform.layout-definition.service.mjs +753 -0
- package/esm2022/lib/smart-form/services/smartform.service.mjs +683 -0
- package/esm2022/lib/smart-form/smartfileuploader/large-file-snack-bar/large-file-snack-bar.component.mjs +15 -0
- package/esm2022/lib/smart-form/smartfileuploader/smartfileuploader.component.mjs +193 -0
- package/esm2022/lib/smart-form/smartfileuploader/smartfileuploader.model.mjs +2 -0
- package/esm2022/lib/smart-form/smartform.component.mjs +190 -0
- package/esm2022/lib/smart-form/smartform.form-model.mjs +2 -0
- package/esm2022/lib/smart-form/smartform.model.mjs +38 -0
- package/esm2022/lib/smart-form/widgets/components/smart-file-editor/smart-file-editor.component.mjs +179 -0
- package/esm2022/lib/smart-form/widgets/components/smart-month-picker/smart-month-picker.component.mjs +83 -0
- package/esm2022/lib/smart-form/widgets/components/smart-multi-file-editor/smart-multi-file-editor.component.mjs +170 -0
- package/esm2022/lib/smart-form/widgets/components/smart-voice-recorder/smart-voice-recorder.component.mjs +151 -0
- package/esm2022/lib/smart-form/widgets/directives/comparable-dropdown.directive.mjs +35 -0
- package/esm2022/lib/smart-form/widgets/directives/comparable-multiselect.directive.mjs +79 -0
- package/esm2022/lib/smart-form/widgets/smartformwidget/smartformwidget.component.mjs +1038 -0
- package/esm2022/lib/smart-form/widgets/smartformwidget/sortable-widget/sortable-widget.component.mjs +78 -0
- package/esm2022/lib/smart-form/widgets/smartformwidget/trackCaps.directive.mjs +31 -0
- package/esm2022/lib/smart-generic-pages/acl-editing-view/acl-editing-view.component.mjs +98 -0
- package/esm2022/lib/smart-generic-pages/api/platform/acl/model/aCL.mjs +2 -0
- package/esm2022/lib/smart-generic-pages/api/platform/acl/model/aCLEntry.mjs +18 -0
- package/esm2022/lib/smart-generic-pages/api/platform/acl/model/objectValidationSeverity.mjs +19 -0
- package/esm2022/lib/smart-generic-pages/api/platform/acl/model/subject.mjs +13 -0
- package/esm2022/lib/smart-generic-pages/api/platform/api-default/objectHistoryRangeData.mjs +2 -0
- package/esm2022/lib/smart-generic-pages/api/platform/searchpage/model/searchPageModel.mjs +2 -0
- package/esm2022/lib/smart-generic-pages/api/platform/subjectselector/model/subjectSelectorPageModel.mjs +13 -0
- package/esm2022/lib/smart-generic-pages/api/platform/validation/model/validationItem.mjs +2 -0
- package/esm2022/lib/smart-generic-pages/api/platform/validation/model/validationResultPageModel.mjs +2 -0
- package/esm2022/lib/smart-generic-pages/generic-page/generic-page.component.mjs +54 -0
- package/esm2022/lib/smart-generic-pages/invalid-smartlink/invalid-smartlink.component.mjs +40 -0
- package/esm2022/lib/smart-generic-pages/no-permission-page/no-permission-page.component.mjs +40 -0
- package/esm2022/lib/smart-generic-pages/projects.mjs +13 -0
- package/esm2022/lib/smart-generic-pages/search-page/search-page.component.mjs +80 -0
- package/esm2022/lib/smart-generic-pages/smart-generic-pages.module.mjs +116 -0
- package/esm2022/lib/smart-generic-pages/subject-selector/subject-selector.component.mjs +77 -0
- package/esm2022/lib/smart-generic-pages/validation-result-page/validation-result-page.component.mjs +93 -0
- package/esm2022/lib/smart-grid/api/grid-api/api/api.mjs +4 -0
- package/esm2022/lib/smart-grid/api/grid-api/api/grid.service.mjs +514 -0
- package/esm2022/lib/smart-grid/api/grid-api/api.module.mjs +40 -0
- package/esm2022/lib/smart-grid/api/grid-api/configuration.mjs +91 -0
- package/esm2022/lib/smart-grid/api/grid-api/encoder.mjs +19 -0
- package/esm2022/lib/smart-grid/api/grid-api/index.mjs +7 -0
- package/esm2022/lib/smart-grid/api/grid-api/model/gridColumnContentType.mjs +17 -0
- package/esm2022/lib/smart-grid/api/grid-api/model/gridColumnMeta.mjs +2 -0
- package/esm2022/lib/smart-grid/api/grid-api/model/gridDataAccessConfig.mjs +20 -0
- package/esm2022/lib/smart-grid/api/grid-api/model/gridExportDescriptor.mjs +2 -0
- package/esm2022/lib/smart-grid/api/grid-api/model/gridModel.mjs +2 -0
- package/esm2022/lib/smart-grid/api/grid-api/model/gridPage.mjs +2 -0
- package/esm2022/lib/smart-grid/api/grid-api/model/gridRow.mjs +2 -0
- package/esm2022/lib/smart-grid/api/grid-api/model/gridSelectionChange.mjs +13 -0
- package/esm2022/lib/smart-grid/api/grid-api/model/gridSelectionMode.mjs +18 -0
- package/esm2022/lib/smart-grid/api/grid-api/model/gridSelectionType.mjs +17 -0
- package/esm2022/lib/smart-grid/api/grid-api/model/gridServerModel.mjs +2 -0
- package/esm2022/lib/smart-grid/api/grid-api/model/gridUpdateData.mjs +2 -0
- package/esm2022/lib/smart-grid/api/grid-api/model/gridView.mjs +2 -0
- package/esm2022/lib/smart-grid/api/grid-api/model/gridViewDescriptor.mjs +8 -0
- package/esm2022/lib/smart-grid/api/grid-api/model/models.mjs +15 -0
- package/esm2022/lib/smart-grid/api/grid-api/param.mjs +2 -0
- package/esm2022/lib/smart-grid/api/grid-api/variables.mjs +9 -0
- package/esm2022/lib/smart-grid/components/expandable-grid/expandable-grid.component.mjs +20 -0
- package/esm2022/lib/smart-grid/components/generic-component/expanded-row-renderer.component.mjs +47 -0
- package/esm2022/lib/smart-grid/components/smart-grid-card/smart-grid-card.component.mjs +72 -0
- package/esm2022/lib/smart-grid/components/table-layout-definer/table-layout-definer.component.mjs +200 -0
- package/esm2022/lib/smart-grid/models/model.mjs +29 -0
- package/esm2022/lib/smart-grid/projects.mjs +9 -0
- package/esm2022/lib/smart-grid/smart-grid-toolbar-util.mjs +65 -0
- package/esm2022/lib/smart-grid/smart-grid.component.mjs +1035 -0
- package/esm2022/lib/smart-grid/smart-grid.module.mjs +103 -0
- package/esm2022/lib/smart-grid/smart-grid.service.mjs +92 -0
- package/esm2022/lib/smart-icon/projects.mjs +9 -0
- package/esm2022/lib/smart-icon/smart-icon/smart-icon.component.mjs +95 -0
- package/esm2022/lib/smart-icon/smart-icon/ui-badge/ui-badge.component.mjs +40 -0
- package/esm2022/lib/smart-icon/smart-icon/ui-badge/ui-badge.directive.mjs +37 -0
- package/esm2022/lib/smart-icon/smart-icon.module.mjs +26 -0
- package/esm2022/lib/smart-icon/smart-icon.service.mjs +93 -0
- package/esm2022/lib/smart-map/abstract-map.mjs +112 -0
- package/esm2022/lib/smart-map/api/api/api.mjs +4 -0
- package/esm2022/lib/smart-map/api/api/geoMap.service.mjs +312 -0
- package/esm2022/lib/smart-map/api/api.module.mjs +40 -0
- package/esm2022/lib/smart-map/api/configuration.mjs +91 -0
- package/esm2022/lib/smart-map/api/encoder.mjs +19 -0
- package/esm2022/lib/smart-map/api/index.mjs +7 -0
- package/esm2022/lib/smart-map/api/model/gPSPosition.mjs +13 -0
- package/esm2022/lib/smart-map/api/model/gPSRoute.mjs +2 -0
- package/esm2022/lib/smart-map/api/model/geoMapChange.mjs +2 -0
- package/esm2022/lib/smart-map/api/model/geoMapDataLoadingMode.mjs +17 -0
- package/esm2022/lib/smart-map/api/model/geoMapDataSourceDescriptor.mjs +2 -0
- package/esm2022/lib/smart-map/api/model/geoMapDataSourceType.mjs +19 -0
- package/esm2022/lib/smart-map/api/model/geoMapEditingSession.mjs +2 -0
- package/esm2022/lib/smart-map/api/model/geoMapInteraction.mjs +2 -0
- package/esm2022/lib/smart-map/api/model/geoMapItem.mjs +2 -0
- package/esm2022/lib/smart-map/api/model/geoMapItemKind.mjs +18 -0
- package/esm2022/lib/smart-map/api/model/geoMapLayer.mjs +2 -0
- package/esm2022/lib/smart-map/api/model/geoMapLayerChange.mjs +2 -0
- package/esm2022/lib/smart-map/api/model/geoMapLayerDescriptor.mjs +2 -0
- package/esm2022/lib/smart-map/api/model/geoMapModel.mjs +2 -0
- package/esm2022/lib/smart-map/api/model/geoMapOperationMode.mjs +17 -0
- package/esm2022/lib/smart-map/api/model/geoMapSelectionMode.mjs +18 -0
- package/esm2022/lib/smart-map/api/model/geoMapServerModel.mjs +2 -0
- package/esm2022/lib/smart-map/api/model/geoMapTextType.mjs +17 -0
- package/esm2022/lib/smart-map/api/model/geoMapViewState.mjs +2 -0
- package/esm2022/lib/smart-map/api/model/geoMapViewport.mjs +2 -0
- package/esm2022/lib/smart-map/api/model/models.mjs +21 -0
- package/esm2022/lib/smart-map/api/param.mjs +2 -0
- package/esm2022/lib/smart-map/api/variables.mjs +9 -0
- package/esm2022/lib/smart-map/api-default/api-default.mjs +2 -0
- package/esm2022/lib/smart-map/impl/google-map.mjs +224 -0
- package/esm2022/lib/smart-map/impl/leaflet-map.mjs +422 -0
- package/esm2022/lib/smart-map/projects.mjs +9 -0
- package/esm2022/lib/smart-map/smart-map.component.mjs +222 -0
- package/esm2022/lib/smart-map/smart-map.module.mjs +22 -0
- package/esm2022/lib/smart-map/smart-map.types.mjs +2 -0
- package/esm2022/lib/smart-navbar/projects.mjs +8 -0
- package/esm2022/lib/smart-navbar/smart-navbar.component.mjs +61 -0
- package/esm2022/lib/smart-navbar/smart-navbar.model.mjs +6 -0
- package/esm2022/lib/smart-navbar/smart-navbar.module.mjs +63 -0
- package/esm2022/lib/smart-navbar/smart-navbar.service.mjs +14 -0
- package/esm2022/lib/smart-navigation/projects.mjs +6 -0
- package/esm2022/lib/smart-navigation/smart-navigation.interface.mjs +2 -0
- package/esm2022/lib/smart-navigation/smart-navigation.module.mjs +18 -0
- package/esm2022/lib/smart-navigation/smart-navigation.service.mjs +27 -0
- package/esm2022/lib/smart-ng-client.module.mjs +130 -0
- package/esm2022/lib/smart-ng-client.service.mjs +19 -0
- package/esm2022/lib/smart-subject/projects.mjs +5 -0
- package/esm2022/lib/smart-subject/smart-subject.mjs +21 -0
- package/esm2022/lib/smart-tab-group/projects.mjs +5 -0
- package/esm2022/lib/smart-tab-group/smart-tab-group.module.mjs +22 -0
- package/esm2022/lib/smart-table/components/default-actions-popup/default-actions-popup.component.mjs +43 -0
- package/esm2022/lib/smart-table/components/loading/loading.component.mjs +15 -0
- package/esm2022/lib/smart-table/directives/mat-context-menu-trigger-for.directive.mjs +52 -0
- package/esm2022/lib/smart-table/projects.mjs +8 -0
- package/esm2022/lib/smart-table/smarttable.component.mjs +98 -0
- package/esm2022/lib/smart-table/smarttable.model.mjs +177 -0
- package/esm2022/lib/smart-table/smarttable.module.mjs +109 -0
- package/esm2022/lib/smart-table/smarttable.service.mjs +14 -0
- package/esm2022/lib/smart-table/tables/material-table/material-table.component.mjs +42 -0
- package/esm2022/lib/smart-table/tables/mobile-table/mobile-table.component.mjs +23 -0
- package/esm2022/lib/smart-table/tables/table.mjs +573 -0
- package/esm2022/lib/smart-tree/projects.mjs +9 -0
- package/esm2022/lib/smart-tree/smarttree-generic.service.mjs +292 -0
- package/esm2022/lib/smart-tree/smarttree.component.mjs +187 -0
- package/esm2022/lib/smart-tree/smarttree.model.mjs +7 -0
- package/esm2022/lib/smart-tree/smarttree.module.mjs +60 -0
- package/esm2022/lib/smart-tree/smarttree.node.model.mjs +6 -0
- package/esm2022/lib/smart-tree/smarttree.service.interface.mjs +2 -0
- package/esm2022/lib/smart-tree/smarttree.service.mjs +47 -0
- package/esm2022/lib/smart-tree/tree-api/api/tree.service.mjs +1190 -0
- package/esm2022/lib/smart-tree/tree-api/configuration.mjs +91 -0
- package/esm2022/lib/smart-tree/tree-api/encoder.mjs +19 -0
- package/esm2022/lib/smart-tree/tree-api/param.mjs +2 -0
- package/esm2022/lib/smart-tree/tree-api/variables.mjs +9 -0
- package/esm2022/lib/smart-validation/named-validator.service.mjs +115 -0
- package/esm2022/lib/smart-validation/projects.mjs +4 -0
- package/esm2022/lib/smart-validation/smart-validation.module.mjs +24 -0
- package/esm2022/lib/smart-validation/smart-validation.types.mjs +4 -0
- package/esm2022/lib/view-context/api/api/api.mjs +4 -0
- package/esm2022/lib/view-context/api/api/view.service.mjs +903 -0
- package/esm2022/lib/view-context/api/api-default/binaryData.mjs +2 -0
- package/esm2022/lib/view-context/api/api-default/invocationError.mjs +2 -0
- package/esm2022/lib/view-context/api/api-default/invocationRequest.mjs +2 -0
- package/esm2022/lib/view-context/api/api-default/invocationRun.mjs +2 -0
- package/esm2022/lib/view-context/api/api.module.mjs +40 -0
- package/esm2022/lib/view-context/api/configuration.mjs +91 -0
- package/esm2022/lib/view-context/api/encoder.mjs +19 -0
- package/esm2022/lib/view-context/api/index.mjs +7 -0
- package/esm2022/lib/view-context/api/model/backgroundProcessInfo.mjs +2 -0
- package/esm2022/lib/view-context/api/model/badgeDescriptor.mjs +13 -0
- package/esm2022/lib/view-context/api/model/clipboardData.mjs +13 -0
- package/esm2022/lib/view-context/api/model/closeResult.mjs +18 -0
- package/esm2022/lib/view-context/api/model/componentConstraint.mjs +2 -0
- package/esm2022/lib/view-context/api/model/componentModel.mjs +2 -0
- package/esm2022/lib/view-context/api/model/componentModelChange.mjs +13 -0
- package/esm2022/lib/view-context/api/model/dataChange.mjs +2 -0
- package/esm2022/lib/view-context/api/model/dataChangeEvent.mjs +2 -0
- package/esm2022/lib/view-context/api/model/dataChangeKind.mjs +21 -0
- package/esm2022/lib/view-context/api/model/deviceInfo.mjs +13 -0
- package/esm2022/lib/view-context/api/model/downloadedFile.mjs +13 -0
- package/esm2022/lib/view-context/api/model/iconPosition.mjs +21 -0
- package/esm2022/lib/view-context/api/model/imageResource.mjs +8 -0
- package/esm2022/lib/view-context/api/model/link.mjs +20 -0
- package/esm2022/lib/view-context/api/model/messageData.mjs +2 -0
- package/esm2022/lib/view-context/api/model/messageOption.mjs +2 -0
- package/esm2022/lib/view-context/api/model/messageOptionType.mjs +18 -0
- package/esm2022/lib/view-context/api/model/messageResult.mjs +2 -0
- package/esm2022/lib/view-context/api/model/messageTextType.mjs +17 -0
- package/esm2022/lib/view-context/api/model/messageType.mjs +19 -0
- package/esm2022/lib/view-context/api/model/models.mjs +63 -0
- package/esm2022/lib/view-context/api/model/multiComboBoxElement.mjs +13 -0
- package/esm2022/lib/view-context/api/model/multiComboBoxModel.mjs +2 -0
- package/esm2022/lib/view-context/api/model/namedValidator.mjs +19 -0
- package/esm2022/lib/view-context/api/model/openPendingData.mjs +2 -0
- package/esm2022/lib/view-context/api/model/serverRequestExecutionStat.mjs +2 -0
- package/esm2022/lib/view-context/api/model/serverRequestTrack.mjs +2 -0
- package/esm2022/lib/view-context/api/model/serverRequestType.mjs +24 -0
- package/esm2022/lib/view-context/api/model/smartLinkData.mjs +2 -0
- package/esm2022/lib/view-context/api/model/smartLinkMigrationStatus.mjs +8 -0
- package/esm2022/lib/view-context/api/model/statisticRecord.mjs +13 -0
- package/esm2022/lib/view-context/api/model/style.mjs +13 -0
- package/esm2022/lib/view-context/api/model/uiAction.mjs +2 -0
- package/esm2022/lib/view-context/api/model/uiActionButtonDescriptor.mjs +2 -0
- package/esm2022/lib/view-context/api/model/uiActionButtonType.mjs +27 -0
- package/esm2022/lib/view-context/api/model/uiActionConstraint.mjs +13 -0
- package/esm2022/lib/view-context/api/model/uiActionDefinition.mjs +2 -0
- package/esm2022/lib/view-context/api/model/uiActionDefinitionEntry.mjs +2 -0
- package/esm2022/lib/view-context/api/model/uiActionDescriptor.mjs +2 -0
- package/esm2022/lib/view-context/api/model/uiActionDialogDescriptor.mjs +2 -0
- package/esm2022/lib/view-context/api/model/uiActionFeedbackType.mjs +20 -0
- package/esm2022/lib/view-context/api/model/uiActionInputType.mjs +21 -0
- package/esm2022/lib/view-context/api/model/uiActionRequest.mjs +13 -0
- package/esm2022/lib/view-context/api/model/uiActionSchedule.mjs +13 -0
- package/esm2022/lib/view-context/api/model/uiActionTooltip.mjs +22 -0
- package/esm2022/lib/view-context/api/model/uiActionUploadDescriptor.mjs +2 -0
- package/esm2022/lib/view-context/api/model/uploadWidgetType.mjs +18 -0
- package/esm2022/lib/view-context/api/model/uploadedFile.mjs +2 -0
- package/esm2022/lib/view-context/api/model/valueSet.mjs +2 -0
- package/esm2022/lib/view-context/api/model/view.mjs +2 -0
- package/esm2022/lib/view-context/api/model/viewApiError.mjs +13 -0
- package/esm2022/lib/view-context/api/model/viewConstraint.mjs +2 -0
- package/esm2022/lib/view-context/api/model/viewContext.mjs +2 -0
- package/esm2022/lib/view-context/api/model/viewContextChange.mjs +2 -0
- package/esm2022/lib/view-context/api/model/viewContextData.mjs +2 -0
- package/esm2022/lib/view-context/api/model/viewContextUpdate.mjs +2 -0
- package/esm2022/lib/view-context/api/model/viewData.mjs +2 -0
- package/esm2022/lib/view-context/api/model/viewEventHandler.mjs +8 -0
- package/esm2022/lib/view-context/api/model/viewPlaceholder.mjs +13 -0
- package/esm2022/lib/view-context/api/model/viewState.mjs +22 -0
- package/esm2022/lib/view-context/api/model/viewStateUpdate.mjs +2 -0
- package/esm2022/lib/view-context/api/model/viewType.mjs +18 -0
- package/esm2022/lib/view-context/api/param.mjs +2 -0
- package/esm2022/lib/view-context/api/variables.mjs +9 -0
- package/esm2022/lib/view-context/default-view-components.token.mjs +9 -0
- package/esm2022/lib/view-context/invalid-fields-snack-bar/invalid-fields-snack-bar.component.mjs +20 -0
- package/esm2022/lib/view-context/message-dialog/message-dialog.component.mjs +93 -0
- package/esm2022/lib/view-context/projects.mjs +29 -0
- package/esm2022/lib/view-context/property-definition-data.mjs +2 -0
- package/esm2022/lib/view-context/reuse-router-slot.token.mjs +4 -0
- package/esm2022/lib/view-context/smart-embedded-slot.directive.mjs +57 -0
- package/esm2022/lib/view-context/smart-ui-action/components/menu/menu.component.mjs +199 -0
- package/esm2022/lib/view-context/smart-ui-action/components/menu/menu.constants.mjs +72 -0
- package/esm2022/lib/view-context/smart-ui-action/components/menu/menu.service.mjs +21 -0
- package/esm2022/lib/view-context/smart-ui-action/components/success-snack-bar/success-snack-bar.component.mjs +30 -0
- package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/photo-capture-widget/photo-capture-widget.component.mjs +198 -0
- package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/prime-file-uploader/prime-file-uploader.component.mjs +95 -0
- package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/upload-widget.component.mjs +134 -0
- package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/upload-widget.utils.mjs +12 -0
- package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/voice-record-widget/voice-record-widget.component.mjs +256 -0
- package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.component.mjs +77 -0
- package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.service.mjs +54 -0
- package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-dialog-button/ui-action-dialog-button.component.mjs +60 -0
- package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.component.mjs +106 -0
- package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.service.mjs +60 -0
- package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-input-dialog/ui-action-input-dialog.component.mjs +132 -0
- package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-input-dialog/ui-action-input-dialog.service.mjs +58 -0
- package/esm2022/lib/view-context/smart-ui-action/file-editor-toolbar/file-editor-toolbar.component.mjs +33 -0
- package/esm2022/lib/view-context/smart-ui-action/ui-action-button/ui-action-button.component.mjs +215 -0
- package/esm2022/lib/view-context/smart-ui-action/ui-action-toolbar.component.mjs +319 -0
- package/esm2022/lib/view-context/smart-ui-action/ui-action.descriptor.service.mjs +185 -0
- package/esm2022/lib/view-context/smart-ui-action/ui-action.model.mjs +7 -0
- package/esm2022/lib/view-context/smart-ui-action/ui-action.service.mjs +235 -0
- package/esm2022/lib/view-context/smart-view-context-dialog.service.mjs +77 -0
- package/esm2022/lib/view-context/smart-view-context-error-dialog/smart-view-context-error-dialog.component.mjs +35 -0
- package/esm2022/lib/view-context/smart-view-context-error-dialog/smart-view-context-error-dialog.service.mjs +74 -0
- package/esm2022/lib/view-context/smart-view-context.interceptor.mjs +63 -0
- package/esm2022/lib/view-context/smart-view-context.model.mjs +2 -0
- package/esm2022/lib/view-context/smart-view-context.module.mjs +397 -0
- package/esm2022/lib/view-context/smart-view-context.service.mjs +1074 -0
- package/esm2022/lib/view-context/smart-view-redirect/smart-view-redirect.mjs +41 -0
- package/esm2022/lib/view-context/utility/componentLibrary.mjs +9 -0
- package/esm2022/lib/view-context/utility/smart-object-utility.mjs +44 -0
- package/esm2022/lib/view-context/utility/smart-style-utility.mjs +68 -0
- package/esm2022/lib/view-context/value-api/api/api.mjs +4 -0
- package/esm2022/lib/view-context/value-api/api/value.service.mjs +138 -0
- package/esm2022/lib/view-context/value-api/api.module.mjs +40 -0
- package/esm2022/lib/view-context/value-api/configuration.mjs +91 -0
- package/esm2022/lib/view-context/value-api/encoder.mjs +19 -0
- package/esm2022/lib/view-context/value-api/index.mjs +7 -0
- package/esm2022/lib/view-context/value-api/model/genericValue.mjs +13 -0
- package/esm2022/lib/view-context/value-api/model/models.mjs +11 -0
- package/esm2022/lib/view-context/value-api/model/value.mjs +13 -0
- package/esm2022/lib/view-context/value-api/model/valueSetData.mjs +2 -0
- package/esm2022/lib/view-context/value-api/model/valueSetDefinition.mjs +2 -0
- package/esm2022/lib/view-context/value-api/model/valueSetDefinitionData.mjs +2 -0
- package/esm2022/lib/view-context/value-api/model/valueSetDefinitionIdentifier.mjs +13 -0
- package/esm2022/lib/view-context/value-api/model/valueSetDefinitionKind.mjs +24 -0
- package/esm2022/lib/view-context/value-api/model/valueSetExpression.mjs +2 -0
- package/esm2022/lib/view-context/value-api/model/valueSetOperand.mjs +2 -0
- package/esm2022/lib/view-context/value-api/model/valueSetOperation.mjs +19 -0
- package/esm2022/lib/view-context/value-api/param.mjs +2 -0
- package/esm2022/lib/view-context/value-api/variables.mjs +9 -0
- package/esm2022/lib/view-context/view-handler-resolution.mjs +21 -0
- package/esm2022/lib/view-context/view-op.mjs +41 -0
- package/esm2022/lib/view-context/view-slot-resolution.mjs +28 -0
- package/esm2022/projects.mjs +30 -0
- package/esm2022/smartbit4all-ng-client.mjs +5 -0
- package/fesm2022/smartbit4all-ng-client.mjs +8990 -4553
- package/fesm2022/smartbit4all-ng-client.mjs.map +1 -1
- package/lib/session/api/model/accountInfo.d.ts +2 -0
- package/lib/session/projects.d.ts +3 -0
- package/lib/session/smart-backend-bootstrap.config.d.ts +65 -0
- package/lib/session/smart-backend-bootstrap.service.d.ts +55 -0
- package/lib/session/smart-default-error-ui.service.d.ts +90 -0
- package/lib/session/smart-error-catching.interceptor.d.ts +4 -1
- package/lib/session/smart-session-handler.service.d.ts +2 -1
- package/lib/session/smart-session.service.d.ts +16 -1
- package/lib/session/smart-timer/smart-session-timer.component.d.ts +3 -1
- package/lib/smart-client/projects.d.ts +0 -1
- package/lib/smart-client/smart-component-api-client.d.ts +45 -19
- package/lib/smart-client/smart.component.d.ts +7 -5
- package/lib/smart-client/smart.service.d.ts +4 -5
- package/lib/smart-component-layout/api/model/componentWidgetType.d.ts +3 -1
- package/lib/smart-component-layout/api/model/layoutDefinitionDescriptor.d.ts +19 -0
- package/lib/smart-component-layout/api/model/models.d.ts +3 -0
- package/lib/smart-component-layout/api/model/smartComponentLayoutDefinition.d.ts +2 -0
- package/lib/smart-component-layout/api/model/smartComponentWidgetDefinition.d.ts +6 -0
- package/{src/lib/smart-chart/smart-chart/api/model/chartData.d.ts → lib/smart-component-layout/api/model/toolbarDirection.d.ts} +5 -6
- package/lib/smart-component-layout/api/model/toolbarProperties.d.ts +16 -0
- package/lib/smart-component-layout/smart-component-layout-utility.d.ts +9 -1
- package/lib/smart-component-layout/smart-component-layout.component.d.ts +31 -5
- package/lib/smart-component-layout/smart-component-layout.module.d.ts +4 -1
- package/lib/smart-diagram/api/api/api.d.ts +3 -0
- package/lib/smart-diagram/api/api/diagramService.service.d.ts +36 -0
- package/lib/smart-diagram/api/encoder.d.ts +11 -0
- package/{src/lib/smart-chart/smart-chart/smart-chart2 → lib/smart-diagram}/api/model/diagramColor.d.ts +2 -2
- package/{src/lib/smart-chart/smart-chart/smart-chart2 → lib/smart-diagram}/api/model/diagramDataContainer.d.ts +2 -3
- package/{src/lib/smart-chart/smart-chart/smart-chart2 → lib/smart-diagram}/api/model/diagramDataItem.d.ts +3 -3
- package/{src/lib/smart-chart/smart-chart/smart-chart2 → lib/smart-diagram}/api/model/diagramDataSet.d.ts +4 -4
- package/{src/lib/smart-chart/smart-chart/smart-chart2 → lib/smart-diagram}/api/model/diagramDescriptor.d.ts +13 -9
- package/{src/lib/smart-chart/smart-chart/smart-chart2/api/model/diagramUiModel.d.ts → lib/smart-diagram/api/model/diagramModel.d.ts} +5 -4
- package/{src/lib/smart-chart/smart-chart/smart-chart2 → lib/smart-diagram}/api/model/diagramShape.d.ts +2 -2
- package/{src/lib/smart-chart/smart-chart/smart-chart2 → lib/smart-diagram}/api/model/drawTime.d.ts +2 -2
- package/{src/lib/smart-chart/smart-chart/smart-chart2 → lib/smart-diagram}/api/model/labelText.d.ts +2 -2
- package/{src/lib/smart-chart/smart-chart/smart-chart2 → lib/smart-diagram}/api/model/models.d.ts +1 -2
- package/lib/smart-diagram/component/default-smart-diagram-options.provider.d.ts +33 -0
- package/lib/smart-diagram/component/smart-diagram.component.d.ts +43 -0
- package/lib/smart-diagram/component/smart-diagram.module.d.ts +11 -0
- package/lib/smart-diagram/component/smart-diagram.util.d.ts +1 -0
- package/lib/smart-diagram/projects.d.ts +4 -0
- package/lib/smart-dialog/smartdialog.model.d.ts +2 -1
- package/lib/smart-dialog/smartdialog.module.d.ts +1 -2
- package/lib/smart-dialog/smartdialog.service.d.ts +1 -3
- package/lib/smart-expandable-section/expandable-section.component.d.ts +3 -1
- package/lib/smart-expandable-section/expandable-section.model.d.ts +1 -0
- package/lib/smart-expandable-section/smart-expandable-section.module.d.ts +2 -1
- package/lib/smart-filter-editor/smart-filter-editor.service.d.ts +4 -2
- package/{src/lib/smart-chart/smart-chart/api/model/chartOrientation.d.ts → lib/smart-form/api/model/dateFieldProperties.d.ts} +6 -7
- package/lib/smart-form/api/model/fileUploaderProperties.d.ts +20 -0
- package/lib/smart-form/api/model/imageProperties.d.ts +15 -0
- package/lib/smart-form/api/model/models.d.ts +7 -0
- package/lib/smart-form/api/model/multiFileUploaderProperties.d.ts +19 -0
- package/lib/smart-form/api/model/recordingUploaderProperties.d.ts +20 -0
- package/lib/smart-form/api/model/selectionDefinition.d.ts +17 -0
- package/lib/smart-form/api/model/smartFormWidgetType.d.ts +4 -1
- package/lib/smart-form/api/model/smartWidgetDefinition.d.ts +5 -0
- package/lib/smart-form/api/model/textBoxProperties.d.ts +15 -0
- package/{src/lib/smart-chart/smart-chart/api/model/chartValue.d.ts → lib/smart-form/api/model/textFieldProperties.d.ts} +4 -6
- package/lib/smart-form/api/model/valueChangeMode.d.ts +3 -2
- package/lib/smart-form/projects.d.ts +3 -0
- package/lib/smart-form/services/smartform.layout-definition.service.d.ts +6 -2
- package/lib/smart-form/services/smartform.service.d.ts +3 -2
- package/lib/smart-form/smartfileuploader/smartfileuploader.component.d.ts +19 -3
- package/lib/smart-form/smartform.component.d.ts +3 -2
- package/lib/smart-form/smartform.form-model.d.ts +160 -11
- package/lib/smart-form/widgets/components/smart-file-editor/smart-file-editor.component.d.ts +54 -0
- package/lib/smart-form/widgets/components/smart-multi-file-editor/smart-multi-file-editor.component.d.ts +57 -0
- package/lib/smart-form/widgets/components/smart-voice-recorder/smart-voice-recorder.component.d.ts +50 -0
- package/lib/smart-form/widgets/smartformwidget/smartformwidget.component.d.ts +38 -7
- package/lib/smart-generic-pages/acl-editing-view/acl-editing-view.component.d.ts +21 -0
- package/lib/smart-generic-pages/api/platform/acl/model/aCL.d.ts +18 -0
- package/lib/smart-generic-pages/api/platform/acl/model/aCLEntry.d.ts +54 -0
- package/lib/smart-generic-pages/api/platform/acl/model/objectValidationSeverity.d.ts +19 -0
- package/lib/smart-generic-pages/api/platform/acl/model/subject.d.ts +24 -0
- package/lib/smart-generic-pages/api/platform/api-default/objectHistoryRangeData.d.ts +2 -0
- package/lib/smart-generic-pages/api/platform/searchpage/model/searchPageModel.d.ts +27 -0
- package/lib/smart-generic-pages/api/platform/subjectselector/model/subjectSelectorPageModel.d.ts +14 -0
- package/lib/smart-generic-pages/api/platform/validation/model/validationItem.d.ts +17 -0
- package/lib/smart-generic-pages/api/platform/validation/model/validationResultPageModel.d.ts +18 -0
- package/lib/smart-generic-pages/generic-page/generic-page.component.d.ts +12 -0
- package/lib/smart-generic-pages/invalid-smartlink/invalid-smartlink.component.d.ts +11 -0
- package/lib/smart-generic-pages/no-permission-page/no-permission-page.component.d.ts +11 -0
- package/lib/smart-generic-pages/projects.d.ts +9 -0
- package/lib/smart-generic-pages/search-page/search-page.component.d.ts +25 -0
- package/lib/smart-generic-pages/smart-generic-pages.module.d.ts +19 -0
- package/lib/smart-generic-pages/subject-selector/subject-selector.component.d.ts +17 -0
- package/lib/smart-generic-pages/validation-result-page/validation-result-page.component.d.ts +25 -0
- package/lib/smart-grid/api/grid-api/api/grid.service.d.ts +27 -6
- package/lib/smart-grid/api/grid-api/model/gridDataAccessConfig.d.ts +4 -0
- package/lib/smart-grid/api/grid-api/model/gridExportDescriptor.d.ts +2 -2
- package/lib/smart-grid/api/grid-api/model/gridModel.d.ts +2 -0
- package/lib/smart-grid/api/grid-api/model/gridSelectionChange.d.ts +6 -0
- package/lib/smart-grid/components/generic-component/expanded-row-renderer.component.d.ts +21 -0
- package/lib/smart-grid/components/smart-grid-card/smart-grid-card.component.d.ts +1 -0
- package/lib/smart-grid/components/table-layout-definer/table-layout-definer.component.d.ts +1 -0
- package/lib/smart-grid/smart-grid-toolbar-util.d.ts +1 -0
- package/lib/smart-grid/smart-grid.component.d.ts +20 -6
- package/lib/smart-grid/smart-grid.module.d.ts +20 -21
- package/lib/smart-grid/smart-grid.service.d.ts +2 -0
- package/lib/smart-icon/projects.d.ts +2 -0
- package/lib/smart-icon/smart-icon/smart-icon.component.d.ts +10 -4
- package/lib/smart-icon/smart-icon/ui-badge/ui-badge.component.d.ts +12 -0
- package/lib/smart-icon/smart-icon/ui-badge/ui-badge.directive.d.ts +14 -0
- package/lib/smart-icon/smart-icon.module.d.ts +8 -5
- package/lib/smart-map/abstract-map.d.ts +1 -1
- package/lib/smart-navigation/smart-navigation.interface.d.ts +1 -7
- package/lib/smart-navigation/smart-navigation.service.d.ts +2 -8
- package/lib/smart-ng-client.module.d.ts +3 -4
- package/lib/smart-tab-group/projects.d.ts +0 -4
- package/lib/smart-tab-group/smart-tab-group.module.d.ts +5 -8
- package/lib/smart-table/tables/material-table/material-table.component.d.ts +2 -3
- package/lib/smart-table/tables/mobile-table/mobile-table.component.d.ts +1 -2
- package/lib/smart-table/tables/table.d.ts +5 -5
- package/lib/smart-tree/smarttree-generic.service.d.ts +0 -1
- package/lib/smart-tree/smarttree.component.d.ts +1 -0
- package/lib/smart-tree/smarttree.model.d.ts +1 -0
- package/lib/smart-tree/smarttree.service.d.ts +1 -0
- package/lib/view-context/api/api/view.service.d.ts +14 -13
- package/lib/view-context/api/api-default/invocationRun.d.ts +2 -0
- package/lib/view-context/api/model/backgroundProcessInfo.d.ts +25 -0
- package/lib/view-context/api/model/componentModel.d.ts +5 -0
- package/lib/view-context/api/model/deviceInfo.d.ts +4 -0
- package/lib/view-context/api/model/iconPosition.d.ts +2 -1
- package/lib/view-context/api/model/imageResource.d.ts +2 -0
- package/lib/view-context/api/model/messageOption.d.ts +2 -0
- package/lib/view-context/api/model/models.d.ts +6 -0
- package/lib/view-context/api/model/multiComboBoxElement.d.ts +16 -0
- package/lib/view-context/api/model/multiComboBoxModel.d.ts +16 -0
- package/lib/view-context/api/model/namedValidator.d.ts +1 -0
- package/lib/view-context/api/model/smartLinkData.d.ts +3 -0
- package/lib/view-context/api/model/uiAction.d.ts +8 -0
- package/lib/view-context/api/model/uiActionDefinition.d.ts +19 -0
- package/lib/view-context/api/model/uiActionDefinitionEntry.d.ts +18 -0
- package/lib/view-context/api/model/uiActionDescriptor.d.ts +4 -0
- package/lib/view-context/api/model/uiActionRequest.d.ts +3 -0
- package/lib/view-context/api/model/uiActionSchedule.d.ts +14 -0
- package/lib/view-context/api/model/uiActionUploadDescriptor.d.ts +2 -0
- package/lib/view-context/api/model/view.d.ts +7 -0
- package/lib/view-context/api/model/viewContext.d.ts +1 -0
- package/lib/view-context/api/model/viewData.d.ts +2 -0
- package/lib/view-context/api/model/viewEventHandler.d.ts +5 -0
- package/lib/view-context/api/model/viewPlaceholder.d.ts +1 -0
- package/lib/view-context/default-view-components.token.d.ts +18 -0
- package/lib/view-context/message-dialog/message-dialog.component.d.ts +1 -0
- package/lib/view-context/projects.d.ts +8 -3
- package/lib/view-context/reuse-router-slot.token.d.ts +3 -0
- package/lib/view-context/smart-embedded-slot.directive.d.ts +20 -0
- package/lib/view-context/smart-ui-action/components/menu/menu.component.d.ts +6 -2
- package/lib/view-context/smart-ui-action/components/upload-widget/prime-file-uploader/prime-file-uploader.component.d.ts +32 -0
- package/lib/view-context/smart-ui-action/components/upload-widget/upload-widget.component.d.ts +40 -0
- package/lib/view-context/smart-ui-action/components/upload-widget/upload-widget.utils.d.ts +3 -0
- package/lib/view-context/smart-ui-action/{dialogs/ui-action-file-upload-dialog → components/upload-widget}/voice-record-widget/voice-record-widget.component.d.ts +15 -6
- package/lib/view-context/smart-ui-action/dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.service.d.ts +1 -2
- package/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.component.d.ts +2 -16
- package/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.service.d.ts +3 -3
- package/lib/view-context/smart-ui-action/dialogs/ui-action-input-dialog/ui-action-input-dialog.service.d.ts +1 -2
- package/lib/view-context/smart-ui-action/file-editor-toolbar/file-editor-toolbar.component.d.ts +13 -0
- package/lib/view-context/smart-ui-action/ui-action-button/ui-action-button.component.d.ts +14 -7
- package/lib/view-context/smart-ui-action/ui-action-toolbar.component.d.ts +27 -3
- package/lib/view-context/smart-ui-action/ui-action.service.d.ts +4 -3
- package/lib/view-context/smart-view-context-dialog.service.d.ts +1 -3
- package/lib/view-context/smart-view-context-error-dialog/smart-view-context-error-dialog.service.d.ts +1 -2
- package/lib/view-context/smart-view-context.model.d.ts +7 -2
- package/lib/view-context/smart-view-context.module.d.ts +74 -65
- package/lib/view-context/smart-view-context.service.d.ts +55 -8
- package/lib/view-context/smart-view-redirect/smart-view-redirect.d.ts +3 -1
- package/lib/view-context/view-handler-resolution.d.ts +11 -0
- package/lib/view-context/view-op.d.ts +18 -0
- package/lib/view-context/view-slot-resolution.d.ts +27 -0
- package/package.json +16 -18
- package/projects.d.ts +2 -0
- package/smartbit4all-ng-client-6.0.1.tgz +0 -0
- package/fesm2022/smartbit4all-ng-client-src-lib-smart-chart.mjs +0 -686
- package/fesm2022/smartbit4all-ng-client-src-lib-smart-chart.mjs.map +0 -1
- package/lib/smart-client/smart-authentication.service.d.ts +0 -15
- package/lib/smart-tab-group/smart-tab-group.component.d.ts +0 -21
- package/lib/smart-tab-group/smart-tab-group.service.d.ts +0 -6
- package/lib/smart-tab-group/tab-content/tab-content.component.d.ts +0 -14
- package/lib/smart-tab-group/tab-group-simplified/tab-group.component.d.ts +0 -29
- package/lib/smart-tab-group/tabTile.model.d.ts +0 -8
- package/lib/view-context/smart-ui-action/components/action-badge/action-badge.component.d.ts +0 -12
- package/smartbit4all-ng-client-5.0.21.tgz +0 -0
- package/src/lib/smart-chart/index.d.ts +0 -5
- package/src/lib/smart-chart/smart-chart/api/model/chartDescriptor.d.ts +0 -37
- package/src/lib/smart-chart/smart-chart/api/model/chartType.d.ts +0 -21
- package/src/lib/smart-chart/smart-chart/api/model/models.d.ts +0 -6
- package/src/lib/smart-chart/smart-chart/api/model/pieChartLegendPosition.d.ts +0 -16
- package/src/lib/smart-chart/smart-chart/default-chart-options.provider.d.ts +0 -31
- package/src/lib/smart-chart/smart-chart/smart-chart.component.d.ts +0 -33
- package/src/lib/smart-chart/smart-chart/smart-chart.module.d.ts +0 -11
- package/src/lib/smart-chart/smart-chart/smart-chart2/api/api/api.d.ts +0 -1
- package/src/lib/smart-chart/smart-chart/smart-chart2/api/model/diagramDataSetConstructionInstruction.d.ts +0 -21
- package/src/lib/smart-chart/smart-chart-projects.d.ts +0 -5
- package/src/lib/smart-chart/view-context/utility/componentLibrary.d.ts +0 -6
- /package/{src/lib/smart-chart/smart-chart/smart-chart2 → lib/smart-diagram}/api/api.module.d.ts +0 -0
- /package/{src/lib/smart-chart/smart-chart/smart-chart2 → lib/smart-diagram}/api/configuration.d.ts +0 -0
- /package/{src/lib/smart-chart/smart-chart/smart-chart2 → lib/smart-diagram}/api/index.d.ts +0 -0
- /package/{src/lib/smart-chart/smart-chart/smart-chart2 → lib/smart-diagram}/api/param.d.ts +0 -0
- /package/{src/lib/smart-chart/smart-chart/smart-chart2 → lib/smart-diagram}/api/variables.d.ts +0 -0
- /package/lib/view-context/smart-ui-action/{dialogs/ui-action-file-upload-dialog → components/upload-widget}/photo-capture-widget/photo-capture-widget.component.d.ts +0 -0
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
import { Component, ElementRef, ViewChild, Input, Inject, Optional, EventEmitter, Output, } from '@angular/core';
|
|
2
|
+
import WaveSurfer from 'wavesurfer.js';
|
|
3
|
+
import RecordPlugin from 'wavesurfer.js/dist/plugins/record.js';
|
|
4
|
+
import { COMPONENT_LIBRARY, ComponentLibrary } from '../../../../utility/componentLibrary';
|
|
5
|
+
import { IconPosition, UiActionButtonType } from '../../../../api';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/common";
|
|
8
|
+
import * as i2 from "../../../ui-action-button/ui-action-button.component";
|
|
9
|
+
export class VoiceRecordWidgetComponent {
|
|
10
|
+
constructor(compLib, ngZone, changeDetectorRef) {
|
|
11
|
+
this.ngZone = ngZone;
|
|
12
|
+
this.changeDetectorRef = changeDetectorRef;
|
|
13
|
+
this.openDirection = 'RIGHT';
|
|
14
|
+
this.recordingSaved = new EventEmitter();
|
|
15
|
+
this.componentLibrary = ComponentLibrary;
|
|
16
|
+
this.isRecording = false;
|
|
17
|
+
this.recordedBlob = null;
|
|
18
|
+
this.time = '00:00';
|
|
19
|
+
this.isPlaying = false;
|
|
20
|
+
this.isWaveformOpen = false;
|
|
21
|
+
this.micButton = {
|
|
22
|
+
title: '',
|
|
23
|
+
type: UiActionButtonType.ICON,
|
|
24
|
+
icon: 'microphone',
|
|
25
|
+
iconPosition: IconPosition.PRE,
|
|
26
|
+
color: 'primary',
|
|
27
|
+
};
|
|
28
|
+
this.stopButton = {
|
|
29
|
+
title: '',
|
|
30
|
+
type: UiActionButtonType.ICON,
|
|
31
|
+
icon: 'stop-circle',
|
|
32
|
+
iconPosition: IconPosition.PRE,
|
|
33
|
+
iconColor: 'red',
|
|
34
|
+
color: 'primary',
|
|
35
|
+
};
|
|
36
|
+
this.saveButton = {
|
|
37
|
+
title: '',
|
|
38
|
+
type: UiActionButtonType.ICON,
|
|
39
|
+
icon: 'save',
|
|
40
|
+
iconPosition: IconPosition.PRE,
|
|
41
|
+
color: 'primary',
|
|
42
|
+
};
|
|
43
|
+
this.compLib = compLib ?? ComponentLibrary.PRIMENG;
|
|
44
|
+
}
|
|
45
|
+
ngOnInit() {
|
|
46
|
+
this.playButton = {
|
|
47
|
+
title: '',
|
|
48
|
+
type: UiActionButtonType.ICON,
|
|
49
|
+
icon: this.compLib === ComponentLibrary.PRIMENG ? 'play-circle' : 'play_circle',
|
|
50
|
+
iconPosition: IconPosition.PRE,
|
|
51
|
+
color: 'primary',
|
|
52
|
+
};
|
|
53
|
+
this.stopPlaybackButton = {
|
|
54
|
+
title: '',
|
|
55
|
+
type: UiActionButtonType.ICON,
|
|
56
|
+
icon: this.compLib === ComponentLibrary.PRIMENG ? 'stop-circle' : 'stop_circle',
|
|
57
|
+
iconPosition: IconPosition.PRE,
|
|
58
|
+
color: 'red',
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
ngAfterViewInit() { }
|
|
62
|
+
get isLeftDirection() {
|
|
63
|
+
return this.openDirection === 'LEFT';
|
|
64
|
+
}
|
|
65
|
+
async initializeWaveSurferIfNeeded() {
|
|
66
|
+
if (this.wavesurfer || !this.waveformRef?.nativeElement) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
await new Promise((resolve) => requestAnimationFrame(() => resolve()));
|
|
70
|
+
this.waveformRef.nativeElement.style.padding = '0.1rem';
|
|
71
|
+
this.initWaveSurfer();
|
|
72
|
+
}
|
|
73
|
+
initWaveSurfer() {
|
|
74
|
+
let body = document.querySelector('body');
|
|
75
|
+
let primaryColor = getComputedStyle(document.documentElement)
|
|
76
|
+
.getPropertyValue('--primary-color')
|
|
77
|
+
.trim();
|
|
78
|
+
let el = this.mainButton.nativeElement.querySelector('.sb4-primary');
|
|
79
|
+
let remInPx = parseFloat(getComputedStyle(document.documentElement).fontSize);
|
|
80
|
+
let height = (el?.getBoundingClientRect().height ?? 0) - remInPx * 0.1;
|
|
81
|
+
this.wavesurfer = WaveSurfer.create({
|
|
82
|
+
container: this.waveformRef.nativeElement,
|
|
83
|
+
waveColor: primaryColor,
|
|
84
|
+
progressColor: this.addAlphaToColor(primaryColor, 0.5),
|
|
85
|
+
height: height,
|
|
86
|
+
barWidth: 5,
|
|
87
|
+
barGap: 1,
|
|
88
|
+
barRadius: 5,
|
|
89
|
+
});
|
|
90
|
+
this.wavesurfer.setVolume(1);
|
|
91
|
+
//So we support Safari
|
|
92
|
+
const mimeType = MediaRecorder.isTypeSupported('audio/webm') ? 'audio/webm' : 'audio/mp4';
|
|
93
|
+
this.record = this.wavesurfer.registerPlugin(RecordPlugin.create({
|
|
94
|
+
renderRecordedAudio: true,
|
|
95
|
+
scrollingWaveform: true,
|
|
96
|
+
continuousWaveform: false,
|
|
97
|
+
continuousWaveformDuration: 15,
|
|
98
|
+
mimeType,
|
|
99
|
+
}));
|
|
100
|
+
this.wavesurfer.on('dblclick', () => {
|
|
101
|
+
this.updateViewState(() => {
|
|
102
|
+
this.wavesurfer?.play();
|
|
103
|
+
this.isPlaying = true;
|
|
104
|
+
});
|
|
105
|
+
});
|
|
106
|
+
this.record.on('record-end', (blob) => {
|
|
107
|
+
this.updateViewState(() => {
|
|
108
|
+
this.recordedBlob = blob;
|
|
109
|
+
this.isRecording = false;
|
|
110
|
+
});
|
|
111
|
+
});
|
|
112
|
+
this.record.on('record-progress', (time) => {
|
|
113
|
+
this.updateViewState(() => {
|
|
114
|
+
this.updateProgress(time);
|
|
115
|
+
});
|
|
116
|
+
});
|
|
117
|
+
this.wavesurfer.on('finish', () => {
|
|
118
|
+
this.updateViewState(() => {
|
|
119
|
+
this.isPlaying = false;
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
async startRecording() {
|
|
124
|
+
const confirmed = await this.checkHasRecorded();
|
|
125
|
+
if (!confirmed || this.isRecording)
|
|
126
|
+
return;
|
|
127
|
+
// Initialize first (still within the gesture tick on most browsers)
|
|
128
|
+
await this.initializeWaveSurferIfNeeded();
|
|
129
|
+
if (!this.record)
|
|
130
|
+
throw new Error('Voice recorder plugin is not initialized.');
|
|
131
|
+
this.updateViewState(() => {
|
|
132
|
+
this.isWaveformOpen = true;
|
|
133
|
+
this.isRecording = true;
|
|
134
|
+
this.isPlaying = false;
|
|
135
|
+
this.recordedBlob = null;
|
|
136
|
+
this.time = '00:00';
|
|
137
|
+
});
|
|
138
|
+
try {
|
|
139
|
+
// Force native mic permission first so it works with WKWebView
|
|
140
|
+
const stream = await navigator.mediaDevices.getUserMedia({ audio: true });
|
|
141
|
+
stream.getTracks().forEach((track) => track.stop());
|
|
142
|
+
await this.record.startRecording();
|
|
143
|
+
}
|
|
144
|
+
catch (error) {
|
|
145
|
+
console.error('Mic failed', error);
|
|
146
|
+
this.updateViewState(() => {
|
|
147
|
+
this.isRecording = false;
|
|
148
|
+
this.isWaveformOpen = !!this.recordedBlob;
|
|
149
|
+
});
|
|
150
|
+
throw error;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
async checkHasRecorded() {
|
|
154
|
+
if (this.recordedBlob) {
|
|
155
|
+
}
|
|
156
|
+
return true;
|
|
157
|
+
}
|
|
158
|
+
updateProgress(time) {
|
|
159
|
+
let formattedTime = [Math.floor((time % 3600000) / 60000), Math.floor((time % 60000) / 1000)]
|
|
160
|
+
.map((v) => (v < 10 ? '0' + v : v))
|
|
161
|
+
.join(':');
|
|
162
|
+
this.time = formattedTime;
|
|
163
|
+
}
|
|
164
|
+
stopRecording() {
|
|
165
|
+
if (this.record && this.isRecording) {
|
|
166
|
+
this.record.stopRecording();
|
|
167
|
+
this.updateViewState(() => {
|
|
168
|
+
this.isRecording = false;
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
saveRecording() {
|
|
173
|
+
if (this.recordedBlob) {
|
|
174
|
+
let now = new Date();
|
|
175
|
+
let formattedDate = now.toLocaleString('sv-SE').replace(' ', '_').replace(/:/g, '-');
|
|
176
|
+
//Safari support
|
|
177
|
+
let mimeType = this.recordedBlob.type || 'audio/mp4';
|
|
178
|
+
let ext = mimeType.includes('webm') ? 'webm' : 'mp4';
|
|
179
|
+
let fileName = `recording_${formattedDate}.${ext}`;
|
|
180
|
+
let file = new File([this.recordedBlob], fileName, { type: mimeType });
|
|
181
|
+
this.recordingSaved.emit(file);
|
|
182
|
+
// Destroy completely so next recording initializes fresh
|
|
183
|
+
this.wavesurfer?.destroy();
|
|
184
|
+
this.wavesurfer = undefined;
|
|
185
|
+
this.record = undefined;
|
|
186
|
+
this.updateViewState(() => {
|
|
187
|
+
this.recordedBlob = null;
|
|
188
|
+
this.time = '00:00';
|
|
189
|
+
this.isPlaying = false;
|
|
190
|
+
this.isWaveformOpen = false;
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
replayRecording() {
|
|
195
|
+
if (this.recordedBlob) {
|
|
196
|
+
this.updateViewState(() => {
|
|
197
|
+
this.isPlaying = !this.isPlaying;
|
|
198
|
+
this.wavesurfer?.playPause();
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
ngOnDestroy() {
|
|
203
|
+
if (this.wavesurfer) {
|
|
204
|
+
this.wavesurfer.destroy();
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
addAlphaToColor(hexColor, alpha) {
|
|
208
|
+
if (/^#([a-f\d])([a-f\d])([a-f\d])$/i.test(hexColor)) {
|
|
209
|
+
hexColor = hexColor.replace(/^#([a-f\d])([a-f\d])([a-f\d])$/i, (_, r, g, b) => `#${r}${r}${g}${g}${b}${b}`);
|
|
210
|
+
}
|
|
211
|
+
const hexMatch = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hexColor);
|
|
212
|
+
if (hexMatch) {
|
|
213
|
+
const [, r, g, b] = hexMatch;
|
|
214
|
+
return `rgba(${parseInt(r, 16)}, ${parseInt(g, 16)}, ${parseInt(b, 16)}, ${alpha})`;
|
|
215
|
+
}
|
|
216
|
+
const ctx = document.createElement('canvas').getContext('2d');
|
|
217
|
+
if (ctx) {
|
|
218
|
+
ctx.fillStyle = hexColor;
|
|
219
|
+
const parsed = ctx.fillStyle;
|
|
220
|
+
const rgbMatch = /^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/.exec(parsed);
|
|
221
|
+
if (rgbMatch) {
|
|
222
|
+
const [, r, g, b] = rgbMatch;
|
|
223
|
+
return `rgba(${r}, ${g}, ${b}, ${alpha})`;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
return hexColor;
|
|
227
|
+
}
|
|
228
|
+
updateViewState(update) {
|
|
229
|
+
this.ngZone.run(() => {
|
|
230
|
+
update();
|
|
231
|
+
this.changeDetectorRef.markForCheck();
|
|
232
|
+
});
|
|
233
|
+
}
|
|
234
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: VoiceRecordWidgetComponent, deps: [{ token: COMPONENT_LIBRARY, optional: true }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
235
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: VoiceRecordWidgetComponent, selector: "voice-record-widget", inputs: { openDirection: "openDirection" }, outputs: { recordingSaved: "recordingSaved" }, viewQueries: [{ propertyName: "waveformRef", first: true, predicate: ["waveform"], descendants: true }, { propertyName: "mainButton", first: true, predicate: ["mainButton"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div\n class=\"recorderContainer\"\n [class.direction-left]=\"isLeftDirection\"\n [class.direction-right]=\"!isLeftDirection\"\n [class.active]=\"isWaveformOpen || isRecording || !!recordedBlob\"\n [class.isRecording]=\"isRecording\"\n [class.hasRecording]=\"recordedBlob\"\n>\n <div class=\"recorderMain\">\n <div class=\"recorderToolbar\">\n <!-- Start Recording -->\n <ui-action-button\n class=\"mainButton\"\n #mainButton\n *ngIf=\"!isRecording\"\n [descriptor]=\"micButton\"\n (actionClick)=\"startRecording()\"\n >\n </ui-action-button>\n\n <!-- Stop Recording -->\n <ui-action-button\n class=\"mainButton\"\n #mainButton\n *ngIf=\"isRecording\"\n [descriptor]=\"stopButton\"\n (actionClick)=\"stopRecording()\"\n >\n </ui-action-button>\n\n <!-- Save Recording -->\n <ui-action-button\n class=\"mainButton\"\n *ngIf=\"recordedBlob\"\n [descriptor]=\"saveButton\"\n (actionClick)=\"saveRecording()\"\n >\n </ui-action-button>\n\n <!-- Start Play -->\n <ui-action-button\n class=\"mainButton\"\n *ngIf=\"recordedBlob && !isPlaying\"\n [descriptor]=\"playButton\"\n (actionClick)=\"replayRecording()\"\n ></ui-action-button>\n\n <!-- Stop Play -->\n <ui-action-button\n class=\"mainButton\"\n *ngIf=\"recordedBlob && isPlaying\"\n [descriptor]=\"stopPlaybackButton\"\n (actionClick)=\"replayRecording()\"\n ></ui-action-button>\n\n @if (isRecording) {\n <div class=\"progress\">{{ time }}</div>\n }\n </div>\n\n <div class=\"waveformBand\" [class.open]=\"isWaveformOpen || isRecording || !!recordedBlob\">\n <div class=\"waveformGrid\"></div>\n <div class=\"waveform\" #waveform></div>\n </div>\n </div>\n</div>\n", styles: [":host{display:block;width:100%;min-width:0}:host ::ng-deep .waveform{height:unset!important}.recorderContainer{display:flex;flex-direction:row;justify-content:space-between;width:100%;min-width:0;align-items:center;gap:.5rem}.active ::ng-deep .recorderToolbar{border:1px solid #e5e7eb;border-radius:.5rem}.isRecording ::ng-deep .recorderToolbar{padding-right:1rem}.recorderToolbar ::ng-deep .sb4-red,.recorderToolbar ::ng-deep .sb4-primary{border:1px solid #e5e7eb;box-shadow:unset}.active ::ng-deep .recorderToolbar ::ng-deep .sb4-red,.active ::ng-deep .recorderToolbar ::ng-deep .sb4-primary{border:unset}.mainButton ::ng-deep .sb4-red,.mainButton ::ng-deep .sb4-primary{padding:.5rem .75rem}.recorderMain{display:flex;align-items:center;min-width:0;flex:1}.direction-right .recorderMain{flex-direction:row}.direction-left .recorderMain{flex-direction:row-reverse}.waveform{width:100%;height:45px}.waveformBand{position:relative;display:grid;align-items:center;width:0;max-width:0;min-width:0;opacity:0;overflow:hidden;border-radius:5px;flex:1 1 0;transform:scaleX(.96);will-change:opacity,transform,margin;transition:max-width .22s ease,opacity .18s ease,margin .22s ease,transform .22s ease}.waveformBand.open{min-width:35px;max-width:100%;opacity:1;transform:scaleX(1)}.direction-right .waveformBand{margin-left:0}.direction-left .waveformBand{margin-right:0}.direction-right .waveformBand.open{margin-left:.45rem}.direction-left .waveformBand.open{margin-right:.45rem}.waveformGrid{position:absolute;inset:0;border:1px solid #e5e7eb;border-radius:.5rem;background:repeating-linear-gradient(to right,rgba(148,163,184,.35) 0,rgba(148,163,184,.35) 2px,transparent 2px,transparent 8px),linear-gradient(to bottom,#94a3b814,#94a3b805);pointer-events:none}.recorderToolbar{background-color:transparent;display:flex;flex-direction:row;align-items:center}.progress{align-content:center;font-size:1rem;height:100%;color:#6b7280}.hasRecording ::ng-deep .recorderToolbar ui-action-button{border-right:1px solid #e5e7eb}.hasRecording ::ng-deep .recorderToolbar ui-action-button:last-child{border-right:unset}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.UiActionButtonComponent, selector: "ui-action-button", inputs: ["disabled", "descriptor", "code", "addedCssClass", "addBasicClasses"], outputs: ["actionClick", "actionDoubleClick"] }] }); }
|
|
236
|
+
}
|
|
237
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: VoiceRecordWidgetComponent, decorators: [{
|
|
238
|
+
type: Component,
|
|
239
|
+
args: [{ selector: 'voice-record-widget', template: "<div\n class=\"recorderContainer\"\n [class.direction-left]=\"isLeftDirection\"\n [class.direction-right]=\"!isLeftDirection\"\n [class.active]=\"isWaveformOpen || isRecording || !!recordedBlob\"\n [class.isRecording]=\"isRecording\"\n [class.hasRecording]=\"recordedBlob\"\n>\n <div class=\"recorderMain\">\n <div class=\"recorderToolbar\">\n <!-- Start Recording -->\n <ui-action-button\n class=\"mainButton\"\n #mainButton\n *ngIf=\"!isRecording\"\n [descriptor]=\"micButton\"\n (actionClick)=\"startRecording()\"\n >\n </ui-action-button>\n\n <!-- Stop Recording -->\n <ui-action-button\n class=\"mainButton\"\n #mainButton\n *ngIf=\"isRecording\"\n [descriptor]=\"stopButton\"\n (actionClick)=\"stopRecording()\"\n >\n </ui-action-button>\n\n <!-- Save Recording -->\n <ui-action-button\n class=\"mainButton\"\n *ngIf=\"recordedBlob\"\n [descriptor]=\"saveButton\"\n (actionClick)=\"saveRecording()\"\n >\n </ui-action-button>\n\n <!-- Start Play -->\n <ui-action-button\n class=\"mainButton\"\n *ngIf=\"recordedBlob && !isPlaying\"\n [descriptor]=\"playButton\"\n (actionClick)=\"replayRecording()\"\n ></ui-action-button>\n\n <!-- Stop Play -->\n <ui-action-button\n class=\"mainButton\"\n *ngIf=\"recordedBlob && isPlaying\"\n [descriptor]=\"stopPlaybackButton\"\n (actionClick)=\"replayRecording()\"\n ></ui-action-button>\n\n @if (isRecording) {\n <div class=\"progress\">{{ time }}</div>\n }\n </div>\n\n <div class=\"waveformBand\" [class.open]=\"isWaveformOpen || isRecording || !!recordedBlob\">\n <div class=\"waveformGrid\"></div>\n <div class=\"waveform\" #waveform></div>\n </div>\n </div>\n</div>\n", styles: [":host{display:block;width:100%;min-width:0}:host ::ng-deep .waveform{height:unset!important}.recorderContainer{display:flex;flex-direction:row;justify-content:space-between;width:100%;min-width:0;align-items:center;gap:.5rem}.active ::ng-deep .recorderToolbar{border:1px solid #e5e7eb;border-radius:.5rem}.isRecording ::ng-deep .recorderToolbar{padding-right:1rem}.recorderToolbar ::ng-deep .sb4-red,.recorderToolbar ::ng-deep .sb4-primary{border:1px solid #e5e7eb;box-shadow:unset}.active ::ng-deep .recorderToolbar ::ng-deep .sb4-red,.active ::ng-deep .recorderToolbar ::ng-deep .sb4-primary{border:unset}.mainButton ::ng-deep .sb4-red,.mainButton ::ng-deep .sb4-primary{padding:.5rem .75rem}.recorderMain{display:flex;align-items:center;min-width:0;flex:1}.direction-right .recorderMain{flex-direction:row}.direction-left .recorderMain{flex-direction:row-reverse}.waveform{width:100%;height:45px}.waveformBand{position:relative;display:grid;align-items:center;width:0;max-width:0;min-width:0;opacity:0;overflow:hidden;border-radius:5px;flex:1 1 0;transform:scaleX(.96);will-change:opacity,transform,margin;transition:max-width .22s ease,opacity .18s ease,margin .22s ease,transform .22s ease}.waveformBand.open{min-width:35px;max-width:100%;opacity:1;transform:scaleX(1)}.direction-right .waveformBand{margin-left:0}.direction-left .waveformBand{margin-right:0}.direction-right .waveformBand.open{margin-left:.45rem}.direction-left .waveformBand.open{margin-right:.45rem}.waveformGrid{position:absolute;inset:0;border:1px solid #e5e7eb;border-radius:.5rem;background:repeating-linear-gradient(to right,rgba(148,163,184,.35) 0,rgba(148,163,184,.35) 2px,transparent 2px,transparent 8px),linear-gradient(to bottom,#94a3b814,#94a3b805);pointer-events:none}.recorderToolbar{background-color:transparent;display:flex;flex-direction:row;align-items:center}.progress{align-content:center;font-size:1rem;height:100%;color:#6b7280}.hasRecording ::ng-deep .recorderToolbar ui-action-button{border-right:1px solid #e5e7eb}.hasRecording ::ng-deep .recorderToolbar ui-action-button:last-child{border-right:unset}\n"] }]
|
|
240
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
241
|
+
type: Inject,
|
|
242
|
+
args: [COMPONENT_LIBRARY]
|
|
243
|
+
}, {
|
|
244
|
+
type: Optional
|
|
245
|
+
}] }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }], propDecorators: { waveformRef: [{
|
|
246
|
+
type: ViewChild,
|
|
247
|
+
args: ['waveform']
|
|
248
|
+
}], mainButton: [{
|
|
249
|
+
type: ViewChild,
|
|
250
|
+
args: ['mainButton', { read: ElementRef }]
|
|
251
|
+
}], openDirection: [{
|
|
252
|
+
type: Input
|
|
253
|
+
}], recordingSaved: [{
|
|
254
|
+
type: Output
|
|
255
|
+
}] } });
|
|
256
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidm9pY2UtcmVjb3JkLXdpZGdldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL2NvbXBvbmVudHMvdXBsb2FkLXdpZGdldC92b2ljZS1yZWNvcmQtd2lkZ2V0L3ZvaWNlLXJlY29yZC13aWRnZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvdmlldy1jb250ZXh0L3NtYXJ0LXVpLWFjdGlvbi9jb21wb25lbnRzL3VwbG9hZC13aWRnZXQvdm9pY2UtcmVjb3JkLXdpZGdldC92b2ljZS1yZWNvcmQtd2lkZ2V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsVUFBVSxFQUVWLFNBQVMsRUFFVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFFBQVEsRUFDUixZQUFZLEVBQ1osTUFBTSxHQUdQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sVUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLFlBQVksTUFBTSxzQ0FBc0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRixPQUFPLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixFQUFzQixNQUFNLGlCQUFpQixDQUFDOzs7O0FBT3ZGLE1BQU0sT0FBTywwQkFBMEI7SUFnRHJDLFlBQ3lDLE9BQXFDLEVBQzNELE1BQWMsRUFDZCxpQkFBb0M7UUFEcEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUEvQzlDLGtCQUFhLEdBQXFCLE9BQU8sQ0FBQztRQUV6QyxtQkFBYyxH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U0FBUyxDQUFDO1lBQzdCLE1BQU0sUUFBUSxHQUFHLGtDQUFrQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNqRSxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUNiLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDO2dCQUM3QixPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssS0FBSyxHQUFHLENBQUM7WUFDNUMsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRU8sZUFBZSxDQUFDLE1BQWtCO1FBQ3hDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNuQixNQUFNLEVBQUUsQ0FBQztZQUNULElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBeFJVLDBCQUEwQixrQkFpRDNCLGlCQUFpQjttR0FqRGhCLDBCQUEwQixxVUFFSixVQUFVLDZCQzNCN0MsdzNEQWtFQTs7NEZEekNhLDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDRSxxQkFBcUI7OzBCQXFENUIsTUFBTTsyQkFBQyxpQkFBaUI7OzBCQUFHLFFBQVE7OEZBaERmLFdBQVc7c0JBQWpDLFNBQVM7dUJBQUMsVUFBVTtnQkFDMEIsVUFBVTtzQkFBeEQsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUVwQyxhQUFhO3NCQUFyQixLQUFLO2dCQUVJLGNBQWM7c0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBFbGVtZW50UmVmLFxuICBPbkRlc3Ryb3ksXG4gIFZpZXdDaGlsZCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgSW5wdXQsXG4gIEluamVjdCxcbiAgT3B0aW9uYWwsXG4gIEV2ZW50RW1pdHRlcixcbiAgT3V0cHV0LFxuICBPbkluaXQsXG4gIE5nWm9uZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgV2F2ZVN1cmZlciBmcm9tICd3YXZlc3VyZmVyLmpzJztcbmltcG9ydCBSZWNvcmRQbHVnaW4gZnJvbSAnd2F2ZXN1cmZlci5qcy9kaXN0L3BsdWdpbnMvcmVjb3JkLmpzJztcbmltcG9ydCB7IENPTVBPTkVOVF9MSUJSQVJZLCBDb21wb25lbnRMaWJyYXJ5IH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbGl0eS9jb21wb25lbnRMaWJyYXJ5JztcbmltcG9ydCB7IEljb25Qb3NpdGlvbiwgVWlBY3Rpb25CdXR0b25UeXBlLCBVaUFjdGlvbkRlc2NyaXB0b3IgfSBmcm9tICcuLi8uLi8uLi8uLi9hcGknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2b2ljZS1yZWNvcmQtd2lkZ2V0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3ZvaWNlLXJlY29yZC13aWRnZXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi92b2ljZS1yZWNvcmQtd2lkZ2V0LmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVm9pY2VSZWNvcmRXaWRnZXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBWaWV3Q2hpbGQoJ3dhdmVmb3JtJykgd2F2ZWZvcm1SZWYhOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdtYWluQnV0dG9uJywgeyByZWFkOiBFbGVtZW50UmVmIH0pIG1haW5CdXR0b24hOiBFbGVtZW50UmVmO1xuXG4gIEBJbnB1dCgpIG9wZW5EaXJlY3Rpb246ICdMRUZUJyB8ICdSSUdIVCcgPSAnUklHSFQnO1xuXG4gIEBPdXRwdXQoKSByZWNvcmRpbmdTYXZlZCA9IG5ldyBFdmVudEVtaXR0ZXI8QmxvYj4oKTtcblxuICBwcml2YXRlIHdhdmVzdXJmZXI/OiBXYXZlU3VyZmVyO1xuICBwcml2YXRlIHJlY29yZD86IFJlY29yZFBsdWdpbjtcblxuICBjb21wTGliOiBDb21wb25lbnRMaWJyYXJ5O1xuICBjb21wb25lbnRMaWJyYXJ5ID0gQ29tcG9uZW50TGlicmFyeTtcblxuICBpc1JlY29yZGluZyA9IGZhbHNlO1xuICByZWNvcmRlZEJsb2I6IEJsb2IgfCBudWxsID0gbnVsbDtcbiAgdGltZTogc3RyaW5nID0gJzAwOjAwJztcbiAgaXNQbGF5aW5nID0gZmFsc2U7XG4gIGlzV2F2ZWZvcm1PcGVuID0gZmFsc2U7XG5cbiAgbWljQnV0dG9uOiBVaUFjdGlvbkRlc2NyaXB0b3IgPSB7XG4gICAgdGl0bGU6ICcnLFxuICAgIHR5cGU6IFVpQWN0aW9uQnV0dG9uVHlwZS5JQ09OLFxuICAgIGljb246ICdtaWNyb3Bob25lJyxcbiAgICBpY29uUG9zaXRpb246IEljb25Qb3NpdGlvbi5QUkUsXG4gICAgY29sb3I6ICdwcmltYXJ5JyxcbiAgfTtcblxuICBzdG9wQnV0dG9uOiBVaUFjdGlvbkRlc2NyaXB0b3IgPSB7XG4gICAgdGl0bGU6ICcnLFxuICAgIHR5cGU6IFVpQWN0aW9uQnV0dG9uVHlwZS5JQ09OLFxuICAgIGljb246ICdzdG9wLWNpcmNsZScsXG4gICAgaWNvblBvc2l0aW9uOiBJY29uUG9zaXRpb24uUFJFLFxuICAgIGljb25Db2xvcjogJ3JlZCcsXG4gICAgY29sb3I6ICdwcmltYXJ5JyxcbiAgfTtcblxuICBzYXZlQnV0dG9uOiBVaUFjdGlvbkRlc2NyaXB0b3IgPSB7XG4gICAgdGl0bGU6ICcnLFxuICAgIHR5cGU6IFVpQWN0aW9uQnV0dG9uVHlwZS5JQ09OLFxuICAgIGljb246ICdzYXZlJyxcbiAgICBpY29uUG9zaXRpb246IEljb25Qb3NpdGlvbi5QUkUsXG4gICAgY29sb3I6ICdwcmltYXJ5JyxcbiAgfTtcblxuICBwbGF5QnV0dG9uITogVWlBY3Rpb25EZXNjcmlwdG9yO1xuICBzdG9wUGxheWJhY2tCdXR0b24hOiBVaUFjdGlvbkRlc2NyaXB0b3I7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChDT01QT05FTlRfTElCUkFSWSkgQE9wdGlvbmFsKCkgY29tcExpYjogQ29tcG9uZW50TGlicmFyeSB8IHVuZGVmaW5lZCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZTogTmdab25lLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHRoaXMuY29tcExpYiA9IGNvbXBMaWIgPz8gQ29tcG9uZW50TGlicmFyeS5QUklNRU5HO1xuICB9XG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMucGxheUJ1dHRvbiA9IHtcbiAgICAgIHRpdGxlOiAnJyxcbiAgICAgIHR5cGU6IFVpQWN0aW9uQnV0dG9uVHlwZS5JQ09OLFxuICAgICAgaWNvbjogdGhpcy5jb21wTGliID09PSBDb21wb25lbnRMaWJyYXJ5LlBSSU1FTkcgPyAncGxheS1jaXJjbGUnIDogJ3BsYXlfY2lyY2xlJyxcbiAgICAgIGljb25Qb3NpdGlvbjogSWNvblBvc2l0aW9uLlBSRSxcbiAgICAgIGNvbG9yOiAncHJpbWFyeScsXG4gICAgfTtcbiAgICB0aGlzLnN0b3BQbGF5YmFja0J1dHRvbiA9IHtcbiAgICAgIHRpdGxlOiAnJyxcbiAgICAgIHR5cGU6IFVpQWN0aW9uQnV0dG9uVHlwZS5JQ09OLFxuICAgICAgaWNvbjogdGhpcy5jb21wTGliID09PSBDb21wb25lbnRMaWJyYXJ5LlBSSU1FTkcgPyAnc3RvcC1jaXJjbGUnIDogJ3N0b3BfY2lyY2xlJyxcbiAgICAgIGljb25Qb3NpdGlvbjogSWNvblBvc2l0aW9uLlBSRSxcbiAgICAgIGNvbG9yOiAncmVkJyxcbiAgICB9O1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge31cblxuICBnZXQgaXNMZWZ0RGlyZWN0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm9wZW5EaXJlY3Rpb24gPT09ICdMRUZUJztcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgaW5pdGlhbGl6ZVdhdmVTdXJmZXJJZk5lZWRlZCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy53YXZlc3VyZmVyIHx8ICF0aGlzLndhdmVmb3JtUmVmPy5uYXRpdmVFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgYXdhaXQgbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUpID0+IHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiByZXNvbHZlKCkpKTtcblxuICAgIHRoaXMud2F2ZWZvcm1SZWYubmF0aXZlRWxlbWVudC5zdHlsZS5wYWRkaW5nID0gJzAuMXJlbSc7XG5cbiAgICB0aGlzLmluaXRXYXZlU3VyZmVyKCk7XG4gIH1cblxuICBpbml0V2F2ZVN1cmZlcigpIHtcbiAgICBsZXQgYm9keSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2JvZHknKTtcbiAgICBsZXQgcHJpbWFyeUNvbG9yID0gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpXG4gICAgICAuZ2V0UHJvcGVydHlWYWx1ZSgnLS1wcmltYXJ5LWNvbG9yJylcbiAgICAgIC50cmltKCk7XG5cbiAgICBsZXQgZWwgPSB0aGlzLm1haW5CdXR0b24ubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuc2I0LXByaW1hcnknKSBhcyBIVE1MRWxlbWVudDtcbiAgICBsZXQgcmVtSW5QeCA9IHBhcnNlRmxvYXQoZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmZvbnRTaXplKTtcbiAgICBsZXQgaGVpZ2h0ID0gKGVsPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQgPz8gMCkgLSByZW1JblB4ICogMC4xO1xuXG4gICAgdGhpcy53YXZlc3VyZmVyID0gV2F2ZVN1cmZlci5jcmVhdGUoe1xuICAgICAgY29udGFpbmVyOiB0aGlzLndhdmVmb3JtUmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICB3YXZlQ29sb3I6IHByaW1hcnlDb2xvcixcbiAgICAgIHByb2dyZXNzQ29sb3I6IHRoaXMuYWRkQWxwaGFUb0NvbG9yKHByaW1hcnlDb2xvciEsIDAuNSksXG4gICAgICBoZWlnaHQ6IGhlaWdodCxcbiAgICAgIGJhcldpZHRoOiA1LFxuICAgICAgYmFyR2FwOiAxLFxuICAgICAgYmFyUmFkaXVzOiA1LFxuICAgIH0pO1xuXG4gICAgdGhpcy53YXZlc3VyZmVyLnNldFZvbHVtZSgxKTtcblxuICAgIC8vU28gd2Ugc3VwcG9ydCBTYWZhcmlcbiAgICBjb25zdCBtaW1lVHlwZSA9IE1lZGlhUmVjb3JkZXIuaXNUeXBlU3VwcG9ydGVkKCdhdWRpby93ZWJtJykgPyAnYXVkaW8vd2VibScgOiAnYXVkaW8vbXA0JztcbiAgICB0aGlzLnJlY29yZCA9IHRoaXMud2F2ZXN1cmZlci5yZWdpc3RlclBsdWdpbihcbiAgICAgIFJlY29yZFBsdWdpbi5jcmVhdGUoe1xuICAgICAgICByZW5kZXJSZWNvcmRlZEF1ZGlvOiB0cnVlLFxuICAgICAgICBzY3JvbGxpbmdXYXZlZm9ybTogdHJ1ZSxcbiAgICAgICAgY29udGludW91c1dhdmVmb3JtOiBmYWxzZSxcbiAgICAgICAgY29udGludW91c1dhdmVmb3JtRHVyYXRpb246IDE1LFxuICAgICAgICBtaW1lVHlwZSxcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMud2F2ZXN1cmZlci5vbignZGJsY2xpY2snLCAoKSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZVZpZXdTdGF0ZSgoKSA9PiB7XG4gICAgICAgIHRoaXMud2F2ZXN1cmZlcj8ucGxheSgpO1xuICAgICAgICB0aGlzLmlzUGxheWluZyA9IHRydWU7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICB0aGlzLnJlY29yZC5vbigncmVjb3JkLWVuZCcsIChibG9iOiBCbG9iKSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZVZpZXdTdGF0ZSgoKSA9PiB7XG4gICAgICAgIHRoaXMucmVjb3JkZWRCbG9iID0gYmxvYjtcbiAgICAgICAgdGhpcy5pc1JlY29yZGluZyA9IGZhbHNlO1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgdGhpcy5yZWNvcmQub24oJ3JlY29yZC1wcm9ncmVzcycsICh0aW1lKSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZVZpZXdTdGF0ZSgoKSA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlUHJvZ3Jlc3ModGltZSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICB0aGlzLndhdmVzdXJmZXIub24oJ2ZpbmlzaCcsICgpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlVmlld1N0YXRlKCgpID0+IHtcbiAgICAgICAgdGhpcy5pc1BsYXlpbmcgPSBmYWxzZTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgc3RhcnRSZWNvcmRpbmcoKSB7XG4gICAgY29uc3QgY29uZmlybWVkID0gYXdhaXQgdGhpcy5jaGVja0hhc1JlY29yZGVkKCk7XG4gICAgaWYgKCFjb25maXJtZWQgfHwgdGhpcy5pc1JlY29yZGluZykgcmV0dXJuO1xuXG4gICAgLy8gSW5pdGlhbGl6ZSBmaXJzdCAoc3RpbGwgd2l0aGluIHRoZSBnZXN0dXJlIHRpY2sgb24gbW9zdCBicm93c2VycylcbiAgICBhd2FpdCB0aGlzLmluaXRpYWxpemVXYXZlU3VyZmVySWZOZWVkZWQoKTtcblxuICAgIGlmICghdGhpcy5yZWNvcmQpIHRocm93IG5ldyBFcnJvcignVm9pY2UgcmVjb3JkZXIgcGx1Z2luIGlzIG5vdCBpbml0aWFsaXplZC4nKTtcblxuICAgIHRoaXMudXBkYXRlVmlld1N0YXRlKCgpID0+IHtcbiAgICAgIHRoaXMuaXNXYXZlZm9ybU9wZW4gPSB0cnVlO1xuICAgICAgdGhpcy5pc1JlY29yZGluZyA9IHRydWU7XG4gICAgICB0aGlzLmlzUGxheWluZyA9IGZhbHNlO1xuICAgICAgdGhpcy5yZWNvcmRlZEJsb2IgPSBudWxsO1xuICAgICAgdGhpcy50aW1lID0gJzAwOjAwJztcbiAgICB9KTtcblxuICAgIHRyeSB7XG4gICAgICAvLyBGb3JjZSBuYXRpdmUgbWljIHBlcm1pc3Npb24gZmlyc3Qgc28gaXQgd29ya3Mgd2l0aCBXS1dlYlZpZXdcbiAgICAgIGNvbnN0IHN0cmVhbSA9IGF3YWl0IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKHsgYXVkaW86IHRydWUgfSk7XG4gICAgICBzdHJlYW0uZ2V0VHJhY2tzKCkuZm9yRWFjaCgodHJhY2spID0+IHRyYWNrLnN0b3AoKSk7XG5cbiAgICAgIGF3YWl0IHRoaXMucmVjb3JkLnN0YXJ0UmVjb3JkaW5nKCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ01pYyBmYWlsZWQnLCBlcnJvcik7XG5cbiAgICAgIHRoaXMudXBkYXRlVmlld1N0YXRlKCgpID0+IHtcbiAgICAgICAgdGhpcy5pc1JlY29yZGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmlzV2F2ZWZvcm1PcGVuID0gISF0aGlzLnJlY29yZGVkQmxvYjtcbiAgICAgIH0pO1xuXG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBhc3luYyBjaGVja0hhc1JlY29yZGVkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGlmICh0aGlzLnJlY29yZGVkQmxvYikge1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgdXBkYXRlUHJvZ3Jlc3ModGltZTogbnVtYmVyKSB7XG4gICAgbGV0IGZvcm1hdHRlZFRpbWUgPSBbTWF0aC5mbG9vcigodGltZSAlIDM2MDAwMDApIC8gNjAwMDApLCBNYXRoLmZsb29yKCh0aW1lICUgNjAwMDApIC8gMTAwMCldXG4gICAgICAubWFwKCh2KSA9PiAodiA8IDEwID8gJzAnICsgdiA6IHYpKVxuICAgICAgLmpvaW4oJzonKTtcbiAgICB0aGlzLnRpbWUgPSBmb3JtYXR0ZWRUaW1lO1xuICB9XG5cbiAgc3RvcFJlY29yZGluZygpIHtcbiAgICBpZiAodGhpcy5yZWNvcmQgJiYgdGhpcy5pc1JlY29yZGluZykge1xuICAgICAgdGhpcy5yZWNvcmQuc3RvcFJlY29yZGluZygpO1xuICAgICAgdGhpcy51cGRhdGVWaWV3U3RhdGUoKCkgPT4ge1xuICAgICAgICB0aGlzLmlzUmVjb3JkaW5nID0gZmFsc2U7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBzYXZlUmVjb3JkaW5nKCkge1xuICAgIGlmICh0aGlzLnJlY29yZGVkQmxvYikge1xuICAgICAgbGV0IG5vdyA9IG5ldyBEYXRlKCk7XG4gICAgICBsZXQgZm9ybWF0dGVkRGF0ZSA9IG5vdy50b0xvY2FsZVN0cmluZygnc3YtU0UnKS5yZXBsYWNlKCcgJywgJ18nKS5yZXBsYWNlKC86L2csICctJyk7XG5cbiAgICAgIC8vU2FmYXJpIHN1cHBvcnRcbiAgICAgIGxldCBtaW1lVHlwZSA9IHRoaXMucmVjb3JkZWRCbG9iIS50eXBlIHx8ICdhdWRpby9tcDQnO1xuICAgICAgbGV0IGV4dCA9IG1pbWVUeXBlLmluY2x1ZGVzKCd3ZWJtJykgPyAnd2VibScgOiAnbXA0JztcbiAgICAgIGxldCBmaWxlTmFtZSA9IGByZWNvcmRpbmdfJHtmb3JtYXR0ZWREYXRlfS4ke2V4dH1gO1xuICAgICAgbGV0IGZpbGUgPSBuZXcgRmlsZShbdGhpcy5yZWNvcmRlZEJsb2IhXSwgZmlsZU5hbWUsIHsgdHlwZTogbWltZVR5cGUgfSk7XG5cbiAgICAgIHRoaXMucmVjb3JkaW5nU2F2ZWQuZW1pdChmaWxlKTtcblxuICAgICAgLy8gRGVzdHJveSBjb21wbGV0ZWx5IHNvIG5leHQgcmVjb3JkaW5nIGluaXRpYWxpemVzIGZyZXNoXG4gICAgICB0aGlzLndhdmVzdXJmZXI/LmRlc3Ryb3koKTtcbiAgICAgIHRoaXMud2F2ZXN1cmZlciA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMucmVjb3JkID0gdW5kZWZpbmVkO1xuXG4gICAgICB0aGlzLnVwZGF0ZVZpZXdTdGF0ZSgoKSA9PiB7XG4gICAgICAgIHRoaXMucmVjb3JkZWRCbG9iID0gbnVsbDtcbiAgICAgICAgdGhpcy50aW1lID0gJzAwOjAwJztcbiAgICAgICAgdGhpcy5pc1BsYXlpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc1dhdmVmb3JtT3BlbiA9IGZhbHNlO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVwbGF5UmVjb3JkaW5nKCkge1xuICAgIGlmICh0aGlzLnJlY29yZGVkQmxvYikge1xuICAgICAgdGhpcy51cGRhdGVWaWV3U3RhdGUoKCkgPT4ge1xuICAgICAgICB0aGlzLmlzUGxheWluZyA9ICF0aGlzLmlzUGxheWluZztcbiAgICAgICAgdGhpcy53YXZlc3VyZmVyPy5wbGF5UGF1c2UoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLndhdmVzdXJmZXIpIHtcbiAgICAgIHRoaXMud2F2ZXN1cmZlci5kZXN0cm95KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhZGRBbHBoYVRvQ29sb3IoaGV4Q29sb3I6IHN0cmluZywgYWxwaGE6IG51bWJlcik6IHN0cmluZyB7XG4gICAgaWYgKC9eIyhbYS1mXFxkXSkoW2EtZlxcZF0pKFthLWZcXGRdKSQvaS50ZXN0KGhleENvbG9yKSkge1xuICAgICAgaGV4Q29sb3IgPSBoZXhDb2xvci5yZXBsYWNlKFxuICAgICAgICAvXiMoW2EtZlxcZF0pKFthLWZcXGRdKShbYS1mXFxkXSkkL2ksXG4gICAgICAgIChfLCByLCBnLCBiKSA9PiBgIyR7cn0ke3J9JHtnfSR7Z30ke2J9JHtifWBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgaGV4TWF0Y2ggPSAvXiM/KFthLWZcXGRdezJ9KShbYS1mXFxkXXsyfSkoW2EtZlxcZF17Mn0pJC9pLmV4ZWMoaGV4Q29sb3IpO1xuICAgIGlmIChoZXhNYXRjaCkge1xuICAgICAgY29uc3QgWywgciwgZywgYl0gPSBoZXhNYXRjaDtcbiAgICAgIHJldHVybiBgcmdiYSgke3BhcnNlSW50KHIsIDE2KX0sICR7cGFyc2VJbnQoZywgMTYpfSwgJHtwYXJzZUludChiLCAxNil9LCAke2FscGhhfSlgO1xuICAgIH1cblxuICAgIGNvbnN0IGN0eCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpLmdldENvbnRleHQoJzJkJyk7XG4gICAgaWYgKGN0eCkge1xuICAgICAgY3R4LmZpbGxTdHlsZSA9IGhleENvbG9yO1xuICAgICAgY29uc3QgcGFyc2VkID0gY3R4LmZpbGxTdHlsZTtcbiAgICAgIGNvbnN0IHJnYk1hdGNoID0gL15yZ2JcXCgoXFxkKyksXFxzKihcXGQrKSxcXHMqKFxcZCspXFwpJC8uZXhlYyhwYXJzZWQpO1xuICAgICAgaWYgKHJnYk1hdGNoKSB7XG4gICAgICAgIGNvbnN0IFssIHIsIGcsIGJdID0gcmdiTWF0Y2g7XG4gICAgICAgIHJldHVybiBgcmdiYSgke3J9LCAke2d9LCAke2J9LCAke2FscGhhfSlgO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBoZXhDb2xvcjtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlVmlld1N0YXRlKHVwZGF0ZTogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICB1cGRhdGUoKTtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJyZWNvcmRlckNvbnRhaW5lclwiXG4gIFtjbGFzcy5kaXJlY3Rpb24tbGVmdF09XCJpc0xlZnREaXJlY3Rpb25cIlxuICBbY2xhc3MuZGlyZWN0aW9uLXJpZ2h0XT1cIiFpc0xlZnREaXJlY3Rpb25cIlxuICBbY2xhc3MuYWN0aXZlXT1cImlzV2F2ZWZvcm1PcGVuIHx8IGlzUmVjb3JkaW5nIHx8ICEhcmVjb3JkZWRCbG9iXCJcbiAgW2NsYXNzLmlzUmVjb3JkaW5nXT1cImlzUmVjb3JkaW5nXCJcbiAgW2NsYXNzLmhhc1JlY29yZGluZ109XCJyZWNvcmRlZEJsb2JcIlxuPlxuICA8ZGl2IGNsYXNzPVwicmVjb3JkZXJNYWluXCI+XG4gICAgPGRpdiBjbGFzcz1cInJlY29yZGVyVG9vbGJhclwiPlxuICAgICAgPCEtLSBTdGFydCBSZWNvcmRpbmcgLS0+XG4gICAgICA8dWktYWN0aW9uLWJ1dHRvblxuICAgICAgICBjbGFzcz1cIm1haW5CdXR0b25cIlxuICAgICAgICAjbWFpbkJ1dHRvblxuICAgICAgICAqbmdJZj1cIiFpc1JlY29yZGluZ1wiXG4gICAgICAgIFtkZXNjcmlwdG9yXT1cIm1pY0J1dHRvblwiXG4gICAgICAgIChhY3Rpb25DbGljayk9XCJzdGFydFJlY29yZGluZygpXCJcbiAgICAgID5cbiAgICAgIDwvdWktYWN0aW9uLWJ1dHRvbj5cblxuICAgICAgPCEtLSBTdG9wIFJlY29yZGluZyAtLT5cbiAgICAgIDx1aS1hY3Rpb24tYnV0dG9uXG4gICAgICAgIGNsYXNzPVwibWFpbkJ1dHRvblwiXG4gICAgICAgICNtYWluQnV0dG9uXG4gICAgICAgICpuZ0lmPVwiaXNSZWNvcmRpbmdcIlxuICAgICAgICBbZGVzY3JpcHRvcl09XCJzdG9wQnV0dG9uXCJcbiAgICAgICAgKGFjdGlvbkNsaWNrKT1cInN0b3BSZWNvcmRpbmcoKVwiXG4gICAgICA+XG4gICAgICA8L3VpLWFjdGlvbi1idXR0b24+XG5cbiAgICAgIDwhLS0gU2F2ZSBSZWNvcmRpbmcgLS0+XG4gICAgICA8dWktYWN0aW9uLWJ1dHRvblxuICAgICAgICBjbGFzcz1cIm1haW5CdXR0b25cIlxuICAgICAgICAqbmdJZj1cInJlY29yZGVkQmxvYlwiXG4gICAgICAgIFtkZXNjcmlwdG9yXT1cInNhdmVCdXR0b25cIlxuICAgICAgICAoYWN0aW9uQ2xpY2spPVwic2F2ZVJlY29yZGluZygpXCJcbiAgICAgID5cbiAgICAgIDwvdWktYWN0aW9uLWJ1dHRvbj5cblxuICAgICAgPCEtLSBTdGFydCBQbGF5ICAtLT5cbiAgICAgIDx1aS1hY3Rpb24tYnV0dG9uXG4gICAgICAgIGNsYXNzPVwibWFpbkJ1dHRvblwiXG4gICAgICAgICpuZ0lmPVwicmVjb3JkZWRCbG9iICYmICFpc1BsYXlpbmdcIlxuICAgICAgICBbZGVzY3JpcHRvcl09XCJwbGF5QnV0dG9uXCJcbiAgICAgICAgKGFjdGlvbkNsaWNrKT1cInJlcGxheVJlY29yZGluZygpXCJcbiAgICAgID48L3VpLWFjdGlvbi1idXR0b24+XG5cbiAgICAgIDwhLS0gU3RvcCBQbGF5ICAtLT5cbiAgICAgIDx1aS1hY3Rpb24tYnV0dG9uXG4gICAgICAgIGNsYXNzPVwibWFpbkJ1dHRvblwiXG4gICAgICAgICpuZ0lmPVwicmVjb3JkZWRCbG9iICYmIGlzUGxheWluZ1wiXG4gICAgICAgIFtkZXNjcmlwdG9yXT1cInN0b3BQbGF5YmFja0J1dHRvblwiXG4gICAgICAgIChhY3Rpb25DbGljayk9XCJyZXBsYXlSZWNvcmRpbmcoKVwiXG4gICAgICA+PC91aS1hY3Rpb24tYnV0dG9uPlxuXG4gICAgICBAaWYgKGlzUmVjb3JkaW5nKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcm9ncmVzc1wiPnt7IHRpbWUgfX08L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJ3YXZlZm9ybUJhbmRcIiBbY2xhc3Mub3Blbl09XCJpc1dhdmVmb3JtT3BlbiB8fCBpc1JlY29yZGluZyB8fCAhIXJlY29yZGVkQmxvYlwiPlxuICAgICAgPGRpdiBjbGFzcz1cIndhdmVmb3JtR3JpZFwiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIndhdmVmb3JtXCIgI3dhdmVmb3JtPjwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { Component, Inject } from '@angular/core';
|
|
2
|
+
import { IconPosition, UiActionButtonType, } from '../../../api';
|
|
3
|
+
import { COMPONENT_LIBRARY, ComponentLibrary } from '../../../projects';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../ui-action.descriptor.service";
|
|
6
|
+
import * as i2 from "@angular/material/button";
|
|
7
|
+
import * as i3 from "primeng/button";
|
|
8
|
+
import * as i4 from "../../../../smart-icon/smart-icon/smart-icon.component";
|
|
9
|
+
import * as i5 from "../../ui-action-button/ui-action-button.component";
|
|
10
|
+
import * as i6 from "./ui-action-confirm-dialog.service";
|
|
11
|
+
import * as i7 from "../../../projects";
|
|
12
|
+
export class UiActionConfirmDialogComponent {
|
|
13
|
+
constructor(service, compLib, manager) {
|
|
14
|
+
this.service = service;
|
|
15
|
+
this.compLib = compLib;
|
|
16
|
+
this.manager = manager;
|
|
17
|
+
this.componentLibrary = ComponentLibrary;
|
|
18
|
+
this.code = this.service.action.code;
|
|
19
|
+
this.setUp();
|
|
20
|
+
}
|
|
21
|
+
async setUp() {
|
|
22
|
+
this.descriptor = await this.manager.getActionDescriptor(this.service.action);
|
|
23
|
+
this.dialogType = this.descriptor.confirmDialog ? 'confirmDialog' : 'dialog';
|
|
24
|
+
}
|
|
25
|
+
ngOnDestroy() {
|
|
26
|
+
this.service._destroy$.next();
|
|
27
|
+
this.cancel();
|
|
28
|
+
}
|
|
29
|
+
getTitle() {
|
|
30
|
+
return this.descriptor[this.dialogType].title;
|
|
31
|
+
}
|
|
32
|
+
getText() {
|
|
33
|
+
return this.descriptor[this.dialogType].text ?? '';
|
|
34
|
+
}
|
|
35
|
+
getActionButton() {
|
|
36
|
+
return this.getUiActionDescriptor(this.descriptor[this.dialogType].actionButton);
|
|
37
|
+
}
|
|
38
|
+
getCancelButton() {
|
|
39
|
+
return this.getUiActionDescriptor(this.descriptor[this.dialogType].cancelButton);
|
|
40
|
+
}
|
|
41
|
+
getUiActionDescriptor(button) {
|
|
42
|
+
return {
|
|
43
|
+
title: button.caption,
|
|
44
|
+
color: button.color ?? 'primary',
|
|
45
|
+
type: UiActionButtonType.RAISED,
|
|
46
|
+
icon: button.icon,
|
|
47
|
+
iconColor: button.iconColor,
|
|
48
|
+
iconPosition: button.iconPosition ?? (button.icon ? IconPosition.PRE : undefined),
|
|
49
|
+
tooltip: button.tooltip,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
getCancelCssClass() {
|
|
53
|
+
return this.descriptor[this.dialogType].cancelButton.cssClass ?? '';
|
|
54
|
+
}
|
|
55
|
+
getActionCssClass() {
|
|
56
|
+
return this.descriptor[this.dialogType].actionButton.cssClass ?? '';
|
|
57
|
+
}
|
|
58
|
+
doAction() {
|
|
59
|
+
this.service.doAction();
|
|
60
|
+
}
|
|
61
|
+
cancel() {
|
|
62
|
+
this.service.cancel();
|
|
63
|
+
}
|
|
64
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UiActionConfirmDialogComponent, deps: [{ token: 'confirmDialogService' }, { token: COMPONENT_LIBRARY }, { token: i1.UiActionDescriptorService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
65
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: UiActionConfirmDialogComponent, selector: "app-ui-action-confirm-dialog", ngImport: i0, template: "@if(descriptor){\n<div class=\"folderNameDialogContainer\">\n <div class=\"headerContainer\">\n <h3 class=\"color-accent-700\">\n {{ getTitle() }}\n </h3>\n @if(compLib === componentLibrary.MATERIAL) {\n <button mat-icon-button (click)=\"cancel()\">\n <smart-icon [color]=\"'primary'\" [icon]=\"'X'\"></smart-icon>\n </button>\n }@else {\n <p-button icon=\"pi pi-times\" [rounded]=\"true\" [text]=\"true\" (click)=\"cancel()\" />\n }\n </div>\n <p>\n {{ getText() }}\n </p>\n <div class=\"folderNameDialogButtonsContainer\">\n <ui-action-button\n [descriptor]=\"getCancelButton()\"\n [addedCssClass]=\"getCancelCssClass()\"\n [code]=\"'confirm-cancel'\"\n (actionClick)=\"cancel()\"\n ></ui-action-button>\n <ui-action-button\n [descriptor]=\"getActionButton()\"\n [addedCssClass]=\"getActionCssClass()\"\n [code]=\"'confirm-action'\"\n (actionClick)=\"doAction()\"\n >\n </ui-action-button>\n </div>\n</div>\n}\n", styles: [".folderNameDialogContainer{width:25rem;display:flex;flex-direction:column;gap:1rem}.headerContainer{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding-top:1rem}.headerContainer h3{margin:0}.folderNameDialogButtonsContainer{display:flex;flex-direction:row;justify-content:flex-end;gap:.5rem}\n"], dependencies: [{ kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i3.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: i4.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color", "imageResource"] }, { kind: "component", type: i5.UiActionButtonComponent, selector: "ui-action-button", inputs: ["disabled", "descriptor", "code", "addedCssClass", "addBasicClasses"], outputs: ["actionClick", "actionDoubleClick"] }] }); }
|
|
66
|
+
}
|
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UiActionConfirmDialogComponent, decorators: [{
|
|
68
|
+
type: Component,
|
|
69
|
+
args: [{ selector: 'app-ui-action-confirm-dialog', template: "@if(descriptor){\n<div class=\"folderNameDialogContainer\">\n <div class=\"headerContainer\">\n <h3 class=\"color-accent-700\">\n {{ getTitle() }}\n </h3>\n @if(compLib === componentLibrary.MATERIAL) {\n <button mat-icon-button (click)=\"cancel()\">\n <smart-icon [color]=\"'primary'\" [icon]=\"'X'\"></smart-icon>\n </button>\n }@else {\n <p-button icon=\"pi pi-times\" [rounded]=\"true\" [text]=\"true\" (click)=\"cancel()\" />\n }\n </div>\n <p>\n {{ getText() }}\n </p>\n <div class=\"folderNameDialogButtonsContainer\">\n <ui-action-button\n [descriptor]=\"getCancelButton()\"\n [addedCssClass]=\"getCancelCssClass()\"\n [code]=\"'confirm-cancel'\"\n (actionClick)=\"cancel()\"\n ></ui-action-button>\n <ui-action-button\n [descriptor]=\"getActionButton()\"\n [addedCssClass]=\"getActionCssClass()\"\n [code]=\"'confirm-action'\"\n (actionClick)=\"doAction()\"\n >\n </ui-action-button>\n </div>\n</div>\n}\n", styles: [".folderNameDialogContainer{width:25rem;display:flex;flex-direction:column;gap:1rem}.headerContainer{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding-top:1rem}.headerContainer h3{margin:0}.folderNameDialogButtonsContainer{display:flex;flex-direction:row;justify-content:flex-end;gap:.5rem}\n"] }]
|
|
70
|
+
}], ctorParameters: () => [{ type: i6.UiActionConfirmDialogService, decorators: [{
|
|
71
|
+
type: Inject,
|
|
72
|
+
args: ['confirmDialogService']
|
|
73
|
+
}] }, { type: i7.ComponentLibrary, decorators: [{
|
|
74
|
+
type: Inject,
|
|
75
|
+
args: [COMPONENT_LIBRARY]
|
|
76
|
+
}] }, { type: i1.UiActionDescriptorService }] });
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLWNvbmZpcm0tZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3ZpZXctY29udGV4dC9zbWFydC11aS1hY3Rpb24vZGlhbG9ncy91aS1hY3Rpb24tY29uZmlybS1kaWFsb2cvdWktYWN0aW9uLWNvbmZpcm0tZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3ZpZXctY29udGV4dC9zbWFydC11aS1hY3Rpb24vZGlhbG9ncy91aS1hY3Rpb24tY29uZmlybS1kaWFsb2cvdWktYWN0aW9uLWNvbmZpcm0tZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFDTCxZQUFZLEVBRVosa0JBQWtCLEdBRW5CLE1BQU0sY0FBYyxDQUFDO0FBR3RCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7Ozs7QUFPeEUsTUFBTSxPQUFPLDhCQUE4QjtJQU16QyxZQUMwQyxPQUFxQyxFQUMzQyxPQUF5QixFQUNuRCxPQUFrQztRQUZGLFlBQU8sR0FBUCxPQUFPLENBQThCO1FBQzNDLFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBQ25ELFlBQU8sR0FBUCxPQUFPLENBQTJCO1FBTjVDLHFCQUFnQixHQUFHLGdCQUFnQixDQUFDO1FBUWxDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNmLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBSztRQUNULElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFOUUsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFDL0UsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxVQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBRSxDQUFDLEtBQUssQ0FBQztJQUNsRCxDQUFDO0lBQ0QsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLFVBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFFLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUN2RCxDQUFDO0lBQ0QsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxVQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBRSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFDRCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFVBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFFLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVPLHFCQUFxQixDQUFDLE1BQWdDO1FBQzVELE9BQU87WUFDTCxLQUFLLEVBQUUsTUFBTSxDQUFDLE9BQU87WUFDckIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLLElBQUksU0FBUztZQUNoQyxJQUFJLEVBQUUsa0JBQWtCLENBQUMsTUFBTTtZQUMvQixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7WUFDakIsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTO1lBQzNCLFlBQVksRUFBRSxNQUFNLENBQUMsWUFBWSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ2pGLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztTQUN4QixDQUFDO0lBQ0osQ0FBQztJQUVELGlCQUFpQjtRQUNmLE9BQU8sSUFBSSxDQUFDLFVBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7SUFDeEUsQ0FBQztJQUNELGlCQUFpQjtRQUNmLE9BQU8sSUFBSSxDQUFDLFVBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7SUFDeEUsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUN4QixDQUFDOytHQWhFVSw4QkFBOEIsa0JBTy9CLHNCQUFzQixhQUN0QixpQkFBaUI7bUdBUmhCLDhCQUE4QixvRUNoQjNDLHEvQkFrQ0E7OzRGRGxCYSw4QkFBOEI7a0JBTDFDLFNBQVM7K0JBQ0UsOEJBQThCOzswQkFXckMsTUFBTTsyQkFBQyxzQkFBc0I7OzBCQUM3QixNQUFNOzJCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEljb25Qb3NpdGlvbixcbiAgVWlBY3Rpb25CdXR0b25EZXNjcmlwdG9yLFxuICBVaUFjdGlvbkJ1dHRvblR5cGUsXG4gIFVpQWN0aW9uRGVzY3JpcHRvcixcbn0gZnJvbSAnLi4vLi4vLi4vYXBpJztcbmltcG9ydCB7IFVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi91aS1hY3Rpb24uZGVzY3JpcHRvci5zZXJ2aWNlJztcbmltcG9ydCB7IFVpQWN0aW9uQ29uZmlybURpYWxvZ1NlcnZpY2UgfSBmcm9tICcuL3VpLWFjdGlvbi1jb25maXJtLWRpYWxvZy5zZXJ2aWNlJztcbmltcG9ydCB7IENPTVBPTkVOVF9MSUJSQVJZLCBDb21wb25lbnRMaWJyYXJ5IH0gZnJvbSAnLi4vLi4vLi4vcHJvamVjdHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtdWktYWN0aW9uLWNvbmZpcm0tZGlhbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3VpLWFjdGlvbi1jb25maXJtLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3VpLWFjdGlvbi1jb25maXJtLWRpYWxvZy5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFVpQWN0aW9uQ29uZmlybURpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIGNvZGUhOiBzdHJpbmc7XG4gIGRpYWxvZ1R5cGUhOiAnZGlhbG9nJyB8ICdjb25maXJtRGlhbG9nJyB8ICdpbnB1dERpYWxvZyc7XG4gIGNvbXBvbmVudExpYnJhcnkgPSBDb21wb25lbnRMaWJyYXJ5O1xuICBkZXNjcmlwdG9yPzogVWlBY3Rpb25EZXNjcmlwdG9yO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoJ2NvbmZpcm1EaWFsb2dTZXJ2aWNlJykgcHJpdmF0ZSBzZXJ2aWNlOiBVaUFjdGlvbkNvbmZpcm1EaWFsb2dTZXJ2aWNlLFxuICAgIEBJbmplY3QoQ09NUE9ORU5UX0xJQlJBUlkpIHB1YmxpYyBjb21wTGliOiBDb21wb25lbnRMaWJyYXJ5LFxuICAgIHByaXZhdGUgbWFuYWdlcjogVWlBY3Rpb25EZXNjcmlwdG9yU2VydmljZVxuICApIHtcbiAgICB0aGlzLmNvZGUgPSB0aGlzLnNlcnZpY2UuYWN0aW9uLmNvZGUhO1xuICAgIHRoaXMuc2V0VXAoKTtcbiAgfVxuXG4gIGFzeW5jIHNldFVwKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuZGVzY3JpcHRvciA9IGF3YWl0IHRoaXMubWFuYWdlci5nZXRBY3Rpb25EZXNjcmlwdG9yKHRoaXMuc2VydmljZS5hY3Rpb24pO1xuXG4gICAgdGhpcy5kaWFsb2dUeXBlID0gdGhpcy5kZXNjcmlwdG9yLmNvbmZpcm1EaWFsb2cgPyAnY29uZmlybURpYWxvZycgOiAnZGlhbG9nJztcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc2VydmljZS5fZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuY2FuY2VsKCk7XG4gIH1cblxuICBnZXRUaXRsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmRlc2NyaXB0b3IhW3RoaXMuZGlhbG9nVHlwZV0hLnRpdGxlO1xuICB9XG4gIGdldFRleHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5kZXNjcmlwdG9yIVt0aGlzLmRpYWxvZ1R5cGVdIS50ZXh0ID8/ICcnO1xuICB9XG4gIGdldEFjdGlvbkJ1dHRvbigpOiBVaUFjdGlvbkRlc2NyaXB0b3Ige1xuICAgIHJldHVybiB0aGlzLmdldFVpQWN0aW9uRGVzY3JpcHRvcih0aGlzLmRlc2NyaXB0b3IhW3RoaXMuZGlhbG9nVHlwZV0hLmFjdGlvbkJ1dHRvbik7XG4gIH1cbiAgZ2V0Q2FuY2VsQnV0dG9uKCk6IFVpQWN0aW9uRGVzY3JpcHRvciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VWlBY3Rpb25EZXNjcmlwdG9yKHRoaXMuZGVzY3JpcHRvciFbdGhpcy5kaWFsb2dUeXBlXSEuY2FuY2VsQnV0dG9uKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VWlBY3Rpb25EZXNjcmlwdG9yKGJ1dHRvbjogVWlBY3Rpb25CdXR0b25EZXNjcmlwdG9yKTogVWlBY3Rpb25EZXNjcmlwdG9yIHtcbiAgICByZXR1cm4ge1xuICAgICAgdGl0bGU6IGJ1dHRvbi5jYXB0aW9uLFxuICAgICAgY29sb3I6IGJ1dHRvbi5jb2xvciA/PyAncHJpbWFyeScsXG4gICAgICB0eXBlOiBVaUFjdGlvbkJ1dHRvblR5cGUuUkFJU0VELFxuICAgICAgaWNvbjogYnV0dG9uLmljb24sXG4gICAgICBpY29uQ29sb3I6IGJ1dHRvbi5pY29uQ29sb3IsXG4gICAgICBpY29uUG9zaXRpb246IGJ1dHRvbi5pY29uUG9zaXRpb24gPz8gKGJ1dHRvbi5pY29uID8gSWNvblBvc2l0aW9uLlBSRSA6IHVuZGVmaW5lZCksXG4gICAgICB0b29sdGlwOiBidXR0b24udG9vbHRpcCxcbiAgICB9O1xuICB9XG5cbiAgZ2V0Q2FuY2VsQ3NzQ2xhc3MoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5kZXNjcmlwdG9yIVt0aGlzLmRpYWxvZ1R5cGVdIS5jYW5jZWxCdXR0b24uY3NzQ2xhc3MgPz8gJyc7XG4gIH1cbiAgZ2V0QWN0aW9uQ3NzQ2xhc3MoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5kZXNjcmlwdG9yIVt0aGlzLmRpYWxvZ1R5cGVdIS5hY3Rpb25CdXR0b24uY3NzQ2xhc3MgPz8gJyc7XG4gIH1cblxuICBkb0FjdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLnNlcnZpY2UuZG9BY3Rpb24oKTtcbiAgfVxuXG4gIGNhbmNlbCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlcnZpY2UuY2FuY2VsKCk7XG4gIH1cbn1cbiIsIkBpZihkZXNjcmlwdG9yKXtcbjxkaXYgY2xhc3M9XCJmb2xkZXJOYW1lRGlhbG9nQ29udGFpbmVyXCI+XG4gIDxkaXYgY2xhc3M9XCJoZWFkZXJDb250YWluZXJcIj5cbiAgICA8aDMgY2xhc3M9XCJjb2xvci1hY2NlbnQtNzAwXCI+XG4gICAgICB7eyBnZXRUaXRsZSgpIH19XG4gICAgPC9oMz5cbiAgICBAaWYoY29tcExpYiA9PT0gY29tcG9uZW50TGlicmFyeS5NQVRFUklBTCkge1xuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJjYW5jZWwoKVwiPlxuICAgICAgPHNtYXJ0LWljb24gW2NvbG9yXT1cIidwcmltYXJ5J1wiIFtpY29uXT1cIidYJ1wiPjwvc21hcnQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgICB9QGVsc2Uge1xuICAgIDxwLWJ1dHRvbiBpY29uPVwicGkgcGktdGltZXNcIiBbcm91bmRlZF09XCJ0cnVlXCIgW3RleHRdPVwidHJ1ZVwiIChjbGljayk9XCJjYW5jZWwoKVwiIC8+XG4gICAgfVxuICA8L2Rpdj5cbiAgPHA+XG4gICAge3sgZ2V0VGV4dCgpIH19XG4gIDwvcD5cbiAgPGRpdiBjbGFzcz1cImZvbGRlck5hbWVEaWFsb2dCdXR0b25zQ29udGFpbmVyXCI+XG4gICAgPHVpLWFjdGlvbi1idXR0b25cbiAgICAgIFtkZXNjcmlwdG9yXT1cImdldENhbmNlbEJ1dHRvbigpXCJcbiAgICAgIFthZGRlZENzc0NsYXNzXT1cImdldENhbmNlbENzc0NsYXNzKClcIlxuICAgICAgW2NvZGVdPVwiJ2NvbmZpcm0tY2FuY2VsJ1wiXG4gICAgICAoYWN0aW9uQ2xpY2spPVwiY2FuY2VsKClcIlxuICAgID48L3VpLWFjdGlvbi1idXR0b24+XG4gICAgPHVpLWFjdGlvbi1idXR0b25cbiAgICAgIFtkZXNjcmlwdG9yXT1cImdldEFjdGlvbkJ1dHRvbigpXCJcbiAgICAgIFthZGRlZENzc0NsYXNzXT1cImdldEFjdGlvbkNzc0NsYXNzKClcIlxuICAgICAgW2NvZGVdPVwiJ2NvbmZpcm0tYWN0aW9uJ1wiXG4gICAgICAoYWN0aW9uQ2xpY2spPVwiZG9BY3Rpb24oKVwiXG4gICAgPlxuICAgIDwvdWktYWN0aW9uLWJ1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { SmartSubject } from '../../../../smart-subject/projects';
|
|
3
|
+
import { Subject } from 'rxjs';
|
|
4
|
+
import { UiActionConfirmDialogComponent } from './ui-action-confirm-dialog.component';
|
|
5
|
+
import { SmartdialogService } from '../../../../smart-dialog/smartdialog.service';
|
|
6
|
+
import { COMPONENT_LIBRARY } from '../../../projects';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/material/dialog";
|
|
9
|
+
import * as i2 from "primeng/dynamicdialog";
|
|
10
|
+
import * as i3 from "../../../projects";
|
|
11
|
+
export class UiActionConfirmDialogService extends SmartdialogService {
|
|
12
|
+
constructor(dialog, dialogService, inject, compLib, manager) {
|
|
13
|
+
super(dialog, dialogService, inject, compLib);
|
|
14
|
+
this.manager = manager;
|
|
15
|
+
this._destroy$ = new Subject();
|
|
16
|
+
this.onAction = new SmartSubject(this._destroy$);
|
|
17
|
+
this.shouldDoAction = false;
|
|
18
|
+
}
|
|
19
|
+
openDialog() {
|
|
20
|
+
this.shouldDoAction = false;
|
|
21
|
+
this.onAction = new SmartSubject(this._destroy$);
|
|
22
|
+
const dialogData = {
|
|
23
|
+
content: {
|
|
24
|
+
title: '',
|
|
25
|
+
},
|
|
26
|
+
size: {},
|
|
27
|
+
customComponent: UiActionConfirmDialogComponent,
|
|
28
|
+
};
|
|
29
|
+
this.createDialog(dialogData, UiActionConfirmDialogComponent);
|
|
30
|
+
}
|
|
31
|
+
doAction() {
|
|
32
|
+
this.shouldDoAction = true;
|
|
33
|
+
this.onAction.complete();
|
|
34
|
+
this.closeDialog();
|
|
35
|
+
this.onAction = new SmartSubject(this._destroy$);
|
|
36
|
+
}
|
|
37
|
+
cancel() {
|
|
38
|
+
this.onAction.complete();
|
|
39
|
+
this.closeDialog();
|
|
40
|
+
this.onAction = new SmartSubject(this._destroy$);
|
|
41
|
+
}
|
|
42
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UiActionConfirmDialogService, deps: [{ token: i1.MatDialog }, { token: i2.DialogService }, { token: i0.Injector }, { token: COMPONENT_LIBRARY }, { token: i3.UiActionDescriptorService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
43
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UiActionConfirmDialogService, providedIn: 'root' }); }
|
|
44
|
+
}
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UiActionConfirmDialogService, decorators: [{
|
|
46
|
+
type: Injectable,
|
|
47
|
+
args: [{
|
|
48
|
+
providedIn: 'root',
|
|
49
|
+
}]
|
|
50
|
+
}], ctorParameters: () => [{ type: i1.MatDialog }, { type: i2.DialogService }, { type: i0.Injector }, { type: i3.ComponentLibrary, decorators: [{
|
|
51
|
+
type: Inject,
|
|
52
|
+
args: [COMPONENT_LIBRARY]
|
|
53
|
+
}] }, { type: i3.UiActionDescriptorService }] });
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLWNvbmZpcm0tZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL2RpYWxvZ3MvdWktYWN0aW9uLWNvbmZpcm0tZGlhbG9nL3VpLWFjdGlvbi1jb25maXJtLWRpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVsRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBR2xGLE9BQU8sRUFBRSxpQkFBaUIsRUFBK0MsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7QUFLbkcsTUFBTSxPQUFPLDRCQUE2QixTQUFRLGtCQUFrQjtJQVFsRSxZQUNFLE1BQWlCLEVBQ2pCLGFBQTRCLEVBQzVCLE1BQWdCLEVBQ1csT0FBeUIsRUFDNUMsT0FBa0M7UUFFMUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRnRDLFlBQU8sR0FBUCxPQUFPLENBQTJCO1FBWjVDLGNBQVMsR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUl6QyxhQUFRLEdBQWtCLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMzRCxtQkFBYyxHQUFZLEtBQUssQ0FBQztJQVVoQyxDQUFDO0lBRVEsVUFBVTtRQUNqQixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztRQUM1QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqRCxNQUFNLFVBQVUsR0FBb0I7WUFDbEMsT0FBTyxFQUFFO2dCQUNQLEtBQUssRUFBRSxFQUFFO2FBQ1Y7WUFDRCxJQUFJLEVBQUUsRUFBRTtZQUNSLGVBQWUsRUFBRSw4QkFBOEI7U0FDaEQsQ0FBQztRQUNGLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLDhCQUE4QixDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUMzQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBQ0QsTUFBTTtRQUNKLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ25ELENBQUM7K0dBekNVLDRCQUE0QixnR0FZN0IsaUJBQWlCO21IQVpoQiw0QkFBNEIsY0FGM0IsTUFBTTs7NEZBRVAsNEJBQTRCO2tCQUh4QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBYUksTUFBTTsyQkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgU21hcnRTdWJqZWN0IH0gZnJvbSAnLi4vLi4vLi4vLi4vc21hcnQtc3ViamVjdC9wcm9qZWN0cyc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFVpQWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vYXBpJztcbmltcG9ydCB7IFVpQWN0aW9uQ29uZmlybURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vdWktYWN0aW9uLWNvbmZpcm0tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTbWFydGRpYWxvZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zbWFydC1kaWFsb2cvc21hcnRkaWFsb2cuc2VydmljZSc7XG5pbXBvcnQgeyBTbWFydERpYWxvZ0RhdGEgfSBmcm9tICcuLi8uLi8uLi8uLi9zbWFydC1kaWFsb2cvc21hcnRkaWFsb2cubW9kZWwnO1xuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XG5pbXBvcnQgeyBDT01QT05FTlRfTElCUkFSWSwgQ29tcG9uZW50TGlicmFyeSwgVWlBY3Rpb25EZXNjcmlwdG9yU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3Byb2plY3RzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFVpQWN0aW9uQ29uZmlybURpYWxvZ1NlcnZpY2UgZXh0ZW5kcyBTbWFydGRpYWxvZ1NlcnZpY2Uge1xuICBfZGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIGFjdGlvbiE6IFVpQWN0aW9uO1xuXG4gIG9uQWN0aW9uOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFNtYXJ0U3ViamVjdCh0aGlzLl9kZXN0cm95JCk7XG4gIHNob3VsZERvQWN0aW9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSxcbiAgICBpbmplY3Q6IEluamVjdG9yLFxuICAgIEBJbmplY3QoQ09NUE9ORU5UX0xJQlJBUlkpIGNvbXBMaWI6IENvbXBvbmVudExpYnJhcnksXG4gICAgcHJpdmF0ZSBtYW5hZ2VyOiBVaUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKGRpYWxvZywgZGlhbG9nU2VydmljZSwgaW5qZWN0LCBjb21wTGliKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG9wZW5EaWFsb2coKTogdm9pZCB7XG4gICAgdGhpcy5zaG91bGREb0FjdGlvbiA9IGZhbHNlO1xuICAgIHRoaXMub25BY3Rpb24gPSBuZXcgU21hcnRTdWJqZWN0KHRoaXMuX2Rlc3Ryb3kkKTtcbiAgICBjb25zdCBkaWFsb2dEYXRhOiBTbWFydERpYWxvZ0RhdGEgPSB7XG4gICAgICBjb250ZW50OiB7XG4gICAgICAgIHRpdGxlOiAnJyxcbiAgICAgIH0sXG4gICAgICBzaXplOiB7fSxcbiAgICAgIGN1c3RvbUNvbXBvbmVudDogVWlBY3Rpb25Db25maXJtRGlhbG9nQ29tcG9uZW50LFxuICAgIH07XG4gICAgdGhpcy5jcmVhdGVEaWFsb2coZGlhbG9nRGF0YSwgVWlBY3Rpb25Db25maXJtRGlhbG9nQ29tcG9uZW50KTtcbiAgfVxuXG4gIGRvQWN0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuc2hvdWxkRG9BY3Rpb24gPSB0cnVlO1xuICAgIHRoaXMub25BY3Rpb24uY29tcGxldGUoKTtcbiAgICB0aGlzLmNsb3NlRGlhbG9nKCk7XG4gICAgdGhpcy5vbkFjdGlvbiA9IG5ldyBTbWFydFN1YmplY3QodGhpcy5fZGVzdHJveSQpO1xuICB9XG4gIGNhbmNlbCgpOiB2b2lkIHtcbiAgICB0aGlzLm9uQWN0aW9uLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5jbG9zZURpYWxvZygpO1xuICAgIHRoaXMub25BY3Rpb24gPSBuZXcgU21hcnRTdWJqZWN0KHRoaXMuX2Rlc3Ryb3kkKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { IconPosition, UiActionButtonType } from '../../../api';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "@angular/material/button";
|
|
6
|
+
import * as i3 from "../../../../smart-icon/smart-icon/smart-icon.component";
|
|
7
|
+
import * as i4 from "../../../../shared/smart-tooltip.directive";
|
|
8
|
+
export class UiActionDialogButtonComponent {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.click = new EventEmitter();
|
|
11
|
+
}
|
|
12
|
+
onButtonClicked() {
|
|
13
|
+
this.click.emit();
|
|
14
|
+
}
|
|
15
|
+
getButtonClass() {
|
|
16
|
+
if (!this.buttonType) {
|
|
17
|
+
return 'mat-button';
|
|
18
|
+
}
|
|
19
|
+
switch (this.buttonType) {
|
|
20
|
+
case UiActionButtonType.NORMAL:
|
|
21
|
+
return 'mat-button';
|
|
22
|
+
case UiActionButtonType.FLAT:
|
|
23
|
+
return 'mat-flat-button';
|
|
24
|
+
case UiActionButtonType.RAISED:
|
|
25
|
+
return 'mat-raised-button';
|
|
26
|
+
case UiActionButtonType.STROKED:
|
|
27
|
+
return 'mat-stroked-button';
|
|
28
|
+
case UiActionButtonType.ICON:
|
|
29
|
+
return 'mat-icon-button';
|
|
30
|
+
case UiActionButtonType.MINI_FAB:
|
|
31
|
+
return 'mat-mini-fab';
|
|
32
|
+
case UiActionButtonType.FAB:
|
|
33
|
+
return 'mat-fab';
|
|
34
|
+
default:
|
|
35
|
+
return `mat-button`;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
iconPosition() {
|
|
39
|
+
return IconPosition;
|
|
40
|
+
}
|
|
41
|
+
isOnlyIcon() {
|
|
42
|
+
return (this.buttonType === UiActionButtonType.ICON ||
|
|
43
|
+
this.buttonType === UiActionButtonType.MINI_FAB ||
|
|
44
|
+
this.buttonType === UiActionButtonType.FAB);
|
|
45
|
+
}
|
|
46
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UiActionDialogButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
47
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: UiActionDialogButtonComponent, selector: "ui-action-dialog-button", inputs: { descriptor: "descriptor", buttonType: "buttonType" }, outputs: { click: "click" }, ngImport: i0, template: "<button\n mat-button\n [smartTooltip]=\"descriptor.tooltip\"\n [ngClass]=\"getButtonClass()\"\n color=\"accent\"\n [color]=\"descriptor.color\"\n class=\"{{ descriptor.cssClass }}\"\n (click)=\"onButtonClicked()\"\n>\n <div *ngIf=\"isOnlyIcon(); then iconOnly; else text\"></div>\n <ng-template #iconOnly>\n <smart-icon\n *ngIf=\"descriptor.icon\"\n [icon]=\"descriptor.icon\"\n [color]=\"descriptor.iconColor ?? descriptor.color\"\n ></smart-icon>\n </ng-template>\n <ng-template #text>\n <smart-icon\n *ngIf=\"descriptor.icon && descriptor.iconPosition === iconPosition().PRE\"\n [icon]=\"descriptor.icon\"\n [color]=\"descriptor.iconColor ?? descriptor.color\"\n ></smart-icon>\n {{ descriptor.caption }}\n <smart-icon\n *ngIf=\"descriptor.icon && descriptor.iconPosition === iconPosition().POST\"\n [icon]=\"descriptor.icon!\"\n [color]=\"descriptor.iconColor ?? descriptor.color\"\n ></smart-icon>\n </ng-template>\n</button>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color", "imageResource"] }, { kind: "directive", type: i4.SmartTooltipDirective, selector: "[smartTooltip]", inputs: ["smartTooltip"] }] }); }
|
|
48
|
+
}
|
|
49
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UiActionDialogButtonComponent, decorators: [{
|
|
50
|
+
type: Component,
|
|
51
|
+
args: [{ selector: 'ui-action-dialog-button', template: "<button\n mat-button\n [smartTooltip]=\"descriptor.tooltip\"\n [ngClass]=\"getButtonClass()\"\n color=\"accent\"\n [color]=\"descriptor.color\"\n class=\"{{ descriptor.cssClass }}\"\n (click)=\"onButtonClicked()\"\n>\n <div *ngIf=\"isOnlyIcon(); then iconOnly; else text\"></div>\n <ng-template #iconOnly>\n <smart-icon\n *ngIf=\"descriptor.icon\"\n [icon]=\"descriptor.icon\"\n [color]=\"descriptor.iconColor ?? descriptor.color\"\n ></smart-icon>\n </ng-template>\n <ng-template #text>\n <smart-icon\n *ngIf=\"descriptor.icon && descriptor.iconPosition === iconPosition().PRE\"\n [icon]=\"descriptor.icon\"\n [color]=\"descriptor.iconColor ?? descriptor.color\"\n ></smart-icon>\n {{ descriptor.caption }}\n <smart-icon\n *ngIf=\"descriptor.icon && descriptor.iconPosition === iconPosition().POST\"\n [icon]=\"descriptor.icon!\"\n [color]=\"descriptor.iconColor ?? descriptor.color\"\n ></smart-icon>\n </ng-template>\n</button>\n" }]
|
|
52
|
+
}], ctorParameters: () => [], propDecorators: { descriptor: [{
|
|
53
|
+
type: Input
|
|
54
|
+
}], buttonType: [{
|
|
55
|
+
type: Input
|
|
56
|
+
}], click: [{
|
|
57
|
+
type: Output,
|
|
58
|
+
args: ['click']
|
|
59
|
+
}] } });
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLWRpYWxvZy1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvdmlldy1jb250ZXh0L3NtYXJ0LXVpLWFjdGlvbi9kaWFsb2dzL3VpLWFjdGlvbi1kaWFsb2ctYnV0dG9uL3VpLWFjdGlvbi1kaWFsb2ctYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3ZpZXctY29udGV4dC9zbWFydC11aS1hY3Rpb24vZGlhbG9ncy91aS1hY3Rpb24tZGlhbG9nLWJ1dHRvbi91aS1hY3Rpb24tZGlhbG9nLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxZQUFZLEVBQTRCLGtCQUFrQixFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7QUFPMUYsTUFBTSxPQUFPLDZCQUE2QjtJQUt4QztRQURpQixVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUNuQyxDQUFDO0lBRWhCLGVBQWU7UUFDYixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNyQixPQUFPLFlBQVksQ0FBQztRQUN0QixDQUFDO1FBRUQsUUFBUSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDeEIsS0FBSyxrQkFBa0IsQ0FBQyxNQUFNO2dCQUM1QixPQUFPLFlBQVksQ0FBQztZQUN0QixLQUFLLGtCQUFrQixDQUFDLElBQUk7Z0JBQzFCLE9BQU8saUJBQWlCLENBQUM7WUFDM0IsS0FBSyxrQkFBa0IsQ0FBQyxNQUFNO2dCQUM1QixPQUFPLG1CQUFtQixDQUFDO1lBQzdCLEtBQUssa0JBQWtCLENBQUMsT0FBTztnQkFDN0IsT0FBTyxvQkFBb0IsQ0FBQztZQUM5QixLQUFLLGtCQUFrQixDQUFDLElBQUk7Z0JBQzFCLE9BQU8saUJBQWlCLENBQUM7WUFDM0IsS0FBSyxrQkFBa0IsQ0FBQyxRQUFRO2dCQUM5QixPQUFPLGNBQWMsQ0FBQztZQUN4QixLQUFLLGtCQUFrQixDQUFDLEdBQUc7Z0JBQ3pCLE9BQU8sU0FBUyxDQUFDO1lBQ25CO2dCQUNFLE9BQU8sWUFBWSxDQUFDO1FBQ3hCLENBQUM7SUFDSCxDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxDQUNMLElBQUksQ0FBQyxVQUFVLEtBQUssa0JBQWtCLENBQUMsSUFBSTtZQUMzQyxJQUFJLENBQUMsVUFBVSxLQUFLLGtCQUFrQixDQUFDLFFBQVE7WUFDL0MsSUFBSSxDQUFDLFVBQVUsS0FBSyxrQkFBa0IsQ0FBQyxHQUFHLENBQzNDLENBQUM7SUFDSixDQUFDOytHQTlDVSw2QkFBNkI7bUdBQTdCLDZCQUE2Qiw0SkNSMUMsby9CQStCQTs7NEZEdkJhLDZCQUE2QjtrQkFMekMsU0FBUzsrQkFDRSx5QkFBeUI7d0RBSzFCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFFVyxLQUFLO3NCQUFyQixNQUFNO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJY29uUG9zaXRpb24sIFVpQWN0aW9uQnV0dG9uRGVzY3JpcHRvciwgVWlBY3Rpb25CdXR0b25UeXBlIH0gZnJvbSAnLi4vLi4vLi4vYXBpJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndWktYWN0aW9uLWRpYWxvZy1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJy4vdWktYWN0aW9uLWRpYWxvZy1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi91aS1hY3Rpb24tZGlhbG9nLWJ1dHRvbi5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFVpQWN0aW9uRGlhbG9nQnV0dG9uQ29tcG9uZW50IHtcbiAgQElucHV0KCkgZGVzY3JpcHRvciE6IFVpQWN0aW9uQnV0dG9uRGVzY3JpcHRvcjtcbiAgQElucHV0KCkgYnV0dG9uVHlwZT86IFVpQWN0aW9uQnV0dG9uVHlwZTtcblxuICBAT3V0cHV0KCdjbGljaycpIGNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgb25CdXR0b25DbGlja2VkKCk6IHZvaWQge1xuICAgIHRoaXMuY2xpY2suZW1pdCgpO1xuICB9XG5cbiAgZ2V0QnV0dG9uQ2xhc3MoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuYnV0dG9uVHlwZSkge1xuICAgICAgcmV0dXJuICdtYXQtYnV0dG9uJztcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHRoaXMuYnV0dG9uVHlwZSkge1xuICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuTk9STUFMOlxuICAgICAgICByZXR1cm4gJ21hdC1idXR0b24nO1xuICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuRkxBVDpcbiAgICAgICAgcmV0dXJuICdtYXQtZmxhdC1idXR0b24nO1xuICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuUkFJU0VEOlxuICAgICAgICByZXR1cm4gJ21hdC1yYWlzZWQtYnV0dG9uJztcbiAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLlNUUk9LRUQ6XG4gICAgICAgIHJldHVybiAnbWF0LXN0cm9rZWQtYnV0dG9uJztcbiAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLklDT046XG4gICAgICAgIHJldHVybiAnbWF0LWljb24tYnV0dG9uJztcbiAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLk1JTklfRkFCOlxuICAgICAgICByZXR1cm4gJ21hdC1taW5pLWZhYic7XG4gICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5GQUI6XG4gICAgICAgIHJldHVybiAnbWF0LWZhYic7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gYG1hdC1idXR0b25gO1xuICAgIH1cbiAgfVxuXG4gIGljb25Qb3NpdGlvbigpOiB0eXBlb2YgSWNvblBvc2l0aW9uIHtcbiAgICByZXR1cm4gSWNvblBvc2l0aW9uO1xuICB9XG5cbiAgaXNPbmx5SWNvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5idXR0b25UeXBlID09PSBVaUFjdGlvbkJ1dHRvblR5cGUuSUNPTiB8fFxuICAgICAgdGhpcy5idXR0b25UeXBlID09PSBVaUFjdGlvbkJ1dHRvblR5cGUuTUlOSV9GQUIgfHxcbiAgICAgIHRoaXMuYnV0dG9uVHlwZSA9PT0gVWlBY3Rpb25CdXR0b25UeXBlLkZBQlxuICAgICk7XG4gIH1cbn1cbiIsIjxidXR0b25cbiAgbWF0LWJ1dHRvblxuICBbc21hcnRUb29sdGlwXT1cImRlc2NyaXB0b3IudG9vbHRpcFwiXG4gIFtuZ0NsYXNzXT1cImdldEJ1dHRvbkNsYXNzKClcIlxuICBjb2xvcj1cImFjY2VudFwiXG4gIFtjb2xvcl09XCJkZXNjcmlwdG9yLmNvbG9yXCJcbiAgY2xhc3M9XCJ7eyBkZXNjcmlwdG9yLmNzc0NsYXNzIH19XCJcbiAgKGNsaWNrKT1cIm9uQnV0dG9uQ2xpY2tlZCgpXCJcbj5cbiAgPGRpdiAqbmdJZj1cImlzT25seUljb24oKTsgdGhlbiBpY29uT25seTsgZWxzZSB0ZXh0XCI+PC9kaXY+XG4gIDxuZy10ZW1wbGF0ZSAjaWNvbk9ubHk+XG4gICAgPHNtYXJ0LWljb25cbiAgICAgICpuZ0lmPVwiZGVzY3JpcHRvci5pY29uXCJcbiAgICAgIFtpY29uXT1cImRlc2NyaXB0b3IuaWNvblwiXG4gICAgICBbY29sb3JdPVwiZGVzY3JpcHRvci5pY29uQ29sb3IgPz8gZGVzY3JpcHRvci5jb2xvclwiXG4gICAgPjwvc21hcnQtaWNvbj5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPG5nLXRlbXBsYXRlICN0ZXh0PlxuICAgIDxzbWFydC1pY29uXG4gICAgICAqbmdJZj1cImRlc2NyaXB0b3IuaWNvbiAmJiBkZXNjcmlwdG9yLmljb25Qb3NpdGlvbiA9PT0gaWNvblBvc2l0aW9uKCkuUFJFXCJcbiAgICAgIFtpY29uXT1cImRlc2NyaXB0b3IuaWNvblwiXG4gICAgICBbY29sb3JdPVwiZGVzY3JpcHRvci5pY29uQ29sb3IgPz8gZGVzY3JpcHRvci5jb2xvclwiXG4gICAgPjwvc21hcnQtaWNvbj5cbiAgICB7eyBkZXNjcmlwdG9yLmNhcHRpb24gfX1cbiAgICA8c21hcnQtaWNvblxuICAgICAgKm5nSWY9XCJkZXNjcmlwdG9yLmljb24gJiYgZGVzY3JpcHRvci5pY29uUG9zaXRpb24gPT09IGljb25Qb3NpdGlvbigpLlBPU1RcIlxuICAgICAgW2ljb25dPVwiZGVzY3JpcHRvci5pY29uIVwiXG4gICAgICBbY29sb3JdPVwiZGVzY3JpcHRvci5pY29uQ29sb3IgPz8gZGVzY3JpcHRvci5jb2xvclwiXG4gICAgPjwvc21hcnQtaWNvbj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvYnV0dG9uPlxuIl19
|