@api-client/ui 0.0.4 → 0.0.7
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/demo/elements/http/http-assertions.html +3 -0
- package/demo/elements/http/http-assertions.ts +1 -1
- package/demo/elements/http/http-flows.html +23 -0
- package/demo/elements/http/http-flows.ts +92 -0
- package/demo/elements/http/index.html +3 -0
- package/demo/pages/http-project/main.ts +5 -6
- package/dist/amf/lib/AmfParameters.js +0 -4
- package/dist/amf/lib/AmfParameters.js.map +1 -1
- package/dist/amf/lib/navigation-layout/EndpointsTree.js +0 -2
- package/dist/amf/lib/navigation-layout/EndpointsTree.js.map +1 -1
- package/dist/amf/lib/navigation-layout/NaturalTree.js +0 -2
- package/dist/amf/lib/navigation-layout/NaturalTree.js.map +1 -1
- package/dist/amf/store/AmfGraphStore.js +0 -2
- package/dist/amf/store/AmfGraphStore.js.map +1 -1
- package/dist/amf/store/AmfStore.js +0 -7
- package/dist/amf/store/AmfStore.js.map +1 -1
- package/dist/bindings/base/HttpClientStoreBindings.js +4 -1
- package/dist/bindings/base/HttpClientStoreBindings.js.map +1 -1
- package/dist/bindings/base/PlatformBindings.js +6 -10
- package/dist/bindings/base/PlatformBindings.js.map +1 -1
- package/dist/bindings/base/ProxyBindings.js +9 -6
- package/dist/bindings/base/ProxyBindings.js.map +1 -1
- package/dist/bindings/base/SharedWorkerThread.js +4 -1
- package/dist/bindings/base/SharedWorkerThread.js.map +1 -1
- package/dist/bindings/base/StoreBindings.js +162 -170
- package/dist/bindings/base/StoreBindings.js.map +1 -1
- package/dist/bindings/web/WebConfigurationBindings.js +22 -24
- package/dist/bindings/web/WebConfigurationBindings.js.map +1 -1
- package/dist/bindings/web/WebFileBindings.js +7 -4
- package/dist/bindings/web/WebFileBindings.js.map +1 -1
- package/dist/bindings/web/WebHttpClientStoreBindings.js +19 -21
- package/dist/bindings/web/WebHttpClientStoreBindings.js.map +1 -1
- package/dist/bindings/web/WebNavigationBindings.js +4 -1
- package/dist/bindings/web/WebNavigationBindings.js.map +1 -1
- package/dist/bindings/web/WebProxyBindings.js +5 -6
- package/dist/bindings/web/WebProxyBindings.js.map +1 -1
- package/dist/bindings/web/WebStoreBindings.js +39 -44
- package/dist/bindings/web/WebStoreBindings.js.map +1 -1
- package/dist/contextual-menu/ContextualMenu.js +10 -19
- package/dist/contextual-menu/ContextualMenu.js.map +1 -1
- package/dist/contextual-menu/ContextualMenuElement.js +4 -32
- package/dist/contextual-menu/ContextualMenuElement.js.map +1 -1
- package/dist/contextual-menu/MenuItem.js +0 -12
- package/dist/contextual-menu/MenuItem.js.map +1 -1
- package/dist/define/amf/api-annotation-document.js +1 -1
- package/dist/define/amf/api-annotation-document.js.map +1 -1
- package/dist/define/amf/api-authorization-editor.js +1 -1
- package/dist/define/amf/api-authorization-editor.js.map +1 -1
- package/dist/define/amf/api-channel-document.js +1 -1
- package/dist/define/amf/api-channel-document.js.map +1 -1
- package/dist/define/amf/api-documentation-document.js +1 -1
- package/dist/define/amf/api-documentation-document.js.map +1 -1
- package/dist/define/amf/api-documentation.js +1 -1
- package/dist/define/amf/api-documentation.js.map +1 -1
- package/dist/define/amf/api-navigation.js +1 -1
- package/dist/define/amf/api-navigation.js.map +1 -1
- package/dist/define/amf/api-operation-document.js +1 -1
- package/dist/define/amf/api-operation-document.js.map +1 -1
- package/dist/define/amf/api-parameter-document.js +1 -1
- package/dist/define/amf/api-parameter-document.js.map +1 -1
- package/dist/define/amf/api-parametrized-security-scheme.js +1 -1
- package/dist/define/amf/api-parametrized-security-scheme.js.map +1 -1
- package/dist/define/amf/api-payload-document.js +1 -1
- package/dist/define/amf/api-payload-document.js.map +1 -1
- package/dist/define/amf/api-request-document.js +1 -1
- package/dist/define/amf/api-request-document.js.map +1 -1
- package/dist/define/amf/api-request-editor.js +1 -1
- package/dist/define/amf/api-request-editor.js.map +1 -1
- package/dist/define/amf/api-request.js +1 -1
- package/dist/define/amf/api-request.js.map +1 -1
- package/dist/define/amf/api-resource-document.js +1 -1
- package/dist/define/amf/api-resource-document.js.map +1 -1
- package/dist/define/amf/api-response-document.js +1 -1
- package/dist/define/amf/api-response-document.js.map +1 -1
- package/dist/define/amf/api-schema-document.js +1 -1
- package/dist/define/amf/api-schema-document.js.map +1 -1
- package/dist/define/amf/api-security-document.js +1 -1
- package/dist/define/amf/api-security-document.js.map +1 -1
- package/dist/define/amf/api-security-requirement-document.js +1 -1
- package/dist/define/amf/api-security-requirement-document.js.map +1 -1
- package/dist/define/amf/api-server-picker.js +1 -1
- package/dist/define/amf/api-server-picker.js.map +1 -1
- package/dist/define/amf/api-summary.js +1 -1
- package/dist/define/amf/api-summary.js.map +1 -1
- package/dist/define/amf/authorization/amf-apikey-authorization.js +1 -1
- package/dist/define/amf/authorization/amf-apikey-authorization.js.map +1 -1
- package/dist/define/amf/authorization/amf-basic-authorization.js +1 -1
- package/dist/define/amf/authorization/amf-basic-authorization.js.map +1 -1
- package/dist/define/amf/authorization/amf-bearer-authorization.js +1 -1
- package/dist/define/amf/authorization/amf-bearer-authorization.js.map +1 -1
- package/dist/define/amf/authorization/amf-oauth2-authorization.js +1 -1
- package/dist/define/amf/authorization/amf-oauth2-authorization.js.map +1 -1
- package/dist/define/amf/authorization/amf-oidc-authorization.js +1 -1
- package/dist/define/amf/authorization/amf-oidc-authorization.js.map +1 -1
- package/dist/define/amf/authorization/amf-passthrough-authorization.js +1 -1
- package/dist/define/amf/authorization/amf-passthrough-authorization.js.map +1 -1
- package/dist/define/amf/authorization/amf-ramlcustom-authorization.js +1 -1
- package/dist/define/amf/authorization/amf-ramlcustom-authorization.js.map +1 -1
- package/dist/define/authorization/apikey-authorization.js +1 -1
- package/dist/define/authorization/apikey-authorization.js.map +1 -1
- package/dist/define/authorization/basic-authorization.js +1 -1
- package/dist/define/authorization/basic-authorization.js.map +1 -1
- package/dist/define/authorization/bearer-authorization.js +1 -1
- package/dist/define/authorization/bearer-authorization.js.map +1 -1
- package/dist/define/authorization/cc-authorization.js +1 -1
- package/dist/define/authorization/cc-authorization.js.map +1 -1
- package/dist/define/authorization/ntlm-authorization.js +1 -1
- package/dist/define/authorization/ntlm-authorization.js.map +1 -1
- package/dist/define/authorization/oauth2-authorization.js +1 -1
- package/dist/define/authorization/oauth2-authorization.js.map +1 -1
- package/dist/define/authorization/oidc-authorization.js +1 -1
- package/dist/define/authorization/oidc-authorization.js.map +1 -1
- package/dist/define/contextual-menu/contextual-menu.js +1 -1
- package/dist/define/contextual-menu/contextual-menu.js.map +1 -1
- package/dist/define/dialog/confirm-delete-dialog.js +1 -1
- package/dist/define/dialog/confirm-delete-dialog.js.map +1 -1
- package/dist/define/dialog/delete-cookie-action-dialog.d.ts +10 -0
- package/dist/define/dialog/delete-cookie-action-dialog.d.ts.map +1 -0
- package/dist/define/dialog/delete-cookie-action-dialog.js +14 -0
- package/dist/define/dialog/delete-cookie-action-dialog.js.map +1 -0
- package/dist/define/dialog/rename-dialog.js +1 -1
- package/dist/define/dialog/rename-dialog.js.map +1 -1
- package/dist/define/dialog/set-cookie-action-dialog.d.ts +10 -0
- package/dist/define/dialog/set-cookie-action-dialog.d.ts.map +1 -0
- package/dist/define/dialog/set-cookie-action-dialog.js +14 -0
- package/dist/define/dialog/set-cookie-action-dialog.js.map +1 -0
- package/dist/define/files/share-file.js +1 -1
- package/dist/define/files/share-file.js.map +1 -1
- package/dist/define/har/har-viewer.js +1 -1
- package/dist/define/har/har-viewer.js.map +1 -1
- package/dist/define/highlight/marked-highlight.js +1 -1
- package/dist/define/highlight/marked-highlight.js.map +1 -1
- package/dist/define/highlight/prism-highlight.js +1 -1
- package/dist/define/highlight/prism-highlight.js.map +1 -1
- package/dist/define/http/http-assertions.d.ts +1 -1
- package/dist/define/http/http-assertions.d.ts.map +1 -1
- package/dist/define/http/http-assertions.js +3 -3
- package/dist/define/http/http-assertions.js.map +1 -1
- package/dist/define/http/http-body-editor.js +1 -1
- package/dist/define/http/http-body-editor.js.map +1 -1
- package/dist/define/http/http-body-multipart-editor.js +1 -1
- package/dist/define/http/http-body-multipart-editor.js.map +1 -1
- package/dist/define/http/http-body-text-editor.js +1 -1
- package/dist/define/http/http-body-text-editor.js.map +1 -1
- package/dist/define/http/http-body-urlencoded-editor.js +1 -1
- package/dist/define/http/http-body-urlencoded-editor.js.map +1 -1
- package/dist/define/http/http-flows.d.ts +10 -0
- package/dist/define/http/http-flows.d.ts.map +1 -0
- package/dist/define/http/http-flows.js +13 -0
- package/dist/define/http/http-flows.js.map +1 -0
- package/dist/define/http/http-headers-form.js +1 -1
- package/dist/define/http/http-headers-form.js.map +1 -1
- package/dist/define/http/http-log-body.js +1 -1
- package/dist/define/http/http-log-body.js.map +1 -1
- package/dist/define/http/http-log-headers.js +1 -1
- package/dist/define/http/http-log-headers.js.map +1 -1
- package/dist/define/http/http-log-timings.js +1 -1
- package/dist/define/http/http-log-timings.js.map +1 -1
- package/dist/define/http/http-request-config.js +1 -1
- package/dist/define/http/http-request-config.js.map +1 -1
- package/dist/define/http/http-request-editor.js +1 -1
- package/dist/define/http/http-request-editor.js.map +1 -1
- package/dist/define/http/http-request-log.js +1 -1
- package/dist/define/http/http-request-log.js.map +1 -1
- package/dist/define/http/http-snippets.js +1 -1
- package/dist/define/http/http-snippets.js.map +1 -1
- package/dist/define/http/http-url-input.js +1 -1
- package/dist/define/http/http-url-input.js.map +1 -1
- package/dist/define/http/http-url-params-form.js +1 -1
- package/dist/define/http/http-url-params-form.js.map +1 -1
- package/dist/define/http-project/http-project-request-history.js +1 -1
- package/dist/define/http-project/http-project-request-history.js.map +1 -1
- package/dist/define/http-project/http-project-request.js +2 -2
- package/dist/define/http-project/http-project-request.js.map +1 -1
- package/dist/define/http-project/project-navigation.js +1 -1
- package/dist/define/http-project/project-navigation.js.map +1 -1
- package/dist/define/http-project/project-run-report.js +1 -1
- package/dist/define/http-project/project-run-report.js.map +1 -1
- package/dist/define/http-project/project-runner.js +2 -2
- package/dist/define/http-project/project-runner.js.map +1 -1
- package/dist/define/layout/split-view.js +1 -1
- package/dist/define/layout/split-view.js.map +1 -1
- package/dist/define/schema-design/schema-design-navigation.js +1 -1
- package/dist/define/schema-design/schema-design-navigation.js.map +1 -1
- package/dist/define/schema-design/schema-namespace-selector.js +1 -1
- package/dist/define/schema-design/schema-namespace-selector.js.map +1 -1
- package/dist/define/ui/ui-button.js +1 -1
- package/dist/define/ui/ui-button.js.map +1 -1
- package/dist/define/ui/ui-chip.js +1 -1
- package/dist/define/ui/ui-chip.js.map +1 -1
- package/dist/define/ui/ui-collapse.js +1 -1
- package/dist/define/ui/ui-collapse.js.map +1 -1
- package/dist/define/ui/ui-dialog.js +1 -1
- package/dist/define/ui/ui-dialog.js.map +1 -1
- package/dist/define/ui/ui-divider.d.ts +4 -1
- package/dist/define/ui/ui-divider.d.ts.map +1 -1
- package/dist/define/ui/ui-divider.js +11 -2
- package/dist/define/ui/ui-divider.js.map +1 -1
- package/dist/define/ui/ui-dropdown-list.js +1 -1
- package/dist/define/ui/ui-dropdown-list.js.map +1 -1
- package/dist/define/ui/ui-icon-button.js +1 -1
- package/dist/define/ui/ui-icon-button.js.map +1 -1
- package/dist/define/ui/ui-icon.js +1 -1
- package/dist/define/ui/ui-icon.js.map +1 -1
- package/dist/define/ui/ui-list-item.js +1 -1
- package/dist/define/ui/ui-list-item.js.map +1 -1
- package/dist/define/ui/ui-list.js +1 -1
- package/dist/define/ui/ui-list.js.map +1 -1
- package/dist/define/ui/ui-listbox.js +1 -1
- package/dist/define/ui/ui-listbox.js.map +1 -1
- package/dist/define/ui/ui-progress.js +1 -1
- package/dist/define/ui/ui-progress.js.map +1 -1
- package/dist/define/ui/ui-segmented-button-set.js +1 -1
- package/dist/define/ui/ui-segmented-button-set.js.map +1 -1
- package/dist/define/ui/ui-segmented-button.js +1 -1
- package/dist/define/ui/ui-segmented-button.js.map +1 -1
- package/dist/define/ui/ui-snackbar.js +1 -1
- package/dist/define/ui/ui-snackbar.js.map +1 -1
- package/dist/define/ui/ui-tab.js +1 -1
- package/dist/define/ui/ui-tab.js.map +1 -1
- package/dist/define/ui/ui-tabs.js +1 -1
- package/dist/define/ui/ui-tabs.js.map +1 -1
- package/dist/directives/data-attr.js +0 -1
- package/dist/directives/data-attr.js.map +1 -1
- package/dist/elements/ApiElement.d.ts +4 -0
- package/dist/elements/ApiElement.d.ts.map +1 -1
- package/dist/elements/ApiElement.js +6 -7
- package/dist/elements/ApiElement.js.map +1 -1
- package/dist/elements/amf/ApiAnnotationDocument.element.js +0 -2
- package/dist/elements/amf/ApiAnnotationDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiAuthorizationEditor.element.js +1 -33
- package/dist/elements/amf/ApiAuthorizationEditor.element.js.map +1 -1
- package/dist/elements/amf/ApiDocumentation.element.js +0 -91
- package/dist/elements/amf/ApiDocumentation.element.js.map +1 -1
- package/dist/elements/amf/ApiDocumentationBase.js +0 -9
- package/dist/elements/amf/ApiDocumentationBase.js.map +1 -1
- package/dist/elements/amf/ApiDocumentationDocument.element.js +0 -1
- package/dist/elements/amf/ApiDocumentationDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiNavigation.element.js +0 -97
- package/dist/elements/amf/ApiNavigation.element.js.map +1 -1
- package/dist/elements/amf/ApiOperationDocument.element.d.ts.map +1 -1
- package/dist/elements/amf/ApiOperationDocument.element.js +2 -77
- package/dist/elements/amf/ApiOperationDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiParameterDocument.element.js +0 -3
- package/dist/elements/amf/ApiParameterDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiParametrizedSecurityScheme.element.js +0 -1
- package/dist/elements/amf/ApiParametrizedSecurityScheme.element.js.map +1 -1
- package/dist/elements/amf/ApiPayloadDocument.element.js +0 -1
- package/dist/elements/amf/ApiPayloadDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiRequest.element.js +1 -79
- package/dist/elements/amf/ApiRequest.element.js.map +1 -1
- package/dist/elements/amf/ApiRequestDocument.element.js +0 -38
- package/dist/elements/amf/ApiRequestDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiRequestEditor.element.d.ts +0 -1
- package/dist/elements/amf/ApiRequestEditor.element.d.ts.map +1 -1
- package/dist/elements/amf/ApiRequestEditor.element.js +0 -121
- package/dist/elements/amf/ApiRequestEditor.element.js.map +1 -1
- package/dist/elements/amf/ApiResourceDocument.element.js +0 -75
- package/dist/elements/amf/ApiResourceDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiResponseDocument.element.js +0 -17
- package/dist/elements/amf/ApiResponseDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiSchemaDocument.element.js +0 -28
- package/dist/elements/amf/ApiSchemaDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiSecurityDocument.element.js +0 -28
- package/dist/elements/amf/ApiSecurityDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiSecurityRequirementDocument.element.js +0 -1
- package/dist/elements/amf/ApiSecurityRequirementDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiServerPicker.element.js +2 -65
- package/dist/elements/amf/ApiServerPicker.element.js.map +1 -1
- package/dist/elements/amf/ApiSummary.element.js +0 -26
- package/dist/elements/amf/ApiSummary.element.js.map +1 -1
- package/dist/elements/amf/authorization/AmfApiKey.js +0 -5
- package/dist/elements/amf/authorization/AmfApiKey.js.map +1 -1
- package/dist/elements/amf/authorization/AmfBasic.js +0 -4
- package/dist/elements/amf/authorization/AmfBasic.js.map +1 -1
- package/dist/elements/amf/authorization/AmfBearer.js +0 -4
- package/dist/elements/amf/authorization/AmfBearer.js.map +1 -1
- package/dist/elements/amf/authorization/AmfOauth2.js +0 -13
- package/dist/elements/amf/authorization/AmfOauth2.js.map +1 -1
- package/dist/elements/amf/authorization/AmfOidc.js +0 -4
- package/dist/elements/amf/authorization/AmfOidc.js.map +1 -1
- package/dist/elements/amf/authorization/AmfPassThrough.js +0 -6
- package/dist/elements/amf/authorization/AmfPassThrough.js.map +1 -1
- package/dist/elements/amf/authorization/AmfRamlCustom.js +0 -6
- package/dist/elements/amf/authorization/AmfRamlCustom.js.map +1 -1
- package/dist/elements/authorization/OAuth2Authorize.js +0 -14
- package/dist/elements/authorization/OAuth2Authorize.js.map +1 -1
- package/dist/elements/authorization/OidcAuthorize.js +0 -14
- package/dist/elements/authorization/OidcAuthorize.js.map +1 -1
- package/dist/elements/authorization/ui/ApiKeyAuthorization.js +0 -2
- package/dist/elements/authorization/ui/ApiKeyAuthorization.js.map +1 -1
- package/dist/elements/authorization/ui/Authorization.d.ts +2 -1
- package/dist/elements/authorization/ui/Authorization.d.ts.map +1 -1
- package/dist/elements/authorization/ui/Authorization.js +18 -35
- package/dist/elements/authorization/ui/Authorization.js.map +1 -1
- package/dist/elements/authorization/ui/CcAuthorization.js +1 -3
- package/dist/elements/authorization/ui/CcAuthorization.js.map +1 -1
- package/dist/elements/authorization/ui/OAuth2Authorization.js +21 -50
- package/dist/elements/authorization/ui/OAuth2Authorization.js.map +1 -1
- package/dist/elements/authorization/ui/OidcAuthorization.js +4 -6
- package/dist/elements/authorization/ui/OidcAuthorization.js.map +1 -1
- package/dist/elements/code/HttpSnippets.js +9 -8
- package/dist/elements/code/HttpSnippets.js.map +1 -1
- package/dist/elements/dialog/ConfirmDelete.js +0 -12
- package/dist/elements/dialog/ConfirmDelete.js.map +1 -1
- package/dist/elements/dialog/DeleteCookieAction.element.d.ts +20 -0
- package/dist/elements/dialog/DeleteCookieAction.element.d.ts.map +1 -0
- package/dist/elements/dialog/DeleteCookieAction.element.js +93 -0
- package/dist/elements/dialog/DeleteCookieAction.element.js.map +1 -0
- package/dist/elements/dialog/DeleteCookieAction.styles.d.ts +3 -0
- package/dist/elements/dialog/DeleteCookieAction.styles.d.ts.map +1 -0
- package/dist/elements/dialog/DeleteCookieAction.styles.js +13 -0
- package/dist/elements/dialog/DeleteCookieAction.styles.js.map +1 -0
- package/dist/elements/dialog/Rename.d.ts +7 -6
- package/dist/elements/dialog/Rename.d.ts.map +1 -1
- package/dist/elements/dialog/Rename.js +7 -12
- package/dist/elements/dialog/Rename.js.map +1 -1
- package/dist/elements/dialog/SetCookieAction.element.d.ts +22 -0
- package/dist/elements/dialog/SetCookieAction.element.d.ts.map +1 -0
- package/dist/elements/dialog/SetCookieAction.element.js +173 -0
- package/dist/elements/dialog/SetCookieAction.element.js.map +1 -0
- package/dist/elements/environment/EnvironmentEditor.d.ts +24 -3
- package/dist/elements/environment/EnvironmentEditor.d.ts.map +1 -1
- package/dist/elements/environment/EnvironmentEditor.js +73 -30
- package/dist/elements/environment/EnvironmentEditor.js.map +1 -1
- package/dist/elements/environment/EnvironmentEditor.styles.d.ts.map +1 -1
- package/dist/elements/environment/EnvironmentEditor.styles.js +5 -0
- package/dist/elements/environment/EnvironmentEditor.styles.js.map +1 -1
- package/dist/elements/environment/ServerEditor.d.ts +3 -3
- package/dist/elements/environment/ServerEditor.d.ts.map +1 -1
- package/dist/elements/environment/ServerEditor.js +10 -51
- package/dist/elements/environment/ServerEditor.js.map +1 -1
- package/dist/elements/environment/VariablesEditor.d.ts +0 -1
- package/dist/elements/environment/VariablesEditor.d.ts.map +1 -1
- package/dist/elements/environment/VariablesEditor.js +10 -18
- package/dist/elements/environment/VariablesEditor.js.map +1 -1
- package/dist/elements/files/ShareFile.js +19 -57
- package/dist/elements/files/ShareFile.js.map +1 -1
- package/dist/elements/har/HarViewer.js +6 -7
- package/dist/elements/har/HarViewer.js.map +1 -1
- package/dist/elements/highlight/MarkedHighlight.js +4 -56
- package/dist/elements/highlight/MarkedHighlight.js.map +1 -1
- package/dist/elements/highlight/Prism.styles.d.ts.map +1 -1
- package/dist/elements/highlight/Prism.styles.js +12 -5
- package/dist/elements/highlight/Prism.styles.js.map +1 -1
- package/dist/elements/highlight/PrismHighlight.js +9 -18
- package/dist/elements/highlight/PrismHighlight.js.map +1 -1
- package/dist/elements/highlight/PrismHighlighter.js +4 -6
- package/dist/elements/highlight/PrismHighlighter.js.map +1 -1
- package/dist/elements/http/BodyEditor.d.ts +0 -4
- package/dist/elements/http/BodyEditor.d.ts.map +1 -1
- package/dist/elements/http/BodyEditor.js +31 -49
- package/dist/elements/http/BodyEditor.js.map +1 -1
- package/dist/elements/http/BodyMultipartEditor.d.ts +3 -16
- package/dist/elements/http/BodyMultipartEditor.d.ts.map +1 -1
- package/dist/elements/http/BodyMultipartEditor.js +20 -37
- package/dist/elements/http/BodyMultipartEditor.js.map +1 -1
- package/dist/elements/http/BodyTextEditor.d.ts +0 -1
- package/dist/elements/http/BodyTextEditor.d.ts.map +1 -1
- package/dist/elements/http/BodyTextEditor.js +2 -18
- package/dist/elements/http/BodyTextEditor.js.map +1 -1
- package/dist/elements/http/BodyUrlEncodedEditor.d.ts +3 -3
- package/dist/elements/http/BodyUrlEncodedEditor.d.ts.map +1 -1
- package/dist/elements/http/BodyUrlEncodedEditor.js +23 -26
- package/dist/elements/http/BodyUrlEncodedEditor.js.map +1 -1
- package/dist/elements/http/HeadersForm.d.ts +0 -4
- package/dist/elements/http/HeadersForm.d.ts.map +1 -1
- package/dist/elements/http/HeadersForm.js +16 -23
- package/dist/elements/http/HeadersForm.js.map +1 -1
- package/dist/elements/http/HttpAssertions.element.d.ts +55 -0
- package/dist/elements/http/HttpAssertions.element.d.ts.map +1 -0
- package/dist/elements/http/HttpAssertions.element.js +264 -0
- package/dist/elements/http/HttpAssertions.element.js.map +1 -0
- package/dist/elements/http/HttpAssertions.styles.d.ts.map +1 -1
- package/dist/elements/http/HttpAssertions.styles.js +7 -156
- package/dist/elements/http/HttpAssertions.styles.js.map +1 -1
- package/dist/elements/http/HttpFlows.common.d.ts +3 -0
- package/dist/elements/http/HttpFlows.common.d.ts.map +1 -0
- package/dist/elements/http/HttpFlows.common.js +181 -0
- package/dist/elements/http/HttpFlows.common.js.map +1 -0
- package/dist/elements/http/HttpFlows.element.d.ts +97 -0
- package/dist/elements/http/HttpFlows.element.d.ts.map +1 -0
- package/dist/elements/http/HttpFlows.element.js +684 -0
- package/dist/elements/http/HttpFlows.element.js.map +1 -0
- package/dist/elements/http/HttpFlows.styles.d.ts +3 -0
- package/dist/elements/http/HttpFlows.styles.d.ts.map +1 -0
- package/dist/elements/http/HttpFlows.styles.js +28 -0
- package/dist/elements/http/HttpFlows.styles.js.map +1 -0
- package/dist/elements/http/HttpFlowsUi.d.ts +172 -0
- package/dist/elements/http/HttpFlowsUi.d.ts.map +1 -0
- package/dist/elements/http/HttpFlowsUi.js +1256 -0
- package/dist/elements/http/HttpFlowsUi.js.map +1 -0
- package/dist/elements/http/LogBody.js +10 -21
- package/dist/elements/http/LogBody.js.map +1 -1
- package/dist/elements/http/LogHeaders.js +4 -23
- package/dist/elements/http/LogHeaders.js.map +1 -1
- package/dist/elements/http/LogTimings.js +11 -13
- package/dist/elements/http/LogTimings.js.map +1 -1
- package/dist/elements/http/RequestConfigElement.d.ts +0 -1
- package/dist/elements/http/RequestConfigElement.d.ts.map +1 -1
- package/dist/elements/http/RequestConfigElement.js +15 -15
- package/dist/elements/http/RequestConfigElement.js.map +1 -1
- package/dist/elements/http/RequestEditor.d.ts +10 -10
- package/dist/elements/http/RequestEditor.d.ts.map +1 -1
- package/dist/elements/http/RequestEditor.js +116 -111
- package/dist/elements/http/RequestEditor.js.map +1 -1
- package/dist/elements/http/RequestLog.js +9 -14
- package/dist/elements/http/RequestLog.js.map +1 -1
- package/dist/elements/http/UrlInput.d.ts +3 -3
- package/dist/elements/http/UrlInput.d.ts.map +1 -1
- package/dist/elements/http/UrlInput.js +17 -27
- package/dist/elements/http/UrlInput.js.map +1 -1
- package/dist/elements/http/UrlParamsForm.d.ts +0 -1
- package/dist/elements/http/UrlParamsForm.d.ts.map +1 -1
- package/dist/elements/http/UrlParamsForm.js +16 -16
- package/dist/elements/http/UrlParamsForm.js.map +1 -1
- package/dist/elements/layout/LayoutManager.js +16 -24
- package/dist/elements/layout/LayoutManager.js.map +1 -1
- package/dist/elements/layout/LayoutPanelElement.js +17 -23
- package/dist/elements/layout/LayoutPanelElement.js.map +1 -1
- package/dist/elements/layout/SplitItem.js +4 -12
- package/dist/elements/layout/SplitItem.js.map +1 -1
- package/dist/elements/layout/SplitLayout.js +18 -24
- package/dist/elements/layout/SplitLayout.js.map +1 -1
- package/dist/elements/layout/SplitPanel.js +10 -16
- package/dist/elements/layout/SplitPanel.js.map +1 -1
- package/dist/elements/layout/SplitView.js +17 -26
- package/dist/elements/layout/SplitView.js.map +1 -1
- package/dist/elements/layout/SplitView.styles.d.ts.map +1 -1
- package/dist/elements/layout/SplitView.styles.js +1 -0
- package/dist/elements/layout/SplitView.styles.js.map +1 -1
- package/dist/elements/navigation/AppNavigationElement.js +8 -47
- package/dist/elements/navigation/AppNavigationElement.js.map +1 -1
- package/dist/elements/navigation/AppNavigationItem.styles.d.ts.map +1 -1
- package/dist/elements/navigation/AppNavigationItem.styles.js +2 -0
- package/dist/elements/navigation/AppNavigationItem.styles.js.map +1 -1
- package/dist/elements/navigation/AppNavigationItemElement.js +19 -24
- package/dist/elements/navigation/AppNavigationItemElement.js.map +1 -1
- package/dist/elements/project/HttpProjectRequest.d.ts +2 -1
- package/dist/elements/project/HttpProjectRequest.d.ts.map +1 -1
- package/dist/elements/project/HttpProjectRequest.js +14 -43
- package/dist/elements/project/HttpProjectRequest.js.map +1 -1
- package/dist/elements/project/HttpProjectRequestHistory.js +9 -35
- package/dist/elements/project/HttpProjectRequestHistory.js.map +1 -1
- package/dist/elements/project/ProjectNavigation.js +0 -4
- package/dist/elements/project/ProjectNavigation.js.map +1 -1
- package/dist/elements/project/ProjectRunReport.js +4 -15
- package/dist/elements/project/ProjectRunReport.js.map +1 -1
- package/dist/elements/project/ProjectRunner.d.ts +0 -1
- package/dist/elements/project/ProjectRunner.d.ts.map +1 -1
- package/dist/elements/project/ProjectRunner.js +3 -51
- package/dist/elements/project/ProjectRunner.js.map +1 -1
- package/dist/elements/schema-design/AssociationFormElement.d.ts +0 -1
- package/dist/elements/schema-design/AssociationFormElement.d.ts.map +1 -1
- package/dist/elements/schema-design/AssociationFormElement.js +2 -18
- package/dist/elements/schema-design/AssociationFormElement.js.map +1 -1
- package/dist/elements/schema-design/DataEntityEditorElement.d.ts +2 -2
- package/dist/elements/schema-design/DataEntityEditorElement.d.ts.map +1 -1
- package/dist/elements/schema-design/DataEntityEditorElement.js +5 -27
- package/dist/elements/schema-design/DataEntityEditorElement.js.map +1 -1
- package/dist/elements/schema-design/DataModelVisualizationElement.js +0 -16
- package/dist/elements/schema-design/DataModelVisualizationElement.js.map +1 -1
- package/dist/elements/schema-design/DataSchemaDocument.d.ts +0 -1
- package/dist/elements/schema-design/DataSchemaDocument.d.ts.map +1 -1
- package/dist/elements/schema-design/DataSchemaDocument.js +4 -43
- package/dist/elements/schema-design/DataSchemaDocument.js.map +1 -1
- package/dist/elements/schema-design/EntityFormElement.d.ts +0 -1
- package/dist/elements/schema-design/EntityFormElement.d.ts.map +1 -1
- package/dist/elements/schema-design/EntityFormElement.js +4 -25
- package/dist/elements/schema-design/EntityFormElement.js.map +1 -1
- package/dist/elements/schema-design/PropertyFormElement.d.ts +1 -2
- package/dist/elements/schema-design/PropertyFormElement.d.ts.map +1 -1
- package/dist/elements/schema-design/PropertyFormElement.js +8 -23
- package/dist/elements/schema-design/PropertyFormElement.js.map +1 -1
- package/dist/elements/schema-design/SchemaDesignNavigation.js +0 -9
- package/dist/elements/schema-design/SchemaDesignNavigation.js.map +1 -1
- package/dist/elements/schema-design/SchemaNamespaceSelector.js +0 -9
- package/dist/elements/schema-design/SchemaNamespaceSelector.js.map +1 -1
- package/dist/elements/user/UserAvatarElement.js +0 -9
- package/dist/elements/user/UserAvatarElement.js.map +1 -1
- package/dist/events/http-client/models/CertificatesEvents.js +2 -2
- package/dist/events/http-client/models/CertificatesEvents.js.map +1 -1
- package/dist/http-client/idb/Base.js +5 -10
- package/dist/http-client/idb/Base.js.map +1 -1
- package/dist/http-client/idb/LegacyMockedStore.js +0 -1
- package/dist/http-client/idb/LegacyMockedStore.js.map +1 -1
- package/dist/http-client/idb/MockedStore.js +3 -1
- package/dist/http-client/idb/MockedStore.js.map +1 -1
- package/dist/http-client/store/DataImportProcessor.js +0 -3
- package/dist/http-client/store/DataImportProcessor.js.map +1 -1
- package/dist/http-client/store/HttpClientIdbDatabase.js +8 -7
- package/dist/http-client/store/HttpClientIdbDatabase.js.map +1 -1
- package/dist/http-client/store/IdbThread.js +23 -20
- package/dist/http-client/store/IdbThread.js.map +1 -1
- package/dist/http-client/store/idb/IdbProjectUi.js +4 -1
- package/dist/http-client/store/idb/IdbProjectUi.js.map +1 -1
- package/dist/http-client/store/idb/IdbStore.js +0 -2
- package/dist/http-client/store/idb/IdbStore.js.map +1 -1
- package/dist/http-client/store/idb/IdbUrlHistory.js +4 -1
- package/dist/http-client/store/idb/IdbUrlHistory.js.map +1 -1
- package/dist/http-client/store/idb/IdbWsHistory.js +4 -1
- package/dist/http-client/store/idb/IdbWsHistory.js.map +1 -1
- package/dist/lib/chart/HttpHistoryChart.js +7 -8
- package/dist/lib/chart/HttpHistoryChart.js.map +1 -1
- package/dist/mixins/FileDropMixin.js +0 -1
- package/dist/mixins/FileDropMixin.js.map +1 -1
- package/dist/mixins/RenderableMixin.js +11 -15
- package/dist/mixins/RenderableMixin.js.map +1 -1
- package/dist/pages/ApplicationScreen.d.ts +1 -1
- package/dist/pages/ApplicationScreen.d.ts.map +1 -1
- package/dist/pages/ApplicationScreen.js +35 -56
- package/dist/pages/ApplicationScreen.js.map +1 -1
- package/dist/pages/api-client/ApiClient.screen.js +11 -20
- package/dist/pages/api-client/ApiClient.screen.js.map +1 -1
- package/dist/pages/api-client/ApiClient.styles.d.ts.map +1 -1
- package/dist/pages/api-client/ApiClient.styles.js +22 -3
- package/dist/pages/api-client/ApiClient.styles.js.map +1 -1
- package/dist/pages/api-client/Authenticate.screen.d.ts +2 -0
- package/dist/pages/api-client/Authenticate.screen.d.ts.map +1 -1
- package/dist/pages/api-client/Authenticate.screen.js +23 -9
- package/dist/pages/api-client/Authenticate.screen.js.map +1 -1
- package/dist/pages/api-client/StoreConfig.screen.d.ts.map +1 -1
- package/dist/pages/api-client/StoreConfig.screen.js +25 -39
- package/dist/pages/api-client/StoreConfig.screen.js.map +1 -1
- package/dist/pages/api-client/StoreConfig.styles.d.ts.map +1 -1
- package/dist/pages/api-client/StoreConfig.styles.js +5 -0
- package/dist/pages/api-client/StoreConfig.styles.js.map +1 -1
- package/dist/pages/api-client/Telemetry.screen.js +1 -2
- package/dist/pages/api-client/Telemetry.screen.js.map +1 -1
- package/dist/pages/api-client/pages/Files.page.d.ts +1 -0
- package/dist/pages/api-client/pages/Files.page.d.ts.map +1 -1
- package/dist/pages/api-client/pages/Files.page.js +8 -28
- package/dist/pages/api-client/pages/Files.page.js.map +1 -1
- package/dist/pages/api-client/pages/Settings.page.js +2 -4
- package/dist/pages/api-client/pages/Settings.page.js.map +1 -1
- package/dist/pages/api-client/pages/Trash.page.js +2 -13
- package/dist/pages/api-client/pages/Trash.page.js.map +1 -1
- package/dist/pages/demo/DemoPage.js +13 -13
- package/dist/pages/demo/DemoPage.js.map +1 -1
- package/dist/pages/http-project/HttpProject.screen.d.ts +0 -8
- package/dist/pages/http-project/HttpProject.screen.d.ts.map +1 -1
- package/dist/pages/http-project/HttpProject.screen.js +39 -50
- package/dist/pages/http-project/HttpProject.screen.js.map +1 -1
- package/dist/pages/http-project/types.d.ts +8 -6
- package/dist/pages/http-project/types.d.ts.map +1 -1
- package/dist/pages/http-project/types.js.map +1 -1
- package/dist/pages/schema-design/SchemaDesigner.screen.js +14 -27
- package/dist/pages/schema-design/SchemaDesigner.screen.js.map +1 -1
- package/dist/store/HttpStore.js +0 -3
- package/dist/store/HttpStore.js.map +1 -1
- package/dist/store/UserCache.js +5 -5
- package/dist/store/UserCache.js.map +1 -1
- package/dist/styles/m3/surface.module.d.ts.map +1 -1
- package/dist/styles/m3/surface.module.js +11 -27
- package/dist/styles/m3/surface.module.js.map +1 -1
- package/dist/ui/UiElement.d.ts +4 -0
- package/dist/ui/UiElement.d.ts.map +1 -1
- package/dist/ui/UiElement.js +10 -5
- package/dist/ui/UiElement.js.map +1 -1
- package/dist/ui/button/SegmentedButton.js +9 -11
- package/dist/ui/button/SegmentedButton.js.map +1 -1
- package/dist/ui/button/SegmentedButton.styles.d.ts.map +1 -1
- package/dist/ui/button/SegmentedButton.styles.js +3 -1
- package/dist/ui/button/SegmentedButton.styles.js.map +1 -1
- package/dist/ui/button/SegmentedButtonsSet.js +6 -7
- package/dist/ui/button/SegmentedButtonsSet.js.map +1 -1
- package/dist/ui/button/UiButton.js +17 -39
- package/dist/ui/button/UiButton.js.map +1 -1
- package/dist/ui/button/UiIconButton.js +9 -35
- package/dist/ui/button/UiIconButton.js.map +1 -1
- package/dist/ui/chip/UiChip.js +9 -49
- package/dist/ui/chip/UiChip.js.map +1 -1
- package/dist/ui/collapse/UiCollapse.js +15 -20
- package/dist/ui/collapse/UiCollapse.js.map +1 -1
- package/dist/ui/controllers/ActionController.js +143 -144
- package/dist/ui/controllers/ActionController.js.map +1 -1
- package/dist/ui/controllers/RadioSelectionController.js +0 -1
- package/dist/ui/controllers/RadioSelectionController.js.map +1 -1
- package/dist/ui/date/DateTime.js +3 -3
- package/dist/ui/date/DateTime.js.map +1 -1
- package/dist/ui/dialog/UiDialog.d.ts +3 -0
- package/dist/ui/dialog/UiDialog.d.ts.map +1 -1
- package/dist/ui/dialog/UiDialog.js +17 -38
- package/dist/ui/dialog/UiDialog.js.map +1 -1
- package/dist/ui/effects/ripple.d.ts.map +1 -1
- package/dist/ui/effects/ripple.js +25 -19
- package/dist/ui/effects/ripple.js.map +1 -1
- package/dist/ui/effects/rippleDirective.js +6 -7
- package/dist/ui/effects/rippleDirective.js.map +1 -1
- package/dist/ui/icons/Icons.d.ts +3 -2
- package/dist/ui/icons/Icons.d.ts.map +1 -1
- package/dist/ui/icons/Icons.js +2 -1
- package/dist/ui/icons/Icons.js.map +1 -1
- package/dist/ui/icons/UiIcon.js +4 -3
- package/dist/ui/icons/UiIcon.js.map +1 -1
- package/dist/ui/input/CheckboxElement.js +12 -10
- package/dist/ui/input/CheckboxElement.js.map +1 -1
- package/dist/ui/input/CheckedElement.d.ts +1 -1
- package/dist/ui/input/CheckedElement.d.ts.map +1 -1
- package/dist/ui/input/CheckedElement.js +5 -16
- package/dist/ui/input/CheckedElement.js.map +1 -1
- package/dist/ui/input/Input.js +170 -235
- package/dist/ui/input/Input.js.map +1 -1
- package/dist/ui/input/RadioElement.js +13 -11
- package/dist/ui/input/RadioElement.js.map +1 -1
- package/dist/ui/input/SwitchElement.js +0 -18
- package/dist/ui/input/SwitchElement.js.map +1 -1
- package/dist/ui/input/TextAreaElement.js +0 -15
- package/dist/ui/input/TextAreaElement.js.map +1 -1
- package/dist/ui/list/{DividerElement.d.ts → UiDivider.element.d.ts} +6 -6
- package/dist/ui/list/UiDivider.element.d.ts.map +1 -0
- package/dist/ui/list/UiDivider.element.js +39 -0
- package/dist/ui/list/UiDivider.element.js.map +1 -0
- package/dist/ui/list/UiDivider.styles.d.ts +3 -0
- package/dist/ui/list/UiDivider.styles.d.ts.map +1 -0
- package/dist/ui/list/UiDivider.styles.js +49 -0
- package/dist/ui/list/UiDivider.styles.js.map +1 -0
- package/dist/ui/list/UiDropdownList.js +7 -48
- package/dist/ui/list/UiDropdownList.js.map +1 -1
- package/dist/ui/list/UiList.js +3 -15
- package/dist/ui/list/UiList.js.map +1 -1
- package/dist/ui/list/UiListItem.js +4 -17
- package/dist/ui/list/UiListItem.js.map +1 -1
- package/dist/ui/list/UiListbox.js +0 -1
- package/dist/ui/list/UiListbox.js.map +1 -1
- package/dist/ui/notification/SnackNotifications.js +1 -2
- package/dist/ui/notification/SnackNotifications.js.map +1 -1
- package/dist/ui/notification/Snackbar.js +27 -51
- package/dist/ui/notification/Snackbar.js.map +1 -1
- package/dist/ui/progress/Range.js +24 -23
- package/dist/ui/progress/Range.js.map +1 -1
- package/dist/ui/progress/UiProgress.js +0 -11
- package/dist/ui/progress/UiProgress.js.map +1 -1
- package/dist/ui/table/DataTable.js +7 -12
- package/dist/ui/table/DataTable.js.map +1 -1
- package/dist/ui/tabs/UiTab.js +24 -25
- package/dist/ui/tabs/UiTab.js.map +1 -1
- package/dist/ui/tabs/UiTabs.d.ts +13 -1
- package/dist/ui/tabs/UiTabs.d.ts.map +1 -1
- package/dist/ui/tabs/UiTabs.js +62 -47
- package/dist/ui/tabs/UiTabs.js.map +1 -1
- package/dist/visualization/elements/VizWorkspaceElement.js +12 -21
- package/dist/visualization/elements/VizWorkspaceElement.js.map +1 -1
- package/dist/visualization/lib/AssociationAnchors.js +16 -28
- package/dist/visualization/lib/AssociationAnchors.js.map +1 -1
- package/dist/visualization/lib/Point.js +0 -2
- package/dist/visualization/lib/Point.js.map +1 -1
- package/dist/visualization/lib/SelectionManager.js +10 -11
- package/dist/visualization/lib/SelectionManager.js.map +1 -1
- package/dist/visualization/lib/WorkspaceAlignment.js +0 -1
- package/dist/visualization/lib/WorkspaceAlignment.js.map +1 -1
- package/dist/visualization/lib/WorkspaceDebugging.js +5 -8
- package/dist/visualization/lib/WorkspaceDebugging.js.map +1 -1
- package/dist/visualization/lib/WorkspaceEdges.js +17 -19
- package/dist/visualization/lib/WorkspaceEdges.js.map +1 -1
- package/dist/visualization/lib/WorkspaceGestures.js +0 -3
- package/dist/visualization/lib/WorkspaceGestures.js.map +1 -1
- package/dist/visualization/lib/WorkspaceSizing.js +4 -6
- package/dist/visualization/lib/WorkspaceSizing.js.map +1 -1
- package/dist/visualization/lib/lines/RectilinearLine.js +8 -34
- package/dist/visualization/lib/lines/RectilinearLine.js.map +1 -1
- package/dist/visualization/lib/tips/RectilinearTip.js +0 -1
- package/dist/visualization/lib/tips/RectilinearTip.js.map +1 -1
- package/dist/visualization/lib/tips/TipArtist.js +0 -3
- package/dist/visualization/lib/tips/TipArtist.js.map +1 -1
- package/dist/visualization/plugin/dnd/DragAndDropPlugin.js +3 -5
- package/dist/visualization/plugin/dnd/DragAndDropPlugin.js.map +1 -1
- package/dist/visualization/plugin/group-selection/GroupSelection.js +19 -19
- package/dist/visualization/plugin/group-selection/GroupSelection.js.map +1 -1
- package/dist/visualization/plugin/positioning/WorkspaceLayout.js +21 -38
- package/dist/visualization/plugin/positioning/WorkspaceLayout.js.map +1 -1
- package/package.json +3 -2
- package/src/define/dialog/delete-cookie-action-dialog.ts +16 -0
- package/src/define/dialog/set-cookie-action-dialog.ts +16 -0
- package/src/define/http/http-assertions.ts +3 -3
- package/src/define/http/http-flows.ts +15 -0
- package/src/define/ui/ui-divider.ts +7 -2
- package/src/elements/ApiElement.ts +7 -0
- package/src/elements/amf/ApiAuthorizationEditor.element.ts +1 -1
- package/src/elements/amf/ApiOperationDocument.element.ts +2 -1
- package/src/elements/amf/ApiRequest.element.ts +1 -1
- package/src/elements/amf/ApiRequestEditor.element.ts +0 -4
- package/src/elements/authorization/ui/Authorization.ts +3 -5
- package/src/elements/dialog/DeleteCookieAction.element.ts +100 -0
- package/src/elements/dialog/DeleteCookieAction.styles.ts +14 -0
- package/src/elements/dialog/Rename.ts +8 -7
- package/src/elements/dialog/SetCookieAction.element.ts +183 -0
- package/src/elements/environment/EnvironmentEditor.styles.ts +5 -0
- package/src/elements/environment/EnvironmentEditor.ts +81 -22
- package/src/elements/environment/ServerEditor.ts +4 -8
- package/src/elements/environment/VariablesEditor.ts +3 -7
- package/src/elements/highlight/Prism.styles.ts +12 -5
- package/src/elements/http/BodyEditor.ts +10 -17
- package/src/elements/http/BodyMultipartEditor.ts +3 -20
- package/src/elements/http/BodyTextEditor.ts +0 -4
- package/src/elements/http/BodyUrlEncodedEditor.ts +5 -8
- package/src/elements/http/HeadersForm.ts +2 -9
- package/src/elements/http/HttpAssertions.element.ts +286 -0
- package/src/elements/http/HttpAssertions.styles.ts +7 -156
- package/src/elements/http/HttpFlows.common.ts +181 -0
- package/src/elements/http/HttpFlows.element.ts +722 -0
- package/src/elements/http/HttpFlows.styles.ts +29 -0
- package/src/elements/http/HttpFlowsUi.ts +1327 -0
- package/src/elements/http/RequestConfigElement.ts +10 -14
- package/src/elements/http/RequestEditor.ts +77 -35
- package/src/elements/http/UrlInput.ts +6 -6
- package/src/elements/http/UrlParamsForm.ts +2 -6
- package/src/elements/layout/SplitView.styles.ts +1 -0
- package/src/elements/navigation/AppNavigationItem.styles.ts +2 -0
- package/src/elements/project/HttpProjectRequest.ts +16 -5
- package/src/elements/project/ProjectRunner.ts +3 -7
- package/src/elements/schema-design/AssociationFormElement.ts +4 -8
- package/src/elements/schema-design/DataEntityEditorElement.ts +8 -8
- package/src/elements/schema-design/DataSchemaDocument.ts +5 -9
- package/src/elements/schema-design/EntityFormElement.ts +6 -10
- package/src/elements/schema-design/PropertyFormElement.ts +11 -15
- package/src/pages/ApplicationScreen.ts +1 -1
- package/src/pages/api-client/ApiClient.styles.ts +22 -3
- package/src/pages/api-client/Authenticate.screen.ts +19 -3
- package/src/pages/api-client/StoreConfig.screen.ts +4 -2
- package/src/pages/api-client/StoreConfig.styles.ts +5 -0
- package/src/pages/api-client/pages/Files.page.ts +2 -1
- package/src/pages/http-project/HttpProject.screen.ts +14 -26
- package/src/pages/http-project/types.ts +8 -6
- package/src/styles/m3/surface.module.ts +11 -27
- package/src/styles/m3/theme.css +36 -0
- package/src/styles/m3/tokens.css +11 -0
- package/src/ui/UiElement.ts +7 -0
- package/src/ui/button/SegmentedButton.styles.ts +3 -1
- package/src/ui/dialog/UiDialog.ts +3 -0
- package/src/ui/effects/ripple.ts +6 -1
- package/src/ui/icons/Icons.ts +3 -2
- package/src/ui/input/CheckedElement.ts +3 -3
- package/src/ui/input/Input.ts +1 -1
- package/src/ui/list/UiDivider.element.ts +41 -0
- package/src/ui/list/UiDivider.styles.ts +49 -0
- package/src/ui/tabs/UiTabs.ts +55 -13
- package/test/amf/authorization/OAuth2Method.test.ts +1 -1
- package/test/elements/http/HttpAssertions.test.ts +5 -6
- package/test/elements/http/HttpFlows.test.ts +485 -0
- package/tsconfig.json +2 -2
- package/dist/elements/http/HttpAssertions.d.ts +0 -114
- package/dist/elements/http/HttpAssertions.d.ts.map +0 -1
- package/dist/elements/http/HttpAssertions.js +0 -1144
- package/dist/elements/http/HttpAssertions.js.map +0 -1
- package/dist/elements/http/internals.d.ts +0 -150
- package/dist/elements/http/internals.d.ts.map +0 -1
- package/dist/elements/http/internals.js +0 -150
- package/dist/elements/http/internals.js.map +0 -1
- package/dist/ui/list/DividerElement.d.ts.map +0 -1
- package/dist/ui/list/DividerElement.js +0 -87
- package/dist/ui/list/DividerElement.js.map +0 -1
- package/src/elements/http/HttpAssertions.ts +0 -1187
- package/src/elements/http/internals.ts +0 -151
- package/src/http-client/docs/Files.md +0 -28
- package/src/ui/list/DividerElement.ts +0 -84
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AmfStore.js","sourceRoot":"","sources":["../../../src/amf/store/AmfStore.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,sDAAsD;AACtD,mCAAmC;AACnC,2CAA2C;AAC3C,OAAO,EAAkB,aAAa,EAAkD,MAAM,mCAAmC,CAAC;AAGlI;;GAEG;AACH,MAAM,OAAO,QAAQ;
|
|
1
|
+
{"version":3,"file":"AmfStore.js","sourceRoot":"","sources":["../../../src/amf/store/AmfStore.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable default-param-last */\n/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable no-unused-vars */\n/* eslint-disable class-methods-use-this */\nimport { AmfDefinitions, AmfSerializer, ApiDefinitions, AmfShapes, ServersQueryOptions } from '@api-client/core/build/browser.js';\nimport { DocumentMeta, ApiEndPointWithOperationsListItem, ApiSecuritySchemeListItem, ApiNodeShapeListItem } from '../types.js';\n\n/**\n * An abstract base class for the store implementation that works with API Components.\n */\nexport class AmfStore {\n /** \n * For future use.\n * Indicates that the store is read only.\n */\n readonly: boolean;\n\n target: EventTarget;\n\n serializer: AmfSerializer;\n\n /**\n * @param target The event target to dispatch the events on.\n */\n constructor(target: EventTarget = window, graph?: AmfDefinitions.IAmfDocument) {\n this.readonly = true;\n this.target = target;\n let amf = graph;\n if (Array.isArray(graph)) {\n [amf] = graph;\n }\n /** \n * The API serializer\n */\n this.serializer = new AmfSerializer(amf);\n }\n\n /**\n * @returns The list of domain types for the currently loaded document.\n */\n getDocumentTypes(): string[] {\n throw new Error('Not implemented');\n }\n\n /**\n * Gathers information about the loaded document.\n * This is mainly used by the `api-documentation` element to decide which documentation to render.\n */\n async documentMeta(): Promise<DocumentMeta> {\n throw new Error('Not implemented');\n }\n\n /**\n * @returns API summary for the summary view.\n */\n async apiSummary(): Promise<ApiDefinitions.IApiSummary | undefined> {\n throw new Error('Not implemented');\n }\n\n /**\n * @returns Currently loaded API's protocols\n */\n async apiProtocols(): Promise<string[] | undefined> {\n throw new Error('Not implemented');\n }\n\n /**\n * @returns Currently loaded API's version\n */\n async apiVersion(): Promise<string | undefined> {\n throw new Error('Not implemented');\n }\n\n /**\n * Reads an endpoint by its id.\n * @param id The domain id of the endpoint.\n */\n async getEndpoint(id: string): Promise<ApiDefinitions.IApiEndPoint | undefined> {\n throw new Error('Not implemented');\n }\n\n /**\n * Reads an endpoint by its path.\n * @param path The path value of the endpoint or channel name.\n */\n async getEndpointByPath(path: string): Promise<ApiDefinitions.IApiEndPoint | undefined> {\n throw new Error('Not implemented');\n }\n\n /**\n * Lists all endpoints with operations included into the result.\n */\n async listEndpointsWithOperations(): Promise<ApiEndPointWithOperationsListItem[]> {\n throw new Error('Not implemented');\n }\n\n /**\n * Queries for the list of servers for method, if defined, or endpoint, if defined, or root level \n * @param query Server query options\n * @returns The list of servers for given query.\n */\n async queryServers(query?: ServersQueryOptions): Promise<ApiDefinitions.IApiServer[]> {\n throw new Error('Not implemented');\n }\n\n /**\n * Reads the operation model.\n * @param operationId The domain id of the operation to read.\n * @param endpointId Optional endpoint id. When not set it searches through all endpoints.\n */\n async getOperation(operationId: string, endpointId?: string): Promise<ApiDefinitions.IApiOperation | undefined> {\n throw new Error('Not implemented');\n }\n\n /**\n * Finds an endpoint that has the operation.\n * @param id Method name or the domain id of the operation to find\n */\n async getOperationParent(id: string): Promise<ApiDefinitions.IApiEndPoint | undefined> {\n throw new Error('Not implemented');\n }\n\n /**\n * Lists the documentation definitions for the API.\n */\n async listDocumentations(): Promise<ApiDefinitions.IApiDocumentation[] | undefined> {\n throw new Error('Not implemented');\n }\n\n /**\n * Reads the documentation object from the store.\n * @param id The domain id of the documentation object\n * @returns The read documentation.\n */\n async getDocumentation(id: string): Promise<ApiDefinitions.IApiDocumentation | undefined> {\n throw new Error('Not implemented');\n }\n\n /**\n * Reads the SecurityScheme object from the graph.\n * @param id The domain id of the SecurityScheme\n */\n async getSecurityScheme(id: string): Promise<ApiDefinitions.IApiSecurityScheme | undefined> {\n throw new Error('Not implemented');\n }\n\n /**\n * Reads the SecurityRequirement object from the graph.\n * @param id The domain id of the SecurityRequirement\n */\n async getSecurityRequirement(id: string): Promise<ApiDefinitions.IApiSecurityRequirement | undefined> {\n throw new Error('Not implemented');\n }\n\n /**\n * Lists the security definitions for the API.\n */\n async listSecurity(): Promise<ApiSecuritySchemeListItem[]> {\n throw new Error('Not implemented');\n }\n\n /**\n * Reads the Request object from the graph.\n * @param id The domain id of the Request\n */\n async getRequest(id: string): Promise<ApiDefinitions.IApiRequest | undefined> {\n throw new Error('Not implemented');\n }\n\n /**\n * Reads the response data from the graph.\n * @param id The domain id of the response.\n */\n async getResponse(id: string): Promise<ApiDefinitions.IApiResponse | undefined> {\n throw new Error('Not implemented');\n }\n\n /**\n * Reads Payload data from the graph\n * @param id The domain id of the payload\n */\n async getPayload(id: string): Promise<ApiDefinitions.IApiPayload | undefined> {\n throw new Error('Not implemented');\n }\n\n /**\n * Lists the type (schema) definitions for the API.\n */\n async listTypes(): Promise<ApiNodeShapeListItem[]> {\n throw new Error(`Not implemented`);\n }\n\n /**\n * @param id The domain id of the API type (schema).\n */\n async getType(id: string): Promise<AmfShapes.IShapeUnion | undefined> {\n throw new Error('Not implemented');\n }\n}\n"]}
|
|
@@ -3,7 +3,10 @@ import { EventTypes } from "../../events/EventTypes.js";
|
|
|
3
3
|
import { StoreBroadcast } from "../../http-client/store/StoreBroadcast.js";
|
|
4
4
|
import { PlatformBindings } from "./PlatformBindings.js";
|
|
5
5
|
export class HttpClientStoreBindings extends PlatformBindings {
|
|
6
|
-
|
|
6
|
+
constructor() {
|
|
7
|
+
super(...arguments);
|
|
8
|
+
this.urlHistoryChannel = new BroadcastChannel(StoreBroadcast.urlHistory);
|
|
9
|
+
}
|
|
7
10
|
async initialize() {
|
|
8
11
|
const target = document.body;
|
|
9
12
|
target.addEventListener(EventTypes.HttpClient.Model.UrlHistory.add, this.addUrlHistoryHandler.bind(this));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpClientStoreBindings.js","sourceRoot":"","sources":["../../../src/bindings/base/HttpClientStoreBindings.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-param-reassign */\nimport { \n BroadcastCreatedEvent,\n BroadcastEvent,\n ContextDeleteEvent, \n ContextQueryEvent, ContextReadBulkEvent, \n ContextReadEvent, ContextUpdateEvent, \n IRequestUiMeta, \n IUrl\n} from \"@api-client/core/build/browser.js\";\nimport { Events } from \"../../events/Events.js\";\nimport { EventTypes } from \"../../events/EventTypes.js\";\nimport { StoreBroadcast } from \"../../http-client/store/StoreBroadcast.js\";\nimport { PlatformBindings } from \"./PlatformBindings.js\";\nimport { ProjectUi } from \"../../http-client/store/stores/ProjectUi.js\";\nimport { UrlHistory } from \"../../http-client/store/stores/UrlHistory.js\";\nimport { WsHistory } from \"../../http-client/store/stores/WsHistory.js\";\nimport { IRequestUiInsertDetail } from \"../../events/HttpClientEvents.js\";\n\nexport abstract class HttpClientStoreBindings extends PlatformBindings {\n urlHistoryChannel = new BroadcastChannel(StoreBroadcast.urlHistory);\n \n abstract initializeStore(): Promise<void>;\n \n abstract wsHistory: WsHistory;\n \n abstract urlHistory: UrlHistory;\n\n abstract projectUi: ProjectUi;\n \n async initialize(): Promise<void> {\n const target = document.body;\n target.addEventListener(EventTypes.HttpClient.Model.UrlHistory.add, this.addUrlHistoryHandler.bind(this));\n target.addEventListener(EventTypes.HttpClient.Model.UrlHistory.query, this.queryUrlHistoryHandler.bind(this));\n target.addEventListener(EventTypes.HttpClient.Model.UrlHistory.delete, this.deleteUrlHistoryHandler.bind(this));\n target.addEventListener(EventTypes.HttpClient.Model.UrlHistory.clear, this.clearUrlHistoryHandler.bind(this));\n\n target.addEventListener(EventTypes.HttpClient.Model.WsHistory.add, this.addWsHistoryHandler.bind(this));\n target.addEventListener(EventTypes.HttpClient.Model.WsHistory.query, this.queryWsHistoryHandler.bind(this));\n target.addEventListener(EventTypes.HttpClient.Model.WsHistory.delete, this.deleteWsHistoryHandler.bind(this));\n target.addEventListener(EventTypes.HttpClient.Model.WsHistory.clear, this.clearWsHistoryHandler.bind(this));\n\n // Request UI\n window.addEventListener(EventTypes.HttpProject.Ui.delete, this.deleteProjectUiHandler.bind(this) as EventListener);\n window.addEventListener(EventTypes.HttpProject.Ui.HttpRequest.set, this.setHttpRequestUiHandler.bind(this) as EventListener);\n window.addEventListener(EventTypes.HttpProject.Ui.HttpRequest.get, this.getHttpRequestUiHandler.bind(this) as EventListener);\n window.addEventListener(EventTypes.HttpProject.Ui.HttpRequest.getBulk, this.getBulkHttpRequestUiHandler.bind(this) as EventListener);\n window.addEventListener(EventTypes.HttpProject.Ui.HttpRequest.delete, this.deleteHttpRequestUiHandler.bind(this) as EventListener);\n\n this.urlHistoryChannel.addEventListener('message', this.handleUrlHistoryBroadcast.bind(this));\n }\n\n protected handleUrlHistoryBroadcast(e: MessageEvent): void {\n const event = e.data as BroadcastEvent;\n switch (event.operation) {\n case 'created': this.handleUrlHistoryCreated((event as BroadcastCreatedEvent).data as IUrl); break;\n case 'deleted': this.handleUrlHistoryDeleted(event.key); break;\n case 'cleared': this.handleUrlHistoryCleared(); break;\n default:\n }\n }\n\n protected handleUrlHistoryCreated(entity: IUrl): void {\n Events.HttpClient.Model.UrlHistory.State.add(entity);\n }\n\n protected handleUrlHistoryDeleted(url: string): void {\n Events.HttpClient.Model.UrlHistory.State.delete(url);\n }\n\n protected handleUrlHistoryCleared(): void {\n Events.HttpClient.Model.UrlHistory.State.clear();\n }\n\n protected addUrlHistoryHandler(event: Event): void {\n const e = event as CustomEvent;\n e.preventDefault();\n e.detail.result = this.urlHistory.add(e.detail.url);\n }\n\n protected queryUrlHistoryHandler(event: Event): void {\n const e = event as ContextQueryEvent<IUrl>;\n e.preventDefault();\n e.detail.result = this.urlHistory.query(e.detail.term);\n }\n\n protected deleteUrlHistoryHandler(event: Event): void {\n const e = event as ContextDeleteEvent;\n e.preventDefault();\n e.detail.result = this.urlHistory.delete(e.detail.key);\n }\n\n protected clearUrlHistoryHandler(event: Event): void {\n const e = event as CustomEvent;\n e.preventDefault();\n e.detail.result = this.urlHistory.clear();\n }\n\n protected addWsHistoryHandler(event: Event): void {\n const e = event as CustomEvent;\n e.preventDefault();\n e.detail.result = this.wsHistory.add(e.detail.url);\n }\n\n protected queryWsHistoryHandler(event: Event): void {\n const e = event as ContextQueryEvent<IUrl>;\n e.preventDefault();\n e.detail.result = this.wsHistory.query(e.detail.term);\n }\n\n protected deleteWsHistoryHandler(event: Event): void {\n const e = event as ContextDeleteEvent;\n e.preventDefault();\n e.detail.result = this.wsHistory.delete(e.detail.key);\n }\n\n protected clearWsHistoryHandler(event: Event): void {\n const e = event as CustomEvent;\n e.preventDefault();\n e.detail.result = this.wsHistory.clear();\n }\n\n protected deleteProjectUiHandler(e: ContextDeleteEvent): void {\n e.preventDefault();\n const { key } = e.detail;\n e.detail.result = this.projectUi.clear(key);\n }\n\n protected setHttpRequestUiHandler(e: ContextUpdateEvent<IRequestUiInsertDetail, IRequestUiMeta>): void {\n e.preventDefault();\n const { item } = e.detail;\n e.detail.result = this.projectUi.set(item.pid, item.id, item.meta);\n }\n\n protected getHttpRequestUiHandler(e: ContextReadEvent<IRequestUiMeta>): void {\n e.preventDefault();\n const { key, parent } = e.detail;\n e.detail.result = this.projectUi.get(parent as string, key);\n }\n\n protected getBulkHttpRequestUiHandler(e: ContextReadBulkEvent<IRequestUiMeta | undefined>): void {\n e.preventDefault();\n const { keys, parent } = e.detail;\n e.detail.result = this.projectUi.getBulk(parent as string, keys);\n }\n\n protected deleteHttpRequestUiHandler(e: ContextDeleteEvent): void {\n e.preventDefault();\n const { key, parent } = e.detail;\n e.detail.result = this.projectUi.delete(parent as string, key);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"HttpClientStoreBindings.js","sourceRoot":"","sources":["../../../src/bindings/base/HttpClientStoreBindings.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-param-reassign */\nimport { \n BroadcastCreatedEvent,\n BroadcastEvent,\n ContextDeleteEvent, \n ContextQueryEvent, ContextReadBulkEvent, \n ContextReadEvent, ContextUpdateEvent, \n IRequestUiMeta, \n IUrl\n} from \"@api-client/core/build/browser.js\";\nimport { Events } from \"../../events/Events.js\";\nimport { EventTypes } from \"../../events/EventTypes.js\";\nimport { StoreBroadcast } from \"../../http-client/store/StoreBroadcast.js\";\nimport { PlatformBindings } from \"./PlatformBindings.js\";\nimport { ProjectUi } from \"../../http-client/store/stores/ProjectUi.js\";\nimport { UrlHistory } from \"../../http-client/store/stores/UrlHistory.js\";\nimport { WsHistory } from \"../../http-client/store/stores/WsHistory.js\";\nimport { IRequestUiInsertDetail } from \"../../events/HttpClientEvents.js\";\n\nexport abstract class HttpClientStoreBindings extends PlatformBindings {\n urlHistoryChannel = new BroadcastChannel(StoreBroadcast.urlHistory);\n \n abstract initializeStore(): Promise<void>;\n \n abstract wsHistory: WsHistory;\n \n abstract urlHistory: UrlHistory;\n\n abstract projectUi: ProjectUi;\n \n async initialize(): Promise<void> {\n const target = document.body;\n target.addEventListener(EventTypes.HttpClient.Model.UrlHistory.add, this.addUrlHistoryHandler.bind(this));\n target.addEventListener(EventTypes.HttpClient.Model.UrlHistory.query, this.queryUrlHistoryHandler.bind(this));\n target.addEventListener(EventTypes.HttpClient.Model.UrlHistory.delete, this.deleteUrlHistoryHandler.bind(this));\n target.addEventListener(EventTypes.HttpClient.Model.UrlHistory.clear, this.clearUrlHistoryHandler.bind(this));\n\n target.addEventListener(EventTypes.HttpClient.Model.WsHistory.add, this.addWsHistoryHandler.bind(this));\n target.addEventListener(EventTypes.HttpClient.Model.WsHistory.query, this.queryWsHistoryHandler.bind(this));\n target.addEventListener(EventTypes.HttpClient.Model.WsHistory.delete, this.deleteWsHistoryHandler.bind(this));\n target.addEventListener(EventTypes.HttpClient.Model.WsHistory.clear, this.clearWsHistoryHandler.bind(this));\n\n // Request UI\n window.addEventListener(EventTypes.HttpProject.Ui.delete, this.deleteProjectUiHandler.bind(this) as EventListener);\n window.addEventListener(EventTypes.HttpProject.Ui.HttpRequest.set, this.setHttpRequestUiHandler.bind(this) as EventListener);\n window.addEventListener(EventTypes.HttpProject.Ui.HttpRequest.get, this.getHttpRequestUiHandler.bind(this) as EventListener);\n window.addEventListener(EventTypes.HttpProject.Ui.HttpRequest.getBulk, this.getBulkHttpRequestUiHandler.bind(this) as EventListener);\n window.addEventListener(EventTypes.HttpProject.Ui.HttpRequest.delete, this.deleteHttpRequestUiHandler.bind(this) as EventListener);\n\n this.urlHistoryChannel.addEventListener('message', this.handleUrlHistoryBroadcast.bind(this));\n }\n\n protected handleUrlHistoryBroadcast(e: MessageEvent): void {\n const event = e.data as BroadcastEvent;\n switch (event.operation) {\n case 'created': this.handleUrlHistoryCreated((event as BroadcastCreatedEvent).data as IUrl); break;\n case 'deleted': this.handleUrlHistoryDeleted(event.key); break;\n case 'cleared': this.handleUrlHistoryCleared(); break;\n default:\n }\n }\n\n protected handleUrlHistoryCreated(entity: IUrl): void {\n Events.HttpClient.Model.UrlHistory.State.add(entity);\n }\n\n protected handleUrlHistoryDeleted(url: string): void {\n Events.HttpClient.Model.UrlHistory.State.delete(url);\n }\n\n protected handleUrlHistoryCleared(): void {\n Events.HttpClient.Model.UrlHistory.State.clear();\n }\n\n protected addUrlHistoryHandler(event: Event): void {\n const e = event as CustomEvent;\n e.preventDefault();\n e.detail.result = this.urlHistory.add(e.detail.url);\n }\n\n protected queryUrlHistoryHandler(event: Event): void {\n const e = event as ContextQueryEvent<IUrl>;\n e.preventDefault();\n e.detail.result = this.urlHistory.query(e.detail.term);\n }\n\n protected deleteUrlHistoryHandler(event: Event): void {\n const e = event as ContextDeleteEvent;\n e.preventDefault();\n e.detail.result = this.urlHistory.delete(e.detail.key);\n }\n\n protected clearUrlHistoryHandler(event: Event): void {\n const e = event as CustomEvent;\n e.preventDefault();\n e.detail.result = this.urlHistory.clear();\n }\n\n protected addWsHistoryHandler(event: Event): void {\n const e = event as CustomEvent;\n e.preventDefault();\n e.detail.result = this.wsHistory.add(e.detail.url);\n }\n\n protected queryWsHistoryHandler(event: Event): void {\n const e = event as ContextQueryEvent<IUrl>;\n e.preventDefault();\n e.detail.result = this.wsHistory.query(e.detail.term);\n }\n\n protected deleteWsHistoryHandler(event: Event): void {\n const e = event as ContextDeleteEvent;\n e.preventDefault();\n e.detail.result = this.wsHistory.delete(e.detail.key);\n }\n\n protected clearWsHistoryHandler(event: Event): void {\n const e = event as CustomEvent;\n e.preventDefault();\n e.detail.result = this.wsHistory.clear();\n }\n\n protected deleteProjectUiHandler(e: ContextDeleteEvent): void {\n e.preventDefault();\n const { key } = e.detail;\n e.detail.result = this.projectUi.clear(key);\n }\n\n protected setHttpRequestUiHandler(e: ContextUpdateEvent<IRequestUiInsertDetail, IRequestUiMeta>): void {\n e.preventDefault();\n const { item } = e.detail;\n e.detail.result = this.projectUi.set(item.pid, item.id, item.meta);\n }\n\n protected getHttpRequestUiHandler(e: ContextReadEvent<IRequestUiMeta>): void {\n e.preventDefault();\n const { key, parent } = e.detail;\n e.detail.result = this.projectUi.get(parent as string, key);\n }\n\n protected getBulkHttpRequestUiHandler(e: ContextReadBulkEvent<IRequestUiMeta | undefined>): void {\n e.preventDefault();\n const { keys, parent } = e.detail;\n e.detail.result = this.projectUi.getBulk(parent as string, keys);\n }\n\n protected deleteHttpRequestUiHandler(e: ContextDeleteEvent): void {\n e.preventDefault();\n const { key, parent } = e.detail;\n e.detail.result = this.projectUi.delete(parent as string, key);\n }\n}\n"]}
|
|
@@ -35,17 +35,13 @@ import { Events } from '../../events/Events.js';
|
|
|
35
35
|
* The IO thread extends the `IoThread` class which has the defined the communication logic.
|
|
36
36
|
*/
|
|
37
37
|
export class PlatformBindings {
|
|
38
|
-
/**
|
|
39
|
-
* Used with the queue as the identifier of the request.
|
|
40
|
-
* USe the `getId()` to read a unique request id.
|
|
41
|
-
*/
|
|
42
|
-
id = 0;
|
|
43
|
-
queue = [];
|
|
44
|
-
/**
|
|
45
|
-
* The application id that initialized this binding.
|
|
46
|
-
*/
|
|
47
|
-
app;
|
|
48
38
|
constructor(app) {
|
|
39
|
+
/**
|
|
40
|
+
* Used with the queue as the identifier of the request.
|
|
41
|
+
* USe the `getId()` to read a unique request id.
|
|
42
|
+
*/
|
|
43
|
+
this.id = 0;
|
|
44
|
+
this.queue = [];
|
|
49
45
|
this.app = app;
|
|
50
46
|
}
|
|
51
47
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlatformBindings.js","sourceRoot":"","sources":["../../../src/bindings/base/PlatformBindings.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/ban-types */\n/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport { ApiError, IApiError, IApplication } from '@api-client/core/build/browser.js';\nimport { Events } from '../../events/Events.js';\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\n/**\n * A command sent from the client to a IO thread.\n */\nexport interface IoCommand {\n kind: 'IO#Command',\n id: number;\n fn: string;\n args: any[];\n}\n\n/**\n * An event dispatched from the IO thread to the clients.\n */\nexport interface IoEvent {\n kind: 'IO#Event',\n id: number;\n type: 'error' | 'result'; \n message?: string; \n result?: any;\n}\n\n/**\n * A special kind of an event from the IO thread to the clients that asks to notify the client\n * using the events system.\n */\nexport interface IoNotification {\n kind: 'IO#Notification',\n path: string;\n args: any[];\n}\n\n/**\n * Events queue on the client side.\n * This is used when communication with the IO thread via Promises is impossible and event based.\n * The client wraps the execution into a promise and pushes this schema into the queue.\n * When the event is dispatched by the IO thread it resolves/rejects cached promise.\n */\nexport interface QueueItem {\n id: number;\n resolve: (value: any) => void;\n reject: (reason?: Error) => void;\n // helpful for debugging\n fn: string;\n args: unknown[];\n}\n\n/**\n * A base class for all platform bindings.\n * \n * Platform bindings is the way how the application runs a platform specific logic.\n * \n * For example, it implements how the application stores the state or implements file picker / file saver.\n * Depending on the platform (Electron, web, Chrome, more?) it uses different set of bindings\n * defined in the target application. This creates a framework for the bindings to exist.\n * \n * The IO thread can be any process that is separated from the browser tab context.\n * Can be a WebWorker, ServiceWorker, of an API call to a server.\n * When communication with the binding is not possible via the Promise API\n * this system should be used to communicate with the background page.\n * \n * ```typescript \n * class MyBinding extends ParentBaseBinding {\n * channel: BroadcastChannel;\n * constructor() {\n * super();\n * this.channel = new BroadcastChannel('my-channel');\n * }\n * \n * doStuff(arg: any): Promise<any> {\n * return this.invoke('doStuff', 'own argument', arg);\n * }\n * }\n * ```\n * \n * This assumes that the IO thread has the `doStuff` function implemented.\n * The IO thread extends the `IoThread` class which has the defined the communication logic.\n */\nexport abstract class PlatformBindings {\n /**\n * Used with the queue as the identifier of the request.\n * USe the `getId()` to read a unique request id.\n */\n private id = 0;\n\n protected queue: QueueItem[] = [];\n\n /**\n * The application id that initialized this binding.\n */\n app: IApplication;\n\n constructor(app: IApplication) {\n this.app = app;\n }\n\n /**\n * Initializes the bindings.\n */\n abstract initialize(): Promise<void>;\n\n /**\n * @returns A unique for the current session id.\n */\n protected getId(): number {\n this.id += 1;\n return this.id;\n }\n\n /**\n * This method to be implemented by child classes that uses the events system to communicate with the \n * IO thread. The argument is the prepared command message ready to be sent to the IO thread.\n * Specific implementation of the communication channel is left to the child class.\n * \n * @param cmd The command to send to the IO thread.\n */\n protected sendIoCommand(cmd: IoCommand): void {\n // \n }\n\n /**\n * Invokes a function in the IO thread.\n * \n * @param fn The function name to invoke (or an identifier understood by the IO thread)\n * @param args The function arguments to pass.\n * @returns A promise that should be returned to the client's application logic. \n * The promise is resolved when the IO thread sends an event with the same identifier generated with this call.\n */\n protected invoke(fn: string, ...args: any[]): Promise<any> {\n return new Promise((resolve, reject) => {\n const id = this.getId();\n const item = {\n resolve, reject, id, fn, args,\n };\n this.queue.push(item);\n const cmd: IoCommand = {\n id,\n fn,\n args,\n kind: 'IO#Command',\n };\n this.sendIoCommand(cmd);\n });\n }\n\n /**\n * To be called by the child class when the IO thread send an event.\n * It recognizes the type of the message sent by the IO thread an performs the requested operation.\n * \n * @param message The message sent by the IO thread.\n */\n protected handleIoMessage(message: IoCommand | IoEvent | IoNotification): void {\n if (!message.kind) {\n // eslint-disable-next-line no-console\n console.warn('Invalid message received on the app-config-channel.', message);\n return;\n }\n if (message.kind === 'IO#Command') {\n // message sent by self.\n return;\n }\n if (message.kind === 'IO#Notification') {\n this.notify(message);\n } else if (message.kind === 'IO#Event') {\n this.resolve(message);\n }\n }\n\n /**\n * Resolves a pending promise stored in the `queue`.\n * \n * @param event The IO thread event\n */\n protected resolve(event: IoEvent): void {\n const { id, type, message, result } = event;\n if (typeof id !== 'number') {\n // eslint-disable-next-line no-console\n console.warn(`Unknown event from the IO thread. Id is not a number.`, event);\n return;\n }\n const index = this.queue.findIndex(i => i.id === id);\n if (index < 0) {\n // this might be used by another tab.\n return;\n }\n const info = this.queue[index];\n this.queue.splice(index, 1);\n\n if (type === 'result') {\n info.resolve(result);\n } else if (type === 'error') {\n const apiErr = result as IApiError | undefined;\n if (apiErr && apiErr.code) {\n info.reject(new ApiError(apiErr));\n } else {\n info.reject(new Error(message));\n }\n } else {\n // eslint-disable-next-line no-console\n console.warn(`Unknown event from the IO thread`, event);\n }\n }\n\n /**\n * Notifies this tab about something using the `Events` definition.\n * \n * This expects that the event has the path to the event function, for example `Events.Config.Environment.State.created`.\n * \n * @param event The IO thread event\n */\n protected notify(event: IoNotification): void {\n const { path, args } = event;\n const parts = path.split('.');\n let current = Events as unknown;\n if (parts[0] === 'Events') {\n parts.shift();\n }\n for (const part of parts) {\n // @ts-ignore\n if (!current[part]) {\n // eslint-disable-next-line no-console\n console.warn(`Invalid notification path`, path);\n return\n }\n // @ts-ignore\n current = current[part];\n }\n (current as Function)(...args);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"PlatformBindings.js","sourceRoot":"","sources":["../../../src/bindings/base/PlatformBindings.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/ban-types */\n/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport { ApiError, IApiError, IApplication } from '@api-client/core/build/browser.js';\nimport { Events } from '../../events/Events.js';\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\n/**\n * A command sent from the client to a IO thread.\n */\nexport interface IoCommand {\n kind: 'IO#Command',\n id: number;\n fn: string;\n args: any[];\n}\n\n/**\n * An event dispatched from the IO thread to the clients.\n */\nexport interface IoEvent {\n kind: 'IO#Event',\n id: number;\n type: 'error' | 'result'; \n message?: string; \n result?: any;\n}\n\n/**\n * A special kind of an event from the IO thread to the clients that asks to notify the client\n * using the events system.\n */\nexport interface IoNotification {\n kind: 'IO#Notification',\n path: string;\n args: any[];\n}\n\n/**\n * Events queue on the client side.\n * This is used when communication with the IO thread via Promises is impossible and event based.\n * The client wraps the execution into a promise and pushes this schema into the queue.\n * When the event is dispatched by the IO thread it resolves/rejects cached promise.\n */\nexport interface QueueItem {\n id: number;\n resolve: (value: any) => void;\n reject: (reason?: Error) => void;\n // helpful for debugging\n fn: string;\n args: unknown[];\n}\n\n/**\n * A base class for all platform bindings.\n * \n * Platform bindings is the way how the application runs a platform specific logic.\n * \n * For example, it implements how the application stores the state or implements file picker / file saver.\n * Depending on the platform (Electron, web, Chrome, more?) it uses different set of bindings\n * defined in the target application. This creates a framework for the bindings to exist.\n * \n * The IO thread can be any process that is separated from the browser tab context.\n * Can be a WebWorker, ServiceWorker, of an API call to a server.\n * When communication with the binding is not possible via the Promise API\n * this system should be used to communicate with the background page.\n * \n * ```typescript \n * class MyBinding extends ParentBaseBinding {\n * channel: BroadcastChannel;\n * constructor() {\n * super();\n * this.channel = new BroadcastChannel('my-channel');\n * }\n * \n * doStuff(arg: any): Promise<any> {\n * return this.invoke('doStuff', 'own argument', arg);\n * }\n * }\n * ```\n * \n * This assumes that the IO thread has the `doStuff` function implemented.\n * The IO thread extends the `IoThread` class which has the defined the communication logic.\n */\nexport abstract class PlatformBindings {\n /**\n * Used with the queue as the identifier of the request.\n * USe the `getId()` to read a unique request id.\n */\n private id = 0;\n\n protected queue: QueueItem[] = [];\n\n /**\n * The application id that initialized this binding.\n */\n app: IApplication;\n\n constructor(app: IApplication) {\n this.app = app;\n }\n\n /**\n * Initializes the bindings.\n */\n abstract initialize(): Promise<void>;\n\n /**\n * @returns A unique for the current session id.\n */\n protected getId(): number {\n this.id += 1;\n return this.id;\n }\n\n /**\n * This method to be implemented by child classes that uses the events system to communicate with the \n * IO thread. The argument is the prepared command message ready to be sent to the IO thread.\n * Specific implementation of the communication channel is left to the child class.\n * \n * @param cmd The command to send to the IO thread.\n */\n protected sendIoCommand(cmd: IoCommand): void {\n // \n }\n\n /**\n * Invokes a function in the IO thread.\n * \n * @param fn The function name to invoke (or an identifier understood by the IO thread)\n * @param args The function arguments to pass.\n * @returns A promise that should be returned to the client's application logic. \n * The promise is resolved when the IO thread sends an event with the same identifier generated with this call.\n */\n protected invoke(fn: string, ...args: any[]): Promise<any> {\n return new Promise((resolve, reject) => {\n const id = this.getId();\n const item = {\n resolve, reject, id, fn, args,\n };\n this.queue.push(item);\n const cmd: IoCommand = {\n id,\n fn,\n args,\n kind: 'IO#Command',\n };\n this.sendIoCommand(cmd);\n });\n }\n\n /**\n * To be called by the child class when the IO thread send an event.\n * It recognizes the type of the message sent by the IO thread an performs the requested operation.\n * \n * @param message The message sent by the IO thread.\n */\n protected handleIoMessage(message: IoCommand | IoEvent | IoNotification): void {\n if (!message.kind) {\n // eslint-disable-next-line no-console\n console.warn('Invalid message received on the app-config-channel.', message);\n return;\n }\n if (message.kind === 'IO#Command') {\n // message sent by self.\n return;\n }\n if (message.kind === 'IO#Notification') {\n this.notify(message);\n } else if (message.kind === 'IO#Event') {\n this.resolve(message);\n }\n }\n\n /**\n * Resolves a pending promise stored in the `queue`.\n * \n * @param event The IO thread event\n */\n protected resolve(event: IoEvent): void {\n const { id, type, message, result } = event;\n if (typeof id !== 'number') {\n // eslint-disable-next-line no-console\n console.warn(`Unknown event from the IO thread. Id is not a number.`, event);\n return;\n }\n const index = this.queue.findIndex(i => i.id === id);\n if (index < 0) {\n // this might be used by another tab.\n return;\n }\n const info = this.queue[index];\n this.queue.splice(index, 1);\n\n if (type === 'result') {\n info.resolve(result);\n } else if (type === 'error') {\n const apiErr = result as IApiError | undefined;\n if (apiErr && apiErr.code) {\n info.reject(new ApiError(apiErr));\n } else {\n info.reject(new Error(message));\n }\n } else {\n // eslint-disable-next-line no-console\n console.warn(`Unknown event from the IO thread`, event);\n }\n }\n\n /**\n * Notifies this tab about something using the `Events` definition.\n * \n * This expects that the event has the path to the event function, for example `Events.Config.Environment.State.created`.\n * \n * @param event The IO thread event\n */\n protected notify(event: IoNotification): void {\n const { path, args } = event;\n const parts = path.split('.');\n let current = Events as unknown;\n if (parts[0] === 'Events') {\n parts.shift();\n }\n for (const part of parts) {\n // @ts-ignore\n if (!current[part]) {\n // eslint-disable-next-line no-console\n console.warn(`Invalid notification path`, path);\n return\n }\n // @ts-ignore\n current = current[part];\n }\n (current as Function)(...args);\n }\n}\n"]}
|
|
@@ -6,12 +6,15 @@ import { PlatformBindings } from './PlatformBindings.js';
|
|
|
6
6
|
* to run entire projects or folders.
|
|
7
7
|
*/
|
|
8
8
|
export class ProxyBindings extends PlatformBindings {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
9
|
+
constructor() {
|
|
10
|
+
super(...arguments);
|
|
11
|
+
/**
|
|
12
|
+
* This is used by the client side (main thread or the renderer process)
|
|
13
|
+
* to define the current space the app is using.
|
|
14
|
+
* This space is used in some APIs instead of adding the space to the events system.
|
|
15
|
+
*/
|
|
16
|
+
this.space = '';
|
|
17
|
+
}
|
|
15
18
|
async initialize() {
|
|
16
19
|
window.addEventListener(CoreEventTypes.Transport.Core.request, this.handleCoreRequest.bind(this));
|
|
17
20
|
window.addEventListener(CoreEventTypes.Transport.Core.httpProject, this.handleHttpProject.bind(this));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProxyBindings.js","sourceRoot":"","sources":["../../../src/bindings/base/ProxyBindings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,cAAc,EAAyK,MAAM,mCAAmC,CAAC;AACxP,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD;;;;GAIG;AACH,MAAM,OAAgB,aAAc,SAAQ,gBAAgB;
|
|
1
|
+
{"version":3,"file":"ProxyBindings.js","sourceRoot":"","sources":["../../../src/bindings/base/ProxyBindings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,cAAc,EAAyK,MAAM,mCAAmC,CAAC;AACxP,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD;;;;GAIG;AACH,MAAM,OAAgB,aAAc,SAAQ,gBAAgB;IAA5D;;QACE;;;;WAIG;QACH,UAAK,GAAG,EAAE,CAAC;IAkDb,CAAC;IAhDC,KAAK,CAAC,UAAU;QACd,MAAM,CAAC,gBAAgB,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAkB,CAAC,CAAC;QACnH,MAAM,CAAC,gBAAgB,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAkB,CAAC,CAAC;QACvH,MAAM,CAAC,gBAAgB,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAkB,CAAC,CAAC;IAChH,CAAC;IAES,iBAAiB,CAAC,CAA6D;QACvF,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAES,iBAAiB,CAAC,CAAuG;QACjI,MAAM,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC,MAAM,EAAgC,CAAC;QAC3D,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;SACzB;QACD,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAES,eAAe,CAAC,CAA6C;QACrE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC;QACnC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;CA2BF","sourcesContent":["import { EventTypes as CoreEventTypes, ContextEvent, IRequestLog, IHttpRequest, IHttpRequestDetail, IProjectExecutionLog, IRequestProxyInit, IProxyResult, IHttpProjectProxyInit, IHttpProjectStoreProxyInit } from '@api-client/core/build/browser.js';\nimport { PlatformBindings } from './PlatformBindings.js';\n\n/**\n * The bindings for making HTTP request in the application.\n * The purpose is to run API requests using the `CoreEngine` class or\n * to run entire projects or folders.\n */\nexport abstract class ProxyBindings extends PlatformBindings {\n /**\n * This is used by the client side (main thread or the renderer process)\n * to define the current space the app is using. \n * This space is used in some APIs instead of adding the space to the events system.\n */\n space = '';\n\n async initialize(): Promise<void> {\n window.addEventListener(CoreEventTypes.Transport.Core.request, this.handleCoreRequest.bind(this) as EventListener);\n window.addEventListener(CoreEventTypes.Transport.Core.httpProject, this.handleHttpProject.bind(this) as EventListener);\n window.addEventListener(CoreEventTypes.Transport.Http.send, this.handlerHttpSend.bind(this) as EventListener);\n }\n\n protected handleCoreRequest(e: ContextEvent<IRequestProxyInit, IProxyResult<IRequestLog>>): void {\n e.detail.result = this.coreRequest(e.detail);\n }\n\n protected handleHttpProject(e: ContextEvent<IHttpProjectProxyInit | IHttpProjectStoreProxyInit, IProxyResult<IProjectExecutionLog>>): void {\n const copy = { ...e.detail } as IHttpProjectStoreProxyInit;\n if (this.space && !copy.space) {\n copy.space = this.space;\n }\n e.detail.result = this.coreHttpProject(copy);\n }\n\n protected handlerHttpSend(e: ContextEvent<IHttpRequestDetail, Response>): void {\n const { request, init } = e.detail;\n e.detail.result = this.httpSend(request, init);\n }\n\n /**\n * Sends a single request without a context of a project.\n * \n * @param init The request execution configuration\n * @returns The execution log with the variables evaluated during the run or `undefined` when the event was not handled.\n */\n abstract coreRequest(init: IRequestProxyInit): Promise<IProxyResult<IRequestLog>>;\n\n /**\n * For both a request or a folder (since it's all single configuration.)\n * \n * @param init The project execution configuration\n * @returns The project execution log.\n */\n abstract coreHttpProject(init: IHttpProjectProxyInit | IHttpProjectStoreProxyInit): Promise<IProxyResult<IProjectExecutionLog>>;\n\n /**\n * Sends the request outside the Core engine, most probably using Fetch API.\n * Note, CORS may apply to the request.\n * \n * @param request The base request definition.\n * @param init Optional request init options compatible with the Fetch API.\n * @returns Compatible with the Fetch API Response object.\n */\n abstract httpSend(request: IHttpRequest, init?: RequestInit): Promise<Response>;\n}\n"]}
|
|
@@ -5,7 +5,10 @@ import { IoThread } from "./IoThread.js";
|
|
|
5
5
|
* Base class for ShareWorker threads.
|
|
6
6
|
*/
|
|
7
7
|
export class SharedWorkerThread extends IoThread {
|
|
8
|
-
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
this.ports = [];
|
|
11
|
+
}
|
|
9
12
|
async initialize() {
|
|
10
13
|
globalThis.addEventListener('connect', this.connectHandler.bind(this));
|
|
11
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SharedWorkerThread.js","sourceRoot":"","sources":["../../../src/bindings/base/SharedWorkerThread.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,sDAAsD;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,QAAQ;
|
|
1
|
+
{"version":3,"file":"SharedWorkerThread.js","sourceRoot":"","sources":["../../../src/bindings/base/SharedWorkerThread.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,sDAAsD;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,QAAQ;IAAhD;;QACE,UAAK,GAAkB,EAAE,CAAC;IA0B5B,CAAC;IAxBC,KAAK,CAAC,UAAU;QACd,UAAU,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAkB,CAAC,CAAC;IAC1F,CAAC;IAED,cAAc,CAAC,CAAe;QAC5B,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,WAAW,CAAC,OAAiC;QAC3C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;IAClD,CAAC;IAES,cAAc,CAAC,CAAe;QACtC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE;YACrB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7C,OAAO;SACR;QACD,MAAM,KAAK,GAAG,CAAC,CAAC,IAA2B,CAAC;QAC5C,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;CACF","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport { IoThread } from \"./IoThread.js\";\nimport { IoCommand, IoEvent, IoNotification } from \"./PlatformBindings.js\";\n\n/**\n * Base class for ShareWorker threads.\n */\nexport class SharedWorkerThread extends IoThread {\n ports: MessagePort[] = [];\n\n async initialize(): Promise<void> {\n globalThis.addEventListener('connect', this.connectHandler.bind(this) as EventListener);\n }\n\n connectHandler(e: MessageEvent): void {\n const port = e.ports[0];\n this.ports.push(port);\n port.addEventListener('message', this.messageHandler.bind(this));\n port.start();\n port.postMessage('ready');\n }\n\n postMessage(message: IoNotification | IoEvent): void {\n this.ports.forEach(p => p.postMessage(message));\n }\n\n protected messageHandler(e: MessageEvent): void {\n if (e.data === 'init') {\n e.ports.forEach(p => p.postMessage('ready'));\n return;\n }\n const event = e.data as IoCommand | IoEvent;\n this.handleMessage(event);\n }\n}\n"]}
|
|
@@ -11,29 +11,168 @@ import { StoreBroadcast } from '../../http-client/store/StoreBroadcast.js';
|
|
|
11
11
|
* The base class for API store bindings.
|
|
12
12
|
*/
|
|
13
13
|
export class StoreBindings extends PlatformBindings {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
14
|
+
constructor() {
|
|
15
|
+
super(...arguments);
|
|
16
|
+
/**
|
|
17
|
+
* This is used by the client side (main thread or the renderer process)
|
|
18
|
+
* to define the current space the app is using.
|
|
19
|
+
* This space is used in some APIs instead of adding the space to the events system.
|
|
20
|
+
*/
|
|
21
|
+
this.space = '';
|
|
22
|
+
this.filesChannel = new BroadcastChannel(StoreBroadcast.files);
|
|
23
|
+
this.mediaChannel = new BroadcastChannel(StoreBroadcast.media);
|
|
24
|
+
this.spacesChannel = new BroadcastChannel(StoreBroadcast.spaces);
|
|
25
|
+
this.trashChannel = new BroadcastChannel(StoreBroadcast.trash);
|
|
26
|
+
this.historyChannel = new BroadcastChannel(StoreBroadcast.history);
|
|
27
|
+
this.projectExeChannel = new BroadcastChannel(StoreBroadcast.projectRuns);
|
|
28
|
+
this.certificatesChannel = new BroadcastChannel(StoreBroadcast.certificates);
|
|
29
|
+
this.auth = {
|
|
30
|
+
isAuthenticated: async (env) => {
|
|
31
|
+
let { store } = this;
|
|
32
|
+
if (env) {
|
|
33
|
+
store = new HttpStore(env);
|
|
34
|
+
}
|
|
35
|
+
if (!store) {
|
|
36
|
+
throw new Error(`Environment is not set.`);
|
|
37
|
+
}
|
|
38
|
+
return store.isAuthenticated(env);
|
|
39
|
+
},
|
|
40
|
+
authenticate: async (options = {}) => {
|
|
41
|
+
const { env, force, updateEnvironment } = options;
|
|
42
|
+
let { store } = this;
|
|
43
|
+
if (env) {
|
|
44
|
+
store = new HttpStore(env);
|
|
45
|
+
}
|
|
46
|
+
if (!store) {
|
|
47
|
+
throw new Error(`Environment is not set.`);
|
|
48
|
+
}
|
|
49
|
+
const result = await store.getStoreSessionToken(undefined, force);
|
|
50
|
+
if (updateEnvironment && result.new) {
|
|
51
|
+
await Events.Config.Environment.update(env || this.globalEnvironment);
|
|
52
|
+
}
|
|
53
|
+
return result;
|
|
54
|
+
},
|
|
55
|
+
/**
|
|
56
|
+
* @returns The current store token or undefined if no store is set.
|
|
57
|
+
*/
|
|
58
|
+
getToken: async () => {
|
|
59
|
+
const { store } = this;
|
|
60
|
+
return store && store.sdk && store.sdk.token || undefined;
|
|
61
|
+
},
|
|
62
|
+
};
|
|
63
|
+
this.global = {
|
|
64
|
+
/**
|
|
65
|
+
* Sets the store environment to be used globally by the application.
|
|
66
|
+
* This initializes the store with the configuration.
|
|
67
|
+
*
|
|
68
|
+
* Note, this won't initialize the session with the store.
|
|
69
|
+
*
|
|
70
|
+
* @param env The environment to set. Note, it must have the `location` set.
|
|
71
|
+
*/
|
|
72
|
+
set: async (env) => {
|
|
73
|
+
if (!env.location) {
|
|
74
|
+
throw new Error(`The location is required for store environment configuration.`);
|
|
75
|
+
}
|
|
76
|
+
this.globalEnvironment = env;
|
|
77
|
+
const store = new HttpStore(env);
|
|
78
|
+
this.store = store;
|
|
79
|
+
},
|
|
80
|
+
get: async () => {
|
|
81
|
+
const { globalEnvironment } = this;
|
|
82
|
+
if (!globalEnvironment) {
|
|
83
|
+
throw new Error(`The current environment is not set.`);
|
|
84
|
+
}
|
|
85
|
+
return globalEnvironment;
|
|
86
|
+
},
|
|
87
|
+
};
|
|
88
|
+
this.spaces = {
|
|
89
|
+
list: (options) => this.getStore().sdk.spaces.list(options),
|
|
90
|
+
add: (nameOrObject) => {
|
|
91
|
+
let space;
|
|
92
|
+
if (typeof nameOrObject === 'string') {
|
|
93
|
+
space = Space.fromName(nameOrObject).toJSON();
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
space = nameOrObject;
|
|
97
|
+
}
|
|
98
|
+
return this.getStore().sdk.spaces.add(space);
|
|
99
|
+
},
|
|
100
|
+
read: (key) => this.getStore().sdk.spaces.read(key),
|
|
101
|
+
delete: async (key) => {
|
|
102
|
+
await this.getStore().sdk.spaces.delete(key);
|
|
103
|
+
return {
|
|
104
|
+
key,
|
|
105
|
+
kind: SpaceKind,
|
|
106
|
+
};
|
|
107
|
+
},
|
|
108
|
+
addUser: (space, otherUserKey, role, expires) => this.getStore().sdk.spaces.addUser(this.space || space, otherUserKey, role, expires),
|
|
109
|
+
removeUser: (space, otherUserKey) => this.getStore().sdk.spaces.removeUser(this.space || space, otherUserKey),
|
|
110
|
+
patchUsers: (space, value) => this.getStore().sdk.spaces.patchUsers(this.space || space, value),
|
|
111
|
+
};
|
|
112
|
+
this.certificates = {
|
|
113
|
+
add: (value, space) => this.getStore().sdk.certificates.add(value, this.space || space),
|
|
114
|
+
addBulk: (values, space) => this.getStore().sdk.certificates.addBulk(values, this.space || space),
|
|
115
|
+
read: (key) => this.getStore().sdk.certificates.read(key),
|
|
116
|
+
list: (options) => {
|
|
117
|
+
const cp = { ...options };
|
|
118
|
+
if (!cp.space) {
|
|
119
|
+
cp.space = this.space;
|
|
120
|
+
}
|
|
121
|
+
return this.getStore().sdk.certificates.list(cp);
|
|
122
|
+
},
|
|
123
|
+
delete: async (key) => {
|
|
124
|
+
await this.getStore().sdk.certificates.delete(key);
|
|
125
|
+
return {
|
|
126
|
+
key,
|
|
127
|
+
};
|
|
128
|
+
},
|
|
129
|
+
deleteBulk: (keys) => this.getStore().sdk.certificates.deleteBulk(keys),
|
|
130
|
+
empty: (space) => this.getStore().sdk.certificates.empty(this.space || space),
|
|
131
|
+
};
|
|
132
|
+
this.trash = {
|
|
133
|
+
add: (entry, space) => this.getStore().sdk.trash.add(entry, this.space || space),
|
|
134
|
+
list: (options) => {
|
|
135
|
+
const cp = { ...options };
|
|
136
|
+
if (!cp.space) {
|
|
137
|
+
cp.space = this.space;
|
|
138
|
+
}
|
|
139
|
+
return this.getStore().sdk.trash.list(cp);
|
|
140
|
+
},
|
|
141
|
+
delete: async (key) => {
|
|
142
|
+
await this.getStore().sdk.trash.delete(key);
|
|
143
|
+
return { key };
|
|
144
|
+
},
|
|
145
|
+
batchDelete: (keys) => this.getStore().sdk.trash.batchDelete(keys),
|
|
146
|
+
restore: (key) => this.getStore().sdk.trash.restore(key),
|
|
147
|
+
batchRestore: (keys) => this.getStore().sdk.trash.batchDelete(keys),
|
|
148
|
+
empty: (space) => this.getStore().sdk.trash.empty(this.space || space),
|
|
149
|
+
};
|
|
150
|
+
this.revisions = {
|
|
151
|
+
list: (key, options) => this.getStore().sdk.revisions.list(key, options),
|
|
152
|
+
};
|
|
153
|
+
this.media = {
|
|
154
|
+
add: (key, contents, mime) => this.getStore().sdk.file.createMedia(contents, this.space, key, { mime }),
|
|
155
|
+
read: (key) => this.getStore().sdk.file.read(this.space, key, true),
|
|
156
|
+
patch: (key, info) => this.getStore().sdk.file.patch(this.space, key, info, true),
|
|
157
|
+
};
|
|
158
|
+
this.files = {
|
|
159
|
+
list: (options, kinds) => this.getStore().sdk.file.list(this.space, kinds, options),
|
|
160
|
+
add: (input, opts) => this.getStore().sdk.file.createMeta(input, this.space, opts),
|
|
161
|
+
read: (key) => this.getStore().sdk.file.read(this.space, key, false),
|
|
162
|
+
readBulk: (keys) => this.getStore().sdk.file.readBulk(this.space, keys),
|
|
163
|
+
delete: (key) => this.getStore().sdk.file.delete(this.space, key),
|
|
164
|
+
patch: (key, info) => this.getStore().sdk.file.patch(this.space, key, info, false),
|
|
165
|
+
breadcrumbs: (key) => this.getStore().sdk.file.breadcrumbs(this.space, key),
|
|
166
|
+
};
|
|
167
|
+
this.shared = {
|
|
168
|
+
list: (options, kinds) => this.getStore().sdk.shared.list(this.space, kinds, options),
|
|
169
|
+
};
|
|
170
|
+
this.users = {
|
|
171
|
+
list: (options) => this.getStore().sdk.user.list(options),
|
|
172
|
+
me: () => this.getStore().sdk.user.me(),
|
|
173
|
+
read: (key) => this.getStore().sdk.user.read(key),
|
|
174
|
+
};
|
|
175
|
+
}
|
|
37
176
|
async initializeStore() {
|
|
38
177
|
// ...
|
|
39
178
|
}
|
|
@@ -86,65 +225,6 @@ export class StoreBindings extends PlatformBindings {
|
|
|
86
225
|
target.addEventListener(EventTypes.HttpClient.Model.Certificate.delete, this.handleCertificateDelete.bind(this));
|
|
87
226
|
target.addEventListener(EventTypes.HttpClient.Model.Certificate.insert, this.handleCertificateInsert.bind(this));
|
|
88
227
|
}
|
|
89
|
-
auth = {
|
|
90
|
-
isAuthenticated: async (env) => {
|
|
91
|
-
let { store } = this;
|
|
92
|
-
if (env) {
|
|
93
|
-
store = new HttpStore(env);
|
|
94
|
-
}
|
|
95
|
-
if (!store) {
|
|
96
|
-
throw new Error(`Environment is not set.`);
|
|
97
|
-
}
|
|
98
|
-
return store.isAuthenticated(env);
|
|
99
|
-
},
|
|
100
|
-
authenticate: async (options = {}) => {
|
|
101
|
-
const { env, force, updateEnvironment } = options;
|
|
102
|
-
let { store } = this;
|
|
103
|
-
if (env) {
|
|
104
|
-
store = new HttpStore(env);
|
|
105
|
-
}
|
|
106
|
-
if (!store) {
|
|
107
|
-
throw new Error(`Environment is not set.`);
|
|
108
|
-
}
|
|
109
|
-
const result = await store.getStoreSessionToken(undefined, force);
|
|
110
|
-
if (updateEnvironment && result.new) {
|
|
111
|
-
await Events.Config.Environment.update(env || this.globalEnvironment);
|
|
112
|
-
}
|
|
113
|
-
return result;
|
|
114
|
-
},
|
|
115
|
-
/**
|
|
116
|
-
* @returns The current store token or undefined if no store is set.
|
|
117
|
-
*/
|
|
118
|
-
getToken: async () => {
|
|
119
|
-
const { store } = this;
|
|
120
|
-
return store && store.sdk && store.sdk.token || undefined;
|
|
121
|
-
},
|
|
122
|
-
};
|
|
123
|
-
global = {
|
|
124
|
-
/**
|
|
125
|
-
* Sets the store environment to be used globally by the application.
|
|
126
|
-
* This initializes the store with the configuration.
|
|
127
|
-
*
|
|
128
|
-
* Note, this won't initialize the session with the store.
|
|
129
|
-
*
|
|
130
|
-
* @param env The environment to set. Note, it must have the `location` set.
|
|
131
|
-
*/
|
|
132
|
-
set: async (env) => {
|
|
133
|
-
if (!env.location) {
|
|
134
|
-
throw new Error(`The location is required for store environment configuration.`);
|
|
135
|
-
}
|
|
136
|
-
this.globalEnvironment = env;
|
|
137
|
-
const store = new HttpStore(env);
|
|
138
|
-
this.store = store;
|
|
139
|
-
},
|
|
140
|
-
get: async () => {
|
|
141
|
-
const { globalEnvironment } = this;
|
|
142
|
-
if (!globalEnvironment) {
|
|
143
|
-
throw new Error(`The current environment is not set.`);
|
|
144
|
-
}
|
|
145
|
-
return globalEnvironment;
|
|
146
|
-
},
|
|
147
|
-
};
|
|
148
228
|
handleInitializeEnvironment(input) {
|
|
149
229
|
const e = input;
|
|
150
230
|
e.preventDefault();
|
|
@@ -435,93 +515,6 @@ export class StoreBindings extends PlatformBindings {
|
|
|
435
515
|
}
|
|
436
516
|
return store;
|
|
437
517
|
}
|
|
438
|
-
spaces = {
|
|
439
|
-
list: (options) => this.getStore().sdk.spaces.list(options),
|
|
440
|
-
add: (nameOrObject) => {
|
|
441
|
-
let space;
|
|
442
|
-
if (typeof nameOrObject === 'string') {
|
|
443
|
-
space = Space.fromName(nameOrObject).toJSON();
|
|
444
|
-
}
|
|
445
|
-
else {
|
|
446
|
-
space = nameOrObject;
|
|
447
|
-
}
|
|
448
|
-
return this.getStore().sdk.spaces.add(space);
|
|
449
|
-
},
|
|
450
|
-
read: (key) => this.getStore().sdk.spaces.read(key),
|
|
451
|
-
delete: async (key) => {
|
|
452
|
-
await this.getStore().sdk.spaces.delete(key);
|
|
453
|
-
return {
|
|
454
|
-
key,
|
|
455
|
-
kind: SpaceKind,
|
|
456
|
-
};
|
|
457
|
-
},
|
|
458
|
-
addUser: (space, otherUserKey, role, expires) => this.getStore().sdk.spaces.addUser(this.space || space, otherUserKey, role, expires),
|
|
459
|
-
removeUser: (space, otherUserKey) => this.getStore().sdk.spaces.removeUser(this.space || space, otherUserKey),
|
|
460
|
-
patchUsers: (space, value) => this.getStore().sdk.spaces.patchUsers(this.space || space, value),
|
|
461
|
-
};
|
|
462
|
-
certificates = {
|
|
463
|
-
add: (value, space) => this.getStore().sdk.certificates.add(value, this.space || space),
|
|
464
|
-
addBulk: (values, space) => this.getStore().sdk.certificates.addBulk(values, this.space || space),
|
|
465
|
-
read: (key) => this.getStore().sdk.certificates.read(key),
|
|
466
|
-
list: (options) => {
|
|
467
|
-
const cp = { ...options };
|
|
468
|
-
if (!cp.space) {
|
|
469
|
-
cp.space = this.space;
|
|
470
|
-
}
|
|
471
|
-
return this.getStore().sdk.certificates.list(cp);
|
|
472
|
-
},
|
|
473
|
-
delete: async (key) => {
|
|
474
|
-
await this.getStore().sdk.certificates.delete(key);
|
|
475
|
-
return {
|
|
476
|
-
key,
|
|
477
|
-
};
|
|
478
|
-
},
|
|
479
|
-
deleteBulk: (keys) => this.getStore().sdk.certificates.deleteBulk(keys),
|
|
480
|
-
empty: (space) => this.getStore().sdk.certificates.empty(this.space || space),
|
|
481
|
-
};
|
|
482
|
-
trash = {
|
|
483
|
-
add: (entry, space) => this.getStore().sdk.trash.add(entry, this.space || space),
|
|
484
|
-
list: (options) => {
|
|
485
|
-
const cp = { ...options };
|
|
486
|
-
if (!cp.space) {
|
|
487
|
-
cp.space = this.space;
|
|
488
|
-
}
|
|
489
|
-
return this.getStore().sdk.trash.list(cp);
|
|
490
|
-
},
|
|
491
|
-
delete: async (key) => {
|
|
492
|
-
await this.getStore().sdk.trash.delete(key);
|
|
493
|
-
return { key };
|
|
494
|
-
},
|
|
495
|
-
batchDelete: (keys) => this.getStore().sdk.trash.batchDelete(keys),
|
|
496
|
-
restore: (key) => this.getStore().sdk.trash.restore(key),
|
|
497
|
-
batchRestore: (keys) => this.getStore().sdk.trash.batchDelete(keys),
|
|
498
|
-
empty: (space) => this.getStore().sdk.trash.empty(this.space || space),
|
|
499
|
-
};
|
|
500
|
-
revisions = {
|
|
501
|
-
list: (key, options) => this.getStore().sdk.revisions.list(key, options),
|
|
502
|
-
};
|
|
503
|
-
media = {
|
|
504
|
-
add: (key, contents, mime) => this.getStore().sdk.file.createMedia(contents, this.space, key, { mime }),
|
|
505
|
-
read: (key) => this.getStore().sdk.file.read(this.space, key, true),
|
|
506
|
-
patch: (key, info) => this.getStore().sdk.file.patch(this.space, key, info, true),
|
|
507
|
-
};
|
|
508
|
-
files = {
|
|
509
|
-
list: (options, kinds) => this.getStore().sdk.file.list(this.space, kinds, options),
|
|
510
|
-
add: (input, opts) => this.getStore().sdk.file.createMeta(input, this.space, opts),
|
|
511
|
-
read: (key) => this.getStore().sdk.file.read(this.space, key, false),
|
|
512
|
-
readBulk: (keys) => this.getStore().sdk.file.readBulk(this.space, keys),
|
|
513
|
-
delete: (key) => this.getStore().sdk.file.delete(this.space, key),
|
|
514
|
-
patch: (key, info) => this.getStore().sdk.file.patch(this.space, key, info, false),
|
|
515
|
-
breadcrumbs: (key) => this.getStore().sdk.file.breadcrumbs(this.space, key),
|
|
516
|
-
};
|
|
517
|
-
shared = {
|
|
518
|
-
list: (options, kinds) => this.getStore().sdk.shared.list(this.space, kinds, options),
|
|
519
|
-
};
|
|
520
|
-
users = {
|
|
521
|
-
list: (options) => this.getStore().sdk.user.list(options),
|
|
522
|
-
me: () => this.getStore().sdk.user.me(),
|
|
523
|
-
read: (key) => this.getStore().sdk.user.read(key),
|
|
524
|
-
};
|
|
525
518
|
handleCertificateList(event) {
|
|
526
519
|
const e = event;
|
|
527
520
|
e.preventDefault();
|
|
@@ -615,7 +608,6 @@ export class StoreBindings extends PlatformBindings {
|
|
|
615
608
|
};
|
|
616
609
|
await this.sendSocket(socket, cmd);
|
|
617
610
|
}
|
|
618
|
-
eventsSocket;
|
|
619
611
|
async getEventsSocket() {
|
|
620
612
|
if (!this.eventsSocket) {
|
|
621
613
|
const store = this.getStore();
|