angular-toolbox 1.4.6 → 1.5.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 +1 -1
- package/fesm2022/angular-toolbox.mjs +159 -166
- package/fesm2022/angular-toolbox.mjs.map +1 -1
- package/package.json +1 -3
- package/esm2022/angular-toolbox.mjs +0 -5
- package/esm2022/lib/angular-toolbox.module.mjs +0 -25
- package/esm2022/lib/collection/array-list-event-type.enum.mjs +0 -30
- package/esm2022/lib/collection/array-list.event.mjs +0 -23
- package/esm2022/lib/collection/array-list.mjs +0 -158
- package/esm2022/lib/collection/index.mjs +0 -11
- package/esm2022/lib/component/angular-toolbox-logo/angular-toolbox-logo.component.mjs +0 -18
- package/esm2022/lib/component/dropdown/dropdown.component.mjs +0 -139
- package/esm2022/lib/component/index.mjs +0 -11
- package/esm2022/lib/component/layout/border-layout/border-layout.component.mjs +0 -149
- package/esm2022/lib/component/layout/border-layout/util/border-layout-bounds-manager.mjs +0 -211
- package/esm2022/lib/component/layout/border-layout/util/border-layout-renderer.mjs +0 -267
- package/esm2022/lib/component/layout/border-layout/util/resize-method.mjs +0 -9
- package/esm2022/lib/component/layout/border-layout-container/border-layout-container.component.mjs +0 -145
- package/esm2022/lib/component/layout/index.mjs +0 -3
- package/esm2022/lib/core/abstract/abstract-subscription-manager.mjs +0 -113
- package/esm2022/lib/core/abstract/abstract-version-manager.mjs +0 -37
- package/esm2022/lib/core/abstract/index.mjs +0 -3
- package/esm2022/lib/core/bridge/app-bridge.mjs +0 -76
- package/esm2022/lib/core/error/app-bridge-error.mjs +0 -24
- package/esm2022/lib/core/error/http-mock-service-error.mjs +0 -26
- package/esm2022/lib/core/error/index.mjs +0 -5
- package/esm2022/lib/core/error/integrity-error.mjs +0 -26
- package/esm2022/lib/core/error/subscription-error.mjs +0 -26
- package/esm2022/lib/core/impl/index.mjs +0 -2
- package/esm2022/lib/core/impl/lang/identifiable-component.mjs +0 -47
- package/esm2022/lib/core/impl/lang/index.mjs +0 -2
- package/esm2022/lib/core/impl/version/version.impl.mjs +0 -36
- package/esm2022/lib/core/index.mjs +0 -4
- package/esm2022/lib/directive/anchor-link.directive.mjs +0 -62
- package/esm2022/lib/directive/button-role.directive.mjs +0 -102
- package/esm2022/lib/directive/content-renderer.directive.mjs +0 -61
- package/esm2022/lib/directive/index.mjs +0 -5
- package/esm2022/lib/directive/navigate-to-url.directive.mjs +0 -51
- package/esm2022/lib/directive/navigation-directive-base.mjs +0 -23
- package/esm2022/lib/framework/dialog/dialog-backdrop-type.enum.mjs +0 -23
- package/esm2022/lib/framework/dialog/dialog-backdrop.type.mjs +0 -9
- package/esm2022/lib/framework/dialog/dialog-default-config.mjs +0 -15
- package/esm2022/lib/framework/dialog/dialog-outlet-event-type.mjs +0 -9
- package/esm2022/lib/framework/dialog/dialog-outlet.event.mjs +0 -33
- package/esm2022/lib/framework/dialog/dialog-service.error.mjs +0 -27
- package/esm2022/lib/framework/dialog/dialog-service.mjs +0 -67
- package/esm2022/lib/framework/dialog/dialog.config.mjs +0 -9
- package/esm2022/lib/framework/dialog/dialog.outlet.mjs +0 -94
- package/esm2022/lib/framework/dialog/index.mjs +0 -16
- package/esm2022/lib/framework/index.mjs +0 -6
- package/esm2022/lib/framework/logging/connector/console-log-connector.mjs +0 -48
- package/esm2022/lib/framework/logging/connector/default-log-connector.mjs +0 -34
- package/esm2022/lib/framework/logging/connector/html-log-connector.mjs +0 -177
- package/esm2022/lib/framework/logging/connector/index.mjs +0 -4
- package/esm2022/lib/framework/logging/impl/abstract-logger.mjs +0 -100
- package/esm2022/lib/framework/logging/impl/index.mjs +0 -3
- package/esm2022/lib/framework/logging/impl/log-impl.mjs +0 -31
- package/esm2022/lib/framework/logging/index.mjs +0 -4
- package/esm2022/lib/framework/logging/util/index.mjs +0 -4
- package/esm2022/lib/framework/logging/util/log.builder.mjs +0 -28
- package/esm2022/lib/framework/logging/util/log.constant.mjs +0 -24
- package/esm2022/lib/framework/logging/util/log.util.mjs +0 -142
- package/esm2022/lib/framework/mock/documentation/component/atx-mock-description/atx-mock-description.component.mjs +0 -27
- package/esm2022/lib/framework/mock/documentation/component/atx-mock-documentation/atx-mock-documentation.component.mjs +0 -77
- package/esm2022/lib/framework/mock/documentation/component/atx-mock-full-description/atx-mock-full-description.component.mjs +0 -27
- package/esm2022/lib/framework/mock/documentation/component/atx-mock-methods/atx-mock-methods.component.mjs +0 -71
- package/esm2022/lib/framework/mock/documentation/component/atx-mock-param/atx-mock-param.component.mjs +0 -27
- package/esm2022/lib/framework/mock/documentation/index.mjs +0 -2
- package/esm2022/lib/framework/mock/documentation/model/business/full-description.type.mjs +0 -9
- package/esm2022/lib/framework/mock/documentation/model/business/method-doc-descriptor.type.mjs +0 -9
- package/esm2022/lib/framework/mock/http/config/http-mock-parameters.mjs +0 -9
- package/esm2022/lib/framework/mock/http/config/http-mock.decorator.mjs +0 -48
- package/esm2022/lib/framework/mock/http/config/index.mjs +0 -3
- package/esm2022/lib/framework/mock/http/config/route-mock-config.mjs +0 -9
- package/esm2022/lib/framework/mock/http/core/data-storage.mjs +0 -9
- package/esm2022/lib/framework/mock/http/core/response-delay.mjs +0 -9
- package/esm2022/lib/framework/mock/http/event/event-target.impl.mjs +0 -136
- package/esm2022/lib/framework/mock/http/event/progress-event-mock.mjs +0 -48
- package/esm2022/lib/framework/mock/http/index.mjs +0 -4
- package/esm2022/lib/framework/mock/http/logging/http-mock-logger.mjs +0 -15
- package/esm2022/lib/framework/mock/http/logging/http-mock-logging-metadata.builder.mjs +0 -35
- package/esm2022/lib/framework/mock/http/path-to-regexp/constants.mjs +0 -111
- package/esm2022/lib/framework/mock/http/path-to-regexp/escape-to-regexp-string.mjs +0 -34
- package/esm2022/lib/framework/mock/http/path-to-regexp/get-flags.mjs +0 -28
- package/esm2022/lib/framework/mock/http/path-to-regexp/iter.mjs +0 -76
- package/esm2022/lib/framework/mock/http/path-to-regexp/lexer.mjs +0 -96
- package/esm2022/lib/framework/mock/http/path-to-regexp/loose-replacer.mjs +0 -28
- package/esm2022/lib/framework/mock/http/path-to-regexp/model/decode-key-to-string.mjs +0 -17
- package/esm2022/lib/framework/mock/http/path-to-regexp/model/encode.mjs +0 -17
- package/esm2022/lib/framework/mock/http/path-to-regexp/model/key.mjs +0 -17
- package/esm2022/lib/framework/mock/http/path-to-regexp/model/lex-token.mjs +0 -17
- package/esm2022/lib/framework/mock/http/path-to-regexp/model/lexer-type.mjs +0 -17
- package/esm2022/lib/framework/mock/http/path-to-regexp/model/loose-replacer-provider.mjs +0 -17
- package/esm2022/lib/framework/mock/http/path-to-regexp/model/non-delimiter-encoder-provider.mjs +0 -17
- package/esm2022/lib/framework/mock/http/path-to-regexp/model/parse-options.mjs +0 -17
- package/esm2022/lib/framework/mock/http/path-to-regexp/model/path-to-regexp-options.mjs +0 -17
- package/esm2022/lib/framework/mock/http/path-to-regexp/model/route-string-tokenizer.mjs +0 -17
- package/esm2022/lib/framework/mock/http/path-to-regexp/model/simple-tokens.mjs +0 -30
- package/esm2022/lib/framework/mock/http/path-to-regexp/model/token-data-regexp-factory.mjs +0 -17
- package/esm2022/lib/framework/mock/http/path-to-regexp/model/token-type.mjs +0 -17
- package/esm2022/lib/framework/mock/http/path-to-regexp/model/token.mjs +0 -17
- package/esm2022/lib/framework/mock/http/path-to-regexp/string-to-token-data.mjs +0 -87
- package/esm2022/lib/framework/mock/http/path-to-regexp/to-key-regexp.mjs +0 -41
- package/esm2022/lib/framework/mock/http/path-to-regexp/to-stringify.mjs +0 -29
- package/esm2022/lib/framework/mock/http/path-to-regexp/token-data-to-regexp.mjs +0 -49
- package/esm2022/lib/framework/mock/http/path-to-regexp/token-data.mjs +0 -33
- package/esm2022/lib/framework/mock/http/util/data-storage.builder.mjs +0 -37
- package/esm2022/lib/framework/mock/http/util/fetch-client-response-type.enum.mjs +0 -40
- package/esm2022/lib/framework/mock/http/util/fetch-client.builder.mjs +0 -52
- package/esm2022/lib/framework/mock/http/util/http-headers-mock.builder.mjs +0 -138
- package/esm2022/lib/framework/mock/http/util/http-headers.util.mjs +0 -71
- package/esm2022/lib/framework/mock/http/util/http-method-ref.enum.mjs +0 -60
- package/esm2022/lib/framework/mock/http/util/http-mock-max-delay.mjs +0 -12
- package/esm2022/lib/framework/mock/http/util/http-mock-response-delay.util.mjs +0 -33
- package/esm2022/lib/framework/mock/http/util/http-mock-response.builder.mjs +0 -141
- package/esm2022/lib/framework/mock/http/util/http-status-text-finder.mjs +0 -146
- package/esm2022/lib/framework/mock/http/util/http-status-text.enum.mjs +0 -260
- package/esm2022/lib/framework/mock/http/util/index.mjs +0 -8
- package/esm2022/lib/framework/mock/http/xhr/delegate-xhr.mjs +0 -372
- package/esm2022/lib/framework/mock/http/xhr/http-mock-factory.impl.mjs +0 -30
- package/esm2022/lib/framework/mock/http/xhr/http-mock-factory.mjs +0 -20
- package/esm2022/lib/framework/mock/http/xhr/index.mjs +0 -2
- package/esm2022/lib/framework/mock/http/xhr/xhr-base.mjs +0 -123
- package/esm2022/lib/framework/mock/http/xhr/xhr-proxy-impl.mjs +0 -178
- package/esm2022/lib/framework/mock/http-monitoring-console/component/abstract/log-renderer-base.mjs +0 -34
- package/esm2022/lib/framework/mock/http-monitoring-console/component/console-footer/console-footer.component.mjs +0 -29
- package/esm2022/lib/framework/mock/http-monitoring-console/component/console-menu/console-menu.component.mjs +0 -40
- package/esm2022/lib/framework/mock/http-monitoring-console/component/http-monitoring-console/http-monitoring-console.component.mjs +0 -62
- package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/icon-renderer/icon-renderer.component.mjs +0 -62
- package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/json-viewer/json-viewer.component.mjs +0 -45
- package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/json-viewer-panel/json-viewer-panel.component.mjs +0 -35
- package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/payload-renderer/payload-renderer.component.mjs +0 -70
- package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/request-info-renderer/request-info-renderer.component.mjs +0 -43
- package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/request-list-renderer/request-list-renderer.component.mjs +0 -116
- package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/response-body-renderer/response-body-renderer.component.mjs +0 -89
- package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/response-preview-renderer/response-preview-renderer.component.mjs +0 -115
- package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/spinner/spinner.component.mjs +0 -22
- package/esm2022/lib/framework/mock/http-monitoring-console/component/renderer/timing-renderer/timing-renderer.component.mjs +0 -81
- package/esm2022/lib/framework/mock/http-monitoring-console/component/request-details/request-details.component.mjs +0 -91
- package/esm2022/lib/framework/mock/http-monitoring-console/connector/http-monitoring-console-log-connector.mjs +0 -59
- package/esm2022/lib/framework/mock/http-monitoring-console/index.mjs +0 -2
- package/esm2022/lib/framework/mock/http-monitoring-console/model/business/atx-console-action-type.mjs +0 -40
- package/esm2022/lib/framework/mock/http-monitoring-console/model/business/atx-console-action.mjs +0 -9
- package/esm2022/lib/framework/mock/http-monitoring-console/model/business/atx-console-json.mjs +0 -9
- package/esm2022/lib/framework/mock/http-monitoring-console/model/business/atx-is-imported-log.mjs +0 -14
- package/esm2022/lib/framework/mock/http-monitoring-console/model/business/atx-timeline-data.mjs +0 -9
- package/esm2022/lib/framework/mock/http-monitoring-console/model/business/io/atx-body-dto.mjs +0 -9
- package/esm2022/lib/framework/mock/http-monitoring-console/model/business/io/atx-header-dto.mjs +0 -9
- package/esm2022/lib/framework/mock/http-monitoring-console/model/business/io/atx-http-log-metadata.dto.mjs +0 -9
- package/esm2022/lib/framework/mock/http-monitoring-console/model/business/io/atx-http-log.dto.mjs +0 -9
- package/esm2022/lib/framework/mock/http-monitoring-console/model/business/io/atx-http-request-metadata.dto.ts.mjs +0 -9
- package/esm2022/lib/framework/mock/http-monitoring-console/model/business/io/atx-http-request.dto.mjs +0 -9
- package/esm2022/lib/framework/mock/http-monitoring-console/model/business/io/atx-http-response.dto.mjs +0 -9
- package/esm2022/lib/framework/mock/http-monitoring-console/model/business/io/hmfl.mjs +0 -9
- package/esm2022/lib/framework/mock/http-monitoring-console/model/service/atx-log-io.service.mjs +0 -105
- package/esm2022/lib/framework/mock/http-monitoring-console/model/service/atx-monitoring-console.controller.mjs +0 -96
- package/esm2022/lib/framework/mock/http-monitoring-console/model/service/atx-monitoring-console.state.mjs +0 -126
- package/esm2022/lib/framework/mock/http-monitoring-console/model/service/atx-user-action.service.mjs +0 -40
- package/esm2022/lib/framework/mock/http-monitoring-console/util/console-body-type.mjs +0 -50
- package/esm2022/lib/framework/mock/http-monitoring-console/util/console-type-class.mjs +0 -45
- package/esm2022/lib/framework/mock/http-monitoring-console/util/data.util.mjs +0 -95
- package/esm2022/lib/framework/mock/http-monitoring-console/util/io/body-converter.mjs +0 -40
- package/esm2022/lib/framework/mock/http-monitoring-console/util/io/body-serializer.mjs +0 -58
- package/esm2022/lib/framework/mock/http-monitoring-console/util/io/form-data-serializer.mjs +0 -33
- package/esm2022/lib/framework/mock/http-monitoring-console/util/io/hmfl-builder.mjs +0 -27
- package/esm2022/lib/framework/mock/http-monitoring-console/util/io/http-request-converter.mjs +0 -62
- package/esm2022/lib/framework/mock/http-monitoring-console/util/io/http-response-converter.mjs +0 -50
- package/esm2022/lib/framework/mock/http-monitoring-console/util/io/log-converter.mjs +0 -43
- package/esm2022/lib/framework/mock/http-monitoring-console/util/io/log-headers-converter.mjs +0 -53
- package/esm2022/lib/framework/mock/http-monitoring-console/util/io/log-message.util.mjs +0 -30
- package/esm2022/lib/framework/mock/http-monitoring-console/util/io/log-metadata-converter.mjs +0 -45
- package/esm2022/lib/framework/mock/http-monitoring-console/util/io/request-metadata-converter.mjs +0 -47
- package/esm2022/lib/framework/mock/http-monitoring-console/util/size.util.mjs +0 -57
- package/esm2022/lib/framework/mock/http-monitoring-console/util/timeline.util.mjs +0 -28
- package/esm2022/lib/framework/mock/http-monitoring-console/util/url.util.mjs +0 -51
- package/esm2022/lib/model/business/index.mjs +0 -8
- package/esm2022/lib/model/business/lang/app-bridge-command.mjs +0 -9
- package/esm2022/lib/model/business/lang/destroyable.mjs +0 -9
- package/esm2022/lib/model/business/lang/identifiable.mjs +0 -9
- package/esm2022/lib/model/business/lang/index.mjs +0 -5
- package/esm2022/lib/model/business/lang/instantiable.mjs +0 -9
- package/esm2022/lib/model/business/logging/atx-logger-config.provider.mjs +0 -21
- package/esm2022/lib/model/business/logging/http-mock-logging-constant.enum.mjs +0 -34
- package/esm2022/lib/model/business/logging/index.mjs +0 -8
- package/esm2022/lib/model/business/logging/log-connector.mjs +0 -9
- package/esm2022/lib/model/business/logging/log-level.enum.mjs +0 -34
- package/esm2022/lib/model/business/logging/log.mjs +0 -9
- package/esm2022/lib/model/business/logging/logger-config.mjs +0 -9
- package/esm2022/lib/model/business/logging/logger.mjs +0 -2
- package/esm2022/lib/model/business/logging/transactional-logger.mjs +0 -9
- package/esm2022/lib/model/business/mock/http/config/http-mock-production-policy.enum.mjs +0 -27
- package/esm2022/lib/model/business/mock/http/config/http-mocking-framework-config.mjs +0 -9
- package/esm2022/lib/model/business/mock/http/config/http-mocking-framework-config.provider.mjs +0 -33
- package/esm2022/lib/model/business/mock/http/config/index.mjs +0 -4
- package/esm2022/lib/model/business/mock/http/fetch-client.mjs +0 -14
- package/esm2022/lib/model/business/mock/http/http-method-mock.mjs +0 -9
- package/esm2022/lib/model/business/mock/http/http-mock-config.mjs +0 -9
- package/esm2022/lib/model/business/mock/http/http-mock-endpoint-descriptor.mjs +0 -9
- package/esm2022/lib/model/business/mock/http/http-mock-endpoint.mjs +0 -9
- package/esm2022/lib/model/business/mock/http/http-mock-error.mjs +0 -9
- package/esm2022/lib/model/business/mock/http/http-mock-interceptor.mjs +0 -9
- package/esm2022/lib/model/business/mock/http/http-mock-method-descriptor.mjs +0 -9
- package/esm2022/lib/model/business/mock/http/http-mock-parameter-descriptor.mjs +0 -9
- package/esm2022/lib/model/business/mock/http/http-mock-request-metadata.mjs +0 -9
- package/esm2022/lib/model/business/mock/http/http-response-mock.mjs +0 -9
- package/esm2022/lib/model/business/mock/http/index.mjs +0 -15
- package/esm2022/lib/model/business/mock/http/logging/http-mock-logging-metadata.mjs +0 -9
- package/esm2022/lib/model/business/mock/http/logging/http-mock-logging-prefetch-metadata.mjs +0 -9
- package/esm2022/lib/model/business/mock/http/logging/index.mjs +0 -3
- package/esm2022/lib/model/business/mock/http/xhr-proxy.mjs +0 -9
- package/esm2022/lib/model/business/navigator/battery-manager.mjs +0 -9
- package/esm2022/lib/model/business/navigator/connection-type.mjs +0 -9
- package/esm2022/lib/model/business/navigator/effective-connection-type.mjs +0 -9
- package/esm2022/lib/model/business/navigator/index.mjs +0 -5
- package/esm2022/lib/model/business/navigator/network-information.mjs +0 -9
- package/esm2022/lib/model/business/subscription/index.mjs +0 -2
- package/esm2022/lib/model/business/subscription/subscription-manager.mjs +0 -9
- package/esm2022/lib/model/business/ui/dark-mode-config.mjs +0 -9
- package/esm2022/lib/model/business/ui/dark-mode-config.provider.mjs +0 -43
- package/esm2022/lib/model/business/ui/dark-mode.constant.mjs +0 -16
- package/esm2022/lib/model/business/ui/dropdown/dropdown-event-type.enum.mjs +0 -22
- package/esm2022/lib/model/business/ui/dropdown/dropdown-position.mjs +0 -9
- package/esm2022/lib/model/business/ui/dropdown/dropdown-state.mjs +0 -9
- package/esm2022/lib/model/business/ui/dropdown/dropdown.event.mjs +0 -27
- package/esm2022/lib/model/business/ui/dropdown/index.mjs +0 -6
- package/esm2022/lib/model/business/ui/dropdown/popover-state.mjs +0 -9
- package/esm2022/lib/model/business/ui/index.mjs +0 -8
- package/esm2022/lib/model/business/ui/layout/index.mjs +0 -6
- package/esm2022/lib/model/business/ui/layout/layout-constraints.mjs +0 -9
- package/esm2022/lib/model/business/ui/layout/layout-drag-event-type.enum.mjs +0 -26
- package/esm2022/lib/model/business/ui/layout/layout-drag.event.mjs +0 -23
- package/esm2022/lib/model/business/ui/layout/layout-region.error.mjs +0 -22
- package/esm2022/lib/model/business/ui/layout/layout-region.mjs +0 -35
- package/esm2022/lib/model/business/ui/scroll-behavior.type.mjs +0 -9
- package/esm2022/lib/model/business/ui/window/index.mjs +0 -5
- package/esm2022/lib/model/business/ui/window/window-feature-state.mjs +0 -22
- package/esm2022/lib/model/business/ui/window/window-init.mjs +0 -9
- package/esm2022/lib/model/business/ui/window/window-ref.mjs +0 -9
- package/esm2022/lib/model/business/ui/window/window-target.mjs +0 -34
- package/esm2022/lib/model/business/version/index.mjs +0 -5
- package/esm2022/lib/model/business/version/version-config.mjs +0 -9
- package/esm2022/lib/model/business/version/version-config.provider.mjs +0 -40
- package/esm2022/lib/model/business/version/version-manager.mjs +0 -10
- package/esm2022/lib/model/business/version/version.mjs +0 -10
- package/esm2022/lib/model/index.mjs +0 -3
- package/esm2022/lib/model/service/index.mjs +0 -6
- package/esm2022/lib/model/service/logging/index.mjs +0 -2
- package/esm2022/lib/model/service/logging/logger-service.mjs +0 -41
- package/esm2022/lib/model/service/mock/http/http-mock.service.mjs +0 -279
- package/esm2022/lib/model/service/mock/http/index.mjs +0 -3
- package/esm2022/lib/model/service/mock/http/logging/atx-http-mock-console.service.mjs +0 -92
- package/esm2022/lib/model/service/mock/http/logging/http-mock-logging-service.mjs +0 -117
- package/esm2022/lib/model/service/mock/http/logging/index.mjs +0 -3
- package/esm2022/lib/model/service/subscription/subscription.service.mjs +0 -30
- package/esm2022/lib/model/service/ui/app-bridge.service.mjs +0 -142
- package/esm2022/lib/model/service/ui/dark-mode.service.mjs +0 -183
- package/esm2022/lib/model/service/ui/index.mjs +0 -5
- package/esm2022/lib/model/service/ui/scroll.service.mjs +0 -93
- package/esm2022/lib/model/service/ui/window/abstract-window.service.mjs +0 -49
- package/esm2022/lib/model/service/ui/window/index.mjs +0 -3
- package/esm2022/lib/model/service/ui/window/window.service.mjs +0 -103
- package/esm2022/lib/model/service/version/angular-toolbox-version.service.mjs +0 -37
- package/esm2022/lib/model/service/version/index.mjs +0 -3
- package/esm2022/lib/model/service/version/version.service.mjs +0 -35
- package/esm2022/lib/pipe/index.mjs +0 -2
- package/esm2022/lib/pipe/safe/safe-html.pipe.mjs +0 -34
- package/esm2022/lib/util/aria-role.constant.mjs +0 -16
- package/esm2022/lib/util/default-scroll-behavior.mjs +0 -13
- package/esm2022/lib/util/empty-string.const.mjs +0 -12
- package/esm2022/lib/util/http-mocking-framework-config.manager.mjs +0 -129
- package/esm2022/lib/util/index.mjs +0 -6
- package/esm2022/lib/util/js-type.mjs +0 -40
- package/esm2022/lib/util/uuid.mjs +0 -126
- package/esm2022/lib/util/version.util.mjs +0 -44
- package/esm2022/lib/util/window/window-features-builder.mjs +0 -90
- package/esm2022/lib/util/window/window-header-tag-util.mjs +0 -42
- package/esm2022/public-api.mjs +0 -20
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Pascal ECHEMANN. All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be found in
|
|
6
|
-
* the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
7
|
-
*/
|
|
8
|
-
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
9
|
-
import { CommonModule } from '@angular/common';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "@angular/common";
|
|
12
|
-
/**
|
|
13
|
-
* @private
|
|
14
|
-
* The component that recursively renders `AtxConsoleJson` objects in the ATX monitoring console.
|
|
15
|
-
*/
|
|
16
|
-
export class AtxJsonViewerPanelComponent {
|
|
17
|
-
constructor() {
|
|
18
|
-
/**
|
|
19
|
-
* @private
|
|
20
|
-
* The data to be rendererd whithin this component.
|
|
21
|
-
*/
|
|
22
|
-
this.data = null;
|
|
23
|
-
}
|
|
24
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxJsonViewerPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
25
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: AtxJsonViewerPanelComponent, isStandalone: true, selector: "atx-json-viewer-panel", inputs: { data: "data" }, ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n@if (data) {\r\n @if (data.children) {\r\n <details>\r\n <summary>\r\n @if (data.label) {\r\n <span class=\"atx-prop-label\">{{ data.label }}</span>:\r\n <span [ngClass]=\"data.typeClass\">{{ data.value }}</span>\r\n } @else {\r\n {{ data.value }}\r\n }\r\n </summary>\r\n @for (item of data.children; track item) {\r\n <atx-json-viewer-panel [data]=\"item\"/>\r\n }\r\n </details>\r\n } @else {\r\n <div class=\"primitive\">\r\n <span class=\"atx-prop-label\">{{ data.label }}</span>: <span [ngClass]=\"data.typeClass\">{{ data.value }}</span>\r\n </div>\r\n }\r\n}\r\n", styles: [":host{--border-color: lightblue;--background-color: aliceblue;--selected-color: #d9eeff;--selected-error-color: lavenderblush;--light-gray: whitesmoke;--dark-gray: gainsboro;--header-height: 26px;display:block}:host,table{padding:0;margin:0;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px;color:#000;background-color:#fff}menu{padding:0;margin:0;display:flex;align-items:center;gap:6px;list-style:none}table{border-collapse:collapse}th{padding:0 0 0 6px;background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0}th:not(:last-child){border-right:1px solid var(--border-color)}td{padding:2px 6px;vertical-align:top}tr:nth-child(2n):not(.selected-row){background-color:var(--background-color)}.error-row{color:red}.selected-row{background-color:var(--selected-color)}.error-row.selected-row{background-color:var(--selected-error-color)}tr:hover{background-color:var(--light-gray)!important}th{height:var(--header-height)}.header-btn{margin-left:auto}.header-btn:hover{background-color:var(--selected-color)}.menu-separator{width:0;height:16px;border-right:2px solid var(--dark-gray)}.content{padding:4px 6px}.center-content{display:flex;justify-content:center}summary{-webkit-user-select:none;user-select:none}:host{display:block;font-family:monospace;font-size:13px}summary:hover{background-color:var(--dark-gray)}summary{padding-left:6px}atx-json-viewer-panel{padding-left:26px}.primitive{margin-left:20px}.atx-prop-label{font-weight:700;color:#8a2be2}.atx-string{color:#cd5c5c}.atx-string:before,.atx-string:after{content:'\"'}.atx-boolean,.atx-null,.atx-number{color:#0000cd}.atx-boolean,.atx-null{font-weight:700}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"], dependencies: [{ kind: "component", type: AtxJsonViewerPanelComponent, selector: "atx-json-viewer-panel", inputs: ["data"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
26
|
-
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxJsonViewerPanelComponent, decorators: [{
|
|
28
|
-
type: Component,
|
|
29
|
-
args: [{ selector: 'atx-json-viewer-panel', standalone: true, imports: [
|
|
30
|
-
CommonModule
|
|
31
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n@if (data) {\r\n @if (data.children) {\r\n <details>\r\n <summary>\r\n @if (data.label) {\r\n <span class=\"atx-prop-label\">{{ data.label }}</span>:\r\n <span [ngClass]=\"data.typeClass\">{{ data.value }}</span>\r\n } @else {\r\n {{ data.value }}\r\n }\r\n </summary>\r\n @for (item of data.children; track item) {\r\n <atx-json-viewer-panel [data]=\"item\"/>\r\n }\r\n </details>\r\n } @else {\r\n <div class=\"primitive\">\r\n <span class=\"atx-prop-label\">{{ data.label }}</span>: <span [ngClass]=\"data.typeClass\">{{ data.value }}</span>\r\n </div>\r\n }\r\n}\r\n", styles: [":host{--border-color: lightblue;--background-color: aliceblue;--selected-color: #d9eeff;--selected-error-color: lavenderblush;--light-gray: whitesmoke;--dark-gray: gainsboro;--header-height: 26px;display:block}:host,table{padding:0;margin:0;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px;color:#000;background-color:#fff}menu{padding:0;margin:0;display:flex;align-items:center;gap:6px;list-style:none}table{border-collapse:collapse}th{padding:0 0 0 6px;background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0}th:not(:last-child){border-right:1px solid var(--border-color)}td{padding:2px 6px;vertical-align:top}tr:nth-child(2n):not(.selected-row){background-color:var(--background-color)}.error-row{color:red}.selected-row{background-color:var(--selected-color)}.error-row.selected-row{background-color:var(--selected-error-color)}tr:hover{background-color:var(--light-gray)!important}th{height:var(--header-height)}.header-btn{margin-left:auto}.header-btn:hover{background-color:var(--selected-color)}.menu-separator{width:0;height:16px;border-right:2px solid var(--dark-gray)}.content{padding:4px 6px}.center-content{display:flex;justify-content:center}summary{-webkit-user-select:none;user-select:none}:host{display:block;font-family:monospace;font-size:13px}summary:hover{background-color:var(--dark-gray)}summary{padding-left:6px}atx-json-viewer-panel{padding-left:26px}.primitive{margin-left:20px}.atx-prop-label{font-weight:700;color:#8a2be2}.atx-string{color:#cd5c5c}.atx-string:before,.atx-string:after{content:'\"'}.atx-boolean,.atx-null,.atx-number{color:#0000cd}.atx-boolean,.atx-null{font-weight:700}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"] }]
|
|
32
|
-
}], propDecorators: { data: [{
|
|
33
|
-
type: Input
|
|
34
|
-
}] } });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi12aWV3ZXItcGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci10b29sYm94L3NyYy9saWIvZnJhbWV3b3JrL21vY2svaHR0cC1tb25pdG9yaW5nLWNvbnNvbGUvY29tcG9uZW50L3JlbmRlcmVyL2pzb24tdmlld2VyLXBhbmVsL2pzb24tdmlld2VyLXBhbmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdG9vbGJveC9zcmMvbGliL2ZyYW1ld29yay9tb2NrL2h0dHAtbW9uaXRvcmluZy1jb25zb2xlL2NvbXBvbmVudC9yZW5kZXJlci9qc29uLXZpZXdlci1wYW5lbC9qc29uLXZpZXdlci1wYW5lbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUcvQzs7O0dBR0c7QUFXSCxNQUFNLE9BQU8sMkJBQTJCO0lBVnhDO1FBWUU7OztXQUdHO1FBRUksU0FBSSxHQUEwQixJQUFJLENBQUM7S0FDM0M7OEdBUlksMkJBQTJCO2tHQUEzQiwyQkFBMkIsMkdDMUJ4Qyx3aENBNkJBLGk4RERIYSwyQkFBMkIsbUZBTnBDLFlBQVk7OzJGQU1ILDJCQUEyQjtrQkFWdkMsU0FBUzsrQkFDRSx1QkFBdUIsY0FDckIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7cUJBQ2IsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU07OEJBU3hDLElBQUk7c0JBRFYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBAbGljZW5zZVxyXG4gKiBDb3B5cmlnaHQgUGFzY2FsIEVDSEVNQU5OLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxyXG4gKlxyXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpblxyXG4gKiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vcGFzY2FsZWNoZW1hbm4uY29tL2FuZ3VsYXItdG9vbGJveC9yZXNvdXJjZXMvbGljZW5zZVxyXG4gKi9cclxuXHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEF0eENvbnNvbGVKc29uIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWwvYnVzaW5lc3MvYXR4LWNvbnNvbGUtanNvbic7XHJcblxyXG4vKipcclxuICogQHByaXZhdGVcclxuICogVGhlIGNvbXBvbmVudCB0aGF0IHJlY3Vyc2l2ZWx5IHJlbmRlcnMgYEF0eENvbnNvbGVKc29uYCBvYmplY3RzIGluIHRoZSBBVFggbW9uaXRvcmluZyBjb25zb2xlLlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhdHgtanNvbi12aWV3ZXItcGFuZWwnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vanNvbi12aWV3ZXItcGFuZWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9qc29uLXZpZXdlci1wYW5lbC5jb21wb25lbnQuc2NzcycsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEF0eEpzb25WaWV3ZXJQYW5lbENvbXBvbmVudCB7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBwcml2YXRlXHJcbiAgICogVGhlIGRhdGEgdG8gYmUgcmVuZGVyZXJkIHdoaXRoaW4gdGhpcyBjb21wb25lbnQuXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZGF0YTogQXR4Q29uc29sZUpzb24gfCBudWxsID0gbnVsbDtcclxufVxyXG4iLCI8IS0tXHJcbiAqIExJQ0VOU0VcclxuICogQ29weXJpZ2h0IFBhc2NhbCBFQ0hFTUFOTi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cclxuICpcclxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcclxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL3Bhc2NhbGVjaGVtYW5uLmNvbS9hbmd1bGFyLXRvb2xib3gvcmVzb3VyY2VzL2xpY2Vuc2VcclxuLS0+XHJcblxyXG5AaWYgKGRhdGEpIHtcclxuICAgIEBpZiAoZGF0YS5jaGlsZHJlbikge1xyXG4gICAgICAgIDxkZXRhaWxzPlxyXG4gICAgICAgICAgICA8c3VtbWFyeT5cclxuICAgICAgICAgICAgICAgIEBpZiAoZGF0YS5sYWJlbCkge1xyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXR4LXByb3AtbGFiZWxcIj57eyBkYXRhLmxhYmVsIH19PC9zcGFuPjpcclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBbbmdDbGFzc109XCJkYXRhLnR5cGVDbGFzc1wiPnt7IGRhdGEudmFsdWUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB7eyBkYXRhLnZhbHVlIH19XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvc3VtbWFyeT5cclxuICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBkYXRhLmNoaWxkcmVuOyB0cmFjayBpdGVtKSB7XHJcbiAgICAgICAgICAgICAgICA8YXR4LWpzb24tdmlld2VyLXBhbmVsIFtkYXRhXT1cIml0ZW1cIi8+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICA8L2RldGFpbHM+XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwicHJpbWl0aXZlXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXR4LXByb3AtbGFiZWxcIj57eyBkYXRhLmxhYmVsIH19PC9zcGFuPjogPHNwYW4gW25nQ2xhc3NdPVwiZGF0YS50eXBlQ2xhc3NcIj57eyBkYXRhLnZhbHVlIH19PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Pascal ECHEMANN. All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be found in
|
|
6
|
-
* the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
7
|
-
*/
|
|
8
|
-
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
9
|
-
import { AtxJsonViewerComponent } from '../json-viewer/json-viewer.component';
|
|
10
|
-
import { DataUtil } from '../../../util/data.util';
|
|
11
|
-
import { ConsoleBodyType } from '../../../util/console-body-type';
|
|
12
|
-
import { AtxLogRendererBase } from '../../abstract/log-renderer-base';
|
|
13
|
-
import * as i0 from "@angular/core";
|
|
14
|
-
/**
|
|
15
|
-
* @private
|
|
16
|
-
* The component that displays payload data associated with an HTTP request in the ATX monitoring console.
|
|
17
|
-
*/
|
|
18
|
-
export class AtxPayloadRendererComponent extends AtxLogRendererBase {
|
|
19
|
-
constructor() {
|
|
20
|
-
super(...arguments);
|
|
21
|
-
/**
|
|
22
|
-
* @private
|
|
23
|
-
*/
|
|
24
|
-
this.json = null;
|
|
25
|
-
/**
|
|
26
|
-
* @private
|
|
27
|
-
*/
|
|
28
|
-
this.formData = null;
|
|
29
|
-
/**
|
|
30
|
-
* @private
|
|
31
|
-
*/
|
|
32
|
-
this.queryParams = null;
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* @private
|
|
36
|
-
*/
|
|
37
|
-
set log(value) {
|
|
38
|
-
super.log = value;
|
|
39
|
-
this.json = this.formData = this.queryParams = null;
|
|
40
|
-
if (!value)
|
|
41
|
-
return;
|
|
42
|
-
const request = value.metadata.request;
|
|
43
|
-
const params = request.params;
|
|
44
|
-
const paramsKeys = params.keys();
|
|
45
|
-
const body = request.body;
|
|
46
|
-
const bodyType = DataUtil.getBodyType(body);
|
|
47
|
-
if (paramsKeys.length > 0) {
|
|
48
|
-
this.queryParams = [];
|
|
49
|
-
paramsKeys.forEach(key => this.queryParams?.push({ key: key, value: params.get(key) }));
|
|
50
|
-
}
|
|
51
|
-
if (bodyType === ConsoleBodyType.FORM_DATA) {
|
|
52
|
-
this.formData = Array.from(body);
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
if (bodyType === ConsoleBodyType.TEXT) {
|
|
56
|
-
this.json = JSON.parse(body);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxPayloadRendererComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
60
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: AtxPayloadRendererComponent, isStandalone: true, selector: "atx-payload-renderer", inputs: { log: "log" }, usesInheritance: true, ngImport: i0, template: "\r\n<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n@if (queryParams) {\r\n <details>\r\n <summary>\r\n Query String Parameters\r\n </summary>\r\n <div class=\"content\">\r\n @for (item of queryParams; track item) {\r\n <dl>\r\n <dt>{{ item.key }}:</dt>\r\n <dd>{{ item.value }}</dd>\r\n </dl>\r\n }\r\n </div>\r\n </details>\r\n} @else if (json) {\r\n <details>\r\n <summary>\r\n Request Payload\r\n </summary>\r\n <div class=\"content\">\r\n <atx-json-viewer [data]=\"json\"/>\r\n </div>\r\n </details>\r\n} @else if (formData) {\r\n <details>\r\n <summary>\r\n Form Data\r\n </summary>\r\n <div class=\"content\">\r\n <ul>\r\n @for (entry of formData; track entry) {\r\n <li>[ {{ entry }} ]</li>\r\n }\r\n </ul>\r\n </div>\r\n </details>\r\n} \r\n", styles: [":host{--border-color: lightblue;--background-color: aliceblue;--selected-color: #d9eeff;--selected-error-color: lavenderblush;--light-gray: whitesmoke;--dark-gray: gainsboro;--header-height: 26px;display:block}:host,table{padding:0;margin:0;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px;color:#000;background-color:#fff}menu{padding:0;margin:0;display:flex;align-items:center;gap:6px;list-style:none}table{border-collapse:collapse}th{padding:0 0 0 6px;background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0}th:not(:last-child){border-right:1px solid var(--border-color)}td{padding:2px 6px;vertical-align:top}tr:nth-child(2n):not(.selected-row){background-color:var(--background-color)}.error-row{color:red}.selected-row{background-color:var(--selected-color)}.error-row.selected-row{background-color:var(--selected-error-color)}tr:hover{background-color:var(--light-gray)!important}th{height:var(--header-height)}.header-btn{margin-left:auto}.header-btn:hover{background-color:var(--selected-color)}.menu-separator{width:0;height:16px;border-right:2px solid var(--dark-gray)}.content{padding:4px 6px}.center-content{display:flex;justify-content:center}summary{-webkit-user-select:none;user-select:none}details{border:1px solid var(--border-color)}summary{font-weight:700;padding:4px 6px}summary:hover{background-color:var(--dark-gray)}dl{display:flex;gap:6px;margin:0 0 0 20px}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"], dependencies: [{ kind: "component", type: AtxJsonViewerComponent, selector: "atx-json-viewer", inputs: ["data"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
61
|
-
}
|
|
62
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxPayloadRendererComponent, decorators: [{
|
|
63
|
-
type: Component,
|
|
64
|
-
args: [{ selector: 'atx-payload-renderer', standalone: true, imports: [
|
|
65
|
-
AtxJsonViewerComponent
|
|
66
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "\r\n<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n@if (queryParams) {\r\n <details>\r\n <summary>\r\n Query String Parameters\r\n </summary>\r\n <div class=\"content\">\r\n @for (item of queryParams; track item) {\r\n <dl>\r\n <dt>{{ item.key }}:</dt>\r\n <dd>{{ item.value }}</dd>\r\n </dl>\r\n }\r\n </div>\r\n </details>\r\n} @else if (json) {\r\n <details>\r\n <summary>\r\n Request Payload\r\n </summary>\r\n <div class=\"content\">\r\n <atx-json-viewer [data]=\"json\"/>\r\n </div>\r\n </details>\r\n} @else if (formData) {\r\n <details>\r\n <summary>\r\n Form Data\r\n </summary>\r\n <div class=\"content\">\r\n <ul>\r\n @for (entry of formData; track entry) {\r\n <li>[ {{ entry }} ]</li>\r\n }\r\n </ul>\r\n </div>\r\n </details>\r\n} \r\n", styles: [":host{--border-color: lightblue;--background-color: aliceblue;--selected-color: #d9eeff;--selected-error-color: lavenderblush;--light-gray: whitesmoke;--dark-gray: gainsboro;--header-height: 26px;display:block}:host,table{padding:0;margin:0;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px;color:#000;background-color:#fff}menu{padding:0;margin:0;display:flex;align-items:center;gap:6px;list-style:none}table{border-collapse:collapse}th{padding:0 0 0 6px;background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0}th:not(:last-child){border-right:1px solid var(--border-color)}td{padding:2px 6px;vertical-align:top}tr:nth-child(2n):not(.selected-row){background-color:var(--background-color)}.error-row{color:red}.selected-row{background-color:var(--selected-color)}.error-row.selected-row{background-color:var(--selected-error-color)}tr:hover{background-color:var(--light-gray)!important}th{height:var(--header-height)}.header-btn{margin-left:auto}.header-btn:hover{background-color:var(--selected-color)}.menu-separator{width:0;height:16px;border-right:2px solid var(--dark-gray)}.content{padding:4px 6px}.center-content{display:flex;justify-content:center}summary{-webkit-user-select:none;user-select:none}details{border:1px solid var(--border-color)}summary{font-weight:700;padding:4px 6px}summary:hover{background-color:var(--dark-gray)}dl{display:flex;gap:6px;margin:0 0 0 20px}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"] }]
|
|
67
|
-
}], propDecorators: { log: [{
|
|
68
|
-
type: Input
|
|
69
|
-
}] } });
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bG9hZC1yZW5kZXJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9mcmFtZXdvcmsvbW9jay9odHRwLW1vbml0b3JpbmctY29uc29sZS9jb21wb25lbnQvcmVuZGVyZXIvcGF5bG9hZC1yZW5kZXJlci9wYXlsb2FkLXJlbmRlcmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdG9vbGJveC9zcmMvbGliL2ZyYW1ld29yay9tb2NrL2h0dHAtbW9uaXRvcmluZy1jb25zb2xlL2NvbXBvbmVudC9yZW5kZXJlci9wYXlsb2FkLXJlbmRlcmVyL3BheWxvYWQtcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHMUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDOUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7QUFFdEU7OztHQUdHO0FBV0gsTUFBTSxPQUFPLDJCQUE0QixTQUFRLGtCQUFrQjtJQVZuRTs7UUFZRTs7V0FFRztRQUNPLFNBQUksR0FBUSxJQUFJLENBQUM7UUFFM0I7O1dBRUc7UUFDTyxhQUFRLEdBQWUsSUFBSSxDQUFDO1FBRXRDOztXQUVHO1FBQ08sZ0JBQVcsR0FBaUIsSUFBSSxDQUFDO0tBMkI1QztJQXpCQzs7T0FFRztJQUNILElBQ29CLEdBQUcsQ0FBRSxLQUFpQjtRQUN4QyxLQUFLLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQztRQUNsQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDcEQsSUFBRyxDQUFDLEtBQUs7WUFBRSxPQUFPO1FBQ2xCLE1BQU0sT0FBTyxHQUFxQixLQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztRQUN6RCxNQUFNLE1BQU0sR0FBZSxPQUFPLENBQUMsTUFBTSxDQUFDO1FBQzFDLE1BQU0sVUFBVSxHQUFhLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzQyxNQUFNLElBQUksR0FBUSxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQy9CLE1BQU0sUUFBUSxHQUFvQixRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdELElBQUksVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztZQUN0QixVQUFVLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUUsQ0FBQyxDQUFDO1FBQzNGLENBQUM7UUFDRCxJQUFJLFFBQVEsS0FBSyxlQUFlLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDM0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2pDLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxRQUFRLEtBQUssZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQixDQUFDO0lBQ0gsQ0FBQzs4R0F6Q1UsMkJBQTJCO2tHQUEzQiwyQkFBMkIsK0hDOUJ4Qyxtd0NBOENBLHd0RER0Qkksc0JBQXNCOzsyRkFNYiwyQkFBMkI7a0JBVnZDLFNBQVM7K0JBQ0Usc0JBQXNCLGNBQ3BCLElBQUksV0FDUDt3QkFDUCxzQkFBc0I7cUJBQ3ZCLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNOzhCQXVCM0IsR0FBRztzQkFEdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBAbGljZW5zZVxyXG4gKiBDb3B5cmlnaHQgUGFzY2FsIEVDSEVNQU5OLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxyXG4gKlxyXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpblxyXG4gKiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vcGFzY2FsZWNoZW1hbm4uY29tL2FuZ3VsYXItdG9vbGJveC9yZXNvdXJjZXMvbGljZW5zZVxyXG4gKi9cclxuXHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExvZyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL21vZGVsJztcclxuaW1wb3J0IHsgSHR0cFBhcmFtcywgSHR0cFJlcXVlc3QgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEF0eEpzb25WaWV3ZXJDb21wb25lbnQgfSBmcm9tICcuLi9qc29uLXZpZXdlci9qc29uLXZpZXdlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEYXRhVXRpbCB9IGZyb20gJy4uLy4uLy4uL3V0aWwvZGF0YS51dGlsJztcclxuaW1wb3J0IHsgQ29uc29sZUJvZHlUeXBlIH0gZnJvbSAnLi4vLi4vLi4vdXRpbC9jb25zb2xlLWJvZHktdHlwZSc7XHJcbmltcG9ydCB7IEF0eExvZ1JlbmRlcmVyQmFzZSB9IGZyb20gJy4uLy4uL2Fic3RyYWN0L2xvZy1yZW5kZXJlci1iYXNlJztcclxuXHJcbi8qKlxyXG4gKiBAcHJpdmF0ZVxyXG4gKiBUaGUgY29tcG9uZW50IHRoYXQgZGlzcGxheXMgcGF5bG9hZCBkYXRhIGFzc29jaWF0ZWQgd2l0aCBhbiBIVFRQIHJlcXVlc3QgaW4gdGhlIEFUWCBtb25pdG9yaW5nIGNvbnNvbGUuXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F0eC1wYXlsb2FkLXJlbmRlcmVyJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIEF0eEpzb25WaWV3ZXJDb21wb25lbnRcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wYXlsb2FkLXJlbmRlcmVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vcGF5bG9hZC1yZW5kZXJlci5jb21wb25lbnQuc2NzcycsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEF0eFBheWxvYWRSZW5kZXJlckNvbXBvbmVudCBleHRlbmRzIEF0eExvZ1JlbmRlcmVyQmFzZSB7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBwcml2YXRlXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGpzb246IGFueSA9IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBwcml2YXRlXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGZvcm1EYXRhOiBhbnkgfCBudWxsID0gbnVsbDtcclxuICBcclxuICAvKipcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBxdWVyeVBhcmFtczogYW55W10gfCBudWxsID0gbnVsbDtcclxuICBcclxuICAvKipcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIG92ZXJyaWRlIHNldCBsb2cgKHZhbHVlOiBMb2cgfCBudWxsKSB7XHJcbiAgICBzdXBlci5sb2cgPSB2YWx1ZTtcclxuICAgIHRoaXMuanNvbiA9IHRoaXMuZm9ybURhdGEgPSB0aGlzLnF1ZXJ5UGFyYW1zID0gbnVsbDtcclxuICAgIGlmKCF2YWx1ZSkgcmV0dXJuO1xyXG4gICAgY29uc3QgcmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PiA9IHZhbHVlLm1ldGFkYXRhLnJlcXVlc3Q7XHJcbiAgICBjb25zdCBwYXJhbXM6IEh0dHBQYXJhbXMgPSByZXF1ZXN0LnBhcmFtcztcclxuICAgIGNvbnN0IHBhcmFtc0tleXM6IHN0cmluZ1tdID0gcGFyYW1zLmtleXMoKTtcclxuICAgIGNvbnN0IGJvZHk6IGFueSA9IHJlcXVlc3QuYm9keTtcclxuICAgIGNvbnN0IGJvZHlUeXBlOiBDb25zb2xlQm9keVR5cGUgPSBEYXRhVXRpbC5nZXRCb2R5VHlwZShib2R5KTtcclxuICAgIGlmIChwYXJhbXNLZXlzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5xdWVyeVBhcmFtcyA9IFtdO1xyXG4gICAgICBwYXJhbXNLZXlzLmZvckVhY2goa2V5PT4gdGhpcy5xdWVyeVBhcmFtcz8ucHVzaCggeyBrZXk6IGtleSwgdmFsdWU6IHBhcmFtcy5nZXQoa2V5KSB9ICkpO1xyXG4gICAgfVxyXG4gICAgaWYgKGJvZHlUeXBlID09PSBDb25zb2xlQm9keVR5cGUuRk9STV9EQVRBKSB7XHJcbiAgICAgIHRoaXMuZm9ybURhdGEgPSBBcnJheS5mcm9tKGJvZHkpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoYm9keVR5cGUgPT09IENvbnNvbGVCb2R5VHlwZS5URVhUKSB7XHJcbiAgICAgIHRoaXMuanNvbiA9IEpTT04ucGFyc2UoYm9keSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIlxyXG48IS0tXHJcbiAqIExJQ0VOU0VcclxuICogQ29weXJpZ2h0IFBhc2NhbCBFQ0hFTUFOTi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cclxuICpcclxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcclxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL3Bhc2NhbGVjaGVtYW5uLmNvbS9hbmd1bGFyLXRvb2xib3gvcmVzb3VyY2VzL2xpY2Vuc2VcclxuLS0+XHJcblxyXG5AaWYgKHF1ZXJ5UGFyYW1zKSB7XHJcbiAgICA8ZGV0YWlscz5cclxuICAgICAgICA8c3VtbWFyeT5cclxuICAgICAgICAgICBRdWVyeSBTdHJpbmcgUGFyYW1ldGVyc1xyXG4gICAgICAgIDwvc3VtbWFyeT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxyXG4gICAgICAgICAgICBAZm9yIChpdGVtIG9mIHF1ZXJ5UGFyYW1zOyB0cmFjayBpdGVtKSB7XHJcbiAgICAgICAgICAgICAgICA8ZGw+XHJcbiAgICAgICAgICAgICAgICAgICAgPGR0Pnt7IGl0ZW0ua2V5IH19OjwvZHQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRkPnt7IGl0ZW0udmFsdWUgfX08L2RkPlxyXG4gICAgICAgICAgICAgICAgPC9kbD5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kZXRhaWxzPlxyXG59ICBAZWxzZSBpZiAoanNvbikge1xyXG4gICAgPGRldGFpbHM+XHJcbiAgICAgICAgPHN1bW1hcnk+XHJcbiAgICAgICAgICAgIFJlcXVlc3QgUGF5bG9hZFxyXG4gICAgICAgIDwvc3VtbWFyeT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxyXG4gICAgICAgICAgICA8YXR4LWpzb24tdmlld2VyIFtkYXRhXT1cImpzb25cIi8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2RldGFpbHM+XHJcbn0gQGVsc2UgaWYgKGZvcm1EYXRhKSB7XHJcbiAgICA8ZGV0YWlscz5cclxuICAgICAgICA8c3VtbWFyeT5cclxuICAgICAgICAgICAgRm9ybSBEYXRhXHJcbiAgICAgICAgPC9zdW1tYXJ5PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XHJcbiAgICAgICAgICAgIDx1bD5cclxuICAgICAgICAgICAgICAgIEBmb3IgKGVudHJ5IG9mIGZvcm1EYXRhOyB0cmFjayBlbnRyeSkge1xyXG4gICAgICAgICAgICAgICAgICAgIDxsaT5bIHt7IGVudHJ5IH19IF08L2xpPlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kZXRhaWxzPlxyXG59ICAgICAgXHJcbiJdfQ==
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Pascal ECHEMANN. All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be found in
|
|
6
|
-
* the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
7
|
-
*/
|
|
8
|
-
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
9
|
-
import { NgStyle } from '@angular/common';
|
|
10
|
-
import { AtxLogRendererBase } from '../../abstract/log-renderer-base';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
/**
|
|
13
|
-
* @private
|
|
14
|
-
* The component that displays HTTP request info in the ATX monitoring console.
|
|
15
|
-
*/
|
|
16
|
-
export class AtxRequesInfoComponent extends AtxLogRendererBase {
|
|
17
|
-
/**
|
|
18
|
-
* @private
|
|
19
|
-
* Gest or sets the log for which to display general information.
|
|
20
|
-
*/
|
|
21
|
-
set log(value) {
|
|
22
|
-
super.log = value;
|
|
23
|
-
if (!value) {
|
|
24
|
-
this.request = this.response = null;
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
const metadata = value.metadata;
|
|
28
|
-
const request = metadata.request;
|
|
29
|
-
this.request = request;
|
|
30
|
-
this.response = metadata.response;
|
|
31
|
-
}
|
|
32
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxRequesInfoComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
33
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: AtxRequesInfoComponent, isStandalone: true, selector: "atx-request-info-renderer", inputs: { log: "log" }, usesInheritance: true, ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n<details open>\r\n <summary>General</summary>\r\n <section>\r\n <dl>\r\n <dt>Request URL:</dt>\r\n <dd>{{ request.url }}</dd>\r\n </dl>\r\n <dl>\r\n <dt>Request Method:</dt>\r\n <dd>{{ request.method }}</dd>\r\n </dl>\r\n <dl>\r\n <dt>Status Code:</dt>\r\n <dd class=\"status-container\">\r\n @if (response) {\r\n <svg [ngStyle]=\"{ fill: response.status < 400 ? 'green' : 'red' }\" \r\n width=\"13\" height=\"13\" viewBox=\"0 0 16 16\">\r\n <circle cx=\"8\" cy=\"8\" r=\"8\"/>\r\n </svg>\r\n {{ response.status }} {{ response.statusText }}\r\n } @else {\r\n <svg fill=\"orange\" width=\"13\" height=\"13\" viewBox=\"0 0 16 16\">\r\n <circle cx=\"8\" cy=\"8\" r=\"8\"/>\r\n </svg>\r\n prefetch\r\n }\r\n </dd>\r\n </dl>\r\n </section>\r\n</details>\r\n<details>\r\n <summary>Response Headers</summary>\r\n <section>\r\n @if (response) {\r\n @for( item of response.headers.keys(); track item) {\r\n <dl>\r\n <dt>{{ item }}</dt>\r\n <dd>{{ response.headers.get(item) }}</dd>\r\n </dl>\r\n \r\n }\r\n }\r\n </section>\r\n</details>\r\n<details>\r\n <summary>Request Headers</summary>\r\n <section>\r\n @for(item of request.headers.keys(); track item) {\r\n <dl>\r\n <dt>{{ item }}</dt>\r\n <dd>{{ request.headers.get(item) }}</dd>\r\n </dl>\r\n }\r\n </section>\r\n</details>", styles: [":host{--border-color: lightblue;--background-color: aliceblue;--selected-color: #d9eeff;--selected-error-color: lavenderblush;--light-gray: whitesmoke;--dark-gray: gainsboro;--header-height: 26px;display:block}:host,table{padding:0;margin:0;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px;color:#000;background-color:#fff}menu{padding:0;margin:0;display:flex;align-items:center;gap:6px;list-style:none}table{border-collapse:collapse}th{padding:0 0 0 6px;background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0}th:not(:last-child){border-right:1px solid var(--border-color)}td{padding:2px 6px;vertical-align:top}tr:nth-child(2n):not(.selected-row){background-color:var(--background-color)}.error-row{color:red}.selected-row{background-color:var(--selected-color)}.error-row.selected-row{background-color:var(--selected-error-color)}tr:hover{background-color:var(--light-gray)!important}th{height:var(--header-height)}.header-btn{margin-left:auto}.header-btn:hover{background-color:var(--selected-color)}.menu-separator{width:0;height:16px;border-right:2px solid var(--dark-gray)}.content{padding:4px 6px}.center-content{display:flex;justify-content:center}summary{-webkit-user-select:none;user-select:none}details summary{padding:2px 6px;background-color:var(--background-color);border:1px solid var(--border-color);-webkit-user-select:none;user-select:none;margin-bottom:6px}details section{padding:4px 6px}details section dl{display:flex;gap:10px}details section dl,details section dt,details section dd{padding:0;margin:0}details section dt{min-width:200px}.status-container{display:flex;align-items:center;gap:4px}.status-indicator{padding:0;margin:0}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
34
|
-
}
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxRequesInfoComponent, decorators: [{
|
|
36
|
-
type: Component,
|
|
37
|
-
args: [{ selector: 'atx-request-info-renderer', standalone: true, imports: [
|
|
38
|
-
NgStyle,
|
|
39
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n<details open>\r\n <summary>General</summary>\r\n <section>\r\n <dl>\r\n <dt>Request URL:</dt>\r\n <dd>{{ request.url }}</dd>\r\n </dl>\r\n <dl>\r\n <dt>Request Method:</dt>\r\n <dd>{{ request.method }}</dd>\r\n </dl>\r\n <dl>\r\n <dt>Status Code:</dt>\r\n <dd class=\"status-container\">\r\n @if (response) {\r\n <svg [ngStyle]=\"{ fill: response.status < 400 ? 'green' : 'red' }\" \r\n width=\"13\" height=\"13\" viewBox=\"0 0 16 16\">\r\n <circle cx=\"8\" cy=\"8\" r=\"8\"/>\r\n </svg>\r\n {{ response.status }} {{ response.statusText }}\r\n } @else {\r\n <svg fill=\"orange\" width=\"13\" height=\"13\" viewBox=\"0 0 16 16\">\r\n <circle cx=\"8\" cy=\"8\" r=\"8\"/>\r\n </svg>\r\n prefetch\r\n }\r\n </dd>\r\n </dl>\r\n </section>\r\n</details>\r\n<details>\r\n <summary>Response Headers</summary>\r\n <section>\r\n @if (response) {\r\n @for( item of response.headers.keys(); track item) {\r\n <dl>\r\n <dt>{{ item }}</dt>\r\n <dd>{{ response.headers.get(item) }}</dd>\r\n </dl>\r\n \r\n }\r\n }\r\n </section>\r\n</details>\r\n<details>\r\n <summary>Request Headers</summary>\r\n <section>\r\n @for(item of request.headers.keys(); track item) {\r\n <dl>\r\n <dt>{{ item }}</dt>\r\n <dd>{{ request.headers.get(item) }}</dd>\r\n </dl>\r\n }\r\n </section>\r\n</details>", styles: [":host{--border-color: lightblue;--background-color: aliceblue;--selected-color: #d9eeff;--selected-error-color: lavenderblush;--light-gray: whitesmoke;--dark-gray: gainsboro;--header-height: 26px;display:block}:host,table{padding:0;margin:0;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px;color:#000;background-color:#fff}menu{padding:0;margin:0;display:flex;align-items:center;gap:6px;list-style:none}table{border-collapse:collapse}th{padding:0 0 0 6px;background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0}th:not(:last-child){border-right:1px solid var(--border-color)}td{padding:2px 6px;vertical-align:top}tr:nth-child(2n):not(.selected-row){background-color:var(--background-color)}.error-row{color:red}.selected-row{background-color:var(--selected-color)}.error-row.selected-row{background-color:var(--selected-error-color)}tr:hover{background-color:var(--light-gray)!important}th{height:var(--header-height)}.header-btn{margin-left:auto}.header-btn:hover{background-color:var(--selected-color)}.menu-separator{width:0;height:16px;border-right:2px solid var(--dark-gray)}.content{padding:4px 6px}.center-content{display:flex;justify-content:center}summary{-webkit-user-select:none;user-select:none}details summary{padding:2px 6px;background-color:var(--background-color);border:1px solid var(--border-color);-webkit-user-select:none;user-select:none;margin-bottom:6px}details section{padding:4px 6px}details section dl{display:flex;gap:10px}details section dl,details section dt,details section dd{padding:0;margin:0}details section dt{min-width:200px}.status-container{display:flex;align-items:center;gap:4px}.status-indicator{padding:0;margin:0}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"] }]
|
|
40
|
-
}], propDecorators: { log: [{
|
|
41
|
-
type: Input
|
|
42
|
-
}] } });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1pbmZvLXJlbmRlcmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdG9vbGJveC9zcmMvbGliL2ZyYW1ld29yay9tb2NrL2h0dHAtbW9uaXRvcmluZy1jb25zb2xlL2NvbXBvbmVudC9yZW5kZXJlci9yZXF1ZXN0LWluZm8tcmVuZGVyZXIvcmVxdWVzdC1pbmZvLXJlbmRlcmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdG9vbGJveC9zcmMvbGliL2ZyYW1ld29yay9tb2NrL2h0dHAtbW9uaXRvcmluZy1jb25zb2xlL2NvbXBvbmVudC9yZW5kZXJlci9yZXF1ZXN0LWluZm8tcmVuZGVyZXIvcmVxdWVzdC1pbmZvLXJlbmRlcmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUxQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7QUFFdEU7OztHQUdHO0FBV0gsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGtCQUFrQjtJQVk1RDs7O09BR0c7SUFDSCxJQUNvQixHQUFHLENBQUMsS0FBaUI7UUFDdkMsS0FBSyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUM7UUFDbEIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQVcsQ0FBQztZQUMzQyxPQUFPO1FBQ1QsQ0FBQztRQUNELE1BQU0sUUFBUSxHQUE0QixLQUFLLENBQUMsUUFBUSxDQUFDO1FBQ3pELE1BQU0sT0FBTyxHQUFxQixRQUFRLENBQUMsT0FBTyxDQUFDO1FBQ25ELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQztJQUNwQyxDQUFDOzhHQTNCVSxzQkFBc0I7a0dBQXRCLHNCQUFzQixvSUM1Qm5DLG9qRUE4RFUsMCtERHhDTixPQUFPOzsyRkFNRSxzQkFBc0I7a0JBVmxDLFNBQVM7K0JBQ0UsMkJBQTJCLGNBQ3pCLElBQUksV0FDUDt3QkFDUCxPQUFPO3FCQUNSLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNOzhCQW1CM0IsR0FBRztzQkFEdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBAbGljZW5zZVxyXG4gKiBDb3B5cmlnaHQgUGFzY2FsIEVDSEVNQU5OLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxyXG4gKlxyXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpblxyXG4gKiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vcGFzY2FsZWNoZW1hbm4uY29tL2FuZ3VsYXItdG9vbGJveC9yZXNvdXJjZXMvbGljZW5zZVxyXG4gKi9cclxuXHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBNb2NrTG9nZ2luZ01ldGFkYXRhLCBMb2cgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9tb2RlbCc7XHJcbmltcG9ydCB7IE5nU3R5bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBIdHRwUmVxdWVzdCwgSHR0cFJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBBdHhMb2dSZW5kZXJlckJhc2UgfSBmcm9tICcuLi8uLi9hYnN0cmFjdC9sb2ctcmVuZGVyZXItYmFzZSc7XHJcblxyXG4vKipcclxuICogQHByaXZhdGVcclxuICogVGhlIGNvbXBvbmVudCB0aGF0IGRpc3BsYXlzIEhUVFAgcmVxdWVzdCBpbmZvIGluIHRoZSBBVFggbW9uaXRvcmluZyBjb25zb2xlLlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhdHgtcmVxdWVzdC1pbmZvLXJlbmRlcmVyJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE5nU3R5bGUsXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vcmVxdWVzdC1pbmZvLXJlbmRlcmVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vcmVxdWVzdC1pbmZvLXJlbmRlcmVyLmNvbXBvbmVudC5zY3NzJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXR4UmVxdWVzSW5mb0NvbXBvbmVudCBleHRlbmRzIEF0eExvZ1JlbmRlcmVyQmFzZSB7XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgcmVxdWVzdCE6IEh0dHBSZXF1ZXN0PGFueT47XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgcmVzcG9uc2UhOiBIdHRwUmVzcG9uc2U8YW55PjtcclxuXHJcbiAgLyoqXHJcbiAgICogQHByaXZhdGVcclxuICAgKiBHZXN0IG9yIHNldHMgdGhlIGxvZyBmb3Igd2hpY2ggdG8gZGlzcGxheSBnZW5lcmFsIGluZm9ybWF0aW9uLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIG92ZXJyaWRlIHNldCBsb2codmFsdWU6IExvZyB8IG51bGwpIHtcclxuICAgIHN1cGVyLmxvZyA9IHZhbHVlO1xyXG4gICAgaWYgKCF2YWx1ZSkge1xyXG4gICAgICB0aGlzLnJlcXVlc3QgPSB0aGlzLnJlc3BvbnNlID0gbnVsbCBhcyBhbnk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IG1ldGFkYXRhOiBIdHRwTW9ja0xvZ2dpbmdNZXRhZGF0YSA9IHZhbHVlLm1ldGFkYXRhOyBcclxuICAgIGNvbnN0IHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4gPSBtZXRhZGF0YS5yZXF1ZXN0OyBcclxuICAgIHRoaXMucmVxdWVzdCA9IHJlcXVlc3Q7XHJcbiAgICB0aGlzLnJlc3BvbnNlID0gbWV0YWRhdGEucmVzcG9uc2U7XHJcbiAgfVxyXG59XHJcbiIsIjwhLS1cclxuICogTElDRU5TRVxyXG4gKiBDb3B5cmlnaHQgUGFzY2FsIEVDSEVNQU5OLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxyXG4gKlxyXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxyXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vcGFzY2FsZWNoZW1hbm4uY29tL2FuZ3VsYXItdG9vbGJveC9yZXNvdXJjZXMvbGljZW5zZVxyXG4tLT5cclxuXHJcbjxkZXRhaWxzIG9wZW4+XHJcbiAgICA8c3VtbWFyeT5HZW5lcmFsPC9zdW1tYXJ5PlxyXG4gICAgPHNlY3Rpb24+XHJcbiAgICAgICAgPGRsPlxyXG4gICAgICAgICAgICA8ZHQ+UmVxdWVzdCBVUkw6PC9kdD5cclxuICAgICAgICAgICAgPGRkPnt7IHJlcXVlc3QudXJsIH19PC9kZD5cclxuICAgICAgICA8L2RsPlxyXG4gICAgICAgIDxkbD5cclxuICAgICAgICAgICAgPGR0PlJlcXVlc3QgTWV0aG9kOjwvZHQ+XHJcbiAgICAgICAgICAgIDxkZD57eyByZXF1ZXN0Lm1ldGhvZCB9fTwvZGQ+XHJcbiAgICAgICAgPC9kbD5cclxuICAgICAgICA8ZGw+XHJcbiAgICAgICAgICAgIDxkdD5TdGF0dXMgQ29kZTo8L2R0PlxyXG4gICAgICAgICAgICA8ZGQgY2xhc3M9XCJzdGF0dXMtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgICAgICBAaWYgKHJlc3BvbnNlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPHN2ZyBbbmdTdHlsZV09XCJ7IGZpbGw6IHJlc3BvbnNlLnN0YXR1cyA8IDQwMCA/ICdncmVlbicgOiAncmVkJyB9XCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTNcIiBoZWlnaHQ9XCIxM1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBjeD1cIjhcIiBjeT1cIjhcIiByPVwiOFwiLz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICB7eyByZXNwb25zZS5zdGF0dXMgfX0ge3sgcmVzcG9uc2Uuc3RhdHVzVGV4dCB9fVxyXG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPHN2ZyBmaWxsPVwib3JhbmdlXCIgd2lkdGg9XCIxM1wiIGhlaWdodD1cIjEzXCIgdmlld0JveD1cIjAgMCAxNiAxNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PVwiOFwiIGN5PVwiOFwiIHI9XCI4XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgIHByZWZldGNoXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvZGQ+XHJcbiAgICAgICAgPC9kbD5cclxuICAgIDwvc2VjdGlvbj5cclxuPC9kZXRhaWxzPlxyXG48ZGV0YWlscz5cclxuICAgIDxzdW1tYXJ5PlJlc3BvbnNlIEhlYWRlcnM8L3N1bW1hcnk+XHJcbiAgICA8c2VjdGlvbj5cclxuICAgICAgICBAaWYgKHJlc3BvbnNlKSB7XHJcbiAgICAgICAgICAgIEBmb3IoIGl0ZW0gb2YgcmVzcG9uc2UuaGVhZGVycy5rZXlzKCk7IHRyYWNrIGl0ZW0pIHtcclxuICAgICAgICAgICAgICAgIDxkbD5cclxuICAgICAgICAgICAgICAgICAgICA8ZHQ+e3sgaXRlbSB9fTwvZHQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRkPnt7IHJlc3BvbnNlLmhlYWRlcnMuZ2V0KGl0ZW0pIH19PC9kZD5cclxuICAgICAgICAgICAgICAgIDwvZGw+XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIDwvc2VjdGlvbj5cclxuPC9kZXRhaWxzPlxyXG48ZGV0YWlscz5cclxuICAgIDxzdW1tYXJ5PlJlcXVlc3QgSGVhZGVyczwvc3VtbWFyeT5cclxuICAgIDxzZWN0aW9uPlxyXG4gICAgICAgIEBmb3IoaXRlbSBvZiByZXF1ZXN0LmhlYWRlcnMua2V5cygpOyB0cmFjayBpdGVtKSB7XHJcbiAgICAgICAgICAgIDxkbD5cclxuICAgICAgICAgICAgICAgIDxkdD57eyBpdGVtIH19PC9kdD5cclxuICAgICAgICAgICAgICAgIDxkZD57eyByZXF1ZXN0LmhlYWRlcnMuZ2V0KGl0ZW0pIH19PC9kZD5cclxuICAgICAgICAgICAgPC9kbD5cclxuICAgICAgICB9XHJcbiAgICA8L3NlY3Rpb24+XHJcbjwvZGV0YWlscz4iXX0=
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Pascal ECHEMANN. All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be found in
|
|
6
|
-
* the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
7
|
-
*/
|
|
8
|
-
import { Component } from '@angular/core';
|
|
9
|
-
import { SizeUtil } from '../../../util/size.util';
|
|
10
|
-
import { UrlUtil } from '../../../util/url.util';
|
|
11
|
-
import { AtxIconRendererComponent } from '../icon-renderer/icon-renderer.component';
|
|
12
|
-
import { AtxConsoleActionType } from '../../../model/business/atx-console-action-type';
|
|
13
|
-
import * as i0 from "@angular/core";
|
|
14
|
-
import * as i1 from "../../../model/service/atx-monitoring-console.state";
|
|
15
|
-
import * as i2 from "../../../model/service/atx-user-action.service";
|
|
16
|
-
/**
|
|
17
|
-
* @private
|
|
18
|
-
*/
|
|
19
|
-
const TPL_DASH = "---";
|
|
20
|
-
/**
|
|
21
|
-
* @private
|
|
22
|
-
*/
|
|
23
|
-
const PREFETCH = "prefetch";
|
|
24
|
-
/**
|
|
25
|
-
* @private
|
|
26
|
-
*/
|
|
27
|
-
const MS_SUFIX = " ms";
|
|
28
|
-
/**
|
|
29
|
-
* @private
|
|
30
|
-
* The component that layouts HTTP logs via a table element in the ATX monitoring console.
|
|
31
|
-
*/
|
|
32
|
-
export class AtxRequestListRendererComponent {
|
|
33
|
-
/**
|
|
34
|
-
* @private
|
|
35
|
-
*/
|
|
36
|
-
constructor(state, action) {
|
|
37
|
-
this.state = state;
|
|
38
|
-
this.action = action;
|
|
39
|
-
/**
|
|
40
|
-
* @private
|
|
41
|
-
*/
|
|
42
|
-
this.actionType = AtxConsoleActionType;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* @private
|
|
46
|
-
* Returns the data size for the specified log.
|
|
47
|
-
*/
|
|
48
|
-
getSize(log) {
|
|
49
|
-
const response = log.metadata.response;
|
|
50
|
-
if (response) {
|
|
51
|
-
const size = SizeUtil.getSize(response.body);
|
|
52
|
-
return SizeUtil.sizeToString(size);
|
|
53
|
-
}
|
|
54
|
-
return TPL_DASH;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* @private
|
|
58
|
-
* Returns the HTTP status for the specified log.
|
|
59
|
-
*/
|
|
60
|
-
getStatus(log) {
|
|
61
|
-
const response = log.metadata.response;
|
|
62
|
-
if (response)
|
|
63
|
-
return response.status;
|
|
64
|
-
return PREFETCH;
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* @private
|
|
68
|
-
* Returns the transaction duration for the specified log.
|
|
69
|
-
*/
|
|
70
|
-
getTime(log) {
|
|
71
|
-
const response = log.metadata.response;
|
|
72
|
-
if (response)
|
|
73
|
-
return log.metadata.requestMetadata.duration + MS_SUFIX;
|
|
74
|
-
return TPL_DASH;
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* @private
|
|
78
|
-
* RIndicates whether the specified log is an error (true), or not (false).
|
|
79
|
-
*/
|
|
80
|
-
isError(log) {
|
|
81
|
-
const response = log.metadata.response;
|
|
82
|
-
if (response)
|
|
83
|
-
return response.status >= 400;
|
|
84
|
-
return false;
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* @private
|
|
88
|
-
* Returns the resource name for the specified log.
|
|
89
|
-
*/
|
|
90
|
-
getResourceName(log) {
|
|
91
|
-
return UrlUtil.getResourceName(log);
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* @private
|
|
95
|
-
* Returns the resource path for the specified log.
|
|
96
|
-
*/
|
|
97
|
-
getResourcePath(log) {
|
|
98
|
-
return UrlUtil.getResourcePath(log);
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* @private
|
|
102
|
-
* Applies user's filters to the spefivied log (previously unreleased).
|
|
103
|
-
*/
|
|
104
|
-
checkFilters(log) {
|
|
105
|
-
return true;
|
|
106
|
-
}
|
|
107
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxRequestListRendererComponent, deps: [{ token: i1.AtxMonitoringConsoleState }, { token: i2.AtxUserActionService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
108
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: AtxRequestListRendererComponent, isStandalone: true, selector: "atx-request-list-renderer", ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n<table id=\"request-list\" >\r\n <thead>\r\n <tr>\r\n <th class=\"name-header\">\r\n Name\r\n <div role=\"button\" title=\"Expand\" class=\"header-btn\" (click)=\"action.sendAction(actionType.CLOSE_DETAILS_PANEL)\">\r\n <svg width=\"20\" height=\"20\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n @if (this.state.selectedLog) {\r\n <path fill-rule=\"evenodd\" d=\"M6 8a.5.5 0 0 0 .5.5h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 0 0-.708.708L12.293 7.5H6.5A.5.5 0 0 0 6 8m-2.5 7a.5.5 0 0 1-.5-.5v-13a.5.5 0 0 1 1 0v13a.5.5 0 0 1-.5.5\"/>\r\n }\r\n </svg>\r\n </div>\r\n </th>\r\n @if (!this.state.selectedLog) {\r\n <th>Status</th>\r\n <th>Size</th>\r\n <th>Time</th>\r\n }\r\n </tr>\r\n </thead>\r\n <tbody>\r\n @for (log of this.state.logs; track log.metadata.requestMetadata.id) {\r\n @if (checkFilters(log)) {\r\n <tr [class.error-row]=\"isError(log)\" role=\"button\" (click)=\"action.sendAction(actionType.LOG_SELECT, log)\"\r\n [class.selected-row]=\"this.state.selectedLog === log\">\r\n <td [title]=\"getResourcePath(log)\">\r\n <atx-icon-renderer [log]=\"log\"/>\r\n <div class=\"resource-cell\">\r\n {{ getResourceName(log) }}\r\n <br>\r\n {{ getResourcePath(log) }}\r\n </div>\r\n </td>\r\n @if (!this.state.selectedLog) {\r\n <td>{{ getStatus(log) }}</td>\r\n <td>{{ getSize(log) }}</td>\r\n <td>{{ getTime(log) }}</td>\r\n }\r\n </tr>\r\n }\r\n }\r\n </tbody>\r\n</table>", styles: [":host{--border-color: lightblue;--background-color: aliceblue;--selected-color: #d9eeff;--selected-error-color: lavenderblush;--light-gray: whitesmoke;--dark-gray: gainsboro;--header-height: 26px;display:block}:host,table{padding:0;margin:0;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px;color:#000;background-color:#fff}menu{padding:0;margin:0;display:flex;align-items:center;gap:6px;list-style:none}table{border-collapse:collapse}th{padding:0 0 0 6px;background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0}th:not(:last-child){border-right:1px solid var(--border-color)}td{padding:2px 6px;vertical-align:top}tr:nth-child(2n):not(.selected-row){background-color:var(--background-color)}.error-row{color:red}.selected-row{background-color:var(--selected-color)}.error-row.selected-row{background-color:var(--selected-error-color)}tr:hover{background-color:var(--light-gray)!important}th{height:var(--header-height)}.header-btn{margin-left:auto}.header-btn:hover{background-color:var(--selected-color)}.menu-separator{width:0;height:16px;border-right:2px solid var(--dark-gray)}.content{padding:4px 6px}.center-content{display:flex;justify-content:center}summary{-webkit-user-select:none;user-select:none}#request-list{-webkit-user-select:none;user-select:none;width:100%}#request-list tbody tr td:first-of-type{display:flex;gap:6px}#request-list .name-header{display:flex;align-items:center}#request-list thead{position:sticky;top:0}#request-list .resource-cell{max-height:36px;overflow:hidden}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"], dependencies: [{ kind: "component", type: AtxIconRendererComponent, selector: "atx-icon-renderer", inputs: ["log"] }] }); }
|
|
109
|
-
}
|
|
110
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxRequestListRendererComponent, decorators: [{
|
|
111
|
-
type: Component,
|
|
112
|
-
args: [{ selector: 'atx-request-list-renderer', standalone: true, imports: [
|
|
113
|
-
AtxIconRendererComponent
|
|
114
|
-
], template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n<table id=\"request-list\" >\r\n <thead>\r\n <tr>\r\n <th class=\"name-header\">\r\n Name\r\n <div role=\"button\" title=\"Expand\" class=\"header-btn\" (click)=\"action.sendAction(actionType.CLOSE_DETAILS_PANEL)\">\r\n <svg width=\"20\" height=\"20\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\r\n @if (this.state.selectedLog) {\r\n <path fill-rule=\"evenodd\" d=\"M6 8a.5.5 0 0 0 .5.5h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 0 0-.708.708L12.293 7.5H6.5A.5.5 0 0 0 6 8m-2.5 7a.5.5 0 0 1-.5-.5v-13a.5.5 0 0 1 1 0v13a.5.5 0 0 1-.5.5\"/>\r\n }\r\n </svg>\r\n </div>\r\n </th>\r\n @if (!this.state.selectedLog) {\r\n <th>Status</th>\r\n <th>Size</th>\r\n <th>Time</th>\r\n }\r\n </tr>\r\n </thead>\r\n <tbody>\r\n @for (log of this.state.logs; track log.metadata.requestMetadata.id) {\r\n @if (checkFilters(log)) {\r\n <tr [class.error-row]=\"isError(log)\" role=\"button\" (click)=\"action.sendAction(actionType.LOG_SELECT, log)\"\r\n [class.selected-row]=\"this.state.selectedLog === log\">\r\n <td [title]=\"getResourcePath(log)\">\r\n <atx-icon-renderer [log]=\"log\"/>\r\n <div class=\"resource-cell\">\r\n {{ getResourceName(log) }}\r\n <br>\r\n {{ getResourcePath(log) }}\r\n </div>\r\n </td>\r\n @if (!this.state.selectedLog) {\r\n <td>{{ getStatus(log) }}</td>\r\n <td>{{ getSize(log) }}</td>\r\n <td>{{ getTime(log) }}</td>\r\n }\r\n </tr>\r\n }\r\n }\r\n </tbody>\r\n</table>", styles: [":host{--border-color: lightblue;--background-color: aliceblue;--selected-color: #d9eeff;--selected-error-color: lavenderblush;--light-gray: whitesmoke;--dark-gray: gainsboro;--header-height: 26px;display:block}:host,table{padding:0;margin:0;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px;color:#000;background-color:#fff}menu{padding:0;margin:0;display:flex;align-items:center;gap:6px;list-style:none}table{border-collapse:collapse}th{padding:0 0 0 6px;background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0}th:not(:last-child){border-right:1px solid var(--border-color)}td{padding:2px 6px;vertical-align:top}tr:nth-child(2n):not(.selected-row){background-color:var(--background-color)}.error-row{color:red}.selected-row{background-color:var(--selected-color)}.error-row.selected-row{background-color:var(--selected-error-color)}tr:hover{background-color:var(--light-gray)!important}th{height:var(--header-height)}.header-btn{margin-left:auto}.header-btn:hover{background-color:var(--selected-color)}.menu-separator{width:0;height:16px;border-right:2px solid var(--dark-gray)}.content{padding:4px 6px}.center-content{display:flex;justify-content:center}summary{-webkit-user-select:none;user-select:none}#request-list{-webkit-user-select:none;user-select:none;width:100%}#request-list tbody tr td:first-of-type{display:flex;gap:6px}#request-list .name-header{display:flex;align-items:center}#request-list thead{position:sticky;top:0}#request-list .resource-cell{max-height:36px;overflow:hidden}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"] }]
|
|
115
|
-
}], ctorParameters: () => [{ type: i1.AtxMonitoringConsoleState }, { type: i2.AtxUserActionService }] });
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1saXN0LXJlbmRlcmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdG9vbGJveC9zcmMvbGliL2ZyYW1ld29yay9tb2NrL2h0dHAtbW9uaXRvcmluZy1jb25zb2xlL2NvbXBvbmVudC9yZW5kZXJlci9yZXF1ZXN0LWxpc3QtcmVuZGVyZXIvcmVxdWVzdC1saXN0LXJlbmRlcmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdG9vbGJveC9zcmMvbGliL2ZyYW1ld29yay9tb2NrL2h0dHAtbW9uaXRvcmluZy1jb25zb2xlL2NvbXBvbmVudC9yZW5kZXJlci9yZXF1ZXN0LWxpc3QtcmVuZGVyZXIvcmVxdWVzdC1saXN0LXJlbmRlcmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHMUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUdwRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpREFBaUQsQ0FBQzs7OztBQUV2Rjs7R0FFRztBQUNILE1BQU0sUUFBUSxHQUFXLEtBQUssQ0FBQztBQUUvQjs7R0FFRztBQUNILE1BQU0sUUFBUSxHQUFXLFVBQVUsQ0FBQztBQUVwQzs7R0FFRztBQUNILE1BQU0sUUFBUSxHQUFXLEtBQUssQ0FBQztBQUUvQjs7O0dBR0c7QUFVSCxNQUFNLE9BQU8sK0JBQStCO0lBTzFDOztPQUVHO0lBQ0gsWUFBc0IsS0FBZ0MsRUFDaEMsTUFBNEI7UUFENUIsVUFBSyxHQUFMLEtBQUssQ0FBMkI7UUFDaEMsV0FBTSxHQUFOLE1BQU0sQ0FBc0I7UUFUbEQ7O1dBRUc7UUFDZ0IsZUFBVSxHQUFRLG9CQUFvQixDQUFDO0lBTUwsQ0FBQztJQUV0RDs7O09BR0c7SUFDTyxPQUFPLENBQUMsR0FBUTtRQUN4QixNQUFNLFFBQVEsR0FBNkIsR0FBRyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFDakUsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLE1BQU0sSUFBSSxHQUFXLFFBQVEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3JELE9BQU8sUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxDQUFDO1FBQ0QsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVEOzs7T0FHRztJQUNPLFNBQVMsQ0FBQyxHQUFRO1FBQXFCLE1BQU0sUUFBUSxHQUE2QixHQUFHLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztRQUNoSCxJQUFJLFFBQVE7WUFBRSxPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUM7UUFDckMsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVEOzs7T0FHRztJQUNPLE9BQU8sQ0FBQyxHQUFRO1FBQ3hCLE1BQU0sUUFBUSxHQUE2QixHQUFHLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztRQUNqRSxJQUFJLFFBQVE7WUFBRSxPQUFPLEdBQUcsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDdEUsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVEOzs7T0FHRztJQUNPLE9BQU8sQ0FBQyxHQUFRO1FBQ3hCLE1BQU0sUUFBUSxHQUE2QixHQUFHLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztRQUNqRSxJQUFJLFFBQVE7WUFBRSxPQUFPLFFBQVEsQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDO1FBQzVDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVEOzs7T0FHRztJQUNPLGVBQWUsQ0FBQyxHQUFRO1FBQ2hDLE9BQU8sT0FBTyxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ08sZUFBZSxDQUFDLEdBQVE7UUFDaEMsT0FBTyxPQUFPLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7O09BR0c7SUFDTyxZQUFZLENBQUMsR0FBUTtRQUM3QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7OEdBN0VVLCtCQUErQjtrR0FBL0IsK0JBQStCLHFGQzlDNUMsOHhFQWlEUSwyMEREUkosd0JBQXdCOzsyRkFLZiwrQkFBK0I7a0JBVDNDLFNBQVM7K0JBQ0UsMkJBQTJCLGNBQ3pCLElBQUksV0FDUDt3QkFDUCx3QkFBd0I7cUJBQ3pCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBsaWNlbnNlXHJcbiAqIENvcHlyaWdodCBQYXNjYWwgRUNIRU1BTk4uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXHJcbiAqXHJcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluXHJcbiAqIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9wYXNjYWxlY2hlbWFubi5jb20vYW5ndWxhci10b29sYm94L3Jlc291cmNlcy9saWNlbnNlXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExvZyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL21vZGVsJztcclxuaW1wb3J0IHsgSHR0cFJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBTaXplVXRpbCB9IGZyb20gJy4uLy4uLy4uL3V0aWwvc2l6ZS51dGlsJztcclxuaW1wb3J0IHsgVXJsVXRpbCB9IGZyb20gJy4uLy4uLy4uL3V0aWwvdXJsLnV0aWwnO1xyXG5pbXBvcnQgeyBBdHhJY29uUmVuZGVyZXJDb21wb25lbnQgfSBmcm9tICcuLi9pY29uLXJlbmRlcmVyL2ljb24tcmVuZGVyZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXR4TW9uaXRvcmluZ0NvbnNvbGVTdGF0ZSB9IGZyb20gJy4uLy4uLy4uL21vZGVsL3NlcnZpY2UvYXR4LW1vbml0b3JpbmctY29uc29sZS5zdGF0ZSc7XHJcbmltcG9ydCB7IEF0eFVzZXJBY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWwvc2VydmljZS9hdHgtdXNlci1hY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IEF0eENvbnNvbGVBY3Rpb25UeXBlIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWwvYnVzaW5lc3MvYXR4LWNvbnNvbGUtYWN0aW9uLXR5cGUnO1xyXG5cclxuLyoqXHJcbiAqIEBwcml2YXRlXHJcbiAqL1xyXG5jb25zdCBUUExfREFTSDogc3RyaW5nID0gXCItLS1cIjtcclxuXHJcbi8qKlxyXG4gKiBAcHJpdmF0ZVxyXG4gKi9cclxuY29uc3QgUFJFRkVUQ0g6IHN0cmluZyA9IFwicHJlZmV0Y2hcIjtcclxuXHJcbi8qKlxyXG4gKiBAcHJpdmF0ZVxyXG4gKi9cclxuY29uc3QgTVNfU1VGSVg6IHN0cmluZyA9IFwiIG1zXCI7XHJcblxyXG4vKipcclxuICogQHByaXZhdGVcclxuICogVGhlIGNvbXBvbmVudCB0aGF0IGxheW91dHMgSFRUUCBsb2dzIHZpYSBhIHRhYmxlIGVsZW1lbnQgaW4gdGhlIEFUWCBtb25pdG9yaW5nIGNvbnNvbGUuXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F0eC1yZXF1ZXN0LWxpc3QtcmVuZGVyZXInLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQXR4SWNvblJlbmRlcmVyQ29tcG9uZW50XHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vcmVxdWVzdC1saXN0LXJlbmRlcmVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vcmVxdWVzdC1saXN0LXJlbmRlcmVyLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQXR4UmVxdWVzdExpc3RSZW5kZXJlckNvbXBvbmVudCB7XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYWN0aW9uVHlwZTogYW55ID0gQXR4Q29uc29sZUFjdGlvblR5cGU7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBwcml2YXRlXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHN0YXRlOiBBdHhNb25pdG9yaW5nQ29uc29sZVN0YXRlLFxyXG4gICAgICAgICAgICAgIHByb3RlY3RlZCBhY3Rpb246IEF0eFVzZXJBY3Rpb25TZXJ2aWNlKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqIFJldHVybnMgdGhlIGRhdGEgc2l6ZSBmb3IgdGhlIHNwZWNpZmllZCBsb2cuXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGdldFNpemUobG9nOiBMb2cpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IEh0dHBSZXNwb25zZTxhbnk+IHwgbnVsbCA9IGxvZy5tZXRhZGF0YS5yZXNwb25zZTtcclxuICAgIGlmIChyZXNwb25zZSkge1xyXG4gICAgICBjb25zdCBzaXplOiBudW1iZXIgPSBTaXplVXRpbC5nZXRTaXplKHJlc3BvbnNlLmJvZHkpO1xyXG4gICAgICByZXR1cm4gU2l6ZVV0aWwuc2l6ZVRvU3RyaW5nKHNpemUpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIFRQTF9EQVNIO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQHByaXZhdGVcclxuICAgKiBSZXR1cm5zIHRoZSBIVFRQIHN0YXR1cyBmb3IgdGhlIHNwZWNpZmllZCBsb2cuXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGdldFN0YXR1cyhsb2c6IExvZyk6IHN0cmluZyB8IG51bWJlciB7IGNvbnN0IHJlc3BvbnNlOiBIdHRwUmVzcG9uc2U8YW55PiB8IG51bGwgPSBsb2cubWV0YWRhdGEucmVzcG9uc2U7XHJcbiAgICBpZiAocmVzcG9uc2UpIHJldHVybiByZXNwb25zZS5zdGF0dXM7XHJcbiAgICByZXR1cm4gUFJFRkVUQ0g7XHJcbiAgfVxyXG4gIFxyXG4gIC8qKlxyXG4gICAqIEBwcml2YXRlXHJcbiAgICogUmV0dXJucyB0aGUgdHJhbnNhY3Rpb24gZHVyYXRpb24gZm9yIHRoZSBzcGVjaWZpZWQgbG9nLlxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBnZXRUaW1lKGxvZzogTG9nKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBIdHRwUmVzcG9uc2U8YW55PiB8IG51bGwgPSBsb2cubWV0YWRhdGEucmVzcG9uc2U7XHJcbiAgICBpZiAocmVzcG9uc2UpIHJldHVybiBsb2cubWV0YWRhdGEucmVxdWVzdE1ldGFkYXRhLmR1cmF0aW9uICsgTVNfU1VGSVg7XHJcbiAgICByZXR1cm4gVFBMX0RBU0g7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqIFJJbmRpY2F0ZXMgd2hldGhlciB0aGUgc3BlY2lmaWVkIGxvZyBpcyBhbiBlcnJvciAodHJ1ZSksIG9yIG5vdCAoZmFsc2UpLlxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBpc0Vycm9yKGxvZzogTG9nKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCByZXNwb25zZTogSHR0cFJlc3BvbnNlPGFueT4gfCBudWxsID0gbG9nLm1ldGFkYXRhLnJlc3BvbnNlO1xyXG4gICAgaWYgKHJlc3BvbnNlKSByZXR1cm4gcmVzcG9uc2Uuc3RhdHVzID49IDQwMDtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogQHByaXZhdGVcclxuICAgKiBSZXR1cm5zIHRoZSByZXNvdXJjZSBuYW1lIGZvciB0aGUgc3BlY2lmaWVkIGxvZy5cclxuICAgKi9cclxuICBwcm90ZWN0ZWQgZ2V0UmVzb3VyY2VOYW1lKGxvZzogTG9nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBVcmxVdGlsLmdldFJlc291cmNlTmFtZShsb2cpO1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqIFJldHVybnMgdGhlIHJlc291cmNlIHBhdGggZm9yIHRoZSBzcGVjaWZpZWQgbG9nLlxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBnZXRSZXNvdXJjZVBhdGgobG9nOiBMb2cpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIFVybFV0aWwuZ2V0UmVzb3VyY2VQYXRoKGxvZyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqIEFwcGxpZXMgdXNlcidzIGZpbHRlcnMgdG8gdGhlIHNwZWZpdmllZCBsb2cgKHByZXZpb3VzbHkgdW5yZWxlYXNlZCkuXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGNoZWNrRmlsdGVycyhsb2c6IExvZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG59XHJcbiIsIjwhLS1cclxuICogTElDRU5TRVxyXG4gKiBDb3B5cmlnaHQgUGFzY2FsIEVDSEVNQU5OLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxyXG4gKlxyXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxyXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vcGFzY2FsZWNoZW1hbm4uY29tL2FuZ3VsYXItdG9vbGJveC9yZXNvdXJjZXMvbGljZW5zZVxyXG4tLT5cclxuPHRhYmxlIGlkPVwicmVxdWVzdC1saXN0XCIgPlxyXG4gICAgPHRoZWFkPlxyXG4gICAgICAgIDx0cj5cclxuICAgICAgICAgICAgPHRoIGNsYXNzPVwibmFtZS1oZWFkZXJcIj5cclxuICAgICAgICAgICAgICAgIE5hbWVcclxuICAgICAgICAgICAgICAgIDxkaXYgcm9sZT1cImJ1dHRvblwiIHRpdGxlPVwiRXhwYW5kXCIgY2xhc3M9XCJoZWFkZXItYnRuXCIgKGNsaWNrKT1cImFjdGlvbi5zZW5kQWN0aW9uKGFjdGlvblR5cGUuQ0xPU0VfREVUQUlMU19QQU5FTClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAodGhpcy5zdGF0ZS5zZWxlY3RlZExvZykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNNiA4YS41LjUgMCAwIDAgLjUuNWg1Ljc5M2wtMi4xNDcgMi4xNDZhLjUuNSAwIDAgMCAuNzA4LjcwOGwzLTNhLjUuNSAwIDAgMCAwLS43MDhsLTMtM2EuNS41IDAgMCAwLS43MDguNzA4TDEyLjI5MyA3LjVINi41QS41LjUgMCAwIDAgNiA4bS0yLjUgN2EuNS41IDAgMCAxLS41LS41di0xM2EuNS41IDAgMCAxIDEgMHYxM2EuNS41IDAgMCAxLS41LjVcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICBAaWYgKCF0aGlzLnN0YXRlLnNlbGVjdGVkTG9nKSB7XHJcbiAgICAgICAgICAgICAgICA8dGg+U3RhdHVzPC90aD5cclxuICAgICAgICAgICAgICAgIDx0aD5TaXplPC90aD5cclxuICAgICAgICAgICAgICAgIDx0aD5UaW1lPC90aD5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIDwvdHI+XHJcbiAgICA8L3RoZWFkPlxyXG4gICAgPHRib2R5PlxyXG4gICAgICAgIEBmb3IgKGxvZyBvZiB0aGlzLnN0YXRlLmxvZ3M7IHRyYWNrIGxvZy5tZXRhZGF0YS5yZXF1ZXN0TWV0YWRhdGEuaWQpIHtcclxuICAgICAgICAgICAgQGlmIChjaGVja0ZpbHRlcnMobG9nKSkge1xyXG4gICAgICAgICAgICAgICAgPHRyIFtjbGFzcy5lcnJvci1yb3ddPVwiaXNFcnJvcihsb2cpXCIgcm9sZT1cImJ1dHRvblwiIChjbGljayk9XCJhY3Rpb24uc2VuZEFjdGlvbihhY3Rpb25UeXBlLkxPR19TRUxFQ1QsIGxvZylcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZC1yb3ddPVwidGhpcy5zdGF0ZS5zZWxlY3RlZExvZyA9PT0gbG9nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRkIFt0aXRsZV09XCJnZXRSZXNvdXJjZVBhdGgobG9nKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YXR4LWljb24tcmVuZGVyZXIgW2xvZ109XCJsb2dcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXNvdXJjZS1jZWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBnZXRSZXNvdXJjZU5hbWUobG9nKSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgZ2V0UmVzb3VyY2VQYXRoKGxvZykgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCF0aGlzLnN0YXRlLnNlbGVjdGVkTG9nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57eyBnZXRTdGF0dXMobG9nKSB9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57eyBnZXRTaXplKGxvZykgfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3sgZ2V0VGltZShsb2cpIH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgPC90Ym9keT5cclxuPC90YWJsZT4iXX0=
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Pascal ECHEMANN. All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be found in
|
|
6
|
-
* the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
7
|
-
*/
|
|
8
|
-
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
9
|
-
import { AtxJsonViewerComponent } from '../json-viewer/json-viewer.component';
|
|
10
|
-
import { DataUtil } from '../../../util/data.util';
|
|
11
|
-
import { ConsoleBodyType } from '../../../util/console-body-type';
|
|
12
|
-
import { SafeHtmlPipe } from '../../../../../../pipe';
|
|
13
|
-
import { AtxLogRendererBase } from '../../abstract/log-renderer-base';
|
|
14
|
-
import * as i0 from "@angular/core";
|
|
15
|
-
/**
|
|
16
|
-
* @private
|
|
17
|
-
* The component that displays HTTP response data in the ATX monitoring console.
|
|
18
|
-
*/
|
|
19
|
-
export class AtxResponseBodyRendererComponent extends AtxLogRendererBase {
|
|
20
|
-
constructor() {
|
|
21
|
-
super(...arguments);
|
|
22
|
-
/**
|
|
23
|
-
* @private
|
|
24
|
-
*/
|
|
25
|
-
this.text = null;
|
|
26
|
-
/**
|
|
27
|
-
* @private
|
|
28
|
-
*/
|
|
29
|
-
this.body = null;
|
|
30
|
-
/**
|
|
31
|
-
* @private
|
|
32
|
-
*/
|
|
33
|
-
this.blob = null;
|
|
34
|
-
/**
|
|
35
|
-
* @private
|
|
36
|
-
*/
|
|
37
|
-
this.arrayBuffer = null;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* @private
|
|
41
|
-
*/
|
|
42
|
-
set log(value) {
|
|
43
|
-
super.log = value;
|
|
44
|
-
this.ngOnDestroy();
|
|
45
|
-
if (!value)
|
|
46
|
-
return;
|
|
47
|
-
const metadata = value.metadata;
|
|
48
|
-
const response = metadata.response;
|
|
49
|
-
if (!response)
|
|
50
|
-
return;
|
|
51
|
-
const body = response.body;
|
|
52
|
-
this.body = body;
|
|
53
|
-
if (!body)
|
|
54
|
-
return;
|
|
55
|
-
const bodyType = DataUtil.getBodyType(body);
|
|
56
|
-
if (bodyType === ConsoleBodyType.TEXT) {
|
|
57
|
-
this.text = body;
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
if (bodyType === ConsoleBodyType.JSON) {
|
|
61
|
-
this.text = JSON.stringify(body);
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
if (bodyType === ConsoleBodyType.BLOB) {
|
|
65
|
-
this.blob = body;
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
if (bodyType === ConsoleBodyType.ARRAY_BUFFER)
|
|
69
|
-
this.arrayBuffer = body;
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* @private
|
|
73
|
-
*/
|
|
74
|
-
ngOnDestroy() {
|
|
75
|
-
this.text = this.body = this.blob = this.arrayBuffer = null;
|
|
76
|
-
}
|
|
77
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxResponseBodyRendererComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
78
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: AtxResponseBodyRendererComponent, isStandalone: true, selector: "atx-response-body-renderer", inputs: { log: "log" }, usesInheritance: true, ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n@if (body) {\r\n <section class=\"content\">\r\n @if (text) {\r\n {{ text }}\r\n } @else if (blob) {\r\n <dl>\r\n <dt>Binary data:</dt>\r\n <dd>Blob</dd>\r\n </dl>\r\n <dl>\r\n <dt>size:</dt>\r\n <dd>{{ blob.size }}</dd>\r\n </dl>\r\n <dl>\r\n <dt>type:</dt>\r\n <dd>{{ blob.type }}</dd>\r\n </dl>\r\n } @else if (arrayBuffer) {\r\n <dl>\r\n <dt>Binary data:</dt>\r\n <dd>Array Buffer</dd>\r\n </dl>\r\n <dl>\r\n <dt>byte length:</dt>\r\n <dd>{{ arrayBuffer.byteLength }}</dd>\r\n </dl>\r\n } @else {\r\n <div class=\"center-content\">\r\n <strong>This request has no data available</strong>\r\n </div>\r\n }\r\n </section>\r\n} @else if (currLog) {\r\n <div class=\"center-content\">\r\n <strong>This request has no data available</strong>\r\n </div>\r\n}\r\n", styles: [":host{--border-color: lightblue;--background-color: aliceblue;--selected-color: #d9eeff;--selected-error-color: lavenderblush;--light-gray: whitesmoke;--dark-gray: gainsboro;--header-height: 26px;display:block}:host,table{padding:0;margin:0;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px;color:#000;background-color:#fff}menu{padding:0;margin:0;display:flex;align-items:center;gap:6px;list-style:none}table{border-collapse:collapse}th{padding:0 0 0 6px;background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0}th:not(:last-child){border-right:1px solid var(--border-color)}td{padding:2px 6px;vertical-align:top}tr:nth-child(2n):not(.selected-row){background-color:var(--background-color)}.error-row{color:red}.selected-row{background-color:var(--selected-color)}.error-row.selected-row{background-color:var(--selected-error-color)}tr:hover{background-color:var(--light-gray)!important}th{height:var(--header-height)}.header-btn{margin-left:auto}.header-btn:hover{background-color:var(--selected-color)}.menu-separator{width:0;height:16px;border-right:2px solid var(--dark-gray)}.content{padding:4px 6px}.center-content{display:flex;justify-content:center}summary{-webkit-user-select:none;user-select:none}dl,dd,dt{margin:0;padding:0}dl{display:flex;gap:12px}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
79
|
-
}
|
|
80
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AtxResponseBodyRendererComponent, decorators: [{
|
|
81
|
-
type: Component,
|
|
82
|
-
args: [{ selector: 'atx-response-body-renderer', standalone: true, imports: [
|
|
83
|
-
AtxJsonViewerComponent,
|
|
84
|
-
SafeHtmlPipe
|
|
85
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n\r\n@if (body) {\r\n <section class=\"content\">\r\n @if (text) {\r\n {{ text }}\r\n } @else if (blob) {\r\n <dl>\r\n <dt>Binary data:</dt>\r\n <dd>Blob</dd>\r\n </dl>\r\n <dl>\r\n <dt>size:</dt>\r\n <dd>{{ blob.size }}</dd>\r\n </dl>\r\n <dl>\r\n <dt>type:</dt>\r\n <dd>{{ blob.type }}</dd>\r\n </dl>\r\n } @else if (arrayBuffer) {\r\n <dl>\r\n <dt>Binary data:</dt>\r\n <dd>Array Buffer</dd>\r\n </dl>\r\n <dl>\r\n <dt>byte length:</dt>\r\n <dd>{{ arrayBuffer.byteLength }}</dd>\r\n </dl>\r\n } @else {\r\n <div class=\"center-content\">\r\n <strong>This request has no data available</strong>\r\n </div>\r\n }\r\n </section>\r\n} @else if (currLog) {\r\n <div class=\"center-content\">\r\n <strong>This request has no data available</strong>\r\n </div>\r\n}\r\n", styles: [":host{--border-color: lightblue;--background-color: aliceblue;--selected-color: #d9eeff;--selected-error-color: lavenderblush;--light-gray: whitesmoke;--dark-gray: gainsboro;--header-height: 26px;display:block}:host,table{padding:0;margin:0;font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:12px;color:#000;background-color:#fff}menu{padding:0;margin:0;display:flex;align-items:center;gap:6px;list-style:none}table{border-collapse:collapse}th{padding:0 0 0 6px;background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0}th:not(:last-child){border-right:1px solid var(--border-color)}td{padding:2px 6px;vertical-align:top}tr:nth-child(2n):not(.selected-row){background-color:var(--background-color)}.error-row{color:red}.selected-row{background-color:var(--selected-color)}.error-row.selected-row{background-color:var(--selected-error-color)}tr:hover{background-color:var(--light-gray)!important}th{height:var(--header-height)}.header-btn{margin-left:auto}.header-btn:hover{background-color:var(--selected-color)}.menu-separator{width:0;height:16px;border-right:2px solid var(--dark-gray)}.content{padding:4px 6px}.center-content{display:flex;justify-content:center}summary{-webkit-user-select:none;user-select:none}dl,dd,dt{margin:0;padding:0}dl{display:flex;gap:12px}\n/**\n * @license\n * Copyright Pascal ECHEMANN. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be found in\n * the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\n */\n"] }]
|
|
86
|
-
}], propDecorators: { log: [{
|
|
87
|
-
type: Input
|
|
88
|
-
}] } });
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2UtYm9keS1yZW5kZXJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9mcmFtZXdvcmsvbW9jay9odHRwLW1vbml0b3JpbmctY29uc29sZS9jb21wb25lbnQvcmVuZGVyZXIvcmVzcG9uc2UtYm9keS1yZW5kZXJlci9yZXNwb25zZS1ib2R5LXJlbmRlcmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdG9vbGJveC9zcmMvbGliL2ZyYW1ld29yay9tb2NrL2h0dHAtbW9uaXRvcmluZy1jb25zb2xlL2NvbXBvbmVudC9yZW5kZXJlci9yZXNwb25zZS1ib2R5LXJlbmRlcmVyL3Jlc3BvbnNlLWJvZHktcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDOUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7O0FBR3RFOzs7R0FHRztBQVlILE1BQU0sT0FBTyxnQ0FBaUMsU0FBUSxrQkFBa0I7SUFYeEU7O1FBYUU7O1dBRUc7UUFDTyxTQUFJLEdBQWtCLElBQUksQ0FBQztRQUVyQzs7V0FFRztRQUNPLFNBQUksR0FBUSxJQUFJLENBQUM7UUFFM0I7O1dBRUc7UUFDTyxTQUFJLEdBQWdCLElBQUksQ0FBQztRQUVuQzs7V0FFRztRQUNPLGdCQUFXLEdBQXVCLElBQUksQ0FBQztLQXNDbEQ7SUFwQ0M7O09BRUc7SUFDSCxJQUNvQixHQUFHLENBQUMsS0FBaUI7UUFDdkMsS0FBSyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUM7UUFDbEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTztRQUNuQixNQUFNLFFBQVEsR0FBNEIsS0FBSyxDQUFDLFFBQVEsQ0FBQztRQUN6RCxNQUFNLFFBQVEsR0FBdUIsUUFBUSxDQUFDLFFBQVEsQ0FBQztRQUN2RCxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU07UUFDckIsTUFBTSxJQUFJLEdBQVEsUUFBUSxDQUFDLElBQUksQ0FBQztRQUNoQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFDbEIsTUFBTSxRQUFRLEdBQW9CLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0QsSUFBSSxRQUFRLEtBQUssZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1lBQ2pCLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxRQUFRLEtBQUssZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNqQyxPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksUUFBUSxLQUFLLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztZQUNqQixPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksUUFBUSxLQUFLLGVBQWUsQ0FBQyxZQUFZO1lBQUUsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDekUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksV0FBVztRQUNoQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztJQUM5RCxDQUFDOzhHQXpEVSxnQ0FBZ0M7a0dBQWhDLGdDQUFnQyxxSUNoQzdDLCsyQ0E2Q0E7OzJGRGJhLGdDQUFnQztrQkFYNUMsU0FBUzsrQkFDRSw0QkFBNEIsY0FDMUIsSUFBSSxXQUNQO3dCQUNQLHNCQUFzQjt3QkFDdEIsWUFBWTtxQkFDYixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTTs4QkE0QjNCLEdBQUc7c0JBRHRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQGxpY2Vuc2VcclxuICogQ29weXJpZ2h0IFBhc2NhbCBFQ0hFTUFOTi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cclxuICpcclxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW5cclxuICogdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL3Bhc2NhbGVjaGVtYW5uLmNvbS9hbmd1bGFyLXRvb2xib3gvcmVzb3VyY2VzL2xpY2Vuc2VcclxuICovXHJcblxyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBdHhKc29uVmlld2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vanNvbi12aWV3ZXIvanNvbi12aWV3ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGF0YVV0aWwgfSBmcm9tICcuLi8uLi8uLi91dGlsL2RhdGEudXRpbCc7XHJcbmltcG9ydCB7IENvbnNvbGVCb2R5VHlwZSB9IGZyb20gJy4uLy4uLy4uL3V0aWwvY29uc29sZS1ib2R5LXR5cGUnO1xyXG5pbXBvcnQgeyBTYWZlSHRtbFBpcGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9waXBlJztcclxuaW1wb3J0IHsgSHR0cFJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBBdHhMb2dSZW5kZXJlckJhc2UgfSBmcm9tICcuLi8uLi9hYnN0cmFjdC9sb2ctcmVuZGVyZXItYmFzZSc7XHJcbmltcG9ydCB7IEh0dHBNb2NrTG9nZ2luZ01ldGFkYXRhLCBMb2cgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9tb2RlbCc7XHJcblxyXG4vKipcclxuICogQHByaXZhdGVcclxuICogVGhlIGNvbXBvbmVudCB0aGF0IGRpc3BsYXlzIEhUVFAgcmVzcG9uc2UgZGF0YSBpbiB0aGUgQVRYIG1vbml0b3JpbmcgY29uc29sZS5cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXR4LXJlc3BvbnNlLWJvZHktcmVuZGVyZXInLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQXR4SnNvblZpZXdlckNvbXBvbmVudCxcclxuICAgIFNhZmVIdG1sUGlwZVxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Jlc3BvbnNlLWJvZHktcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9yZXNwb25zZS1ib2R5LXJlbmRlcmVyLmNvbXBvbmVudC5zY3NzJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXR4UmVzcG9uc2VCb2R5UmVuZGVyZXJDb21wb25lbnQgZXh0ZW5kcyBBdHhMb2dSZW5kZXJlckJhc2Uge1xyXG5cclxuICAvKipcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCB0ZXh0OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBcclxuICAvKipcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBib2R5OiBhbnkgPSBudWxsO1xyXG4gIFxyXG4gIC8qKlxyXG4gICAqIEBwcml2YXRlXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGJsb2I6IEJsb2IgfCBudWxsID0gbnVsbDtcclxuICBcclxuICAvKipcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBhcnJheUJ1ZmZlcjogQXJyYXlCdWZmZXIgfCBudWxsID0gbnVsbDtcclxuICBcclxuICAvKipcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIG92ZXJyaWRlIHNldCBsb2codmFsdWU6IExvZyB8IG51bGwpIHtcclxuICAgIHN1cGVyLmxvZyA9IHZhbHVlO1xyXG4gICAgdGhpcy5uZ09uRGVzdHJveSgpO1xyXG4gICAgaWYgKCF2YWx1ZSkgcmV0dXJuO1xyXG4gICAgY29uc3QgbWV0YWRhdGE6IEh0dHBNb2NrTG9nZ2luZ01ldGFkYXRhID0gdmFsdWUubWV0YWRhdGE7IFxyXG4gICAgY29uc3QgcmVzcG9uc2U6IEh0dHBSZXNwb25zZTxhbnk+ID0gIG1ldGFkYXRhLnJlc3BvbnNlO1xyXG4gICAgaWYgKCFyZXNwb25zZSkgcmV0dXJuXHJcbiAgICBjb25zdCBib2R5OiBhbnkgPSByZXNwb25zZS5ib2R5O1xyXG4gICAgdGhpcy5ib2R5ID0gYm9keTtcclxuICAgIGlmICghYm9keSkgcmV0dXJuO1xyXG4gICAgY29uc3QgYm9keVR5cGU6IENvbnNvbGVCb2R5VHlwZSA9IERhdGFVdGlsLmdldEJvZHlUeXBlKGJvZHkpO1xyXG4gICAgaWYgKGJvZHlUeXBlID09PSBDb25zb2xlQm9keVR5cGUuVEVYVCkge1xyXG4gICAgICB0aGlzLnRleHQgPSBib2R5O1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoYm9keVR5cGUgPT09IENvbnNvbGVCb2R5VHlwZS5KU09OKSB7XHJcbiAgICAgIHRoaXMudGV4dCA9IEpTT04uc3RyaW5naWZ5KGJvZHkpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoYm9keVR5cGUgPT09IENvbnNvbGVCb2R5VHlwZS5CTE9CKSB7XHJcbiAgICAgIHRoaXMuYmxvYiA9IGJvZHk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmIChib2R5VHlwZSA9PT0gQ29uc29sZUJvZHlUeXBlLkFSUkFZX0JVRkZFUikgdGhpcy5hcnJheUJ1ZmZlciA9IGJvZHk7XHJcbiAgfVxyXG4gIFxyXG4gIC8qKlxyXG4gICAqIEBwcml2YXRlXHJcbiAgICovXHJcbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy50ZXh0ID0gdGhpcy5ib2R5ID0gdGhpcy5ibG9iID0gdGhpcy5hcnJheUJ1ZmZlciA9IG51bGw7XHJcbiAgfVxyXG59XHJcbiIsIjwhLS1cclxuICogTElDRU5TRVxyXG4gKiBDb3B5cmlnaHQgUGFzY2FsIEVDSEVNQU5OLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxyXG4gKlxyXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxyXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vcGFzY2FsZWNoZW1hbm4uY29tL2FuZ3VsYXItdG9vbGJveC9yZXNvdXJjZXMvbGljZW5zZVxyXG4tLT5cclxuXHJcbkBpZiAoYm9keSkge1xyXG4gICAgPHNlY3Rpb24gY2xhc3M9XCJjb250ZW50XCI+XHJcbiAgICAgICAgQGlmICh0ZXh0KSB7XHJcbiAgICAgICAgICAgIHt7IHRleHQgfX1cclxuICAgICAgICB9IEBlbHNlIGlmIChibG9iKSB7XHJcbiAgICAgICAgICAgIDxkbD5cclxuICAgICAgICAgICAgICAgIDxkdD5CaW5hcnkgZGF0YTo8L2R0PlxyXG4gICAgICAgICAgICAgICAgPGRkPkJsb2I8L2RkPlxyXG4gICAgICAgICAgICA8L2RsPlxyXG4gICAgICAgICAgICA8ZGw+XHJcbiAgICAgICAgICAgICAgICA8ZHQ+c2l6ZTo8L2R0PlxyXG4gICAgICAgICAgICAgICAgPGRkPnt7IGJsb2Iuc2l6ZSB9fTwvZGQ+XHJcbiAgICAgICAgICAgIDwvZGw+XHJcbiAgICAgICAgICAgIDxkbD5cclxuICAgICAgICAgICAgICAgIDxkdD50eXBlOjwvZHQ+XHJcbiAgICAgICAgICAgICAgICA8ZGQ+e3sgYmxvYi50eXBlIH19PC9kZD5cclxuICAgICAgICAgICAgPC9kbD5cclxuICAgICAgICB9IEBlbHNlIGlmIChhcnJheUJ1ZmZlcikge1xyXG4gICAgICAgICAgICA8ZGw+XHJcbiAgICAgICAgICAgICAgICA8ZHQ+QmluYXJ5IGRhdGE6PC9kdD5cclxuICAgICAgICAgICAgICAgIDxkZD5BcnJheSBCdWZmZXI8L2RkPlxyXG4gICAgICAgICAgICA8L2RsPlxyXG4gICAgICAgICAgICA8ZGw+XHJcbiAgICAgICAgICAgICAgICA8ZHQ+Ynl0ZSBsZW5ndGg6PC9kdD5cclxuICAgICAgICAgICAgICAgIDxkZD57eyBhcnJheUJ1ZmZlci5ieXRlTGVuZ3RoIH19PC9kZD5cclxuICAgICAgICAgICAgPC9kbD5cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNlbnRlci1jb250ZW50XCI+XHJcbiAgICAgICAgICAgICAgICA8c3Ryb25nPlRoaXMgcmVxdWVzdCBoYXMgbm8gZGF0YSBhdmFpbGFibGU8L3N0cm9uZz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgPC9zZWN0aW9uPlxyXG59IEBlbHNlIGlmIChjdXJyTG9nKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2VudGVyLWNvbnRlbnRcIj5cclxuICAgICAgICA8c3Ryb25nPlRoaXMgcmVxdWVzdCBoYXMgbm8gZGF0YSBhdmFpbGFibGU8L3N0cm9uZz5cclxuICAgIDwvZGl2PlxyXG59XHJcbiJdfQ==
|