@smartbit4all/ng-client 1.1.43 → 1.1.44
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/esm2020/lib/session/api/api/api.mjs +4 -4
- package/esm2020/lib/session/api/api/session.service.mjs +306 -306
- package/esm2020/lib/session/api/configuration.mjs +91 -91
- package/esm2020/lib/session/api/encoder.mjs +19 -19
- package/esm2020/lib/session/api/index.mjs +3 -3
- package/esm2020/lib/session/api/model/accountInfo.mjs +13 -13
- package/esm2020/lib/session/api/model/apiError.mjs +13 -13
- package/esm2020/lib/session/api/model/authenticationProviderData.mjs +13 -13
- package/esm2020/lib/session/api/model/getAuthenticationProvidersResponse.mjs +2 -2
- package/esm2020/lib/session/api/model/models.mjs +9 -9
- package/esm2020/lib/session/api/model/refreshSessionRequest.mjs +13 -13
- package/esm2020/lib/session/api/model/session.mjs +2 -2
- package/esm2020/lib/session/api/model/sessionInfoData.mjs +2 -2
- package/esm2020/lib/session/api/model/userActivityLog.mjs +13 -13
- package/esm2020/lib/session/api/param.mjs +2 -2
- package/esm2020/lib/session/api/variables.mjs +9 -9
- package/esm2020/lib/session/cookie-service/smart-cookie.service.mjs +225 -225
- package/esm2020/lib/session/dev-tool/smart-dev-tool-dialog/smart-dev-tool-dialog.component.mjs +90 -90
- package/esm2020/lib/session/dev-tool/smart-dev-tool-dialog/smart-dev-tool-dialog.service.mjs +43 -43
- package/esm2020/lib/session/dev-tool/smart-dev-tool-floating-button/smart-dev-tool-floating-button.component.mjs +40 -40
- package/esm2020/lib/session/dev-tool/smart-dev-tool.interceptor.mjs +52 -52
- package/esm2020/lib/session/dev-tool/smart-dev-tool.service.mjs +165 -165
- package/esm2020/lib/session/projects.mjs +12 -12
- package/esm2020/lib/session/smart-error-catching.interceptor.mjs +71 -71
- package/esm2020/lib/session/smart-header-maintainer.interceptor.mjs +46 -46
- package/esm2020/lib/session/smart-session-handler.service.mjs +6 -6
- package/esm2020/lib/session/smart-session.module.mjs +74 -74
- package/esm2020/lib/session/smart-session.service.mjs +225 -225
- package/esm2020/lib/session/smart-timer/smart-session-timer.component.mjs +35 -35
- package/esm2020/lib/session/smart-timer/smart-session-timer.service.mjs +52 -52
- package/esm2020/lib/smart-client/api/api/api.mjs +4 -4
- package/esm2020/lib/smart-client/api/api/default.service.mjs +133 -133
- package/esm2020/lib/smart-client/api/api.module.mjs +40 -40
- package/esm2020/lib/smart-client/api/configuration.mjs +91 -91
- package/esm2020/lib/smart-client/api/encoder.mjs +19 -19
- package/esm2020/lib/smart-client/api/index.mjs +7 -7
- package/esm2020/lib/smart-client/api/model/componentType.mjs +17 -17
- package/esm2020/lib/smart-client/api/model/componentWidgetType.mjs +17 -17
- package/esm2020/lib/smart-client/api/model/layoutDirection.mjs +16 -16
- package/esm2020/lib/smart-client/api/model/models.mjs +6 -6
- package/esm2020/lib/smart-client/api/model/smartComponentLayoutDefinition.mjs +2 -2
- package/esm2020/lib/smart-client/api/model/smartComponentWidgetDefinition.mjs +2 -2
- package/esm2020/lib/smart-client/api/param.mjs +2 -2
- package/esm2020/lib/smart-client/api/variables.mjs +9 -9
- package/esm2020/lib/smart-client/projects.mjs +5 -5
- package/esm2020/lib/smart-client/smart-authentication.service.mjs +21 -21
- package/esm2020/lib/smart-client/smart-component-api-client.mjs +403 -403
- package/esm2020/lib/smart-client/smart-component-layout/smart-component-layout.component.mjs +126 -126
- package/esm2020/lib/smart-client/smart-file-uploader/smart-file-uploader.component.mjs +50 -50
- package/esm2020/lib/smart-client/smart.component.mjs +30 -30
- package/esm2020/lib/smart-client/smart.service.mjs +30 -30
- package/esm2020/lib/smart-ng-client.module.mjs +62 -62
- package/esm2020/lib/smart-ng-client.service.mjs +19 -19
- package/esm2020/lib/view-context/api/api/api.mjs +4 -4
- package/esm2020/lib/view-context/api/api/view.service.mjs +859 -859
- package/esm2020/lib/view-context/api/api.module.mjs +40 -40
- package/esm2020/lib/view-context/api/configuration.mjs +91 -91
- package/esm2020/lib/view-context/api/encoder.mjs +19 -19
- package/esm2020/lib/view-context/api/index.mjs +7 -7
- package/esm2020/lib/view-context/api/model/closeResult.mjs +17 -17
- package/esm2020/lib/view-context/api/model/componentConstraint.mjs +2 -2
- package/esm2020/lib/view-context/api/model/componentModel.mjs +2 -2
- package/esm2020/lib/view-context/api/model/componentModelChange.mjs +13 -13
- package/esm2020/lib/view-context/api/model/dataChange.mjs +2 -2
- package/esm2020/lib/view-context/api/model/dataChangeEvent.mjs +2 -2
- package/esm2020/lib/view-context/api/model/dataChangeKind.mjs +17 -17
- package/esm2020/lib/view-context/api/model/messageData.mjs +2 -2
- package/esm2020/lib/view-context/api/model/messageOption.mjs +2 -2
- package/esm2020/lib/view-context/api/model/messageOptionType.mjs +17 -17
- package/esm2020/lib/view-context/api/model/messageResult.mjs +2 -2
- package/esm2020/lib/view-context/api/model/messageType.mjs +18 -18
- package/esm2020/lib/view-context/api/model/models.mjs +40 -40
- package/esm2020/lib/view-context/api/model/openPendingData.mjs +2 -2
- package/esm2020/lib/view-context/api/model/smartLinkData.mjs +2 -2
- package/esm2020/lib/view-context/api/model/uiAction.mjs +2 -2
- package/esm2020/lib/view-context/api/model/uiActionButtonDescriptor.mjs +13 -13
- package/esm2020/lib/view-context/api/model/uiActionButtonIconPos.mjs +16 -16
- package/esm2020/lib/view-context/api/model/uiActionButtonType.mjs +21 -21
- package/esm2020/lib/view-context/api/model/uiActionConstraint.mjs +13 -13
- package/esm2020/lib/view-context/api/model/uiActionDescriptor.mjs +2 -2
- package/esm2020/lib/view-context/api/model/uiActionDialogDescriptor.mjs +2 -2
- package/esm2020/lib/view-context/api/model/uiActionFeedbackType.mjs +16 -16
- package/esm2020/lib/view-context/api/model/uiActionInputType.mjs +20 -20
- package/esm2020/lib/view-context/api/model/uiActionRequest.mjs +13 -13
- package/esm2020/lib/view-context/api/model/uiActionUploadDescriptor.mjs +13 -13
- package/esm2020/lib/view-context/api/model/uploadedFile.mjs +13 -13
- package/esm2020/lib/view-context/api/model/valueSet.mjs +2 -2
- package/esm2020/lib/view-context/api/model/view.mjs +2 -2
- package/esm2020/lib/view-context/api/model/viewApiError.mjs +13 -13
- package/esm2020/lib/view-context/api/model/viewConstraint.mjs +2 -2
- package/esm2020/lib/view-context/api/model/viewContext.mjs +2 -2
- package/esm2020/lib/view-context/api/model/viewContextChange.mjs +2 -2
- package/esm2020/lib/view-context/api/model/viewContextData.mjs +2 -2
- package/esm2020/lib/view-context/api/model/viewContextUpdate.mjs +2 -2
- package/esm2020/lib/view-context/api/model/viewData.mjs +2 -2
- package/esm2020/lib/view-context/api/model/viewEventHandler.mjs +20 -20
- package/esm2020/lib/view-context/api/model/viewState.mjs +21 -21
- package/esm2020/lib/view-context/api/model/viewStateUpdate.mjs +2 -2
- package/esm2020/lib/view-context/api/model/viewType.mjs +17 -17
- package/esm2020/lib/view-context/api/param.mjs +2 -2
- package/esm2020/lib/view-context/api/variables.mjs +9 -9
- package/esm2020/lib/view-context/message-dialog/message-dialog.component.mjs +63 -63
- package/esm2020/lib/view-context/projects.mjs +17 -17
- package/esm2020/lib/view-context/property-definition-data.mjs +2 -2
- package/esm2020/lib/view-context/smart-ui-action/components/success-snack-bar/success-snack-bar.component.mjs +30 -30
- package/esm2020/lib/view-context/smart-ui-action/dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.component.mjs +53 -53
- package/esm2020/lib/view-context/smart-ui-action/dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.service.mjs +48 -48
- package/esm2020/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.component.mjs +68 -68
- package/esm2020/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.service.mjs +53 -53
- package/esm2020/lib/view-context/smart-ui-action/dialogs/ui-action-input-dialog/ui-action-input-dialog.component.mjs +119 -119
- package/esm2020/lib/view-context/smart-ui-action/dialogs/ui-action-input-dialog/ui-action-input-dialog.service.mjs +52 -52
- package/esm2020/lib/view-context/smart-ui-action/ui-action-toolbar.component.mjs +109 -109
- package/esm2020/lib/view-context/smart-ui-action/ui-action.descriptor.service.mjs +119 -119
- package/esm2020/lib/view-context/smart-ui-action/ui-action.model.mjs +7 -7
- package/esm2020/lib/view-context/smart-ui-action/ui-action.service.mjs +182 -182
- package/esm2020/lib/view-context/smart-view-context-error-dialog/smart-view-context-error-dialog.component.mjs +29 -29
- package/esm2020/lib/view-context/smart-view-context-error-dialog/smart-view-context-error-dialog.service.mjs +69 -69
- package/esm2020/lib/view-context/smart-view-context.interceptor.mjs +39 -39
- package/esm2020/lib/view-context/smart-view-context.model.mjs +2 -2
- package/esm2020/lib/view-context/smart-view-context.module.mjs +87 -87
- package/esm2020/lib/view-context/smart-view-context.service.mjs +536 -536
- package/esm2020/lib/view-context/smart-view-redirect/smart-view-redirect.mjs +33 -33
- package/esm2020/lib/view-context/value-api/api/api.mjs +4 -4
- package/esm2020/lib/view-context/value-api/api/value.service.mjs +138 -138
- package/esm2020/lib/view-context/value-api/api.module.mjs +40 -40
- package/esm2020/lib/view-context/value-api/configuration.mjs +91 -91
- package/esm2020/lib/view-context/value-api/encoder.mjs +19 -19
- package/esm2020/lib/view-context/value-api/index.mjs +7 -7
- package/esm2020/lib/view-context/value-api/model/models.mjs +9 -9
- package/esm2020/lib/view-context/value-api/model/value.mjs +13 -13
- package/esm2020/lib/view-context/value-api/model/valueSetData.mjs +13 -13
- package/esm2020/lib/view-context/value-api/model/valueSetDefinition.mjs +2 -2
- package/esm2020/lib/view-context/value-api/model/valueSetDefinitionData.mjs +2 -2
- package/esm2020/lib/view-context/value-api/model/valueSetDefinitionKind.mjs +23 -23
- package/esm2020/lib/view-context/value-api/model/valueSetExpression.mjs +2 -2
- package/esm2020/lib/view-context/value-api/model/valueSetOperand.mjs +2 -2
- package/esm2020/lib/view-context/value-api/model/valueSetOperation.mjs +18 -18
- package/esm2020/lib/view-context/value-api/param.mjs +2 -2
- package/esm2020/lib/view-context/value-api/variables.mjs +9 -9
- package/esm2020/projects.mjs +12 -12
- package/esm2020/smartbit4all-ng-client.mjs +4 -4
- package/fesm2015/smartbit4all-ng-client.mjs +5264 -5264
- package/fesm2015/smartbit4all-ng-client.mjs.map +1 -1
- package/fesm2020/smartbit4all-ng-client.mjs +5228 -5228
- package/fesm2020/smartbit4all-ng-client.mjs.map +1 -1
- package/lib/session/api/api/api.d.ts +3 -3
- package/lib/session/api/api/session.service.d.ts +107 -107
- package/lib/session/api/configuration.d.ts +104 -104
- package/lib/session/api/encoder.d.ts +11 -11
- package/lib/session/api/index.d.ts +2 -2
- package/lib/session/api/model/accountInfo.d.ts +22 -22
- package/lib/session/api/model/apiError.d.ts +15 -15
- package/lib/session/api/model/authenticationProviderData.d.ts +17 -17
- package/lib/session/api/model/getAuthenticationProvidersResponse.d.ts +15 -15
- package/lib/session/api/model/models.d.ts +8 -8
- package/lib/session/api/model/refreshSessionRequest.d.ts +14 -14
- package/lib/session/api/model/session.d.ts +32 -32
- package/lib/session/api/model/sessionInfoData.d.ts +22 -22
- package/lib/session/api/model/userActivityLog.d.ts +33 -33
- package/lib/session/api/param.d.ts +37 -37
- package/lib/session/api/variables.d.ts +8 -8
- package/lib/session/cookie-service/smart-cookie.service.d.ts +129 -129
- package/lib/session/dev-tool/smart-dev-tool-dialog/smart-dev-tool-dialog.component.d.ts +28 -28
- package/lib/session/dev-tool/smart-dev-tool-dialog/smart-dev-tool-dialog.service.d.ts +18 -18
- package/lib/session/dev-tool/smart-dev-tool-floating-button/smart-dev-tool-floating-button.component.d.ts +15 -15
- package/lib/session/dev-tool/smart-dev-tool.interceptor.d.ts +18 -18
- package/lib/session/dev-tool/smart-dev-tool.service.d.ts +57 -57
- package/lib/session/projects.d.ts +8 -8
- package/lib/session/smart-error-catching.interceptor.d.ts +13 -13
- package/lib/session/smart-header-maintainer.interceptor.d.ts +11 -11
- package/lib/session/smart-session-handler.service.d.ts +11 -11
- package/lib/session/smart-session.module.d.ts +15 -15
- package/lib/session/smart-session.service.d.ts +54 -54
- package/lib/session/smart-timer/smart-session-timer.component.d.ts +14 -14
- package/lib/session/smart-timer/smart-session-timer.service.d.ts +21 -21
- package/lib/smart-client/api/api/api.d.ts +3 -3
- package/lib/smart-client/api/api/default.service.d.ts +33 -33
- package/lib/smart-client/api/api.module.d.ts +11 -11
- package/lib/smart-client/api/configuration.d.ts +104 -104
- package/lib/smart-client/api/encoder.d.ts +11 -11
- package/lib/smart-client/api/index.d.ts +6 -6
- package/lib/smart-client/api/model/componentType.d.ts +17 -17
- package/lib/smart-client/api/model/componentWidgetType.d.ts +17 -17
- package/lib/smart-client/api/model/layoutDirection.d.ts +16 -16
- package/lib/smart-client/api/model/models.d.ts +5 -5
- package/lib/smart-client/api/model/smartComponentLayoutDefinition.d.ts +29 -29
- package/lib/smart-client/api/model/smartComponentWidgetDefinition.d.ts +20 -20
- package/lib/smart-client/api/param.d.ts +37 -37
- package/lib/smart-client/api/variables.d.ts +8 -8
- package/lib/smart-client/projects.d.ts +4 -4
- package/lib/smart-client/smart-authentication.service.d.ts +15 -15
- package/lib/smart-client/smart-component-api-client.d.ts +93 -93
- package/lib/smart-client/smart-component-layout/smart-component-layout.component.d.ts +32 -32
- package/lib/smart-client/smart-file-uploader/smart-file-uploader.component.d.ts +18 -18
- package/lib/smart-client/smart.component.d.ts +11 -11
- package/lib/smart-client/smart.service.d.ts +11 -11
- package/lib/smart-ng-client.module.d.ts +16 -16
- package/lib/smart-ng-client.service.d.ts +10 -10
- package/lib/view-context/api/api/api.d.ts +3 -3
- package/lib/view-context/api/api/view.service.d.ts +313 -313
- package/lib/view-context/api/api.module.d.ts +11 -11
- package/lib/view-context/api/configuration.d.ts +104 -104
- package/lib/view-context/api/encoder.d.ts +11 -11
- package/lib/view-context/api/index.d.ts +6 -6
- package/lib/view-context/api/model/closeResult.d.ts +17 -17
- package/lib/view-context/api/model/componentConstraint.d.ts +25 -25
- package/lib/view-context/api/model/componentModel.d.ts +35 -35
- package/lib/view-context/api/model/componentModelChange.d.ts +29 -29
- package/lib/view-context/api/model/dataChange.d.ts +27 -27
- package/lib/view-context/api/model/dataChangeEvent.d.ts +33 -33
- package/lib/view-context/api/model/dataChangeKind.d.ts +20 -20
- package/lib/view-context/api/model/messageData.d.ts +29 -29
- package/lib/view-context/api/model/messageOption.d.ts +20 -20
- package/lib/view-context/api/model/messageOptionType.d.ts +17 -17
- package/lib/view-context/api/model/messageResult.d.ts +16 -16
- package/lib/view-context/api/model/messageType.d.ts +18 -18
- package/lib/view-context/api/model/models.d.ts +39 -39
- package/lib/view-context/api/model/openPendingData.d.ts +22 -22
- package/lib/view-context/api/model/smartLinkData.d.ts +21 -21
- package/lib/view-context/api/model/uiAction.d.ts +29 -29
- package/lib/view-context/api/model/uiActionButtonDescriptor.d.ts +18 -18
- package/lib/view-context/api/model/uiActionButtonIconPos.d.ts +19 -19
- package/lib/view-context/api/model/uiActionButtonType.d.ts +24 -24
- package/lib/view-context/api/model/uiActionConstraint.d.ts +22 -22
- package/lib/view-context/api/model/uiActionDescriptor.d.ts +36 -36
- package/lib/view-context/api/model/uiActionDialogDescriptor.d.ts +23 -23
- package/lib/view-context/api/model/uiActionFeedbackType.d.ts +19 -19
- package/lib/view-context/api/model/uiActionInputType.d.ts +20 -20
- package/lib/view-context/api/model/uiActionRequest.d.ts +28 -28
- package/lib/view-context/api/model/uiActionUploadDescriptor.d.ts +23 -23
- package/lib/view-context/api/model/uploadedFile.d.ts +19 -19
- package/lib/view-context/api/model/valueSet.d.ts +20 -20
- package/lib/view-context/api/model/view.d.ts +68 -68
- package/lib/view-context/api/model/viewApiError.d.ts +18 -18
- package/lib/view-context/api/model/viewConstraint.d.ts +18 -18
- package/lib/view-context/api/model/viewContext.d.ts +22 -22
- package/lib/view-context/api/model/viewContextChange.d.ts +20 -20
- package/lib/view-context/api/model/viewContextData.d.ts +19 -19
- package/lib/view-context/api/model/viewContextUpdate.d.ts +22 -22
- package/lib/view-context/api/model/viewData.d.ts +27 -27
- package/lib/view-context/api/model/viewEventHandler.d.ts +30 -30
- package/lib/view-context/api/model/viewState.d.ts +21 -21
- package/lib/view-context/api/model/viewStateUpdate.d.ts +24 -24
- package/lib/view-context/api/model/viewType.d.ts +17 -17
- package/lib/view-context/api/param.d.ts +37 -37
- package/lib/view-context/api/variables.d.ts +8 -8
- package/lib/view-context/message-dialog/message-dialog.component.d.ts +17 -17
- package/lib/view-context/projects.d.ts +13 -13
- package/lib/view-context/property-definition-data.d.ts +5 -5
- package/lib/view-context/smart-ui-action/components/success-snack-bar/success-snack-bar.component.d.ts +13 -13
- package/lib/view-context/smart-ui-action/dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.component.d.ts +25 -25
- package/lib/view-context/smart-ui-action/dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.service.d.ts +18 -18
- package/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.component.d.ts +30 -30
- package/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.service.d.ts +22 -22
- package/lib/view-context/smart-ui-action/dialogs/ui-action-input-dialog/ui-action-input-dialog.component.d.ts +29 -29
- package/lib/view-context/smart-ui-action/dialogs/ui-action-input-dialog/ui-action-input-dialog.service.d.ts +25 -25
- package/lib/view-context/smart-ui-action/ui-action-toolbar.component.d.ts +30 -30
- package/lib/view-context/smart-ui-action/ui-action.descriptor.service.d.ts +21 -21
- package/lib/view-context/smart-ui-action/ui-action.model.d.ts +32 -32
- package/lib/view-context/smart-ui-action/ui-action.service.d.ts +37 -37
- package/lib/view-context/smart-view-context-error-dialog/smart-view-context-error-dialog.component.d.ts +13 -13
- package/lib/view-context/smart-view-context-error-dialog/smart-view-context-error-dialog.service.d.ts +19 -19
- package/lib/view-context/smart-view-context.interceptor.d.ts +13 -13
- package/lib/view-context/smart-view-context.model.d.ts +30 -30
- package/lib/view-context/smart-view-context.module.d.ts +21 -21
- package/lib/view-context/smart-view-context.service.d.ts +106 -106
- package/lib/view-context/smart-view-redirect/smart-view-redirect.d.ts +14 -14
- package/lib/view-context/value-api/api/api.d.ts +3 -3
- package/lib/view-context/value-api/api/value.service.d.ts +35 -35
- package/lib/view-context/value-api/api.module.d.ts +11 -11
- package/lib/view-context/value-api/configuration.d.ts +104 -104
- package/lib/view-context/value-api/encoder.d.ts +11 -11
- package/lib/view-context/value-api/index.d.ts +6 -6
- package/lib/view-context/value-api/model/models.d.ts +8 -8
- package/lib/view-context/value-api/model/value.d.ts +29 -29
- package/lib/view-context/value-api/model/valueSetData.d.ts +41 -41
- package/lib/view-context/value-api/model/valueSetDefinition.d.ts +16 -16
- package/lib/view-context/value-api/model/valueSetDefinitionData.d.ts +55 -55
- package/lib/view-context/value-api/model/valueSetDefinitionKind.d.ts +23 -23
- package/lib/view-context/value-api/model/valueSetExpression.d.ts +20 -20
- package/lib/view-context/value-api/model/valueSetOperand.d.ts +25 -25
- package/lib/view-context/value-api/model/valueSetOperation.d.ts +18 -18
- package/lib/view-context/value-api/param.d.ts +37 -37
- package/lib/view-context/value-api/variables.d.ts +8 -8
- package/package.json +2 -1
- package/projects.d.ts +8 -8
- package/schematics/collection.json +11 -11
- package/schematics/smart-component/index.ts +26 -26
- package/schematics/smart-component/schema.json +20 -20
- package/schematics/smart-component/smart-component.schema.ts +4 -4
- package/schematics/smart-component/templates/__name@dasherize__.component.html.template +2 -2
- package/schematics/smart-component/templates/__name@dasherize__.component.ts.template +26 -26
- package/smartbit4all-ng-client-1.1.44.tgz +0 -0
- package/smartbit4all-ng-client.d.ts +5 -5
- package/src/lib/session/api/README.md +226 -226
- package/src/lib/smart-client/api/README.md +226 -226
- package/src/lib/view-context/api/README.md +226 -226
- package/src/lib/view-context/value-api/README.md +226 -226
- package/smartbit4all-ng-client-1.1.43.tgz +0 -0
|
@@ -1,182 +1,182 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { Subject } from 'rxjs';
|
|
3
|
-
import { UiActionFeedbackType, UiActionInputType } from '../api';
|
|
4
|
-
import { SuccessSnackBarComponent } from './components/success-snack-bar/success-snack-bar.component';
|
|
5
|
-
import { SmartSubject } from '@smartbit4all/subject';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "./dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.service";
|
|
8
|
-
import * as i2 from "./dialogs/ui-action-input-dialog/ui-action-input-dialog.service";
|
|
9
|
-
import * as i3 from "./dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.service";
|
|
10
|
-
import * as i4 from "@angular/material/snack-bar";
|
|
11
|
-
export class UiActionService {
|
|
12
|
-
constructor(confirmDialogService, textFieldDialogService, fileUploadDialogService, _snackBar) {
|
|
13
|
-
this.confirmDialogService = confirmDialogService;
|
|
14
|
-
this.textFieldDialogService = textFieldDialogService;
|
|
15
|
-
this.fileUploadDialogService = fileUploadDialogService;
|
|
16
|
-
this._snackBar = _snackBar;
|
|
17
|
-
this._destroy$ = new Subject();
|
|
18
|
-
}
|
|
19
|
-
ngOnDestroy() {
|
|
20
|
-
this._destroy$.next();
|
|
21
|
-
this._destroy$.complete();
|
|
22
|
-
}
|
|
23
|
-
async execute(uiAction, options) {
|
|
24
|
-
let uiActionRequest;
|
|
25
|
-
uiActionRequest = {
|
|
26
|
-
code: uiAction.code,
|
|
27
|
-
identifier: uiAction.identifier,
|
|
28
|
-
params: uiAction.params ?? {},
|
|
29
|
-
};
|
|
30
|
-
if (uiAction.submit) {
|
|
31
|
-
this.uiActionModel.serviceToUse.submit.next();
|
|
32
|
-
try {
|
|
33
|
-
await this.uiActionModel.serviceToUse.submit.toPromise();
|
|
34
|
-
this.uiActionModel.serviceToUse.submit = new SmartSubject(this._destroy$);
|
|
35
|
-
this.uiActionModel.serviceToUse.reSubscribeToChange.next();
|
|
36
|
-
}
|
|
37
|
-
catch (error) {
|
|
38
|
-
console.error(error);
|
|
39
|
-
this.uiActionModel.serviceToUse.submit = new SmartSubject(this._destroy$);
|
|
40
|
-
this.uiActionModel.serviceToUse.reSubscribeToChange.next();
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
if (uiAction.confirm) {
|
|
45
|
-
this.confirmDialogService.action = uiAction;
|
|
46
|
-
this.confirmDialogService.openDialog();
|
|
47
|
-
await this.confirmDialogService.onAction.toPromise();
|
|
48
|
-
if (!this.confirmDialogService.shouldDoAction) {
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
// InputType
|
|
53
|
-
if (uiAction.inputType) {
|
|
54
|
-
uiActionRequest = await this.handleInputType(uiAction.inputType, uiAction, uiActionRequest, 'inputDialog');
|
|
55
|
-
if (!uiActionRequest) {
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
await new Promise((resolve) => setTimeout(resolve, 250));
|
|
59
|
-
}
|
|
60
|
-
// Input2Type
|
|
61
|
-
if (uiAction.input2Type) {
|
|
62
|
-
uiActionRequest = await this.handleInputType(uiAction.input2Type, uiAction, uiActionRequest, 'input2Dialog');
|
|
63
|
-
if (!uiActionRequest) {
|
|
64
|
-
return;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
if (this.uiActionModel.exception) {
|
|
68
|
-
let response = await this.uiActionModel.serviceToUse.handleSpecificDemandsAsynchronously(uiAction, uiActionRequest);
|
|
69
|
-
if (!response.shouldPerformAction || !response.uiActionRequest) {
|
|
70
|
-
return;
|
|
71
|
-
}
|
|
72
|
-
uiActionRequest = response.uiActionRequest;
|
|
73
|
-
}
|
|
74
|
-
await this.performAction(uiAction, uiActionRequest, options);
|
|
75
|
-
}
|
|
76
|
-
async handleInputType(inputType, uiAction, uiActionRequest, inputTypeName) {
|
|
77
|
-
switch (inputType) {
|
|
78
|
-
case UiActionInputType.None:
|
|
79
|
-
return uiActionRequest;
|
|
80
|
-
case UiActionInputType.Textarea:
|
|
81
|
-
case UiActionInputType.Textfield:
|
|
82
|
-
return await this.handleInputTypeTextField(inputTypeName, uiAction, uiActionRequest);
|
|
83
|
-
case UiActionInputType.UserSelect:
|
|
84
|
-
return await this.handleInputTypeUserSelect(inputTypeName, uiAction, uiActionRequest);
|
|
85
|
-
case UiActionInputType.File:
|
|
86
|
-
return await this.handleInputTypeUpload(inputTypeName, uiAction, uiActionRequest, false);
|
|
87
|
-
case UiActionInputType.MultipleFiles:
|
|
88
|
-
return await this.handleInputTypeUpload(inputTypeName, uiAction, uiActionRequest, true);
|
|
89
|
-
default:
|
|
90
|
-
return uiActionRequest;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
async handleInputTypeTextField(inputTypeName, uiAction, uiActionRequest) {
|
|
94
|
-
let additionalParams = this.uiActionModel.serviceToUse.getAdditionalParams(uiAction);
|
|
95
|
-
let inputType = inputTypeName === 'inputDialog' ? 'inputType' : 'input2Type';
|
|
96
|
-
if (uiAction[inputType] === UiActionInputType.Textfield) {
|
|
97
|
-
this.textFieldDialogService.nodeName = additionalParams.forTextField;
|
|
98
|
-
}
|
|
99
|
-
else if (uiAction[inputType] === UiActionInputType.Textarea) {
|
|
100
|
-
this.textFieldDialogService.nodeName = additionalParams.forTextArea;
|
|
101
|
-
}
|
|
102
|
-
this.textFieldDialogService.inputTypeName = inputTypeName;
|
|
103
|
-
this.textFieldDialogService.action = uiAction;
|
|
104
|
-
this.textFieldDialogService.openDialog();
|
|
105
|
-
await this.textFieldDialogService.onAction.toPromise();
|
|
106
|
-
let params = this.textFieldDialogService.params;
|
|
107
|
-
if (!params) {
|
|
108
|
-
console.error('There was no response from InputDialog');
|
|
109
|
-
return;
|
|
110
|
-
}
|
|
111
|
-
uiActionRequest.params = {
|
|
112
|
-
...uiActionRequest.params,
|
|
113
|
-
...params,
|
|
114
|
-
};
|
|
115
|
-
return uiActionRequest;
|
|
116
|
-
}
|
|
117
|
-
async handleInputTypeUpload(inputTypeName, uiAction, uiActionRequest, isMultiple) {
|
|
118
|
-
this.fileUploadDialogService.inputTypeName = inputTypeName;
|
|
119
|
-
this.fileUploadDialogService.action = uiAction;
|
|
120
|
-
this.fileUploadDialogService.isMultiple = isMultiple;
|
|
121
|
-
this.fileUploadDialogService.openDialog();
|
|
122
|
-
await this.fileUploadDialogService.onAction.toPromise();
|
|
123
|
-
let files = this.fileUploadDialogService.files;
|
|
124
|
-
if (!files || !files.length) {
|
|
125
|
-
console.error('There was no response from InputDialog');
|
|
126
|
-
return;
|
|
127
|
-
}
|
|
128
|
-
uiActionRequest.params = {
|
|
129
|
-
...uiActionRequest.params,
|
|
130
|
-
_files: files,
|
|
131
|
-
isMultiple,
|
|
132
|
-
param: uiAction.inputType === 'file' || uiAction.inputType === 'multiple_files'
|
|
133
|
-
? 'INPUT'
|
|
134
|
-
: 'INPUT2',
|
|
135
|
-
};
|
|
136
|
-
return uiActionRequest;
|
|
137
|
-
}
|
|
138
|
-
async handleInputTypeUserSelect(inputTypeName, uiAction, uiActionRequest) {
|
|
139
|
-
let response = await this.uiActionModel.serviceToUse.handleSpecificDemandsAsynchronously(uiAction, uiActionRequest);
|
|
140
|
-
if (!response.shouldPerformAction || !response.uiActionRequest) {
|
|
141
|
-
return;
|
|
142
|
-
}
|
|
143
|
-
uiActionRequest = response.uiActionRequest;
|
|
144
|
-
return uiActionRequest;
|
|
145
|
-
}
|
|
146
|
-
async performAction(uiAction, uiActionRequest, options) {
|
|
147
|
-
if (!uiActionRequest.params ||
|
|
148
|
-
(uiActionRequest.params && !Object.keys(uiActionRequest.params).length)) {
|
|
149
|
-
uiActionRequest.params = {
|
|
150
|
-
model: this.uiActionModel.serviceToUse.getModel(),
|
|
151
|
-
};
|
|
152
|
-
}
|
|
153
|
-
else if (uiAction.submit) {
|
|
154
|
-
uiActionRequest.params['model'] = this.uiActionModel.serviceToUse.getModel();
|
|
155
|
-
}
|
|
156
|
-
try {
|
|
157
|
-
await this.uiActionModel.serviceToUse.performUiActionRequest(uiActionRequest, options?.widgetId, options?.nodeId);
|
|
158
|
-
if (this.uiActionModel.descriptor?.feedbackType === UiActionFeedbackType.Snackbar) {
|
|
159
|
-
this.showSavedSnackbar(uiAction);
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
catch (error) {
|
|
163
|
-
console.error(error);
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
showSavedSnackbar(uiAction) {
|
|
167
|
-
this._snackBar.openFromComponent(SuccessSnackBarComponent, {
|
|
168
|
-
duration: 5 * 1000,
|
|
169
|
-
panelClass: ['backgroundColor-accent'],
|
|
170
|
-
data: uiAction,
|
|
171
|
-
});
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
UiActionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionService, deps: [{ token: i1.UiActionConfirmDialogService }, { token: i2.UiActionInputDialogService }, { token: i3.UiActionFileUploadDialogService }, { token: i4.MatSnackBar }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
175
|
-
UiActionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionService, providedIn: 'root' });
|
|
176
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionService, decorators: [{
|
|
177
|
-
type: Injectable,
|
|
178
|
-
args: [{
|
|
179
|
-
providedIn: 'root',
|
|
180
|
-
}]
|
|
181
|
-
}], ctorParameters: function () { return [{ type: i1.UiActionConfirmDialogService }, { type: i2.UiActionInputDialogService }, { type: i3.UiActionFileUploadDialogService }, { type: i4.MatSnackBar }]; } });
|
|
182
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFHdEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQVksb0JBQW9CLEVBQUUsaUJBQWlCLEVBQW1CLE1BQU0sUUFBUSxDQUFDO0FBQzVGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBS3RHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7O0FBaUJyRCxNQUFNLE9BQU8sZUFBZTtJQUkxQixZQUNVLG9CQUFrRCxFQUNsRCxzQkFBa0QsRUFDbEQsdUJBQXdELEVBQ3hELFNBQXNCO1FBSHRCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBOEI7UUFDbEQsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUE0QjtRQUNsRCw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQWlDO1FBQ3hELGNBQVMsR0FBVCxTQUFTLENBQWE7UUFOeEIsY0FBUyxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO0lBTzlDLENBQUM7SUFFSixXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQWtCLEVBQUUsT0FBZ0M7UUFDaEUsSUFBSSxlQUE0QyxDQUFDO1FBRWpELGVBQWUsR0FBRztZQUNoQixJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUs7WUFDcEIsVUFBVSxF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RTthQUNsRCxDQUFDO1NBQ0g7YUFBTSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDMUIsZUFBZSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUM5RTtRQUVELElBQUk7WUFDRixNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLHNCQUFzQixDQUMxRCxlQUFlLEVBQ2YsT0FBTyxFQUFFLFFBQVEsRUFDakIsT0FBTyxFQUFFLE1BQU0sQ0FDaEIsQ0FBQztZQUVGLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsWUFBWSxLQUFLLG9CQUFvQixDQUFDLFFBQVEsRUFBRTtnQkFDakYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ2xDO1NBQ0Y7UUFBQyxPQUFPLEtBQVUsRUFBRTtZQUNuQixPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQztJQUVELGlCQUFpQixDQUFDLFFBQWtCO1FBQ2xDLElBQUksQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsd0JBQXdCLEVBQUU7WUFDekQsUUFBUSxFQUFFLENBQUMsR0FBRyxJQUFJO1lBQ2xCLFVBQVUsRUFBRSxDQUFDLHdCQUF3QixDQUFDO1lBQ3RDLElBQUksRUFBRSxRQUFRO1NBQ2YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7NkdBdk9VLGVBQWU7aUhBQWYsZUFBZSxjQUZkLE1BQU07NEZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVWlBY3Rpb24sIFVpQWN0aW9uRmVlZGJhY2tUeXBlLCBVaUFjdGlvbklucHV0VHlwZSwgVWlBY3Rpb25SZXF1ZXN0IH0gZnJvbSAnLi4vYXBpJztcbmltcG9ydCB7IFN1Y2Nlc3NTbmFja0JhckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zdWNjZXNzLXNuYWNrLWJhci9zdWNjZXNzLXNuYWNrLWJhci5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBVaUFjdGlvbkNvbmZpcm1EaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi9kaWFsb2dzL3VpLWFjdGlvbi1jb25maXJtLWRpYWxvZy91aS1hY3Rpb24tY29uZmlybS1kaWFsb2cuc2VydmljZSc7XG5pbXBvcnQgeyBVaUFjdGlvbklucHV0RGlhbG9nU2VydmljZSB9IGZyb20gJy4vZGlhbG9ncy91aS1hY3Rpb24taW5wdXQtZGlhbG9nL3VpLWFjdGlvbi1pbnB1dC1kaWFsb2cuc2VydmljZSc7XG5pbXBvcnQgeyBVaUFjdGlvbk1vZGVsIH0gZnJvbSAnLi91aS1hY3Rpb24ubW9kZWwnO1xuaW1wb3J0IHsgU21hcnRTdWJqZWN0IH0gZnJvbSAnQHNtYXJ0Yml0NGFsbC9zdWJqZWN0JztcbmltcG9ydCB7IFVpQWN0aW9uRmlsZVVwbG9hZERpYWxvZ1NlcnZpY2UgfSBmcm9tICcuL2RpYWxvZ3MvdWktYWN0aW9uLWZpbGUtdXBsb2FkLWRpYWxvZy91aS1hY3Rpb24tZmlsZS11cGxvYWQtZGlhbG9nLnNlcnZpY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEV4ZWN1dGVVaUFjdGlvbk9wdGlvbnMge1xuICAvKipcbiAgICogSW4gY2FzZSBvZiB1c2luZyBhIGdyaWQ6IGdyaWQuaWRlbnRpZmllclxuICAgKi9cbiAgd2lkZ2V0SWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJbiBjYXNlIG9mIHVzaW5nIGEgZ3JpZDogZ3JpZFJvdy5pZFxuICAgKi9cbiAgbm9kZUlkPzogc3RyaW5nO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVWlBY3Rpb25TZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgdWlBY3Rpb25Nb2RlbCE6IFVpQWN0aW9uTW9kZWw7XG4gIHByaXZhdGUgX2Rlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbmZpcm1EaWFsb2dTZXJ2aWNlOiBVaUFjdGlvbkNvbmZpcm1EaWFsb2dTZXJ2aWNlLFxuICAgIHByaXZhdGUgdGV4dEZpZWxkRGlhbG9nU2VydmljZTogVWlBY3Rpb25JbnB1dERpYWxvZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBmaWxlVXBsb2FkRGlhbG9nU2VydmljZTogVWlBY3Rpb25GaWxlVXBsb2FkRGlhbG9nU2VydmljZSxcbiAgICBwcml2YXRlIF9zbmFja0JhcjogTWF0U25hY2tCYXJcbiAgKSB7fVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgYXN5bmMgZXhlY3V0ZSh1aUFjdGlvbjogVWlBY3Rpb24sIG9wdGlvbnM/OiBFeGVjdXRlVWlBY3Rpb25PcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgbGV0IHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0IHwgdW5kZWZpbmVkO1xuXG4gICAgdWlBY3Rpb25SZXF1ZXN0ID0ge1xuICAgICAgY29kZTogdWlBY3Rpb24uY29kZSEsXG4gICAgICBpZGVudGlmaWVyOiB1aUFjdGlvbi5pZGVudGlmaWVyLFxuICAgICAgcGFyYW1zOiB1aUFjdGlvbi5wYXJhbXMgPz8ge30sXG4gICAgfTtcblxuICAgIGlmICh1aUFjdGlvbi5zdWJtaXQpIHtcbiAgICAgIHRoaXMudWlBY3Rpb25Nb2RlbC5zZXJ2aWNlVG9Vc2Uuc3VibWl0Lm5leHQoKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IHRoaXMudWlBY3Rpb25Nb2RlbC5zZXJ2aWNlVG9Vc2Uuc3VibWl0LnRvUHJvbWlzZSgpO1xuICAgICAgICB0aGlzLnVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLnN1Ym1pdCA9IG5ldyBTbWFydFN1YmplY3QodGhpcy5fZGVzdHJveSQpO1xuICAgICAgICB0aGlzLnVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLnJlU3Vic2NyaWJlVG9DaGFuZ2UubmV4dCgpO1xuICAgICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgdGhpcy51aUFjdGlvbk1vZGVsLnNlcnZpY2VUb1VzZS5zdWJtaXQgPSBuZXcgU21hcnRTdWJqZWN0KHRoaXMuX2Rlc3Ryb3kkKTtcbiAgICAgICAgdGhpcy51aUFjdGlvbk1vZGVsLnNlcnZpY2VUb1VzZS5yZVN1YnNjcmliZVRvQ2hhbmdlLm5leHQoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh1aUFjdGlvbi5jb25maXJtKSB7XG4gICAgICB0aGlzLmNvbmZpcm1EaWFsb2dTZXJ2aWNlLmFjdGlvbiA9IHVpQWN0aW9uO1xuICAgICAgdGhpcy5jb25maXJtRGlhbG9nU2VydmljZS5vcGVuRGlhbG9nKCk7XG4gICAgICBhd2FpdCB0aGlzLmNvbmZpcm1EaWFsb2dTZXJ2aWNlLm9uQWN0aW9uLnRvUHJvbWlzZSgpO1xuICAgICAgaWYgKCF0aGlzLmNvbmZpcm1EaWFsb2dTZXJ2aWNlLnNob3VsZERvQWN0aW9uKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJbnB1dFR5cGVcbiAgICBpZiAodWlBY3Rpb24uaW5wdXRUeXBlKSB7XG4gICAgICB1aUFjdGlvblJlcXVlc3QgPSBhd2FpdCB0aGlzLmhhbmRsZUlucHV0VHlwZShcbiAgICAgICAgdWlBY3Rpb24uaW5wdXRUeXBlLFxuICAgICAgICB1aUFjdGlvbixcbiAgICAgICAgdWlBY3Rpb25SZXF1ZXN0LFxuICAgICAgICAnaW5wdXREaWFsb2cnXG4gICAgICApO1xuICAgICAgaWYgKCF1aUFjdGlvblJlcXVlc3QpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgMjUwKSk7XG4gICAgfVxuICAgIC8vIElucHV0MlR5cGVcbiAgICBpZiAodWlBY3Rpb24uaW5wdXQyVHlwZSkge1xuICAgICAgdWlBY3Rpb25SZXF1ZXN0ID0gYXdhaXQgdGhpcy5oYW5kbGVJbnB1dFR5cGUoXG4gICAgICAgIHVpQWN0aW9uLmlucHV0MlR5cGUsXG4gICAgICAgIHVpQWN0aW9uLFxuICAgICAgICB1aUFjdGlvblJlcXVlc3QsXG4gICAgICAgICdpbnB1dDJEaWFsb2cnXG4gICAgICApO1xuICAgICAgaWYgKCF1aUFjdGlvblJlcXVlc3QpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLnVpQWN0aW9uTW9kZWwuZXhjZXB0aW9uKSB7XG4gICAgICBsZXQgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLmhhbmRsZVNwZWNpZmljRGVtYW5kc0FzeW5jaHJvbm91c2x5KFxuICAgICAgICB1aUFjdGlvbixcbiAgICAgICAgdWlBY3Rpb25SZXF1ZXN0XG4gICAgICApO1xuXG4gICAgICBpZiAoIXJlc3BvbnNlLnNob3VsZFBlcmZvcm1BY3Rpb24gfHwgIXJlc3BvbnNlLnVpQWN0aW9uUmVxdWVzdCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB1aUFjdGlvblJlcXVlc3QgPSByZXNwb25zZS51aUFjdGlvblJlcXVlc3Q7XG4gICAgfVxuXG4gICAgYXdhaXQgdGhpcy5wZXJmb3JtQWN0aW9uKHVpQWN0aW9uLCB1aUFjdGlvblJlcXVlc3QsIG9wdGlvbnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBoYW5kbGVJbnB1dFR5cGUoXG4gICAgaW5wdXRUeXBlOiBVaUFjdGlvbklucHV0VHlwZSxcbiAgICB1aUFjdGlvbjogVWlBY3Rpb24sXG4gICAgdWlBY3Rpb25SZXF1ZXN0OiBVaUFjdGlvblJlcXVlc3QsXG4gICAgaW5wdXRUeXBlTmFtZTogJ2lucHV0RGlhbG9nJyB8ICdpbnB1dDJEaWFsb2cnXG4gICk6IFByb21pc2U8VWlBY3Rpb25SZXF1ZXN0IHwgdW5kZWZpbmVkPiB7XG4gICAgc3dpdGNoIChpbnB1dFR5cGUpIHtcbiAgICAgIGNhc2UgVWlBY3Rpb25JbnB1dFR5cGUuTm9uZTpcbiAgICAgICAgcmV0dXJuIHVpQWN0aW9uUmVxdWVzdDtcbiAgICAgIGNhc2UgVWlBY3Rpb25JbnB1dFR5cGUuVGV4dGFyZWE6XG4gICAgICBjYXNlIFVpQWN0aW9uSW5wdXRUeXBlLlRleHRmaWVsZDpcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuaGFuZGxlSW5wdXRUeXBlVGV4dEZpZWxkKGlucHV0VHlwZU5hbWUsIHVpQWN0aW9uLCB1aUFjdGlvblJlcXVlc3QpO1xuICAgICAgY2FzZSBVaUFjdGlvbklucHV0VHlwZS5Vc2VyU2VsZWN0OlxuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5oYW5kbGVJbnB1dFR5cGVVc2VyU2VsZWN0KGlucHV0VHlwZU5hbWUsIHVpQWN0aW9uLCB1aUFjdGlvblJlcXVlc3QpO1xuICAgICAgY2FzZSBVaUFjdGlvbklucHV0VHlwZS5GaWxlOlxuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5oYW5kbGVJbnB1dFR5cGVVcGxvYWQoaW5wdXRUeXBlTmFtZSwgdWlBY3Rpb24sIHVpQWN0aW9uUmVxdWVzdCwgZmFsc2UpO1xuICAgICAgY2FzZSBVaUFjdGlvbklucHV0VHlwZS5NdWx0aXBsZUZpbGVzOlxuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5oYW5kbGVJbnB1dFR5cGVVcGxvYWQoaW5wdXRUeXBlTmFtZSwgdWlBY3Rpb24sIHVpQWN0aW9uUmVxdWVzdCwgdHJ1ZSk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gdWlBY3Rpb25SZXF1ZXN0O1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgaGFuZGxlSW5wdXRUeXBlVGV4dEZpZWxkKFxuICAgIGlucHV0VHlwZU5hbWU6ICdpbnB1dERpYWxvZycgfCAnaW5wdXQyRGlhbG9nJyxcbiAgICB1aUFjdGlvbjogVWlBY3Rpb24sXG4gICAgdWlBY3Rpb25SZXF1ZXN0OiBVaUFjdGlvblJlcXVlc3RcbiAgKTogUHJvbWlzZTxVaUFjdGlvblJlcXVlc3QgfCB1bmRlZmluZWQ+IHtcbiAgICBsZXQgYWRkaXRpb25hbFBhcmFtcyA9IHRoaXMudWlBY3Rpb25Nb2RlbC5zZXJ2aWNlVG9Vc2UuZ2V0QWRkaXRpb25hbFBhcmFtcyh1aUFjdGlvbik7XG4gICAgbGV0IGlucHV0VHlwZTogJ2lucHV0VHlwZScgfCAnaW5wdXQyVHlwZScgPVxuICAgICAgaW5wdXRUeXBlTmFtZSA9PT0gJ2lucHV0RGlhbG9nJyA/ICdpbnB1dFR5cGUnIDogJ2lucHV0MlR5cGUnO1xuXG4gICAgaWYgKHVpQWN0aW9uW2lucHV0VHlwZV0gPT09IFVpQWN0aW9uSW5wdXRUeXBlLlRleHRmaWVsZCkge1xuICAgICAgdGhpcy50ZXh0RmllbGREaWFsb2dTZXJ2aWNlLm5vZGVOYW1lID0gYWRkaXRpb25hbFBhcmFtcy5mb3JUZXh0RmllbGQ7XG4gICAgfSBlbHNlIGlmICh1aUFjdGlvbltpbnB1dFR5cGVdID09PSBVaUFjdGlvbklucHV0VHlwZS5UZXh0YXJlYSkge1xuICAgICAgdGhpcy50ZXh0RmllbGREaWFsb2dTZXJ2aWNlLm5vZGVOYW1lID0gYWRkaXRpb25hbFBhcmFtcy5mb3JUZXh0QXJlYTtcbiAgICB9XG5cbiAgICB0aGlzLnRleHRGaWVsZERpYWxvZ1NlcnZpY2UuaW5wdXRUeXBlTmFtZSA9IGlucHV0VHlwZU5hbWU7XG4gICAgdGhpcy50ZXh0RmllbGREaWFsb2dTZXJ2aWNlLmFjdGlvbiA9IHVpQWN0aW9uO1xuXG4gICAgdGhpcy50ZXh0RmllbGREaWFsb2dTZXJ2aWNlLm9wZW5EaWFsb2coKTtcblxuICAgIGF3YWl0IHRoaXMudGV4dEZpZWxkRGlhbG9nU2VydmljZS5vbkFjdGlvbi50b1Byb21pc2UoKTtcbiAgICBsZXQgcGFyYW1zID0gdGhpcy50ZXh0RmllbGREaWFsb2dTZXJ2aWNlLnBhcmFtcztcblxuICAgIGlmICghcGFyYW1zKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdUaGVyZSB3YXMgbm8gcmVzcG9uc2UgZnJvbSBJbnB1dERpYWxvZycpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB1aUFjdGlvblJlcXVlc3QucGFyYW1zID0ge1xuICAgICAgLi4udWlBY3Rpb25SZXF1ZXN0LnBhcmFtcyxcbiAgICAgIC4uLnBhcmFtcyxcbiAgICB9O1xuICAgIHJldHVybiB1aUFjdGlvblJlcXVlc3Q7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGhhbmRsZUlucHV0VHlwZVVwbG9hZChcbiAgICBpbnB1dFR5cGVOYW1lOiAnaW5wdXREaWFsb2cnIHwgJ2lucHV0MkRpYWxvZycsXG4gICAgdWlBY3Rpb246IFVpQWN0aW9uLFxuICAgIHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0LFxuICAgIGlzTXVsdGlwbGU6IGJvb2xlYW5cbiAgKTogUHJvbWlzZTxVaUFjdGlvblJlcXVlc3QgfCB1bmRlZmluZWQ+IHtcbiAgICB0aGlzLmZpbGVVcGxvYWREaWFsb2dTZXJ2aWNlLmlucHV0VHlwZU5hbWUgPSBpbnB1dFR5cGVOYW1lO1xuICAgIHRoaXMuZmlsZVVwbG9hZERpYWxvZ1NlcnZpY2UuYWN0aW9uID0gdWlBY3Rpb247XG4gICAgdGhpcy5maWxlVXBsb2FkRGlhbG9nU2VydmljZS5pc011bHRpcGxlID0gaXNNdWx0aXBsZTtcblxuICAgIHRoaXMuZmlsZVVwbG9hZERpYWxvZ1NlcnZpY2Uub3BlbkRpYWxvZygpO1xuXG4gICAgYXdhaXQgdGhpcy5maWxlVXBsb2FkRGlhbG9nU2VydmljZS5vbkFjdGlvbi50b1Byb21pc2UoKTtcbiAgICBsZXQgZmlsZXMgPSB0aGlzLmZpbGVVcGxvYWREaWFsb2dTZXJ2aWNlLmZpbGVzO1xuXG4gICAgaWYgKCFmaWxlcyB8fCAhZmlsZXMubGVuZ3RoKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdUaGVyZSB3YXMgbm8gcmVzcG9uc2UgZnJvbSBJbnB1dERpYWxvZycpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB1aUFjdGlvblJlcXVlc3QucGFyYW1zID0ge1xuICAgICAgLi4udWlBY3Rpb25SZXF1ZXN0LnBhcmFtcyxcbiAgICAgIF9maWxlczogZmlsZXMsXG4gICAgICBpc011bHRpcGxlLFxuICAgICAgcGFyYW06XG4gICAgICAgIHVpQWN0aW9uLmlucHV0VHlwZSA9PT0gJ2ZpbGUnIHx8IHVpQWN0aW9uLmlucHV0VHlwZSA9PT0gJ211bHRpcGxlX2ZpbGVzJ1xuICAgICAgICAgID8gJ0lOUFVUJ1xuICAgICAgICAgIDogJ0lOUFVUMicsXG4gICAgfTtcbiAgICByZXR1cm4gdWlBY3Rpb25SZXF1ZXN0O1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBoYW5kbGVJbnB1dFR5cGVVc2VyU2VsZWN0KFxuICAgIGlucHV0VHlwZU5hbWU6ICdpbnB1dERpYWxvZycgfCAnaW5wdXQyRGlhbG9nJyxcbiAgICB1aUFjdGlvbjogVWlBY3Rpb24sXG4gICAgdWlBY3Rpb25SZXF1ZXN0OiBVaUFjdGlvblJlcXVlc3RcbiAgKTogUHJvbWlzZTxVaUFjdGlvblJlcXVlc3QgfCB1bmRlZmluZWQ+IHtcbiAgICBsZXQgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLmhhbmRsZVNwZWNpZmljRGVtYW5kc0FzeW5jaHJvbm91c2x5KFxuICAgICAgdWlBY3Rpb24sXG4gICAgICB1aUFjdGlvblJlcXVlc3RcbiAgICApO1xuXG4gICAgaWYgKCFyZXNwb25zZS5zaG91bGRQZXJmb3JtQWN0aW9uIHx8ICFyZXNwb25zZS51aUFjdGlvblJlcXVlc3QpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdWlBY3Rpb25SZXF1ZXN0ID0gcmVzcG9uc2UudWlBY3Rpb25SZXF1ZXN0O1xuICAgIHJldHVybiB1aUFjdGlvblJlcXVlc3Q7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHBlcmZvcm1BY3Rpb24oXG4gICAgdWlBY3Rpb246IFVpQWN0aW9uLFxuICAgIHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0LFxuICAgIG9wdGlvbnM/OiBFeGVjdXRlVWlBY3Rpb25PcHRpb25zXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChcbiAgICAgICF1aUFjdGlvblJlcXVlc3QucGFyYW1zIHx8XG4gICAgICAodWlBY3Rpb25SZXF1ZXN0LnBhcmFtcyAmJiAhT2JqZWN0LmtleXModWlBY3Rpb25SZXF1ZXN0LnBhcmFtcykubGVuZ3RoKVxuICAgICkge1xuICAgICAgdWlBY3Rpb25SZXF1ZXN0LnBhcmFtcyA9IHtcbiAgICAgICAgbW9kZWw6IHRoaXMudWlBY3Rpb25Nb2RlbC5zZXJ2aWNlVG9Vc2UuZ2V0TW9kZWwoKSxcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmICh1aUFjdGlvbi5zdWJtaXQpIHtcbiAgICAgIHVpQWN0aW9uUmVxdWVzdC5wYXJhbXNbJ21vZGVsJ10gPSB0aGlzLnVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLmdldE1vZGVsKCk7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMudWlBY3Rpb25Nb2RlbC5zZXJ2aWNlVG9Vc2UucGVyZm9ybVVpQWN0aW9uUmVxdWVzdChcbiAgICAgICAgdWlBY3Rpb25SZXF1ZXN0LFxuICAgICAgICBvcHRpb25zPy53aWRnZXRJZCxcbiAgICAgICAgb3B0aW9ucz8ubm9kZUlkXG4gICAgICApO1xuXG4gICAgICBpZiAodGhpcy51aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/LmZlZWRiYWNrVHlwZSA9PT0gVWlBY3Rpb25GZWVkYmFja1R5cGUuU25hY2tiYXIpIHtcbiAgICAgICAgdGhpcy5zaG93U2F2ZWRTbmFja2Jhcih1aUFjdGlvbik7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgfVxuICB9XG5cbiAgc2hvd1NhdmVkU25hY2tiYXIodWlBY3Rpb246IFVpQWN0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5fc25hY2tCYXIub3BlbkZyb21Db21wb25lbnQoU3VjY2Vzc1NuYWNrQmFyQ29tcG9uZW50LCB7XG4gICAgICBkdXJhdGlvbjogNSAqIDEwMDAsXG4gICAgICBwYW5lbENsYXNzOiBbJ2JhY2tncm91bmRDb2xvci1hY2NlbnQnXSxcbiAgICAgIGRhdGE6IHVpQWN0aW9uLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import { UiActionFeedbackType, UiActionInputType } from '../api';
|
|
4
|
+
import { SuccessSnackBarComponent } from './components/success-snack-bar/success-snack-bar.component';
|
|
5
|
+
import { SmartSubject } from '@smartbit4all/subject';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "./dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.service";
|
|
8
|
+
import * as i2 from "./dialogs/ui-action-input-dialog/ui-action-input-dialog.service";
|
|
9
|
+
import * as i3 from "./dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.service";
|
|
10
|
+
import * as i4 from "@angular/material/snack-bar";
|
|
11
|
+
export class UiActionService {
|
|
12
|
+
constructor(confirmDialogService, textFieldDialogService, fileUploadDialogService, _snackBar) {
|
|
13
|
+
this.confirmDialogService = confirmDialogService;
|
|
14
|
+
this.textFieldDialogService = textFieldDialogService;
|
|
15
|
+
this.fileUploadDialogService = fileUploadDialogService;
|
|
16
|
+
this._snackBar = _snackBar;
|
|
17
|
+
this._destroy$ = new Subject();
|
|
18
|
+
}
|
|
19
|
+
ngOnDestroy() {
|
|
20
|
+
this._destroy$.next();
|
|
21
|
+
this._destroy$.complete();
|
|
22
|
+
}
|
|
23
|
+
async execute(uiAction, options) {
|
|
24
|
+
let uiActionRequest;
|
|
25
|
+
uiActionRequest = {
|
|
26
|
+
code: uiAction.code,
|
|
27
|
+
identifier: uiAction.identifier,
|
|
28
|
+
params: uiAction.params ?? {},
|
|
29
|
+
};
|
|
30
|
+
if (uiAction.submit) {
|
|
31
|
+
this.uiActionModel.serviceToUse.submit.next();
|
|
32
|
+
try {
|
|
33
|
+
await this.uiActionModel.serviceToUse.submit.toPromise();
|
|
34
|
+
this.uiActionModel.serviceToUse.submit = new SmartSubject(this._destroy$);
|
|
35
|
+
this.uiActionModel.serviceToUse.reSubscribeToChange.next();
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
console.error(error);
|
|
39
|
+
this.uiActionModel.serviceToUse.submit = new SmartSubject(this._destroy$);
|
|
40
|
+
this.uiActionModel.serviceToUse.reSubscribeToChange.next();
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
if (uiAction.confirm) {
|
|
45
|
+
this.confirmDialogService.action = uiAction;
|
|
46
|
+
this.confirmDialogService.openDialog();
|
|
47
|
+
await this.confirmDialogService.onAction.toPromise();
|
|
48
|
+
if (!this.confirmDialogService.shouldDoAction) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
// InputType
|
|
53
|
+
if (uiAction.inputType) {
|
|
54
|
+
uiActionRequest = await this.handleInputType(uiAction.inputType, uiAction, uiActionRequest, 'inputDialog');
|
|
55
|
+
if (!uiActionRequest) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
await new Promise((resolve) => setTimeout(resolve, 250));
|
|
59
|
+
}
|
|
60
|
+
// Input2Type
|
|
61
|
+
if (uiAction.input2Type) {
|
|
62
|
+
uiActionRequest = await this.handleInputType(uiAction.input2Type, uiAction, uiActionRequest, 'input2Dialog');
|
|
63
|
+
if (!uiActionRequest) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
if (this.uiActionModel.exception) {
|
|
68
|
+
let response = await this.uiActionModel.serviceToUse.handleSpecificDemandsAsynchronously(uiAction, uiActionRequest);
|
|
69
|
+
if (!response.shouldPerformAction || !response.uiActionRequest) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
uiActionRequest = response.uiActionRequest;
|
|
73
|
+
}
|
|
74
|
+
await this.performAction(uiAction, uiActionRequest, options);
|
|
75
|
+
}
|
|
76
|
+
async handleInputType(inputType, uiAction, uiActionRequest, inputTypeName) {
|
|
77
|
+
switch (inputType) {
|
|
78
|
+
case UiActionInputType.None:
|
|
79
|
+
return uiActionRequest;
|
|
80
|
+
case UiActionInputType.Textarea:
|
|
81
|
+
case UiActionInputType.Textfield:
|
|
82
|
+
return await this.handleInputTypeTextField(inputTypeName, uiAction, uiActionRequest);
|
|
83
|
+
case UiActionInputType.UserSelect:
|
|
84
|
+
return await this.handleInputTypeUserSelect(inputTypeName, uiAction, uiActionRequest);
|
|
85
|
+
case UiActionInputType.File:
|
|
86
|
+
return await this.handleInputTypeUpload(inputTypeName, uiAction, uiActionRequest, false);
|
|
87
|
+
case UiActionInputType.MultipleFiles:
|
|
88
|
+
return await this.handleInputTypeUpload(inputTypeName, uiAction, uiActionRequest, true);
|
|
89
|
+
default:
|
|
90
|
+
return uiActionRequest;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
async handleInputTypeTextField(inputTypeName, uiAction, uiActionRequest) {
|
|
94
|
+
let additionalParams = this.uiActionModel.serviceToUse.getAdditionalParams(uiAction);
|
|
95
|
+
let inputType = inputTypeName === 'inputDialog' ? 'inputType' : 'input2Type';
|
|
96
|
+
if (uiAction[inputType] === UiActionInputType.Textfield) {
|
|
97
|
+
this.textFieldDialogService.nodeName = additionalParams.forTextField;
|
|
98
|
+
}
|
|
99
|
+
else if (uiAction[inputType] === UiActionInputType.Textarea) {
|
|
100
|
+
this.textFieldDialogService.nodeName = additionalParams.forTextArea;
|
|
101
|
+
}
|
|
102
|
+
this.textFieldDialogService.inputTypeName = inputTypeName;
|
|
103
|
+
this.textFieldDialogService.action = uiAction;
|
|
104
|
+
this.textFieldDialogService.openDialog();
|
|
105
|
+
await this.textFieldDialogService.onAction.toPromise();
|
|
106
|
+
let params = this.textFieldDialogService.params;
|
|
107
|
+
if (!params) {
|
|
108
|
+
console.error('There was no response from InputDialog');
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
uiActionRequest.params = {
|
|
112
|
+
...uiActionRequest.params,
|
|
113
|
+
...params,
|
|
114
|
+
};
|
|
115
|
+
return uiActionRequest;
|
|
116
|
+
}
|
|
117
|
+
async handleInputTypeUpload(inputTypeName, uiAction, uiActionRequest, isMultiple) {
|
|
118
|
+
this.fileUploadDialogService.inputTypeName = inputTypeName;
|
|
119
|
+
this.fileUploadDialogService.action = uiAction;
|
|
120
|
+
this.fileUploadDialogService.isMultiple = isMultiple;
|
|
121
|
+
this.fileUploadDialogService.openDialog();
|
|
122
|
+
await this.fileUploadDialogService.onAction.toPromise();
|
|
123
|
+
let files = this.fileUploadDialogService.files;
|
|
124
|
+
if (!files || !files.length) {
|
|
125
|
+
console.error('There was no response from InputDialog');
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
uiActionRequest.params = {
|
|
129
|
+
...uiActionRequest.params,
|
|
130
|
+
_files: files,
|
|
131
|
+
isMultiple,
|
|
132
|
+
param: uiAction.inputType === 'file' || uiAction.inputType === 'multiple_files'
|
|
133
|
+
? 'INPUT'
|
|
134
|
+
: 'INPUT2',
|
|
135
|
+
};
|
|
136
|
+
return uiActionRequest;
|
|
137
|
+
}
|
|
138
|
+
async handleInputTypeUserSelect(inputTypeName, uiAction, uiActionRequest) {
|
|
139
|
+
let response = await this.uiActionModel.serviceToUse.handleSpecificDemandsAsynchronously(uiAction, uiActionRequest);
|
|
140
|
+
if (!response.shouldPerformAction || !response.uiActionRequest) {
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
uiActionRequest = response.uiActionRequest;
|
|
144
|
+
return uiActionRequest;
|
|
145
|
+
}
|
|
146
|
+
async performAction(uiAction, uiActionRequest, options) {
|
|
147
|
+
if (!uiActionRequest.params ||
|
|
148
|
+
(uiActionRequest.params && !Object.keys(uiActionRequest.params).length)) {
|
|
149
|
+
uiActionRequest.params = {
|
|
150
|
+
model: this.uiActionModel.serviceToUse.getModel(),
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
else if (uiAction.submit) {
|
|
154
|
+
uiActionRequest.params['model'] = this.uiActionModel.serviceToUse.getModel();
|
|
155
|
+
}
|
|
156
|
+
try {
|
|
157
|
+
await this.uiActionModel.serviceToUse.performUiActionRequest(uiActionRequest, options?.widgetId, options?.nodeId);
|
|
158
|
+
if (this.uiActionModel.descriptor?.feedbackType === UiActionFeedbackType.Snackbar) {
|
|
159
|
+
this.showSavedSnackbar(uiAction);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
catch (error) {
|
|
163
|
+
console.error(error);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
showSavedSnackbar(uiAction) {
|
|
167
|
+
this._snackBar.openFromComponent(SuccessSnackBarComponent, {
|
|
168
|
+
duration: 5 * 1000,
|
|
169
|
+
panelClass: ['backgroundColor-accent'],
|
|
170
|
+
data: uiAction,
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
UiActionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionService, deps: [{ token: i1.UiActionConfirmDialogService }, { token: i2.UiActionInputDialogService }, { token: i3.UiActionFileUploadDialogService }, { token: i4.MatSnackBar }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
175
|
+
UiActionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionService, providedIn: 'root' });
|
|
176
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionService, decorators: [{
|
|
177
|
+
type: Injectable,
|
|
178
|
+
args: [{
|
|
179
|
+
providedIn: 'root',
|
|
180
|
+
}]
|
|
181
|
+
}], ctorParameters: function () { return [{ type: i1.UiActionConfirmDialogService }, { type: i2.UiActionInputDialogService }, { type: i3.UiActionFileUploadDialogService }, { type: i4.MatSnackBar }]; } });
|
|
182
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFHdEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQVksb0JBQW9CLEVBQUUsaUJBQWlCLEVBQW1CLE1BQU0sUUFBUSxDQUFDO0FBQzVGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBS3RHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7O0FBaUJyRCxNQUFNLE9BQU8sZUFBZTtJQUkxQixZQUNVLG9CQUFrRCxFQUNsRCxzQkFBa0QsRUFDbEQsdUJBQXdELEVBQ3hELFNBQXNCO1FBSHRCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBOEI7UUFDbEQsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUE0QjtRQUNsRCw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQWlDO1FBQ3hELGNBQVMsR0FBVCxTQUFTLENBQWE7UUFOeEIsY0FBUyxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO0lBTzlDLENBQUM7SUFFSixXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQWtCLEVBQUUsT0FBZ0M7UUFDaEUsSUFBSSxlQUE0QyxDQUFDO1FBRWpELGVBQWUsR0FBRztZQUNoQixJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUs7WUFDcEIsVUFBVSxF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RTthQUNsRCxDQUFDO1NBQ0g7YUFBTSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDMUIsZUFBZSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUM5RTtRQUVELElBQUk7WUFDRixNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLHNCQUFzQixDQUMxRCxlQUFlLEVBQ2YsT0FBTyxFQUFFLFFBQVEsRUFDakIsT0FBTyxFQUFFLE1BQU0sQ0FDaEIsQ0FBQztZQUVGLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsWUFBWSxLQUFLLG9CQUFvQixDQUFDLFFBQVEsRUFBRTtnQkFDakYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ2xDO1NBQ0Y7UUFBQyxPQUFPLEtBQVUsRUFBRTtZQUNuQixPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQztJQUVELGlCQUFpQixDQUFDLFFBQWtCO1FBQ2xDLElBQUksQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsd0JBQXdCLEVBQUU7WUFDekQsUUFBUSxFQUFFLENBQUMsR0FBRyxJQUFJO1lBQ2xCLFVBQVUsRUFBRSxDQUFDLHdCQUF3QixDQUFDO1lBQ3RDLElBQUksRUFBRSxRQUFRO1NBQ2YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7NkdBdk9VLGVBQWU7aUhBQWYsZUFBZSxjQUZkLE1BQU07NEZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xyXG5cclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBVaUFjdGlvbiwgVWlBY3Rpb25GZWVkYmFja1R5cGUsIFVpQWN0aW9uSW5wdXRUeXBlLCBVaUFjdGlvblJlcXVlc3QgfSBmcm9tICcuLi9hcGknO1xyXG5pbXBvcnQgeyBTdWNjZXNzU25hY2tCYXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc3VjY2Vzcy1zbmFjay1iYXIvc3VjY2Vzcy1zbmFjay1iYXIuY29tcG9uZW50JztcclxuXHJcbmltcG9ydCB7IFVpQWN0aW9uQ29uZmlybURpYWxvZ1NlcnZpY2UgfSBmcm9tICcuL2RpYWxvZ3MvdWktYWN0aW9uLWNvbmZpcm0tZGlhbG9nL3VpLWFjdGlvbi1jb25maXJtLWRpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVWlBY3Rpb25JbnB1dERpYWxvZ1NlcnZpY2UgfSBmcm9tICcuL2RpYWxvZ3MvdWktYWN0aW9uLWlucHV0LWRpYWxvZy91aS1hY3Rpb24taW5wdXQtZGlhbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVaUFjdGlvbk1vZGVsIH0gZnJvbSAnLi91aS1hY3Rpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBTbWFydFN1YmplY3QgfSBmcm9tICdAc21hcnRiaXQ0YWxsL3N1YmplY3QnO1xyXG5pbXBvcnQgeyBVaUFjdGlvbkZpbGVVcGxvYWREaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi9kaWFsb2dzL3VpLWFjdGlvbi1maWxlLXVwbG9hZC1kaWFsb2cvdWktYWN0aW9uLWZpbGUtdXBsb2FkLWRpYWxvZy5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXhlY3V0ZVVpQWN0aW9uT3B0aW9ucyB7XHJcbiAgLyoqXHJcbiAgICogSW4gY2FzZSBvZiB1c2luZyBhIGdyaWQ6IGdyaWQuaWRlbnRpZmllclxyXG4gICAqL1xyXG4gIHdpZGdldElkPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEluIGNhc2Ugb2YgdXNpbmcgYSBncmlkOiBncmlkUm93LmlkXHJcbiAgICovXHJcbiAgbm9kZUlkPzogc3RyaW5nO1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVWlBY3Rpb25TZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICB1aUFjdGlvbk1vZGVsITogVWlBY3Rpb25Nb2RlbDtcclxuICBwcml2YXRlIF9kZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBjb25maXJtRGlhbG9nU2VydmljZTogVWlBY3Rpb25Db25maXJtRGlhbG9nU2VydmljZSxcclxuICAgIHByaXZhdGUgdGV4dEZpZWxkRGlhbG9nU2VydmljZTogVWlBY3Rpb25JbnB1dERpYWxvZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGZpbGVVcGxvYWREaWFsb2dTZXJ2aWNlOiBVaUFjdGlvbkZpbGVVcGxvYWREaWFsb2dTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc25hY2tCYXI6IE1hdFNuYWNrQmFyXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBleGVjdXRlKHVpQWN0aW9uOiBVaUFjdGlvbiwgb3B0aW9ucz86IEV4ZWN1dGVVaUFjdGlvbk9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGxldCB1aUFjdGlvblJlcXVlc3Q6IFVpQWN0aW9uUmVxdWVzdCB8IHVuZGVmaW5lZDtcclxuXHJcbiAgICB1aUFjdGlvblJlcXVlc3QgPSB7XHJcbiAgICAgIGNvZGU6IHVpQWN0aW9uLmNvZGUhLFxyXG4gICAgICBpZGVudGlmaWVyOiB1aUFjdGlvbi5pZGVudGlmaWVyLFxyXG4gICAgICBwYXJhbXM6IHVpQWN0aW9uLnBhcmFtcyA/PyB7fSxcclxuICAgIH07XHJcblxyXG4gICAgaWYgKHVpQWN0aW9uLnN1Ym1pdCkge1xyXG4gICAgICB0aGlzLnVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLnN1Ym1pdC5uZXh0KCk7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy51aUFjdGlvbk1vZGVsLnNlcnZpY2VUb1VzZS5zdWJtaXQudG9Qcm9taXNlKCk7XHJcbiAgICAgICAgdGhpcy51aUFjdGlvbk1vZGVsLnNlcnZpY2VUb1VzZS5zdWJtaXQgPSBuZXcgU21hcnRTdWJqZWN0KHRoaXMuX2Rlc3Ryb3kkKTtcclxuICAgICAgICB0aGlzLnVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLnJlU3Vic2NyaWJlVG9DaGFuZ2UubmV4dCgpO1xyXG4gICAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XHJcbiAgICAgICAgdGhpcy51aUFjdGlvbk1vZGVsLnNlcnZpY2VUb1VzZS5zdWJtaXQgPSBuZXcgU21hcnRTdWJqZWN0KHRoaXMuX2Rlc3Ryb3kkKTtcclxuICAgICAgICB0aGlzLnVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLnJlU3Vic2NyaWJlVG9DaGFuZ2UubmV4dCgpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmICh1aUFjdGlvbi5jb25maXJtKSB7XHJcbiAgICAgIHRoaXMuY29uZmlybURpYWxvZ1NlcnZpY2UuYWN0aW9uID0gdWlBY3Rpb247XHJcbiAgICAgIHRoaXMuY29uZmlybURpYWxvZ1NlcnZpY2Uub3BlbkRpYWxvZygpO1xyXG4gICAgICBhd2FpdCB0aGlzLmNvbmZpcm1EaWFsb2dTZXJ2aWNlLm9uQWN0aW9uLnRvUHJvbWlzZSgpO1xyXG4gICAgICBpZiAoIXRoaXMuY29uZmlybURpYWxvZ1NlcnZpY2Uuc2hvdWxkRG9BY3Rpb24pIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBJbnB1dFR5cGVcclxuICAgIGlmICh1aUFjdGlvbi5pbnB1dFR5cGUpIHtcclxuICAgICAgdWlBY3Rpb25SZXF1ZXN0ID0gYXdhaXQgdGhpcy5oYW5kbGVJbnB1dFR5cGUoXHJcbiAgICAgICAgdWlBY3Rpb24uaW5wdXRUeXBlLFxyXG4gICAgICAgIHVpQWN0aW9uLFxyXG4gICAgICAgIHVpQWN0aW9uUmVxdWVzdCxcclxuICAgICAgICAnaW5wdXREaWFsb2cnXHJcbiAgICAgICk7XHJcbiAgICAgIGlmICghdWlBY3Rpb25SZXF1ZXN0KSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIDI1MCkpO1xyXG4gICAgfVxyXG4gICAgLy8gSW5wdXQyVHlwZVxyXG4gICAgaWYgKHVpQWN0aW9uLmlucHV0MlR5cGUpIHtcclxuICAgICAgdWlBY3Rpb25SZXF1ZXN0ID0gYXdhaXQgdGhpcy5oYW5kbGVJbnB1dFR5cGUoXHJcbiAgICAgICAgdWlBY3Rpb24uaW5wdXQyVHlwZSxcclxuICAgICAgICB1aUFjdGlvbixcclxuICAgICAgICB1aUFjdGlvblJlcXVlc3QsXHJcbiAgICAgICAgJ2lucHV0MkRpYWxvZydcclxuICAgICAgKTtcclxuICAgICAgaWYgKCF1aUFjdGlvblJlcXVlc3QpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy51aUFjdGlvbk1vZGVsLmV4Y2VwdGlvbikge1xyXG4gICAgICBsZXQgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLmhhbmRsZVNwZWNpZmljRGVtYW5kc0FzeW5jaHJvbm91c2x5KFxyXG4gICAgICAgIHVpQWN0aW9uLFxyXG4gICAgICAgIHVpQWN0aW9uUmVxdWVzdFxyXG4gICAgICApO1xyXG5cclxuICAgICAgaWYgKCFyZXNwb25zZS5zaG91bGRQZXJmb3JtQWN0aW9uIHx8ICFyZXNwb25zZS51aUFjdGlvblJlcXVlc3QpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgdWlBY3Rpb25SZXF1ZXN0ID0gcmVzcG9uc2UudWlBY3Rpb25SZXF1ZXN0O1xyXG4gICAgfVxyXG5cclxuICAgIGF3YWl0IHRoaXMucGVyZm9ybUFjdGlvbih1aUFjdGlvbiwgdWlBY3Rpb25SZXF1ZXN0LCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgaGFuZGxlSW5wdXRUeXBlKFxyXG4gICAgaW5wdXRUeXBlOiBVaUFjdGlvbklucHV0VHlwZSxcclxuICAgIHVpQWN0aW9uOiBVaUFjdGlvbixcclxuICAgIHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0LFxyXG4gICAgaW5wdXRUeXBlTmFtZTogJ2lucHV0RGlhbG9nJyB8ICdpbnB1dDJEaWFsb2cnXHJcbiAgKTogUHJvbWlzZTxVaUFjdGlvblJlcXVlc3QgfCB1bmRlZmluZWQ+IHtcclxuICAgIHN3aXRjaCAoaW5wdXRUeXBlKSB7XHJcbiAgICAgIGNhc2UgVWlBY3Rpb25JbnB1dFR5cGUuTm9uZTpcclxuICAgICAgICByZXR1cm4gdWlBY3Rpb25SZXF1ZXN0O1xyXG4gICAgICBjYXNlIFVpQWN0aW9uSW5wdXRUeXBlLlRleHRhcmVhOlxyXG4gICAgICBjYXNlIFVpQWN0aW9uSW5wdXRUeXBlLlRleHRmaWVsZDpcclxuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5oYW5kbGVJbnB1dFR5cGVUZXh0RmllbGQoaW5wdXRUeXBlTmFtZSwgdWlBY3Rpb24sIHVpQWN0aW9uUmVxdWVzdCk7XHJcbiAgICAgIGNhc2UgVWlBY3Rpb25JbnB1dFR5cGUuVXNlclNlbGVjdDpcclxuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5oYW5kbGVJbnB1dFR5cGVVc2VyU2VsZWN0KGlucHV0VHlwZU5hbWUsIHVpQWN0aW9uLCB1aUFjdGlvblJlcXVlc3QpO1xyXG4gICAgICBjYXNlIFVpQWN0aW9uSW5wdXRUeXBlLkZpbGU6XHJcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuaGFuZGxlSW5wdXRUeXBlVXBsb2FkKGlucHV0VHlwZU5hbWUsIHVpQWN0aW9uLCB1aUFjdGlvblJlcXVlc3QsIGZhbHNlKTtcclxuICAgICAgY2FzZSBVaUFjdGlvbklucHV0VHlwZS5NdWx0aXBsZUZpbGVzOlxyXG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmhhbmRsZUlucHV0VHlwZVVwbG9hZChpbnB1dFR5cGVOYW1lLCB1aUFjdGlvbiwgdWlBY3Rpb25SZXF1ZXN0LCB0cnVlKTtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gdWlBY3Rpb25SZXF1ZXN0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBoYW5kbGVJbnB1dFR5cGVUZXh0RmllbGQoXHJcbiAgICBpbnB1dFR5cGVOYW1lOiAnaW5wdXREaWFsb2cnIHwgJ2lucHV0MkRpYWxvZycsXHJcbiAgICB1aUFjdGlvbjogVWlBY3Rpb24sXHJcbiAgICB1aUFjdGlvblJlcXVlc3Q6IFVpQWN0aW9uUmVxdWVzdFxyXG4gICk6IFByb21pc2U8VWlBY3Rpb25SZXF1ZXN0IHwgdW5kZWZpbmVkPiB7XHJcbiAgICBsZXQgYWRkaXRpb25hbFBhcmFtcyA9IHRoaXMudWlBY3Rpb25Nb2RlbC5zZXJ2aWNlVG9Vc2UuZ2V0QWRkaXRpb25hbFBhcmFtcyh1aUFjdGlvbik7XHJcbiAgICBsZXQgaW5wdXRUeXBlOiAnaW5wdXRUeXBlJyB8ICdpbnB1dDJUeXBlJyA9XHJcbiAgICAgIGlucHV0VHlwZU5hbWUgPT09ICdpbnB1dERpYWxvZycgPyAnaW5wdXRUeXBlJyA6ICdpbnB1dDJUeXBlJztcclxuXHJcbiAgICBpZiAodWlBY3Rpb25baW5wdXRUeXBlXSA9PT0gVWlBY3Rpb25JbnB1dFR5cGUuVGV4dGZpZWxkKSB7XHJcbiAgICAgIHRoaXMudGV4dEZpZWxkRGlhbG9nU2VydmljZS5ub2RlTmFtZSA9IGFkZGl0aW9uYWxQYXJhbXMuZm9yVGV4dEZpZWxkO1xyXG4gICAgfSBlbHNlIGlmICh1aUFjdGlvbltpbnB1dFR5cGVdID09PSBVaUFjdGlvbklucHV0VHlwZS5UZXh0YXJlYSkge1xyXG4gICAgICB0aGlzLnRleHRGaWVsZERpYWxvZ1NlcnZpY2Uubm9kZU5hbWUgPSBhZGRpdGlvbmFsUGFyYW1zLmZvclRleHRBcmVhO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudGV4dEZpZWxkRGlhbG9nU2VydmljZS5pbnB1dFR5cGVOYW1lID0gaW5wdXRUeXBlTmFtZTtcclxuICAgIHRoaXMudGV4dEZpZWxkRGlhbG9nU2VydmljZS5hY3Rpb24gPSB1aUFjdGlvbjtcclxuXHJcbiAgICB0aGlzLnRleHRGaWVsZERpYWxvZ1NlcnZpY2Uub3BlbkRpYWxvZygpO1xyXG5cclxuICAgIGF3YWl0IHRoaXMudGV4dEZpZWxkRGlhbG9nU2VydmljZS5vbkFjdGlvbi50b1Byb21pc2UoKTtcclxuICAgIGxldCBwYXJhbXMgPSB0aGlzLnRleHRGaWVsZERpYWxvZ1NlcnZpY2UucGFyYW1zO1xyXG5cclxuICAgIGlmICghcGFyYW1zKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1RoZXJlIHdhcyBubyByZXNwb25zZSBmcm9tIElucHV0RGlhbG9nJyk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHVpQWN0aW9uUmVxdWVzdC5wYXJhbXMgPSB7XHJcbiAgICAgIC4uLnVpQWN0aW9uUmVxdWVzdC5wYXJhbXMsXHJcbiAgICAgIC4uLnBhcmFtcyxcclxuICAgIH07XHJcbiAgICByZXR1cm4gdWlBY3Rpb25SZXF1ZXN0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBoYW5kbGVJbnB1dFR5cGVVcGxvYWQoXHJcbiAgICBpbnB1dFR5cGVOYW1lOiAnaW5wdXREaWFsb2cnIHwgJ2lucHV0MkRpYWxvZycsXHJcbiAgICB1aUFjdGlvbjogVWlBY3Rpb24sXHJcbiAgICB1aUFjdGlvblJlcXVlc3Q6IFVpQWN0aW9uUmVxdWVzdCxcclxuICAgIGlzTXVsdGlwbGU6IGJvb2xlYW5cclxuICApOiBQcm9taXNlPFVpQWN0aW9uUmVxdWVzdCB8IHVuZGVmaW5lZD4ge1xyXG4gICAgdGhpcy5maWxlVXBsb2FkRGlhbG9nU2VydmljZS5pbnB1dFR5cGVOYW1lID0gaW5wdXRUeXBlTmFtZTtcclxuICAgIHRoaXMuZmlsZVVwbG9hZERpYWxvZ1NlcnZpY2UuYWN0aW9uID0gdWlBY3Rpb247XHJcbiAgICB0aGlzLmZpbGVVcGxvYWREaWFsb2dTZXJ2aWNlLmlzTXVsdGlwbGUgPSBpc011bHRpcGxlO1xyXG5cclxuICAgIHRoaXMuZmlsZVVwbG9hZERpYWxvZ1NlcnZpY2Uub3BlbkRpYWxvZygpO1xyXG5cclxuICAgIGF3YWl0IHRoaXMuZmlsZVVwbG9hZERpYWxvZ1NlcnZpY2Uub25BY3Rpb24udG9Qcm9taXNlKCk7XHJcbiAgICBsZXQgZmlsZXMgPSB0aGlzLmZpbGVVcGxvYWREaWFsb2dTZXJ2aWNlLmZpbGVzO1xyXG5cclxuICAgIGlmICghZmlsZXMgfHwgIWZpbGVzLmxlbmd0aCkge1xyXG4gICAgICBjb25zb2xlLmVycm9yKCdUaGVyZSB3YXMgbm8gcmVzcG9uc2UgZnJvbSBJbnB1dERpYWxvZycpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB1aUFjdGlvblJlcXVlc3QucGFyYW1zID0ge1xyXG4gICAgICAuLi51aUFjdGlvblJlcXVlc3QucGFyYW1zLFxyXG4gICAgICBfZmlsZXM6IGZpbGVzLFxyXG4gICAgICBpc011bHRpcGxlLFxyXG4gICAgICBwYXJhbTpcclxuICAgICAgICB1aUFjdGlvbi5pbnB1dFR5cGUgPT09ICdmaWxlJyB8fCB1aUFjdGlvbi5pbnB1dFR5cGUgPT09ICdtdWx0aXBsZV9maWxlcydcclxuICAgICAgICAgID8gJ0lOUFVUJ1xyXG4gICAgICAgICAgOiAnSU5QVVQyJyxcclxuICAgIH07XHJcbiAgICByZXR1cm4gdWlBY3Rpb25SZXF1ZXN0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBoYW5kbGVJbnB1dFR5cGVVc2VyU2VsZWN0KFxyXG4gICAgaW5wdXRUeXBlTmFtZTogJ2lucHV0RGlhbG9nJyB8ICdpbnB1dDJEaWFsb2cnLFxyXG4gICAgdWlBY3Rpb246IFVpQWN0aW9uLFxyXG4gICAgdWlBY3Rpb25SZXF1ZXN0OiBVaUFjdGlvblJlcXVlc3RcclxuICApOiBQcm9taXNlPFVpQWN0aW9uUmVxdWVzdCB8IHVuZGVmaW5lZD4ge1xyXG4gICAgbGV0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy51aUFjdGlvbk1vZGVsLnNlcnZpY2VUb1VzZS5oYW5kbGVTcGVjaWZpY0RlbWFuZHNBc3luY2hyb25vdXNseShcclxuICAgICAgdWlBY3Rpb24sXHJcbiAgICAgIHVpQWN0aW9uUmVxdWVzdFxyXG4gICAgKTtcclxuXHJcbiAgICBpZiAoIXJlc3BvbnNlLnNob3VsZFBlcmZvcm1BY3Rpb24gfHwgIXJlc3BvbnNlLnVpQWN0aW9uUmVxdWVzdCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB1aUFjdGlvblJlcXVlc3QgPSByZXNwb25zZS51aUFjdGlvblJlcXVlc3Q7XHJcbiAgICByZXR1cm4gdWlBY3Rpb25SZXF1ZXN0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBwZXJmb3JtQWN0aW9uKFxyXG4gICAgdWlBY3Rpb246IFVpQWN0aW9uLFxyXG4gICAgdWlBY3Rpb25SZXF1ZXN0OiBVaUFjdGlvblJlcXVlc3QsXHJcbiAgICBvcHRpb25zPzogRXhlY3V0ZVVpQWN0aW9uT3B0aW9uc1xyXG4gICk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKFxyXG4gICAgICAhdWlBY3Rpb25SZXF1ZXN0LnBhcmFtcyB8fFxyXG4gICAgICAodWlBY3Rpb25SZXF1ZXN0LnBhcmFtcyAmJiAhT2JqZWN0LmtleXModWlBY3Rpb25SZXF1ZXN0LnBhcmFtcykubGVuZ3RoKVxyXG4gICAgKSB7XHJcbiAgICAgIHVpQWN0aW9uUmVxdWVzdC5wYXJhbXMgPSB7XHJcbiAgICAgICAgbW9kZWw6IHRoaXMudWlBY3Rpb25Nb2RlbC5zZXJ2aWNlVG9Vc2UuZ2V0TW9kZWwoKSxcclxuICAgICAgfTtcclxuICAgIH0gZWxzZSBpZiAodWlBY3Rpb24uc3VibWl0KSB7XHJcbiAgICAgIHVpQWN0aW9uUmVxdWVzdC5wYXJhbXNbJ21vZGVsJ10gPSB0aGlzLnVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLmdldE1vZGVsKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgYXdhaXQgdGhpcy51aUFjdGlvbk1vZGVsLnNlcnZpY2VUb1VzZS5wZXJmb3JtVWlBY3Rpb25SZXF1ZXN0KFxyXG4gICAgICAgIHVpQWN0aW9uUmVxdWVzdCxcclxuICAgICAgICBvcHRpb25zPy53aWRnZXRJZCxcclxuICAgICAgICBvcHRpb25zPy5ub2RlSWRcclxuICAgICAgKTtcclxuXHJcbiAgICAgIGlmICh0aGlzLnVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8uZmVlZGJhY2tUeXBlID09PSBVaUFjdGlvbkZlZWRiYWNrVHlwZS5TbmFja2Jhcikge1xyXG4gICAgICAgIHRoaXMuc2hvd1NhdmVkU25hY2tiYXIodWlBY3Rpb24pO1xyXG4gICAgICB9XHJcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2hvd1NhdmVkU25hY2tiYXIodWlBY3Rpb246IFVpQWN0aW9uKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zbmFja0Jhci5vcGVuRnJvbUNvbXBvbmVudChTdWNjZXNzU25hY2tCYXJDb21wb25lbnQsIHtcclxuICAgICAgZHVyYXRpb246IDUgKiAxMDAwLFxyXG4gICAgICBwYW5lbENsYXNzOiBbJ2JhY2tncm91bmRDb2xvci1hY2NlbnQnXSxcclxuICAgICAgZGF0YTogdWlBY3Rpb24sXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "./smart-view-context-error-dialog.service";
|
|
4
|
-
import * as i2 from "@angular/material/button";
|
|
5
|
-
import * as i3 from "@angular/common";
|
|
6
|
-
export class SmartViewContextErrorDialogComponent {
|
|
7
|
-
constructor(service) {
|
|
8
|
-
this.service = service;
|
|
9
|
-
this.service
|
|
10
|
-
.getSmartViewContextApiError()
|
|
11
|
-
.then((smartViewContextApiError) => {
|
|
12
|
-
this.smartViewContextApiError = smartViewContextApiError;
|
|
13
|
-
});
|
|
14
|
-
}
|
|
15
|
-
ngOnInit() { }
|
|
16
|
-
onActionClick() {
|
|
17
|
-
if (this.smartViewContextApiError?.customAction) {
|
|
18
|
-
this.smartViewContextApiError.customAction();
|
|
19
|
-
}
|
|
20
|
-
this.service.closeDialog();
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
SmartViewContextErrorDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartViewContextErrorDialogComponent, deps: [{ token: i1.SmartViewContextErrorDialogService }], target: i0.ɵɵFactoryTarget.Component });
|
|
24
|
-
SmartViewContextErrorDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SmartViewContextErrorDialogComponent, selector: "lib-smart-view-context-error-dialog", ngImport: i0, template: "<div *ngIf=\"smartViewContextApiError\" class=\"container\">\n <h3 class=\"color-accent-700\">\n {{ smartViewContextApiError.dialogTitle }}\n </h3>\n <div class=\"content\">\n <p>\n {{ smartViewContextApiError.message }}\n </p>\n </div>\n <div class=\"buttonContainer\">\n <button mat-raised-button color=\"primary\" (click)=\"onActionClick()\">\n {{ smartViewContextApiError.buttonLabel }}\n </button>\n </div>\n</div>\n", styles: [".container{display:flex;flex-direction:column;gap:1em;min-width:25rem;max-width:50vw;height:auto;max-height:75vh}.content{flex:1;overflow:auto}.buttonContainer{display:flex;flex-direction:row;justify-content:flex-end}\n"], components: [{ type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartViewContextErrorDialogComponent, decorators: [{
|
|
26
|
-
type: Component,
|
|
27
|
-
args: [{ selector: 'lib-smart-view-context-error-dialog', template: "<div *ngIf=\"smartViewContextApiError\" class=\"container\">\n <h3 class=\"color-accent-700\">\n {{ smartViewContextApiError.dialogTitle }}\n </h3>\n <div class=\"content\">\n <p>\n {{ smartViewContextApiError.message }}\n </p>\n </div>\n <div class=\"buttonContainer\">\n <button mat-raised-button color=\"primary\" (click)=\"onActionClick()\">\n {{ smartViewContextApiError.buttonLabel }}\n </button>\n </div>\n</div>\n", styles: [".container{display:flex;flex-direction:column;gap:1em;min-width:25rem;max-width:50vw;height:auto;max-height:75vh}.content{flex:1;overflow:auto}.buttonContainer{display:flex;flex-direction:row;justify-content:flex-end}\n"] }]
|
|
28
|
-
}], ctorParameters: function () { return [{ type: i1.SmartViewContextErrorDialogService }]; } });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "./smart-view-context-error-dialog.service";
|
|
4
|
+
import * as i2 from "@angular/material/button";
|
|
5
|
+
import * as i3 from "@angular/common";
|
|
6
|
+
export class SmartViewContextErrorDialogComponent {
|
|
7
|
+
constructor(service) {
|
|
8
|
+
this.service = service;
|
|
9
|
+
this.service
|
|
10
|
+
.getSmartViewContextApiError()
|
|
11
|
+
.then((smartViewContextApiError) => {
|
|
12
|
+
this.smartViewContextApiError = smartViewContextApiError;
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
ngOnInit() { }
|
|
16
|
+
onActionClick() {
|
|
17
|
+
if (this.smartViewContextApiError?.customAction) {
|
|
18
|
+
this.smartViewContextApiError.customAction();
|
|
19
|
+
}
|
|
20
|
+
this.service.closeDialog();
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
SmartViewContextErrorDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartViewContextErrorDialogComponent, deps: [{ token: i1.SmartViewContextErrorDialogService }], target: i0.ɵɵFactoryTarget.Component });
|
|
24
|
+
SmartViewContextErrorDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SmartViewContextErrorDialogComponent, selector: "lib-smart-view-context-error-dialog", ngImport: i0, template: "<div *ngIf=\"smartViewContextApiError\" class=\"container\">\r\n <h3 class=\"color-accent-700\">\r\n {{ smartViewContextApiError.dialogTitle }}\r\n </h3>\r\n <div class=\"content\">\r\n <p>\r\n {{ smartViewContextApiError.message }}\r\n </p>\r\n </div>\r\n <div class=\"buttonContainer\">\r\n <button mat-raised-button color=\"primary\" (click)=\"onActionClick()\">\r\n {{ smartViewContextApiError.buttonLabel }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".container{display:flex;flex-direction:column;gap:1em;min-width:25rem;max-width:50vw;height:auto;max-height:75vh}.content{flex:1;overflow:auto}.buttonContainer{display:flex;flex-direction:row;justify-content:flex-end}\n"], components: [{ type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartViewContextErrorDialogComponent, decorators: [{
|
|
26
|
+
type: Component,
|
|
27
|
+
args: [{ selector: 'lib-smart-view-context-error-dialog', template: "<div *ngIf=\"smartViewContextApiError\" class=\"container\">\r\n <h3 class=\"color-accent-700\">\r\n {{ smartViewContextApiError.dialogTitle }}\r\n </h3>\r\n <div class=\"content\">\r\n <p>\r\n {{ smartViewContextApiError.message }}\r\n </p>\r\n </div>\r\n <div class=\"buttonContainer\">\r\n <button mat-raised-button color=\"primary\" (click)=\"onActionClick()\">\r\n {{ smartViewContextApiError.buttonLabel }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".container{display:flex;flex-direction:column;gap:1em;min-width:25rem;max-width:50vw;height:auto;max-height:75vh}.content{flex:1;overflow:auto}.buttonContainer{display:flex;flex-direction:row;justify-content:flex-end}\n"] }]
|
|
28
|
+
}], ctorParameters: function () { return [{ type: i1.SmartViewContextErrorDialogService }]; } });
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtdmlldy1jb250ZXh0LWVycm9yLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdmlldy1jb250ZXh0LWVycm9yLWRpYWxvZy9zbWFydC12aWV3LWNvbnRleHQtZXJyb3ItZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3ZpZXctY29udGV4dC9zbWFydC12aWV3LWNvbnRleHQtZXJyb3ItZGlhbG9nL3NtYXJ0LXZpZXctY29udGV4dC1lcnJvci1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFTbEQsTUFBTSxPQUFPLG9DQUFvQztJQUcvQyxZQUFvQixPQUEyQztRQUEzQyxZQUFPLEdBQVAsT0FBTyxDQUFvQztRQUM3RCxJQUFJLENBQUMsT0FBTzthQUNULDJCQUEyQixFQUFFO2FBQzdCLElBQUksQ0FBQyxDQUFDLHdCQUFrRCxFQUFFLEVBQUU7WUFDM0QsSUFBSSxDQUFDLHdCQUF3QixHQUFHLHdCQUF3QixDQUFDO1FBQzNELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFFBQVEsS0FBVSxDQUFDO0lBRW5CLGFBQWE7UUFDWCxJQUFJLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxZQUFZLEVBQUU7WUFDL0MsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFlBQVksRUFBRSxDQUFDO1NBQzlDO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM3QixDQUFDOztrSUFsQlUsb0NBQW9DO3NIQUFwQyxvQ0FBb0MsMkVDVGpELG9lQWVBOzRGRE5hLG9DQUFvQztrQkFMaEQsU0FBUzsrQkFDRSxxQ0FBcUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTbWFydFZpZXdDb250ZXh0QXBpRXJyb3IgfSBmcm9tICcuLi9zbWFydC12aWV3LWNvbnRleHQubW9kZWwnO1xyXG5pbXBvcnQgeyBTbWFydFZpZXdDb250ZXh0RXJyb3JEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi9zbWFydC12aWV3LWNvbnRleHQtZXJyb3ItZGlhbG9nLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItc21hcnQtdmlldy1jb250ZXh0LWVycm9yLWRpYWxvZycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NtYXJ0LXZpZXctY29udGV4dC1lcnJvci1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NtYXJ0LXZpZXctY29udGV4dC1lcnJvci1kaWFsb2cuY29tcG9uZW50LmNzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU21hcnRWaWV3Q29udGV4dEVycm9yRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBzbWFydFZpZXdDb250ZXh0QXBpRXJyb3I/OiBTbWFydFZpZXdDb250ZXh0QXBpRXJyb3I7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VydmljZTogU21hcnRWaWV3Q29udGV4dEVycm9yRGlhbG9nU2VydmljZSkge1xyXG4gICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgIC5nZXRTbWFydFZpZXdDb250ZXh0QXBpRXJyb3IoKVxyXG4gICAgICAudGhlbigoc21hcnRWaWV3Q29udGV4dEFwaUVycm9yOiBTbWFydFZpZXdDb250ZXh0QXBpRXJyb3IpID0+IHtcclxuICAgICAgICB0aGlzLnNtYXJ0Vmlld0NvbnRleHRBcGlFcnJvciA9IHNtYXJ0Vmlld0NvbnRleHRBcGlFcnJvcjtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XHJcblxyXG4gIG9uQWN0aW9uQ2xpY2soKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zbWFydFZpZXdDb250ZXh0QXBpRXJyb3I/LmN1c3RvbUFjdGlvbikge1xyXG4gICAgICB0aGlzLnNtYXJ0Vmlld0NvbnRleHRBcGlFcnJvci5jdXN0b21BY3Rpb24oKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2VydmljZS5jbG9zZURpYWxvZygpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2ICpuZ0lmPVwic21hcnRWaWV3Q29udGV4dEFwaUVycm9yXCIgY2xhc3M9XCJjb250YWluZXJcIj5cclxuICA8aDMgY2xhc3M9XCJjb2xvci1hY2NlbnQtNzAwXCI+XHJcbiAgICB7eyBzbWFydFZpZXdDb250ZXh0QXBpRXJyb3IuZGlhbG9nVGl0bGUgfX1cclxuICA8L2gzPlxyXG4gIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XHJcbiAgICA8cD5cclxuICAgICAge3sgc21hcnRWaWV3Q29udGV4dEFwaUVycm9yLm1lc3NhZ2UgfX1cclxuICAgIDwvcD5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiYnV0dG9uQ29udGFpbmVyXCI+XHJcbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJvbkFjdGlvbkNsaWNrKClcIj5cclxuICAgICAge3sgc21hcnRWaWV3Q29udGV4dEFwaUVycm9yLmJ1dHRvbkxhYmVsIH19XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|