@api-client/ui 0.0.4 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/demo/elements/http/http-assertions.html +3 -0
- package/demo/elements/http/http-assertions.ts +1 -1
- package/demo/elements/http/http-flows.html +23 -0
- package/demo/elements/http/http-flows.ts +92 -0
- package/demo/elements/http/index.html +3 -0
- package/demo/pages/http-project/main.ts +5 -6
- package/dist/amf/lib/AmfParameters.js +0 -4
- package/dist/amf/lib/AmfParameters.js.map +1 -1
- package/dist/amf/lib/navigation-layout/EndpointsTree.js +0 -2
- package/dist/amf/lib/navigation-layout/EndpointsTree.js.map +1 -1
- package/dist/amf/lib/navigation-layout/NaturalTree.js +0 -2
- package/dist/amf/lib/navigation-layout/NaturalTree.js.map +1 -1
- package/dist/amf/store/AmfGraphStore.js +0 -2
- package/dist/amf/store/AmfGraphStore.js.map +1 -1
- package/dist/amf/store/AmfStore.js +0 -7
- package/dist/amf/store/AmfStore.js.map +1 -1
- package/dist/bindings/base/HttpClientStoreBindings.js +4 -1
- package/dist/bindings/base/HttpClientStoreBindings.js.map +1 -1
- package/dist/bindings/base/PlatformBindings.js +6 -10
- package/dist/bindings/base/PlatformBindings.js.map +1 -1
- package/dist/bindings/base/ProxyBindings.js +9 -6
- package/dist/bindings/base/ProxyBindings.js.map +1 -1
- package/dist/bindings/base/SharedWorkerThread.js +4 -1
- package/dist/bindings/base/SharedWorkerThread.js.map +1 -1
- package/dist/bindings/base/StoreBindings.js +162 -170
- package/dist/bindings/base/StoreBindings.js.map +1 -1
- package/dist/bindings/web/WebConfigurationBindings.js +22 -24
- package/dist/bindings/web/WebConfigurationBindings.js.map +1 -1
- package/dist/bindings/web/WebFileBindings.js +7 -4
- package/dist/bindings/web/WebFileBindings.js.map +1 -1
- package/dist/bindings/web/WebHttpClientStoreBindings.js +19 -21
- package/dist/bindings/web/WebHttpClientStoreBindings.js.map +1 -1
- package/dist/bindings/web/WebNavigationBindings.js +4 -1
- package/dist/bindings/web/WebNavigationBindings.js.map +1 -1
- package/dist/bindings/web/WebProxyBindings.js +5 -6
- package/dist/bindings/web/WebProxyBindings.js.map +1 -1
- package/dist/bindings/web/WebStoreBindings.js +39 -44
- package/dist/bindings/web/WebStoreBindings.js.map +1 -1
- package/dist/contextual-menu/ContextualMenu.js +10 -19
- package/dist/contextual-menu/ContextualMenu.js.map +1 -1
- package/dist/contextual-menu/ContextualMenuElement.js +4 -32
- package/dist/contextual-menu/ContextualMenuElement.js.map +1 -1
- package/dist/contextual-menu/MenuItem.js +0 -12
- package/dist/contextual-menu/MenuItem.js.map +1 -1
- package/dist/define/amf/api-annotation-document.js +1 -1
- package/dist/define/amf/api-annotation-document.js.map +1 -1
- package/dist/define/amf/api-authorization-editor.js +1 -1
- package/dist/define/amf/api-authorization-editor.js.map +1 -1
- package/dist/define/amf/api-channel-document.js +1 -1
- package/dist/define/amf/api-channel-document.js.map +1 -1
- package/dist/define/amf/api-documentation-document.js +1 -1
- package/dist/define/amf/api-documentation-document.js.map +1 -1
- package/dist/define/amf/api-documentation.js +1 -1
- package/dist/define/amf/api-documentation.js.map +1 -1
- package/dist/define/amf/api-navigation.js +1 -1
- package/dist/define/amf/api-navigation.js.map +1 -1
- package/dist/define/amf/api-operation-document.js +1 -1
- package/dist/define/amf/api-operation-document.js.map +1 -1
- package/dist/define/amf/api-parameter-document.js +1 -1
- package/dist/define/amf/api-parameter-document.js.map +1 -1
- package/dist/define/amf/api-parametrized-security-scheme.js +1 -1
- package/dist/define/amf/api-parametrized-security-scheme.js.map +1 -1
- package/dist/define/amf/api-payload-document.js +1 -1
- package/dist/define/amf/api-payload-document.js.map +1 -1
- package/dist/define/amf/api-request-document.js +1 -1
- package/dist/define/amf/api-request-document.js.map +1 -1
- package/dist/define/amf/api-request-editor.js +1 -1
- package/dist/define/amf/api-request-editor.js.map +1 -1
- package/dist/define/amf/api-request.js +1 -1
- package/dist/define/amf/api-request.js.map +1 -1
- package/dist/define/amf/api-resource-document.js +1 -1
- package/dist/define/amf/api-resource-document.js.map +1 -1
- package/dist/define/amf/api-response-document.js +1 -1
- package/dist/define/amf/api-response-document.js.map +1 -1
- package/dist/define/amf/api-schema-document.js +1 -1
- package/dist/define/amf/api-schema-document.js.map +1 -1
- package/dist/define/amf/api-security-document.js +1 -1
- package/dist/define/amf/api-security-document.js.map +1 -1
- package/dist/define/amf/api-security-requirement-document.js +1 -1
- package/dist/define/amf/api-security-requirement-document.js.map +1 -1
- package/dist/define/amf/api-server-picker.js +1 -1
- package/dist/define/amf/api-server-picker.js.map +1 -1
- package/dist/define/amf/api-summary.js +1 -1
- package/dist/define/amf/api-summary.js.map +1 -1
- package/dist/define/amf/authorization/amf-apikey-authorization.js +1 -1
- package/dist/define/amf/authorization/amf-apikey-authorization.js.map +1 -1
- package/dist/define/amf/authorization/amf-basic-authorization.js +1 -1
- package/dist/define/amf/authorization/amf-basic-authorization.js.map +1 -1
- package/dist/define/amf/authorization/amf-bearer-authorization.js +1 -1
- package/dist/define/amf/authorization/amf-bearer-authorization.js.map +1 -1
- package/dist/define/amf/authorization/amf-oauth2-authorization.js +1 -1
- package/dist/define/amf/authorization/amf-oauth2-authorization.js.map +1 -1
- package/dist/define/amf/authorization/amf-oidc-authorization.js +1 -1
- package/dist/define/amf/authorization/amf-oidc-authorization.js.map +1 -1
- package/dist/define/amf/authorization/amf-passthrough-authorization.js +1 -1
- package/dist/define/amf/authorization/amf-passthrough-authorization.js.map +1 -1
- package/dist/define/amf/authorization/amf-ramlcustom-authorization.js +1 -1
- package/dist/define/amf/authorization/amf-ramlcustom-authorization.js.map +1 -1
- package/dist/define/authorization/apikey-authorization.js +1 -1
- package/dist/define/authorization/apikey-authorization.js.map +1 -1
- package/dist/define/authorization/basic-authorization.js +1 -1
- package/dist/define/authorization/basic-authorization.js.map +1 -1
- package/dist/define/authorization/bearer-authorization.js +1 -1
- package/dist/define/authorization/bearer-authorization.js.map +1 -1
- package/dist/define/authorization/cc-authorization.js +1 -1
- package/dist/define/authorization/cc-authorization.js.map +1 -1
- package/dist/define/authorization/ntlm-authorization.js +1 -1
- package/dist/define/authorization/ntlm-authorization.js.map +1 -1
- package/dist/define/authorization/oauth2-authorization.js +1 -1
- package/dist/define/authorization/oauth2-authorization.js.map +1 -1
- package/dist/define/authorization/oidc-authorization.js +1 -1
- package/dist/define/authorization/oidc-authorization.js.map +1 -1
- package/dist/define/contextual-menu/contextual-menu.js +1 -1
- package/dist/define/contextual-menu/contextual-menu.js.map +1 -1
- package/dist/define/dialog/confirm-delete-dialog.js +1 -1
- package/dist/define/dialog/confirm-delete-dialog.js.map +1 -1
- package/dist/define/dialog/delete-cookie-action-dialog.d.ts +10 -0
- package/dist/define/dialog/delete-cookie-action-dialog.d.ts.map +1 -0
- package/dist/define/dialog/delete-cookie-action-dialog.js +14 -0
- package/dist/define/dialog/delete-cookie-action-dialog.js.map +1 -0
- package/dist/define/dialog/rename-dialog.js +1 -1
- package/dist/define/dialog/rename-dialog.js.map +1 -1
- package/dist/define/dialog/set-cookie-action-dialog.d.ts +10 -0
- package/dist/define/dialog/set-cookie-action-dialog.d.ts.map +1 -0
- package/dist/define/dialog/set-cookie-action-dialog.js +14 -0
- package/dist/define/dialog/set-cookie-action-dialog.js.map +1 -0
- package/dist/define/files/share-file.js +1 -1
- package/dist/define/files/share-file.js.map +1 -1
- package/dist/define/har/har-viewer.js +1 -1
- package/dist/define/har/har-viewer.js.map +1 -1
- package/dist/define/highlight/marked-highlight.js +1 -1
- package/dist/define/highlight/marked-highlight.js.map +1 -1
- package/dist/define/highlight/prism-highlight.js +1 -1
- package/dist/define/highlight/prism-highlight.js.map +1 -1
- package/dist/define/http/http-assertions.d.ts +1 -1
- package/dist/define/http/http-assertions.d.ts.map +1 -1
- package/dist/define/http/http-assertions.js +3 -3
- package/dist/define/http/http-assertions.js.map +1 -1
- package/dist/define/http/http-body-editor.js +1 -1
- package/dist/define/http/http-body-editor.js.map +1 -1
- package/dist/define/http/http-body-multipart-editor.js +1 -1
- package/dist/define/http/http-body-multipart-editor.js.map +1 -1
- package/dist/define/http/http-body-text-editor.js +1 -1
- package/dist/define/http/http-body-text-editor.js.map +1 -1
- package/dist/define/http/http-body-urlencoded-editor.js +1 -1
- package/dist/define/http/http-body-urlencoded-editor.js.map +1 -1
- package/dist/define/http/http-flows.d.ts +10 -0
- package/dist/define/http/http-flows.d.ts.map +1 -0
- package/dist/define/http/http-flows.js +13 -0
- package/dist/define/http/http-flows.js.map +1 -0
- package/dist/define/http/http-headers-form.js +1 -1
- package/dist/define/http/http-headers-form.js.map +1 -1
- package/dist/define/http/http-log-body.js +1 -1
- package/dist/define/http/http-log-body.js.map +1 -1
- package/dist/define/http/http-log-headers.js +1 -1
- package/dist/define/http/http-log-headers.js.map +1 -1
- package/dist/define/http/http-log-timings.js +1 -1
- package/dist/define/http/http-log-timings.js.map +1 -1
- package/dist/define/http/http-request-config.js +1 -1
- package/dist/define/http/http-request-config.js.map +1 -1
- package/dist/define/http/http-request-editor.js +1 -1
- package/dist/define/http/http-request-editor.js.map +1 -1
- package/dist/define/http/http-request-log.js +1 -1
- package/dist/define/http/http-request-log.js.map +1 -1
- package/dist/define/http/http-snippets.js +1 -1
- package/dist/define/http/http-snippets.js.map +1 -1
- package/dist/define/http/http-url-input.js +1 -1
- package/dist/define/http/http-url-input.js.map +1 -1
- package/dist/define/http/http-url-params-form.js +1 -1
- package/dist/define/http/http-url-params-form.js.map +1 -1
- package/dist/define/http-project/http-project-request-history.js +1 -1
- package/dist/define/http-project/http-project-request-history.js.map +1 -1
- package/dist/define/http-project/http-project-request.js +2 -2
- package/dist/define/http-project/http-project-request.js.map +1 -1
- package/dist/define/http-project/project-navigation.js +1 -1
- package/dist/define/http-project/project-navigation.js.map +1 -1
- package/dist/define/http-project/project-run-report.js +1 -1
- package/dist/define/http-project/project-run-report.js.map +1 -1
- package/dist/define/http-project/project-runner.js +2 -2
- package/dist/define/http-project/project-runner.js.map +1 -1
- package/dist/define/layout/split-view.js +1 -1
- package/dist/define/layout/split-view.js.map +1 -1
- package/dist/define/schema-design/schema-design-navigation.js +1 -1
- package/dist/define/schema-design/schema-design-navigation.js.map +1 -1
- package/dist/define/schema-design/schema-namespace-selector.js +1 -1
- package/dist/define/schema-design/schema-namespace-selector.js.map +1 -1
- package/dist/define/ui/ui-button.js +1 -1
- package/dist/define/ui/ui-button.js.map +1 -1
- package/dist/define/ui/ui-chip.js +1 -1
- package/dist/define/ui/ui-chip.js.map +1 -1
- package/dist/define/ui/ui-collapse.js +1 -1
- package/dist/define/ui/ui-collapse.js.map +1 -1
- package/dist/define/ui/ui-dialog.js +1 -1
- package/dist/define/ui/ui-dialog.js.map +1 -1
- package/dist/define/ui/ui-divider.d.ts +4 -1
- package/dist/define/ui/ui-divider.d.ts.map +1 -1
- package/dist/define/ui/ui-divider.js +11 -2
- package/dist/define/ui/ui-divider.js.map +1 -1
- package/dist/define/ui/ui-dropdown-list.js +1 -1
- package/dist/define/ui/ui-dropdown-list.js.map +1 -1
- package/dist/define/ui/ui-icon-button.js +1 -1
- package/dist/define/ui/ui-icon-button.js.map +1 -1
- package/dist/define/ui/ui-icon.js +1 -1
- package/dist/define/ui/ui-icon.js.map +1 -1
- package/dist/define/ui/ui-list-item.js +1 -1
- package/dist/define/ui/ui-list-item.js.map +1 -1
- package/dist/define/ui/ui-list.js +1 -1
- package/dist/define/ui/ui-list.js.map +1 -1
- package/dist/define/ui/ui-listbox.js +1 -1
- package/dist/define/ui/ui-listbox.js.map +1 -1
- package/dist/define/ui/ui-progress.js +1 -1
- package/dist/define/ui/ui-progress.js.map +1 -1
- package/dist/define/ui/ui-segmented-button-set.js +1 -1
- package/dist/define/ui/ui-segmented-button-set.js.map +1 -1
- package/dist/define/ui/ui-segmented-button.js +1 -1
- package/dist/define/ui/ui-segmented-button.js.map +1 -1
- package/dist/define/ui/ui-snackbar.js +1 -1
- package/dist/define/ui/ui-snackbar.js.map +1 -1
- package/dist/define/ui/ui-tab.js +1 -1
- package/dist/define/ui/ui-tab.js.map +1 -1
- package/dist/define/ui/ui-tabs.js +1 -1
- package/dist/define/ui/ui-tabs.js.map +1 -1
- package/dist/directives/data-attr.js +0 -1
- package/dist/directives/data-attr.js.map +1 -1
- package/dist/elements/ApiElement.d.ts +4 -0
- package/dist/elements/ApiElement.d.ts.map +1 -1
- package/dist/elements/ApiElement.js +6 -7
- package/dist/elements/ApiElement.js.map +1 -1
- package/dist/elements/amf/ApiAnnotationDocument.element.js +0 -2
- package/dist/elements/amf/ApiAnnotationDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiAuthorizationEditor.element.js +1 -33
- package/dist/elements/amf/ApiAuthorizationEditor.element.js.map +1 -1
- package/dist/elements/amf/ApiDocumentation.element.js +0 -91
- package/dist/elements/amf/ApiDocumentation.element.js.map +1 -1
- package/dist/elements/amf/ApiDocumentationBase.js +0 -9
- package/dist/elements/amf/ApiDocumentationBase.js.map +1 -1
- package/dist/elements/amf/ApiDocumentationDocument.element.js +0 -1
- package/dist/elements/amf/ApiDocumentationDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiNavigation.element.js +0 -97
- package/dist/elements/amf/ApiNavigation.element.js.map +1 -1
- package/dist/elements/amf/ApiOperationDocument.element.d.ts.map +1 -1
- package/dist/elements/amf/ApiOperationDocument.element.js +2 -77
- package/dist/elements/amf/ApiOperationDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiParameterDocument.element.js +0 -3
- package/dist/elements/amf/ApiParameterDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiParametrizedSecurityScheme.element.js +0 -1
- package/dist/elements/amf/ApiParametrizedSecurityScheme.element.js.map +1 -1
- package/dist/elements/amf/ApiPayloadDocument.element.js +0 -1
- package/dist/elements/amf/ApiPayloadDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiRequest.element.js +1 -79
- package/dist/elements/amf/ApiRequest.element.js.map +1 -1
- package/dist/elements/amf/ApiRequestDocument.element.js +0 -38
- package/dist/elements/amf/ApiRequestDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiRequestEditor.element.d.ts +0 -1
- package/dist/elements/amf/ApiRequestEditor.element.d.ts.map +1 -1
- package/dist/elements/amf/ApiRequestEditor.element.js +0 -121
- package/dist/elements/amf/ApiRequestEditor.element.js.map +1 -1
- package/dist/elements/amf/ApiResourceDocument.element.js +0 -75
- package/dist/elements/amf/ApiResourceDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiResponseDocument.element.js +0 -17
- package/dist/elements/amf/ApiResponseDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiSchemaDocument.element.js +0 -28
- package/dist/elements/amf/ApiSchemaDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiSecurityDocument.element.js +0 -28
- package/dist/elements/amf/ApiSecurityDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiSecurityRequirementDocument.element.js +0 -1
- package/dist/elements/amf/ApiSecurityRequirementDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiServerPicker.element.js +2 -65
- package/dist/elements/amf/ApiServerPicker.element.js.map +1 -1
- package/dist/elements/amf/ApiSummary.element.js +0 -26
- package/dist/elements/amf/ApiSummary.element.js.map +1 -1
- package/dist/elements/amf/authorization/AmfApiKey.js +0 -5
- package/dist/elements/amf/authorization/AmfApiKey.js.map +1 -1
- package/dist/elements/amf/authorization/AmfBasic.js +0 -4
- package/dist/elements/amf/authorization/AmfBasic.js.map +1 -1
- package/dist/elements/amf/authorization/AmfBearer.js +0 -4
- package/dist/elements/amf/authorization/AmfBearer.js.map +1 -1
- package/dist/elements/amf/authorization/AmfOauth2.js +0 -13
- package/dist/elements/amf/authorization/AmfOauth2.js.map +1 -1
- package/dist/elements/amf/authorization/AmfOidc.js +0 -4
- package/dist/elements/amf/authorization/AmfOidc.js.map +1 -1
- package/dist/elements/amf/authorization/AmfPassThrough.js +0 -6
- package/dist/elements/amf/authorization/AmfPassThrough.js.map +1 -1
- package/dist/elements/amf/authorization/AmfRamlCustom.js +0 -6
- package/dist/elements/amf/authorization/AmfRamlCustom.js.map +1 -1
- package/dist/elements/authorization/OAuth2Authorize.js +0 -14
- package/dist/elements/authorization/OAuth2Authorize.js.map +1 -1
- package/dist/elements/authorization/OidcAuthorize.js +0 -14
- package/dist/elements/authorization/OidcAuthorize.js.map +1 -1
- package/dist/elements/authorization/ui/ApiKeyAuthorization.js +0 -2
- package/dist/elements/authorization/ui/ApiKeyAuthorization.js.map +1 -1
- package/dist/elements/authorization/ui/Authorization.d.ts +2 -1
- package/dist/elements/authorization/ui/Authorization.d.ts.map +1 -1
- package/dist/elements/authorization/ui/Authorization.js +18 -35
- package/dist/elements/authorization/ui/Authorization.js.map +1 -1
- package/dist/elements/authorization/ui/CcAuthorization.js +1 -3
- package/dist/elements/authorization/ui/CcAuthorization.js.map +1 -1
- package/dist/elements/authorization/ui/OAuth2Authorization.js +21 -50
- package/dist/elements/authorization/ui/OAuth2Authorization.js.map +1 -1
- package/dist/elements/authorization/ui/OidcAuthorization.js +4 -6
- package/dist/elements/authorization/ui/OidcAuthorization.js.map +1 -1
- package/dist/elements/code/HttpSnippets.js +9 -8
- package/dist/elements/code/HttpSnippets.js.map +1 -1
- package/dist/elements/dialog/ConfirmDelete.js +0 -12
- package/dist/elements/dialog/ConfirmDelete.js.map +1 -1
- package/dist/elements/dialog/DeleteCookieAction.element.d.ts +20 -0
- package/dist/elements/dialog/DeleteCookieAction.element.d.ts.map +1 -0
- package/dist/elements/dialog/DeleteCookieAction.element.js +93 -0
- package/dist/elements/dialog/DeleteCookieAction.element.js.map +1 -0
- package/dist/elements/dialog/DeleteCookieAction.styles.d.ts +3 -0
- package/dist/elements/dialog/DeleteCookieAction.styles.d.ts.map +1 -0
- package/dist/elements/dialog/DeleteCookieAction.styles.js +13 -0
- package/dist/elements/dialog/DeleteCookieAction.styles.js.map +1 -0
- package/dist/elements/dialog/Rename.d.ts +7 -6
- package/dist/elements/dialog/Rename.d.ts.map +1 -1
- package/dist/elements/dialog/Rename.js +7 -12
- package/dist/elements/dialog/Rename.js.map +1 -1
- package/dist/elements/dialog/SetCookieAction.element.d.ts +22 -0
- package/dist/elements/dialog/SetCookieAction.element.d.ts.map +1 -0
- package/dist/elements/dialog/SetCookieAction.element.js +173 -0
- package/dist/elements/dialog/SetCookieAction.element.js.map +1 -0
- package/dist/elements/environment/EnvironmentEditor.d.ts +24 -3
- package/dist/elements/environment/EnvironmentEditor.d.ts.map +1 -1
- package/dist/elements/environment/EnvironmentEditor.js +73 -30
- package/dist/elements/environment/EnvironmentEditor.js.map +1 -1
- package/dist/elements/environment/EnvironmentEditor.styles.d.ts.map +1 -1
- package/dist/elements/environment/EnvironmentEditor.styles.js +5 -0
- package/dist/elements/environment/EnvironmentEditor.styles.js.map +1 -1
- package/dist/elements/environment/ServerEditor.d.ts +3 -3
- package/dist/elements/environment/ServerEditor.d.ts.map +1 -1
- package/dist/elements/environment/ServerEditor.js +10 -51
- package/dist/elements/environment/ServerEditor.js.map +1 -1
- package/dist/elements/environment/VariablesEditor.d.ts +0 -1
- package/dist/elements/environment/VariablesEditor.d.ts.map +1 -1
- package/dist/elements/environment/VariablesEditor.js +10 -18
- package/dist/elements/environment/VariablesEditor.js.map +1 -1
- package/dist/elements/files/ShareFile.js +19 -57
- package/dist/elements/files/ShareFile.js.map +1 -1
- package/dist/elements/har/HarViewer.js +6 -7
- package/dist/elements/har/HarViewer.js.map +1 -1
- package/dist/elements/highlight/MarkedHighlight.js +4 -56
- package/dist/elements/highlight/MarkedHighlight.js.map +1 -1
- package/dist/elements/highlight/Prism.styles.d.ts.map +1 -1
- package/dist/elements/highlight/Prism.styles.js +12 -5
- package/dist/elements/highlight/Prism.styles.js.map +1 -1
- package/dist/elements/highlight/PrismHighlight.js +9 -18
- package/dist/elements/highlight/PrismHighlight.js.map +1 -1
- package/dist/elements/highlight/PrismHighlighter.js +4 -6
- package/dist/elements/highlight/PrismHighlighter.js.map +1 -1
- package/dist/elements/http/BodyEditor.d.ts +0 -4
- package/dist/elements/http/BodyEditor.d.ts.map +1 -1
- package/dist/elements/http/BodyEditor.js +31 -49
- package/dist/elements/http/BodyEditor.js.map +1 -1
- package/dist/elements/http/BodyMultipartEditor.d.ts +3 -16
- package/dist/elements/http/BodyMultipartEditor.d.ts.map +1 -1
- package/dist/elements/http/BodyMultipartEditor.js +20 -37
- package/dist/elements/http/BodyMultipartEditor.js.map +1 -1
- package/dist/elements/http/BodyTextEditor.d.ts +0 -1
- package/dist/elements/http/BodyTextEditor.d.ts.map +1 -1
- package/dist/elements/http/BodyTextEditor.js +2 -18
- package/dist/elements/http/BodyTextEditor.js.map +1 -1
- package/dist/elements/http/BodyUrlEncodedEditor.d.ts +3 -3
- package/dist/elements/http/BodyUrlEncodedEditor.d.ts.map +1 -1
- package/dist/elements/http/BodyUrlEncodedEditor.js +23 -26
- package/dist/elements/http/BodyUrlEncodedEditor.js.map +1 -1
- package/dist/elements/http/HeadersForm.d.ts +0 -4
- package/dist/elements/http/HeadersForm.d.ts.map +1 -1
- package/dist/elements/http/HeadersForm.js +16 -23
- package/dist/elements/http/HeadersForm.js.map +1 -1
- package/dist/elements/http/HttpAssertions.element.d.ts +55 -0
- package/dist/elements/http/HttpAssertions.element.d.ts.map +1 -0
- package/dist/elements/http/HttpAssertions.element.js +264 -0
- package/dist/elements/http/HttpAssertions.element.js.map +1 -0
- package/dist/elements/http/HttpAssertions.styles.d.ts.map +1 -1
- package/dist/elements/http/HttpAssertions.styles.js +7 -156
- package/dist/elements/http/HttpAssertions.styles.js.map +1 -1
- package/dist/elements/http/HttpFlows.common.d.ts +3 -0
- package/dist/elements/http/HttpFlows.common.d.ts.map +1 -0
- package/dist/elements/http/HttpFlows.common.js +181 -0
- package/dist/elements/http/HttpFlows.common.js.map +1 -0
- package/dist/elements/http/HttpFlows.element.d.ts +97 -0
- package/dist/elements/http/HttpFlows.element.d.ts.map +1 -0
- package/dist/elements/http/HttpFlows.element.js +684 -0
- package/dist/elements/http/HttpFlows.element.js.map +1 -0
- package/dist/elements/http/HttpFlows.styles.d.ts +3 -0
- package/dist/elements/http/HttpFlows.styles.d.ts.map +1 -0
- package/dist/elements/http/HttpFlows.styles.js +28 -0
- package/dist/elements/http/HttpFlows.styles.js.map +1 -0
- package/dist/elements/http/HttpFlowsUi.d.ts +172 -0
- package/dist/elements/http/HttpFlowsUi.d.ts.map +1 -0
- package/dist/elements/http/HttpFlowsUi.js +1256 -0
- package/dist/elements/http/HttpFlowsUi.js.map +1 -0
- package/dist/elements/http/LogBody.js +10 -21
- package/dist/elements/http/LogBody.js.map +1 -1
- package/dist/elements/http/LogHeaders.js +4 -23
- package/dist/elements/http/LogHeaders.js.map +1 -1
- package/dist/elements/http/LogTimings.js +11 -13
- package/dist/elements/http/LogTimings.js.map +1 -1
- package/dist/elements/http/RequestConfigElement.d.ts +0 -1
- package/dist/elements/http/RequestConfigElement.d.ts.map +1 -1
- package/dist/elements/http/RequestConfigElement.js +15 -15
- package/dist/elements/http/RequestConfigElement.js.map +1 -1
- package/dist/elements/http/RequestEditor.d.ts +10 -10
- package/dist/elements/http/RequestEditor.d.ts.map +1 -1
- package/dist/elements/http/RequestEditor.js +116 -111
- package/dist/elements/http/RequestEditor.js.map +1 -1
- package/dist/elements/http/RequestLog.js +9 -14
- package/dist/elements/http/RequestLog.js.map +1 -1
- package/dist/elements/http/UrlInput.d.ts +3 -3
- package/dist/elements/http/UrlInput.d.ts.map +1 -1
- package/dist/elements/http/UrlInput.js +17 -27
- package/dist/elements/http/UrlInput.js.map +1 -1
- package/dist/elements/http/UrlParamsForm.d.ts +0 -1
- package/dist/elements/http/UrlParamsForm.d.ts.map +1 -1
- package/dist/elements/http/UrlParamsForm.js +16 -16
- package/dist/elements/http/UrlParamsForm.js.map +1 -1
- package/dist/elements/layout/LayoutManager.js +16 -24
- package/dist/elements/layout/LayoutManager.js.map +1 -1
- package/dist/elements/layout/LayoutPanelElement.js +17 -23
- package/dist/elements/layout/LayoutPanelElement.js.map +1 -1
- package/dist/elements/layout/SplitItem.js +4 -12
- package/dist/elements/layout/SplitItem.js.map +1 -1
- package/dist/elements/layout/SplitLayout.js +18 -24
- package/dist/elements/layout/SplitLayout.js.map +1 -1
- package/dist/elements/layout/SplitPanel.js +10 -16
- package/dist/elements/layout/SplitPanel.js.map +1 -1
- package/dist/elements/layout/SplitView.js +17 -26
- package/dist/elements/layout/SplitView.js.map +1 -1
- package/dist/elements/layout/SplitView.styles.d.ts.map +1 -1
- package/dist/elements/layout/SplitView.styles.js +1 -0
- package/dist/elements/layout/SplitView.styles.js.map +1 -1
- package/dist/elements/navigation/AppNavigationElement.js +8 -47
- package/dist/elements/navigation/AppNavigationElement.js.map +1 -1
- package/dist/elements/navigation/AppNavigationItem.styles.d.ts.map +1 -1
- package/dist/elements/navigation/AppNavigationItem.styles.js +2 -0
- package/dist/elements/navigation/AppNavigationItem.styles.js.map +1 -1
- package/dist/elements/navigation/AppNavigationItemElement.js +19 -24
- package/dist/elements/navigation/AppNavigationItemElement.js.map +1 -1
- package/dist/elements/project/HttpProjectRequest.d.ts +2 -1
- package/dist/elements/project/HttpProjectRequest.d.ts.map +1 -1
- package/dist/elements/project/HttpProjectRequest.js +14 -43
- package/dist/elements/project/HttpProjectRequest.js.map +1 -1
- package/dist/elements/project/HttpProjectRequestHistory.js +9 -35
- package/dist/elements/project/HttpProjectRequestHistory.js.map +1 -1
- package/dist/elements/project/ProjectNavigation.js +0 -4
- package/dist/elements/project/ProjectNavigation.js.map +1 -1
- package/dist/elements/project/ProjectRunReport.js +4 -15
- package/dist/elements/project/ProjectRunReport.js.map +1 -1
- package/dist/elements/project/ProjectRunner.d.ts +0 -1
- package/dist/elements/project/ProjectRunner.d.ts.map +1 -1
- package/dist/elements/project/ProjectRunner.js +3 -51
- package/dist/elements/project/ProjectRunner.js.map +1 -1
- package/dist/elements/schema-design/AssociationFormElement.d.ts +0 -1
- package/dist/elements/schema-design/AssociationFormElement.d.ts.map +1 -1
- package/dist/elements/schema-design/AssociationFormElement.js +2 -18
- package/dist/elements/schema-design/AssociationFormElement.js.map +1 -1
- package/dist/elements/schema-design/DataEntityEditorElement.d.ts +2 -2
- package/dist/elements/schema-design/DataEntityEditorElement.d.ts.map +1 -1
- package/dist/elements/schema-design/DataEntityEditorElement.js +5 -27
- package/dist/elements/schema-design/DataEntityEditorElement.js.map +1 -1
- package/dist/elements/schema-design/DataModelVisualizationElement.js +0 -16
- package/dist/elements/schema-design/DataModelVisualizationElement.js.map +1 -1
- package/dist/elements/schema-design/DataSchemaDocument.d.ts +0 -1
- package/dist/elements/schema-design/DataSchemaDocument.d.ts.map +1 -1
- package/dist/elements/schema-design/DataSchemaDocument.js +4 -43
- package/dist/elements/schema-design/DataSchemaDocument.js.map +1 -1
- package/dist/elements/schema-design/EntityFormElement.d.ts +0 -1
- package/dist/elements/schema-design/EntityFormElement.d.ts.map +1 -1
- package/dist/elements/schema-design/EntityFormElement.js +4 -25
- package/dist/elements/schema-design/EntityFormElement.js.map +1 -1
- package/dist/elements/schema-design/PropertyFormElement.d.ts +1 -2
- package/dist/elements/schema-design/PropertyFormElement.d.ts.map +1 -1
- package/dist/elements/schema-design/PropertyFormElement.js +8 -23
- package/dist/elements/schema-design/PropertyFormElement.js.map +1 -1
- package/dist/elements/schema-design/SchemaDesignNavigation.js +0 -9
- package/dist/elements/schema-design/SchemaDesignNavigation.js.map +1 -1
- package/dist/elements/schema-design/SchemaNamespaceSelector.js +0 -9
- package/dist/elements/schema-design/SchemaNamespaceSelector.js.map +1 -1
- package/dist/elements/user/UserAvatarElement.js +0 -9
- package/dist/elements/user/UserAvatarElement.js.map +1 -1
- package/dist/events/http-client/models/CertificatesEvents.js +2 -2
- package/dist/events/http-client/models/CertificatesEvents.js.map +1 -1
- package/dist/http-client/idb/Base.js +5 -10
- package/dist/http-client/idb/Base.js.map +1 -1
- package/dist/http-client/idb/LegacyMockedStore.js +0 -1
- package/dist/http-client/idb/LegacyMockedStore.js.map +1 -1
- package/dist/http-client/idb/MockedStore.js +3 -1
- package/dist/http-client/idb/MockedStore.js.map +1 -1
- package/dist/http-client/store/DataImportProcessor.js +0 -3
- package/dist/http-client/store/DataImportProcessor.js.map +1 -1
- package/dist/http-client/store/HttpClientIdbDatabase.js +8 -7
- package/dist/http-client/store/HttpClientIdbDatabase.js.map +1 -1
- package/dist/http-client/store/IdbThread.js +23 -20
- package/dist/http-client/store/IdbThread.js.map +1 -1
- package/dist/http-client/store/idb/IdbProjectUi.js +4 -1
- package/dist/http-client/store/idb/IdbProjectUi.js.map +1 -1
- package/dist/http-client/store/idb/IdbStore.js +0 -2
- package/dist/http-client/store/idb/IdbStore.js.map +1 -1
- package/dist/http-client/store/idb/IdbUrlHistory.js +4 -1
- package/dist/http-client/store/idb/IdbUrlHistory.js.map +1 -1
- package/dist/http-client/store/idb/IdbWsHistory.js +4 -1
- package/dist/http-client/store/idb/IdbWsHistory.js.map +1 -1
- package/dist/lib/chart/HttpHistoryChart.js +7 -8
- package/dist/lib/chart/HttpHistoryChart.js.map +1 -1
- package/dist/mixins/FileDropMixin.js +0 -1
- package/dist/mixins/FileDropMixin.js.map +1 -1
- package/dist/mixins/RenderableMixin.js +11 -15
- package/dist/mixins/RenderableMixin.js.map +1 -1
- package/dist/pages/ApplicationScreen.d.ts +1 -1
- package/dist/pages/ApplicationScreen.d.ts.map +1 -1
- package/dist/pages/ApplicationScreen.js +35 -56
- package/dist/pages/ApplicationScreen.js.map +1 -1
- package/dist/pages/api-client/ApiClient.screen.js +11 -20
- package/dist/pages/api-client/ApiClient.screen.js.map +1 -1
- package/dist/pages/api-client/ApiClient.styles.d.ts.map +1 -1
- package/dist/pages/api-client/ApiClient.styles.js +22 -3
- package/dist/pages/api-client/ApiClient.styles.js.map +1 -1
- package/dist/pages/api-client/Authenticate.screen.d.ts +2 -0
- package/dist/pages/api-client/Authenticate.screen.d.ts.map +1 -1
- package/dist/pages/api-client/Authenticate.screen.js +23 -9
- package/dist/pages/api-client/Authenticate.screen.js.map +1 -1
- package/dist/pages/api-client/StoreConfig.screen.d.ts.map +1 -1
- package/dist/pages/api-client/StoreConfig.screen.js +25 -39
- package/dist/pages/api-client/StoreConfig.screen.js.map +1 -1
- package/dist/pages/api-client/StoreConfig.styles.d.ts.map +1 -1
- package/dist/pages/api-client/StoreConfig.styles.js +5 -0
- package/dist/pages/api-client/StoreConfig.styles.js.map +1 -1
- package/dist/pages/api-client/Telemetry.screen.js +1 -2
- package/dist/pages/api-client/Telemetry.screen.js.map +1 -1
- package/dist/pages/api-client/pages/Files.page.d.ts +1 -0
- package/dist/pages/api-client/pages/Files.page.d.ts.map +1 -1
- package/dist/pages/api-client/pages/Files.page.js +8 -28
- package/dist/pages/api-client/pages/Files.page.js.map +1 -1
- package/dist/pages/api-client/pages/Settings.page.js +2 -4
- package/dist/pages/api-client/pages/Settings.page.js.map +1 -1
- package/dist/pages/api-client/pages/Trash.page.js +2 -13
- package/dist/pages/api-client/pages/Trash.page.js.map +1 -1
- package/dist/pages/demo/DemoPage.js +13 -13
- package/dist/pages/demo/DemoPage.js.map +1 -1
- package/dist/pages/http-project/HttpProject.screen.d.ts +0 -8
- package/dist/pages/http-project/HttpProject.screen.d.ts.map +1 -1
- package/dist/pages/http-project/HttpProject.screen.js +39 -50
- package/dist/pages/http-project/HttpProject.screen.js.map +1 -1
- package/dist/pages/http-project/types.d.ts +8 -6
- package/dist/pages/http-project/types.d.ts.map +1 -1
- package/dist/pages/http-project/types.js.map +1 -1
- package/dist/pages/schema-design/SchemaDesigner.screen.js +14 -27
- package/dist/pages/schema-design/SchemaDesigner.screen.js.map +1 -1
- package/dist/store/HttpStore.js +0 -3
- package/dist/store/HttpStore.js.map +1 -1
- package/dist/store/UserCache.js +5 -5
- package/dist/store/UserCache.js.map +1 -1
- package/dist/styles/m3/surface.module.d.ts.map +1 -1
- package/dist/styles/m3/surface.module.js +11 -27
- package/dist/styles/m3/surface.module.js.map +1 -1
- package/dist/ui/UiElement.d.ts +4 -0
- package/dist/ui/UiElement.d.ts.map +1 -1
- package/dist/ui/UiElement.js +10 -5
- package/dist/ui/UiElement.js.map +1 -1
- package/dist/ui/button/SegmentedButton.js +9 -11
- package/dist/ui/button/SegmentedButton.js.map +1 -1
- package/dist/ui/button/SegmentedButton.styles.d.ts.map +1 -1
- package/dist/ui/button/SegmentedButton.styles.js +3 -1
- package/dist/ui/button/SegmentedButton.styles.js.map +1 -1
- package/dist/ui/button/SegmentedButtonsSet.js +6 -7
- package/dist/ui/button/SegmentedButtonsSet.js.map +1 -1
- package/dist/ui/button/UiButton.js +17 -39
- package/dist/ui/button/UiButton.js.map +1 -1
- package/dist/ui/button/UiIconButton.js +9 -35
- package/dist/ui/button/UiIconButton.js.map +1 -1
- package/dist/ui/chip/UiChip.js +9 -49
- package/dist/ui/chip/UiChip.js.map +1 -1
- package/dist/ui/collapse/UiCollapse.js +15 -20
- package/dist/ui/collapse/UiCollapse.js.map +1 -1
- package/dist/ui/controllers/ActionController.js +143 -144
- package/dist/ui/controllers/ActionController.js.map +1 -1
- package/dist/ui/controllers/RadioSelectionController.js +0 -1
- package/dist/ui/controllers/RadioSelectionController.js.map +1 -1
- package/dist/ui/date/DateTime.js +3 -3
- package/dist/ui/date/DateTime.js.map +1 -1
- package/dist/ui/dialog/UiDialog.d.ts +3 -0
- package/dist/ui/dialog/UiDialog.d.ts.map +1 -1
- package/dist/ui/dialog/UiDialog.js +17 -38
- package/dist/ui/dialog/UiDialog.js.map +1 -1
- package/dist/ui/effects/ripple.d.ts.map +1 -1
- package/dist/ui/effects/ripple.js +25 -19
- package/dist/ui/effects/ripple.js.map +1 -1
- package/dist/ui/effects/rippleDirective.js +6 -7
- package/dist/ui/effects/rippleDirective.js.map +1 -1
- package/dist/ui/icons/Icons.d.ts +3 -2
- package/dist/ui/icons/Icons.d.ts.map +1 -1
- package/dist/ui/icons/Icons.js +2 -1
- package/dist/ui/icons/Icons.js.map +1 -1
- package/dist/ui/icons/UiIcon.js +4 -3
- package/dist/ui/icons/UiIcon.js.map +1 -1
- package/dist/ui/input/CheckboxElement.js +12 -10
- package/dist/ui/input/CheckboxElement.js.map +1 -1
- package/dist/ui/input/CheckedElement.d.ts +1 -1
- package/dist/ui/input/CheckedElement.d.ts.map +1 -1
- package/dist/ui/input/CheckedElement.js +5 -16
- package/dist/ui/input/CheckedElement.js.map +1 -1
- package/dist/ui/input/Input.js +170 -235
- package/dist/ui/input/Input.js.map +1 -1
- package/dist/ui/input/RadioElement.js +13 -11
- package/dist/ui/input/RadioElement.js.map +1 -1
- package/dist/ui/input/SwitchElement.js +0 -18
- package/dist/ui/input/SwitchElement.js.map +1 -1
- package/dist/ui/input/TextAreaElement.js +0 -15
- package/dist/ui/input/TextAreaElement.js.map +1 -1
- package/dist/ui/list/{DividerElement.d.ts → UiDivider.element.d.ts} +6 -6
- package/dist/ui/list/UiDivider.element.d.ts.map +1 -0
- package/dist/ui/list/UiDivider.element.js +39 -0
- package/dist/ui/list/UiDivider.element.js.map +1 -0
- package/dist/ui/list/UiDivider.styles.d.ts +3 -0
- package/dist/ui/list/UiDivider.styles.d.ts.map +1 -0
- package/dist/ui/list/UiDivider.styles.js +49 -0
- package/dist/ui/list/UiDivider.styles.js.map +1 -0
- package/dist/ui/list/UiDropdownList.js +7 -48
- package/dist/ui/list/UiDropdownList.js.map +1 -1
- package/dist/ui/list/UiList.js +3 -15
- package/dist/ui/list/UiList.js.map +1 -1
- package/dist/ui/list/UiListItem.js +4 -17
- package/dist/ui/list/UiListItem.js.map +1 -1
- package/dist/ui/list/UiListbox.js +0 -1
- package/dist/ui/list/UiListbox.js.map +1 -1
- package/dist/ui/notification/SnackNotifications.js +1 -2
- package/dist/ui/notification/SnackNotifications.js.map +1 -1
- package/dist/ui/notification/Snackbar.js +27 -51
- package/dist/ui/notification/Snackbar.js.map +1 -1
- package/dist/ui/progress/Range.js +24 -23
- package/dist/ui/progress/Range.js.map +1 -1
- package/dist/ui/progress/UiProgress.js +0 -11
- package/dist/ui/progress/UiProgress.js.map +1 -1
- package/dist/ui/table/DataTable.js +7 -12
- package/dist/ui/table/DataTable.js.map +1 -1
- package/dist/ui/tabs/UiTab.js +24 -25
- package/dist/ui/tabs/UiTab.js.map +1 -1
- package/dist/ui/tabs/UiTabs.d.ts +13 -1
- package/dist/ui/tabs/UiTabs.d.ts.map +1 -1
- package/dist/ui/tabs/UiTabs.js +62 -47
- package/dist/ui/tabs/UiTabs.js.map +1 -1
- package/dist/visualization/elements/VizWorkspaceElement.js +12 -21
- package/dist/visualization/elements/VizWorkspaceElement.js.map +1 -1
- package/dist/visualization/lib/AssociationAnchors.js +16 -28
- package/dist/visualization/lib/AssociationAnchors.js.map +1 -1
- package/dist/visualization/lib/Point.js +0 -2
- package/dist/visualization/lib/Point.js.map +1 -1
- package/dist/visualization/lib/SelectionManager.js +10 -11
- package/dist/visualization/lib/SelectionManager.js.map +1 -1
- package/dist/visualization/lib/WorkspaceAlignment.js +0 -1
- package/dist/visualization/lib/WorkspaceAlignment.js.map +1 -1
- package/dist/visualization/lib/WorkspaceDebugging.js +5 -8
- package/dist/visualization/lib/WorkspaceDebugging.js.map +1 -1
- package/dist/visualization/lib/WorkspaceEdges.js +17 -19
- package/dist/visualization/lib/WorkspaceEdges.js.map +1 -1
- package/dist/visualization/lib/WorkspaceGestures.js +0 -3
- package/dist/visualization/lib/WorkspaceGestures.js.map +1 -1
- package/dist/visualization/lib/WorkspaceSizing.js +4 -6
- package/dist/visualization/lib/WorkspaceSizing.js.map +1 -1
- package/dist/visualization/lib/lines/RectilinearLine.js +8 -34
- package/dist/visualization/lib/lines/RectilinearLine.js.map +1 -1
- package/dist/visualization/lib/tips/RectilinearTip.js +0 -1
- package/dist/visualization/lib/tips/RectilinearTip.js.map +1 -1
- package/dist/visualization/lib/tips/TipArtist.js +0 -3
- package/dist/visualization/lib/tips/TipArtist.js.map +1 -1
- package/dist/visualization/plugin/dnd/DragAndDropPlugin.js +3 -5
- package/dist/visualization/plugin/dnd/DragAndDropPlugin.js.map +1 -1
- package/dist/visualization/plugin/group-selection/GroupSelection.js +19 -19
- package/dist/visualization/plugin/group-selection/GroupSelection.js.map +1 -1
- package/dist/visualization/plugin/positioning/WorkspaceLayout.js +21 -38
- package/dist/visualization/plugin/positioning/WorkspaceLayout.js.map +1 -1
- package/package.json +3 -2
- package/src/define/dialog/delete-cookie-action-dialog.ts +16 -0
- package/src/define/dialog/set-cookie-action-dialog.ts +16 -0
- package/src/define/http/http-assertions.ts +3 -3
- package/src/define/http/http-flows.ts +15 -0
- package/src/define/ui/ui-divider.ts +7 -2
- package/src/elements/ApiElement.ts +7 -0
- package/src/elements/amf/ApiAuthorizationEditor.element.ts +1 -1
- package/src/elements/amf/ApiOperationDocument.element.ts +2 -1
- package/src/elements/amf/ApiRequest.element.ts +1 -1
- package/src/elements/amf/ApiRequestEditor.element.ts +0 -4
- package/src/elements/authorization/ui/Authorization.ts +3 -5
- package/src/elements/dialog/DeleteCookieAction.element.ts +100 -0
- package/src/elements/dialog/DeleteCookieAction.styles.ts +14 -0
- package/src/elements/dialog/Rename.ts +8 -7
- package/src/elements/dialog/SetCookieAction.element.ts +183 -0
- package/src/elements/environment/EnvironmentEditor.styles.ts +5 -0
- package/src/elements/environment/EnvironmentEditor.ts +81 -22
- package/src/elements/environment/ServerEditor.ts +4 -8
- package/src/elements/environment/VariablesEditor.ts +3 -7
- package/src/elements/highlight/Prism.styles.ts +12 -5
- package/src/elements/http/BodyEditor.ts +10 -17
- package/src/elements/http/BodyMultipartEditor.ts +3 -20
- package/src/elements/http/BodyTextEditor.ts +0 -4
- package/src/elements/http/BodyUrlEncodedEditor.ts +5 -8
- package/src/elements/http/HeadersForm.ts +2 -9
- package/src/elements/http/HttpAssertions.element.ts +286 -0
- package/src/elements/http/HttpAssertions.styles.ts +7 -156
- package/src/elements/http/HttpFlows.common.ts +181 -0
- package/src/elements/http/HttpFlows.element.ts +722 -0
- package/src/elements/http/HttpFlows.styles.ts +29 -0
- package/src/elements/http/HttpFlowsUi.ts +1327 -0
- package/src/elements/http/RequestConfigElement.ts +10 -14
- package/src/elements/http/RequestEditor.ts +77 -35
- package/src/elements/http/UrlInput.ts +6 -6
- package/src/elements/http/UrlParamsForm.ts +2 -6
- package/src/elements/layout/SplitView.styles.ts +1 -0
- package/src/elements/navigation/AppNavigationItem.styles.ts +2 -0
- package/src/elements/project/HttpProjectRequest.ts +16 -5
- package/src/elements/project/ProjectRunner.ts +3 -7
- package/src/elements/schema-design/AssociationFormElement.ts +4 -8
- package/src/elements/schema-design/DataEntityEditorElement.ts +8 -8
- package/src/elements/schema-design/DataSchemaDocument.ts +5 -9
- package/src/elements/schema-design/EntityFormElement.ts +6 -10
- package/src/elements/schema-design/PropertyFormElement.ts +11 -15
- package/src/pages/ApplicationScreen.ts +1 -1
- package/src/pages/api-client/ApiClient.styles.ts +22 -3
- package/src/pages/api-client/Authenticate.screen.ts +19 -3
- package/src/pages/api-client/StoreConfig.screen.ts +4 -2
- package/src/pages/api-client/StoreConfig.styles.ts +5 -0
- package/src/pages/api-client/pages/Files.page.ts +2 -1
- package/src/pages/http-project/HttpProject.screen.ts +14 -26
- package/src/pages/http-project/types.ts +8 -6
- package/src/styles/m3/surface.module.ts +11 -27
- package/src/styles/m3/theme.css +36 -0
- package/src/styles/m3/tokens.css +11 -0
- package/src/ui/UiElement.ts +7 -0
- package/src/ui/button/SegmentedButton.styles.ts +3 -1
- package/src/ui/dialog/UiDialog.ts +3 -0
- package/src/ui/effects/ripple.ts +6 -1
- package/src/ui/icons/Icons.ts +3 -2
- package/src/ui/input/CheckedElement.ts +3 -3
- package/src/ui/input/Input.ts +1 -1
- package/src/ui/list/UiDivider.element.ts +41 -0
- package/src/ui/list/UiDivider.styles.ts +49 -0
- package/src/ui/tabs/UiTabs.ts +55 -13
- package/test/amf/authorization/OAuth2Method.test.ts +1 -1
- package/test/elements/http/HttpAssertions.test.ts +5 -6
- package/test/elements/http/HttpFlows.test.ts +485 -0
- package/tsconfig.json +2 -2
- package/dist/elements/http/HttpAssertions.d.ts +0 -114
- package/dist/elements/http/HttpAssertions.d.ts.map +0 -1
- package/dist/elements/http/HttpAssertions.js +0 -1144
- package/dist/elements/http/HttpAssertions.js.map +0 -1
- package/dist/elements/http/internals.d.ts +0 -150
- package/dist/elements/http/internals.d.ts.map +0 -1
- package/dist/elements/http/internals.js +0 -150
- package/dist/elements/http/internals.js.map +0 -1
- package/dist/ui/list/DividerElement.d.ts.map +0 -1
- package/dist/ui/list/DividerElement.js +0 -87
- package/dist/ui/list/DividerElement.js.map +0 -1
- package/src/elements/http/HttpAssertions.ts +0 -1187
- package/src/elements/http/internals.ts +0 -151
- package/src/http-client/docs/Files.md +0 -28
- package/src/ui/list/DividerElement.ts +0 -84
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityFormElement.js","sourceRoot":"","sources":["../../../src/elements/schema-design/EntityFormElement.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAa,IAAI,EAAkC,MAAM,KAAK,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAA6B,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC1F,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAC1C,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAC7C,OAAO,KAAK,MAAM,aAAa,CAAC;AAChC,OAAO,UAAU,MAAM,sCAAsC,CAAC;AAG9D,OAAO,kCAAkC,CAAC;AAC1C,OAAO,gCAAgC,CAAC;AACxC,OAAO,+BAA+B,CAAC;AACvC,OAAO,mCAAmC,CAAC;AAC3C,OAAO,4BAA4B,CAAC;AAEpC;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,UAAU;IACvD,MAAM,KAAc,MAAM;QACxB,OAAO;YACL,KAAK;YACL,YAAY;YACZ,UAAU;YACV,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BF;SACF,CAAA;IACH,CAAC;IAED;;;OAGG;IACwC,GAAG,CAAU;IAExD;;OAEG;IACyB,IAAI,CAAiB;IAEjD;;;OAGG;IAC0B,cAAc,CAAW;IAEtD;;OAEG;IACgB,OAAO,CAAc;IAErB,UAAU,CAAC,EAAwB;QACpD,IAAI,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACjB,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;IACH,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,SAAiB;QACzB,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,SAAS,IAAI,SAAS,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE;YAC/C,OAAO;SACR;QACD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YACxC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACjC;QACD,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAES,cAAc;QACtB,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACO,cAAc;QACtB,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE;YACjB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;YACzB,OAAO;SACR;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;IACpE,CAAC;IAES,kBAAkB,CAAC,CAAQ;QACnC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO;SACR;QACD,MAAM,IAAI,GAAG,CAAC,CAAC,MAAe,CAAC;QAC/B,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,IAAc,CAAC,EAAE;YACpE,OAAO;SACR;QACD,IAAI,IAAI,KAAK,MAAM,IAAI,CAAC,KAAK,EAAE;YAC7B,OAAO;SACR;QACD,OAAO,CAAC,IAAI,CAAC,IAA8C,CAAC,GAAG,KAAK,CAAC;QACrE,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,aAAa,EAAE;YAC7C,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;SAC7C;IACH,CAAC;IAES,eAAe,CAAC,CAAQ;QAChC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO;SACR;QACD,MAAM,KAAK,GAAG,CAAC,CAAC,MAAyB,CAAC;QAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAoB,CAAC;QACxC,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;QAC1B,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,EAAE;YAC7B,OAAO;SACR;QACD,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAES,gBAAgB,CAAC,CAAY;QACrC,MAAM,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,YAAY,EAAE;YACjB,OAAO;SACR;QACD,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,YAAY,CAAC,UAAU,GAAG,MAAM,CAAC;IACnC,CAAC;IAES,YAAY,CAAC,CAAY;QACjC,MAAM,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,YAAY,EAAE;YACjB,OAAO;SACR;QAED,MAAM,IAAI,GAAG,CAAC,CAAC,MAAqB,CAAC;QACrC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC9B,IAAI,IAAI,KAAK,eAAe,EAAE;YAC5B,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;SACrB;IACH,CAAC;IAES,oBAAoB,CAAC,CAAQ;QACrC,MAAM,IAAI,GAAG,CAAC,CAAC,aAA4B,CAAC;QAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YACpB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SACrC;IACH,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,GAAW;QACtB,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE;YACpB,OAAO;SACR;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,KAAK,GAAG,CAAC,EAAE;YACb,OAAO;SACR;QACD,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEkB,MAAM;QACvB,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,IAAI,CAAA,EAAE,CAAC;SACf;QAED,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC;QAC1C,OAAO,IAAI,CAAA;mCACoB,UAAU,CAAC,WAAW,eAAe,IAAI,CAAC,GAAG;yDACvB,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,2CAA2C,IAAI,CAAC,kBAAkB;gEAChF,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,8CAA8C,IAAI,CAAC,kBAAkB;gEACjG,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,oDAAoD,IAAI,CAAC,kBAAkB;;;;qDAIlH,UAAU,oDAAoD,IAAI,CAAC,eAAe;;;;;QAK/H,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC;;KAEpC,CAAA;IACH,CAAC;IAES,sBAAsB,CAAC,MAAkB;QACjD,OAAO,IAAI,CAAA;;;MAGT,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;KACrF,CAAC;IACJ,CAAC;IAES,uBAAuB;QAC/B,OAAO,IAAI,CAAA;;;mBAGI,IAAI,CAAC,gBAAgB;eACzB,IAAI,CAAC,YAAY;;WAErB,CAAC;IACV,CAAC;IAES,gBAAgB,CAAC,MAAkB;QAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAA;MACT,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,yBAAyB,EAAE;KACvF,CAAC;IACJ,CAAC;IAES,yBAAyB;QACjC,OAAO,IAAI,CAAA;;KAEV,CAAC;IACJ,CAAC;IAES,oBAAoB,CAAC,OAAqB;QAClD,OAAO,IAAI,CAAA;;QAEP,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;;KAEhD,CAAC;IACJ,CAAC;IAES,mBAAmB,CAAC,IAAgB;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC;QACzC,OAAO,IAAI,CAAA;4BACa,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,eAAe,IAAI,CAAC,GAAG;;qCAEvC,KAAK;UAChC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA,2CAA2C,MAAM,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE;;8FAED,IAAI,CAAC,GAAG,aAAa,IAAI,CAAC,oBAAoB;;;;KAIvI,CAAC;IACJ,CAAC;CACF;AA9N4C;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;8CAAc;AAK5B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;+CAAsB;AAMpB;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;yDAA0B;AAK7C;IAAR,KAAK,EAAE;kDAAgC","sourcesContent":["import { css, CSSResult, html, PropertyValues, TemplateResult } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { live } from \"lit/directives/live.js\";\nimport { DataEntity, DataNamespace, EventUtils } from \"@api-client/core/build/browser.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 Input from \"../../ui/input/Input.js\";\nimport 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\n/**\n * An editor for a data entity.\n * \n * @fires change - When the entity has changed.\n * @fires namechange - When a name of the entity has changed.\n */\nexport default class EntityFormElement 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 .no-info {\n margin: 12px 20px;\n }\n\n .parents-list {\n margin: 0;\n padding: 0;\n }\n\n .parent-item {\n list-style: none;\n height: var(--list-item-height, 40px);\n display: flex;\n align-items: center;\n padding: 0 20px;\n }\n\n .parent-item.two-line {\n height: var(--list-item-two-line-height);\n }\n\n .parent-item-wrapper {\n flex: 1;\n }\n `\n ]\n }\n\n /**\n * The key of the entity 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 * When set it activates the drop zone in the parents list to support drag and drop.\n * @attribute\n */\n @property({ type: Boolean }) parentDropZone?: boolean;\n\n /**\n * The computed entity when the key or root change.\n */\n @state() protected _entity?: DataEntity;\n\n protected override willUpdate(cp: PropertyValues<this>): void {\n if (cp.has('key')) {\n this._computeEntity();\n }\n }\n\n /**\n * Adds a parent entity to this entity.\n * @param parentKey The key of the parent to add.\n */\n addParent(parentKey: string): void {\n const { key, _entity } = this;\n if (!parentKey || parentKey === key || !_entity) {\n return;\n }\n if (!_entity.parents.includes(parentKey)) {\n _entity.parents.push(parentKey);\n }\n this._notifyChanged();\n }\n\n protected _notifyChanged(): void {\n this.dispatchEvent(new Event('change'));\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 _computeEntity(): void {\n const { root, key } = this;\n if (!root || !key) {\n this._entity = undefined;\n return;\n }\n this._entity = root.definitions.entities.find(i => i.key === key);\n }\n\n protected _infoChangeHandler(e: Event): void {\n const { _entity } = this;\n if (!_entity) {\n return;\n }\n const node = e.target as Input;\n const { name, value } = node;\n if (!['name', 'displayName', 'description'].includes(name as string)) {\n return;\n }\n if (name === 'name' && !value) {\n return;\n }\n _entity.info[name as 'name' | 'description' | 'displayName'] = value;\n this._notifyChanged();\n if (name === 'name' || name === 'displayName') {\n this.dispatchEvent(new Event('namechange'));\n }\n }\n\n protected _checkedHandler(e: Event): void {\n const { _entity } = this;\n if (!_entity) {\n return;\n }\n const input = e.target as CheckboxElement;\n const name = input.name as 'deprecated';\n const { checked } = input;\n if (_entity[name] === checked) {\n return;\n }\n _entity[name] = checked;\n this._notifyChanged();\n this.requestUpdate();\n }\n\n protected _dragoverHandler(e: DragEvent): void {\n const { dataTransfer } = e;\n if (!dataTransfer) {\n return;\n }\n e.preventDefault();\n e.preventDefault();\n dataTransfer.dropEffect = \"copy\";\n }\n\n protected _dropHandler(e: DragEvent): void {\n const { dataTransfer } = e;\n if (!dataTransfer) {\n return;\n }\n\n const node = e.target as HTMLElement;\n const { type } = node.dataset;\n if (type === 'entity-parent') {\n e.preventDefault();\n this.parentDropZone = false;\n const key = dataTransfer.getData('text/key');\n this.addParent(key);\n }\n }\n\n protected _parentRemoveHandler(e: Event): void {\n const node = e.currentTarget as HTMLElement;\n if (node.dataset.key) {\n this.removeParent(node.dataset.key);\n }\n }\n\n /**\n * Removes a parent with the given key.\n * @param key The key of the parent to remove.\n */\n removeParent(key: string): void {\n const { _entity } = this;\n if (!key || !_entity) {\n return;\n }\n const index = _entity.parents.indexOf(key);\n if (index < 0) {\n return;\n }\n _entity.parents.splice(index, 1);\n this._notifyChanged();\n this.requestUpdate();\n }\n\n protected override render(): TemplateResult {\n const { _entity: item } = this;\n if (!item) {\n return html``;\n }\n\n const { info, deprecated = false } = item;\n return html`\n <form name=\"entity\" @submit=\"${EventUtils.cancelEvent}\" data-key=\"${item.key}\">\n <ui-text-field class=\"input\" name=\"name\" .value=\"${live(info.name || '')}\" label=\"Entity 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=\"Entity description (optional)\" @change=\"${this._infoChangeHandler}\"></ui-text-field>\n\n <div class=\"checkbox-group\">\n <label class=\"label-large\">\n <ui-checkbox name=\"deprecated\" .checked=\"${deprecated}\" title=\"Makes this entity deprecated.\" @change=\"${this._checkedHandler}\"></ui-checkbox>\n Deprecated\n </label>\n </div>\n\n ${this._parentsEditorTemplate(item)}\n </form>\n `\n }\n\n protected _parentsEditorTemplate(entity: DataEntity): TemplateResult {\n return html`\n <ui-divider type=\"full\"></ui-divider>\n <div class=\"editor-title title-medium\">Parents</div>\n ${this.parentDropZone ? this._parentDropZoneTemplate() : this._parentsTemplate(entity)}\n `;\n }\n\n protected _parentDropZoneTemplate(): TemplateResult {\n return html`<div \n class=\"drop-zone\" \n data-type=\"entity-parent\" \n @dragover=\"${this._dragoverHandler}\" \n @drop=\"${this._dropHandler}\">\n Drop a parent entity here.\n </div>`;\n }\n\n protected _parentsTemplate(entity: DataEntity): TemplateResult {\n const parents = entity.getComputedParents();\n return html`\n ${parents.length ? this._parentsListTemplate(parents) : this.renderEmptyParentsMessage()}\n `;\n }\n\n protected renderEmptyParentsMessage(): TemplateResult {\n return html`\n <p class=\"no-description no-info body-medium\">No parent entities. You can drop an entity here to create an association.</p>\n `;\n }\n\n protected _parentsListTemplate(parents: DataEntity[]): TemplateResult {\n return html`\n <ul class=\"parents-list\">\n ${parents.map(p => this._parentItemTemplate(p))}\n </ul>\n `;\n }\n\n protected _parentItemTemplate(item: DataEntity): TemplateResult {\n const parent = item.getParent();\n const label = item.info.name || item.key;\n return html`\n <li class=\"parent-item${parent ? ' two-line' : ''}\" data-key=\"${item.key}\">\n <div class=\"parent-item-wrapper\">\n <span class=\"parent-label\">${label}</span>\n ${parent ? html`<div class=\"secondary\">From data model: ${parent.info.name}</div>` : ''}\n </div>\n <ui-icon-button aria-label=\"Remove this parent\" title=\"Removes this parent\" data-key=\"${item.key}\" @click=\"${this._parentRemoveHandler}\">\n <ui-icon icon=\"deleteOutline\" role=\"presentation\"></ui-icon>\n </ui-icon-button>\n </li>\n `;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"EntityFormElement.js","sourceRoot":"","sources":["../../../src/elements/schema-design/EntityFormElement.ts"],"names":[],"mappings":"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","sourcesContent":["import { css, CSSResult, html, PropertyValues, TemplateResult } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { live } from \"lit/directives/live.js\";\nimport { DataEntity, DataNamespace, EventUtils } from \"@api-client/core/build/browser.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\n/**\n * An editor for a data entity.\n * \n * @fires change - When the entity has changed.\n * @fires namechange - When a name of the entity has changed.\n */\nexport default class EntityFormElement 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 .no-info {\n margin: 12px 20px;\n }\n\n .parents-list {\n margin: 0;\n padding: 0;\n }\n\n .parent-item {\n list-style: none;\n height: var(--list-item-height, 40px);\n display: flex;\n align-items: center;\n padding: 0 20px;\n }\n\n .parent-item.two-line {\n height: var(--list-item-two-line-height);\n }\n\n .parent-item-wrapper {\n flex: 1;\n }\n `\n ]\n }\n\n /**\n * The key of the entity 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 * When set it activates the drop zone in the parents list to support drag and drop.\n * @attribute\n */\n @property({ type: Boolean }) parentDropZone?: boolean;\n\n /**\n * The computed entity when the key or root change.\n */\n @state() protected _entity?: DataEntity;\n\n protected override willUpdate(cp: PropertyValues<this>): void {\n if (cp.has('key')) {\n this._computeEntity();\n }\n }\n\n /**\n * Adds a parent entity to this entity.\n * @param parentKey The key of the parent to add.\n */\n addParent(parentKey: string): void {\n const { key, _entity } = this;\n if (!parentKey || parentKey === key || !_entity) {\n return;\n }\n if (!_entity.parents.includes(parentKey)) {\n _entity.parents.push(parentKey);\n }\n this.notifyChange();\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 _computeEntity(): void {\n const { root, key } = this;\n if (!root || !key) {\n this._entity = undefined;\n return;\n }\n this._entity = root.definitions.entities.find(i => i.key === key);\n }\n\n protected _infoChangeHandler(e: Event): void {\n const { _entity } = this;\n if (!_entity) {\n return;\n }\n const node = e.target as Input;\n const { name, value } = node;\n if (!['name', 'displayName', 'description'].includes(name as string)) {\n return;\n }\n if (name === 'name' && !value) {\n return;\n }\n _entity.info[name as 'name' | 'description' | 'displayName'] = value;\n this.notifyChange();\n if (name === 'name' || name === 'displayName') {\n this.dispatchEvent(new Event('namechange'));\n }\n }\n\n protected _checkedHandler(e: Event): void {\n const { _entity } = this;\n if (!_entity) {\n return;\n }\n const input = e.target as CheckboxElement;\n const name = input.name as 'deprecated';\n const { checked } = input;\n if (_entity[name] === checked) {\n return;\n }\n _entity[name] = checked;\n this.notifyChange();\n this.requestUpdate();\n }\n\n protected _dragoverHandler(e: DragEvent): void {\n const { dataTransfer } = e;\n if (!dataTransfer) {\n return;\n }\n e.preventDefault();\n e.preventDefault();\n dataTransfer.dropEffect = \"copy\";\n }\n\n protected _dropHandler(e: DragEvent): void {\n const { dataTransfer } = e;\n if (!dataTransfer) {\n return;\n }\n\n const node = e.target as HTMLElement;\n const { type } = node.dataset;\n if (type === 'entity-parent') {\n e.preventDefault();\n this.parentDropZone = false;\n const key = dataTransfer.getData('text/key');\n this.addParent(key);\n }\n }\n\n protected _parentRemoveHandler(e: Event): void {\n const node = e.currentTarget as HTMLElement;\n if (node.dataset.key) {\n this.removeParent(node.dataset.key);\n }\n }\n\n /**\n * Removes a parent with the given key.\n * @param key The key of the parent to remove.\n */\n removeParent(key: string): void {\n const { _entity } = this;\n if (!key || !_entity) {\n return;\n }\n const index = _entity.parents.indexOf(key);\n if (index < 0) {\n return;\n }\n _entity.parents.splice(index, 1);\n this.notifyChange();\n this.requestUpdate();\n }\n\n protected override render(): TemplateResult {\n const { _entity: item } = this;\n if (!item) {\n return html``;\n }\n\n const { info, deprecated = false } = item;\n return html`\n <form name=\"entity\" @submit=\"${EventUtils.cancelEvent}\" data-key=\"${item.key}\">\n <ui-text-field class=\"input\" name=\"name\" .value=\"${live(info.name || '')}\" label=\"Entity 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=\"Entity description (optional)\" @change=\"${this._infoChangeHandler}\"></ui-text-field>\n\n <div class=\"checkbox-group\">\n <label class=\"label-large\">\n <ui-checkbox name=\"deprecated\" .checked=\"${deprecated}\" title=\"Makes this entity deprecated.\" @change=\"${this._checkedHandler}\"></ui-checkbox>\n Deprecated\n </label>\n </div>\n\n ${this._parentsEditorTemplate(item)}\n </form>\n `\n }\n\n protected _parentsEditorTemplate(entity: DataEntity): TemplateResult {\n return html`\n <ui-divider type=\"full\"></ui-divider>\n <div class=\"editor-title title-medium\">Parents</div>\n ${this.parentDropZone ? this._parentDropZoneTemplate() : this._parentsTemplate(entity)}\n `;\n }\n\n protected _parentDropZoneTemplate(): TemplateResult {\n return html`<div \n class=\"drop-zone\" \n data-type=\"entity-parent\" \n @dragover=\"${this._dragoverHandler}\" \n @drop=\"${this._dropHandler}\">\n Drop a parent entity here.\n </div>`;\n }\n\n protected _parentsTemplate(entity: DataEntity): TemplateResult {\n const parents = entity.getComputedParents();\n return html`\n ${parents.length ? this._parentsListTemplate(parents) : this.renderEmptyParentsMessage()}\n `;\n }\n\n protected renderEmptyParentsMessage(): TemplateResult {\n return html`\n <p class=\"no-description no-info body-medium\">No parent entities. You can drop an entity here to create an association.</p>\n `;\n }\n\n protected _parentsListTemplate(parents: DataEntity[]): TemplateResult {\n return html`\n <ul class=\"parents-list\">\n ${parents.map(p => this._parentItemTemplate(p))}\n </ul>\n `;\n }\n\n protected _parentItemTemplate(item: DataEntity): TemplateResult {\n const parent = item.getParent();\n const label = item.info.name || item.key;\n return html`\n <li class=\"parent-item${parent ? ' two-line' : ''}\" data-key=\"${item.key}\">\n <div class=\"parent-item-wrapper\">\n <span class=\"parent-label\">${label}</span>\n ${parent ? html`<div class=\"secondary\">From data model: ${parent.info.name}</div>` : ''}\n </div>\n <ui-icon-button aria-label=\"Remove this parent\" title=\"Removes this parent\" data-key=\"${item.key}\" @click=\"${this._parentRemoveHandler}\">\n <ui-icon icon=\"deleteOutline\" role=\"presentation\"></ui-icon>\n </ui-icon-button>\n </li>\n `;\n }\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DataNamespace, DataProperty, DataPropertyType } from "@api-client/core/build/browser.js";
|
|
2
2
|
import { CSSResult, TemplateResult, nothing, PropertyValues } from "lit";
|
|
3
3
|
import ApiElement from "../ApiElement.js";
|
|
4
|
-
import { SupportedInputTypes } from "../../types/input.js";
|
|
4
|
+
import type { SupportedInputTypes } from "../../types/input.js";
|
|
5
5
|
import '../../define/ui/ui-text-field.js';
|
|
6
6
|
import '../../define/ui/ui-checkbox.js';
|
|
7
7
|
import '../../define/ui/ui-divider.js';
|
|
@@ -33,7 +33,6 @@ export default class PropertyFormElement extends ApiElement {
|
|
|
33
33
|
*/
|
|
34
34
|
protected _property?: DataProperty;
|
|
35
35
|
willUpdate(cp: PropertyValues<this>): void;
|
|
36
|
-
protected _notifyChanged(): void;
|
|
37
36
|
/**
|
|
38
37
|
* Computes the view value for the property.
|
|
39
38
|
* This should be called before the update is complete so this won't trigger another update.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PropertyFormElement.d.ts","sourceRoot":"","sources":["../../../src/elements/schema-design/PropertyFormElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,EAAiC,MAAM,mCAAmC,CAAC;AACjI,OAAO,EAAO,SAAS,EAAQ,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAKpF,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAK1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"PropertyFormElement.d.ts","sourceRoot":"","sources":["../../../src/elements/schema-design/PropertyFormElement.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,26 +49,11 @@ export default class PropertyFormElement extends ApiElement {
|
|
|
49
49
|
`
|
|
50
50
|
];
|
|
51
51
|
}
|
|
52
|
-
/**
|
|
53
|
-
* The key of the property to edit.
|
|
54
|
-
*/
|
|
55
|
-
key;
|
|
56
|
-
/**
|
|
57
|
-
* The read data namespace.
|
|
58
|
-
*/
|
|
59
|
-
root;
|
|
60
|
-
/**
|
|
61
|
-
* The computed entity when the key or root change.
|
|
62
|
-
*/
|
|
63
|
-
_property;
|
|
64
52
|
willUpdate(cp) {
|
|
65
53
|
if (cp.has('key')) {
|
|
66
54
|
this._computeProperty();
|
|
67
55
|
}
|
|
68
56
|
}
|
|
69
|
-
_notifyChanged() {
|
|
70
|
-
this.dispatchEvent(new Event('change'));
|
|
71
|
-
}
|
|
72
57
|
/**
|
|
73
58
|
* Computes the view value for the property.
|
|
74
59
|
* This should be called before the update is complete so this won't trigger another update.
|
|
@@ -95,7 +80,7 @@ export default class PropertyFormElement extends ApiElement {
|
|
|
95
80
|
return;
|
|
96
81
|
}
|
|
97
82
|
_property.info[name] = value;
|
|
98
|
-
this.
|
|
83
|
+
this.notifyChange();
|
|
99
84
|
this.requestUpdate();
|
|
100
85
|
}
|
|
101
86
|
setType(value) {
|
|
@@ -107,7 +92,7 @@ export default class PropertyFormElement extends ApiElement {
|
|
|
107
92
|
return;
|
|
108
93
|
}
|
|
109
94
|
_property.type = value;
|
|
110
|
-
this.
|
|
95
|
+
this.notifyChange();
|
|
111
96
|
this.requestUpdate();
|
|
112
97
|
}
|
|
113
98
|
typeSelectHandler(e) {
|
|
@@ -132,7 +117,7 @@ export default class PropertyFormElement extends ApiElement {
|
|
|
132
117
|
return;
|
|
133
118
|
}
|
|
134
119
|
_property[name] = checked;
|
|
135
|
-
this.
|
|
120
|
+
this.notifyChange();
|
|
136
121
|
this.requestUpdate();
|
|
137
122
|
}
|
|
138
123
|
defaultValueHandler(e) {
|
|
@@ -169,7 +154,7 @@ export default class PropertyFormElement extends ApiElement {
|
|
|
169
154
|
else {
|
|
170
155
|
delete schema.defaultValue;
|
|
171
156
|
}
|
|
172
|
-
this.
|
|
157
|
+
this.notifyChange();
|
|
173
158
|
}
|
|
174
159
|
/**
|
|
175
160
|
* Adds an example value to the current property's schema.
|
|
@@ -187,7 +172,7 @@ export default class PropertyFormElement extends ApiElement {
|
|
|
187
172
|
}
|
|
188
173
|
const list = schema.examples;
|
|
189
174
|
list.push(value);
|
|
190
|
-
this.
|
|
175
|
+
this.notifyChange();
|
|
191
176
|
this.requestUpdate();
|
|
192
177
|
}
|
|
193
178
|
/**
|
|
@@ -205,7 +190,7 @@ export default class PropertyFormElement extends ApiElement {
|
|
|
205
190
|
return;
|
|
206
191
|
}
|
|
207
192
|
schema.examples.splice(index, 1);
|
|
208
|
-
this.
|
|
193
|
+
this.notifyChange();
|
|
209
194
|
this.requestUpdate();
|
|
210
195
|
}
|
|
211
196
|
exampleAddHandler(e) {
|
|
@@ -242,7 +227,7 @@ export default class PropertyFormElement extends ApiElement {
|
|
|
242
227
|
}
|
|
243
228
|
const list = schema.enum;
|
|
244
229
|
list.push(value);
|
|
245
|
-
this.
|
|
230
|
+
this.notifyChange();
|
|
246
231
|
this.requestUpdate();
|
|
247
232
|
}
|
|
248
233
|
/**
|
|
@@ -260,7 +245,7 @@ export default class PropertyFormElement extends ApiElement {
|
|
|
260
245
|
return;
|
|
261
246
|
}
|
|
262
247
|
schema.enum.splice(index, 1);
|
|
263
|
-
this.
|
|
248
|
+
this.notifyChange();
|
|
264
249
|
this.requestUpdate();
|
|
265
250
|
}
|
|
266
251
|
enumAddHandler(e) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PropertyFormElement.js","sourceRoot":"","sources":["../../../src/elements/schema-design/PropertyFormElement.ts"],"names":[],"mappings":"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","sourcesContent":["import { DataNamespace, DataProperty, DataPropertyType, DataPropertyTypes, EventUtils } from \"@api-client/core/build/browser.js\";\nimport { css, CSSResult, html, TemplateResult, nothing, PropertyValues } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { live } from \"lit/directives/live.js\";\nimport { IPropertySchema } from \"@api-client/core/build/src/models/data/Bindings.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 CheckboxElement from \"../../ui/input/CheckboxElement.js\";\nimport { SupportedInputTypes } from \"../../types/input.js\";\nimport Input from \"../../ui/input/Input.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-list.js';\nimport '../../define/ui/ui-list-item.js';\nimport '../../define/ui/ui-dropdown-list.js';\nimport '../../define/ui/ui-icon.js';\n\ninterface IInputTemplateOptions {\n type: DataPropertyType;\n name: string;\n label: string;\n handler: (e: Event) => void;\n value?: unknown;\n addButton?: boolean;\n}\n\nexport default class PropertyFormElement 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 .no-description {\n margin: 1.2rem 20px;\n }\n\n .enum-values {\n margin: 0px 0px 20px;\n padding: 0px 0px 20px;\n }\n\n .input-item {\n display: flex;\n list-style: none;\n margin: 4px 20px;\n }\n\n .input.list-input {\n margin: 0;\n flex: 1;\n }\n `\n ]\n }\n \n /**\n * The key of the property 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 _property?: DataProperty;\n\n override willUpdate(cp: PropertyValues<this>): void {\n if (cp.has('key')) {\n this._computeProperty();\n }\n }\n\n protected _notifyChanged(): void {\n this.dispatchEvent(new Event('change'));\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 _computeProperty(): void {\n const { root, key } = this;\n if (!root || !key) {\n this._property = undefined;\n return;\n }\n this._property = root.definitions.properties.find(i => i.key === key);\n }\n\n protected _infoChangeHandler(e: Event): void {\n const { _property } = this;\n if (!_property) {\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 _property.info[name as 'name' | 'description' | 'displayName'] = value;\n this._notifyChanged();\n this.requestUpdate();\n }\n\n setType(value: DataPropertyType): void {\n const { _property } = this;\n if (!_property) {\n return;\n }\n if (_property.type === value) {\n return;\n }\n _property.type = value;\n this._notifyChanged();\n this.requestUpdate();\n }\n\n protected typeSelectHandler(e: CustomEvent): void {\n const target = e.detail.item as HTMLElement | undefined;\n if (!target) {\n return;\n }\n const value = target.dataset.value as DataPropertyType | undefined;\n if (value) {\n this.setType(value);\n }\n }\n\n protected _checkedHandler(e: Event): void {\n const { _property } = this;\n if (!_property) {\n return;\n }\n const input = e.target as CheckboxElement;\n const name = input.name as 'multiple' | 'required' | 'primary' | 'index';\n const { checked } = input;\n if (_property[name] === checked) {\n return;\n }\n _property[name] = checked;\n this._notifyChanged();\n this.requestUpdate();\n }\n\n protected defaultValueHandler(e: CustomEvent): void {\n const target = e.target as HTMLElement;\n let value: string | undefined;\n if (target.localName === 'ui-dropdown-list') {\n const item = e.detail.item as HTMLElement;\n value = item.dataset.value;\n this.requestUpdate();\n } else {\n const input = e.target as Input;\n value = input.value;\n }\n this.setDefaultValue(value);\n }\n\n /**\n * Sets a new defaultValue on the property schema\n * @param value The default value to set. Empty to remove.\n */\n setDefaultValue(value?: string): void {\n const { _property } = this;\n if (!_property) {\n return;\n }\n const adapted = this._getAdapted(_property);\n const schema = adapted.schema as IPropertySchema;\n if (value === schema.defaultValue) {\n return;\n }\n if (value) {\n schema.defaultValue = value;\n } else {\n delete schema.defaultValue;\n }\n this._notifyChanged();\n }\n\n /**\n * Adds an example value to the current property's schema.\n * @param value The example value to add\n */\n addExample(value: string): void {\n const { _property } = this;\n if (!_property) {\n return;\n }\n const adapted = this._getAdapted(_property);\n const schema = adapted.schema as IPropertySchema;\n if (!schema.examples) {\n schema.examples = [];\n }\n const list = schema.examples as string[];\n list.push(value as string);\n this._notifyChanged();\n this.requestUpdate();\n }\n\n /**\n * Removes an example value at position.\n * @param index The position from which to remove the example value.\n */\n removeExample(index: number): void {\n const { _property } = this;\n if (!_property) {\n return;\n }\n const adapted = this._getAdapted(_property);\n const schema = adapted.schema as IPropertySchema;\n if (!schema.examples) {\n return;\n }\n schema.examples.splice(index, 1);\n this._notifyChanged();\n this.requestUpdate();\n }\n\n protected exampleAddHandler(e: Event): void {\n const input = (e.currentTarget as HTMLElement).parentElement as Input;\n const { value } = input;\n if (!value) {\n return;\n }\n this.addExample(value);\n input.value = '';\n }\n\n protected exampleRemoveHandler(e: Event): void {\n const node = e.currentTarget as HTMLElement;\n const { dataset } = node;\n if (!dataset.index) {\n return;\n }\n const index = Number(dataset.index);\n this.removeExample(index);\n }\n\n /**\n * Adds an enum value to the current property's schema.\n * @param value The enum value to add\n */\n addEnum(value: string): void {\n const { _property } = this;\n if (!_property) {\n return;\n }\n const adapted = this._getAdapted(_property);\n const schema = adapted.schema as IPropertySchema;\n if (!schema.enum) {\n schema.enum = [];\n }\n const list = schema.enum as string[];\n list.push(value as string);\n this._notifyChanged();\n this.requestUpdate();\n }\n\n /**\n * Removes an enum value at position.\n * @param index The position from which to remove the enum value.\n */\n removeEnum(index: number): void {\n const { _property } = this;\n if (!_property) {\n return;\n }\n const adapted = this._getAdapted(_property);\n const schema = adapted.schema as IPropertySchema;\n if (!schema.enum) {\n return;\n }\n schema.enum.splice(index, 1);\n this._notifyChanged();\n this.requestUpdate();\n }\n\n protected enumAddHandler(e: Event): void {\n const input = (e.currentTarget as HTMLElement).parentElement as Input;\n const { value } = input;\n if (!value) {\n return;\n }\n this.addEnum(value);\n input.value = '';\n }\n\n protected enumRemoveHandler(e: Event): void {\n const node = e.currentTarget as HTMLElement;\n const { dataset } = node;\n if (!dataset.index) {\n return;\n }\n const index = Number(dataset.index);\n this.removeEnum(index);\n }\n\n protected _getAdapted(dataProperty: DataProperty): DataProperty {\n let adapted: DataProperty;\n if (!dataProperty.adapts) {\n adapted = dataProperty.createAdapted();\n } else {\n adapted = dataProperty.readAdapted() as DataProperty;\n }\n if (!adapted.schema) {\n adapted.schema = {};\n }\n return adapted;\n }\n\n protected override render(): TemplateResult {\n const { _property: item } = this;\n if (!item) {\n return html``;\n }\n const { info, multiple = false, required = false, primary = false, index = false, readOnly = false, writeOnly = false, deprecated = false } = item;\n // const allTags = this.root?.definitions.tags;\n return html`\n <form name=\"data-property\" @submit=\"${EventUtils.cancelEvent}\" data-key=\"${item.key}\">\n <ui-text-field class=\"input\" name=\"name\" .value=\"${live(info.name || '')}\" label=\"Property 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=\"Property description (optional)\" @change=\"${this._infoChangeHandler}\"></ui-text-field>\n ${this.renderTypeSelector(item)}\n\n <div class=\"checkbox-group\">\n <label class=\"label-large\">\n <ui-checkbox name=\"required\" .checked=\"${required}\" title=\"Whether the property 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 property as an array. Multiple instances of the value are permitted.\" @change=\"${this._checkedHandler}\"></ui-checkbox>\n Multiple\n </label>\n <label class=\"label-large\">\n <ui-checkbox name=\"primary\" .checked=\"${primary}\" title=\"Makes this property a primary key for the schema. This is optional for a schema.\" @change=\"${this._checkedHandler}\"></ui-checkbox>\n Primary key\n </label>\n <label class=\"label-large\">\n <ui-checkbox name=\"index\" .checked=\"${index}\" title=\"Indicates the property is a key and should be indexed.\" @change=\"${this._checkedHandler}\"></ui-checkbox>\n Indexed key\n </label>\n <label class=\"label-large\">\n <ui-checkbox name=\"readOnly\" .checked=\"${readOnly}\" title=\"The value cannot be changed.\" @change=\"${this._checkedHandler}\"></ui-checkbox>\n Read only\n </label>\n <label class=\"label-large\">\n <ui-checkbox name=\"writeOnly\" .checked=\"${writeOnly}\" title=\"The value cannot be read.\" @change=\"${this._checkedHandler}\"></ui-checkbox>\n Write only\n </label>\n <label class=\"label-large\">\n <ui-checkbox name=\"deprecated\" .checked=\"${deprecated}\" title=\"Makes this property deprecated.\" @change=\"${this._checkedHandler}\"></ui-checkbox>\n Deprecated\n </label>\n </div>\n \n ${this.renderSchemaEditor(item)}\n </form>\n `;\n }\n\n protected renderSchemaEditor(item: DataProperty): TemplateResult | typeof nothing {\n if (['binary'].includes(item.type)) {\n return nothing;\n }\n const adapted = item.readAdapted();\n const schema = adapted && adapted.schema;\n let examples: string[] | undefined;\n let values: string[] | undefined;\n if (schema) {\n examples = schema.examples;\n values = schema.enum;\n }\n return html`\n <ui-divider type=\"full\"></ui-divider>\n <div class=\"editor-title title-medium\">Schema</div>\n ${this.renderDefaultValueInput(item)}\n ${this.renderExamplesEditor(item, examples)}\n ${this.renderEnumEditor(item, values)}\n `;\n }\n\n protected renderDefaultValueInput(item: DataProperty): TemplateResult | typeof nothing {\n const adapted = item.readAdapted();\n const schema = adapted && adapted.schema;\n return this.renderTypedInput({\n name: 'defaultValue',\n label: 'Enter default value (optional)',\n type: item.type,\n handler: this.defaultValueHandler as (e: Event) => void,\n value: schema?.defaultValue,\n });\n }\n\n protected renderExamplesEditor(item: DataProperty, examples?: string[]): TemplateResult | typeof nothing {\n if (['nil', 'boolean', 'binary'].includes(item.type)) {\n return nothing;\n }\n return html`\n <ui-divider type=\"middle\"></ui-divider>\n <div class=\"editor-title title-small\">Examples</div>\n ${this.renderExampleInput(item)}\n ${this.renderExampleList(examples)}\n `;\n }\n\n protected renderExampleInput(item: DataProperty): TemplateResult {\n return this.renderTypedInput({\n name: 'example',\n label: 'Enter example value',\n type: item.type,\n handler: this.exampleAddHandler,\n addButton: true,\n });\n }\n\n protected renderExampleList(examples?: string[]): TemplateResult {\n if (!examples || !examples.length) {\n return html`<div class=\"no-description\">No examples.</div>`;\n }\n return html`\n <ul class=\"value-list\">\n ${examples.map((label, index) => html`\n <li>\n <span class=\"label-medium value\" title=\"${label}\">${label}</span>\n <ui-icon-button aria-label=\"Remove example\" title=\"Removes the example\" data-index=\"${index}\" @click=\"${this.exampleRemoveHandler}\">\n <ui-icon icon=\"deleteOutline\" role=\"presentation\"></ui-icon>\n </ui-icon-button>\n </li>\n `)}\n </ul>\n `;\n }\n\n protected renderEnumEditor(item: DataProperty, values?: string[]): TemplateResult | typeof nothing {\n if (['nil', 'boolean', 'binary'].includes(item.type)) {\n return nothing;\n }\n return html`\n <ui-divider type=\"middle\"></ui-divider>\n <div class=\"editor-title title-small\">Enum values</div>\n ${this.renderEnumInput(item)}\n ${this.renderEnumList(values)}\n `;\n }\n\n protected renderEnumInput(item: DataProperty): TemplateResult {\n return this.renderTypedInput({\n name: 'enum',\n label: 'Enter enum value',\n type: item.type,\n handler: this.enumAddHandler,\n addButton: true,\n });\n }\n\n protected renderEnumList(values?: string[]): TemplateResult {\n if (!values || !values.length) {\n return html`\n <div class=\"no-description\">No enum values.</div>\n `;\n }\n return html`\n <ul class=\"value-list\">\n ${values.map((label, index) => html`\n <li>\n <span class=\"label-medium value\" title=\"${label}\">${label}</span>\n <ui-icon-button aria-label=\"Remove enum value\" title=\"Removes the enum value\" data-index=\"${index}\" @click=\"${this.enumRemoveHandler}\">\n <ui-icon icon=\"deleteOutline\" role=\"presentation\"></ui-icon>\n </ui-icon-button>\n </li>\n `)}\n </ul>\n `;\n }\n\n protected propertyToInputType(type: DataPropertyType): SupportedInputTypes {\n switch (type) {\n // for `number` type we use text with `inputmode=numeric` attribute to mitigate the use of `step`.\n case 'integer': return 'number'; \n case 'date': return 'date';\n case 'time': return 'time';\n case 'datetime': return 'datetime-local';\n default: return 'text';\n }\n }\n\n /**\n * Renders an input that depends on the property type.\n */\n protected renderTypedInput(opts: IInputTemplateOptions): TemplateResult {\n if (opts.type === 'boolean') {\n return this.renderBooleanInput(opts);\n }\n if (opts.type === 'nil') {\n return this.renderNilInput(opts);\n }\n return this.renderTextField(opts);\n }\n\n protected renderTextField(opts: IInputTemplateOptions): TemplateResult {\n const inputType = this.propertyToInputType(opts.type);\n let step: string | undefined;\n let inputMode: string | undefined;\n let pattern: string | undefined;\n if (['time', 'datetime-local'].includes(opts.type) || opts.type === 'integer') {\n step = '1';\n } else if (opts.type === 'number') {\n inputMode = 'numeric';\n pattern = '^\\\\d*\\\\.?\\\\d*$';\n }\n const changeListener = opts.addButton ? undefined : opts.handler;\n return html`\n <ui-text-field \n class=\"input\" \n name=\"${opts.name}\" \n .value=\"${live(opts.value as string || '')}\" \n label=\"${opts.label}\" \n type=\"${inputType}\" \n step=\"${ifDefined(step)}\"\n inputMode=\"${ifDefined(inputMode)}\"\n pattern=\"${ifDefined(pattern)}\"\n @change=\"${changeListener}\"\n >\n ${opts.addButton ? html`\n <ui-icon-button type=\"outlined\" slot=\"suffix\" aria-label=\"Add value\" title=\"Click this button to accept the value\" @click=\"${opts.handler}\">\n <ui-icon icon=\"add\" role=\"presentation\"></ui-icon>\n </ui-icon-button>\n ` : ''}\n </ui-text-field>\n `;\n }\n\n protected renderNilInput(opts: IInputTemplateOptions): TemplateResult {\n return html`\n <ui-dropdown-list class=\"input dropdown\" @select=\"${opts.handler}\" closeOnOutsideClick>\n <ui-text-field readOnly label=\"${opts.label}\" name=\"${opts.name}\" .value=\"${opts.value as string || ''}\" role=\"button\">\n <ui-icon slot=\"suffix\" icon=\"arrowDropDown\"></ui-icon>\n </ui-text-field>\n <ui-list slot=\"dropdown\" role=\"menu\">\n <ui-list-item data-value=\"\" role=\"menuitem\">None</ui-list-item>\n <ui-list-item data-value=\"null\" role=\"menuitem\">Nil</ui-list-item>\n </ui-list>\n </ui-dropdown-list>\n `;\n }\n\n protected renderBooleanInput(opts: IInputTemplateOptions): TemplateResult {\n return html`\n <ui-dropdown-list class=\"input dropdown\" @select=\"${opts.handler}\" closeOnOutsideClick>\n <ui-text-field readOnly label=\"${opts.label}\" name=\"${opts.name}\" .value=\"${opts.value as string || ''}\" role=\"button\">\n <ui-icon slot=\"suffix\" icon=\"arrowDropDown\"></ui-icon>\n </ui-text-field>\n <ui-list slot=\"dropdown\" role=\"menu\">\n <ui-list-item data-value=\"\" role=\"menuitem\">None</ui-list-item>\n <ui-list-item data-value=\"true\" role=\"menuitem\">True</ui-list-item>\n <ui-list-item data-value=\"false\" role=\"menuitem\">False</ui-list-item>\n </ui-list>\n </ui-dropdown-list>\n `;\n }\n\n protected renderTypeSelector(item: DataProperty): TemplateResult {\n const { type = 'any' } = item;\n return html`\n <ui-dropdown-list class=\"input dropdown\" @select=\"${this.typeSelectHandler}\" closeOnOutsideClick>\n <ui-text-field readOnly title=\"Property data type\" label=\"Data type\" .value=\"${type}\" role=\"button\">\n <ui-icon slot=\"suffix\" icon=\"arrowDropDown\"></ui-icon>\n </ui-text-field>\n <ui-list slot=\"dropdown\" role=\"menu\">\n ${DataPropertyTypes.map(value => html`<ui-list-item data-value=\"${value}\" role=\"menuitem\">${value}</ui-list-item>`)}\n </ui-list>\n </ui-dropdown-list>\n `;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"PropertyFormElement.js","sourceRoot":"","sources":["../../../src/elements/schema-design/PropertyFormElement.ts"],"names":[],"mappings":"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","sourcesContent":["import { DataNamespace, DataProperty, DataPropertyType, DataPropertyTypes, EventUtils } from \"@api-client/core/build/browser.js\";\nimport { css, CSSResult, html, TemplateResult, nothing, PropertyValues } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { live } from \"lit/directives/live.js\";\nimport { IPropertySchema } from \"@api-client/core/build/src/models/data/Bindings.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 CheckboxElement from \"../../ui/input/CheckboxElement.js\";\nimport type { SupportedInputTypes } from \"../../types/input.js\";\nimport type Input from \"../../ui/input/Input.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-list.js';\nimport '../../define/ui/ui-list-item.js';\nimport '../../define/ui/ui-dropdown-list.js';\nimport '../../define/ui/ui-icon.js';\n\ninterface IInputTemplateOptions {\n type: DataPropertyType;\n name: string;\n label: string;\n handler: (e: Event) => void;\n value?: unknown;\n addButton?: boolean;\n}\n\nexport default class PropertyFormElement 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 .no-description {\n margin: 1.2rem 20px;\n }\n\n .enum-values {\n margin: 0px 0px 20px;\n padding: 0px 0px 20px;\n }\n\n .input-item {\n display: flex;\n list-style: none;\n margin: 4px 20px;\n }\n\n .input.list-input {\n margin: 0;\n flex: 1;\n }\n `\n ]\n }\n \n /**\n * The key of the property 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 _property?: DataProperty;\n\n override willUpdate(cp: PropertyValues<this>): void {\n if (cp.has('key')) {\n this._computeProperty();\n }\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 _computeProperty(): void {\n const { root, key } = this;\n if (!root || !key) {\n this._property = undefined;\n return;\n }\n this._property = root.definitions.properties.find(i => i.key === key);\n }\n\n protected _infoChangeHandler(e: Event): void {\n const { _property } = this;\n if (!_property) {\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 _property.info[name as 'name' | 'description' | 'displayName'] = value;\n this.notifyChange();\n this.requestUpdate();\n }\n\n setType(value: DataPropertyType): void {\n const { _property } = this;\n if (!_property) {\n return;\n }\n if (_property.type === value) {\n return;\n }\n _property.type = value;\n this.notifyChange();\n this.requestUpdate();\n }\n\n protected typeSelectHandler(e: CustomEvent): void {\n const target = e.detail.item as HTMLElement | undefined;\n if (!target) {\n return;\n }\n const value = target.dataset.value as DataPropertyType | undefined;\n if (value) {\n this.setType(value);\n }\n }\n\n protected _checkedHandler(e: Event): void {\n const { _property } = this;\n if (!_property) {\n return;\n }\n const input = e.target as CheckboxElement;\n const name = input.name as 'multiple' | 'required' | 'primary' | 'index';\n const { checked } = input;\n if (_property[name] === checked) {\n return;\n }\n _property[name] = checked;\n this.notifyChange();\n this.requestUpdate();\n }\n\n protected defaultValueHandler(e: CustomEvent): void {\n const target = e.target as HTMLElement;\n let value: string | undefined;\n if (target.localName === 'ui-dropdown-list') {\n const item = e.detail.item as HTMLElement;\n value = item.dataset.value;\n this.requestUpdate();\n } else {\n const input = e.target as Input;\n value = input.value;\n }\n this.setDefaultValue(value);\n }\n\n /**\n * Sets a new defaultValue on the property schema\n * @param value The default value to set. Empty to remove.\n */\n setDefaultValue(value?: string): void {\n const { _property } = this;\n if (!_property) {\n return;\n }\n const adapted = this._getAdapted(_property);\n const schema = adapted.schema as IPropertySchema;\n if (value === schema.defaultValue) {\n return;\n }\n if (value) {\n schema.defaultValue = value;\n } else {\n delete schema.defaultValue;\n }\n this.notifyChange();\n }\n\n /**\n * Adds an example value to the current property's schema.\n * @param value The example value to add\n */\n addExample(value: string): void {\n const { _property } = this;\n if (!_property) {\n return;\n }\n const adapted = this._getAdapted(_property);\n const schema = adapted.schema as IPropertySchema;\n if (!schema.examples) {\n schema.examples = [];\n }\n const list = schema.examples as string[];\n list.push(value as string);\n this.notifyChange();\n this.requestUpdate();\n }\n\n /**\n * Removes an example value at position.\n * @param index The position from which to remove the example value.\n */\n removeExample(index: number): void {\n const { _property } = this;\n if (!_property) {\n return;\n }\n const adapted = this._getAdapted(_property);\n const schema = adapted.schema as IPropertySchema;\n if (!schema.examples) {\n return;\n }\n schema.examples.splice(index, 1);\n this.notifyChange();\n this.requestUpdate();\n }\n\n protected exampleAddHandler(e: Event): void {\n const input = (e.currentTarget as HTMLElement).parentElement as Input;\n const { value } = input;\n if (!value) {\n return;\n }\n this.addExample(value);\n input.value = '';\n }\n\n protected exampleRemoveHandler(e: Event): void {\n const node = e.currentTarget as HTMLElement;\n const { dataset } = node;\n if (!dataset.index) {\n return;\n }\n const index = Number(dataset.index);\n this.removeExample(index);\n }\n\n /**\n * Adds an enum value to the current property's schema.\n * @param value The enum value to add\n */\n addEnum(value: string): void {\n const { _property } = this;\n if (!_property) {\n return;\n }\n const adapted = this._getAdapted(_property);\n const schema = adapted.schema as IPropertySchema;\n if (!schema.enum) {\n schema.enum = [];\n }\n const list = schema.enum as string[];\n list.push(value as string);\n this.notifyChange();\n this.requestUpdate();\n }\n\n /**\n * Removes an enum value at position.\n * @param index The position from which to remove the enum value.\n */\n removeEnum(index: number): void {\n const { _property } = this;\n if (!_property) {\n return;\n }\n const adapted = this._getAdapted(_property);\n const schema = adapted.schema as IPropertySchema;\n if (!schema.enum) {\n return;\n }\n schema.enum.splice(index, 1);\n this.notifyChange();\n this.requestUpdate();\n }\n\n protected enumAddHandler(e: Event): void {\n const input = (e.currentTarget as HTMLElement).parentElement as Input;\n const { value } = input;\n if (!value) {\n return;\n }\n this.addEnum(value);\n input.value = '';\n }\n\n protected enumRemoveHandler(e: Event): void {\n const node = e.currentTarget as HTMLElement;\n const { dataset } = node;\n if (!dataset.index) {\n return;\n }\n const index = Number(dataset.index);\n this.removeEnum(index);\n }\n\n protected _getAdapted(dataProperty: DataProperty): DataProperty {\n let adapted: DataProperty;\n if (!dataProperty.adapts) {\n adapted = dataProperty.createAdapted();\n } else {\n adapted = dataProperty.readAdapted() as DataProperty;\n }\n if (!adapted.schema) {\n adapted.schema = {};\n }\n return adapted;\n }\n\n protected override render(): TemplateResult {\n const { _property: item } = this;\n if (!item) {\n return html``;\n }\n const { info, multiple = false, required = false, primary = false, index = false, readOnly = false, writeOnly = false, deprecated = false } = item;\n // const allTags = this.root?.definitions.tags;\n return html`\n <form name=\"data-property\" @submit=\"${EventUtils.cancelEvent}\" data-key=\"${item.key}\">\n <ui-text-field class=\"input\" name=\"name\" .value=\"${live(info.name || '')}\" label=\"Property 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=\"Property description (optional)\" @change=\"${this._infoChangeHandler}\"></ui-text-field>\n ${this.renderTypeSelector(item)}\n\n <div class=\"checkbox-group\">\n <label class=\"label-large\">\n <ui-checkbox name=\"required\" .checked=\"${required}\" title=\"Whether the property 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 property as an array. Multiple instances of the value are permitted.\" @change=\"${this._checkedHandler}\"></ui-checkbox>\n Multiple\n </label>\n <label class=\"label-large\">\n <ui-checkbox name=\"primary\" .checked=\"${primary}\" title=\"Makes this property a primary key for the schema. This is optional for a schema.\" @change=\"${this._checkedHandler}\"></ui-checkbox>\n Primary key\n </label>\n <label class=\"label-large\">\n <ui-checkbox name=\"index\" .checked=\"${index}\" title=\"Indicates the property is a key and should be indexed.\" @change=\"${this._checkedHandler}\"></ui-checkbox>\n Indexed key\n </label>\n <label class=\"label-large\">\n <ui-checkbox name=\"readOnly\" .checked=\"${readOnly}\" title=\"The value cannot be changed.\" @change=\"${this._checkedHandler}\"></ui-checkbox>\n Read only\n </label>\n <label class=\"label-large\">\n <ui-checkbox name=\"writeOnly\" .checked=\"${writeOnly}\" title=\"The value cannot be read.\" @change=\"${this._checkedHandler}\"></ui-checkbox>\n Write only\n </label>\n <label class=\"label-large\">\n <ui-checkbox name=\"deprecated\" .checked=\"${deprecated}\" title=\"Makes this property deprecated.\" @change=\"${this._checkedHandler}\"></ui-checkbox>\n Deprecated\n </label>\n </div>\n \n ${this.renderSchemaEditor(item)}\n </form>\n `;\n }\n\n protected renderSchemaEditor(item: DataProperty): TemplateResult | typeof nothing {\n if (['binary'].includes(item.type)) {\n return nothing;\n }\n const adapted = item.readAdapted();\n const schema = adapted && adapted.schema;\n let examples: string[] | undefined;\n let values: string[] | undefined;\n if (schema) {\n examples = schema.examples;\n values = schema.enum;\n }\n return html`\n <ui-divider type=\"full\"></ui-divider>\n <div class=\"editor-title title-medium\">Schema</div>\n ${this.renderDefaultValueInput(item)}\n ${this.renderExamplesEditor(item, examples)}\n ${this.renderEnumEditor(item, values)}\n `;\n }\n\n protected renderDefaultValueInput(item: DataProperty): TemplateResult | typeof nothing {\n const adapted = item.readAdapted();\n const schema = adapted && adapted.schema;\n return this.renderTypedInput({\n name: 'defaultValue',\n label: 'Enter default value (optional)',\n type: item.type,\n handler: this.defaultValueHandler as (e: Event) => void,\n value: schema?.defaultValue,\n });\n }\n\n protected renderExamplesEditor(item: DataProperty, examples?: string[]): TemplateResult | typeof nothing {\n if (['nil', 'boolean', 'binary'].includes(item.type)) {\n return nothing;\n }\n return html`\n <ui-divider type=\"middle\"></ui-divider>\n <div class=\"editor-title title-small\">Examples</div>\n ${this.renderExampleInput(item)}\n ${this.renderExampleList(examples)}\n `;\n }\n\n protected renderExampleInput(item: DataProperty): TemplateResult {\n return this.renderTypedInput({\n name: 'example',\n label: 'Enter example value',\n type: item.type,\n handler: this.exampleAddHandler,\n addButton: true,\n });\n }\n\n protected renderExampleList(examples?: string[]): TemplateResult {\n if (!examples || !examples.length) {\n return html`<div class=\"no-description\">No examples.</div>`;\n }\n return html`\n <ul class=\"value-list\">\n ${examples.map((label, index) => html`\n <li>\n <span class=\"label-medium value\" title=\"${label}\">${label}</span>\n <ui-icon-button aria-label=\"Remove example\" title=\"Removes the example\" data-index=\"${index}\" @click=\"${this.exampleRemoveHandler}\">\n <ui-icon icon=\"deleteOutline\" role=\"presentation\"></ui-icon>\n </ui-icon-button>\n </li>\n `)}\n </ul>\n `;\n }\n\n protected renderEnumEditor(item: DataProperty, values?: string[]): TemplateResult | typeof nothing {\n if (['nil', 'boolean', 'binary'].includes(item.type)) {\n return nothing;\n }\n return html`\n <ui-divider type=\"middle\"></ui-divider>\n <div class=\"editor-title title-small\">Enum values</div>\n ${this.renderEnumInput(item)}\n ${this.renderEnumList(values)}\n `;\n }\n\n protected renderEnumInput(item: DataProperty): TemplateResult {\n return this.renderTypedInput({\n name: 'enum',\n label: 'Enter enum value',\n type: item.type,\n handler: this.enumAddHandler,\n addButton: true,\n });\n }\n\n protected renderEnumList(values?: string[]): TemplateResult {\n if (!values || !values.length) {\n return html`\n <div class=\"no-description\">No enum values.</div>\n `;\n }\n return html`\n <ul class=\"value-list\">\n ${values.map((label, index) => html`\n <li>\n <span class=\"label-medium value\" title=\"${label}\">${label}</span>\n <ui-icon-button aria-label=\"Remove enum value\" title=\"Removes the enum value\" data-index=\"${index}\" @click=\"${this.enumRemoveHandler}\">\n <ui-icon icon=\"deleteOutline\" role=\"presentation\"></ui-icon>\n </ui-icon-button>\n </li>\n `)}\n </ul>\n `;\n }\n\n protected propertyToInputType(type: DataPropertyType): SupportedInputTypes {\n switch (type) {\n // for `number` type we use text with `inputmode=numeric` attribute to mitigate the use of `step`.\n case 'integer': return 'number'; \n case 'date': return 'date';\n case 'time': return 'time';\n case 'datetime': return 'datetime-local';\n default: return 'text';\n }\n }\n\n /**\n * Renders an input that depends on the property type.\n */\n protected renderTypedInput(opts: IInputTemplateOptions): TemplateResult {\n if (opts.type === 'boolean') {\n return this.renderBooleanInput(opts);\n }\n if (opts.type === 'nil') {\n return this.renderNilInput(opts);\n }\n return this.renderTextField(opts);\n }\n\n protected renderTextField(opts: IInputTemplateOptions): TemplateResult {\n const inputType = this.propertyToInputType(opts.type);\n let step: string | undefined;\n let inputMode: string | undefined;\n let pattern: string | undefined;\n if (['time', 'datetime-local'].includes(opts.type) || opts.type === 'integer') {\n step = '1';\n } else if (opts.type === 'number') {\n inputMode = 'numeric';\n pattern = '^\\\\d*\\\\.?\\\\d*$';\n }\n const changeListener = opts.addButton ? undefined : opts.handler;\n return html`\n <ui-text-field \n class=\"input\" \n name=\"${opts.name}\" \n .value=\"${live(opts.value as string || '')}\" \n label=\"${opts.label}\" \n type=\"${inputType}\" \n step=\"${ifDefined(step)}\"\n inputMode=\"${ifDefined(inputMode)}\"\n pattern=\"${ifDefined(pattern)}\"\n @change=\"${changeListener}\"\n >\n ${opts.addButton ? html`\n <ui-icon-button type=\"outlined\" slot=\"suffix\" aria-label=\"Add value\" title=\"Click this button to accept the value\" @click=\"${opts.handler}\">\n <ui-icon icon=\"add\" role=\"presentation\"></ui-icon>\n </ui-icon-button>\n ` : ''}\n </ui-text-field>\n `;\n }\n\n protected renderNilInput(opts: IInputTemplateOptions): TemplateResult {\n return html`\n <ui-dropdown-list class=\"input dropdown\" @select=\"${opts.handler}\" closeOnOutsideClick>\n <ui-text-field readOnly label=\"${opts.label}\" name=\"${opts.name}\" .value=\"${opts.value as string || ''}\" role=\"button\">\n <ui-icon slot=\"suffix\" icon=\"arrowDropDown\"></ui-icon>\n </ui-text-field>\n <ui-list slot=\"dropdown\" role=\"menu\">\n <ui-list-item data-value=\"\" role=\"menuitem\">None</ui-list-item>\n <ui-list-item data-value=\"null\" role=\"menuitem\">Nil</ui-list-item>\n </ui-list>\n </ui-dropdown-list>\n `;\n }\n\n protected renderBooleanInput(opts: IInputTemplateOptions): TemplateResult {\n return html`\n <ui-dropdown-list class=\"input dropdown\" @select=\"${opts.handler}\" closeOnOutsideClick>\n <ui-text-field readOnly label=\"${opts.label}\" name=\"${opts.name}\" .value=\"${opts.value as string || ''}\" role=\"button\">\n <ui-icon slot=\"suffix\" icon=\"arrowDropDown\"></ui-icon>\n </ui-text-field>\n <ui-list slot=\"dropdown\" role=\"menu\">\n <ui-list-item data-value=\"\" role=\"menuitem\">None</ui-list-item>\n <ui-list-item data-value=\"true\" role=\"menuitem\">True</ui-list-item>\n <ui-list-item data-value=\"false\" role=\"menuitem\">False</ui-list-item>\n </ui-list>\n </ui-dropdown-list>\n `;\n }\n\n protected renderTypeSelector(item: DataProperty): TemplateResult {\n const { type = 'any' } = item;\n return html`\n <ui-dropdown-list class=\"input dropdown\" @select=\"${this.typeSelectHandler}\" closeOnOutsideClick>\n <ui-text-field readOnly title=\"Property data type\" label=\"Data type\" .value=\"${type}\" role=\"button\">\n <ui-icon slot=\"suffix\" icon=\"arrowDropDown\"></ui-icon>\n </ui-text-field>\n <ui-list slot=\"dropdown\" role=\"menu\">\n ${DataPropertyTypes.map(value => html`<ui-list-item data-value=\"${value}\" role=\"menuitem\">${value}</ui-list-item>`)}\n </ui-list>\n </ui-dropdown-list>\n `;\n }\n}\n"]}
|
|
@@ -6,15 +6,6 @@ import AppNavigation from '../navigation/AppNavigationElement.js';
|
|
|
6
6
|
import { Events } from '../../events/Events.js';
|
|
7
7
|
import '../../define/ui/ui-icon.js';
|
|
8
8
|
export default class SchemaDesignNavigation extends AppNavigation {
|
|
9
|
-
/**
|
|
10
|
-
* The instance of the root DataNamespace.
|
|
11
|
-
*/
|
|
12
|
-
root;
|
|
13
|
-
/**
|
|
14
|
-
* The key of the selected namespace.
|
|
15
|
-
*/
|
|
16
|
-
parentNamespace;
|
|
17
|
-
_nsSelectorOpened;
|
|
18
9
|
connectedCallback() {
|
|
19
10
|
super.connectedCallback();
|
|
20
11
|
this.setAttribute('aria-label', 'Schema model');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaDesignNavigation.js","sourceRoot":"","sources":["../../../src/elements/schema-design/SchemaDesignNavigation.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAkB,MAAM,KAAK,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAEL,cAAc,EAEd,aAAa,EAEb,iBAAiB,GAClB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,aAAa,MAAM,uCAAuC,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,4BAA4B,CAAC;AAEpC,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,aAAa;IAC/D;;OAEG;IACyB,IAAI,CAAiB;IAEjD;;OAEG;IACyB,eAAe,CAAU;IAElC,iBAAiB,CAAW;IAEtC,iBAAiB;QACxB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IAClD,CAAC;IAES,iBAAiB;QACzB,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC;IACnD,CAAC;IAEkB,WAAW,CAAC,GAAW,EAAE,IAAY,EAAE,IAAY;QACpE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,IAAI,EAAE;YACT,OAAO;SACR;QACD,IAAI,CAAC,IAAI,EAAE;YACT,OAAO;SACR;QACD,IAAI,IAAI,KAAK,iBAAiB,EAAE;YAC9B,MAAM,MAAM,GAAG,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YACjE,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;aACxD;YACD,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;SACzB;aAAM,IAAI,IAAI,KAAK,aAAa,EAAE;YACjC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YACvC,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;aACzD;YACD,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;SACzB;aAAM,IAAI,IAAI,KAAK,cAAc,EAAE;YAClC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;YAClE,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;aACrD;YACD,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;SACzB;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;SACjD;QACD,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IAEQ,MAAM;QACb,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,IAAI,CAAA,EAAE,CAAC;SACf;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9F,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;SAC/B;QACD,OAAO,IAAI,CAAA;;QAEP,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC;KACpC,CAAC;IACJ,CAAC;IAES,eAAe;QACvB,OAAO,IAAI,CAAA;;;;;KAKV,CAAC;IACJ,CAAC;IAES,sBAAsB,CAAC,IAAmB;QAClD,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACzC,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACzC,MAAM,QAAQ,GAAqB,EAAE,CAAC;QACtC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;YACtB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QACH,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;YACtB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAES,mBAAmB,CAAC,OAAsB;QAClD,MAAM,UAAU,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;QAC5C,MAAM,UAAU,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAqB,EAAE,CAAC;QACtC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;YACtB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QACH,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;YACtB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,mBAAmB,EAAE,QAAQ,EAAE;YACjH,UAAU,EAAE,iBAAiB;SAC9B,CAAC,CAAC;IACL,CAAC;IAES,sBAAsB,CAAC,IAAmB;QAClD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9F,IAAI,WAAW,EAAE;YACf,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;SACvC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;IAES,sBAAsB,CAAC,OAAkB;QACjD,MAAM,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC9C,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,WAAW,EAAE;YAChB,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;YAChE,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;SAC1E;QACD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE;YAC9E,UAAU,EAAE,aAAa;SAC1B,CAAC,CAAC;IACL,CAAC;IAES,mBAAmB,CAAC,IAAgB;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE;YACjE,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;CACF;AAvI6B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;oDAAsB;AAKrB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;+DAA0B;AAE5C;IAAR,KAAK,EAAE;iEAAuC","sourcesContent":["import { html, TemplateResult } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { \n DataEntity,\n DataEntityKind,\n DataModel,\n DataModelKind,\n DataNamespace,\n DataNamespaceKind,\n} from '@api-client/core/build/browser.js';\nimport AppNavigation from '../navigation/AppNavigationElement.js';\nimport { Events } from '../../events/Events.js';\nimport '../../define/ui/ui-icon.js';\n\nexport default class SchemaDesignNavigation extends AppNavigation {\n /**\n * The instance of the root DataNamespace.\n */\n @property({ type: Object }) root?: DataNamespace;\n\n /**\n * The key of the selected namespace.\n */\n @property({ type: String }) parentNamespace?: string;\n\n @state() protected _nsSelectorOpened?: boolean;\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.setAttribute('aria-label', 'Schema model');\n }\n\n protected _toggleNsSelector(): void {\n this._nsSelectorOpened = !this._nsSelectorOpened;\n }\n\n protected override _commitName(key: string, kind: string, name: string): void {\n const { root } = this;\n if (!root) {\n return;\n }\n if (!name) {\n return;\n }\n if (kind === DataNamespaceKind) {\n const object = key === root.key ? root : root.findNamespace(key);\n if (!object) {\n throw new Error(`Invalid state. Namespace not found.`);\n }\n object.info.name = name;\n } else if (kind === DataModelKind) {\n const object = root.findDataModel(key);\n if (!object) {\n throw new Error(`Invalid state. Data model not found.`);\n }\n object.info.name = name;\n } else if (kind === DataEntityKind) {\n const object = root.definitions.entities.find(e => e.key === key);\n if (!object) {\n throw new Error(`Invalid state. Entity not found.`);\n }\n object.info.name = name;\n } else {\n throw new Error(`Invalid state. Unknown kind.`);\n }\n this.edited = undefined;\n Events.SchemaDesign.changed(this);\n Events.SchemaDesign.State.nameChanged(key, kind, this);\n }\n\n override render(): TemplateResult | string {\n const { root } = this;\n if (!root) {\n return html``;\n }\n const hasChildren = root.items.some(i => [DataNamespaceKind, DataModelKind].includes(i.kind));\n if (!hasChildren) {\n return this.renderEmptyInfo();\n }\n return html`\n <div class=\"headline\">Namespace</div>\n ${this._namespaceTreeTemplate(root)}\n `;\n }\n\n protected renderEmptyInfo(): TemplateResult {\n return html`\n <div class=\"empty-view\">\n <p class=\"empty-message\">There are no schemas to render.</p>\n <p class=\"info\">Right-click here to create your first data model.</p>\n </div>\n `;\n }\n\n protected _namespaceTreeTemplate(root: DataNamespace): TemplateResult {\n const namespaces = root.listNamespaces();\n const dataModels = root.listDataModels();\n const contents: TemplateResult[] = [];\n namespaces.forEach(ns => {\n contents.push(this._namespaceItemTemplate(ns));\n });\n dataModels.forEach(ns => {\n contents.push(this._dataModelItemTemplate(ns));\n });\n\n return this._outerListTemplate(contents);\n }\n\n protected _nsChildrenTemplate(current: DataNamespace): TemplateResult {\n const namespaces = current.listNamespaces();\n const dataModels = current.listDataModels();\n const contents: TemplateResult[] = [];\n namespaces.forEach(ns => {\n contents.push(this._namespaceItemTemplate(ns));\n });\n dataModels.forEach(ns => {\n contents.push(this._dataModelItemTemplate(ns));\n });\n return this._parentListItemTemplate(current.key, current.kind, current.info.name || 'Unnamed namespace', contents, {\n parentIcon: 'schemaNamespace',\n });\n }\n\n protected _namespaceItemTemplate(item: DataNamespace): TemplateResult {\n const hasChildren = item.items.some(i => [DataNamespaceKind, DataModelKind].includes(i.kind));\n if (hasChildren) {\n return this._nsChildrenTemplate(item);\n }\n const label = item.info.renderLabel;\n const content = this._itemContentTemplate('schemaNamespace', label);\n return this._listItemTemplate(item.key, item.kind, label, content);\n }\n\n protected _dataModelItemTemplate(current: DataModel): TemplateResult {\n const hasChildren = !!current.entities.length;\n const label = current.info.renderLabel;\n if (!hasChildren) {\n const content = this._itemContentTemplate('schemaModel', label);\n return this._listItemTemplate(current.key, current.kind, label, content);\n }\n const entities = current.entities.map(i => this._entityItemTemplate(i));\n return this._parentListItemTemplate(current.key, current.kind, label, entities, {\n parentIcon: 'schemaModel',\n });\n }\n\n protected _entityItemTemplate(item: DataEntity): TemplateResult {\n const label = item.info.renderLabel;\n const content = this._itemContentTemplate('schemaEntity', label);\n return this._listItemTemplate(item.key, item.kind, label, content, {\n draggable: true,\n });\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"SchemaDesignNavigation.js","sourceRoot":"","sources":["../../../src/elements/schema-design/SchemaDesignNavigation.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, TemplateResult } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { \n DataEntity,\n DataEntityKind,\n DataModel,\n DataModelKind,\n DataNamespace,\n DataNamespaceKind,\n} from '@api-client/core/build/browser.js';\nimport AppNavigation from '../navigation/AppNavigationElement.js';\nimport { Events } from '../../events/Events.js';\nimport '../../define/ui/ui-icon.js';\n\nexport default class SchemaDesignNavigation extends AppNavigation {\n /**\n * The instance of the root DataNamespace.\n */\n @property({ type: Object }) root?: DataNamespace;\n\n /**\n * The key of the selected namespace.\n */\n @property({ type: String }) parentNamespace?: string;\n\n @state() protected _nsSelectorOpened?: boolean;\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.setAttribute('aria-label', 'Schema model');\n }\n\n protected _toggleNsSelector(): void {\n this._nsSelectorOpened = !this._nsSelectorOpened;\n }\n\n protected override _commitName(key: string, kind: string, name: string): void {\n const { root } = this;\n if (!root) {\n return;\n }\n if (!name) {\n return;\n }\n if (kind === DataNamespaceKind) {\n const object = key === root.key ? root : root.findNamespace(key);\n if (!object) {\n throw new Error(`Invalid state. Namespace not found.`);\n }\n object.info.name = name;\n } else if (kind === DataModelKind) {\n const object = root.findDataModel(key);\n if (!object) {\n throw new Error(`Invalid state. Data model not found.`);\n }\n object.info.name = name;\n } else if (kind === DataEntityKind) {\n const object = root.definitions.entities.find(e => e.key === key);\n if (!object) {\n throw new Error(`Invalid state. Entity not found.`);\n }\n object.info.name = name;\n } else {\n throw new Error(`Invalid state. Unknown kind.`);\n }\n this.edited = undefined;\n Events.SchemaDesign.changed(this);\n Events.SchemaDesign.State.nameChanged(key, kind, this);\n }\n\n override render(): TemplateResult | string {\n const { root } = this;\n if (!root) {\n return html``;\n }\n const hasChildren = root.items.some(i => [DataNamespaceKind, DataModelKind].includes(i.kind));\n if (!hasChildren) {\n return this.renderEmptyInfo();\n }\n return html`\n <div class=\"headline\">Namespace</div>\n ${this._namespaceTreeTemplate(root)}\n `;\n }\n\n protected renderEmptyInfo(): TemplateResult {\n return html`\n <div class=\"empty-view\">\n <p class=\"empty-message\">There are no schemas to render.</p>\n <p class=\"info\">Right-click here to create your first data model.</p>\n </div>\n `;\n }\n\n protected _namespaceTreeTemplate(root: DataNamespace): TemplateResult {\n const namespaces = root.listNamespaces();\n const dataModels = root.listDataModels();\n const contents: TemplateResult[] = [];\n namespaces.forEach(ns => {\n contents.push(this._namespaceItemTemplate(ns));\n });\n dataModels.forEach(ns => {\n contents.push(this._dataModelItemTemplate(ns));\n });\n\n return this._outerListTemplate(contents);\n }\n\n protected _nsChildrenTemplate(current: DataNamespace): TemplateResult {\n const namespaces = current.listNamespaces();\n const dataModels = current.listDataModels();\n const contents: TemplateResult[] = [];\n namespaces.forEach(ns => {\n contents.push(this._namespaceItemTemplate(ns));\n });\n dataModels.forEach(ns => {\n contents.push(this._dataModelItemTemplate(ns));\n });\n return this._parentListItemTemplate(current.key, current.kind, current.info.name || 'Unnamed namespace', contents, {\n parentIcon: 'schemaNamespace',\n });\n }\n\n protected _namespaceItemTemplate(item: DataNamespace): TemplateResult {\n const hasChildren = item.items.some(i => [DataNamespaceKind, DataModelKind].includes(i.kind));\n if (hasChildren) {\n return this._nsChildrenTemplate(item);\n }\n const label = item.info.renderLabel;\n const content = this._itemContentTemplate('schemaNamespace', label);\n return this._listItemTemplate(item.key, item.kind, label, content);\n }\n\n protected _dataModelItemTemplate(current: DataModel): TemplateResult {\n const hasChildren = !!current.entities.length;\n const label = current.info.renderLabel;\n if (!hasChildren) {\n const content = this._itemContentTemplate('schemaModel', label);\n return this._listItemTemplate(current.key, current.kind, label, content);\n }\n const entities = current.entities.map(i => this._entityItemTemplate(i));\n return this._parentListItemTemplate(current.key, current.kind, label, entities, {\n parentIcon: 'schemaModel',\n });\n }\n\n protected _entityItemTemplate(item: DataEntity): TemplateResult {\n const label = item.info.renderLabel;\n const content = this._itemContentTemplate('schemaEntity', label);\n return this._listItemTemplate(item.key, item.kind, label, content, {\n draggable: true,\n });\n }\n}\n"]}
|
|
@@ -10,15 +10,6 @@ import '../../define/ui/ui-icon.js';
|
|
|
10
10
|
* @fires open - When the element is "open" property change internally through user interaction.
|
|
11
11
|
*/
|
|
12
12
|
export default class SchemaNamespaceSelector extends AppNavigation {
|
|
13
|
-
/**
|
|
14
|
-
* The instance of the root DataNamespace.
|
|
15
|
-
*/
|
|
16
|
-
root;
|
|
17
|
-
/**
|
|
18
|
-
* When opened the selector render the selection tree, not only the label.
|
|
19
|
-
* @attr
|
|
20
|
-
*/
|
|
21
|
-
opened;
|
|
22
13
|
connectedCallback() {
|
|
23
14
|
super.connectedCallback();
|
|
24
15
|
this.setAttribute('aria-label', 'Namespace selection');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaNamespaceSelector.js","sourceRoot":"","sources":["../../../src/elements/schema-design/SchemaNamespaceSelector.ts"],"names":[],"mappings":";AAAA,OAAO,EAAiB,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACrF,OAAO,EAAE,IAAI,EAAkB,MAAM,KAAK,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,aAAa,MAAM,uCAAuC,CAAC;AAClE,OAAO,4BAA4B,CAAC;AAEpC;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,aAAa;
|
|
1
|
+
{"version":3,"file":"SchemaNamespaceSelector.js","sourceRoot":"","sources":["../../../src/elements/schema-design/SchemaNamespaceSelector.ts"],"names":[],"mappings":"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","sourcesContent":["import { DataNamespace, DataNamespaceKind } from \"@api-client/core/build/browser.js\";\nimport { html, TemplateResult } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport AppNavigation from \"../navigation/AppNavigationElement.js\";\nimport '../../define/ui/ui-icon.js';\n\n/**\n * An element that specializes in rendering a navigation dropdown for the schema / data namespace.\n * \n * @fires open - When the element is \"open\" property change internally through user interaction.\n */\nexport default class SchemaNamespaceSelector extends AppNavigation {\n /**\n * The instance of the root DataNamespace.\n */\n @property({ type: Object }) root?: DataNamespace;\n\n /**\n * When opened the selector render the selection tree, not only the label.\n * @attr\n */\n @property({ type: Boolean, reflect: true }) opened?: boolean;\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.setAttribute('aria-label', 'Namespace selection');\n }\n\n protected _toggleNsSelector(): void {\n this.opened = !this.opened;\n this.dispatchEvent(new Event('open'));\n }\n\n override render(): TemplateResult | string {\n const { root, selected, opened } = this;\n if (!root) {\n return html``;\n }\n const parent = selected ? root.findNamespace(selected) : root;\n if (!parent) {\n // TODO: This should still render but with the invalid selection state so the user\n // can change the selection.\n return html``;\n }\n return html`\n <div class=\"section-title\">Namespace</div>\n <button class=\"selector-label\" @click=\"${this._toggleNsSelector}\">\n <span class=\"label\">${parent.info.name}</span>\n <ui-icon icon=\"arrowDropDown\" class=\"toggle-icon\"></ui-icon>\n </button>\n\n ${opened ? this._namespaceTreeTemplate(root) : ''}\n `;\n }\n\n protected _namespaceTreeTemplate(root: DataNamespace): TemplateResult {\n const children = root.listNamespaces();\n const contents = children.map(item => this._nsItemTemplate(item));\n return this._outerListTemplate(contents);\n }\n\n protected _nsChildrenTemplate(item: DataNamespace): TemplateResult {\n const children = item.listNamespaces();\n const contents = children.map(current => this._nsItemTemplate(current));\n return this._parentListItemTemplate(item.key, item.kind, item.info.name || 'Unnamed namespace', contents);\n }\n\n protected _nsItemTemplate(item: DataNamespace): TemplateResult {\n const hasChildren = item.items.some(i => i.kind === DataNamespaceKind);\n if (hasChildren) {\n return this._nsChildrenTemplate(item);\n }\n const label = item.info.name || 'Unnamed namespace';\n const content = this._itemContentTemplate('schemaNamespace', label);\n return this._listItemTemplate(item.key, item.kind, label, content);\n }\n}\n"]}
|
|
@@ -44,15 +44,6 @@ export default class UserAvatarElement extends LitElement {
|
|
|
44
44
|
}
|
|
45
45
|
`;
|
|
46
46
|
}
|
|
47
|
-
_user;
|
|
48
|
-
/**
|
|
49
|
-
* Set with the user. The computed user initials.
|
|
50
|
-
*/
|
|
51
|
-
userInitials;
|
|
52
|
-
/**
|
|
53
|
-
* The URL to the user picture.
|
|
54
|
-
*/
|
|
55
|
-
userPicture;
|
|
56
47
|
/**
|
|
57
48
|
* @attribute
|
|
58
49
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserAvatarElement.js","sourceRoot":"","sources":["../../../src/elements/user/UserAvatarElement.ts"],"names":[],"mappings":";AAAA,2CAA2C;AAC3C;;;EAGE;AACF,OAAO,EAAE,IAAI,EAAkB,UAAU,EAAE,GAAG,EAAa,MAAM,KAAK,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAGpD,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,UAAU;IACvD,MAAM,KAAc,MAAM;QACxB,OAAO,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAkCT,CAAC;IACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"UserAvatarElement.js","sourceRoot":"","sources":["../../../src/elements/user/UserAvatarElement.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable class-methods-use-this */\n/*\nCopyright 2022 Pawel Psztyc\nLicensed under the CC-BY 2.0\n*/\nimport { html, TemplateResult, LitElement, css, CSSResult } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { IUser } from '@api-client/core/build/browser.js';\n\nexport default class UserAvatarElement extends LitElement {\n static override get styles(): CSSResult {\n return css`\n :host {\n display: inline-block;\n width: 40px;\n height: 40px;\n }\n\n .user-icon,\n .avatar-initials {\n background-color: var(--user-avatar-initials-background-color, #0540F2);\n color: var(--user-avatar-initials-color, #fff);\n }\n\n .avatar-initials {\n border-radius: 50%;\n text-transform: uppercase;\n font-size: large;\n border: 1px #0d47a1 solid;\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .user-picture {\n border-radius: 50%;\n border: 1px #0d47a1 solid;\n }\n\n .user-icon {\n width: inherit;\n height: inherit;\n }\n `;\n }\n\n private _user?: IUser;\n\n /**\n * Set with the user. The computed user initials.\n */\n @state() protected userInitials?: string;\n\n /**\n * The URL to the user picture.\n */\n @state() protected userPicture?: string;\n\n /**\n * @attribute\n */\n @property({ type: Object })\n get user(): IUser | undefined {\n return this._user;\n }\n\n set user(value: IUser | undefined) {\n const old = this._user;\n if (old === value) {\n return;\n }\n if (old && value && old.key === value.key) {\n return;\n }\n this._user = value;\n this.requestUpdate('user', old);\n this._processUser(value);\n }\n\n protected _processUser(user?: IUser): void {\n if (user) {\n this.userInitials = this._readUserInitials(user);\n this.userPicture = user.picture && user.picture.url;\n } else {\n this.userInitials = undefined;\n this.userPicture = undefined;\n }\n }\n\n protected _readUserInitials(user: IUser): string | undefined {\n const { name } = user;\n if (!name) {\n return undefined;\n }\n const max = 2;\n const parts = name.split(/[\\s-]/).slice(0, max).filter(i => !!i).map(i => i[0]);\n return parts.join('');\n }\n\n protected _pictureError(): void {\n this.userPicture = undefined;\n }\n\n /**\n * @return Template result for an icon\n */\n override render(): TemplateResult {\n const { user, userPicture } = this;\n if (!user || user.key === 'default') {\n return html``;\n }\n if (userPicture) {\n return this.pictureTemplate(userPicture);\n }\n if (this.userInitials) {\n return this.nameTemplate(this.userInitials)\n }\n return this.nameTemplate('')\n }\n\n protected pictureTemplate(url: string): TemplateResult {\n return html`\n <img src=\"${url}\" alt=\"${this.userInitials || 'Thumb'}\" class=\"user-picture user-icon\" @error=\"${this._pictureError}\"/>\n `;\n }\n\n /**\n * Renders a bubble with user initials\n * @param initials The user initials\n */\n protected nameTemplate(initials: string): TemplateResult {\n return html`\n <span class=\"avatar-initials user-icon\">${initials}</span>\n `;\n }\n}\n"]}
|
|
@@ -14,7 +14,7 @@ export class CertificatesEvents {
|
|
|
14
14
|
target.dispatchEvent(e);
|
|
15
15
|
return e.detail.result;
|
|
16
16
|
}
|
|
17
|
-
static State = class {
|
|
17
|
+
static { this.State = class {
|
|
18
18
|
/**
|
|
19
19
|
* Dispatches an event after a client certificate was updated
|
|
20
20
|
*
|
|
@@ -35,6 +35,6 @@ export class CertificatesEvents {
|
|
|
35
35
|
const e = new ContextStateDeleteEvent(EventTypes.HttpClient.Model.Certificate.State.delete, record);
|
|
36
36
|
target.dispatchEvent(e);
|
|
37
37
|
}
|
|
38
|
-
};
|
|
38
|
+
}; }
|
|
39
39
|
}
|
|
40
40
|
//# sourceMappingURL=CertificatesEvents.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CertificatesEvents.js","sourceRoot":"","sources":["../../../../src/events/http-client/models/CertificatesEvents.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,OAAO,EAGL,gBAAgB,EAGhB,uBAAuB,EACvB,uBAAuB,EAExB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,MAAM,OAAO,kBAAkB;IAC7B;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAA6B,EAAE,SAAsB,MAAM;QAC3E,MAAM,CAAC,GAAG,IAAI,gBAAgB,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACnF,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACxB,OAAO,CAAC,CAAC,MAAM,CAAC,MAAiE,CAAC;IACpF,CAAC;
|
|
1
|
+
{"version":3,"file":"CertificatesEvents.js","sourceRoot":"","sources":["../../../../src/events/http-client/models/CertificatesEvents.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,OAAO,EAGL,gBAAgB,EAGhB,uBAAuB,EACvB,uBAAuB,EAExB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,MAAM,OAAO,kBAAkB;IAC7B;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAA6B,EAAE,SAAsB,MAAM;QAC3E,MAAM,CAAC,GAAG,IAAI,gBAAgB,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACnF,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACxB,OAAO,CAAC,CAAC,MAAM,CAAC,MAAiE,CAAC;IACpF,CAAC;aAEM,UAAK,GAAG;QACb;;;;;WAKG;QACH,MAAM,CAAC,MAAM,CAAC,MAA4C,EAAE,SAAsB,MAAM;YACtF,MAAM,CAAC,GAAG,IAAI,uBAAuB,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACpG,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC;QAED;;;;;WAKG;QACH,MAAM,CAAC,MAAM,CAAC,MAA2B,EAAE,SAAsB,MAAM;YACrE,MAAM,CAAC,GAAG,IAAI,uBAAuB,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACpG,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC;KACF,CAAA","sourcesContent":["/* eslint-disable max-classes-per-file */\nimport { \n ContextChangeRecord, \n ContextDeleteRecord, \n ContextListEvent, \n ContextListResult, \n ContextSpaceListOptions, \n ContextStateDeleteEvent, \n ContextStateUpdateEvent, \n HttpCertificate \n} from '@api-client/core/build/browser.js';\nimport { EventTypes } from '../../EventTypes.js';\n\nexport class CertificatesEvents {\n /**\n * Dispatches an event to list the client certificates data.\n *\n * @param target A node on which to dispatch the event.\n * @param opts Query options.\n * @returns The list result.\n */\n static async list(opts: ContextSpaceListOptions, target: EventTarget = window): Promise<ContextListResult<HttpCertificate> | undefined> {\n const e = new ContextListEvent(EventTypes.HttpClient.Model.Certificate.list, opts);\n target.dispatchEvent(e);\n return e.detail.result as Promise<ContextListResult<HttpCertificate> | undefined>;\n }\n\n static State = class {\n /**\n * Dispatches an event after a client certificate was updated\n *\n * @param record Change record\n * @param target A node on which to dispatch the event.\n */\n static update(record: ContextChangeRecord<HttpCertificate>, target: EventTarget = window): void {\n const e = new ContextStateUpdateEvent(EventTypes.HttpClient.Model.Certificate.State.update, record);\n target.dispatchEvent(e);\n }\n\n /**\n * Dispatches an event after a client certificate was deleted\n *\n * @param record Certificate delete record.\n * @param target A node on which to dispatch the event.\n */\n static delete(record: ContextDeleteRecord, target: EventTarget = window): void {\n const e = new ContextStateDeleteEvent(EventTypes.HttpClient.Model.Certificate.State.delete, record);\n target.dispatchEvent(e);\n }\n }\n}\n"]}
|
|
@@ -23,16 +23,12 @@ import { openDB } from 'idb/with-async-ittr';
|
|
|
23
23
|
* - have the `key` property that is a unique identifier of the entity. if the entity has duplicated entity it will replace the previous entity.
|
|
24
24
|
*/
|
|
25
25
|
export class Base {
|
|
26
|
-
/**
|
|
27
|
-
* Set with `listen()` method or separately. When set the model dispatch events on this node.
|
|
28
|
-
* When not set the model does not dispatch events.
|
|
29
|
-
*/
|
|
30
|
-
eventsTarget = window;
|
|
31
|
-
/**
|
|
32
|
-
* The name of the store.
|
|
33
|
-
*/
|
|
34
|
-
name;
|
|
35
26
|
constructor(name) {
|
|
27
|
+
/**
|
|
28
|
+
* Set with `listen()` method or separately. When set the model dispatch events on this node.
|
|
29
|
+
* When not set the model does not dispatch events.
|
|
30
|
+
*/
|
|
31
|
+
this.eventsTarget = window;
|
|
36
32
|
this.name = name;
|
|
37
33
|
this._listHandler = this._listHandler.bind(this);
|
|
38
34
|
this._readHandler = this._readHandler.bind(this);
|
|
@@ -44,7 +40,6 @@ export class Base {
|
|
|
44
40
|
this._deleteBulkHandler = this._deleteBulkHandler.bind(this);
|
|
45
41
|
// this[deleteModelHandler] = this[deleteModelHandler].bind(this);
|
|
46
42
|
}
|
|
47
|
-
_db;
|
|
48
43
|
/**
|
|
49
44
|
* Opens the ARC store.
|
|
50
45
|
* @returns The reference to the database
|