@api-client/ui 0.0.14 → 0.0.15
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/_old/ApiFilesElement.ts +1 -1
- package/_old/AppSettingsMenuElement.ts +1 -1
- package/_old/FileMaps.ts +1 -1
- package/demo/amf/api-annotation.ts +1 -1
- package/demo/amf/api-console.ts +1 -1
- package/demo/amf/api-editor.ts +1 -1
- package/demo/amf/api-operation.ts +1 -1
- package/demo/amf/api-payload.ts +1 -1
- package/demo/amf/api-request.ts +1 -1
- package/demo/amf/api-resource.ts +1 -1
- package/demo/amf/api-schema-documentation.ts +1 -1
- package/demo/amf/bare-components.ts +1 -1
- package/demo/amf/lib/AmfDemoPage.ts +1 -1
- package/demo/amf/oauth-authorize.ts +1 -1
- package/demo/elements/authorization/api-key.ts +1 -1
- package/demo/elements/authorization/basic.ts +1 -1
- package/demo/elements/authorization/bearer.ts +1 -1
- package/demo/elements/authorization/cc.ts +1 -1
- package/demo/elements/authorization/ntlm.ts +1 -1
- package/demo/elements/authorization/oauth-authorize.ts +1 -1
- package/demo/elements/authorization/oauth2.ts +1 -1
- package/demo/elements/authorization/oidc.ts +1 -1
- package/demo/elements/environment/environment-editor.ts +1 -1
- package/demo/elements/environment/server-editor.ts +1 -1
- package/demo/elements/environment/variables-editor.ts +1 -1
- package/demo/elements/har/har-viewer.ts +1 -1
- package/demo/elements/http/body-editor.ts +1 -1
- package/demo/elements/http/headers.ts +1 -1
- package/demo/elements/http/http-assertions.ts +1 -1
- package/demo/elements/http/http-flows.ts +1 -1
- package/demo/elements/http/request-editor.ts +1 -1
- package/demo/elements/http/request-log.ts +1 -1
- package/demo/elements/http/url-editing.ts +1 -1
- package/demo/elements/project/project-run-report.ts +1 -1
- package/demo/elements/project/request-editor.ts +1 -1
- package/demo/elements/store/file-picker.ts +1 -1
- package/demo/elements/ui/list/list.ts +1 -1
- package/demo/layout/index.ts +1 -1
- package/demo/lib/DemoBindings.ts +1 -1
- package/demo/lib/amf/AmfPartialGraphStore.ts +1 -1
- package/demo/lib/amf/AmfPartialModel.ts +1 -1
- package/dist/amf/lib/AmfInputParser.d.ts +1 -1
- package/dist/amf/lib/AmfInputParser.d.ts.map +1 -1
- package/dist/amf/lib/AmfInputParser.js +1 -1
- package/dist/amf/lib/AmfInputParser.js.map +1 -1
- package/dist/amf/lib/AmfParameters.d.ts +1 -1
- package/dist/amf/lib/AmfParameters.d.ts.map +1 -1
- package/dist/amf/lib/AmfParameters.js +1 -1
- package/dist/amf/lib/AmfParameters.js.map +1 -1
- package/dist/amf/lib/AmfSecurity.d.ts +1 -1
- package/dist/amf/lib/AmfSecurity.d.ts.map +1 -1
- package/dist/amf/lib/AmfSecurity.js.map +1 -1
- package/dist/amf/lib/Oauth2RamlCustomData.d.ts +1 -1
- package/dist/amf/lib/Oauth2RamlCustomData.d.ts.map +1 -1
- package/dist/amf/lib/Oauth2RamlCustomData.js +1 -1
- package/dist/amf/lib/Oauth2RamlCustomData.js.map +1 -1
- package/dist/amf/lib/PayloadUtils.d.ts +1 -1
- package/dist/amf/lib/PayloadUtils.d.ts.map +1 -1
- package/dist/amf/lib/PayloadUtils.js +1 -1
- package/dist/amf/lib/PayloadUtils.js.map +1 -1
- package/dist/amf/lib/QueryParameterProcessor.d.ts +1 -1
- package/dist/amf/lib/QueryParameterProcessor.d.ts.map +1 -1
- package/dist/amf/lib/QueryParameterProcessor.js +1 -1
- package/dist/amf/lib/QueryParameterProcessor.js.map +1 -1
- package/dist/amf/lib/Utils.d.ts +1 -1
- package/dist/amf/lib/Utils.d.ts.map +1 -1
- package/dist/amf/lib/Utils.js +1 -1
- package/dist/amf/lib/Utils.js.map +1 -1
- package/dist/amf/store/AmfGraphStore.d.ts +1 -1
- package/dist/amf/store/AmfGraphStore.d.ts.map +1 -1
- package/dist/amf/store/AmfGraphStore.js +1 -1
- package/dist/amf/store/AmfGraphStore.js.map +1 -1
- package/dist/amf/store/AmfStore.d.ts +1 -1
- package/dist/amf/store/AmfStore.d.ts.map +1 -1
- package/dist/amf/store/AmfStore.js +1 -1
- package/dist/amf/store/AmfStore.js.map +1 -1
- package/dist/amf/store/InMemAmfGraphStore.d.ts +2 -2
- package/dist/amf/store/InMemAmfGraphStore.d.ts.map +1 -1
- package/dist/amf/store/InMemAmfGraphStore.js +1 -1
- package/dist/amf/store/InMemAmfGraphStore.js.map +1 -1
- package/dist/amf/types.d.ts +1 -1
- package/dist/amf/types.d.ts.map +1 -1
- package/dist/amf/types.js.map +1 -1
- package/dist/bindings/base/HttpClientStoreBindings.d.ts +1 -1
- package/dist/bindings/base/HttpClientStoreBindings.d.ts.map +1 -1
- package/dist/bindings/base/HttpClientStoreBindings.js.map +1 -1
- package/dist/bindings/base/IoThread.d.ts +1 -1
- package/dist/bindings/base/IoThread.d.ts.map +1 -1
- package/dist/bindings/base/IoThread.js +1 -1
- package/dist/bindings/base/IoThread.js.map +1 -1
- package/dist/bindings/base/PlatformBindings.d.ts +1 -1
- package/dist/bindings/base/PlatformBindings.d.ts.map +1 -1
- package/dist/bindings/base/PlatformBindings.js +1 -1
- package/dist/bindings/base/PlatformBindings.js.map +1 -1
- package/dist/bindings/base/ProxyBindings.d.ts +1 -1
- package/dist/bindings/base/ProxyBindings.d.ts.map +1 -1
- package/dist/bindings/base/ProxyBindings.js +1 -1
- package/dist/bindings/base/ProxyBindings.js.map +1 -1
- package/dist/bindings/base/StoreBindings.d.ts +1 -1
- package/dist/bindings/base/StoreBindings.d.ts.map +1 -1
- package/dist/bindings/base/StoreBindings.js +1 -1
- package/dist/bindings/base/StoreBindings.js.map +1 -1
- package/dist/bindings/web/WebConfigurationBindings.d.ts +1 -1
- package/dist/bindings/web/WebConfigurationBindings.d.ts.map +1 -1
- package/dist/bindings/web/WebConfigurationBindings.js.map +1 -1
- package/dist/bindings/web/WebFileBindings.js +1 -1
- package/dist/bindings/web/WebFileBindings.js.map +1 -1
- package/dist/bindings/web/WebHttpClientStoreBindings.d.ts +1 -1
- package/dist/bindings/web/WebHttpClientStoreBindings.d.ts.map +1 -1
- package/dist/bindings/web/WebHttpClientStoreBindings.js.map +1 -1
- package/dist/bindings/web/WebProxyBindings.d.ts +1 -1
- package/dist/bindings/web/WebProxyBindings.d.ts.map +1 -1
- package/dist/bindings/web/WebProxyBindings.js +1 -1
- package/dist/bindings/web/WebProxyBindings.js.map +1 -1
- package/dist/bindings/web/WebStoreBindings.d.ts +1 -1
- package/dist/bindings/web/WebStoreBindings.d.ts.map +1 -1
- package/dist/bindings/web/WebStoreBindings.js +1 -1
- package/dist/bindings/web/WebStoreBindings.js.map +1 -1
- package/dist/code-snippets/Bash/CurlSnippet.d.ts +1 -1
- package/dist/code-snippets/Bash/CurlSnippet.d.ts.map +1 -1
- package/dist/code-snippets/Bash/CurlSnippet.js.map +1 -1
- package/dist/code-snippets/C/CcurlSnippet.d.ts +1 -1
- package/dist/code-snippets/C/CcurlSnippet.d.ts.map +1 -1
- package/dist/code-snippets/C/CcurlSnippet.js.map +1 -1
- package/dist/code-snippets/CodeSnippet.d.ts +1 -1
- package/dist/code-snippets/CodeSnippet.d.ts.map +1 -1
- package/dist/code-snippets/CodeSnippet.js +1 -1
- package/dist/code-snippets/CodeSnippet.js.map +1 -1
- package/dist/code-snippets/Dart/DartSnippet.d.ts +1 -1
- package/dist/code-snippets/Dart/DartSnippet.d.ts.map +1 -1
- package/dist/code-snippets/Dart/DartSnippet.js.map +1 -1
- package/dist/code-snippets/HTTP/RawSnippet.d.ts +1 -1
- package/dist/code-snippets/HTTP/RawSnippet.d.ts.map +1 -1
- package/dist/code-snippets/HTTP/RawSnippet.js.map +1 -1
- package/dist/code-snippets/Java/PlatformSnippet.d.ts +1 -1
- package/dist/code-snippets/Java/PlatformSnippet.d.ts.map +1 -1
- package/dist/code-snippets/Java/PlatformSnippet.js.map +1 -1
- package/dist/code-snippets/Java/SpringSnippet.d.ts +1 -1
- package/dist/code-snippets/Java/SpringSnippet.d.ts.map +1 -1
- package/dist/code-snippets/Java/SpringSnippet.js.map +1 -1
- package/dist/code-snippets/JavaScript/AsyncFetchSnippet.d.ts +1 -1
- package/dist/code-snippets/JavaScript/AsyncFetchSnippet.d.ts.map +1 -1
- package/dist/code-snippets/JavaScript/AsyncFetchSnippet.js.map +1 -1
- package/dist/code-snippets/JavaScript/AxiosSnippet.d.ts +1 -1
- package/dist/code-snippets/JavaScript/AxiosSnippet.d.ts.map +1 -1
- package/dist/code-snippets/JavaScript/AxiosSnippet.js.map +1 -1
- package/dist/code-snippets/JavaScript/FetchSnippet.d.ts +1 -1
- package/dist/code-snippets/JavaScript/FetchSnippet.d.ts.map +1 -1
- package/dist/code-snippets/JavaScript/FetchSnippet.js.map +1 -1
- package/dist/code-snippets/JavaScript/NodeSnippet.d.ts +1 -1
- package/dist/code-snippets/JavaScript/NodeSnippet.d.ts.map +1 -1
- package/dist/code-snippets/JavaScript/NodeSnippet.js.map +1 -1
- package/dist/code-snippets/JavaScript/XhrSnippet.d.ts +1 -1
- package/dist/code-snippets/JavaScript/XhrSnippet.d.ts.map +1 -1
- package/dist/code-snippets/JavaScript/XhrSnippet.js.map +1 -1
- package/dist/code-snippets/JavaScript/jQuerySnippet.d.ts +1 -1
- package/dist/code-snippets/JavaScript/jQuerySnippet.d.ts.map +1 -1
- package/dist/code-snippets/JavaScript/jQuerySnippet.js.map +1 -1
- package/dist/code-snippets/Python/Python27Snippet.d.ts +1 -1
- package/dist/code-snippets/Python/Python27Snippet.d.ts.map +1 -1
- package/dist/code-snippets/Python/Python27Snippet.js.map +1 -1
- package/dist/code-snippets/Python/Python31Snippet.d.ts +1 -1
- package/dist/code-snippets/Python/Python31Snippet.d.ts.map +1 -1
- package/dist/code-snippets/Python/Python31Snippet.js.map +1 -1
- package/dist/code-snippets/Python/RequestsSnippet.d.ts +1 -1
- package/dist/code-snippets/Python/RequestsSnippet.d.ts.map +1 -1
- package/dist/code-snippets/Python/RequestsSnippet.js.map +1 -1
- package/dist/elements/amf/ApiAnnotationDocument.element.d.ts +1 -1
- package/dist/elements/amf/ApiAnnotationDocument.element.d.ts.map +1 -1
- package/dist/elements/amf/ApiAnnotationDocument.element.js +1 -1
- package/dist/elements/amf/ApiAnnotationDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiAuthorizationEditor.element.d.ts +1 -1
- package/dist/elements/amf/ApiAuthorizationEditor.element.d.ts.map +1 -1
- package/dist/elements/amf/ApiAuthorizationEditor.element.js.map +1 -1
- package/dist/elements/amf/ApiChannelDocument.element.d.ts +1 -1
- package/dist/elements/amf/ApiChannelDocument.element.d.ts.map +1 -1
- package/dist/elements/amf/ApiChannelDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiDocumentation.element.d.ts +1 -1
- package/dist/elements/amf/ApiDocumentation.element.d.ts.map +1 -1
- package/dist/elements/amf/ApiDocumentation.element.js +1 -1
- package/dist/elements/amf/ApiDocumentation.element.js.map +1 -1
- package/dist/elements/amf/ApiDocumentationBase.d.ts +1 -1
- package/dist/elements/amf/ApiDocumentationBase.d.ts.map +1 -1
- package/dist/elements/amf/ApiDocumentationBase.js +1 -1
- package/dist/elements/amf/ApiDocumentationBase.js.map +1 -1
- package/dist/elements/amf/ApiDocumentationDocument.element.d.ts +1 -1
- package/dist/elements/amf/ApiDocumentationDocument.element.d.ts.map +1 -1
- package/dist/elements/amf/ApiDocumentationDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiNavigation.element.d.ts +1 -1
- package/dist/elements/amf/ApiNavigation.element.d.ts.map +1 -1
- package/dist/elements/amf/ApiNavigation.element.js.map +1 -1
- package/dist/elements/amf/ApiOperationDocument.element.d.ts +1 -1
- package/dist/elements/amf/ApiOperationDocument.element.d.ts.map +1 -1
- package/dist/elements/amf/ApiOperationDocument.element.js +1 -1
- package/dist/elements/amf/ApiOperationDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiParameterDocument.element.d.ts +1 -1
- package/dist/elements/amf/ApiParameterDocument.element.d.ts.map +1 -1
- package/dist/elements/amf/ApiParameterDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiParametrizedSecurityScheme.element.d.ts +1 -1
- package/dist/elements/amf/ApiParametrizedSecurityScheme.element.d.ts.map +1 -1
- package/dist/elements/amf/ApiParametrizedSecurityScheme.element.js +1 -1
- package/dist/elements/amf/ApiParametrizedSecurityScheme.element.js.map +1 -1
- package/dist/elements/amf/ApiPayloadDocument.element.d.ts +1 -1
- package/dist/elements/amf/ApiPayloadDocument.element.d.ts.map +1 -1
- package/dist/elements/amf/ApiPayloadDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiRequest.element.d.ts +1 -1
- package/dist/elements/amf/ApiRequest.element.d.ts.map +1 -1
- package/dist/elements/amf/ApiRequest.element.js.map +1 -1
- package/dist/elements/amf/ApiRequestDocument.element.d.ts +1 -1
- package/dist/elements/amf/ApiRequestDocument.element.d.ts.map +1 -1
- package/dist/elements/amf/ApiRequestDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiRequestEditor.element.d.ts +1 -1
- package/dist/elements/amf/ApiRequestEditor.element.d.ts.map +1 -1
- package/dist/elements/amf/ApiRequestEditor.element.js +1 -1
- package/dist/elements/amf/ApiRequestEditor.element.js.map +1 -1
- package/dist/elements/amf/ApiResourceDocument.element.d.ts +1 -1
- package/dist/elements/amf/ApiResourceDocument.element.d.ts.map +1 -1
- package/dist/elements/amf/ApiResourceDocument.element.js +1 -1
- package/dist/elements/amf/ApiResourceDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiResponseDocument.element.d.ts +1 -1
- package/dist/elements/amf/ApiResponseDocument.element.d.ts.map +1 -1
- package/dist/elements/amf/ApiResponseDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiSchemaDocument.element.d.ts +1 -1
- package/dist/elements/amf/ApiSchemaDocument.element.d.ts.map +1 -1
- package/dist/elements/amf/ApiSchemaDocument.element.js +1 -1
- package/dist/elements/amf/ApiSchemaDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiSecurityDocument.element.d.ts +1 -1
- package/dist/elements/amf/ApiSecurityDocument.element.d.ts.map +1 -1
- package/dist/elements/amf/ApiSecurityDocument.element.js +1 -1
- package/dist/elements/amf/ApiSecurityDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiSecurityRequirementDocument.element.d.ts +1 -1
- package/dist/elements/amf/ApiSecurityRequirementDocument.element.d.ts.map +1 -1
- package/dist/elements/amf/ApiSecurityRequirementDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiServerPicker.element.d.ts +1 -1
- package/dist/elements/amf/ApiServerPicker.element.d.ts.map +1 -1
- package/dist/elements/amf/ApiServerPicker.element.js +1 -1
- package/dist/elements/amf/ApiServerPicker.element.js.map +1 -1
- package/dist/elements/amf/ApiSummary.element.d.ts +1 -1
- package/dist/elements/amf/ApiSummary.element.d.ts.map +1 -1
- package/dist/elements/amf/ApiSummary.element.js +1 -1
- package/dist/elements/amf/ApiSummary.element.js.map +1 -1
- package/dist/elements/amf/SchemaCommonTemplates.d.ts +1 -1
- package/dist/elements/amf/SchemaCommonTemplates.d.ts.map +1 -1
- package/dist/elements/amf/SchemaCommonTemplates.js +1 -1
- package/dist/elements/amf/SchemaCommonTemplates.js.map +1 -1
- package/dist/elements/amf/authorization/AmfApiKey.d.ts +1 -1
- package/dist/elements/amf/authorization/AmfApiKey.d.ts.map +1 -1
- package/dist/elements/amf/authorization/AmfApiKey.js +1 -1
- package/dist/elements/amf/authorization/AmfApiKey.js.map +1 -1
- package/dist/elements/amf/authorization/AmfBasic.d.ts +1 -1
- package/dist/elements/amf/authorization/AmfBasic.d.ts.map +1 -1
- package/dist/elements/amf/authorization/AmfBasic.js +1 -1
- package/dist/elements/amf/authorization/AmfBasic.js.map +1 -1
- package/dist/elements/amf/authorization/AmfBearer.d.ts +1 -1
- package/dist/elements/amf/authorization/AmfBearer.d.ts.map +1 -1
- package/dist/elements/amf/authorization/AmfBearer.js +1 -1
- package/dist/elements/amf/authorization/AmfBearer.js.map +1 -1
- package/dist/elements/amf/authorization/AmfOauth2.d.ts +1 -1
- package/dist/elements/amf/authorization/AmfOauth2.d.ts.map +1 -1
- package/dist/elements/amf/authorization/AmfOauth2.js +1 -1
- package/dist/elements/amf/authorization/AmfOauth2.js.map +1 -1
- package/dist/elements/amf/authorization/AmfOidc.d.ts +1 -1
- package/dist/elements/amf/authorization/AmfOidc.d.ts.map +1 -1
- package/dist/elements/amf/authorization/AmfOidc.js +1 -1
- package/dist/elements/amf/authorization/AmfOidc.js.map +1 -1
- package/dist/elements/amf/authorization/AmfPassThrough.d.ts +1 -1
- package/dist/elements/amf/authorization/AmfPassThrough.d.ts.map +1 -1
- package/dist/elements/amf/authorization/AmfPassThrough.js +1 -1
- package/dist/elements/amf/authorization/AmfPassThrough.js.map +1 -1
- package/dist/elements/amf/authorization/AmfRamlCustom.d.ts +1 -1
- package/dist/elements/amf/authorization/AmfRamlCustom.d.ts.map +1 -1
- package/dist/elements/amf/authorization/AmfRamlCustom.js +1 -1
- package/dist/elements/amf/authorization/AmfRamlCustom.js.map +1 -1
- package/dist/elements/authorization/OAuth2Authorize.d.ts +1 -1
- package/dist/elements/authorization/OAuth2Authorize.d.ts.map +1 -1
- package/dist/elements/authorization/OAuth2Authorize.js +1 -1
- package/dist/elements/authorization/OAuth2Authorize.js.map +1 -1
- package/dist/elements/authorization/OidcAuthorize.d.ts +1 -1
- package/dist/elements/authorization/OidcAuthorize.d.ts.map +1 -1
- package/dist/elements/authorization/OidcAuthorize.js +1 -1
- package/dist/elements/authorization/OidcAuthorize.js.map +1 -1
- package/dist/elements/authorization/ui/ApiKeyAuthorization.d.ts +1 -1
- package/dist/elements/authorization/ui/ApiKeyAuthorization.d.ts.map +1 -1
- package/dist/elements/authorization/ui/ApiKeyAuthorization.js.map +1 -1
- package/dist/elements/authorization/ui/Authorization.d.ts +1 -1
- package/dist/elements/authorization/ui/Authorization.d.ts.map +1 -1
- package/dist/elements/authorization/ui/Authorization.js.map +1 -1
- package/dist/elements/authorization/ui/BasicAuthorization.d.ts +1 -1
- package/dist/elements/authorization/ui/BasicAuthorization.d.ts.map +1 -1
- package/dist/elements/authorization/ui/BasicAuthorization.js.map +1 -1
- package/dist/elements/authorization/ui/BearerAuthorization.d.ts +1 -1
- package/dist/elements/authorization/ui/BearerAuthorization.d.ts.map +1 -1
- package/dist/elements/authorization/ui/BearerAuthorization.js.map +1 -1
- package/dist/elements/authorization/ui/CcAuthorization.d.ts +1 -1
- package/dist/elements/authorization/ui/CcAuthorization.d.ts.map +1 -1
- package/dist/elements/authorization/ui/CcAuthorization.js +1 -1
- package/dist/elements/authorization/ui/CcAuthorization.js.map +1 -1
- package/dist/elements/authorization/ui/NtlmAuthorization.d.ts +1 -1
- package/dist/elements/authorization/ui/NtlmAuthorization.d.ts.map +1 -1
- package/dist/elements/authorization/ui/NtlmAuthorization.js.map +1 -1
- package/dist/elements/authorization/ui/OAuth2Authorization.d.ts +1 -1
- package/dist/elements/authorization/ui/OAuth2Authorization.d.ts.map +1 -1
- package/dist/elements/authorization/ui/OAuth2Authorization.js +1 -1
- package/dist/elements/authorization/ui/OAuth2Authorization.js.map +1 -1
- package/dist/elements/authorization/ui/OidcAuthorization.d.ts +1 -1
- package/dist/elements/authorization/ui/OidcAuthorization.d.ts.map +1 -1
- package/dist/elements/authorization/ui/OidcAuthorization.js +1 -1
- package/dist/elements/authorization/ui/OidcAuthorization.js.map +1 -1
- package/dist/elements/code/HttpSnippets.d.ts +1 -1
- package/dist/elements/code/HttpSnippets.d.ts.map +1 -1
- package/dist/elements/code/HttpSnippets.js.map +1 -1
- package/dist/elements/dialog/DeleteCookieAction.element.d.ts +1 -1
- package/dist/elements/dialog/DeleteCookieAction.element.d.ts.map +1 -1
- package/dist/elements/dialog/DeleteCookieAction.element.js +1 -1
- package/dist/elements/dialog/DeleteCookieAction.element.js.map +1 -1
- package/dist/elements/dialog/SetCookieAction.element.d.ts +1 -1
- package/dist/elements/dialog/SetCookieAction.element.d.ts.map +1 -1
- package/dist/elements/dialog/SetCookieAction.element.js +1 -1
- package/dist/elements/dialog/SetCookieAction.element.js.map +1 -1
- package/dist/elements/environment/EnvironmentEditor.d.ts +1 -1
- package/dist/elements/environment/EnvironmentEditor.d.ts.map +1 -1
- package/dist/elements/environment/EnvironmentEditor.js +1 -1
- package/dist/elements/environment/EnvironmentEditor.js.map +1 -1
- package/dist/elements/environment/ServerEditor.d.ts +1 -1
- package/dist/elements/environment/ServerEditor.d.ts.map +1 -1
- package/dist/elements/environment/ServerEditor.js +1 -1
- package/dist/elements/environment/ServerEditor.js.map +1 -1
- package/dist/elements/environment/VariablesEditor.d.ts +1 -1
- package/dist/elements/environment/VariablesEditor.d.ts.map +1 -1
- package/dist/elements/environment/VariablesEditor.js +1 -1
- package/dist/elements/environment/VariablesEditor.js.map +1 -1
- package/dist/elements/har/HarViewer.js +1 -1
- package/dist/elements/har/HarViewer.js.map +1 -1
- package/dist/elements/http/BodyEditor.d.ts +1 -1
- package/dist/elements/http/BodyEditor.d.ts.map +1 -1
- package/dist/elements/http/BodyEditor.js +1 -1
- package/dist/elements/http/BodyEditor.js.map +1 -1
- package/dist/elements/http/BodyMultipartEditor.d.ts +1 -1
- package/dist/elements/http/BodyMultipartEditor.d.ts.map +1 -1
- package/dist/elements/http/BodyMultipartEditor.js +1 -1
- package/dist/elements/http/BodyMultipartEditor.js.map +1 -1
- package/dist/elements/http/BodyUrlEncodedEditor.d.ts +1 -1
- package/dist/elements/http/BodyUrlEncodedEditor.d.ts.map +1 -1
- package/dist/elements/http/BodyUrlEncodedEditor.js +1 -1
- package/dist/elements/http/BodyUrlEncodedEditor.js.map +1 -1
- package/dist/elements/http/CertificateAdd.element.d.ts +1 -1
- package/dist/elements/http/CertificateAdd.element.d.ts.map +1 -1
- package/dist/elements/http/CertificateAdd.element.js +1 -1
- package/dist/elements/http/CertificateAdd.element.js.map +1 -1
- package/dist/elements/http/HeadersForm.d.ts +1 -1
- package/dist/elements/http/HeadersForm.d.ts.map +1 -1
- package/dist/elements/http/HeadersForm.js +1 -1
- package/dist/elements/http/HeadersForm.js.map +1 -1
- package/dist/elements/http/HttpAssertions.element.d.ts +1 -1
- package/dist/elements/http/HttpAssertions.element.d.ts.map +1 -1
- package/dist/elements/http/HttpAssertions.element.js.map +1 -1
- package/dist/elements/http/HttpFlows.element.d.ts +1 -1
- package/dist/elements/http/HttpFlows.element.d.ts.map +1 -1
- package/dist/elements/http/HttpFlows.element.js.map +1 -1
- package/dist/elements/http/HttpFlowsUi.d.ts +1 -1
- package/dist/elements/http/HttpFlowsUi.d.ts.map +1 -1
- package/dist/elements/http/HttpFlowsUi.js +1 -1
- package/dist/elements/http/HttpFlowsUi.js.map +1 -1
- package/dist/elements/http/LogBody.d.ts +1 -1
- package/dist/elements/http/LogBody.d.ts.map +1 -1
- package/dist/elements/http/LogBody.js +1 -1
- package/dist/elements/http/LogBody.js.map +1 -1
- package/dist/elements/http/LogHeaders.d.ts +1 -1
- package/dist/elements/http/LogHeaders.d.ts.map +1 -1
- package/dist/elements/http/LogHeaders.js +1 -1
- package/dist/elements/http/LogHeaders.js.map +1 -1
- package/dist/elements/http/LogTimings.d.ts +1 -1
- package/dist/elements/http/LogTimings.d.ts.map +1 -1
- package/dist/elements/http/LogTimings.js.map +1 -1
- package/dist/elements/http/RequestAuth.template.d.ts +1 -1
- package/dist/elements/http/RequestAuth.template.d.ts.map +1 -1
- package/dist/elements/http/RequestAuth.template.js.map +1 -1
- package/dist/elements/http/RequestConfigElement.d.ts +1 -1
- package/dist/elements/http/RequestConfigElement.d.ts.map +1 -1
- package/dist/elements/http/RequestConfigElement.js +1 -1
- package/dist/elements/http/RequestConfigElement.js.map +1 -1
- package/dist/elements/http/RequestEditor.d.ts +2 -2
- package/dist/elements/http/RequestEditor.d.ts.map +1 -1
- package/dist/elements/http/RequestEditor.js +1 -1
- package/dist/elements/http/RequestEditor.js.map +1 -1
- package/dist/elements/http/RequestLog.d.ts +1 -1
- package/dist/elements/http/RequestLog.d.ts.map +1 -1
- package/dist/elements/http/RequestLog.js +1 -1
- package/dist/elements/http/RequestLog.js.map +1 -1
- package/dist/elements/http/UrlEncodeUtils.d.ts +1 -1
- package/dist/elements/http/UrlEncodeUtils.d.ts.map +1 -1
- package/dist/elements/http/UrlEncodeUtils.js +1 -1
- package/dist/elements/http/UrlEncodeUtils.js.map +1 -1
- package/dist/elements/http/UrlInput.d.ts +1 -1
- package/dist/elements/http/UrlInput.d.ts.map +1 -1
- package/dist/elements/http/UrlInput.js.map +1 -1
- package/dist/elements/http/UrlParamsForm.d.ts +1 -1
- package/dist/elements/http/UrlParamsForm.d.ts.map +1 -1
- package/dist/elements/http/UrlParamsForm.js +1 -1
- package/dist/elements/http/UrlParamsForm.js.map +1 -1
- package/dist/elements/layout/SplitPanel.js +1 -1
- package/dist/elements/layout/SplitPanel.js.map +1 -1
- package/dist/elements/navigation/AppNavigationElement.js +1 -1
- package/dist/elements/navigation/AppNavigationElement.js.map +1 -1
- package/dist/elements/project/HttpProjectRequest.d.ts +2 -2
- package/dist/elements/project/HttpProjectRequest.d.ts.map +1 -1
- package/dist/elements/project/HttpProjectRequest.js +1 -1
- package/dist/elements/project/HttpProjectRequest.js.map +1 -1
- package/dist/elements/project/HttpProjectRequestHistory.d.ts +1 -1
- package/dist/elements/project/HttpProjectRequestHistory.d.ts.map +1 -1
- package/dist/elements/project/HttpProjectRequestHistory.js +1 -1
- package/dist/elements/project/HttpProjectRequestHistory.js.map +1 -1
- package/dist/elements/project/ProjectNavigation.d.ts +1 -1
- package/dist/elements/project/ProjectNavigation.d.ts.map +1 -1
- package/dist/elements/project/ProjectNavigation.js +1 -1
- package/dist/elements/project/ProjectNavigation.js.map +1 -1
- package/dist/elements/project/ProjectRunReport.d.ts +1 -1
- package/dist/elements/project/ProjectRunReport.d.ts.map +1 -1
- package/dist/elements/project/ProjectRunReport.js +1 -1
- package/dist/elements/project/ProjectRunReport.js.map +1 -1
- package/dist/elements/project/ProjectRunner.d.ts +1 -1
- package/dist/elements/project/ProjectRunner.d.ts.map +1 -1
- package/dist/elements/project/ProjectRunner.js +1 -1
- package/dist/elements/project/ProjectRunner.js.map +1 -1
- package/dist/elements/project/ProjectRunnerNavigationElement.d.ts +1 -1
- package/dist/elements/project/ProjectRunnerNavigationElement.d.ts.map +1 -1
- package/dist/elements/project/ProjectRunnerNavigationElement.js +1 -1
- package/dist/elements/project/ProjectRunnerNavigationElement.js.map +1 -1
- package/dist/elements/schema-design/AssociationFormElement.d.ts +1 -1
- package/dist/elements/schema-design/AssociationFormElement.d.ts.map +1 -1
- package/dist/elements/schema-design/AssociationFormElement.js +1 -1
- package/dist/elements/schema-design/AssociationFormElement.js.map +1 -1
- package/dist/elements/schema-design/DataEntityEditorElement.d.ts +1 -1
- package/dist/elements/schema-design/DataEntityEditorElement.d.ts.map +1 -1
- package/dist/elements/schema-design/DataEntityEditorElement.js +1 -1
- package/dist/elements/schema-design/DataEntityEditorElement.js.map +1 -1
- package/dist/elements/schema-design/DataModelVisualizationElement.d.ts +1 -1
- package/dist/elements/schema-design/DataModelVisualizationElement.d.ts.map +1 -1
- package/dist/elements/schema-design/DataModelVisualizationElement.js.map +1 -1
- package/dist/elements/schema-design/DataSchemaDocument.d.ts +1 -1
- package/dist/elements/schema-design/DataSchemaDocument.d.ts.map +1 -1
- package/dist/elements/schema-design/DataSchemaDocument.js +1 -1
- package/dist/elements/schema-design/DataSchemaDocument.js.map +1 -1
- package/dist/elements/schema-design/EntityFormElement.d.ts +1 -1
- package/dist/elements/schema-design/EntityFormElement.d.ts.map +1 -1
- package/dist/elements/schema-design/EntityFormElement.js +1 -1
- package/dist/elements/schema-design/EntityFormElement.js.map +1 -1
- package/dist/elements/schema-design/PropertyFormElement.d.ts +1 -1
- package/dist/elements/schema-design/PropertyFormElement.d.ts.map +1 -1
- package/dist/elements/schema-design/PropertyFormElement.js +1 -1
- package/dist/elements/schema-design/PropertyFormElement.js.map +1 -1
- package/dist/elements/schema-design/SchemaDesignNavigation.d.ts +1 -1
- package/dist/elements/schema-design/SchemaDesignNavigation.d.ts.map +1 -1
- package/dist/elements/schema-design/SchemaDesignNavigation.js +1 -1
- package/dist/elements/schema-design/SchemaDesignNavigation.js.map +1 -1
- package/dist/elements/schema-design/SchemaNamespaceSelector.d.ts +1 -1
- package/dist/elements/schema-design/SchemaNamespaceSelector.d.ts.map +1 -1
- package/dist/elements/schema-design/SchemaNamespaceSelector.js +1 -1
- package/dist/elements/schema-design/SchemaNamespaceSelector.js.map +1 -1
- package/dist/elements/store/FilePicker.element.d.ts +1 -1
- package/dist/elements/store/FilePicker.element.d.ts.map +1 -1
- package/dist/elements/store/FilePicker.element.js +1 -1
- package/dist/elements/store/FilePicker.element.js.map +1 -1
- package/dist/elements/store/FilesLib.d.ts +1 -1
- package/dist/elements/store/FilesLib.d.ts.map +1 -1
- package/dist/elements/store/FilesLib.js +1 -1
- package/dist/elements/store/FilesLib.js.map +1 -1
- package/dist/elements/store/ShareFile.element.d.ts +1 -1
- package/dist/elements/store/ShareFile.element.d.ts.map +1 -1
- package/dist/elements/store/ShareFile.element.js +1 -1
- package/dist/elements/store/ShareFile.element.js.map +1 -1
- package/dist/elements/user/UserAvatarElement.d.ts +1 -1
- package/dist/elements/user/UserAvatarElement.d.ts.map +1 -1
- package/dist/elements/user/UserAvatarElement.js.map +1 -1
- package/dist/events/BroadcastUiEvents.d.ts +1 -1
- package/dist/events/BroadcastUiEvents.d.ts.map +1 -1
- package/dist/events/BroadcastUiEvents.js.map +1 -1
- package/dist/events/Events.d.ts +30 -30
- package/dist/events/HttpClientEvents.d.ts +1 -1
- package/dist/events/HttpClientEvents.d.ts.map +1 -1
- package/dist/events/HttpClientEvents.js +1 -1
- package/dist/events/HttpClientEvents.js.map +1 -1
- package/dist/events/HttpProjectEvents.d.ts +1 -1
- package/dist/events/HttpProjectEvents.d.ts.map +1 -1
- package/dist/events/HttpProjectEvents.js +1 -1
- package/dist/events/HttpProjectEvents.js.map +1 -1
- package/dist/events/StoreEvents.d.ts +1 -1
- package/dist/events/StoreEvents.d.ts.map +1 -1
- package/dist/events/StoreEvents.js +1 -1
- package/dist/events/StoreEvents.js.map +1 -1
- package/dist/events/amf/ApiEvents.d.ts +1 -1
- package/dist/events/amf/ApiEvents.d.ts.map +1 -1
- package/dist/events/amf/ApiEvents.js.map +1 -1
- package/dist/events/amf/DocumentationEvents.d.ts +1 -1
- package/dist/events/amf/DocumentationEvents.d.ts.map +1 -1
- package/dist/events/amf/DocumentationEvents.js.map +1 -1
- package/dist/events/amf/EndpointEvents.d.ts +1 -1
- package/dist/events/amf/EndpointEvents.d.ts.map +1 -1
- package/dist/events/amf/EndpointEvents.js.map +1 -1
- package/dist/events/amf/Events.d.ts +17 -17
- package/dist/events/amf/OperationEvents.d.ts +1 -1
- package/dist/events/amf/OperationEvents.d.ts.map +1 -1
- package/dist/events/amf/OperationEvents.js.map +1 -1
- package/dist/events/amf/PayloadEvents.d.ts +1 -1
- package/dist/events/amf/PayloadEvents.d.ts.map +1 -1
- package/dist/events/amf/PayloadEvents.js.map +1 -1
- package/dist/events/amf/RequestEvents.d.ts +1 -1
- package/dist/events/amf/RequestEvents.d.ts.map +1 -1
- package/dist/events/amf/RequestEvents.js.map +1 -1
- package/dist/events/amf/ResponseEvents.d.ts +1 -1
- package/dist/events/amf/ResponseEvents.d.ts.map +1 -1
- package/dist/events/amf/ResponseEvents.js.map +1 -1
- package/dist/events/amf/SecurityEvents.d.ts +1 -1
- package/dist/events/amf/SecurityEvents.d.ts.map +1 -1
- package/dist/events/amf/SecurityEvents.js.map +1 -1
- package/dist/events/amf/ServerEvents.d.ts +1 -1
- package/dist/events/amf/ServerEvents.d.ts.map +1 -1
- package/dist/events/amf/ServerEvents.js.map +1 -1
- package/dist/events/amf/TypeEvents.d.ts +1 -1
- package/dist/events/amf/TypeEvents.d.ts.map +1 -1
- package/dist/events/amf/TypeEvents.js.map +1 -1
- package/dist/http-client/idb/Arc18DataUpgrade.js +1 -1
- package/dist/http-client/idb/Arc18DataUpgrade.js.map +1 -1
- package/dist/http-client/idb/Base.d.ts +1 -1
- package/dist/http-client/idb/Base.d.ts.map +1 -1
- package/dist/http-client/idb/Base.js +1 -1
- package/dist/http-client/idb/Base.js.map +1 -1
- package/dist/http-client/idb/LegacyBodyProcessor.d.ts +1 -1
- package/dist/http-client/idb/LegacyBodyProcessor.d.ts.map +1 -1
- package/dist/http-client/idb/LegacyBodyProcessor.js.map +1 -1
- package/dist/http-client/idb/MockedStore.d.ts +1 -1
- package/dist/http-client/idb/MockedStore.d.ts.map +1 -1
- package/dist/http-client/idb/MockedStore.js +1 -1
- package/dist/http-client/idb/MockedStore.js.map +1 -1
- package/dist/http-client/store/Cursor.js +1 -1
- package/dist/http-client/store/Cursor.js.map +1 -1
- package/dist/http-client/store/DataImportProcessor.d.ts +2 -2
- package/dist/http-client/store/DataImportProcessor.d.ts.map +1 -1
- package/dist/http-client/store/DataImportProcessor.js +2 -2
- package/dist/http-client/store/DataImportProcessor.js.map +1 -1
- package/dist/http-client/store/HttpClientIdbDatabase.d.ts +1 -1
- package/dist/http-client/store/HttpClientIdbDatabase.d.ts.map +1 -1
- package/dist/http-client/store/HttpClientIdbDatabase.js.map +1 -1
- package/dist/http-client/store/IdbThread.d.ts +1 -1
- package/dist/http-client/store/IdbThread.d.ts.map +1 -1
- package/dist/http-client/store/IdbThread.js.map +1 -1
- package/dist/http-client/store/State.d.ts +1 -1
- package/dist/http-client/store/State.d.ts.map +1 -1
- package/dist/http-client/store/State.js.map +1 -1
- package/dist/http-client/store/idb/IdbProjectUi.d.ts +1 -1
- package/dist/http-client/store/idb/IdbProjectUi.d.ts.map +1 -1
- package/dist/http-client/store/idb/IdbProjectUi.js +1 -1
- package/dist/http-client/store/idb/IdbProjectUi.js.map +1 -1
- package/dist/http-client/store/idb/IdbUrlHistory.d.ts +1 -1
- package/dist/http-client/store/idb/IdbUrlHistory.d.ts.map +1 -1
- package/dist/http-client/store/idb/IdbUrlHistory.js.map +1 -1
- package/dist/http-client/store/idb/IdbWsHistory.d.ts +1 -1
- package/dist/http-client/store/idb/IdbWsHistory.d.ts.map +1 -1
- package/dist/http-client/store/idb/IdbWsHistory.js.map +1 -1
- package/dist/http-client/store/stores/ProjectUi.d.ts +1 -1
- package/dist/http-client/store/stores/ProjectUi.d.ts.map +1 -1
- package/dist/http-client/store/stores/ProjectUi.js.map +1 -1
- package/dist/http-client/store/stores/UrlHistory.d.ts +1 -1
- package/dist/http-client/store/stores/UrlHistory.d.ts.map +1 -1
- package/dist/http-client/store/stores/UrlHistory.js.map +1 -1
- package/dist/http-client/store/stores/WsHistory.d.ts +1 -1
- package/dist/http-client/store/stores/WsHistory.d.ts.map +1 -1
- package/dist/http-client/store/stores/WsHistory.js.map +1 -1
- package/dist/http-client/store/types.d.ts +1 -1
- package/dist/http-client/store/types.d.ts.map +1 -1
- package/dist/http-client/store/types.js.map +1 -1
- package/dist/lib/chart/HttpHistoryChart.d.ts +1 -1
- package/dist/lib/chart/HttpHistoryChart.d.ts.map +1 -1
- package/dist/lib/chart/HttpHistoryChart.js +1 -1
- package/dist/lib/chart/HttpHistoryChart.js.map +1 -1
- package/dist/lib/http/Har.d.ts +1 -1
- package/dist/lib/http/Har.d.ts.map +1 -1
- package/dist/lib/http/Har.js.map +1 -1
- package/dist/lib/http/HeadersArray.js +1 -1
- package/dist/lib/http/HeadersArray.js.map +1 -1
- package/dist/lib/http/Payload.d.ts +1 -1
- package/dist/lib/http/Payload.d.ts.map +1 -1
- package/dist/lib/http/Payload.js.map +1 -1
- package/dist/lib/http/Url.d.ts +1 -1
- package/dist/lib/http/Url.d.ts.map +1 -1
- package/dist/lib/http/Url.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 +1 -1
- package/dist/pages/ApplicationScreen.js.map +1 -1
- package/dist/pages/api-client/ApiClient.screen.d.ts +1 -1
- package/dist/pages/api-client/ApiClient.screen.d.ts.map +1 -1
- package/dist/pages/api-client/ApiClient.screen.js +1 -1
- package/dist/pages/api-client/ApiClient.screen.js.map +1 -1
- package/dist/pages/api-client/AppInfo.d.ts +1 -1
- package/dist/pages/api-client/AppInfo.d.ts.map +1 -1
- package/dist/pages/api-client/AppInfo.js.map +1 -1
- package/dist/pages/api-client/StoreConfig.screen.js +1 -1
- package/dist/pages/api-client/StoreConfig.screen.js.map +1 -1
- package/dist/pages/api-client/pages/Files.page.d.ts +1 -1
- package/dist/pages/api-client/pages/Files.page.d.ts.map +1 -1
- package/dist/pages/api-client/pages/Files.page.js +1 -1
- package/dist/pages/api-client/pages/Files.page.js.map +1 -1
- package/dist/pages/api-client/pages/Shared.page.d.ts +1 -1
- package/dist/pages/api-client/pages/Shared.page.d.ts.map +1 -1
- package/dist/pages/api-client/pages/Shared.page.js.map +1 -1
- package/dist/pages/api-client/pages/Trash.page.d.ts +1 -1
- package/dist/pages/api-client/pages/Trash.page.d.ts.map +1 -1
- package/dist/pages/api-client/pages/Trash.page.js +1 -1
- package/dist/pages/api-client/pages/Trash.page.js.map +1 -1
- package/dist/pages/http-project/AppInfo.d.ts +1 -1
- package/dist/pages/http-project/AppInfo.d.ts.map +1 -1
- package/dist/pages/http-project/AppInfo.js.map +1 -1
- package/dist/pages/http-project/HttpClientCommands.js +1 -1
- package/dist/pages/http-project/HttpClientCommands.js.map +1 -1
- package/dist/pages/http-project/HttpProject.screen.d.ts +1 -1
- package/dist/pages/http-project/HttpProject.screen.d.ts.map +1 -1
- package/dist/pages/http-project/HttpProject.screen.js +1 -1
- package/dist/pages/http-project/HttpProject.screen.js.map +1 -1
- package/dist/pages/http-project/types.d.ts +1 -1
- 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/AppInfo.d.ts +1 -1
- package/dist/pages/schema-design/AppInfo.d.ts.map +1 -1
- package/dist/pages/schema-design/AppInfo.js.map +1 -1
- package/dist/pages/schema-design/SchemaDesigner.screen.d.ts +1 -1
- package/dist/pages/schema-design/SchemaDesigner.screen.d.ts.map +1 -1
- package/dist/pages/schema-design/SchemaDesigner.screen.js +1 -1
- package/dist/pages/schema-design/SchemaDesigner.screen.js.map +1 -1
- package/dist/pages/schema-design/SchemaDesignerCommands.d.ts +1 -1
- package/dist/pages/schema-design/SchemaDesignerCommands.d.ts.map +1 -1
- package/dist/pages/schema-design/SchemaDesignerCommands.js +1 -1
- package/dist/pages/schema-design/SchemaDesignerCommands.js.map +1 -1
- package/dist/store/FileSystem.d.ts +1 -1
- package/dist/store/FileSystem.d.ts.map +1 -1
- package/dist/store/FileSystem.js.map +1 -1
- package/dist/store/HttpStore.d.ts +1 -1
- package/dist/store/HttpStore.d.ts.map +1 -1
- package/dist/store/HttpStore.js +1 -1
- package/dist/store/HttpStore.js.map +1 -1
- package/dist/store/UserCache.d.ts +1 -1
- package/dist/store/UserCache.d.ts.map +1 -1
- package/dist/store/UserCache.js.map +1 -1
- package/dist/ui/chip/UiChip.js +1 -1
- package/dist/ui/chip/UiChip.js.map +1 -1
- package/dist/ui/notification/Snackbar.js +1 -1
- package/dist/ui/notification/Snackbar.js.map +1 -1
- package/dist/visualization/plugin/positioning/DataModelLayout.d.ts +1 -1
- package/dist/visualization/plugin/positioning/DataModelLayout.d.ts.map +1 -1
- package/dist/visualization/plugin/positioning/DataModelLayout.js.map +1 -1
- package/package.json +3 -3
- package/src/amf/lib/AmfInputParser.ts +1 -1
- package/src/amf/lib/AmfParameters.ts +1 -1
- package/src/amf/lib/AmfSecurity.ts +1 -1
- package/src/amf/lib/Oauth2RamlCustomData.ts +1 -1
- package/src/amf/lib/PayloadUtils.ts +1 -1
- package/src/amf/lib/QueryParameterProcessor.ts +1 -1
- package/src/amf/lib/Utils.ts +1 -1
- package/src/amf/store/AmfGraphStore.ts +1 -1
- package/src/amf/store/AmfStore.ts +1 -1
- package/src/amf/store/InMemAmfGraphStore.ts +1 -1
- package/src/amf/types.ts +1 -1
- package/src/bindings/base/HttpClientStoreBindings.ts +1 -1
- package/src/bindings/base/IoThread.ts +1 -1
- package/src/bindings/base/PlatformBindings.ts +1 -1
- package/src/bindings/base/ProxyBindings.ts +1 -1
- package/src/bindings/base/StoreBindings.ts +1 -1
- package/src/bindings/web/WebConfigurationBindings.ts +1 -1
- package/src/bindings/web/WebFileBindings.ts +1 -1
- package/src/bindings/web/WebHttpClientStoreBindings.ts +1 -1
- package/src/bindings/web/WebProxyBindings.ts +1 -1
- package/src/bindings/web/WebStoreBindings.ts +1 -1
- package/src/code-snippets/Bash/CurlSnippet.ts +1 -1
- package/src/code-snippets/C/CcurlSnippet.ts +1 -1
- package/src/code-snippets/CodeSnippet.ts +1 -1
- package/src/code-snippets/Dart/DartSnippet.ts +1 -1
- package/src/code-snippets/HTTP/RawSnippet.ts +1 -1
- package/src/code-snippets/Java/PlatformSnippet.ts +1 -1
- package/src/code-snippets/Java/SpringSnippet.ts +1 -1
- package/src/code-snippets/JavaScript/AsyncFetchSnippet.ts +1 -1
- package/src/code-snippets/JavaScript/AxiosSnippet.ts +1 -1
- package/src/code-snippets/JavaScript/FetchSnippet.ts +1 -1
- package/src/code-snippets/JavaScript/NodeSnippet.ts +1 -1
- package/src/code-snippets/JavaScript/XhrSnippet.ts +1 -1
- package/src/code-snippets/JavaScript/jQuerySnippet.ts +1 -1
- package/src/code-snippets/Python/Python27Snippet.ts +1 -1
- package/src/code-snippets/Python/Python31Snippet.ts +1 -1
- package/src/code-snippets/Python/RequestsSnippet.ts +1 -1
- package/src/elements/amf/ApiAnnotationDocument.element.ts +1 -1
- package/src/elements/amf/ApiAuthorizationEditor.element.ts +1 -1
- package/src/elements/amf/ApiChannelDocument.element.ts +1 -1
- package/src/elements/amf/ApiDocumentation.element.ts +1 -1
- package/src/elements/amf/ApiDocumentationBase.ts +1 -1
- package/src/elements/amf/ApiDocumentationDocument.element.ts +1 -1
- package/src/elements/amf/ApiNavigation.element.ts +1 -1
- package/src/elements/amf/ApiOperationDocument.element.ts +1 -1
- package/src/elements/amf/ApiParameterDocument.element.ts +1 -1
- package/src/elements/amf/ApiParametrizedSecurityScheme.element.ts +1 -1
- package/src/elements/amf/ApiPayloadDocument.element.ts +1 -1
- package/src/elements/amf/ApiRequest.element.ts +1 -1
- package/src/elements/amf/ApiRequestDocument.element.ts +1 -1
- package/src/elements/amf/ApiRequestEditor.element.ts +1 -1
- package/src/elements/amf/ApiResourceDocument.element.ts +1 -1
- package/src/elements/amf/ApiResponseDocument.element.ts +1 -1
- package/src/elements/amf/ApiSchemaDocument.element.ts +1 -1
- package/src/elements/amf/ApiSecurityDocument.element.ts +1 -1
- package/src/elements/amf/ApiSecurityRequirementDocument.element.ts +1 -1
- package/src/elements/amf/ApiServerPicker.element.ts +1 -1
- package/src/elements/amf/ApiSummary.element.ts +1 -1
- package/src/elements/amf/SchemaCommonTemplates.ts +1 -1
- package/src/elements/amf/authorization/AmfApiKey.ts +1 -1
- package/src/elements/amf/authorization/AmfBasic.ts +1 -1
- package/src/elements/amf/authorization/AmfBearer.ts +1 -1
- package/src/elements/amf/authorization/AmfOauth2.ts +1 -1
- package/src/elements/amf/authorization/AmfOidc.ts +1 -1
- package/src/elements/amf/authorization/AmfPassThrough.ts +1 -1
- package/src/elements/amf/authorization/AmfRamlCustom.ts +1 -1
- package/src/elements/authorization/OAuth2Authorize.ts +1 -1
- package/src/elements/authorization/OidcAuthorize.ts +1 -1
- package/src/elements/authorization/ui/ApiKeyAuthorization.ts +1 -1
- package/src/elements/authorization/ui/Authorization.ts +1 -1
- package/src/elements/authorization/ui/BasicAuthorization.ts +1 -1
- package/src/elements/authorization/ui/BearerAuthorization.ts +1 -1
- package/src/elements/authorization/ui/CcAuthorization.ts +1 -1
- package/src/elements/authorization/ui/NtlmAuthorization.ts +1 -1
- package/src/elements/authorization/ui/OAuth2Authorization.ts +1 -1
- package/src/elements/authorization/ui/OidcAuthorization.ts +1 -1
- package/src/elements/code/HttpSnippets.ts +1 -1
- package/src/elements/dialog/DeleteCookieAction.element.ts +1 -1
- package/src/elements/dialog/SetCookieAction.element.ts +2 -2
- package/src/elements/environment/EnvironmentEditor.ts +1 -1
- package/src/elements/environment/ServerEditor.ts +1 -1
- package/src/elements/environment/VariablesEditor.ts +1 -1
- package/src/elements/har/HarViewer.ts +1 -1
- package/src/elements/http/BodyEditor.ts +1 -1
- package/src/elements/http/BodyMultipartEditor.ts +1 -1
- package/src/elements/http/BodyUrlEncodedEditor.ts +1 -1
- package/src/elements/http/CertificateAdd.element.ts +1 -1
- package/src/elements/http/HeadersForm.ts +1 -1
- package/src/elements/http/HttpAssertions.element.ts +1 -1
- package/src/elements/http/HttpFlows.element.ts +1 -1
- package/src/elements/http/HttpFlowsUi.ts +1 -1
- package/src/elements/http/LogBody.ts +1 -1
- package/src/elements/http/LogHeaders.ts +1 -1
- package/src/elements/http/LogTimings.ts +1 -1
- package/src/elements/http/RequestAuth.template.ts +1 -1
- package/src/elements/http/RequestConfigElement.ts +1 -1
- package/src/elements/http/RequestEditor.ts +2 -2
- package/src/elements/http/RequestLog.ts +1 -1
- package/src/elements/http/UrlEncodeUtils.ts +1 -1
- package/src/elements/http/UrlInput.ts +1 -1
- package/src/elements/http/UrlParamsForm.ts +1 -1
- package/src/elements/layout/SplitPanel.ts +1 -1
- package/src/elements/navigation/AppNavigationElement.ts +1 -1
- package/src/elements/project/HttpProjectRequest.ts +2 -2
- package/src/elements/project/HttpProjectRequestHistory.ts +1 -1
- package/src/elements/project/ProjectNavigation.ts +1 -1
- package/src/elements/project/ProjectRunReport.ts +1 -1
- package/src/elements/project/ProjectRunner.ts +1 -1
- package/src/elements/project/ProjectRunnerNavigationElement.ts +1 -1
- package/src/elements/schema-design/AssociationFormElement.ts +1 -1
- package/src/elements/schema-design/DataEntityEditorElement.ts +1 -1
- package/src/elements/schema-design/DataModelVisualizationElement.ts +1 -1
- package/src/elements/schema-design/DataSchemaDocument.ts +1 -1
- package/src/elements/schema-design/EntityFormElement.ts +1 -1
- package/src/elements/schema-design/PropertyFormElement.ts +2 -2
- package/src/elements/schema-design/SchemaDesignNavigation.ts +1 -1
- package/src/elements/schema-design/SchemaNamespaceSelector.ts +1 -1
- package/src/elements/store/FilePicker.element.ts +1 -1
- package/src/elements/store/FilesLib.ts +1 -1
- package/src/elements/store/ShareFile.element.ts +1 -1
- package/src/elements/user/UserAvatarElement.ts +1 -1
- package/src/events/BroadcastUiEvents.ts +1 -1
- package/src/events/HttpClientEvents.ts +1 -1
- package/src/events/HttpProjectEvents.ts +1 -1
- package/src/events/StoreEvents.ts +1 -1
- package/src/events/amf/ApiEvents.ts +1 -1
- package/src/events/amf/DocumentationEvents.ts +1 -1
- package/src/events/amf/EndpointEvents.ts +1 -1
- package/src/events/amf/OperationEvents.ts +1 -1
- package/src/events/amf/PayloadEvents.ts +1 -1
- package/src/events/amf/RequestEvents.ts +1 -1
- package/src/events/amf/ResponseEvents.ts +1 -1
- package/src/events/amf/SecurityEvents.ts +1 -1
- package/src/events/amf/ServerEvents.ts +1 -1
- package/src/events/amf/TypeEvents.ts +1 -1
- package/src/http-client/idb/Arc18DataUpgrade.ts +1 -1
- package/src/http-client/idb/Base.ts +1 -1
- package/src/http-client/idb/LegacyBodyProcessor.ts +1 -1
- package/src/http-client/idb/MockedStore.ts +1 -1
- package/src/http-client/store/Cursor.ts +1 -1
- package/src/http-client/store/DataImportProcessor.ts +2 -2
- package/src/http-client/store/HttpClientIdbDatabase.ts +1 -1
- package/src/http-client/store/IdbThread.ts +1 -1
- package/src/http-client/store/State.ts +1 -1
- package/src/http-client/store/idb/IdbProjectUi.ts +1 -1
- package/src/http-client/store/idb/IdbUrlHistory.ts +1 -1
- package/src/http-client/store/idb/IdbWsHistory.ts +1 -1
- package/src/http-client/store/stores/ProjectUi.ts +1 -1
- package/src/http-client/store/stores/UrlHistory.ts +1 -1
- package/src/http-client/store/stores/WsHistory.ts +1 -1
- package/src/http-client/store/types.ts +1 -1
- package/src/lib/chart/HttpHistoryChart.ts +1 -1
- package/src/lib/http/Har.ts +1 -1
- package/src/lib/http/HeadersArray.ts +1 -1
- package/src/lib/http/Payload.ts +1 -1
- package/src/lib/http/Url.ts +1 -1
- package/src/pages/ApplicationScreen.ts +1 -1
- package/src/pages/api-client/ApiClient.screen.ts +1 -1
- package/src/pages/api-client/AppInfo.ts +1 -1
- package/src/pages/api-client/StoreConfig.screen.ts +1 -1
- package/src/pages/api-client/pages/Files.page.ts +1 -1
- package/src/pages/api-client/pages/Shared.page.ts +1 -1
- package/src/pages/api-client/pages/Trash.page.ts +1 -1
- package/src/pages/http-project/AppInfo.ts +1 -1
- package/src/pages/http-project/HttpClientCommands.ts +1 -1
- package/src/pages/http-project/HttpProject.screen.ts +1 -1
- package/src/pages/http-project/types.ts +1 -1
- package/src/pages/schema-design/AppInfo.ts +1 -1
- package/src/pages/schema-design/SchemaDesigner.screen.ts +1 -1
- package/src/pages/schema-design/SchemaDesignerCommands.ts +1 -1
- package/src/store/FileSystem.ts +1 -1
- package/src/store/HttpStore.ts +1 -1
- package/src/store/UserCache.ts +1 -1
- package/src/ui/chip/UiChip.ts +1 -1
- package/src/ui/notification/Snackbar.ts +1 -1
- package/src/visualization/plugin/positioning/DataModelLayout.ts +1 -1
- package/test/amf/AmfLoader.ts +1 -1
- package/test/amf/authorization/ApiAuthorizationEditorElement.oas.test.ts +1 -1
- package/test/amf/authorization/ApiAuthorizationEditorElement.raml.test.ts +1 -1
- package/test/amf/authorization/ApiKeyMethod.test.ts +1 -1
- package/test/amf/authorization/CustomMethod.test.ts +1 -1
- package/test/amf/authorization/OAuth2-21143.test.ts +1 -1
- package/test/amf/authorization/OAuth2-flows.test.ts +1 -1
- package/test/amf/authorization/OAuth2-pkce.test.ts +1 -1
- package/test/amf/authorization/OAuth2Method.test.ts +1 -1
- package/test/amf/authorization/PassThroughMethod.test.ts +1 -1
- package/test/amf/elements/ApiAnnotationDocumentElement.test.ts +1 -1
- package/test/amf/elements/ApiDocumentationDocumentElement.test.ts +1 -1
- package/test/amf/elements/ApiDocumentationElement.test.ts +1 -1
- package/test/amf/elements/ApiOperationDocumentElement.test.ts +1 -1
- package/test/amf/elements/ApiRequestDocumentElement.test.ts +1 -1
- package/test/amf/elements/ApiResourceDocumentElement.test.ts +1 -1
- package/test/amf/elements/ApiResponseDocumentElement.test.ts +1 -1
- package/test/amf/elements/ApiSchemaDocumentElement.test.ts +1 -1
- package/test/amf/elements/ApiSecurityDocumentElement.test.ts +1 -1
- package/test/amf/elements/ApiSecurityRequirementDocumentElement.test.ts +1 -1
- package/test/amf/elements/ApiServerPickerElement.test.ts +1 -1
- package/test/amf/elements/ApiSummaryElement.test.ts +1 -1
- package/test/amf/elements/SE-12957.test.ts +1 -1
- package/test/amf/http-request/APIC-289.test.ts +1 -1
- package/test/amf/http-request/APIC-298.test.ts +1 -1
- package/test/amf/http-request/APIC-689.test.ts +1 -1
- package/test/amf/http-request/ApiRequestEditorElement.test.ts +1 -1
- package/test/amf/http-request/ApiRequestElement.test.ts +1 -1
- package/test/amf/http-request/SE-12042.test.ts +1 -1
- package/test/amf/http-request/SE-12957.test.ts +1 -1
- package/test/amf/lib/UrlUtils.test.ts +1 -1
- package/test/amf/navigation/ApiNavigationElement.test.ts +1 -1
- package/test/elements/authorization/basic-method.test.ts +1 -1
- package/test/elements/authorization/bearer-method.test.ts +1 -1
- package/test/elements/authorization/ntlm-method.test.ts +1 -1
- package/test/elements/authorization/oauth2-client-credentials-method.test.ts +1 -1
- package/test/elements/authorization/oauth2-code-method.test.ts +1 -1
- package/test/elements/authorization/oauth2-custom-grant-method.test.ts +1 -1
- package/test/elements/authorization/oauth2-device-code-method.test.ts +1 -1
- package/test/elements/authorization/oauth2-implicit-method.test.ts +1 -1
- package/test/elements/authorization/oauth2-jwt-method.test.ts +1 -1
- package/test/elements/authorization/oauth2-password-method.test.ts +1 -1
- package/test/elements/authorization/openid-method.test.ts +1 -1
- package/test/elements/http/BodyFormdataEditorElement.test.ts +1 -1
- package/test/elements/http/HttpAssertions.test.ts +1 -1
- package/test/elements/http/HttpFlows.test.ts +1 -1
- package/test/elements/http/UrlEncodeUtils.test.ts +1 -1
- package/test/elements/store/FilePicker.test.ts +1 -1
- package/test/helpers/StoreHelper.ts +1 -1
- package/web-dev-server.config.mjs +2 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectRunner.js","sourceRoot":"","sources":["../../../src/elements/project/ProjectRunner.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, TemplateResult, PropertyValues, nothing } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { \n HttpProject, ProjectFolder, IProjectRunnerOptions, \n Events as CoreEvents, IProjectExecutionLog, \n IApplication, HttpProjectKind, \n IHttpProjectProxyInit,\n ProjectExecutionKind,\n IProjectExecution,\n IProjectExecutionListOptions,\n BroadcastEvent,\n ProjectExecutionDeleteBroadcastEvent,\n ProjectExecutionCreatedBroadcastEvent,\n} from '@api-client/core/build/browser.js';\nimport ApiElement from '../ApiElement.js';\nimport type CheckboxElement from '../../ui/input/CheckboxElement.js';\nimport type Input from '../../ui/input/Input.js';\nimport { Events } from '../../events/Events.js';\nimport '@github/relative-time-element';\nimport '../../define/http-project/project-run-report.js';\nimport '../../define/ui/ui-checkbox.js';\nimport '../../define/ui/ui-text-field.js';\nimport '../../define/ui/ui-button.js';\nimport '../../define/ui/ui-progress.js';\nimport '../../define/ui/ui-icon.js';\nimport '../../define/ui/ui-dropdown-list.js';\nimport '../../define/ui/ui-list.js';\nimport '../../define/ui/ui-list-item.js';\nimport { StoreBroadcast } from '../../http-client/store/StoreBroadcast.js';\n\n/**\n * @fires change - When the configuration of the runner change.\n */\nexport default class ProjectRunner extends ApiElement {\n /**\n * A reference to the global shared variables.\n * Used with the communication with the execution server.\n */\n @property({ type: Object }) sharedVariables?: Record<string, string>;\n\n /**\n * The instance of the current project.\n */\n @property({ type: Object }) project?: HttpProject;\n\n /**\n * This property is required for the API access to work.\n * Set it to the current application information.\n */\n @property({ type: Object }) appInfo?: IApplication;\n\n /**\n * The key of the folder to render the runner for.\n * When not set, it renders the runner for the project.\n * @attribute\n */\n @property({ type: String, reflect: true }) folder?: string;\n\n /**\n * The object we operate on.\n */\n @state() protected root?: HttpProject | ProjectFolder;\n\n /**\n * Whether the element is currently running the project execution.\n */\n @state() protected running?: boolean;\n\n /**\n * Whether the element is currently querying for the history data.\n */\n @state() protected querying?: boolean;\n\n /**\n * The page cursor for pagination.\n */\n protected pageCursor?: string;\n\n /**\n * The run configuration.\n */\n @property({ type: Object }) config?: IProjectRunnerOptions;\n\n @state() protected lastError?: string;\n\n protected history: IProjectExecution[] = [];\n\n protected queryPageDebouncer?: number;\n\n debounceTimeout = 100;\n\n /**\n * The key of the currently rendered report.\n */\n protected selectedReport?: string;\n\n /**\n * The currently rendered report.\n */\n @state() renderedReport?: IProjectExecution;\n\n channel = new BroadcastChannel(StoreBroadcast.projectRuns);\n\n constructor() {\n super();\n\n this.handleBroadcast = this.handleBroadcast.bind(this);\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.channel.addEventListener('message', this.handleBroadcast);\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.channel.removeEventListener('message', this.handleBroadcast);\n }\n\n override willUpdate(cp: PropertyValues<this>): void {\n super.willUpdate(cp);\n if (cp.has('project') || cp.has('folder')) {\n this.setupRoot();\n }\n }\n\n protected handleBroadcast(e: MessageEvent): void {\n const event = e.data as BroadcastEvent;\n switch (event.operation) {\n case 'created': this.handleProjectRunCreated(event as ProjectExecutionCreatedBroadcastEvent); break;\n case 'deleted': this.handleProjectRunDeleted(event as ProjectExecutionDeleteBroadcastEvent); break;\n default:\n }\n }\n\n protected setupRoot(): void {\n const { project, folder } = this;\n if (!project) {\n this.root = undefined;\n return;\n }\n if (!folder) {\n this.root = project;\n } else {\n this.root = project.findFolder(folder);\n }\n this.resetHistory();\n this.queryPageDebounce();\n }\n\n protected handleProjectRunCreated(event: ProjectExecutionCreatedBroadcastEvent): void {\n const { project, folder } = this;\n if (!project) {\n return;\n }\n if (project.key !== event.project) {\n return;\n }\n const item = event.data as IProjectExecution;\n if (folder && item.parent !== folder) {\n return;\n }\n this.history.push(item);\n this.history.sort(this.historySort);\n this.selectHistory(item.key);\n }\n\n protected handleProjectRunDeleted(event: ProjectExecutionDeleteBroadcastEvent): void {\n const { history, project } = this;\n if (!project) {\n return;\n }\n if (project.key !== event.project) {\n return;\n }\n const { key } = event;\n const index = history.findIndex(i => i.key === key);\n if (index < 0) {\n return;\n }\n history.splice(index, 1);\n this.requestUpdate();\n if (this.selectedReport === key) {\n this.selectedReport = undefined;\n const [first] = history;\n if (first) {\n this.selectHistory(first.key);\n }\n }\n }\n\n protected handleRun(): void {\n this.execute();\n }\n\n /**\n * Executes the current configuration.\n */\n async execute(): Promise<void> {\n this.lastError = undefined;\n const { config = {}, folder, project } = this;\n if (!project) {\n return;\n }\n if (folder) {\n config.parent = folder;\n }\n // Note, we intentionally don't add shared variables.\n // Project / folder execution should be contained and can only leak \n // out the variables to the rest of the app, not in.\n\n // if (sharedVariables && !config.variables) {\n // config.variables = sharedVariables;\n // }\n const init: IHttpProjectProxyInit = {\n kind: HttpProjectKind,\n project: project.toJSON(),\n options: config,\n };\n \n this.running = true;\n try {\n const result = await CoreEvents.Transport.Core.httpProject(init, this);\n if (!result) {\n this.lastError = 'The project execution event was not handled.';\n } else {\n this.mergeExecutedVariables(result.result);\n this.createHistory(result.result);\n }\n } catch (e) {\n this.lastError = (e as Error).message;\n }\n this.running = false;\n }\n\n mergeExecutedVariables(result: IProjectExecutionLog): void {\n const { sharedVariables } = this;\n if (!sharedVariables) {\n return;\n }\n\n result.iterations.forEach((iteration) => {\n const { variables } = iteration;\n if (!variables) {\n return;\n }\n Object.keys(variables).forEach((key) => {\n sharedVariables[key] = variables[key];\n });\n });\n\n }\n\n protected async createHistory(result: IProjectExecutionLog): Promise<void> {\n const { appInfo, project } = this;\n if (!appInfo) {\n throw new Error(`The appInfo is not set on ${this.localName}`);\n }\n if (!project) {\n return;\n }\n await Events.Store.ProjectRuns.add({\n ...result,\n app: appInfo.code,\n project: project.key,\n key: '',\n kind: ProjectExecutionKind,\n midnight: 0,\n parent: this.folder,\n });\n }\n\n resetHistory(): void {\n this.querying = false;\n this.pageCursor = undefined;\n this.history = [];\n if (this.queryPageDebouncer) {\n clearTimeout(this.queryPageDebouncer);\n this.queryPageDebouncer = undefined;\n }\n }\n\n queryPageDebounce(): void {\n if (this.queryPageDebouncer) {\n return;\n }\n this.queryPageDebouncer = setTimeout(() => { \n this.queryPageDebouncer = undefined;\n this.queryPage();\n }, this.debounceTimeout) as unknown as number;\n }\n\n async queryPage(): Promise<void> {\n const { project, appInfo, folder, pageCursor } = this;\n if (this.querying || !project) {\n return;\n }\n this.querying = true;\n const opts: IProjectExecutionListOptions = {\n space: '',\n project: project.key,\n };\n if (appInfo) {\n opts.app = appInfo.code;\n }\n if (folder) {\n opts.parent = folder;\n }\n if (pageCursor) {\n opts.cursor = pageCursor;\n }\n try {\n const result = await Events.Store.ProjectRuns.list(opts, this);\n if (!result) {\n throw new Error(`Project runs query not handled by the store.`);\n }\n const { items, cursor } = result;\n if (items.length) {\n if (cursor) {\n this.pageCursor = cursor;\n }\n this.history = this.history.concat(items);\n this.history.sort(this.historySort);\n if (!this.selectedReport) {\n const [last] = this.history;\n this.selectHistory(last.key);\n }\n this.requestUpdate();\n }\n } catch (e) {\n // eslint-disable-next-line no-console\n console.warn(e);\n } finally {\n this.querying = false;\n }\n }\n\n protected historySort(a: IProjectExecution, b: IProjectExecution): number {\n return b.ended - a.ended;\n }\n\n setRecursive(value: boolean): void {\n const { config = {} } = this;\n config.recursive = value;\n this.config = config;\n this.notifyChange();\n }\n\n setParallel(value: boolean): void {\n const { config = {} } = this;\n config.parallel = value;\n this.config = config;\n this.notifyChange();\n }\n\n setIterations(value: number): void {\n const { config = {} } = this;\n config.iterations = value;\n this.config = config;\n this.notifyChange();\n }\n\n setIterationDelay(value: number): void {\n const { config = {} } = this;\n config.iterationDelay = value;\n this.config = config;\n this.notifyChange();\n }\n\n protected handleRecursiveChecked(e: Event): void {\n const input = e.target as CheckboxElement;\n this.setRecursive(input.checked);\n }\n\n protected handleParallelChecked(e: Event): void {\n const input = e.target as CheckboxElement;\n this.setParallel(input.checked);\n }\n\n protected handleIterationsChange(e: Event): void {\n const input = e.target as Input;\n this.setIterations(input.valueAsNumber)\n input.checkValidity();\n }\n\n protected handleIterationDelayChange(e: Event): void {\n const input = e.target as Input;\n this.setIterationDelay(input.valueAsNumber)\n input.checkValidity();\n }\n\n protected handleHistorySelection(e: CustomEvent): void {\n const element = e.detail.item as HTMLElement;\n const { key } = element.dataset;\n if (!key) {\n return;\n }\n this.selectHistory(key);\n }\n\n selectHistory(key: string): void {\n this.selectedReport = key;\n const { history } = this;\n const report = history.find(i => i.key === key);\n if (report) {\n this.renderedReport = report;\n } else {\n this.renderedReport = undefined;\n }\n }\n\n protected override render(): TemplateResult {\n const { root } = this;\n if (!root) {\n return html``;\n }\n return html`\n <section id=\"config\">\n <div class=\"header title-large section-title\">Project runner for ${root.info.renderLabel}</div>\n <form name=\"run-config\" class=\"run-config surface1\">\n <div class=\"section-title title-medium\">Run configuration</div>\n ${this.renderRecursiveOption()}\n ${this.renderParallelOption()}\n ${this.renderIterationOption()}\n ${this.renderIterationDelayOption()}\n ${this.renderSubmit()}\n </form>\n ${this.renderError()}\n ${this.renderLoader()}\n ${this.renderReport()}\n </section>\n `;\n }\n\n protected renderRecursiveOption(): TemplateResult {\n const { config = {} } = this;\n const value = typeof config.recursive === 'boolean' ? config.recursive : false;\n return html`\n <div class=\"form-row\">\n <ui-checkbox \n id=\"recursive\"\n .checked=\"${value}\"\n name=\"recursive\" \n aria-labelledby=\"recursiveLabel\"\n aria-describedby=\"recursiveDescription\" \n @change=\"${this.handleRecursiveChecked}\"\n ></ui-checkbox>\n <label class=\"label-large\" for=\"recursive\" id=\"recursiveLabel\">\n Recursive\n </label>\n <p class=\"body-medium\" id=\"recursiveDescription\">\n Runs all requests from the current folder and its sub-folders\n </p>\n </div>\n `;\n }\n\n protected renderParallelOption(): TemplateResult {\n const { config = {} } = this;\n const value = typeof config.parallel === 'boolean' ? config.parallel : false;\n return html`\n <div class=\"form-row\">\n <ui-checkbox\n id=\"parallel\"\n .checked=\"${value}\"\n name=\"parallel\" \n aria-labelledby=\"parallelLabel\"\n aria-describedby=\"parallelDescription\" \n @change=\"${this.handleParallelChecked}\"\n ></ui-checkbox>\n <label class=\"label-large\" for=\"parallel\" id=\"parallelLabel\">\n Parallel\n </label>\n <p class=\"body-medium\" id=\"parallelDescription\">\n Runs each iteration in parallel. The number of actual execution depends on the number of cores on your device. \n This is ignored when number of iterations is 1.\n </p>\n </div>\n `;\n }\n\n protected renderIterationOption(): TemplateResult {\n const { config = {} } = this;\n const value = typeof config.iterations === 'number' ? config.iterations : 1;\n return html`\n <div class=\"form-row\">\n <ui-text-field\n required \n label=\"Iterations\"\n aria-describedby=\"iterationsDescription\" \n name=\"iterations\" \n type=\"number\" \n min=\"1\" \n step=\"1\" \n .value=\"${String(value)}\"\n @change=\"${this.handleIterationsChange}\"\n ></ui-text-field>\n <p class=\"body-medium\" id=\"iterationsDescription\">\n The number of times the execution should be repeated.\n </p>\n </div>\n `;\n }\n\n protected renderIterationDelayOption(): TemplateResult {\n const { config = {} } = this;\n const value = typeof config.iterationDelay === 'number' ? config.iterationDelay : 0;\n return html`\n <div class=\"form-row\">\n <ui-text-field\n required\n label=\"Iteration delay\"\n aria-describedby=\"iterationDelayDescription\"\n name=\"iterationDelay\"\n type=\"number\"\n min=\"0\"\n step=\"1\"\n .value=\"${String(value)}\"\n @change=\"${this.handleIterationDelayChange}\"\n ></ui-text-field>\n <p class=\"body-medium\" id=\"iterationDelayDescription\">\n The number of milliseconds to wait between each iteration.\n </p>\n </div>\n `;\n }\n\n protected renderSubmit(): TemplateResult {\n return html`\n <div class=\"submit-row\">\n <ui-button type=\"filled\" @click=\"${this.handleRun}\" ?disabled=\"${this.running}\">Run</ui-button>\n </div>\n `;\n }\n\n protected renderLoader(): TemplateResult | string {\n if (!this.running) {\n return '';\n }\n return html`\n <ui-progress indeterminate></ui-progress>\n `;\n }\n\n protected renderError(): TemplateResult | string {\n const { lastError } = this;\n if (!lastError) {\n return '';\n }\n return html`<div class=\"error on-error-text body-large last-error\">${lastError}</div>`;\n }\n\n protected renderReport(): TemplateResult | typeof nothing {\n const { renderedReport, history } = this;\n if (!history.length) {\n return nothing;\n }\n return html`\n <section aria-label=\"Latest report\" class=\"report surface1\">\n <div class=\"section-title title-medium\">Run reports</div>\n ${this.renderHistorySelector()}\n <project-run-report .report=\"${renderedReport}\"></project-run-report>\n </section>\n `;\n }\n\n protected renderHistorySelector(): TemplateResult {\n const { history } = this;\n const disabled = !history.length;\n const selected = history.find(i => i.key === this.selectedReport);\n return html`\n <div class=\"history-selector\">\n <ui-dropdown-list\n verticalAlign=\"top\"\n class=\"history-dropdown\"\n closeOnOutsideClick\n @select=\"${this.handleHistorySelection}\"\n >\n <ui-button type=\"tonal\" ?disabled=\"${disabled}\">\n <ui-icon slot=\"icon\" icon=\"arrowDropDown\"></ui-icon>\n ${selected ? html`<relative-time datetime=\"${new Date(selected.ended).toISOString()}\"></relative-time>` : 'History'}\n </ui-button>\n <ui-list slot=\"dropdown\" role=\"menu\" aria-label=\"History list\">\n ${history.map(current => this.renderHistoryOption(current))}\n </ui-list>\n </ui-dropdown-list>\n </div>\n `;\n }\n\n renderHistoryOption(item: IProjectExecution): TemplateResult {\n const { ended, key } = item;\n const classes = {\n 'history-option': true,\n highlight: this.selectedReport === key,\n };\n const de = new Date(ended);\n return html`\n <ui-list-item role=\"menuitem\" data-key=\"${key}\" class=\"${classMap(classes)}\">\n <relative-time datetime=\"${de.toISOString()}\"></relative-time>\n </ui-list-item>\n `;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ProjectRunner.js","sourceRoot":"","sources":["../../../src/elements/project/ProjectRunner.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, TemplateResult, PropertyValues, nothing } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { \n HttpProject, ProjectFolder, IProjectRunnerOptions, \n Events as CoreEvents, IProjectExecutionLog, \n IApplication, HttpProjectKind, \n IHttpProjectProxyInit,\n ProjectExecutionKind,\n IProjectExecution,\n IProjectExecutionListOptions,\n BroadcastEvent,\n ProjectExecutionDeleteBroadcastEvent,\n ProjectExecutionCreatedBroadcastEvent,\n} from '@api-client/core/build/esm/browser.js';\nimport ApiElement from '../ApiElement.js';\nimport type CheckboxElement from '../../ui/input/CheckboxElement.js';\nimport type Input from '../../ui/input/Input.js';\nimport { Events } from '../../events/Events.js';\nimport '@github/relative-time-element';\nimport '../../define/http-project/project-run-report.js';\nimport '../../define/ui/ui-checkbox.js';\nimport '../../define/ui/ui-text-field.js';\nimport '../../define/ui/ui-button.js';\nimport '../../define/ui/ui-progress.js';\nimport '../../define/ui/ui-icon.js';\nimport '../../define/ui/ui-dropdown-list.js';\nimport '../../define/ui/ui-list.js';\nimport '../../define/ui/ui-list-item.js';\nimport { StoreBroadcast } from '../../http-client/store/StoreBroadcast.js';\n\n/**\n * @fires change - When the configuration of the runner change.\n */\nexport default class ProjectRunner extends ApiElement {\n /**\n * A reference to the global shared variables.\n * Used with the communication with the execution server.\n */\n @property({ type: Object }) sharedVariables?: Record<string, string>;\n\n /**\n * The instance of the current project.\n */\n @property({ type: Object }) project?: HttpProject;\n\n /**\n * This property is required for the API access to work.\n * Set it to the current application information.\n */\n @property({ type: Object }) appInfo?: IApplication;\n\n /**\n * The key of the folder to render the runner for.\n * When not set, it renders the runner for the project.\n * @attribute\n */\n @property({ type: String, reflect: true }) folder?: string;\n\n /**\n * The object we operate on.\n */\n @state() protected root?: HttpProject | ProjectFolder;\n\n /**\n * Whether the element is currently running the project execution.\n */\n @state() protected running?: boolean;\n\n /**\n * Whether the element is currently querying for the history data.\n */\n @state() protected querying?: boolean;\n\n /**\n * The page cursor for pagination.\n */\n protected pageCursor?: string;\n\n /**\n * The run configuration.\n */\n @property({ type: Object }) config?: IProjectRunnerOptions;\n\n @state() protected lastError?: string;\n\n protected history: IProjectExecution[] = [];\n\n protected queryPageDebouncer?: number;\n\n debounceTimeout = 100;\n\n /**\n * The key of the currently rendered report.\n */\n protected selectedReport?: string;\n\n /**\n * The currently rendered report.\n */\n @state() renderedReport?: IProjectExecution;\n\n channel = new BroadcastChannel(StoreBroadcast.projectRuns);\n\n constructor() {\n super();\n\n this.handleBroadcast = this.handleBroadcast.bind(this);\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.channel.addEventListener('message', this.handleBroadcast);\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.channel.removeEventListener('message', this.handleBroadcast);\n }\n\n override willUpdate(cp: PropertyValues<this>): void {\n super.willUpdate(cp);\n if (cp.has('project') || cp.has('folder')) {\n this.setupRoot();\n }\n }\n\n protected handleBroadcast(e: MessageEvent): void {\n const event = e.data as BroadcastEvent;\n switch (event.operation) {\n case 'created': this.handleProjectRunCreated(event as ProjectExecutionCreatedBroadcastEvent); break;\n case 'deleted': this.handleProjectRunDeleted(event as ProjectExecutionDeleteBroadcastEvent); break;\n default:\n }\n }\n\n protected setupRoot(): void {\n const { project, folder } = this;\n if (!project) {\n this.root = undefined;\n return;\n }\n if (!folder) {\n this.root = project;\n } else {\n this.root = project.findFolder(folder);\n }\n this.resetHistory();\n this.queryPageDebounce();\n }\n\n protected handleProjectRunCreated(event: ProjectExecutionCreatedBroadcastEvent): void {\n const { project, folder } = this;\n if (!project) {\n return;\n }\n if (project.key !== event.project) {\n return;\n }\n const item = event.data as IProjectExecution;\n if (folder && item.parent !== folder) {\n return;\n }\n this.history.push(item);\n this.history.sort(this.historySort);\n this.selectHistory(item.key);\n }\n\n protected handleProjectRunDeleted(event: ProjectExecutionDeleteBroadcastEvent): void {\n const { history, project } = this;\n if (!project) {\n return;\n }\n if (project.key !== event.project) {\n return;\n }\n const { key } = event;\n const index = history.findIndex(i => i.key === key);\n if (index < 0) {\n return;\n }\n history.splice(index, 1);\n this.requestUpdate();\n if (this.selectedReport === key) {\n this.selectedReport = undefined;\n const [first] = history;\n if (first) {\n this.selectHistory(first.key);\n }\n }\n }\n\n protected handleRun(): void {\n this.execute();\n }\n\n /**\n * Executes the current configuration.\n */\n async execute(): Promise<void> {\n this.lastError = undefined;\n const { config = {}, folder, project } = this;\n if (!project) {\n return;\n }\n if (folder) {\n config.parent = folder;\n }\n // Note, we intentionally don't add shared variables.\n // Project / folder execution should be contained and can only leak \n // out the variables to the rest of the app, not in.\n\n // if (sharedVariables && !config.variables) {\n // config.variables = sharedVariables;\n // }\n const init: IHttpProjectProxyInit = {\n kind: HttpProjectKind,\n project: project.toJSON(),\n options: config,\n };\n \n this.running = true;\n try {\n const result = await CoreEvents.Transport.Core.httpProject(init, this);\n if (!result) {\n this.lastError = 'The project execution event was not handled.';\n } else {\n this.mergeExecutedVariables(result.result);\n this.createHistory(result.result);\n }\n } catch (e) {\n this.lastError = (e as Error).message;\n }\n this.running = false;\n }\n\n mergeExecutedVariables(result: IProjectExecutionLog): void {\n const { sharedVariables } = this;\n if (!sharedVariables) {\n return;\n }\n\n result.iterations.forEach((iteration) => {\n const { variables } = iteration;\n if (!variables) {\n return;\n }\n Object.keys(variables).forEach((key) => {\n sharedVariables[key] = variables[key];\n });\n });\n\n }\n\n protected async createHistory(result: IProjectExecutionLog): Promise<void> {\n const { appInfo, project } = this;\n if (!appInfo) {\n throw new Error(`The appInfo is not set on ${this.localName}`);\n }\n if (!project) {\n return;\n }\n await Events.Store.ProjectRuns.add({\n ...result,\n app: appInfo.code,\n project: project.key,\n key: '',\n kind: ProjectExecutionKind,\n midnight: 0,\n parent: this.folder,\n });\n }\n\n resetHistory(): void {\n this.querying = false;\n this.pageCursor = undefined;\n this.history = [];\n if (this.queryPageDebouncer) {\n clearTimeout(this.queryPageDebouncer);\n this.queryPageDebouncer = undefined;\n }\n }\n\n queryPageDebounce(): void {\n if (this.queryPageDebouncer) {\n return;\n }\n this.queryPageDebouncer = setTimeout(() => { \n this.queryPageDebouncer = undefined;\n this.queryPage();\n }, this.debounceTimeout) as unknown as number;\n }\n\n async queryPage(): Promise<void> {\n const { project, appInfo, folder, pageCursor } = this;\n if (this.querying || !project) {\n return;\n }\n this.querying = true;\n const opts: IProjectExecutionListOptions = {\n space: '',\n project: project.key,\n };\n if (appInfo) {\n opts.app = appInfo.code;\n }\n if (folder) {\n opts.parent = folder;\n }\n if (pageCursor) {\n opts.cursor = pageCursor;\n }\n try {\n const result = await Events.Store.ProjectRuns.list(opts, this);\n if (!result) {\n throw new Error(`Project runs query not handled by the store.`);\n }\n const { items, cursor } = result;\n if (items.length) {\n if (cursor) {\n this.pageCursor = cursor;\n }\n this.history = this.history.concat(items);\n this.history.sort(this.historySort);\n if (!this.selectedReport) {\n const [last] = this.history;\n this.selectHistory(last.key);\n }\n this.requestUpdate();\n }\n } catch (e) {\n // eslint-disable-next-line no-console\n console.warn(e);\n } finally {\n this.querying = false;\n }\n }\n\n protected historySort(a: IProjectExecution, b: IProjectExecution): number {\n return b.ended - a.ended;\n }\n\n setRecursive(value: boolean): void {\n const { config = {} } = this;\n config.recursive = value;\n this.config = config;\n this.notifyChange();\n }\n\n setParallel(value: boolean): void {\n const { config = {} } = this;\n config.parallel = value;\n this.config = config;\n this.notifyChange();\n }\n\n setIterations(value: number): void {\n const { config = {} } = this;\n config.iterations = value;\n this.config = config;\n this.notifyChange();\n }\n\n setIterationDelay(value: number): void {\n const { config = {} } = this;\n config.iterationDelay = value;\n this.config = config;\n this.notifyChange();\n }\n\n protected handleRecursiveChecked(e: Event): void {\n const input = e.target as CheckboxElement;\n this.setRecursive(input.checked);\n }\n\n protected handleParallelChecked(e: Event): void {\n const input = e.target as CheckboxElement;\n this.setParallel(input.checked);\n }\n\n protected handleIterationsChange(e: Event): void {\n const input = e.target as Input;\n this.setIterations(input.valueAsNumber)\n input.checkValidity();\n }\n\n protected handleIterationDelayChange(e: Event): void {\n const input = e.target as Input;\n this.setIterationDelay(input.valueAsNumber)\n input.checkValidity();\n }\n\n protected handleHistorySelection(e: CustomEvent): void {\n const element = e.detail.item as HTMLElement;\n const { key } = element.dataset;\n if (!key) {\n return;\n }\n this.selectHistory(key);\n }\n\n selectHistory(key: string): void {\n this.selectedReport = key;\n const { history } = this;\n const report = history.find(i => i.key === key);\n if (report) {\n this.renderedReport = report;\n } else {\n this.renderedReport = undefined;\n }\n }\n\n protected override render(): TemplateResult {\n const { root } = this;\n if (!root) {\n return html``;\n }\n return html`\n <section id=\"config\">\n <div class=\"header title-large section-title\">Project runner for ${root.info.renderLabel}</div>\n <form name=\"run-config\" class=\"run-config surface1\">\n <div class=\"section-title title-medium\">Run configuration</div>\n ${this.renderRecursiveOption()}\n ${this.renderParallelOption()}\n ${this.renderIterationOption()}\n ${this.renderIterationDelayOption()}\n ${this.renderSubmit()}\n </form>\n ${this.renderError()}\n ${this.renderLoader()}\n ${this.renderReport()}\n </section>\n `;\n }\n\n protected renderRecursiveOption(): TemplateResult {\n const { config = {} } = this;\n const value = typeof config.recursive === 'boolean' ? config.recursive : false;\n return html`\n <div class=\"form-row\">\n <ui-checkbox \n id=\"recursive\"\n .checked=\"${value}\"\n name=\"recursive\" \n aria-labelledby=\"recursiveLabel\"\n aria-describedby=\"recursiveDescription\" \n @change=\"${this.handleRecursiveChecked}\"\n ></ui-checkbox>\n <label class=\"label-large\" for=\"recursive\" id=\"recursiveLabel\">\n Recursive\n </label>\n <p class=\"body-medium\" id=\"recursiveDescription\">\n Runs all requests from the current folder and its sub-folders\n </p>\n </div>\n `;\n }\n\n protected renderParallelOption(): TemplateResult {\n const { config = {} } = this;\n const value = typeof config.parallel === 'boolean' ? config.parallel : false;\n return html`\n <div class=\"form-row\">\n <ui-checkbox\n id=\"parallel\"\n .checked=\"${value}\"\n name=\"parallel\" \n aria-labelledby=\"parallelLabel\"\n aria-describedby=\"parallelDescription\" \n @change=\"${this.handleParallelChecked}\"\n ></ui-checkbox>\n <label class=\"label-large\" for=\"parallel\" id=\"parallelLabel\">\n Parallel\n </label>\n <p class=\"body-medium\" id=\"parallelDescription\">\n Runs each iteration in parallel. The number of actual execution depends on the number of cores on your device. \n This is ignored when number of iterations is 1.\n </p>\n </div>\n `;\n }\n\n protected renderIterationOption(): TemplateResult {\n const { config = {} } = this;\n const value = typeof config.iterations === 'number' ? config.iterations : 1;\n return html`\n <div class=\"form-row\">\n <ui-text-field\n required \n label=\"Iterations\"\n aria-describedby=\"iterationsDescription\" \n name=\"iterations\" \n type=\"number\" \n min=\"1\" \n step=\"1\" \n .value=\"${String(value)}\"\n @change=\"${this.handleIterationsChange}\"\n ></ui-text-field>\n <p class=\"body-medium\" id=\"iterationsDescription\">\n The number of times the execution should be repeated.\n </p>\n </div>\n `;\n }\n\n protected renderIterationDelayOption(): TemplateResult {\n const { config = {} } = this;\n const value = typeof config.iterationDelay === 'number' ? config.iterationDelay : 0;\n return html`\n <div class=\"form-row\">\n <ui-text-field\n required\n label=\"Iteration delay\"\n aria-describedby=\"iterationDelayDescription\"\n name=\"iterationDelay\"\n type=\"number\"\n min=\"0\"\n step=\"1\"\n .value=\"${String(value)}\"\n @change=\"${this.handleIterationDelayChange}\"\n ></ui-text-field>\n <p class=\"body-medium\" id=\"iterationDelayDescription\">\n The number of milliseconds to wait between each iteration.\n </p>\n </div>\n `;\n }\n\n protected renderSubmit(): TemplateResult {\n return html`\n <div class=\"submit-row\">\n <ui-button type=\"filled\" @click=\"${this.handleRun}\" ?disabled=\"${this.running}\">Run</ui-button>\n </div>\n `;\n }\n\n protected renderLoader(): TemplateResult | string {\n if (!this.running) {\n return '';\n }\n return html`\n <ui-progress indeterminate></ui-progress>\n `;\n }\n\n protected renderError(): TemplateResult | string {\n const { lastError } = this;\n if (!lastError) {\n return '';\n }\n return html`<div class=\"error on-error-text body-large last-error\">${lastError}</div>`;\n }\n\n protected renderReport(): TemplateResult | typeof nothing {\n const { renderedReport, history } = this;\n if (!history.length) {\n return nothing;\n }\n return html`\n <section aria-label=\"Latest report\" class=\"report surface1\">\n <div class=\"section-title title-medium\">Run reports</div>\n ${this.renderHistorySelector()}\n <project-run-report .report=\"${renderedReport}\"></project-run-report>\n </section>\n `;\n }\n\n protected renderHistorySelector(): TemplateResult {\n const { history } = this;\n const disabled = !history.length;\n const selected = history.find(i => i.key === this.selectedReport);\n return html`\n <div class=\"history-selector\">\n <ui-dropdown-list\n verticalAlign=\"top\"\n class=\"history-dropdown\"\n closeOnOutsideClick\n @select=\"${this.handleHistorySelection}\"\n >\n <ui-button type=\"tonal\" ?disabled=\"${disabled}\">\n <ui-icon slot=\"icon\" icon=\"arrowDropDown\"></ui-icon>\n ${selected ? html`<relative-time datetime=\"${new Date(selected.ended).toISOString()}\"></relative-time>` : 'History'}\n </ui-button>\n <ui-list slot=\"dropdown\" role=\"menu\" aria-label=\"History list\">\n ${history.map(current => this.renderHistoryOption(current))}\n </ui-list>\n </ui-dropdown-list>\n </div>\n `;\n }\n\n renderHistoryOption(item: IProjectExecution): TemplateResult {\n const { ended, key } = item;\n const classes = {\n 'history-option': true,\n highlight: this.selectedReport === key,\n };\n const de = new Date(ended);\n return html`\n <ui-list-item role=\"menuitem\" data-key=\"${key}\" class=\"${classMap(classes)}\">\n <relative-time datetime=\"${de.toISOString()}\"></relative-time>\n </ui-list-item>\n `;\n }\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TemplateResult } from 'lit';
|
|
2
|
-
import { HttpProject, ProjectFolder, ProjectRequest } from '@api-client/core/build/browser.js';
|
|
2
|
+
import { HttpProject, ProjectFolder, ProjectRequest } from '@api-client/core/build/esm/browser.js';
|
|
3
3
|
import ProjectNavigationElement from './ProjectNavigation.js';
|
|
4
4
|
import '../../define/ui/ui-icon.js';
|
|
5
5
|
export default class ProjectRunnerNavigationElement extends ProjectNavigationElement {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectRunnerNavigationElement.d.ts","sourceRoot":"","sources":["../../../src/elements/project/ProjectRunnerNavigationElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAQ,MAAM,KAAK,CAAC;AAG3C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAsB,MAAM,
|
|
1
|
+
{"version":3,"file":"ProjectRunnerNavigationElement.d.ts","sourceRoot":"","sources":["../../../src/elements/project/ProjectRunnerNavigationElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAQ,MAAM,KAAK,CAAC;AAG3C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAsB,MAAM,uCAAuC,CAAC;AACvH,OAAO,wBAAwB,MAAM,wBAAwB,CAAC;AAC9D,OAAO,4BAA4B,CAAC;AAEpC,MAAM,CAAC,OAAO,OAAO,8BAA+B,SAAQ,wBAAwB;cAC/D,6BAA6B,CAAC,MAAM,EAAE,WAAW,GAAG,aAAa,GAAG,cAAc,GAAG,MAAM;cAW3F,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,MAAM;CA0BvG"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { html } from 'lit';
|
|
2
2
|
import { classMap } from 'lit/directives/class-map.js';
|
|
3
3
|
import { ifDefined } from 'lit/directives/if-defined.js';
|
|
4
|
-
import { ProjectRequestKind } from '@api-client/core/build/browser.js';
|
|
4
|
+
import { ProjectRequestKind } from '@api-client/core/build/esm/browser.js';
|
|
5
5
|
import ProjectNavigationElement from './ProjectNavigation.js';
|
|
6
6
|
import '../../define/ui/ui-icon.js';
|
|
7
7
|
export default class ProjectRunnerNavigationElement extends ProjectNavigationElement {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectRunnerNavigationElement.js","sourceRoot":"","sources":["../../../src/elements/project/ProjectRunnerNavigationElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAA8C,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ProjectRunnerNavigationElement.js","sourceRoot":"","sources":["../../../src/elements/project/ProjectRunnerNavigationElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAA8C,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AACvH,OAAO,wBAAwB,MAAM,wBAAwB,CAAC;AAC9D,OAAO,4BAA4B,CAAC;AAEpC,MAAM,CAAC,OAAO,OAAO,8BAA+B,SAAQ,wBAAwB;IAC/D,6BAA6B,CAAC,MAAmC;QAClF,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;QACvB,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QACvC,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,EAAE,KAAK,SAAS,CAAC;QACpD,OAAO,IAAI,CAAA;MACT,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;MACnE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;KACtE,CAAC;IACJ,CAAC;IAEkB,aAAa,CAAC,OAAuB,EAAE,SAAkB;QAC1E,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;QACxB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,iBAAiB,CAAC;QACpD,MAAM,OAAO,GAAG;YACd,cAAc,EAAE,IAAI;YACpB,mBAAmB,EAAE,IAAI;SAC1B,CAAC;QACF,OAAO,IAAI,CAAA;;eAEA,QAAQ,CAAC,OAAO,CAAC;;;;qBAIX,SAAS,CAAC,SAAS,CAAC;kBACvB,GAAG;mBACF,kBAAkB;;;;;;mCAMF,IAAI;;;KAGlC,CAAC;IACJ,CAAC;CACF","sourcesContent":["import { TemplateResult, html } from 'lit';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { HttpProject, ProjectFolder, ProjectRequest, ProjectRequestKind } from '@api-client/core/build/esm/browser.js';\nimport ProjectNavigationElement from './ProjectNavigation.js';\nimport '../../define/ui/ui-icon.js';\n\nexport default class ProjectRunnerNavigationElement extends ProjectNavigationElement {\n protected override _renderParentChildrenTemplate(parent: HttpProject | ProjectFolder): TemplateResult | string {\n const { key } = parent;\n const folders = parent.listFolders();\n const requests = parent.listRequests();\n const isProject = parent.getProject() === undefined;\n return html`\n ${folders.map(f => this.renderFolder(f, isProject ? undefined : key))}\n ${requests.map(r => this.renderRequest(r, isProject ? undefined : key))}\n `;\n }\n\n protected override renderRequest(request: ProjectRequest, parentKey?: string): TemplateResult | string {\n const { key } = request;\n const name = request.info.name || 'Unnamed request';\n const classes = {\n 'request-item': true,\n 'project-tree-item': true,\n };\n return html`\n <li \n class=\"${classMap(classes)}\" \n role=\"treeitem\" \n aria-selected=\"false\"\n tabindex=\"0\" \n data-parent=\"${ifDefined(parentKey)}\"\n data-key=\"${key}\"\n data-kind=\"${ProjectRequestKind}\"\n draggable=\"true\"\n aria-disabled=\"true\"\n >\n <div class=\"list-item-content\">\n <ui-icon icon=\"request\" class=\"object-icon\"></ui-icon>\n <span class=\"item-label\">${name}</span>\n </div>\n </li>\n `;\n }\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DataAssociation, DataNamespace } from "@api-client/core/build/browser.js";
|
|
1
|
+
import { DataAssociation, DataNamespace } from "@api-client/core/build/esm/browser.js";
|
|
2
2
|
import { CSSResult, PropertyValues, TemplateResult } from "lit";
|
|
3
3
|
import ApiElement from "../ApiElement.js";
|
|
4
4
|
import '../../define/ui/ui-text-field.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssociationFormElement.d.ts","sourceRoot":"","sources":["../../../src/elements/schema-design/AssociationFormElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAc,MAAM,
|
|
1
|
+
{"version":3,"file":"AssociationFormElement.d.ts","sourceRoot":"","sources":["../../../src/elements/schema-design/AssociationFormElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAc,MAAM,uCAAuC,CAAC;AACnG,OAAO,EAAO,SAAS,EAAQ,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAG3E,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAM1C,OAAO,kCAAkC,CAAC;AAC1C,OAAO,gCAAgC,CAAC;AACxC,OAAO,+BAA+B,CAAC;AACvC,OAAO,mCAAmC,CAAC;AAC3C,OAAO,4BAA4B,CAAC;AAEpC,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,UAAU;IAC5D,WAAoB,MAAM,IAAI,SAAS,EAAE,CAWxC;IAED;;;OAGG;IACwC,GAAG,CAAC,EAAE,MAAM,CAAC;IAExD;;OAEG;IACyB,IAAI,CAAC,EAAE,aAAa,CAAC;IAEjD;;OAEG;IACM,SAAS,CAAC,YAAY,CAAC,EAAE,eAAe,CAAC;IAEzC,UAAU,CAAC,EAAE,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAMnD;;;OAGG;IACH,SAAS,CAAC,mBAAmB,IAAI,IAAI;IASrC,SAAS,CAAC,kBAAkB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAkB5C,SAAS,CAAC,eAAe,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;cAgBtB,MAAM,IAAI,cAAc;CAyB5C"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
|
-
import { EventUtils } from "@api-client/core/build/browser.js";
|
|
2
|
+
import { EventUtils } from "@api-client/core/build/esm/browser.js";
|
|
3
3
|
import { css, html } from "lit";
|
|
4
4
|
import { property, state } from "lit/decorators.js";
|
|
5
5
|
import { live } from "lit/directives/live.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssociationFormElement.js","sourceRoot":"","sources":["../../../src/elements/schema-design/AssociationFormElement.ts"],"names":[],"mappings":";AAAA,OAAO,EAAkC,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"AssociationFormElement.js","sourceRoot":"","sources":["../../../src/elements/schema-design/AssociationFormElement.ts"],"names":[],"mappings":"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","sourcesContent":["import { DataAssociation, DataNamespace, EventUtils } from \"@api-client/core/build/esm/browser.js\";\nimport { css, CSSResult, html, PropertyValues, TemplateResult } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { live } from \"lit/directives/live.js\";\nimport ApiElement from \"../ApiElement.js\";\nimport EditorCommon from './CommonStyles.js';\nimport theme from '../theme.js';\nimport typography from \"../../styles/m3/typography.module.js\";\nimport type Input from \"../../ui/input/Input.js\";\nimport type CheckboxElement from \"../../ui/input/CheckboxElement.js\";\nimport '../../define/ui/ui-text-field.js';\nimport '../../define/ui/ui-checkbox.js';\nimport '../../define/ui/ui-divider.js';\nimport '../../define/ui/ui-icon-button.js';\nimport '../../define/ui/ui-icon.js';\n\nexport default class AssociationFormElement extends ApiElement {\n static override get styles(): CSSResult[] {\n return [\n theme,\n EditorCommon,\n typography,\n css`\n :host {\n display: block;\n }\n `\n ]\n }\n \n /**\n * The key of the association to edit.\n * @attribute\n */\n @property({ type: String, reflect: true }) key?: string;\n\n /**\n * The read data namespace.\n */\n @property({ type: Object }) root?: DataNamespace;\n\n /**\n * The computed entity when the key or root change.\n */\n @state() protected _association?: DataAssociation;\n\n override willUpdate(cp: PropertyValues<this>): void {\n if (cp.has('key')) {\n this._computeAssociation();\n }\n }\n\n /**\n * Computes the view value for the association.\n * This should be called before the update is complete so this won't trigger another update.\n */\n protected _computeAssociation(): void {\n const { root, key } = this;\n if (!root || !key) {\n this._association = undefined;\n return;\n }\n this._association = root.definitions.associations.find(i => i.key === key);\n }\n\n protected _infoChangeHandler(e: Event): void {\n const { _association } = this;\n if (!_association) {\n return;\n }\n const node = e.target as Input;\n const { name, value } = node;\n if (!['name', 'description', 'displayName'].includes(name as string)) {\n return;\n }\n if (name === 'name' && !value) {\n return;\n }\n _association.info[name as 'name' | 'description' | 'displayName'] = value;\n this.notifyChange();\n this.requestUpdate();\n }\n\n protected _checkedHandler(e: Event): void {\n const { _association } = this;\n if (!_association) {\n return;\n }\n const input = e.target as CheckboxElement;\n const name = input.name as 'multiple' | 'required';\n const { checked } = input;\n if (_association[name] === checked) {\n return;\n }\n _association[name] = checked;\n this.notifyChange();\n this.requestUpdate();\n }\n\n protected override render(): TemplateResult {\n const { _association: item } = this;\n if (!item) {\n return html``;\n }\n const { info, multiple = false, required = false } = item;\n return html`\n <form name=\"data-association\" @submit=\"${EventUtils.cancelEvent}\" data-key=\"${item.key}\">\n <ui-text-field class=\"input\" name=\"name\" .value=\"${live(info.name || '')}\" label=\"Association name\" required @change=\"${this._infoChangeHandler}\"></ui-text-field>\n <ui-text-field class=\"input\" name=\"displayName\" .value=\"${live(info.displayName || '')}\" label=\"Display name (optional)\" @change=\"${this._infoChangeHandler}\"></ui-text-field>\n <ui-text-field class=\"input\" name=\"description\" .value=\"${live(info.description || '')}\" label=\"Association description (optional)\" @change=\"${this._infoChangeHandler}\"></ui-text-field>\n\n <div class=\"checkbox-group\">\n <label class=\"label-large\">\n <ui-checkbox name=\"required\" .checked=\"${required}\" title=\"Whether the association is required in the schema\" @change=\"${this._checkedHandler}\"></ui-checkbox>\n Required\n </label>\n <label class=\"label-large\">\n <ui-checkbox name=\"multiple\" .checked=\"${multiple}\" title=\"When set it declares this association as an array. Multiple instances of the value are permitted.\" @change=\"${this._checkedHandler}\"></ui-checkbox>\n Multiple\n </label>\n </div>\n </form>\n `;\n }\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CSSResult, PropertyValues, TemplateResult } from "lit";
|
|
2
|
-
import { DataNamespace } from "@api-client/core/build/browser.js";
|
|
2
|
+
import { DataNamespace } from "@api-client/core/build/esm/browser.js";
|
|
3
3
|
import ApiElement from "../ApiElement.js";
|
|
4
4
|
import type DataSchemaDocument from "./DataSchemaDocument.js";
|
|
5
5
|
import '../../define/ui/ui-icon.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataEntityEditorElement.d.ts","sourceRoot":"","sources":["../../../src/elements/schema-design/DataEntityEditorElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,SAAS,EAAQ,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAE3E,OAAO,EAAkB,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"DataEntityEditorElement.d.ts","sourceRoot":"","sources":["../../../src/elements/schema-design/DataEntityEditorElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,SAAS,EAAQ,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAE3E,OAAO,EAAkB,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtF,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAM1C,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAC;AAG9D,OAAO,4BAA4B,CAAC;AACpC,OAAO,mCAAmC,CAAC;AAC3C,OAAO,6BAA6B,CAAC;AACrC,OAAO,gCAAgC,CAAC;AACxC,OAAO,4CAA4C,CAAC;AACpD,OAAO,4CAA4C,CAAC;AACpD,OAAO,yCAAyC,CAAC;AACjD,OAAO,uCAAuC,CAAC;AAC/C,OAAO,2CAA2C,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,UAAU;IAC7D,WAAoB,MAAM,IAAI,SAAS,EAAE,CAoDxC;IAED;;OAEG;IACyB,IAAI,CAAC,EAAE,aAAa,CAAC;IAEjD;;OAEG;IACyB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAE9C;;OAEG;IACyB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAEtD;;OAEG;IACyB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAEhD,SAAS,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAE7C,SAAS,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IAE5D,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;IAE9B,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC;IAExC,SAAS,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IAGlC,SAAS,CAAC,UAAU,CAAC,EAAE,kBAAkB,CAAC;;cAUvB,UAAU,CAAC,EAAE,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAOpD,YAAY,IAAI,IAAI;IAO7B,SAAS,CAAC,iBAAiB,CAAC,CAAC,EAAE,SAAS,GAAG,IAAI;IAa/C,SAAS,CAAC,iBAAiB,CAAC,CAAC,EAAE,SAAS,GAAG,IAAI;IAW/C,SAAS,CAAC,sBAAsB,IAAI,IAAI;IASxC,SAAS,CAAC,oBAAoB,IAAI,IAAI;IAStC,SAAS,CAAC,0BAA0B,IAAI,IAAI;IAM5C,SAAS,CAAC,wBAAwB,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI;IAYxD,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAMpC,SAAS,CAAC,aAAa,IAAI,IAAI;IAK/B,SAAS,CAAC,qBAAqB,IAAI,IAAI;IAcvC,SAAS,CAAC,6BAA6B,IAAI,IAAI;IAM/C,SAAS,CAAC,kBAAkB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAQ5C,SAAS,CAAC,kBAAkB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAS5C,SAAS,CAAC,wBAAwB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;cAO/B,MAAM,IAAI,cAAc;IAS3C,SAAS,CAAC,kBAAkB,IAAI,cAAc;IAiB9C,SAAS,CAAC,eAAe,IAAI,cAAc;IAe3C,SAAS,CAAC,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc;IAiB7D,SAAS,CAAC,0BAA0B,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc;IAiBhE,SAAS,CAAC,kBAAkB,IAAI,cAAc;IAc9C,SAAS,CAAC,YAAY,IAAI,cAAc;CAwCzC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
2
|
import { css, html } from "lit";
|
|
3
3
|
import { property, query, state } from "lit/decorators.js";
|
|
4
|
-
import { DataEntityKind } from "@api-client/core/build/browser.js";
|
|
4
|
+
import { DataEntityKind } from "@api-client/core/build/esm/browser.js";
|
|
5
5
|
import ApiElement from "../ApiElement.js";
|
|
6
6
|
import theme from '../theme.js';
|
|
7
7
|
import schemaCommon from './schemaCommon.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataEntityEditorElement.js","sourceRoot":"","sources":["../../../src/elements/schema-design/DataEntityEditorElement.ts"],"names":[],"mappings":"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","sourcesContent":["import { css, CSSResult, html, PropertyValues, TemplateResult } from \"lit\";\nimport { property, query, state } from \"lit/decorators.js\";\nimport { DataEntityKind, DataNamespace } from \"@api-client/core/build/browser.js\";\nimport ApiElement from \"../ApiElement.js\";\nimport theme from '../theme.js';\nimport schemaCommon from './schemaCommon.js';\nimport EditorCommon from './CommonStyles.js';\nimport MarkdownStyles from '../highlight/MarkdownStyles.js';\nimport typography from \"../../styles/m3/typography.module.js\";\nimport type DataSchemaDocument from \"./DataSchemaDocument.js\";\nimport type RadioElement from \"../../ui/input/RadioElement.js\";\nimport type CheckboxElement from \"../../ui/input/CheckboxElement.js\";\nimport '../../define/ui/ui-icon.js';\nimport '../../define/ui/ui-icon-button.js';\nimport '../../define/ui/ui-radio.js';\nimport '../../define/ui/ui-checkbox.js';\nimport '../../define/highlight/marked-highlight.js';\nimport '../../define/data/data-association-form.js';\nimport '../../define/data/data-property-form.js';\nimport '../../define/data/data-entity-form.js';\nimport '../../define/data/data-schema-document.js';\n\n/**\n * The DataEntity editor UI and logic.\n * \n * @fires change - When the entity has changed and the parent element / app should update the value in the store.\n * @fires namechange - When a name of the data entity has changed. This triggers a render in the navigation. This is fired after the `change` event.\n */\nexport default class DataEntityEditorElement extends ApiElement {\n static override get styles(): CSSResult[] {\n return [\n theme,\n schemaCommon,\n MarkdownStyles,\n EditorCommon,\n typography,\n css`\n :host {\n display: block;\n height: 100%;\n }\n\n .container {\n display: flex;\n flex-direction: row;\n height: inherit;\n flex: 1;\n }\n\n .structure {\n flex: 8;\n overflow: hidden;\n }\n\n .editor {\n flex: 4;\n background-color: var(--md-sys-color-surface);\n border-radius: var(--md-sys-shape-corner-small);\n box-shadow: var(--md-sys-elevation-1);\n overflow: hidden;\n display: flex;\n flex-direction: column;\n /* for the box shadow */\n margin: 4px; \n }\n\n .editor-form {\n overflow: auto;\n }\n\n .mime-options {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n }\n\n .schema-card {\n margin: 20px 20px 20px 0px;\n }\n `,\n ];\n }\n\n /**\n * The read data namespace.\n */\n @property({ type: Object }) root?: DataNamespace;\n\n /**\n * The selected entity.\n */\n @property({ type: String }) selected?: string;\n\n /**\n * The key of the selected property being edited.\n */\n @property({ type: String }) selectedProperty?: string;\n\n /**\n * The key of the selected association being edited.\n */\n @property({ type: String }) selectedAssociation?: string;\n\n @state() protected _highlightEntityDropZone?: boolean;\n\n @state() protected _schemaExample?: string | number | boolean | null;\n\n @state() protected _schemaMime: string;\n\n @state() protected _schemaMock: boolean;\n\n protected _schemaOpened?: boolean;\n\n @query('data-schema-document')\n protected _schemaDoc?: DataSchemaDocument;\n\n constructor() {\n super();\n this._schemaMime = 'application/json';\n this._schemaMock = true;\n this.addEventListener('dragenter', this._dragEnterHandler.bind(this));\n this.addEventListener('dragleave', this._dragLeaveHandler.bind(this));\n }\n\n protected override willUpdate(cp: PropertyValues<this>): void {\n super.willUpdate(cp);\n if (cp.has('selected')) {\n this._computeExampleSchemaIfNeeded();\n }\n }\n\n override notifyChange(): void {\n super.notifyChange();\n if (this._highlightEntityDropZone) {\n this._highlightEntityDropZone = false;\n }\n }\n\n protected _dragEnterHandler(e: DragEvent): void {\n const { dataTransfer: dt } = e;\n if (!dt) {\n return;\n }\n if (![...dt.types].includes(DataEntityKind.toLowerCase())) {\n return;\n }\n this._highlightEntityDropZone = true;\n this.selectedProperty = undefined;\n this.selectedAssociation = undefined;\n }\n\n protected _dragLeaveHandler(e: DragEvent): void {\n const { dataTransfer: dt } = e;\n if (!dt) {\n return;\n }\n if (![...dt.types].includes(DataEntityKind.toLowerCase())) {\n return;\n }\n this._highlightEntityDropZone = false;\n }\n\n protected _propertyChangeHandler(): void {\n this.notifyChange();\n const { _schemaDoc } = this;\n if (_schemaDoc) {\n _schemaDoc.requestUpdate();\n }\n this._computeExampleSchemaIfNeeded();\n }\n\n protected _entityChangeHandler(): void {\n this.notifyChange();\n const { _schemaDoc } = this;\n if (_schemaDoc) {\n _schemaDoc.requestUpdate();\n }\n this._computeExampleSchemaIfNeeded();\n }\n\n protected _schemaEntityChangeHandler(): void {\n this.notifyChange();\n this.requestUpdate();\n this._computeExampleSchemaIfNeeded();\n }\n\n protected _schemaEntityEditHandler(e: CustomEvent): void {\n const { type, key } = e.detail;\n if (type === 'property') {\n this.selectedProperty = key;\n this.selectedAssociation = undefined;\n } else if (type === 'association') {\n this.selectedProperty = undefined;\n this.selectedAssociation = key;\n }\n this._computeExampleSchemaIfNeeded();\n }\n\n protected _entityNameHandler(): void {\n // just retarget\n this.dispatchEvent(new Event('namechange'));\n this._computeExampleSchemaIfNeeded();\n }\n\n protected _cancelEditor(): void {\n this.selectedProperty = undefined;\n this.selectedAssociation = undefined;\n }\n\n protected _computeExampleSchema(): void {\n const { selected, root } = this;\n const entity = root?.definitions.entities.find(i => i.key === selected);\n if (!entity) {\n this._schemaExample = undefined;\n return\n }\n this._schemaExample = entity.toExample(this._schemaMime, {\n renderMocked: this._schemaMock,\n renderExamples: true,\n renderOptional: true,\n });\n }\n\n protected _computeExampleSchemaIfNeeded(): void {\n if (this._schemaOpened) {\n this._computeExampleSchema();\n }\n }\n\n protected _schemaOpenHandler(e: Event): void {\n const details = e.target as HTMLDetailsElement;\n this._schemaOpened = details.open;\n if (details.open) {\n this._computeExampleSchema();\n }\n }\n\n protected _schemaMimeHandler(e: Event): void {\n const button = e.target as RadioElement;\n if (!button.checked) {\n return;\n }\n this._schemaMime = button.value as string;\n this._computeExampleSchemaIfNeeded();\n }\n\n protected _mockSchemaValuesHandler(e: Event): void {\n const input = e.target as CheckboxElement;\n const { checked } = input;\n this._schemaMock = checked;\n this._computeExampleSchema();\n }\n\n protected override render(): TemplateResult {\n return html`\n <div class=\"container\">\n ${this._structureTemplate()}\n ${this._editorTemplate()}\n </div>\n `;\n }\n\n protected _structureTemplate(): TemplateResult {\n return html`\n <div class=\"structure\">\n <data-schema-document\n .root=\"${this.root}\"\n .key=\"${this.selected}\"\n .selectedProperty=\"${this.selectedProperty || this.selectedAssociation}\"\n ?associationDropZone=\"${this._highlightEntityDropZone}\"\n editable\n @change=\"${this._schemaEntityChangeHandler}\"\n @edit=\"${this._schemaEntityEditHandler}\"\n ></data-schema-document>\n ${this.renderSchema()}\n </div>\n `;\n }\n\n protected _editorTemplate(): TemplateResult {\n const { selectedProperty, selectedAssociation } = this;\n let content: TemplateResult;\n if (selectedProperty) {\n content = this._propertyEditorTemplate(selectedProperty);\n } else if (selectedAssociation) {\n content = this._associationEditorTemplate(selectedAssociation);\n } else {\n content = this.renderEntityEditor();\n }\n return html`\n <div class=\"editor\">${content}</div>\n `;\n }\n\n protected _propertyEditorTemplate(id: string): TemplateResult {\n return html`\n <div class=\"editor-title title-large\">\n Data Property\n <ui-icon-button class=\"title-icon\" title=\"Close this editor\" @click=\"${this._cancelEditor}\">\n <ui-icon icon=\"close\"></ui-icon>\n </ui-icon-button>\n </div>\n <data-property-form \n .root=\"${this.root}\" \n .key=\"${id}\" \n @change=\"${this._propertyChangeHandler}\"\n class=\"editor-form\"\n ></data-property-form>\n `;\n }\n\n protected _associationEditorTemplate(id: string): TemplateResult {\n return html`\n <div class=\"editor-title title-large\">\n Data Association\n <ui-icon-button class=\"title-icon\" title=\"Close this editor\" @click=\"${this._cancelEditor}\">\n <ui-icon icon=\"close\"></ui-icon>\n </ui-icon-button>\n </div>\n <data-association-form\n .root=\"${this.root}\" \n .key=\"${id}\" \n @change=\"${this._propertyChangeHandler}\"\n class=\"editor-form\"\n ></data-association-form>\n `;\n }\n\n protected renderEntityEditor(): TemplateResult {\n return html`\n <div class=\"editor-title title-large\">Data Entity</div>\n <data-entity-form \n .root=\"${this.root}\" \n .key=\"${this.selected}\"\n ?parentDropZone=\"${this._highlightEntityDropZone}\"\n @change=\"${this._entityChangeHandler}\"\n @namechange=\"${this._entityNameHandler}\"\n class=\"editor-form\"\n ></data-entity-form>\n `;\n }\n\n protected renderSchema(): TemplateResult {\n return html`\n <details class=\"schema-card\" @toggle=\"${this._schemaOpenHandler}\">\n <summary class=\"title-medium\">Example</summary>\n <div class=\"example-content\">\n <div class=\"mime-options\">\n <span id=\"mimeLabel\" class=\"label-large\">Mime type:</span>\n <label class=\"label-large\">\n <ui-radio \n name=\"mimeValue\" \n value=\"application/json\" \n .checked=\"${this._schemaMime === 'application/json'}\" \n @change=\"${this._schemaMimeHandler}\"\n aria-describedby=\"mimeLabel\"\n ></ui-radio>\n application/json\n </label>\n <label class=\"label-large\">\n <ui-radio \n name=\"mimeValue\" \n value=\"application/xml\" \n .checked=\"${this._schemaMime === 'application/xml'}\" \n @change=\"${this._schemaMimeHandler}\"\n aria-describedby=\"mimeLabel\"\n ></ui-radio>\n application/xml\n </label>\n <label class=\"label-large\">\n <ui-checkbox\n .checked=\"${this._schemaMock}\" \n @change=\"${this._mockSchemaValuesHandler}\" \n title=\"Generates random values when examples are not defined.\"\n ></ui-checkbox>\n Mock values\n </label>\n </div>\n <pre class=\"code-value text-selectable\"><code>${this._schemaExample}</code></pre>\n </div>\n </details>`;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"DataEntityEditorElement.js","sourceRoot":"","sources":["../../../src/elements/schema-design/DataEntityEditorElement.ts"],"names":[],"mappings":"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","sourcesContent":["import { css, CSSResult, html, PropertyValues, TemplateResult } from \"lit\";\nimport { property, query, state } from \"lit/decorators.js\";\nimport { DataEntityKind, DataNamespace } from \"@api-client/core/build/esm/browser.js\";\nimport ApiElement from \"../ApiElement.js\";\nimport theme from '../theme.js';\nimport schemaCommon from './schemaCommon.js';\nimport EditorCommon from './CommonStyles.js';\nimport MarkdownStyles from '../highlight/MarkdownStyles.js';\nimport typography from \"../../styles/m3/typography.module.js\";\nimport type DataSchemaDocument from \"./DataSchemaDocument.js\";\nimport type RadioElement from \"../../ui/input/RadioElement.js\";\nimport type CheckboxElement from \"../../ui/input/CheckboxElement.js\";\nimport '../../define/ui/ui-icon.js';\nimport '../../define/ui/ui-icon-button.js';\nimport '../../define/ui/ui-radio.js';\nimport '../../define/ui/ui-checkbox.js';\nimport '../../define/highlight/marked-highlight.js';\nimport '../../define/data/data-association-form.js';\nimport '../../define/data/data-property-form.js';\nimport '../../define/data/data-entity-form.js';\nimport '../../define/data/data-schema-document.js';\n\n/**\n * The DataEntity editor UI and logic.\n * \n * @fires change - When the entity has changed and the parent element / app should update the value in the store.\n * @fires namechange - When a name of the data entity has changed. This triggers a render in the navigation. This is fired after the `change` event.\n */\nexport default class DataEntityEditorElement extends ApiElement {\n static override get styles(): CSSResult[] {\n return [\n theme,\n schemaCommon,\n MarkdownStyles,\n EditorCommon,\n typography,\n css`\n :host {\n display: block;\n height: 100%;\n }\n\n .container {\n display: flex;\n flex-direction: row;\n height: inherit;\n flex: 1;\n }\n\n .structure {\n flex: 8;\n overflow: hidden;\n }\n\n .editor {\n flex: 4;\n background-color: var(--md-sys-color-surface);\n border-radius: var(--md-sys-shape-corner-small);\n box-shadow: var(--md-sys-elevation-1);\n overflow: hidden;\n display: flex;\n flex-direction: column;\n /* for the box shadow */\n margin: 4px; \n }\n\n .editor-form {\n overflow: auto;\n }\n\n .mime-options {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n }\n\n .schema-card {\n margin: 20px 20px 20px 0px;\n }\n `,\n ];\n }\n\n /**\n * The read data namespace.\n */\n @property({ type: Object }) root?: DataNamespace;\n\n /**\n * The selected entity.\n */\n @property({ type: String }) selected?: string;\n\n /**\n * The key of the selected property being edited.\n */\n @property({ type: String }) selectedProperty?: string;\n\n /**\n * The key of the selected association being edited.\n */\n @property({ type: String }) selectedAssociation?: string;\n\n @state() protected _highlightEntityDropZone?: boolean;\n\n @state() protected _schemaExample?: string | number | boolean | null;\n\n @state() protected _schemaMime: string;\n\n @state() protected _schemaMock: boolean;\n\n protected _schemaOpened?: boolean;\n\n @query('data-schema-document')\n protected _schemaDoc?: DataSchemaDocument;\n\n constructor() {\n super();\n this._schemaMime = 'application/json';\n this._schemaMock = true;\n this.addEventListener('dragenter', this._dragEnterHandler.bind(this));\n this.addEventListener('dragleave', this._dragLeaveHandler.bind(this));\n }\n\n protected override willUpdate(cp: PropertyValues<this>): void {\n super.willUpdate(cp);\n if (cp.has('selected')) {\n this._computeExampleSchemaIfNeeded();\n }\n }\n\n override notifyChange(): void {\n super.notifyChange();\n if (this._highlightEntityDropZone) {\n this._highlightEntityDropZone = false;\n }\n }\n\n protected _dragEnterHandler(e: DragEvent): void {\n const { dataTransfer: dt } = e;\n if (!dt) {\n return;\n }\n if (![...dt.types].includes(DataEntityKind.toLowerCase())) {\n return;\n }\n this._highlightEntityDropZone = true;\n this.selectedProperty = undefined;\n this.selectedAssociation = undefined;\n }\n\n protected _dragLeaveHandler(e: DragEvent): void {\n const { dataTransfer: dt } = e;\n if (!dt) {\n return;\n }\n if (![...dt.types].includes(DataEntityKind.toLowerCase())) {\n return;\n }\n this._highlightEntityDropZone = false;\n }\n\n protected _propertyChangeHandler(): void {\n this.notifyChange();\n const { _schemaDoc } = this;\n if (_schemaDoc) {\n _schemaDoc.requestUpdate();\n }\n this._computeExampleSchemaIfNeeded();\n }\n\n protected _entityChangeHandler(): void {\n this.notifyChange();\n const { _schemaDoc } = this;\n if (_schemaDoc) {\n _schemaDoc.requestUpdate();\n }\n this._computeExampleSchemaIfNeeded();\n }\n\n protected _schemaEntityChangeHandler(): void {\n this.notifyChange();\n this.requestUpdate();\n this._computeExampleSchemaIfNeeded();\n }\n\n protected _schemaEntityEditHandler(e: CustomEvent): void {\n const { type, key } = e.detail;\n if (type === 'property') {\n this.selectedProperty = key;\n this.selectedAssociation = undefined;\n } else if (type === 'association') {\n this.selectedProperty = undefined;\n this.selectedAssociation = key;\n }\n this._computeExampleSchemaIfNeeded();\n }\n\n protected _entityNameHandler(): void {\n // just retarget\n this.dispatchEvent(new Event('namechange'));\n this._computeExampleSchemaIfNeeded();\n }\n\n protected _cancelEditor(): void {\n this.selectedProperty = undefined;\n this.selectedAssociation = undefined;\n }\n\n protected _computeExampleSchema(): void {\n const { selected, root } = this;\n const entity = root?.definitions.entities.find(i => i.key === selected);\n if (!entity) {\n this._schemaExample = undefined;\n return\n }\n this._schemaExample = entity.toExample(this._schemaMime, {\n renderMocked: this._schemaMock,\n renderExamples: true,\n renderOptional: true,\n });\n }\n\n protected _computeExampleSchemaIfNeeded(): void {\n if (this._schemaOpened) {\n this._computeExampleSchema();\n }\n }\n\n protected _schemaOpenHandler(e: Event): void {\n const details = e.target as HTMLDetailsElement;\n this._schemaOpened = details.open;\n if (details.open) {\n this._computeExampleSchema();\n }\n }\n\n protected _schemaMimeHandler(e: Event): void {\n const button = e.target as RadioElement;\n if (!button.checked) {\n return;\n }\n this._schemaMime = button.value as string;\n this._computeExampleSchemaIfNeeded();\n }\n\n protected _mockSchemaValuesHandler(e: Event): void {\n const input = e.target as CheckboxElement;\n const { checked } = input;\n this._schemaMock = checked;\n this._computeExampleSchema();\n }\n\n protected override render(): TemplateResult {\n return html`\n <div class=\"container\">\n ${this._structureTemplate()}\n ${this._editorTemplate()}\n </div>\n `;\n }\n\n protected _structureTemplate(): TemplateResult {\n return html`\n <div class=\"structure\">\n <data-schema-document\n .root=\"${this.root}\"\n .key=\"${this.selected}\"\n .selectedProperty=\"${this.selectedProperty || this.selectedAssociation}\"\n ?associationDropZone=\"${this._highlightEntityDropZone}\"\n editable\n @change=\"${this._schemaEntityChangeHandler}\"\n @edit=\"${this._schemaEntityEditHandler}\"\n ></data-schema-document>\n ${this.renderSchema()}\n </div>\n `;\n }\n\n protected _editorTemplate(): TemplateResult {\n const { selectedProperty, selectedAssociation } = this;\n let content: TemplateResult;\n if (selectedProperty) {\n content = this._propertyEditorTemplate(selectedProperty);\n } else if (selectedAssociation) {\n content = this._associationEditorTemplate(selectedAssociation);\n } else {\n content = this.renderEntityEditor();\n }\n return html`\n <div class=\"editor\">${content}</div>\n `;\n }\n\n protected _propertyEditorTemplate(id: string): TemplateResult {\n return html`\n <div class=\"editor-title title-large\">\n Data Property\n <ui-icon-button class=\"title-icon\" title=\"Close this editor\" @click=\"${this._cancelEditor}\">\n <ui-icon icon=\"close\"></ui-icon>\n </ui-icon-button>\n </div>\n <data-property-form \n .root=\"${this.root}\" \n .key=\"${id}\" \n @change=\"${this._propertyChangeHandler}\"\n class=\"editor-form\"\n ></data-property-form>\n `;\n }\n\n protected _associationEditorTemplate(id: string): TemplateResult {\n return html`\n <div class=\"editor-title title-large\">\n Data Association\n <ui-icon-button class=\"title-icon\" title=\"Close this editor\" @click=\"${this._cancelEditor}\">\n <ui-icon icon=\"close\"></ui-icon>\n </ui-icon-button>\n </div>\n <data-association-form\n .root=\"${this.root}\" \n .key=\"${id}\" \n @change=\"${this._propertyChangeHandler}\"\n class=\"editor-form\"\n ></data-association-form>\n `;\n }\n\n protected renderEntityEditor(): TemplateResult {\n return html`\n <div class=\"editor-title title-large\">Data Entity</div>\n <data-entity-form \n .root=\"${this.root}\" \n .key=\"${this.selected}\"\n ?parentDropZone=\"${this._highlightEntityDropZone}\"\n @change=\"${this._entityChangeHandler}\"\n @namechange=\"${this._entityNameHandler}\"\n class=\"editor-form\"\n ></data-entity-form>\n `;\n }\n\n protected renderSchema(): TemplateResult {\n return html`\n <details class=\"schema-card\" @toggle=\"${this._schemaOpenHandler}\">\n <summary class=\"title-medium\">Example</summary>\n <div class=\"example-content\">\n <div class=\"mime-options\">\n <span id=\"mimeLabel\" class=\"label-large\">Mime type:</span>\n <label class=\"label-large\">\n <ui-radio \n name=\"mimeValue\" \n value=\"application/json\" \n .checked=\"${this._schemaMime === 'application/json'}\" \n @change=\"${this._schemaMimeHandler}\"\n aria-describedby=\"mimeLabel\"\n ></ui-radio>\n application/json\n </label>\n <label class=\"label-large\">\n <ui-radio \n name=\"mimeValue\" \n value=\"application/xml\" \n .checked=\"${this._schemaMime === 'application/xml'}\" \n @change=\"${this._schemaMimeHandler}\"\n aria-describedby=\"mimeLabel\"\n ></ui-radio>\n application/xml\n </label>\n <label class=\"label-large\">\n <ui-checkbox\n .checked=\"${this._schemaMock}\" \n @change=\"${this._mockSchemaValuesHandler}\" \n title=\"Generates random values when examples are not defined.\"\n ></ui-checkbox>\n Mock values\n </label>\n </div>\n <pre class=\"code-value text-selectable\"><code>${this._schemaExample}</code></pre>\n </div>\n </details>`;\n }\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DataAssociation, DataEntity, DataModel, DataNamespace, DataProperty } from "@api-client/core/build/browser.js";
|
|
1
|
+
import { DataAssociation, DataEntity, DataModel, DataNamespace, DataProperty } from "@api-client/core/build/esm/browser.js";
|
|
2
2
|
import { TemplateResult, nothing, CSSResult, PropertyValues } from "lit";
|
|
3
3
|
import ApiElement from "../ApiElement.js";
|
|
4
4
|
import VizWorkspaceElement from "../../visualization/elements/VizWorkspaceElement.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataModelVisualizationElement.d.ts","sourceRoot":"","sources":["../../../src/elements/schema-design/DataModelVisualizationElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"DataModelVisualizationElement.d.ts","sourceRoot":"","sources":["../../../src/elements/schema-design/DataModelVisualizationElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC5H,OAAO,EAAQ,cAAc,EAAE,OAAO,EAAE,SAAS,EAAO,cAAc,EAAE,MAAM,KAAK,CAAC;AAKpF,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAC1C,OAAO,mBAAmB,MAAM,qDAAqD,CAAC;AAEtF,OAAO,6CAA6C,CAAC;AACrD,OAAO,+CAA+C,CAAC;AACvD,OAAO,4BAA4B,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,8DAA8D,CAAC;AAC9F,OAAO,EAAE,iBAAiB,EAAE,MAAM,qDAAqD,CAAC;AAExF,UAAU,QAAQ;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,QAAQ,GAAG,aAAa,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;IAClE,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,CAAC,OAAO,OAAO,6BAA8B,SAAQ,UAAU;IACnE,WAAoB,MAAM,IAAI,SAAS,EAAE,CA4FxC;IAED;;OAEG;IACwC,GAAG,CAAC,EAAE,MAAM,CAAC;IAExD;;OAEG;IACyB,IAAI,CAAC,EAAE,aAAa,CAAC;IAEjD;;OAEG;IACM,SAAS,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAE7B,SAAS,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IAEd,SAAS,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;IAEnE,SAAS,CAAC,oBAAoB,CAAC,EAAE,cAAc,CAAC;IAEhD,SAAS,CAAC,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAE/B,YAAY,CAAC,EAAE,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAY5C,iBAAiB,IAAI,IAAI;IAUzB,oBAAoB,IAAI,IAAI;cAUlB,UAAU,CAAC,EAAE,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAM7D;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAM9B;;;OAGG;IACH,SAAS,CAAC,aAAa,IAAI,IAAI;cAUf,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA0B3C,SAAS,CAAC,cAAc,IAAI,IAAI;cAkEhB,kBAAkB,CAAC,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;cAmB9C,MAAM,IAAI,cAAc;IAQ3C,SAAS,CAAC,cAAc,IAAI,cAAc,EAAE,GAAG,OAAO,OAAO;IAQ7D,SAAS,CAAC,oBAAoB,CAAC,KAAK,EAAE,QAAQ,GAAG,cAAc;IAqB/D,SAAS,CAAC,uBAAuB,CAAC,MAAM,EAAE,UAAU,GAAG,cAAc;IASrE,SAAS,CAAC,qBAAqB,CAAC,IAAI,EAAE,YAAY,GAAG,cAAc;IA2BnE,SAAS,CAAC,oBAAoB,CAAC,IAAI,EAAE,eAAe,GAAG,cAAc,GAAG,OAAO,OAAO;IAkBtF,SAAS,CAAC,0BAA0B,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc;CAQjE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataModelVisualizationElement.js","sourceRoot":"","sources":["../../../src/elements/schema-design/DataModelVisualizationElement.ts"],"names":[],"mappings":"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","sourcesContent":["import { DataAssociation, DataEntity, DataModel, DataNamespace, DataProperty } from \"@api-client/core/build/browser.js\";\nimport { html, TemplateResult, nothing, CSSResult, css, PropertyValues } from \"lit\";\nimport { property, query, state } from \"lit/decorators.js\";\nimport { styleMap } from \"lit/directives/style-map.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport ApiElement from \"../ApiElement.js\";\nimport VizWorkspaceElement from \"../../visualization/elements/VizWorkspaceElement.js\";\nimport { DataModelLayout } from \"../../visualization/plugin/positioning/DataModelLayout.js\";\nimport '../../define/visualization/viz-workspace.js';\nimport '../../define/visualization/viz-association.js';\nimport '../../define/ui/ui-icon.js';\nimport { GroupSelection } from \"../../visualization/plugin/group-selection/GroupSelection.js\";\nimport { DragAndDropPlugin } from \"../../visualization/plugin/dnd/DragAndDropPlugin.js\";\n\ninterface VizModel {\n id?: string;\n entity: DataEntity;\n type: 'parent' | 'association' | 'internal' | 'external' | 'self';\n x?: number;\n y?: number;\n}\n\nexport default class DataModelVisualizationElement extends ApiElement {\n static override get styles(): CSSResult[] {\n return [\n css`\n :host {\n display: block;\n }\n\n viz-workspace {\n flex: 1;\n height: 100%;\n }\n\n [data-selectable][data-selected] {\n border: 2px var(--workspace-entity-selection-border-color) solid;\n background-color: var(--workspace-entity-selection-background-color, #fff);\n color: var(--workspace-entity-selection-color, unset);\n }\n\n [data-selectable][data-secondary-selected] {\n border: 2px var(--workspace-entity-secondary-selection-border-color) solid;\n background-color: var(--workspace-entity-secondary-selection-background-color, #fff);\n }\n\n .data-entity {\n border: 2px var(--workspace-entity-border-color, #9e9e9e) solid;\n border-radius: var(--workspace-entity-border-radius, 8px);\n background-color: var(--workspace-entity-background-color, #fff);\n min-width: 240px;\n box-shadow: var(--workspace-entity-box-shadow, none);\n }\n\n .title {\n display: flex;\n align-items: center;\n margin: 12px 20px;\n }\n\n .title .label {\n padding: 0;\n margin: 0;\n /* font-weight: 300; */\n /* font-size: 1.25rem; */\n margin-left: 8px;\n\n font-family: var(--md-sys-typescale-title-large-font-family-name);\n font-style: var(--md-sys-typescale-title-large-font-family-style);\n font-weight: var(--md-sys-typescale-title-large-font-weight);\n font-size: var(--md-sys-typescale-title-large-font-size);\n letter-spacing: var(--md-sys-typescale-title-large-tracking);\n line-height: var(--md-sys-typescale-title-large-height);\n text-transform: var(--md-sys-typescale-title-large-text-transform);\n text-decoration: var(--md-sys-typescale-title-large-text-decoration);\n }\n\n .properties {\n margin: 20px 0;\n padding: 0;\n list-style: none;\n }\n\n .property {\n padding: 0 20px;\n height: 36px;\n display: flex;\n align-items: center;\n\n font-family: var(--md-sys-typescale-label-medium-font-family-name);\n font-style: var(--md-sys-typescale-label-medium-font-family-style);\n font-weight: var(--md-sys-typescale-label-medium-font-weight);\n font-size: var(--md-sys-typescale-label-medium-font-size);\n letter-spacing: var(--md-sys-typescale-label-medium-tracking);\n line-height: var(--md-sys-typescale-label-medium-height);\n text-transform: var(--md-sys-typescale-label-medium-text-transform);\n text-decoration: var(--md-sys-typescale-label-medium-text-decoration);\n }\n\n .property.primary,\n .property.index {\n font-weight: 700;\n }\n\n .data-type {\n margin-left: auto;\n }\n\n .property-key-icon {\n width: 16px;\n height: 16px;\n margin-right: 8px;\n }\n `,\n ];\n }\n\n /**\n * The key of the entity to edit.\n */\n @property({ type: String, reflect: true }) key?: string;\n\n /**\n * The read data namespace.\n */\n @property({ type: Object }) root?: DataNamespace;\n\n /**\n * The computed entity when the key or root change.\n */\n @state() protected _model?: DataModel;\n\n @state() protected _data?: VizModel[];\n\n @query('viz-workspace') protected _workspace?: VizWorkspaceElement;\n\n protected groupSelectionPlugin?: GroupSelection;\n\n protected dndPlugin?: DragAndDropPlugin;\n\n override firstUpdated(cp: PropertyValues<this>): void {\n super.firstUpdated(cp);\n const node = this._workspace;\n if (!node) {\n return;\n }\n this.dndPlugin = new DragAndDropPlugin(node);\n this.dndPlugin.connect();\n this.groupSelectionPlugin = new GroupSelection(node);\n this.groupSelectionPlugin.connect();\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n if (this.dndPlugin) {\n this.dndPlugin.connect();\n }\n if (this.groupSelectionPlugin) {\n this.groupSelectionPlugin.connect();\n }\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n if (this.dndPlugin) {\n this.dndPlugin.disconnect();\n }\n if (this.groupSelectionPlugin) {\n this.groupSelectionPlugin.disconnect();\n }\n }\n\n protected override willUpdate(cp: PropertyValues<this>): void {\n if (cp.has('key')) {\n this._computeModel();\n }\n }\n\n /**\n * Reloads the generated view model, runs the auto layout, and updated the view.\n * Note, this is very expensive operation. It updates the view at least twice.\n * THe layout computation can be very complex.\n */\n async refresh(): Promise<void> {\n this._createVizData();\n await this.updateComplete;\n await this._runLayout();\n }\n\n /**\n * Computes the view value for the property.\n * This should be called before the update is complete so this won't trigger another update.\n */\n protected _computeModel(): void {\n const { root, key } = this;\n if (!root || !key) {\n this._model = undefined;\n return;\n }\n this._model = root.definitions.models.find(i => i.key === key);\n this.refresh();\n }\n\n protected async _runLayout(): Promise<void> {\n const { _workspace: workspace, _model: dm, _data: list } = this;\n if (!workspace || !dm || !list) {\n return;\n }\n const layout = new DataModelLayout(workspace);\n layout.nodeSeparation = 80;\n layout.rankSeparation = 80;\n\n const result = layout.layout(dm);\n if (!result) {\n return;\n }\n result.nodes.forEach((info) => {\n const item = list.find(i => i.entity.key === info.id);\n if (!item) {\n return;\n }\n item.x = info.node.x;\n item.y = info.node.y;\n });\n this.requestUpdate();\n await this.updateComplete;\n workspace.edges.recalculate();\n }\n\n protected _createVizData(): void {\n const { _model: dm, root } = this;\n if (!dm || !root) {\n this._data = undefined;\n return;\n }\n const result: VizModel[] = [];\n\n dm.entities.forEach((entity) => {\n result.push({ entity, type: 'internal' });\n\n entity.parents.forEach(id => {\n if (result.some(i => i.entity.key === id) || dm.entities.some(i => i.key === id)) {\n // don't add a parent that is already added.\n return;\n }\n const parent = root.definitions.entities.find(i => i.key === id);\n if (parent) {\n result.push({ entity: parent, type: 'parent' });\n }\n });\n\n entity.associations.forEach((assoc) => {\n if (!assoc.targets.length) {\n return;\n }\n const targets = assoc.getTargets();\n if (targets.length === 1) {\n // classic association\n const [target] = targets;\n if (result.some(i => i.entity.key === target.key) || dm.entities.some(i => i.key === target.key)) {\n return;\n }\n const isSelf = entity === target;\n result.push({ \n entity: target, \n type: isSelf ? 'self' : 'association',\n });\n } else {\n // TODO: Union layout.\n // console.log(targets);\n }\n });\n\n // entity.associations.forEach((assoc) => {\n // if (!assoc.target) {\n // // ignore associations without a target\n // return;\n // }\n // if (result.some(i => i.entity.key === assoc.target) || dm.entities.some(i => i.key === assoc.target)) {\n // return;\n // }\n // const target = assoc.getTarget();\n // if (target) {\n // const isSelf = entity === target;\n // result.push({ \n // entity: target, \n // type: isSelf ? 'self' : 'association',\n // });\n // }\n // });\n });\n\n this._data = result;\n }\n\n protected async _repositionHandler(e: CustomEvent): Promise<void> {\n const node = e.target as HTMLElement;\n const { key } = node.dataset;\n if (!key) {\n return;\n }\n const model = this._data?.find(i => i.entity.key === key);\n if (!model) {\n return;\n }\n const { dx, dy } = e.detail;\n const { x=0, y=0 } = model;\n model.x = x + dx;\n model.y = y + dy;\n this.requestUpdate();\n await this.updateComplete;\n this._workspace?.edges.recalculate();\n }\n\n protected override render(): TemplateResult {\n return html`\n <viz-workspace\n @positionchange=\"${this._repositionHandler}\"\n >${this._modelContents()}</viz-workspace>\n `;\n }\n\n protected _modelContents(): TemplateResult[] | typeof nothing {\n const { _data: list } = this;\n if (!list || !list.length) {\n return nothing;\n }\n return list.map(e => this._entityVisualization(e));\n }\n\n protected _entityVisualization(model: VizModel): TemplateResult {\n const { entity, x = 0, y = 0, type } = model;\n const { info, key, associations, parents } = entity;\n const styles = {\n transform: `translate(${x}px, ${y}px)`,\n };\n return html`\n <div class=\"data-entity\" data-key=\"${key}\" data-type=\"${type}\" data-selectable=\"true\" draggable=\"true\" style=\"${styleMap(styles)}\">\n <div class=\"content\">\n <div class=\"title\">\n <ui-icon icon=\"schemaEntity\"></ui-icon>\n <p class=\"label\">${info.renderLabel}</p>\n </div>\n ${this._propertiesListTemplate(entity)}\n </div>\n ${associations.map(assoc => this._associationTemplate(assoc))}\n ${parents.map(id => this._parentAssociationTemplate(id))}\n </div>\n `;\n }\n\n protected _propertiesListTemplate(entity: DataEntity): TemplateResult {\n const { properties } = entity;\n return html`\n <ul class=\"properties\">\n ${properties.map(p => this._propertyItemTemplate(p))}\n </ul>\n `;\n }\n\n protected _propertyItemTemplate(item: DataProperty): TemplateResult {\n const { key, info, type, deprecated = false, primary = false, index = false } = item;\n const classes = {\n property: true,\n deprecated,\n primary,\n index,\n };\n\n const icons: TemplateResult[] = [];\n if (primary) {\n icons.push(html`<ui-icon icon=\"key\" class=\"property-key-icon\"></ui-icon>`);\n } else if (index) {\n icons.push(html`<ui-icon icon=\"search\" class=\"property-key-icon\"></ui-icon>`);\n } else {\n icons.push(html`<span class=\"property-key-icon\"></span>`);\n }\n\n return html`\n <li data-key=\"${key}\" class=\"${classMap(classes)}\">\n ${icons}\n <span class=\"label\">${info.renderLabel}</span>\n <span class=\"data-type\">${type}</span>\n </li>\n `;\n }\n\n protected _associationTemplate(item: DataAssociation): TemplateResult | typeof nothing {\n const { key, info, targets } = item;\n if (!targets.length) {\n return nothing;\n }\n if (targets.length === 1) {\n return html`<viz-association \n data-key=\"${key}\" \n data-target=\"${targets[0].key}\"\n title=\"${info.renderLabel}\"\n data-selectable\n data-marker-start=\"association\"\n ></viz-association>`;\n }\n // TODO: Make union associations\n return nothing;\n }\n\n protected _parentAssociationTemplate(id: string): TemplateResult {\n return html`<viz-association \n data-key=\"child-${id}\" \n data-target=\"${ifDefined(id)}\"\n data-selectable\n data-marker-end=\"parent\"\n ></viz-association>`;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"DataModelVisualizationElement.js","sourceRoot":"","sources":["../../../src/elements/schema-design/DataModelVisualizationElement.ts"],"names":[],"mappings":"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","sourcesContent":["import { DataAssociation, DataEntity, DataModel, DataNamespace, DataProperty } from \"@api-client/core/build/esm/browser.js\";\nimport { html, TemplateResult, nothing, CSSResult, css, PropertyValues } from \"lit\";\nimport { property, query, state } from \"lit/decorators.js\";\nimport { styleMap } from \"lit/directives/style-map.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport ApiElement from \"../ApiElement.js\";\nimport VizWorkspaceElement from \"../../visualization/elements/VizWorkspaceElement.js\";\nimport { DataModelLayout } from \"../../visualization/plugin/positioning/DataModelLayout.js\";\nimport '../../define/visualization/viz-workspace.js';\nimport '../../define/visualization/viz-association.js';\nimport '../../define/ui/ui-icon.js';\nimport { GroupSelection } from \"../../visualization/plugin/group-selection/GroupSelection.js\";\nimport { DragAndDropPlugin } from \"../../visualization/plugin/dnd/DragAndDropPlugin.js\";\n\ninterface VizModel {\n id?: string;\n entity: DataEntity;\n type: 'parent' | 'association' | 'internal' | 'external' | 'self';\n x?: number;\n y?: number;\n}\n\nexport default class DataModelVisualizationElement extends ApiElement {\n static override get styles(): CSSResult[] {\n return [\n css`\n :host {\n display: block;\n }\n\n viz-workspace {\n flex: 1;\n height: 100%;\n }\n\n [data-selectable][data-selected] {\n border: 2px var(--workspace-entity-selection-border-color) solid;\n background-color: var(--workspace-entity-selection-background-color, #fff);\n color: var(--workspace-entity-selection-color, unset);\n }\n\n [data-selectable][data-secondary-selected] {\n border: 2px var(--workspace-entity-secondary-selection-border-color) solid;\n background-color: var(--workspace-entity-secondary-selection-background-color, #fff);\n }\n\n .data-entity {\n border: 2px var(--workspace-entity-border-color, #9e9e9e) solid;\n border-radius: var(--workspace-entity-border-radius, 8px);\n background-color: var(--workspace-entity-background-color, #fff);\n min-width: 240px;\n box-shadow: var(--workspace-entity-box-shadow, none);\n }\n\n .title {\n display: flex;\n align-items: center;\n margin: 12px 20px;\n }\n\n .title .label {\n padding: 0;\n margin: 0;\n /* font-weight: 300; */\n /* font-size: 1.25rem; */\n margin-left: 8px;\n\n font-family: var(--md-sys-typescale-title-large-font-family-name);\n font-style: var(--md-sys-typescale-title-large-font-family-style);\n font-weight: var(--md-sys-typescale-title-large-font-weight);\n font-size: var(--md-sys-typescale-title-large-font-size);\n letter-spacing: var(--md-sys-typescale-title-large-tracking);\n line-height: var(--md-sys-typescale-title-large-height);\n text-transform: var(--md-sys-typescale-title-large-text-transform);\n text-decoration: var(--md-sys-typescale-title-large-text-decoration);\n }\n\n .properties {\n margin: 20px 0;\n padding: 0;\n list-style: none;\n }\n\n .property {\n padding: 0 20px;\n height: 36px;\n display: flex;\n align-items: center;\n\n font-family: var(--md-sys-typescale-label-medium-font-family-name);\n font-style: var(--md-sys-typescale-label-medium-font-family-style);\n font-weight: var(--md-sys-typescale-label-medium-font-weight);\n font-size: var(--md-sys-typescale-label-medium-font-size);\n letter-spacing: var(--md-sys-typescale-label-medium-tracking);\n line-height: var(--md-sys-typescale-label-medium-height);\n text-transform: var(--md-sys-typescale-label-medium-text-transform);\n text-decoration: var(--md-sys-typescale-label-medium-text-decoration);\n }\n\n .property.primary,\n .property.index {\n font-weight: 700;\n }\n\n .data-type {\n margin-left: auto;\n }\n\n .property-key-icon {\n width: 16px;\n height: 16px;\n margin-right: 8px;\n }\n `,\n ];\n }\n\n /**\n * The key of the entity to edit.\n */\n @property({ type: String, reflect: true }) key?: string;\n\n /**\n * The read data namespace.\n */\n @property({ type: Object }) root?: DataNamespace;\n\n /**\n * The computed entity when the key or root change.\n */\n @state() protected _model?: DataModel;\n\n @state() protected _data?: VizModel[];\n\n @query('viz-workspace') protected _workspace?: VizWorkspaceElement;\n\n protected groupSelectionPlugin?: GroupSelection;\n\n protected dndPlugin?: DragAndDropPlugin;\n\n override firstUpdated(cp: PropertyValues<this>): void {\n super.firstUpdated(cp);\n const node = this._workspace;\n if (!node) {\n return;\n }\n this.dndPlugin = new DragAndDropPlugin(node);\n this.dndPlugin.connect();\n this.groupSelectionPlugin = new GroupSelection(node);\n this.groupSelectionPlugin.connect();\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n if (this.dndPlugin) {\n this.dndPlugin.connect();\n }\n if (this.groupSelectionPlugin) {\n this.groupSelectionPlugin.connect();\n }\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n if (this.dndPlugin) {\n this.dndPlugin.disconnect();\n }\n if (this.groupSelectionPlugin) {\n this.groupSelectionPlugin.disconnect();\n }\n }\n\n protected override willUpdate(cp: PropertyValues<this>): void {\n if (cp.has('key')) {\n this._computeModel();\n }\n }\n\n /**\n * Reloads the generated view model, runs the auto layout, and updated the view.\n * Note, this is very expensive operation. It updates the view at least twice.\n * THe layout computation can be very complex.\n */\n async refresh(): Promise<void> {\n this._createVizData();\n await this.updateComplete;\n await this._runLayout();\n }\n\n /**\n * Computes the view value for the property.\n * This should be called before the update is complete so this won't trigger another update.\n */\n protected _computeModel(): void {\n const { root, key } = this;\n if (!root || !key) {\n this._model = undefined;\n return;\n }\n this._model = root.definitions.models.find(i => i.key === key);\n this.refresh();\n }\n\n protected async _runLayout(): Promise<void> {\n const { _workspace: workspace, _model: dm, _data: list } = this;\n if (!workspace || !dm || !list) {\n return;\n }\n const layout = new DataModelLayout(workspace);\n layout.nodeSeparation = 80;\n layout.rankSeparation = 80;\n\n const result = layout.layout(dm);\n if (!result) {\n return;\n }\n result.nodes.forEach((info) => {\n const item = list.find(i => i.entity.key === info.id);\n if (!item) {\n return;\n }\n item.x = info.node.x;\n item.y = info.node.y;\n });\n this.requestUpdate();\n await this.updateComplete;\n workspace.edges.recalculate();\n }\n\n protected _createVizData(): void {\n const { _model: dm, root } = this;\n if (!dm || !root) {\n this._data = undefined;\n return;\n }\n const result: VizModel[] = [];\n\n dm.entities.forEach((entity) => {\n result.push({ entity, type: 'internal' });\n\n entity.parents.forEach(id => {\n if (result.some(i => i.entity.key === id) || dm.entities.some(i => i.key === id)) {\n // don't add a parent that is already added.\n return;\n }\n const parent = root.definitions.entities.find(i => i.key === id);\n if (parent) {\n result.push({ entity: parent, type: 'parent' });\n }\n });\n\n entity.associations.forEach((assoc) => {\n if (!assoc.targets.length) {\n return;\n }\n const targets = assoc.getTargets();\n if (targets.length === 1) {\n // classic association\n const [target] = targets;\n if (result.some(i => i.entity.key === target.key) || dm.entities.some(i => i.key === target.key)) {\n return;\n }\n const isSelf = entity === target;\n result.push({ \n entity: target, \n type: isSelf ? 'self' : 'association',\n });\n } else {\n // TODO: Union layout.\n // console.log(targets);\n }\n });\n\n // entity.associations.forEach((assoc) => {\n // if (!assoc.target) {\n // // ignore associations without a target\n // return;\n // }\n // if (result.some(i => i.entity.key === assoc.target) || dm.entities.some(i => i.key === assoc.target)) {\n // return;\n // }\n // const target = assoc.getTarget();\n // if (target) {\n // const isSelf = entity === target;\n // result.push({ \n // entity: target, \n // type: isSelf ? 'self' : 'association',\n // });\n // }\n // });\n });\n\n this._data = result;\n }\n\n protected async _repositionHandler(e: CustomEvent): Promise<void> {\n const node = e.target as HTMLElement;\n const { key } = node.dataset;\n if (!key) {\n return;\n }\n const model = this._data?.find(i => i.entity.key === key);\n if (!model) {\n return;\n }\n const { dx, dy } = e.detail;\n const { x=0, y=0 } = model;\n model.x = x + dx;\n model.y = y + dy;\n this.requestUpdate();\n await this.updateComplete;\n this._workspace?.edges.recalculate();\n }\n\n protected override render(): TemplateResult {\n return html`\n <viz-workspace\n @positionchange=\"${this._repositionHandler}\"\n >${this._modelContents()}</viz-workspace>\n `;\n }\n\n protected _modelContents(): TemplateResult[] | typeof nothing {\n const { _data: list } = this;\n if (!list || !list.length) {\n return nothing;\n }\n return list.map(e => this._entityVisualization(e));\n }\n\n protected _entityVisualization(model: VizModel): TemplateResult {\n const { entity, x = 0, y = 0, type } = model;\n const { info, key, associations, parents } = entity;\n const styles = {\n transform: `translate(${x}px, ${y}px)`,\n };\n return html`\n <div class=\"data-entity\" data-key=\"${key}\" data-type=\"${type}\" data-selectable=\"true\" draggable=\"true\" style=\"${styleMap(styles)}\">\n <div class=\"content\">\n <div class=\"title\">\n <ui-icon icon=\"schemaEntity\"></ui-icon>\n <p class=\"label\">${info.renderLabel}</p>\n </div>\n ${this._propertiesListTemplate(entity)}\n </div>\n ${associations.map(assoc => this._associationTemplate(assoc))}\n ${parents.map(id => this._parentAssociationTemplate(id))}\n </div>\n `;\n }\n\n protected _propertiesListTemplate(entity: DataEntity): TemplateResult {\n const { properties } = entity;\n return html`\n <ul class=\"properties\">\n ${properties.map(p => this._propertyItemTemplate(p))}\n </ul>\n `;\n }\n\n protected _propertyItemTemplate(item: DataProperty): TemplateResult {\n const { key, info, type, deprecated = false, primary = false, index = false } = item;\n const classes = {\n property: true,\n deprecated,\n primary,\n index,\n };\n\n const icons: TemplateResult[] = [];\n if (primary) {\n icons.push(html`<ui-icon icon=\"key\" class=\"property-key-icon\"></ui-icon>`);\n } else if (index) {\n icons.push(html`<ui-icon icon=\"search\" class=\"property-key-icon\"></ui-icon>`);\n } else {\n icons.push(html`<span class=\"property-key-icon\"></span>`);\n }\n\n return html`\n <li data-key=\"${key}\" class=\"${classMap(classes)}\">\n ${icons}\n <span class=\"label\">${info.renderLabel}</span>\n <span class=\"data-type\">${type}</span>\n </li>\n `;\n }\n\n protected _associationTemplate(item: DataAssociation): TemplateResult | typeof nothing {\n const { key, info, targets } = item;\n if (!targets.length) {\n return nothing;\n }\n if (targets.length === 1) {\n return html`<viz-association \n data-key=\"${key}\" \n data-target=\"${targets[0].key}\"\n title=\"${info.renderLabel}\"\n data-selectable\n data-marker-start=\"association\"\n ></viz-association>`;\n }\n // TODO: Make union associations\n return nothing;\n }\n\n protected _parentAssociationTemplate(id: string): TemplateResult {\n return html`<viz-association \n data-key=\"child-${id}\" \n data-target=\"${ifDefined(id)}\"\n data-selectable\n data-marker-end=\"parent\"\n ></viz-association>`;\n }\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CSSResult, TemplateResult, nothing, PropertyValues } from "lit";
|
|
2
|
-
import { DataAssociation, DataEntity, DataNamespace, DataProperty } from "@api-client/core/build/browser.js";
|
|
2
|
+
import { DataAssociation, DataEntity, DataNamespace, DataProperty } from "@api-client/core/build/esm/browser.js";
|
|
3
3
|
import ApiElement from "../ApiElement.js";
|
|
4
4
|
import '../../define/ui/ui-button.js';
|
|
5
5
|
import '../../define/ui/ui-icon-button.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataSchemaDocument.d.ts","sourceRoot":"","sources":["../../../src/elements/schema-design/DataSchemaDocument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,SAAS,EAAQ,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAkB,MAAM,
|
|
1
|
+
{"version":3,"file":"DataSchemaDocument.d.ts","sourceRoot":"","sources":["../../../src/elements/schema-design/DataSchemaDocument.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
2
|
import { css, html, nothing } from "lit";
|
|
3
|
-
import { DataEntityKind } from "@api-client/core/build/browser.js";
|
|
3
|
+
import { DataEntityKind } from "@api-client/core/build/esm/browser.js";
|
|
4
4
|
import { property, state } from "lit/decorators.js";
|
|
5
5
|
import { classMap } from "lit/directives/class-map.js";
|
|
6
6
|
import ApiElement from "../ApiElement.js";
|