@api-client/ui 0.0.17 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/deployment.yml +3 -1
- package/README.md +74 -11
- package/bin/dev.ts +1 -0
- package/build/src/amf/lib/AmfInputParser.d.ts +7 -6
- package/build/src/amf/lib/AmfInputParser.d.ts.map +1 -1
- package/build/src/amf/lib/AmfInputParser.js +2 -1
- package/build/src/amf/lib/AmfInputParser.js.map +1 -1
- package/build/src/amf/lib/AmfParameters.d.ts +16 -15
- package/build/src/amf/lib/AmfParameters.d.ts.map +1 -1
- package/build/src/amf/lib/AmfParameters.js +5 -3
- package/build/src/amf/lib/AmfParameters.js.map +1 -1
- package/build/src/amf/lib/AmfSecurity.d.ts +3 -3
- package/build/src/amf/lib/AmfSecurity.d.ts.map +1 -1
- package/build/src/amf/lib/AmfSecurity.js +1 -0
- package/build/src/amf/lib/AmfSecurity.js.map +1 -1
- package/build/src/amf/lib/Oauth2RamlCustomData.d.ts +13 -12
- package/build/src/amf/lib/Oauth2RamlCustomData.d.ts.map +1 -1
- package/build/src/amf/lib/Oauth2RamlCustomData.js +3 -3
- package/build/src/amf/lib/Oauth2RamlCustomData.js.map +1 -1
- package/build/src/amf/lib/PayloadUtils.d.ts +3 -2
- package/build/src/amf/lib/PayloadUtils.d.ts.map +1 -1
- package/build/src/amf/lib/PayloadUtils.js +3 -1
- package/build/src/amf/lib/PayloadUtils.js.map +1 -1
- package/build/src/amf/lib/QueryParameterProcessor.d.ts +7 -7
- package/build/src/amf/lib/QueryParameterProcessor.d.ts.map +1 -1
- package/build/src/amf/lib/QueryParameterProcessor.js +1 -1
- package/build/src/amf/lib/QueryParameterProcessor.js.map +1 -1
- package/build/src/amf/lib/Utils.d.ts +6 -5
- package/build/src/amf/lib/Utils.d.ts.map +1 -1
- package/build/src/amf/lib/Utils.js +2 -1
- package/build/src/amf/lib/Utils.js.map +1 -1
- package/build/src/amf/store/AmfGraphStore.d.ts +2 -2
- package/build/src/amf/store/AmfGraphStore.d.ts.map +1 -1
- package/build/src/amf/store/AmfGraphStore.js +2 -2
- package/build/src/amf/store/AmfGraphStore.js.map +1 -1
- package/build/src/amf/store/AmfStore.d.ts +21 -17
- package/build/src/amf/store/AmfStore.d.ts.map +1 -1
- package/build/src/amf/store/AmfStore.js +1 -2
- package/build/src/amf/store/AmfStore.js.map +1 -1
- package/build/src/amf/store/InMemAmfGraphStore.d.ts +24 -21
- package/build/src/amf/store/InMemAmfGraphStore.d.ts.map +1 -1
- package/build/src/amf/store/InMemAmfGraphStore.js +2 -1
- package/build/src/amf/store/InMemAmfGraphStore.js.map +1 -1
- package/build/src/amf/types.d.ts +9 -8
- package/build/src/amf/types.d.ts.map +1 -1
- package/build/src/amf/types.js.map +1 -1
- package/build/src/bindings/base/ConfigurationBindings.d.ts +1 -1
- package/build/src/bindings/base/ConfigurationBindings.d.ts.map +1 -1
- package/build/src/bindings/base/ConfigurationBindings.js.map +1 -1
- package/build/src/bindings/base/IoThread.d.ts +1 -1
- package/build/src/bindings/base/IoThread.d.ts.map +1 -1
- package/build/src/bindings/base/IoThread.js +1 -1
- package/build/src/bindings/base/IoThread.js.map +1 -1
- package/build/src/bindings/base/PlatformBindings.js +1 -1
- package/build/src/bindings/base/PlatformBindings.js.map +1 -1
- package/build/src/bindings/web/WebConfigurationBindings.d.ts.map +1 -1
- package/build/src/bindings/web/WebConfigurationBindings.js.map +1 -1
- package/build/src/code-snippets/Bash/CurlSnippet.d.ts +2 -1
- package/build/src/code-snippets/Bash/CurlSnippet.d.ts.map +1 -1
- package/build/src/code-snippets/Bash/CurlSnippet.js.map +1 -1
- package/build/src/code-snippets/C/CcurlSnippet.d.ts +2 -1
- package/build/src/code-snippets/C/CcurlSnippet.d.ts.map +1 -1
- package/build/src/code-snippets/C/CcurlSnippet.js.map +1 -1
- package/build/src/code-snippets/CodeSnippet.d.ts +3 -1
- package/build/src/code-snippets/CodeSnippet.d.ts.map +1 -1
- package/build/src/code-snippets/CodeSnippet.js +1 -1
- package/build/src/code-snippets/CodeSnippet.js.map +1 -1
- package/build/src/code-snippets/Dart/DartSnippet.d.ts +2 -1
- package/build/src/code-snippets/Dart/DartSnippet.d.ts.map +1 -1
- package/build/src/code-snippets/Dart/DartSnippet.js.map +1 -1
- package/build/src/code-snippets/HTTP/RawSnippet.d.ts +2 -1
- package/build/src/code-snippets/HTTP/RawSnippet.d.ts.map +1 -1
- package/build/src/code-snippets/HTTP/RawSnippet.js.map +1 -1
- package/build/src/code-snippets/Java/PlatformSnippet.d.ts +2 -1
- package/build/src/code-snippets/Java/PlatformSnippet.d.ts.map +1 -1
- package/build/src/code-snippets/Java/PlatformSnippet.js.map +1 -1
- package/build/src/code-snippets/Java/SpringSnippet.d.ts +2 -1
- package/build/src/code-snippets/Java/SpringSnippet.d.ts.map +1 -1
- package/build/src/code-snippets/Java/SpringSnippet.js.map +1 -1
- package/build/src/code-snippets/JavaScript/AsyncFetchSnippet.d.ts +2 -1
- package/build/src/code-snippets/JavaScript/AsyncFetchSnippet.d.ts.map +1 -1
- package/build/src/code-snippets/JavaScript/AsyncFetchSnippet.js.map +1 -1
- package/build/src/code-snippets/JavaScript/AxiosSnippet.d.ts +2 -1
- package/build/src/code-snippets/JavaScript/AxiosSnippet.d.ts.map +1 -1
- package/build/src/code-snippets/JavaScript/AxiosSnippet.js.map +1 -1
- package/build/src/code-snippets/JavaScript/FetchSnippet.d.ts +2 -1
- package/build/src/code-snippets/JavaScript/FetchSnippet.d.ts.map +1 -1
- package/build/src/code-snippets/JavaScript/FetchSnippet.js.map +1 -1
- package/build/src/code-snippets/JavaScript/NodeSnippet.d.ts +2 -1
- package/build/src/code-snippets/JavaScript/NodeSnippet.d.ts.map +1 -1
- package/build/src/code-snippets/JavaScript/NodeSnippet.js.map +1 -1
- package/build/src/code-snippets/JavaScript/XhrSnippet.d.ts +2 -1
- package/build/src/code-snippets/JavaScript/XhrSnippet.d.ts.map +1 -1
- package/build/src/code-snippets/JavaScript/XhrSnippet.js.map +1 -1
- package/build/src/code-snippets/JavaScript/jQuerySnippet.d.ts +2 -1
- package/build/src/code-snippets/JavaScript/jQuerySnippet.d.ts.map +1 -1
- package/build/src/code-snippets/JavaScript/jQuerySnippet.js.map +1 -1
- package/build/src/code-snippets/Python/Python27Snippet.d.ts +2 -1
- package/build/src/code-snippets/Python/Python27Snippet.d.ts.map +1 -1
- package/build/src/code-snippets/Python/Python27Snippet.js.map +1 -1
- package/build/src/code-snippets/Python/Python31Snippet.d.ts +2 -1
- package/build/src/code-snippets/Python/Python31Snippet.d.ts.map +1 -1
- package/build/src/code-snippets/Python/Python31Snippet.js.map +1 -1
- package/build/src/code-snippets/Python/RequestsSnippet.d.ts +2 -1
- package/build/src/code-snippets/Python/RequestsSnippet.d.ts.map +1 -1
- package/build/src/code-snippets/Python/RequestsSnippet.js.map +1 -1
- package/build/src/controllers/LiveDataController.d.ts +1 -1
- package/build/src/controllers/LiveDataController.d.ts.map +1 -1
- package/build/src/controllers/LiveDataController.js.map +1 -1
- package/build/src/core/Activity.d.ts +19 -1
- package/build/src/core/Activity.d.ts.map +1 -1
- package/build/src/core/Activity.js +286 -238
- package/build/src/core/Activity.js.map +1 -1
- package/build/src/core/ActivityManager.d.ts +8 -1
- package/build/src/core/ActivityManager.d.ts.map +1 -1
- package/build/src/core/ActivityManager.js +22 -1
- package/build/src/core/ActivityManager.js.map +1 -1
- package/build/src/core/Fragment.d.ts +5 -0
- package/build/src/core/Fragment.d.ts.map +1 -1
- package/build/src/core/Fragment.js +11 -0
- package/build/src/core/Fragment.js.map +1 -1
- package/build/src/core/FragmentManager.d.ts +1 -1
- package/build/src/core/FragmentManager.d.ts.map +1 -1
- package/build/src/core/FragmentManager.js.map +1 -1
- package/build/src/core/ModalActivity.d.ts +1 -1
- package/build/src/core/ModalActivity.js +1 -1
- package/build/src/core/ModalActivity.js.map +1 -1
- package/build/src/directives/live.d.ts +1 -1
- package/build/src/directives/live.d.ts.map +1 -1
- package/build/src/directives/live.js.map +1 -1
- package/build/src/elements/amf/ApiAnnotationDocument.element.d.ts +6 -5
- package/build/src/elements/amf/ApiAnnotationDocument.element.d.ts.map +1 -1
- package/build/src/elements/amf/ApiAnnotationDocument.element.js +1 -1
- package/build/src/elements/amf/ApiAnnotationDocument.element.js.map +1 -1
- package/build/src/elements/amf/ApiAuthorizationEditor.element.d.ts +16 -15
- package/build/src/elements/amf/ApiAuthorizationEditor.element.d.ts.map +1 -1
- package/build/src/elements/amf/ApiAuthorizationEditor.element.js.map +1 -1
- package/build/src/elements/amf/ApiChannelDocument.element.d.ts +2 -2
- package/build/src/elements/amf/ApiChannelDocument.element.d.ts.map +1 -1
- package/build/src/elements/amf/ApiChannelDocument.element.js.map +1 -1
- package/build/src/elements/amf/ApiDocumentation.element.d.ts +2 -2
- package/build/src/elements/amf/ApiDocumentation.element.d.ts.map +1 -1
- package/build/src/elements/amf/ApiDocumentation.element.js +1 -1
- package/build/src/elements/amf/ApiDocumentation.element.js.map +1 -1
- package/build/src/elements/amf/ApiDocumentationBase.d.ts +6 -4
- package/build/src/elements/amf/ApiDocumentationBase.d.ts.map +1 -1
- package/build/src/elements/amf/ApiDocumentationBase.js +1 -1
- package/build/src/elements/amf/ApiDocumentationBase.js.map +1 -1
- package/build/src/elements/amf/ApiDocumentationDocument.element.d.ts +5 -5
- package/build/src/elements/amf/ApiDocumentationDocument.element.d.ts.map +1 -1
- package/build/src/elements/amf/ApiDocumentationDocument.element.js.map +1 -1
- package/build/src/elements/amf/ApiNavigation.element.d.ts +12 -12
- package/build/src/elements/amf/ApiNavigation.element.d.ts.map +1 -1
- package/build/src/elements/amf/ApiNavigation.element.js.map +1 -1
- package/build/src/elements/amf/ApiOperationDocument.element.d.ts +27 -27
- package/build/src/elements/amf/ApiOperationDocument.element.d.ts.map +1 -1
- package/build/src/elements/amf/ApiOperationDocument.element.js +3 -1
- package/build/src/elements/amf/ApiOperationDocument.element.js.map +1 -1
- package/build/src/elements/amf/ApiParameterDocument.element.d.ts +6 -5
- package/build/src/elements/amf/ApiParameterDocument.element.d.ts.map +1 -1
- package/build/src/elements/amf/ApiParameterDocument.element.js.map +1 -1
- package/build/src/elements/amf/ApiParametrizedSecurityScheme.element.d.ts +6 -6
- package/build/src/elements/amf/ApiParametrizedSecurityScheme.element.d.ts.map +1 -1
- package/build/src/elements/amf/ApiParametrizedSecurityScheme.element.js +1 -1
- package/build/src/elements/amf/ApiParametrizedSecurityScheme.element.js.map +1 -1
- package/build/src/elements/amf/ApiPayloadDocument.element.d.ts +7 -7
- package/build/src/elements/amf/ApiPayloadDocument.element.d.ts.map +1 -1
- package/build/src/elements/amf/ApiPayloadDocument.element.js.map +1 -1
- package/build/src/elements/amf/ApiRequest.element.d.ts +2 -1
- package/build/src/elements/amf/ApiRequest.element.d.ts.map +1 -1
- package/build/src/elements/amf/ApiRequest.element.js.map +1 -1
- package/build/src/elements/amf/ApiRequestDocument.element.d.ts +9 -9
- package/build/src/elements/amf/ApiRequestDocument.element.d.ts.map +1 -1
- package/build/src/elements/amf/ApiRequestDocument.element.js.map +1 -1
- package/build/src/elements/amf/ApiRequestEditor.element.d.ts +16 -12
- package/build/src/elements/amf/ApiRequestEditor.element.d.ts.map +1 -1
- package/build/src/elements/amf/ApiRequestEditor.element.js +8 -3
- package/build/src/elements/amf/ApiRequestEditor.element.js.map +1 -1
- package/build/src/elements/amf/ApiResourceDocument.element.d.ts +17 -16
- package/build/src/elements/amf/ApiResourceDocument.element.d.ts.map +1 -1
- package/build/src/elements/amf/ApiResourceDocument.element.js +2 -1
- package/build/src/elements/amf/ApiResourceDocument.element.js.map +1 -1
- package/build/src/elements/amf/ApiResponseDocument.element.d.ts +9 -9
- package/build/src/elements/amf/ApiResponseDocument.element.d.ts.map +1 -1
- package/build/src/elements/amf/ApiResponseDocument.element.js.map +1 -1
- package/build/src/elements/amf/ApiSchemaDocument.element.d.ts +22 -22
- package/build/src/elements/amf/ApiSchemaDocument.element.d.ts.map +1 -1
- package/build/src/elements/amf/ApiSchemaDocument.element.js +4 -3
- package/build/src/elements/amf/ApiSchemaDocument.element.js.map +1 -1
- package/build/src/elements/amf/ApiSecurityDocument.element.d.ts +19 -19
- package/build/src/elements/amf/ApiSecurityDocument.element.d.ts.map +1 -1
- package/build/src/elements/amf/ApiSecurityDocument.element.js +1 -1
- package/build/src/elements/amf/ApiSecurityDocument.element.js.map +1 -1
- package/build/src/elements/amf/ApiSecurityRequirementDocument.element.d.ts +4 -4
- package/build/src/elements/amf/ApiSecurityRequirementDocument.element.d.ts.map +1 -1
- package/build/src/elements/amf/ApiSecurityRequirementDocument.element.js.map +1 -1
- package/build/src/elements/amf/ApiServerPicker.element.d.ts +3 -3
- package/build/src/elements/amf/ApiServerPicker.element.d.ts.map +1 -1
- package/build/src/elements/amf/ApiServerPicker.element.js +3 -3
- package/build/src/elements/amf/ApiServerPicker.element.js.map +1 -1
- package/build/src/elements/amf/ApiSummary.element.d.ts +13 -13
- package/build/src/elements/amf/ApiSummary.element.d.ts.map +1 -1
- package/build/src/elements/amf/ApiSummary.element.js +1 -1
- package/build/src/elements/amf/ApiSummary.element.js.map +1 -1
- package/build/src/elements/amf/SchemaCommonTemplates.d.ts +5 -5
- package/build/src/elements/amf/SchemaCommonTemplates.d.ts.map +1 -1
- package/build/src/elements/amf/SchemaCommonTemplates.js +1 -1
- package/build/src/elements/amf/SchemaCommonTemplates.js.map +1 -1
- package/build/src/elements/amf/authorization/AmfApiKey.d.ts +4 -2
- package/build/src/elements/amf/authorization/AmfApiKey.d.ts.map +1 -1
- package/build/src/elements/amf/authorization/AmfApiKey.js +2 -1
- package/build/src/elements/amf/authorization/AmfApiKey.js.map +1 -1
- package/build/src/elements/amf/authorization/AmfBasic.d.ts +3 -2
- package/build/src/elements/amf/authorization/AmfBasic.d.ts.map +1 -1
- package/build/src/elements/amf/authorization/AmfBasic.js +1 -1
- package/build/src/elements/amf/authorization/AmfBasic.js.map +1 -1
- package/build/src/elements/amf/authorization/AmfBearer.d.ts +3 -2
- package/build/src/elements/amf/authorization/AmfBearer.d.ts.map +1 -1
- package/build/src/elements/amf/authorization/AmfBearer.js +1 -1
- package/build/src/elements/amf/authorization/AmfBearer.js.map +1 -1
- package/build/src/elements/amf/authorization/AmfOauth2.d.ts +22 -18
- package/build/src/elements/amf/authorization/AmfOauth2.d.ts.map +1 -1
- package/build/src/elements/amf/authorization/AmfOauth2.js +2 -1
- package/build/src/elements/amf/authorization/AmfOauth2.js.map +1 -1
- package/build/src/elements/amf/authorization/AmfOidc.d.ts +3 -2
- package/build/src/elements/amf/authorization/AmfOidc.d.ts.map +1 -1
- package/build/src/elements/amf/authorization/AmfOidc.js +1 -1
- package/build/src/elements/amf/authorization/AmfOidc.js.map +1 -1
- package/build/src/elements/amf/authorization/AmfPassThrough.d.ts +7 -4
- package/build/src/elements/amf/authorization/AmfPassThrough.d.ts.map +1 -1
- package/build/src/elements/amf/authorization/AmfPassThrough.js +2 -1
- package/build/src/elements/amf/authorization/AmfPassThrough.js.map +1 -1
- package/build/src/elements/amf/authorization/AmfRamlCustom.d.ts +7 -4
- package/build/src/elements/amf/authorization/AmfRamlCustom.d.ts.map +1 -1
- package/build/src/elements/amf/authorization/AmfRamlCustom.js +2 -1
- package/build/src/elements/amf/authorization/AmfRamlCustom.js.map +1 -1
- package/build/src/elements/authorization/OAuth2Authorize.d.ts +1 -1
- package/build/src/elements/authorization/OAuth2Authorize.d.ts.map +1 -1
- package/build/src/elements/authorization/OAuth2Authorize.js +2 -1
- package/build/src/elements/authorization/OAuth2Authorize.js.map +1 -1
- package/build/src/elements/authorization/OidcAuthorize.d.ts +1 -1
- package/build/src/elements/authorization/OidcAuthorize.d.ts.map +1 -1
- package/build/src/elements/authorization/OidcAuthorize.js +2 -1
- package/build/src/elements/authorization/OidcAuthorize.js.map +1 -1
- package/build/src/elements/authorization/ui/ApiKeyAuthorization.d.ts +1 -1
- package/build/src/elements/authorization/ui/ApiKeyAuthorization.d.ts.map +1 -1
- package/build/src/elements/authorization/ui/ApiKeyAuthorization.js.map +1 -1
- package/build/src/elements/authorization/ui/Authorization.d.ts +1 -1
- package/build/src/elements/authorization/ui/Authorization.d.ts.map +1 -1
- package/build/src/elements/authorization/ui/Authorization.js.map +1 -1
- package/build/src/elements/authorization/ui/BasicAuthorization.d.ts +1 -1
- package/build/src/elements/authorization/ui/BasicAuthorization.d.ts.map +1 -1
- package/build/src/elements/authorization/ui/BasicAuthorization.js.map +1 -1
- package/build/src/elements/authorization/ui/BearerAuthorization.d.ts +1 -1
- package/build/src/elements/authorization/ui/BearerAuthorization.d.ts.map +1 -1
- package/build/src/elements/authorization/ui/BearerAuthorization.js.map +1 -1
- package/build/src/elements/authorization/ui/CcAuthorization.d.ts +3 -1
- package/build/src/elements/authorization/ui/CcAuthorization.d.ts.map +1 -1
- package/build/src/elements/authorization/ui/CcAuthorization.js +2 -1
- package/build/src/elements/authorization/ui/CcAuthorization.js.map +1 -1
- package/build/src/elements/authorization/ui/NtlmAuthorization.d.ts +1 -1
- package/build/src/elements/authorization/ui/NtlmAuthorization.d.ts.map +1 -1
- package/build/src/elements/authorization/ui/NtlmAuthorization.js.map +1 -1
- package/build/src/elements/authorization/ui/OAuth2Authorization.d.ts +2 -1
- package/build/src/elements/authorization/ui/OAuth2Authorization.d.ts.map +1 -1
- package/build/src/elements/authorization/ui/OAuth2Authorization.js +3 -2
- package/build/src/elements/authorization/ui/OAuth2Authorization.js.map +1 -1
- package/build/src/elements/authorization/ui/OidcAuthorization.d.ts +2 -1
- package/build/src/elements/authorization/ui/OidcAuthorization.d.ts.map +1 -1
- package/build/src/elements/authorization/ui/OidcAuthorization.js +4 -2
- package/build/src/elements/authorization/ui/OidcAuthorization.js.map +1 -1
- package/build/src/elements/code/HttpSnippets.d.ts +1 -1
- package/build/src/elements/code/HttpSnippets.d.ts.map +1 -1
- package/build/src/elements/code/HttpSnippets.js.map +1 -1
- package/build/src/elements/data-table/{internals/DataTable.d.ts → DataTable.d.ts} +1 -1
- package/build/src/elements/data-table/DataTable.d.ts.map +1 -0
- package/build/src/elements/data-table/{internals/DataTable.js → DataTable.js} +1 -1
- package/build/src/elements/data-table/DataTable.js.map +1 -0
- package/build/src/elements/data-table/DataTable.styles.d.ts.map +1 -0
- package/build/src/elements/data-table/DataTable.styles.js.map +1 -0
- package/build/src/elements/dialog/internals/DeleteCookieAction.element.d.ts +1 -1
- package/build/src/elements/dialog/internals/DeleteCookieAction.element.d.ts.map +1 -1
- package/build/src/elements/dialog/internals/DeleteCookieAction.element.js +1 -1
- package/build/src/elements/dialog/internals/DeleteCookieAction.element.js.map +1 -1
- package/build/src/elements/dialog/internals/SetCookieAction.element.d.ts +1 -1
- package/build/src/elements/dialog/internals/SetCookieAction.element.d.ts.map +1 -1
- package/build/src/elements/dialog/internals/SetCookieAction.element.js +1 -1
- package/build/src/elements/dialog/internals/SetCookieAction.element.js.map +1 -1
- package/build/src/elements/environment/EnvironmentEditor.d.ts +5 -1
- package/build/src/elements/environment/EnvironmentEditor.d.ts.map +1 -1
- package/build/src/elements/environment/EnvironmentEditor.js +3 -1
- package/build/src/elements/environment/EnvironmentEditor.js.map +1 -1
- package/build/src/elements/environment/ServerEditor.d.ts +2 -1
- package/build/src/elements/environment/ServerEditor.d.ts.map +1 -1
- package/build/src/elements/environment/ServerEditor.js +1 -1
- package/build/src/elements/environment/ServerEditor.js.map +1 -1
- package/build/src/elements/environment/VariablesEditor.d.ts +1 -1
- package/build/src/elements/environment/VariablesEditor.d.ts.map +1 -1
- package/build/src/elements/environment/VariablesEditor.js +1 -1
- package/build/src/elements/environment/VariablesEditor.js.map +1 -1
- package/build/src/elements/file-system/internals/Breadcrumbs.d.ts +2 -2
- package/build/src/elements/file-system/internals/Breadcrumbs.d.ts.map +1 -1
- package/build/src/elements/file-system/internals/Breadcrumbs.js +1 -1
- package/build/src/elements/file-system/internals/Breadcrumbs.js.map +1 -1
- package/build/src/elements/har/HarViewer.js +1 -1
- package/build/src/elements/har/HarViewer.js.map +1 -1
- package/build/src/elements/http/BodyEditor.d.ts +3 -1
- package/build/src/elements/http/BodyEditor.d.ts.map +1 -1
- package/build/src/elements/http/BodyEditor.js +1 -1
- package/build/src/elements/http/BodyEditor.js.map +1 -1
- package/build/src/elements/http/BodyMultipartEditor.d.ts +1 -1
- package/build/src/elements/http/BodyMultipartEditor.d.ts.map +1 -1
- package/build/src/elements/http/BodyMultipartEditor.js +3 -2
- package/build/src/elements/http/BodyMultipartEditor.js.map +1 -1
- package/build/src/elements/http/BodyUrlEncodedEditor.d.ts +1 -1
- package/build/src/elements/http/BodyUrlEncodedEditor.d.ts.map +1 -1
- package/build/src/elements/http/BodyUrlEncodedEditor.js +1 -1
- package/build/src/elements/http/BodyUrlEncodedEditor.js.map +1 -1
- package/build/src/elements/http/CertificateAdd.element.d.ts +1 -1
- package/build/src/elements/http/CertificateAdd.element.d.ts.map +1 -1
- package/build/src/elements/http/CertificateAdd.element.js +2 -1
- package/build/src/elements/http/CertificateAdd.element.js.map +1 -1
- package/build/src/elements/http/HeadersForm.d.ts +2 -1
- package/build/src/elements/http/HeadersForm.d.ts.map +1 -1
- package/build/src/elements/http/HeadersForm.js +6 -3
- package/build/src/elements/http/HeadersForm.js.map +1 -1
- package/build/src/elements/http/HttpAssertions.element.d.ts +2 -1
- package/build/src/elements/http/HttpAssertions.element.d.ts.map +1 -1
- package/build/src/elements/http/HttpAssertions.element.js.map +1 -1
- package/build/src/elements/http/HttpFlows.element.d.ts +2 -1
- package/build/src/elements/http/HttpFlows.element.d.ts.map +1 -1
- package/build/src/elements/http/HttpFlows.element.js.map +1 -1
- package/build/src/elements/http/HttpFlowsUi.d.ts +5 -1
- package/build/src/elements/http/HttpFlowsUi.d.ts.map +1 -1
- package/build/src/elements/http/HttpFlowsUi.js +5 -1
- package/build/src/elements/http/HttpFlowsUi.js.map +1 -1
- package/build/src/elements/http/LogBody.d.ts +1 -1
- package/build/src/elements/http/LogBody.d.ts.map +1 -1
- package/build/src/elements/http/LogBody.js +1 -1
- package/build/src/elements/http/LogBody.js.map +1 -1
- package/build/src/elements/http/LogHeaders.d.ts +5 -1
- package/build/src/elements/http/LogHeaders.d.ts.map +1 -1
- package/build/src/elements/http/LogHeaders.js +3 -1
- package/build/src/elements/http/LogHeaders.js.map +1 -1
- package/build/src/elements/http/LogTimings.d.ts +1 -1
- package/build/src/elements/http/LogTimings.d.ts.map +1 -1
- package/build/src/elements/http/LogTimings.js.map +1 -1
- package/build/src/elements/http/RequestConfigElement.d.ts +1 -1
- package/build/src/elements/http/RequestConfigElement.d.ts.map +1 -1
- package/build/src/elements/http/RequestConfigElement.js +1 -1
- package/build/src/elements/http/RequestConfigElement.js.map +1 -1
- package/build/src/elements/http/RequestEditor.d.ts +9 -1
- package/build/src/elements/http/RequestEditor.d.ts.map +1 -1
- package/build/src/elements/http/RequestEditor.js +6 -1
- package/build/src/elements/http/RequestEditor.js.map +1 -1
- package/build/src/elements/http/RequestLog.d.ts +6 -1
- package/build/src/elements/http/RequestLog.d.ts.map +1 -1
- package/build/src/elements/http/RequestLog.js +3 -1
- package/build/src/elements/http/RequestLog.js.map +1 -1
- package/build/src/elements/http/UrlEncodeUtils.d.ts +1 -1
- package/build/src/elements/http/UrlEncodeUtils.d.ts.map +1 -1
- package/build/src/elements/http/UrlEncodeUtils.js +1 -1
- package/build/src/elements/http/UrlEncodeUtils.js.map +1 -1
- package/build/src/elements/http/UrlInput.d.ts +1 -1
- package/build/src/elements/http/UrlInput.d.ts.map +1 -1
- package/build/src/elements/http/UrlInput.js.map +1 -1
- package/build/src/elements/http/UrlParamsForm.d.ts +1 -1
- package/build/src/elements/http/UrlParamsForm.d.ts.map +1 -1
- package/build/src/elements/http/UrlParamsForm.js +2 -1
- package/build/src/elements/http/UrlParamsForm.js.map +1 -1
- package/build/src/elements/layout/SplitPanel.js +3 -3
- package/build/src/elements/layout/SplitPanel.js.map +1 -1
- package/build/src/elements/navigation/internals/AppNavigation.styles.d.ts.map +1 -1
- package/build/src/elements/navigation/internals/AppNavigation.styles.js +1 -0
- package/build/src/elements/navigation/internals/AppNavigation.styles.js.map +1 -1
- package/build/src/elements/navigation/internals/AppNavigationElement.d.ts.map +1 -1
- package/build/src/elements/navigation/internals/AppNavigationElement.js +2 -7
- package/build/src/elements/navigation/internals/AppNavigationElement.js.map +1 -1
- package/build/src/elements/project/HttpHistoryChart.d.ts +1 -1
- package/build/src/elements/project/HttpHistoryChart.d.ts.map +1 -1
- package/build/src/elements/project/HttpHistoryChart.js +1 -1
- package/build/src/elements/project/HttpHistoryChart.js.map +1 -1
- package/build/src/elements/project/HttpProjectRequest.d.ts +17 -3
- package/build/src/elements/project/HttpProjectRequest.d.ts.map +1 -1
- package/build/src/elements/project/HttpProjectRequest.js +6 -1
- package/build/src/elements/project/HttpProjectRequest.js.map +1 -1
- package/build/src/elements/project/HttpProjectRequestHistory.d.ts +2 -1
- package/build/src/elements/project/HttpProjectRequestHistory.d.ts.map +1 -1
- package/build/src/elements/project/HttpProjectRequestHistory.js +1 -1
- package/build/src/elements/project/HttpProjectRequestHistory.js.map +1 -1
- package/build/src/elements/project/ProjectNavigation.d.ts +4 -1
- package/build/src/elements/project/ProjectNavigation.d.ts.map +1 -1
- package/build/src/elements/project/ProjectNavigation.js +3 -1
- package/build/src/elements/project/ProjectNavigation.js.map +1 -1
- package/build/src/elements/project/ProjectRunReport.d.ts +2 -1
- package/build/src/elements/project/ProjectRunReport.d.ts.map +1 -1
- package/build/src/elements/project/ProjectRunReport.js +1 -1
- package/build/src/elements/project/ProjectRunReport.js.map +1 -1
- package/build/src/elements/project/ProjectRunner.d.ts +5 -1
- package/build/src/elements/project/ProjectRunner.d.ts.map +1 -1
- package/build/src/elements/project/ProjectRunner.js +2 -1
- package/build/src/elements/project/ProjectRunner.js.map +1 -1
- package/build/src/elements/project/ProjectRunnerNavigationElement.d.ts +3 -1
- package/build/src/elements/project/ProjectRunnerNavigationElement.d.ts.map +1 -1
- package/build/src/elements/project/ProjectRunnerNavigationElement.js +1 -1
- package/build/src/elements/project/ProjectRunnerNavigationElement.js.map +1 -1
- package/build/src/elements/user/internals/UserAvatar.d.ts +1 -1
- package/build/src/elements/user/internals/UserAvatar.d.ts.map +1 -1
- package/build/src/elements/user/internals/UserAvatar.js.map +1 -1
- package/build/src/events/BroadcastUiEvents.d.ts +2 -1
- package/build/src/events/BroadcastUiEvents.d.ts.map +1 -1
- package/build/src/events/BroadcastUiEvents.js.map +1 -1
- package/build/src/events/ConfigEvents.d.ts +1 -1
- package/build/src/events/ConfigEvents.d.ts.map +1 -1
- package/build/src/events/ConfigEvents.js.map +1 -1
- package/build/src/events/Events.d.ts +2 -2
- package/build/src/events/HttpClientEvents.d.ts +3 -1
- package/build/src/events/HttpClientEvents.d.ts.map +1 -1
- package/build/src/events/HttpClientEvents.js +1 -1
- package/build/src/events/HttpClientEvents.js.map +1 -1
- package/build/src/events/HttpProjectEvents.d.ts +2 -1
- package/build/src/events/HttpProjectEvents.d.ts.map +1 -1
- package/build/src/events/HttpProjectEvents.js +1 -1
- package/build/src/events/HttpProjectEvents.js.map +1 -1
- package/build/src/events/IntentEvents.d.ts +1 -1
- package/build/src/events/IntentEvents.js +1 -1
- package/build/src/events/IntentEvents.js.map +1 -1
- package/build/src/events/StoreEvents.d.ts +9 -4
- package/build/src/events/StoreEvents.d.ts.map +1 -1
- package/build/src/events/StoreEvents.js.map +1 -1
- package/build/src/events/amf/ApiEvents.d.ts +2 -2
- package/build/src/events/amf/ApiEvents.d.ts.map +1 -1
- package/build/src/events/amf/ApiEvents.js.map +1 -1
- package/build/src/events/amf/DocumentationEvents.d.ts +3 -3
- package/build/src/events/amf/DocumentationEvents.d.ts.map +1 -1
- package/build/src/events/amf/DocumentationEvents.js.map +1 -1
- package/build/src/events/amf/EndpointEvents.d.ts +4 -4
- package/build/src/events/amf/EndpointEvents.d.ts.map +1 -1
- package/build/src/events/amf/EndpointEvents.js.map +1 -1
- package/build/src/events/amf/Events.d.ts +17 -17
- package/build/src/events/amf/OperationEvents.d.ts +3 -3
- package/build/src/events/amf/OperationEvents.d.ts.map +1 -1
- package/build/src/events/amf/OperationEvents.js.map +1 -1
- package/build/src/events/amf/PayloadEvents.d.ts +2 -2
- package/build/src/events/amf/PayloadEvents.d.ts.map +1 -1
- package/build/src/events/amf/PayloadEvents.js.map +1 -1
- package/build/src/events/amf/RequestEvents.d.ts +2 -2
- package/build/src/events/amf/RequestEvents.d.ts.map +1 -1
- package/build/src/events/amf/RequestEvents.js.map +1 -1
- package/build/src/events/amf/ResponseEvents.d.ts +2 -2
- package/build/src/events/amf/ResponseEvents.d.ts.map +1 -1
- package/build/src/events/amf/ResponseEvents.js.map +1 -1
- package/build/src/events/amf/SecurityEvents.d.ts +4 -4
- package/build/src/events/amf/SecurityEvents.d.ts.map +1 -1
- package/build/src/events/amf/SecurityEvents.js.map +1 -1
- package/build/src/events/amf/ServerEvents.d.ts +4 -3
- package/build/src/events/amf/ServerEvents.d.ts.map +1 -1
- package/build/src/events/amf/ServerEvents.js.map +1 -1
- package/build/src/events/amf/TypeEvents.d.ts +4 -3
- package/build/src/events/amf/TypeEvents.d.ts.map +1 -1
- package/build/src/events/amf/TypeEvents.js.map +1 -1
- package/build/src/index.d.ts +1 -1
- package/build/src/index.d.ts.map +1 -1
- package/build/src/index.js +1 -1
- package/build/src/index.js.map +1 -1
- package/build/src/lib/UserCache.d.ts +1 -1
- package/build/src/lib/UserCache.d.ts.map +1 -1
- package/build/src/lib/UserCache.js.map +1 -1
- package/build/src/lib/http/Har.d.ts +1 -1
- package/build/src/lib/http/Har.d.ts.map +1 -1
- package/build/src/lib/http/Har.js.map +1 -1
- package/build/src/lib/http/HeadersArray.js +1 -1
- package/build/src/lib/http/HeadersArray.js.map +1 -1
- package/build/src/lib/http/Payload.d.ts +1 -1
- package/build/src/lib/http/Payload.d.ts.map +1 -1
- package/build/src/lib/http/Payload.js.map +1 -1
- package/build/src/lib/http/Url.d.ts +1 -1
- package/build/src/lib/http/Url.d.ts.map +1 -1
- package/build/src/lib/http/Url.js.map +1 -1
- package/build/src/md/chip/internals/Chip.d.ts.map +1 -1
- package/build/src/md/chip/internals/Chip.js +3 -3
- package/build/src/md/chip/internals/Chip.js.map +1 -1
- package/build/src/md/dialog/internals/Dialog.styles.d.ts.map +1 -1
- package/build/src/md/dialog/internals/Dialog.styles.js +5 -0
- package/build/src/md/dialog/internals/Dialog.styles.js.map +1 -1
- package/build/src/md/dropdown-list/internals/UiDropdownList.d.ts.map +1 -1
- package/build/src/md/dropdown-list/internals/UiDropdownList.js +3 -3
- package/build/src/md/dropdown-list/internals/UiDropdownList.js.map +1 -1
- package/build/src/md/listbox/internals/Listbox.js +2 -2
- package/build/src/md/listbox/internals/Listbox.js.map +1 -1
- package/build/src/md/snackbar/internals/Snackbar.d.ts.map +1 -1
- package/build/src/md/snackbar/internals/Snackbar.js +3 -5
- package/build/src/md/snackbar/internals/Snackbar.js.map +1 -1
- package/build/src/mixins/FileDropMixin.d.ts +1 -0
- package/build/src/mixins/FileDropMixin.d.ts.map +1 -1
- package/build/src/mixins/FileDropMixin.js +24 -12
- package/build/src/mixins/FileDropMixin.js.map +1 -1
- package/build/src/{core → reactive}/LiveData.d.ts +1 -1
- package/build/src/reactive/LiveData.d.ts.map +1 -0
- package/build/src/{core → reactive}/LiveData.js +1 -1
- package/build/src/reactive/LiveData.js.map +1 -0
- package/build/src/reactive/reactive.d.ts.map +1 -0
- package/build/src/reactive/reactive.js.map +1 -0
- package/build/src/visualization/plugin/positioning/DataModelLayout.d.ts +2 -2
- package/build/src/visualization/plugin/positioning/DataModelLayout.d.ts.map +1 -1
- package/build/src/visualization/plugin/positioning/DataModelLayout.js +1 -2
- package/build/src/visualization/plugin/positioning/DataModelLayout.js.map +1 -1
- package/build/src/visualization/plugin/positioning/WorkspaceLayout.d.ts +2 -2
- package/build/src/visualization/plugin/positioning/WorkspaceLayout.d.ts.map +1 -1
- package/build/src/visualization/plugin/positioning/WorkspaceLayout.js +1 -1
- package/build/src/visualization/plugin/positioning/WorkspaceLayout.js.map +1 -1
- package/demo/amf/api-annotation.ts +4 -3
- package/demo/amf/api-channel.ts +1 -1
- package/demo/amf/api-console.ts +21 -22
- package/demo/amf/api-documentation-document.ts +1 -1
- package/demo/amf/api-documentation.ts +3 -2
- package/demo/amf/api-navigation.ts +5 -3
- package/demo/amf/api-operation.ts +3 -2
- package/demo/amf/api-payload.ts +13 -11
- package/demo/amf/api-request.ts +4 -3
- package/demo/amf/api-resource.ts +3 -2
- package/demo/amf/api-schema-documentation.ts +13 -10
- package/demo/amf/api-security-documentation.ts +3 -2
- package/demo/amf/api-server-picker.ts +4 -2
- package/demo/amf/api-summary.ts +1 -1
- package/demo/amf/bare-components.ts +3 -3
- package/demo/amf/lib/AmfDemoPage.ts +15 -10
- package/demo/amf/oauth-authorize.ts +3 -3
- package/demo/amf/request-editor.ts +3 -3
- package/demo/elements/authorization/api-key.ts +1 -1
- package/demo/elements/authorization/basic.ts +1 -1
- package/demo/elements/authorization/bearer.ts +1 -1
- package/demo/elements/authorization/ntlm.ts +1 -1
- package/demo/elements/authorization/oauth-authorize.ts +3 -3
- package/demo/elements/authorization/oauth2.ts +2 -1
- package/demo/elements/authorization/oidc.ts +2 -1
- package/demo/elements/environment/environment-editor.ts +1 -1
- package/demo/elements/environment/server-editor.ts +1 -1
- package/demo/elements/environment/variables-editor.ts +1 -1
- package/demo/elements/har/har-viewer.ts +1 -1
- package/demo/elements/highlight/marked-highlight.ts +1 -1
- package/demo/elements/http/body-editor.ts +1 -1
- package/demo/elements/http/headers.ts +1 -1
- package/demo/elements/http/http-assertions.ts +2 -2
- package/demo/elements/http/http-flows.ts +2 -2
- package/demo/elements/http/request-editor.ts +4 -10
- package/demo/elements/http/request-log.ts +4 -1
- package/demo/elements/http/url-editing.ts +1 -1
- package/demo/elements/md/list/list.ts +1 -1
- package/demo/elements/project/project-run-report.ts +3 -7
- package/demo/elements/project/request-editor.ts +8 -11
- package/demo/index.html +0 -3
- package/demo/layout/index.ts +2 -2
- package/demo/lib/DemoBindings.ts +1 -1
- package/demo/lib/amf/AmfPartialGraphStore.ts +39 -35
- package/demo/lib/amf/AmfPartialModel.ts +52 -52
- package/dev/amf-server/AmfService.js +2 -2
- package/license.md +15 -0
- package/package.json +48 -42
- package/src/amf/lib/AmfInputParser.ts +19 -11
- package/src/amf/lib/AmfParameters.ts +42 -45
- package/src/amf/lib/AmfSecurity.ts +3 -3
- package/src/amf/lib/Oauth2RamlCustomData.ts +44 -40
- package/src/amf/lib/PayloadUtils.ts +8 -10
- package/src/amf/lib/QueryParameterProcessor.ts +24 -23
- package/src/amf/lib/Utils.ts +23 -13
- package/src/amf/store/AmfGraphStore.ts +4 -3
- package/src/amf/store/AmfStore.ts +32 -24
- package/src/amf/store/InMemAmfGraphStore.ts +40 -36
- package/src/amf/types.ts +16 -12
- package/src/bindings/base/ConfigurationBindings.ts +1 -1
- package/src/bindings/base/IoThread.ts +1 -1
- package/src/bindings/base/PlatformBindings.ts +1 -1
- package/src/bindings/web/WebConfigurationBindings.ts +1 -1
- package/src/code-snippets/Bash/CurlSnippet.ts +2 -1
- package/src/code-snippets/C/CcurlSnippet.ts +2 -1
- package/src/code-snippets/CodeSnippet.ts +3 -1
- package/src/code-snippets/Dart/DartSnippet.ts +2 -1
- package/src/code-snippets/HTTP/RawSnippet.ts +2 -1
- package/src/code-snippets/Java/PlatformSnippet.ts +2 -1
- package/src/code-snippets/Java/SpringSnippet.ts +2 -1
- package/src/code-snippets/JavaScript/AsyncFetchSnippet.ts +2 -1
- package/src/code-snippets/JavaScript/AxiosSnippet.ts +2 -1
- package/src/code-snippets/JavaScript/FetchSnippet.ts +2 -1
- package/src/code-snippets/JavaScript/NodeSnippet.ts +2 -1
- package/src/code-snippets/JavaScript/XhrSnippet.ts +2 -1
- package/src/code-snippets/JavaScript/jQuerySnippet.ts +2 -1
- package/src/code-snippets/Python/Python27Snippet.ts +2 -1
- package/src/code-snippets/Python/Python31Snippet.ts +2 -1
- package/src/code-snippets/Python/RequestsSnippet.ts +2 -1
- package/src/controllers/LiveDataController.ts +1 -1
- package/src/core/Activity.ts +38 -1
- package/src/core/ActivityManager.ts +24 -1
- package/src/core/Fragment.ts +12 -0
- package/src/core/FragmentManager.ts +1 -1
- package/src/core/ModalActivity.ts +1 -1
- package/src/directives/live.ts +1 -1
- package/src/elements/amf/ApiAnnotationDocument.element.ts +9 -7
- package/src/elements/amf/ApiAuthorizationEditor.element.ts +21 -19
- package/src/elements/amf/ApiChannelDocument.element.ts +2 -5
- package/src/elements/amf/ApiDocumentation.element.ts +4 -3
- package/src/elements/amf/ApiDocumentationBase.ts +7 -4
- package/src/elements/amf/ApiDocumentationDocument.element.ts +4 -4
- package/src/elements/amf/ApiNavigation.element.ts +18 -12
- package/src/elements/amf/ApiOperationDocument.element.ts +45 -39
- package/src/elements/amf/ApiParameterDocument.element.ts +5 -4
- package/src/elements/amf/ApiParametrizedSecurityScheme.element.ts +15 -10
- package/src/elements/amf/ApiPayloadDocument.element.ts +6 -6
- package/src/elements/amf/ApiRequest.element.ts +2 -1
- package/src/elements/amf/ApiRequestDocument.element.ts +22 -19
- package/src/elements/amf/ApiRequestEditor.element.ts +34 -32
- package/src/elements/amf/ApiResourceDocument.element.ts +18 -17
- package/src/elements/amf/ApiResponseDocument.element.ts +14 -9
- package/src/elements/amf/ApiSchemaDocument.element.ts +55 -41
- package/src/elements/amf/ApiSecurityDocument.element.ts +35 -25
- package/src/elements/amf/ApiSecurityRequirementDocument.element.ts +4 -4
- package/src/elements/amf/ApiServerPicker.element.ts +6 -5
- package/src/elements/amf/ApiSummary.element.ts +21 -17
- package/src/elements/amf/SchemaCommonTemplates.ts +28 -17
- package/src/elements/amf/authorization/AmfApiKey.ts +15 -11
- package/src/elements/amf/authorization/AmfBasic.ts +6 -6
- package/src/elements/amf/authorization/AmfBearer.ts +6 -6
- package/src/elements/amf/authorization/AmfOauth2.ts +57 -47
- package/src/elements/amf/authorization/AmfOidc.ts +10 -7
- package/src/elements/amf/authorization/AmfPassThrough.ts +12 -12
- package/src/elements/amf/authorization/AmfRamlCustom.ts +14 -14
- package/src/elements/authorization/OAuth2Authorize.ts +5 -8
- package/src/elements/authorization/OidcAuthorize.ts +5 -9
- package/src/elements/authorization/ui/ApiKeyAuthorization.ts +1 -1
- package/src/elements/authorization/ui/Authorization.ts +1 -1
- package/src/elements/authorization/ui/BasicAuthorization.ts +1 -1
- package/src/elements/authorization/ui/BearerAuthorization.ts +1 -1
- package/src/elements/authorization/ui/CcAuthorization.ts +5 -8
- package/src/elements/authorization/ui/NtlmAuthorization.ts +1 -1
- package/src/elements/authorization/ui/OAuth2Authorization.ts +9 -10
- package/src/elements/authorization/ui/OidcAuthorization.ts +7 -7
- package/src/elements/code/HttpSnippets.ts +1 -1
- package/src/elements/data-table/{internals/DataTable.ts → DataTable.ts} +2 -2
- package/src/elements/dialog/internals/DeleteCookieAction.element.ts +4 -1
- package/src/elements/dialog/internals/SetCookieAction.element.ts +2 -1
- package/src/elements/environment/EnvironmentEditor.ts +5 -10
- package/src/elements/environment/ServerEditor.ts +2 -1
- package/src/elements/environment/VariablesEditor.ts +1 -1
- package/src/elements/file-system/internals/Breadcrumbs.ts +3 -2
- package/src/elements/har/HarViewer.ts +1 -1
- package/src/elements/http/BodyEditor.ts +5 -7
- package/src/elements/http/BodyMultipartEditor.ts +7 -7
- package/src/elements/http/BodyUrlEncodedEditor.ts +1 -1
- package/src/elements/http/CertificateAdd.element.ts +2 -1
- package/src/elements/http/HeadersForm.ts +6 -3
- package/src/elements/http/HttpAssertions.element.ts +2 -1
- package/src/elements/http/HttpFlows.element.ts +2 -1
- package/src/elements/http/HttpFlowsUi.ts +8 -8
- package/src/elements/http/LogBody.ts +6 -1
- package/src/elements/http/LogHeaders.ts +6 -9
- package/src/elements/http/LogTimings.ts +1 -1
- package/src/elements/http/RequestConfigElement.ts +1 -1
- package/src/elements/http/RequestEditor.ts +11 -18
- package/src/elements/http/RequestLog.ts +8 -11
- package/src/elements/http/UrlEncodeUtils.ts +1 -1
- package/src/elements/http/UrlInput.ts +1 -1
- package/src/elements/http/UrlParamsForm.ts +2 -1
- package/src/elements/layout/SplitPanel.ts +3 -3
- package/src/elements/navigation/internals/AppNavigation.styles.ts +1 -0
- package/src/elements/navigation/internals/AppNavigationElement.ts +2 -7
- package/src/elements/project/HttpHistoryChart.ts +3 -1
- package/src/elements/project/HttpProjectRequest.ts +21 -28
- package/src/elements/project/HttpProjectRequestHistory.ts +5 -8
- package/src/elements/project/ProjectNavigation.ts +5 -9
- package/src/elements/project/ProjectRunReport.ts +5 -7
- package/src/elements/project/ProjectRunner.ts +9 -12
- package/src/elements/project/ProjectRunnerNavigationElement.ts +3 -1
- package/src/elements/user/internals/UserAvatar.ts +1 -1
- package/src/events/BroadcastUiEvents.ts +2 -6
- package/src/events/ConfigEvents.ts +1 -1
- package/src/events/HttpClientEvents.ts +3 -7
- package/src/events/HttpProjectEvents.ts +5 -5
- package/src/events/IntentEvents.ts +1 -1
- package/src/events/StoreEvents.ts +10 -16
- package/src/events/amf/ApiEvents.ts +3 -3
- package/src/events/amf/DocumentationEvents.ts +5 -5
- package/src/events/amf/EndpointEvents.ts +7 -7
- package/src/events/amf/OperationEvents.ts +5 -5
- package/src/events/amf/PayloadEvents.ts +3 -3
- package/src/events/amf/RequestEvents.ts +3 -3
- package/src/events/amf/ResponseEvents.ts +3 -3
- package/src/events/amf/SecurityEvents.ts +11 -7
- package/src/events/amf/ServerEvents.ts +5 -4
- package/src/events/amf/TypeEvents.ts +6 -5
- package/src/index.ts +1 -1
- package/src/lib/UserCache.ts +1 -1
- package/src/lib/http/Har.ts +1 -1
- package/src/lib/http/HeadersArray.ts +1 -1
- package/src/lib/http/Payload.ts +1 -1
- package/src/lib/http/Url.ts +1 -1
- package/src/md/chip/internals/Chip.ts +3 -3
- package/src/md/dialog/internals/Dialog.styles.ts +5 -0
- package/src/md/dropdown-list/internals/UiDropdownList.ts +3 -3
- package/src/md/listbox/internals/Listbox.ts +2 -2
- package/src/md/snackbar/internals/Snackbar.ts +3 -5
- package/src/mixins/FileDropMixin.ts +28 -11
- package/src/{core → reactive}/LiveData.ts +1 -1
- package/src/visualization/plugin/positioning/DataModelLayout.ts +3 -2
- package/src/visualization/plugin/positioning/WorkspaceLayout.ts +3 -3
- package/test/core/live_data.spec.ts +1 -1
- package/test/elements/data-table/DataTable.browser.test.ts +2 -2
- package/test/elements/http/CertificateAdd.test.ts +5 -1
- package/test/elements/layout/SplitPanel.test.ts +1 -1
- package/web-test-runner.config.js +1 -1
- package/build/src/apps/activities/ApiActivity.d.ts +0 -21
- package/build/src/apps/activities/ApiActivity.d.ts.map +0 -1
- package/build/src/apps/activities/ApiActivity.js +0 -23
- package/build/src/apps/activities/ApiActivity.js.map +0 -1
- package/build/src/apps/activities/AppStartActivity.d.ts +0 -61
- package/build/src/apps/activities/AppStartActivity.d.ts.map +0 -1
- package/build/src/apps/activities/AppStartActivity.js +0 -100
- package/build/src/apps/activities/AppStartActivity.js.map +0 -1
- package/build/src/apps/activities/BrowseDataDomainActivity.d.ts +0 -375
- package/build/src/apps/activities/BrowseDataDomainActivity.d.ts.map +0 -1
- package/build/src/apps/activities/BrowseDataDomainActivity.js +0 -943
- package/build/src/apps/activities/BrowseDataDomainActivity.js.map +0 -1
- package/build/src/apps/activities/CreateFolderDialogActivity.d.ts +0 -30
- package/build/src/apps/activities/CreateFolderDialogActivity.d.ts.map +0 -1
- package/build/src/apps/activities/CreateFolderDialogActivity.js +0 -135
- package/build/src/apps/activities/CreateFolderDialogActivity.js.map +0 -1
- package/build/src/apps/activities/DeleteDataDomainActivity.d.ts +0 -47
- package/build/src/apps/activities/DeleteDataDomainActivity.d.ts.map +0 -1
- package/build/src/apps/activities/DeleteDataDomainActivity.js +0 -162
- package/build/src/apps/activities/DeleteDataDomainActivity.js.map +0 -1
- package/build/src/apps/activities/LoadingActivity.d.ts +0 -26
- package/build/src/apps/activities/LoadingActivity.d.ts.map +0 -1
- package/build/src/apps/activities/LoadingActivity.js +0 -67
- package/build/src/apps/activities/LoadingActivity.js.map +0 -1
- package/build/src/apps/activities/LoginActivity.d.ts +0 -26
- package/build/src/apps/activities/LoginActivity.d.ts.map +0 -1
- package/build/src/apps/activities/LoginActivity.js +0 -186
- package/build/src/apps/activities/LoginActivity.js.map +0 -1
- package/build/src/apps/activities/OrganizationSelectionActivity.d.ts +0 -35
- package/build/src/apps/activities/OrganizationSelectionActivity.d.ts.map +0 -1
- package/build/src/apps/activities/OrganizationSelectionActivity.js +0 -107
- package/build/src/apps/activities/OrganizationSelectionActivity.js.map +0 -1
- package/build/src/apps/activities/OrganizationSetupActivity.d.ts +0 -40
- package/build/src/apps/activities/OrganizationSetupActivity.d.ts.map +0 -1
- package/build/src/apps/activities/OrganizationSetupActivity.js +0 -171
- package/build/src/apps/activities/OrganizationSetupActivity.js.map +0 -1
- package/build/src/apps/activities/RenameFileDialogActivity.d.ts +0 -32
- package/build/src/apps/activities/RenameFileDialogActivity.d.ts.map +0 -1
- package/build/src/apps/activities/RenameFileDialogActivity.js +0 -168
- package/build/src/apps/activities/RenameFileDialogActivity.js.map +0 -1
- package/build/src/apps/activities/styles/BrowseDataDomain.styles.d.ts +0 -3
- package/build/src/apps/activities/styles/BrowseDataDomain.styles.d.ts.map +0 -1
- package/build/src/apps/activities/styles/BrowseDataDomain.styles.js +0 -28
- package/build/src/apps/activities/styles/BrowseDataDomain.styles.js.map +0 -1
- package/build/src/apps/activities/styles/DeleteDataDomain.styles.d.ts +0 -3
- package/build/src/apps/activities/styles/DeleteDataDomain.styles.d.ts.map +0 -1
- package/build/src/apps/activities/styles/DeleteDataDomain.styles.js +0 -26
- package/build/src/apps/activities/styles/DeleteDataDomain.styles.js.map +0 -1
- package/build/src/apps/activities/styles/login.d.ts +0 -3
- package/build/src/apps/activities/styles/login.d.ts.map +0 -1
- package/build/src/apps/activities/styles/login.js +0 -66
- package/build/src/apps/activities/styles/login.js.map +0 -1
- package/build/src/apps/api_service.d.ts +0 -18
- package/build/src/apps/api_service.d.ts.map +0 -1
- package/build/src/apps/api_service.js +0 -4
- package/build/src/apps/api_service.js.map +0 -1
- package/build/src/apps/fragments/loading.d.ts +0 -21
- package/build/src/apps/fragments/loading.d.ts.map +0 -1
- package/build/src/apps/fragments/loading.js +0 -63
- package/build/src/apps/fragments/loading.js.map +0 -1
- package/build/src/apps/quick-api/Intents.d.ts +0 -12
- package/build/src/apps/quick-api/Intents.d.ts.map +0 -1
- package/build/src/apps/quick-api/Intents.js +0 -12
- package/build/src/apps/quick-api/Intents.js.map +0 -1
- package/build/src/apps/quick-api/QuickApiApp.d.ts +0 -10
- package/build/src/apps/quick-api/QuickApiApp.d.ts.map +0 -1
- package/build/src/apps/quick-api/QuickApiApp.js +0 -61
- package/build/src/apps/quick-api/QuickApiApp.js.map +0 -1
- package/build/src/apps/quick-api/Schema.styles.d.ts +0 -3
- package/build/src/apps/quick-api/Schema.styles.d.ts.map +0 -1
- package/build/src/apps/quick-api/Schema.styles.js +0 -95
- package/build/src/apps/quick-api/Schema.styles.js.map +0 -1
- package/build/src/apps/quick-api/SchemaEditorApp.d.ts +0 -9
- package/build/src/apps/quick-api/SchemaEditorApp.d.ts.map +0 -1
- package/build/src/apps/quick-api/SchemaEditorApp.js +0 -60
- package/build/src/apps/quick-api/SchemaEditorApp.js.map +0 -1
- package/build/src/apps/quick-api/SchemaScreenActivity.d.ts +0 -49
- package/build/src/apps/quick-api/SchemaScreenActivity.d.ts.map +0 -1
- package/build/src/apps/quick-api/SchemaScreenActivity.js +0 -285
- package/build/src/apps/quick-api/SchemaScreenActivity.js.map +0 -1
- package/build/src/apps/quick-api/SchemaScreenViewModel.d.ts +0 -43
- package/build/src/apps/quick-api/SchemaScreenViewModel.d.ts.map +0 -1
- package/build/src/apps/quick-api/SchemaScreenViewModel.js +0 -40
- package/build/src/apps/quick-api/SchemaScreenViewModel.js.map +0 -1
- package/build/src/apps/quick-api/Start.styles.d.ts +0 -3
- package/build/src/apps/quick-api/Start.styles.d.ts.map +0 -1
- package/build/src/apps/quick-api/Start.styles.js +0 -125
- package/build/src/apps/quick-api/Start.styles.js.map +0 -1
- package/build/src/apps/quick-api/StartScreenActivity.d.ts +0 -46
- package/build/src/apps/quick-api/StartScreenActivity.d.ts.map +0 -1
- package/build/src/apps/quick-api/StartScreenActivity.js +0 -70
- package/build/src/apps/quick-api/StartScreenActivity.js.map +0 -1
- package/build/src/apps/quick-api/filesystem/Files.styles.d.ts +0 -3
- package/build/src/apps/quick-api/filesystem/Files.styles.d.ts.map +0 -1
- package/build/src/apps/quick-api/filesystem/Files.styles.js +0 -72
- package/build/src/apps/quick-api/filesystem/Files.styles.js.map +0 -1
- package/build/src/apps/quick-api/filesystem/FilesLib.d.ts +0 -10
- package/build/src/apps/quick-api/filesystem/FilesLib.d.ts.map +0 -1
- package/build/src/apps/quick-api/filesystem/FilesLib.js +0 -41
- package/build/src/apps/quick-api/filesystem/FilesLib.js.map +0 -1
- package/build/src/apps/quick-api/fragments/FilesystemFragment.d.ts +0 -92
- package/build/src/apps/quick-api/fragments/FilesystemFragment.d.ts.map +0 -1
- package/build/src/apps/quick-api/fragments/FilesystemFragment.js +0 -400
- package/build/src/apps/quick-api/fragments/FilesystemFragment.js.map +0 -1
- package/build/src/apps/quick-api/fragments/HeaderFragment.d.ts +0 -23
- package/build/src/apps/quick-api/fragments/HeaderFragment.d.ts.map +0 -1
- package/build/src/apps/quick-api/fragments/HeaderFragment.js +0 -64
- package/build/src/apps/quick-api/fragments/HeaderFragment.js.map +0 -1
- package/build/src/apps/quick-api/fragments/MainFragment.d.ts +0 -17
- package/build/src/apps/quick-api/fragments/MainFragment.d.ts.map +0 -1
- package/build/src/apps/quick-api/fragments/MainFragment.js +0 -39
- package/build/src/apps/quick-api/fragments/MainFragment.js.map +0 -1
- package/build/src/apps/quick-api/fragments/NavigationFragment.d.ts +0 -19
- package/build/src/apps/quick-api/fragments/NavigationFragment.d.ts.map +0 -1
- package/build/src/apps/quick-api/fragments/NavigationFragment.js +0 -158
- package/build/src/apps/quick-api/fragments/NavigationFragment.js.map +0 -1
- package/build/src/apps/quick-api/fragments/SchemaEditorEmptyState.fragment.d.ts +0 -9
- package/build/src/apps/quick-api/fragments/SchemaEditorEmptyState.fragment.d.ts.map +0 -1
- package/build/src/apps/quick-api/fragments/SchemaEditorEmptyState.fragment.js +0 -11
- package/build/src/apps/quick-api/fragments/SchemaEditorEmptyState.fragment.js.map +0 -1
- package/build/src/apps/quick-api/fragments/SchemaEditorHost.d.ts +0 -56
- package/build/src/apps/quick-api/fragments/SchemaEditorHost.d.ts.map +0 -1
- package/build/src/apps/quick-api/fragments/SchemaEditorHost.js +0 -241
- package/build/src/apps/quick-api/fragments/SchemaEditorHost.js.map +0 -1
- package/build/src/apps/quick-api/fragments/SchemaEditorHost.styles.d.ts +0 -3
- package/build/src/apps/quick-api/fragments/SchemaEditorHost.styles.d.ts.map +0 -1
- package/build/src/apps/quick-api/fragments/SchemaEditorHost.styles.js +0 -22
- package/build/src/apps/quick-api/fragments/SchemaEditorHost.styles.js.map +0 -1
- package/build/src/apps/quick-api/fragments/SchemaHeaderFragment.d.ts +0 -20
- package/build/src/apps/quick-api/fragments/SchemaHeaderFragment.d.ts.map +0 -1
- package/build/src/apps/quick-api/fragments/SchemaHeaderFragment.js +0 -106
- package/build/src/apps/quick-api/fragments/SchemaHeaderFragment.js.map +0 -1
- package/build/src/apps/quick-api/fragments/SchemaNavigation.styles.d.ts +0 -3
- package/build/src/apps/quick-api/fragments/SchemaNavigation.styles.d.ts.map +0 -1
- package/build/src/apps/quick-api/fragments/SchemaNavigation.styles.js +0 -16
- package/build/src/apps/quick-api/fragments/SchemaNavigation.styles.js.map +0 -1
- package/build/src/apps/quick-api/fragments/SchemaNavigationFragment.d.ts +0 -45
- package/build/src/apps/quick-api/fragments/SchemaNavigationFragment.d.ts.map +0 -1
- package/build/src/apps/quick-api/fragments/SchemaNavigationFragment.js +0 -282
- package/build/src/apps/quick-api/fragments/SchemaNavigationFragment.js.map +0 -1
- package/build/src/apps/quick-api/fragments/TrashFragment.d.ts +0 -40
- package/build/src/apps/quick-api/fragments/TrashFragment.d.ts.map +0 -1
- package/build/src/apps/quick-api/fragments/TrashFragment.js +0 -179
- package/build/src/apps/quick-api/fragments/TrashFragment.js.map +0 -1
- package/build/src/apps/quick-api/lib/SchemaContextualMenu.d.ts +0 -6
- package/build/src/apps/quick-api/lib/SchemaContextualMenu.d.ts.map +0 -1
- package/build/src/apps/quick-api/lib/SchemaContextualMenu.js +0 -61
- package/build/src/apps/quick-api/lib/SchemaContextualMenu.js.map +0 -1
- package/build/src/apps/quick-api/lib/UiLib.d.ts +0 -8
- package/build/src/apps/quick-api/lib/UiLib.d.ts.map +0 -1
- package/build/src/apps/quick-api/lib/UiLib.js +0 -16
- package/build/src/apps/quick-api/lib/UiLib.js.map +0 -1
- package/build/src/apps/services/ConfigurationService.d.ts +0 -12
- package/build/src/apps/services/ConfigurationService.d.ts.map +0 -1
- package/build/src/apps/services/ConfigurationService.js +0 -23
- package/build/src/apps/services/ConfigurationService.js.map +0 -1
- package/build/src/apps/services/LoggingService.d.ts +0 -17
- package/build/src/apps/services/LoggingService.d.ts.map +0 -1
- package/build/src/apps/services/LoggingService.js +0 -37
- package/build/src/apps/services/LoggingService.js.map +0 -1
- package/build/src/apps/services/OrganizationService.d.ts +0 -54
- package/build/src/apps/services/OrganizationService.d.ts.map +0 -1
- package/build/src/apps/services/OrganizationService.js +0 -133
- package/build/src/apps/services/OrganizationService.js.map +0 -1
- package/build/src/apps/services/SdkService.d.ts +0 -17
- package/build/src/apps/services/SdkService.d.ts.map +0 -1
- package/build/src/apps/services/SdkService.js +0 -36
- package/build/src/apps/services/SdkService.js.map +0 -1
- package/build/src/apps/services/TransmitService.d.ts +0 -10
- package/build/src/apps/services/TransmitService.d.ts.map +0 -1
- package/build/src/apps/services/TransmitService.js +0 -17
- package/build/src/apps/services/TransmitService.js.map +0 -1
- package/build/src/apps/services/UserService.d.ts +0 -23
- package/build/src/apps/services/UserService.d.ts.map +0 -1
- package/build/src/apps/services/UserService.js +0 -62
- package/build/src/apps/services/UserService.js.map +0 -1
- package/build/src/apps/transmit_client.d.ts +0 -3
- package/build/src/apps/transmit_client.d.ts.map +0 -1
- package/build/src/apps/transmit_client.js +0 -5
- package/build/src/apps/transmit_client.js.map +0 -1
- package/build/src/apps/types.d.ts +0 -11
- package/build/src/apps/types.d.ts.map +0 -1
- package/build/src/apps/types.js +0 -2
- package/build/src/apps/types.js.map +0 -1
- package/build/src/boot.d.ts +0 -3
- package/build/src/boot.d.ts.map +0 -1
- package/build/src/boot.js +0 -17
- package/build/src/boot.js.map +0 -1
- package/build/src/builders/DialogBuilder.d.ts +0 -131
- package/build/src/builders/DialogBuilder.d.ts.map +0 -1
- package/build/src/builders/DialogBuilder.js +0 -227
- package/build/src/builders/DialogBuilder.js.map +0 -1
- package/build/src/core/LiveData.d.ts.map +0 -1
- package/build/src/core/LiveData.js.map +0 -1
- package/build/src/core/container.d.ts +0 -14
- package/build/src/core/container.d.ts.map +0 -1
- package/build/src/core/container.js +0 -4
- package/build/src/core/container.js.map +0 -1
- package/build/src/core/reactive/reactive.d.ts.map +0 -1
- package/build/src/core/reactive/reactive.js.map +0 -1
- package/build/src/data/BreadcrumbsModel.d.ts +0 -36
- package/build/src/data/BreadcrumbsModel.d.ts.map +0 -1
- package/build/src/data/BreadcrumbsModel.js +0 -65
- package/build/src/data/BreadcrumbsModel.js.map +0 -1
- package/build/src/data/FileModel.d.ts +0 -35
- package/build/src/data/FileModel.d.ts.map +0 -1
- package/build/src/data/FileModel.js +0 -54
- package/build/src/data/FileModel.js.map +0 -1
- package/build/src/data/FilesModel.d.ts +0 -71
- package/build/src/data/FilesModel.d.ts.map +0 -1
- package/build/src/data/FilesModel.js +0 -166
- package/build/src/data/FilesModel.js.map +0 -1
- package/build/src/data/PatchableFileModel.d.ts +0 -141
- package/build/src/data/PatchableFileModel.d.ts.map +0 -1
- package/build/src/data/PatchableFileModel.js +0 -212
- package/build/src/data/PatchableFileModel.js.map +0 -1
- package/build/src/data/PatchableLiveDataContentModel.d.ts +0 -13
- package/build/src/data/PatchableLiveDataContentModel.d.ts.map +0 -1
- package/build/src/data/PatchableLiveDataContentModel.js +0 -18
- package/build/src/data/PatchableLiveDataContentModel.js.map +0 -1
- package/build/src/data/PatchableRawContentModel.d.ts +0 -14
- package/build/src/data/PatchableRawContentModel.d.ts.map +0 -1
- package/build/src/data/PatchableRawContentModel.js +0 -32
- package/build/src/data/PatchableRawContentModel.js.map +0 -1
- package/build/src/data/TrashModel.d.ts +0 -50
- package/build/src/data/TrashModel.d.ts.map +0 -1
- package/build/src/data/TrashModel.js +0 -102
- package/build/src/data/TrashModel.js.map +0 -1
- package/build/src/elements/data-table/filesystem-table.d.ts +0 -11
- package/build/src/elements/data-table/filesystem-table.d.ts.map +0 -1
- package/build/src/elements/data-table/filesystem-table.js +0 -28
- package/build/src/elements/data-table/filesystem-table.js.map +0 -1
- package/build/src/elements/data-table/internals/DataTable.d.ts.map +0 -1
- package/build/src/elements/data-table/internals/DataTable.js.map +0 -1
- package/build/src/elements/data-table/internals/DataTable.styles.d.ts.map +0 -1
- package/build/src/elements/data-table/internals/DataTable.styles.js.map +0 -1
- package/build/src/elements/data-table/internals/Filesystem.styles.d.ts +0 -3
- package/build/src/elements/data-table/internals/Filesystem.styles.d.ts.map +0 -1
- package/build/src/elements/data-table/internals/Filesystem.styles.js +0 -17
- package/build/src/elements/data-table/internals/Filesystem.styles.js.map +0 -1
- package/build/src/elements/data-table/internals/FilesystemDataTable.d.ts +0 -35
- package/build/src/elements/data-table/internals/FilesystemDataTable.d.ts.map +0 -1
- package/build/src/elements/data-table/internals/FilesystemDataTable.js +0 -237
- package/build/src/elements/data-table/internals/FilesystemDataTable.js.map +0 -1
- package/build/src/elements/data-table/internals/TrashDataTable.d.ts +0 -34
- package/build/src/elements/data-table/internals/TrashDataTable.d.ts.map +0 -1
- package/build/src/elements/data-table/internals/TrashDataTable.js +0 -173
- package/build/src/elements/data-table/internals/TrashDataTable.js.map +0 -1
- package/build/src/elements/data-table/trash-table.d.ts +0 -11
- package/build/src/elements/data-table/trash-table.d.ts.map +0 -1
- package/build/src/elements/data-table/trash-table.js +0 -28
- package/build/src/elements/data-table/trash-table.js.map +0 -1
- package/build/src/elements/modeling/domain-association-editor.d.ts +0 -10
- package/build/src/elements/modeling/domain-association-editor.d.ts.map +0 -1
- package/build/src/elements/modeling/domain-association-editor.js +0 -28
- package/build/src/elements/modeling/domain-association-editor.js.map +0 -1
- package/build/src/elements/modeling/domain-entity-editor.d.ts +0 -10
- package/build/src/elements/modeling/domain-entity-editor.d.ts.map +0 -1
- package/build/src/elements/modeling/domain-entity-editor.js +0 -30
- package/build/src/elements/modeling/domain-entity-editor.js.map +0 -1
- package/build/src/elements/modeling/domain-model-editor.d.ts +0 -10
- package/build/src/elements/modeling/domain-model-editor.d.ts.map +0 -1
- package/build/src/elements/modeling/domain-model-editor.js +0 -30
- package/build/src/elements/modeling/domain-model-editor.js.map +0 -1
- package/build/src/elements/modeling/domain-namespace-editor.d.ts +0 -10
- package/build/src/elements/modeling/domain-namespace-editor.d.ts.map +0 -1
- package/build/src/elements/modeling/domain-namespace-editor.js +0 -30
- package/build/src/elements/modeling/domain-namespace-editor.js.map +0 -1
- package/build/src/elements/modeling/domain-navigation.d.ts +0 -10
- package/build/src/elements/modeling/domain-navigation.d.ts.map +0 -1
- package/build/src/elements/modeling/domain-navigation.js +0 -28
- package/build/src/elements/modeling/domain-navigation.js.map +0 -1
- package/build/src/elements/modeling/domain-property-editor.d.ts +0 -10
- package/build/src/elements/modeling/domain-property-editor.d.ts.map +0 -1
- package/build/src/elements/modeling/domain-property-editor.js +0 -29
- package/build/src/elements/modeling/domain-property-editor.js.map +0 -1
- package/build/src/elements/modeling/internals/DomainAssociationEditor.d.ts +0 -100
- package/build/src/elements/modeling/internals/DomainAssociationEditor.d.ts.map +0 -1
- package/build/src/elements/modeling/internals/DomainAssociationEditor.js +0 -535
- package/build/src/elements/modeling/internals/DomainAssociationEditor.js.map +0 -1
- package/build/src/elements/modeling/internals/DomainEntityEditor.d.ts +0 -130
- package/build/src/elements/modeling/internals/DomainEntityEditor.d.ts.map +0 -1
- package/build/src/elements/modeling/internals/DomainEntityEditor.js +0 -809
- package/build/src/elements/modeling/internals/DomainEntityEditor.js.map +0 -1
- package/build/src/elements/modeling/internals/DomainModelEditor.d.ts +0 -19
- package/build/src/elements/modeling/internals/DomainModelEditor.d.ts.map +0 -1
- package/build/src/elements/modeling/internals/DomainModelEditor.js +0 -235
- package/build/src/elements/modeling/internals/DomainModelEditor.js.map +0 -1
- package/build/src/elements/modeling/internals/DomainNamespaceEditor.d.ts +0 -20
- package/build/src/elements/modeling/internals/DomainNamespaceEditor.d.ts.map +0 -1
- package/build/src/elements/modeling/internals/DomainNamespaceEditor.js +0 -200
- package/build/src/elements/modeling/internals/DomainNamespaceEditor.js.map +0 -1
- package/build/src/elements/modeling/internals/DomainNavigation.d.ts +0 -33
- package/build/src/elements/modeling/internals/DomainNavigation.d.ts.map +0 -1
- package/build/src/elements/modeling/internals/DomainNavigation.js +0 -286
- package/build/src/elements/modeling/internals/DomainNavigation.js.map +0 -1
- package/build/src/elements/modeling/internals/DomainPropertyEditor.d.ts +0 -271
- package/build/src/elements/modeling/internals/DomainPropertyEditor.d.ts.map +0 -1
- package/build/src/elements/modeling/internals/DomainPropertyEditor.js +0 -1096
- package/build/src/elements/modeling/internals/DomainPropertyEditor.js.map +0 -1
- package/build/src/elements/modeling/internals/ModelingElement.d.ts +0 -26
- package/build/src/elements/modeling/internals/ModelingElement.d.ts.map +0 -1
- package/build/src/elements/modeling/internals/ModelingElement.js +0 -66
- package/build/src/elements/modeling/internals/ModelingElement.js.map +0 -1
- package/build/src/elements/modeling/internals/lib/UiMapping.d.ts +0 -37
- package/build/src/elements/modeling/internals/lib/UiMapping.d.ts.map +0 -1
- package/build/src/elements/modeling/internals/lib/UiMapping.js +0 -208
- package/build/src/elements/modeling/internals/lib/UiMapping.js.map +0 -1
- package/build/src/elements/modeling/internals/styles/DomainEntityEditor.styles.d.ts +0 -3
- package/build/src/elements/modeling/internals/styles/DomainEntityEditor.styles.d.ts.map +0 -1
- package/build/src/elements/modeling/internals/styles/DomainEntityEditor.styles.js +0 -83
- package/build/src/elements/modeling/internals/styles/DomainEntityEditor.styles.js.map +0 -1
- package/build/src/elements/modeling/internals/styles/DomainModelEditor.styles.d.ts +0 -3
- package/build/src/elements/modeling/internals/styles/DomainModelEditor.styles.d.ts.map +0 -1
- package/build/src/elements/modeling/internals/styles/DomainModelEditor.styles.js +0 -7
- package/build/src/elements/modeling/internals/styles/DomainModelEditor.styles.js.map +0 -1
- package/build/src/elements/modeling/internals/styles/DomainNamespaceEditor.styles.d.ts +0 -3
- package/build/src/elements/modeling/internals/styles/DomainNamespaceEditor.styles.d.ts.map +0 -1
- package/build/src/elements/modeling/internals/styles/DomainNamespaceEditor.styles.js +0 -7
- package/build/src/elements/modeling/internals/styles/DomainNamespaceEditor.styles.js.map +0 -1
- package/build/src/elements/modeling/internals/styles/DomainNavigation.styles.d.ts +0 -3
- package/build/src/elements/modeling/internals/styles/DomainNavigation.styles.d.ts.map +0 -1
- package/build/src/elements/modeling/internals/styles/DomainNavigation.styles.js +0 -27
- package/build/src/elements/modeling/internals/styles/DomainNavigation.styles.js.map +0 -1
- package/build/src/elements/modeling/internals/styles/DomainPropertyEditor.styles.d.ts +0 -3
- package/build/src/elements/modeling/internals/styles/DomainPropertyEditor.styles.d.ts.map +0 -1
- package/build/src/elements/modeling/internals/styles/DomainPropertyEditor.styles.js +0 -18
- package/build/src/elements/modeling/internals/styles/DomainPropertyEditor.styles.js.map +0 -1
- package/build/src/elements/modeling/internals/styles/form_styles.d.ts +0 -3
- package/build/src/elements/modeling/internals/styles/form_styles.d.ts.map +0 -1
- package/build/src/elements/modeling/internals/styles/form_styles.js +0 -63
- package/build/src/elements/modeling/internals/styles/form_styles.js.map +0 -1
- package/build/src/elements/modeling/internals/styles/learning.styles.d.ts +0 -3
- package/build/src/elements/modeling/internals/styles/learning.styles.d.ts.map +0 -1
- package/build/src/elements/modeling/internals/styles/learning.styles.js +0 -40
- package/build/src/elements/modeling/internals/styles/learning.styles.js.map +0 -1
- package/build/src/elements/modeling/types.d.ts +0 -32
- package/build/src/elements/modeling/types.d.ts.map +0 -1
- package/build/src/elements/modeling/types.js +0 -2
- package/build/src/elements/modeling/types.js.map +0 -1
- package/build/src/elements/schema-design/AssociationFormElement.d.ts +0 -34
- package/build/src/elements/schema-design/AssociationFormElement.d.ts.map +0 -1
- package/build/src/elements/schema-design/AssociationFormElement.js +0 -178
- package/build/src/elements/schema-design/AssociationFormElement.js.map +0 -1
- package/build/src/elements/schema-design/CommonStyles.d.ts +0 -3
- package/build/src/elements/schema-design/CommonStyles.d.ts.map +0 -1
- package/build/src/elements/schema-design/CommonStyles.js +0 -62
- package/build/src/elements/schema-design/CommonStyles.js.map +0 -1
- package/build/src/elements/schema-design/DataEntityEditorElement.d.ts +0 -69
- package/build/src/elements/schema-design/DataEntityEditorElement.d.ts.map +0 -1
- package/build/src/elements/schema-design/DataEntityEditorElement.js +0 -415
- package/build/src/elements/schema-design/DataEntityEditorElement.js.map +0 -1
- package/build/src/elements/schema-design/DataModelVisualizationElement.d.ts +0 -62
- package/build/src/elements/schema-design/DataModelVisualizationElement.d.ts.map +0 -1
- package/build/src/elements/schema-design/DataModelVisualizationElement.js +0 -417
- package/build/src/elements/schema-design/DataModelVisualizationElement.js.map +0 -1
- package/build/src/elements/schema-design/DataSchemaDocument.d.ts +0 -176
- package/build/src/elements/schema-design/DataSchemaDocument.d.ts.map +0 -1
- package/build/src/elements/schema-design/DataSchemaDocument.js +0 -949
- package/build/src/elements/schema-design/DataSchemaDocument.js.map +0 -1
- package/build/src/elements/schema-design/EntityFormElement.d.ts +0 -64
- package/build/src/elements/schema-design/EntityFormElement.d.ts.map +0 -1
- package/build/src/elements/schema-design/EntityFormElement.js +0 -331
- package/build/src/elements/schema-design/EntityFormElement.js.map +0 -1
- package/build/src/elements/schema-design/PropertyFormElement.d.ts +0 -96
- package/build/src/elements/schema-design/PropertyFormElement.d.ts.map +0 -1
- package/build/src/elements/schema-design/PropertyFormElement.js +0 -647
- package/build/src/elements/schema-design/PropertyFormElement.js.map +0 -1
- package/build/src/elements/schema-design/SchemaNamespaceSelector.d.ts +0 -27
- package/build/src/elements/schema-design/SchemaNamespaceSelector.d.ts.map +0 -1
- package/build/src/elements/schema-design/SchemaNamespaceSelector.js +0 -97
- package/build/src/elements/schema-design/SchemaNamespaceSelector.js.map +0 -1
- package/build/src/elements/schema-design/SchemaNamespaceSelector.styles.d.ts +0 -3
- package/build/src/elements/schema-design/SchemaNamespaceSelector.styles.d.ts.map +0 -1
- package/build/src/elements/schema-design/SchemaNamespaceSelector.styles.js +0 -28
- package/build/src/elements/schema-design/SchemaNamespaceSelector.styles.js.map +0 -1
- package/build/src/elements/schema-design/data-association-form.d.ts +0 -7
- package/build/src/elements/schema-design/data-association-form.d.ts.map +0 -1
- package/build/src/elements/schema-design/data-association-form.js +0 -3
- package/build/src/elements/schema-design/data-association-form.js.map +0 -1
- package/build/src/elements/schema-design/data-entity-editor.d.ts +0 -7
- package/build/src/elements/schema-design/data-entity-editor.d.ts.map +0 -1
- package/build/src/elements/schema-design/data-entity-editor.js +0 -3
- package/build/src/elements/schema-design/data-entity-editor.js.map +0 -1
- package/build/src/elements/schema-design/data-entity-form.d.ts +0 -7
- package/build/src/elements/schema-design/data-entity-form.d.ts.map +0 -1
- package/build/src/elements/schema-design/data-entity-form.js +0 -3
- package/build/src/elements/schema-design/data-entity-form.js.map +0 -1
- package/build/src/elements/schema-design/data-model-visualization.d.ts +0 -7
- package/build/src/elements/schema-design/data-model-visualization.d.ts.map +0 -1
- package/build/src/elements/schema-design/data-model-visualization.js +0 -3
- package/build/src/elements/schema-design/data-model-visualization.js.map +0 -1
- package/build/src/elements/schema-design/data-property-form.d.ts +0 -7
- package/build/src/elements/schema-design/data-property-form.d.ts.map +0 -1
- package/build/src/elements/schema-design/data-property-form.js +0 -3
- package/build/src/elements/schema-design/data-property-form.js.map +0 -1
- package/build/src/elements/schema-design/data-schema-document.d.ts +0 -7
- package/build/src/elements/schema-design/data-schema-document.d.ts.map +0 -1
- package/build/src/elements/schema-design/data-schema-document.js +0 -3
- package/build/src/elements/schema-design/data-schema-document.js.map +0 -1
- package/build/src/elements/schema-design/schemaCommon.d.ts +0 -3
- package/build/src/elements/schema-design/schemaCommon.d.ts.map +0 -1
- package/build/src/elements/schema-design/schemaCommon.js +0 -375
- package/build/src/elements/schema-design/schemaCommon.js.map +0 -1
- package/build/src/exceptions/FileLoadException.d.ts +0 -8
- package/build/src/exceptions/FileLoadException.d.ts.map +0 -1
- package/build/src/exceptions/FileLoadException.js +0 -8
- package/build/src/exceptions/FileLoadException.js.map +0 -1
- package/build/src/exceptions/MisconfigurationException.d.ts +0 -8
- package/build/src/exceptions/MisconfigurationException.d.ts.map +0 -1
- package/build/src/exceptions/MisconfigurationException.js +0 -8
- package/build/src/exceptions/MisconfigurationException.js.map +0 -1
- package/build/src/sdk/UiSdk.d.ts +0 -17
- package/build/src/sdk/UiSdk.d.ts.map +0 -1
- package/build/src/sdk/UiSdk.js +0 -41
- package/build/src/sdk/UiSdk.js.map +0 -1
- package/demo/apps/auth-callback.html +0 -37
- package/demo/apps/main.html +0 -23
- package/demo/apps/main.ts +0 -5
- package/demo/apps/schema.html +0 -22
- package/demo/apps/schema.ts +0 -5
- package/src/apps/activities/ApiActivity.ts +0 -40
- package/src/apps/activities/AppStartActivity.ts +0 -123
- package/src/apps/activities/BrowseDataDomainActivity.ts +0 -1073
- package/src/apps/activities/CreateFolderDialogActivity.ts +0 -128
- package/src/apps/activities/DeleteDataDomainActivity.ts +0 -150
- package/src/apps/activities/LoadingActivity.ts +0 -90
- package/src/apps/activities/LoginActivity.ts +0 -193
- package/src/apps/activities/OrganizationSelectionActivity.ts +0 -102
- package/src/apps/activities/OrganizationSetupActivity.ts +0 -146
- package/src/apps/activities/RenameFileDialogActivity.ts +0 -156
- package/src/apps/activities/styles/BrowseDataDomain.styles.ts +0 -28
- package/src/apps/activities/styles/DeleteDataDomain.styles.ts +0 -26
- package/src/apps/activities/styles/login.ts +0 -66
- package/src/apps/api_service.ts +0 -20
- package/src/apps/fragments/loading.ts +0 -84
- package/src/apps/quick-api/Intents.ts +0 -14
- package/src/apps/quick-api/QuickApiApp.ts +0 -55
- package/src/apps/quick-api/Schema.styles.ts +0 -95
- package/src/apps/quick-api/SchemaEditorApp.ts +0 -60
- package/src/apps/quick-api/SchemaScreenActivity.ts +0 -319
- package/src/apps/quick-api/SchemaScreenViewModel.ts +0 -74
- package/src/apps/quick-api/Start.styles.ts +0 -125
- package/src/apps/quick-api/StartScreenActivity.ts +0 -102
- package/src/apps/quick-api/filesystem/Files.styles.ts +0 -72
- package/src/apps/quick-api/filesystem/FilesLib.ts +0 -43
- package/src/apps/quick-api/fragments/FilesystemFragment.ts +0 -417
- package/src/apps/quick-api/fragments/HeaderFragment.ts +0 -72
- package/src/apps/quick-api/fragments/MainFragment.ts +0 -47
- package/src/apps/quick-api/fragments/NavigationFragment.ts +0 -165
- package/src/apps/quick-api/fragments/SchemaEditorEmptyState.fragment.ts +0 -11
- package/src/apps/quick-api/fragments/SchemaEditorHost.styles.ts +0 -22
- package/src/apps/quick-api/fragments/SchemaEditorHost.ts +0 -239
- package/src/apps/quick-api/fragments/SchemaHeaderFragment.ts +0 -117
- package/src/apps/quick-api/fragments/SchemaNavigation.styles.ts +0 -16
- package/src/apps/quick-api/fragments/SchemaNavigationFragment.ts +0 -292
- package/src/apps/quick-api/fragments/TrashFragment.ts +0 -174
- package/src/apps/quick-api/lib/SchemaContextualMenu.ts +0 -63
- package/src/apps/quick-api/lib/UiLib.ts +0 -17
- package/src/apps/services/ConfigurationService.ts +0 -28
- package/src/apps/services/LoggingService.ts +0 -48
- package/src/apps/services/OrganizationService.ts +0 -138
- package/src/apps/services/SdkService.ts +0 -45
- package/src/apps/services/TransmitService.ts +0 -21
- package/src/apps/services/UserService.ts +0 -69
- package/src/apps/transmit_client.ts +0 -5
- package/src/apps/types.ts +0 -10
- package/src/boot.ts +0 -18
- package/src/builders/DialogBuilder.ts +0 -248
- package/src/core/container.ts +0 -15
- package/src/data/BreadcrumbsModel.ts +0 -69
- package/src/data/FileModel.ts +0 -58
- package/src/data/FilesModel.ts +0 -186
- package/src/data/PatchableFileModel.ts +0 -266
- package/src/data/PatchableLiveDataContentModel.ts +0 -26
- package/src/data/PatchableRawContentModel.ts +0 -42
- package/src/data/TrashModel.ts +0 -114
- package/src/elements/data-table/filesystem-table.ts +0 -16
- package/src/elements/data-table/internals/Filesystem.styles.ts +0 -17
- package/src/elements/data-table/internals/FilesystemDataTable.ts +0 -230
- package/src/elements/data-table/internals/TrashDataTable.ts +0 -165
- package/src/elements/data-table/trash-table.ts +0 -16
- package/src/elements/modeling/domain-association-editor.ts +0 -15
- package/src/elements/modeling/domain-entity-editor.ts +0 -17
- package/src/elements/modeling/domain-model-editor.ts +0 -17
- package/src/elements/modeling/domain-namespace-editor.ts +0 -17
- package/src/elements/modeling/domain-navigation.ts +0 -15
- package/src/elements/modeling/domain-property-editor.ts +0 -16
- package/src/elements/modeling/internals/DomainAssociationEditor.ts +0 -550
- package/src/elements/modeling/internals/DomainEntityEditor.ts +0 -813
- package/src/elements/modeling/internals/DomainModelEditor.ts +0 -241
- package/src/elements/modeling/internals/DomainNamespaceEditor.ts +0 -207
- package/src/elements/modeling/internals/DomainNavigation.ts +0 -285
- package/src/elements/modeling/internals/DomainPropertyEditor.ts +0 -1112
- package/src/elements/modeling/internals/ModelingElement.ts +0 -48
- package/src/elements/modeling/internals/lib/UiMapping.ts +0 -218
- package/src/elements/modeling/internals/styles/DomainEntityEditor.styles.ts +0 -83
- package/src/elements/modeling/internals/styles/DomainModelEditor.styles.ts +0 -7
- package/src/elements/modeling/internals/styles/DomainNamespaceEditor.styles.ts +0 -7
- package/src/elements/modeling/internals/styles/DomainNavigation.styles.ts +0 -27
- package/src/elements/modeling/internals/styles/DomainPropertyEditor.styles.ts +0 -18
- package/src/elements/modeling/internals/styles/form_styles.ts +0 -63
- package/src/elements/modeling/internals/styles/learning.styles.ts +0 -40
- package/src/elements/modeling/types.ts +0 -33
- package/src/elements/schema-design/AssociationFormElement.ts +0 -155
- package/src/elements/schema-design/CommonStyles.ts +0 -62
- package/src/elements/schema-design/DataEntityEditorElement.ts +0 -376
- package/src/elements/schema-design/DataModelVisualizationElement.ts +0 -417
- package/src/elements/schema-design/DataSchemaDocument.ts +0 -959
- package/src/elements/schema-design/EntityFormElement.ts +0 -315
- package/src/elements/schema-design/PropertyFormElement.ts +0 -672
- package/src/elements/schema-design/SchemaNamespaceSelector.styles.ts +0 -28
- package/src/elements/schema-design/SchemaNamespaceSelector.ts +0 -78
- package/src/elements/schema-design/data-association-form.ts +0 -9
- package/src/elements/schema-design/data-entity-editor.ts +0 -9
- package/src/elements/schema-design/data-entity-form.ts +0 -9
- package/src/elements/schema-design/data-model-visualization.ts +0 -9
- package/src/elements/schema-design/data-property-form.ts +0 -9
- package/src/elements/schema-design/data-schema-document.ts +0 -9
- package/src/elements/schema-design/schemaCommon.ts +0 -375
- package/src/exceptions/FileLoadException.ts +0 -8
- package/src/exceptions/MisconfigurationException.ts +0 -8
- package/src/sdk/UiSdk.ts +0 -47
- package/test/elements/modeling/domain-entity-editor.spec.ts +0 -1377
- package/test/elements/modeling/domain-property-editor.spec.ts +0 -1551
- /package/build/src/elements/data-table/{internals/DataTable.styles.d.ts → DataTable.styles.d.ts} +0 -0
- /package/build/src/elements/data-table/{internals/DataTable.styles.js → DataTable.styles.js} +0 -0
- /package/build/src/{core/reactive → reactive}/reactive.d.ts +0 -0
- /package/build/src/{core/reactive → reactive}/reactive.js +0 -0
- /package/src/elements/data-table/{internals/DataTable.styles.ts → DataTable.styles.ts} +0 -0
- /package/src/{core/reactive → reactive}/reactive.ts +0 -0
- /package/{web-dev-server.config.js → wds-demo.config.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UrlEncodeUtils.js","sourceRoot":"","sources":["../../../../src/elements/http/UrlEncodeUtils.ts"],"names":[],"mappings":"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","sourcesContent":["import { Property, IProperty } from '@api-client/core/browser.js'\n\n/**\n * Returns a string where all characters that are not valid for a URL\n * component have been escaped. The escaping of a character is done by\n * converting it into its UTF-8 encoding and then encoding each of the\n * resulting bytes as a %xx hexadecimal escape sequence.\n *\n * Note: this method will convert any space character into its escape\n * short form, '+' rather than %20. It should therefore only be used for\n * query-string parts.\n *\n * The following character sets are **not** escaped by this method:\n * - ASCII digits or letters\n * - ASCII punctuation characters: ```- _ . ! ~ * ' ( )</pre>```\n *\n * Notice that this method <em>does</em> encode the URL component delimiter\n * characters:<blockquote>\n *\n * ```\n * ; / ? : & = + $ , #\n * ```\n *\n * @param str A string containing invalid URL characters\n * @returns a string with all invalid URL characters escaped\n */\nexport function encodeQueryString(str: string): string {\n if (!str) {\n return str\n }\n const regexp = /%20/g\n return encodeURIComponent(str).replace(regexp, '+')\n}\n\n/**\n * Returns a string where all URL component escape sequences have been\n * converted back to their original character representations.\n *\n * Note: this method will convert the space character escape short form, '+',\n * into a space. It should therefore only be used for query-string parts.\n *\n * @param {string} str string containing encoded URL component sequences\n * @return {string} string with no encoded URL component encoded sequences\n */\nexport function decodeQueryString(str: string): string {\n if (!str) {\n return str\n }\n const regexp = /\\+/g\n return decodeURIComponent(str.replace(regexp, '%20'))\n}\n\n/**\n * Appends form data parameter to an array.\n * If the parameter already exists on the array it creates an array for\n * the value instead of appending the same parameter.\n *\n * @param array An array to append the parameter\n * @param name Name of the form data parameter\n * @param value Value of the form data parameter\n * @return Updated array\n */\nexport function appendArrayResult(array: IProperty[], name: string, value: string): IProperty[] {\n const item = array.find((i) => i.name === name)\n if (item) {\n if (Array.isArray(item.value)) {\n item.value.push(value)\n } else {\n item.value = [item.value, value]\n }\n } else {\n const p = Property.String(name, value, true)\n array.push(p.toJSON())\n }\n return array\n}\n\n/**\n * Converts a string to an array with objects containing name and value keys\n *\n * @param input An input string\n * @returns An array of params with `name` and `value` keys.\n */\nexport function createParamsArray(input: string): IProperty[] {\n let result: IProperty[] = []\n if (!input) {\n return result\n }\n let state = 0 // 0 - reading name, 1 - reading value\n let i = 0\n let _tmpName = ''\n let _tmpValue = ''\n const cond = true\n while (cond) {\n const ch = input[i++]\n if (ch === undefined) {\n if (_tmpValue || _tmpName) {\n result = appendArrayResult(result, _tmpName, _tmpValue)\n }\n break\n }\n if (ch === '=') {\n if (state !== 1) {\n state = 1\n continue\n }\n }\n if (ch === '&') {\n state = 0\n result = appendArrayResult(result, _tmpName, _tmpValue)\n _tmpName = ''\n _tmpValue = ''\n continue\n }\n if (state === 0) {\n _tmpName += ch\n } else if (state === 1) {\n _tmpValue += ch\n }\n }\n return result\n}\n\n/**\n * Parse input string to array of x-www-form-urlencoded form parameters.\n *\n * This function will not url-decode names and values. Please, use\n * `decodeUrlEncoded(createViewModel(str))` to create an array of decoded parameters.\n *\n * @param input A string of HTTP x-www-form-urlencoded parameters\n * @returns An array of params with `name` and `value` keys.\n */\nexport function createViewModel(input: string): IProperty[] {\n if (typeof input !== 'string' || !input.trim()) {\n return []\n }\n let result = input\n // Chrome inspector has FormData output in format: `param-name`:`param-value`\n // When copying from inspector the ':' must be replaced with '='\n const htmlInputCheck = /^([^\\\\=]{1,})=(.*)$/m\n if (!htmlInputCheck.test(result)) {\n // replace chrome inspector data.\n result = result.replace(/^([^\\\\:]{1,}):(.*)$/gm, '$1=$2&').replace(/\\n/gm, '')\n result = result.substring(0, result.length - 1)\n }\n return createParamsArray(result)\n}\n\n/**\n * URL encodes a value.\n *\n * @param value Value to encode. Either string or array of strings.\n * @returns Encoded value. The same type as the input.\n */\nexport function encodeValue(value: string | string[]): string | string[] {\n if (Array.isArray(value)) {\n let cp = [...value]\n cp = cp.map((item) => encodeQueryString(item))\n return cp\n }\n return encodeQueryString(value)\n}\n\n/**\n * Parse input string as a payload param key or value.\n *\n * @param input An input to parse.\n */\nexport function paramValue(input: string): string {\n if (!input) {\n return String('')\n }\n let typed = String(input)\n typed = typed.trim()\n return typed\n}\n\n/**\n * Creates a form data string for a single item.\n * @param model The model with `name` and `value` properties.\n * @returns Generated value string for x-www-form-urlencoded form.\n */\nexport function modelItemToFormDataString(model: IProperty): string | undefined {\n if (model.enabled === false) {\n return undefined\n }\n const name = paramValue(model.name)\n let value = model.value as string\n if (value && Array.isArray(value)) {\n return value.map((item) => `${name}=${paramValue(item)}`).join('&')\n }\n value = paramValue(value)\n if (!name && !value) {\n return undefined\n }\n if (!value && model.required === false) {\n return undefined\n }\n return `${name}=${value}`\n}\n\n/**\n * Parse input array to string x-www-form-urlencoded.\n *\n * Note that this function doesn't encodes the name and value. Use\n * `formArrayToString(encodeUrlEncoded(arr))`\n * to create a encoded string from the array.\n *\n * @param arr Input array. Each element must contain an\n * object with `name` and `value` keys.\n * @returns A parsed string of `name`=`value` pairs of the input objects.\n */\nexport function formArrayToString(arr: IProperty[]): string {\n if (!arr || !Array.isArray(arr)) {\n return ''\n }\n const result: string[] = []\n arr.forEach((item) => {\n const data = modelItemToFormDataString(item)\n if (data) {\n result[result.length] = data\n }\n })\n return result.join('&')\n}\n\n/**\n * Encode payload to x-www-form-urlencoded string.\n *\n * @param input An input data.\n */\nexport function encodeUrlEncoded(input: IProperty[] | string): IProperty[] | string {\n if (!input || !input.length) {\n return input\n }\n const isArray = Array.isArray(input)\n let typed: IProperty[]\n if (!isArray) {\n typed = createViewModel(String(input))\n } else {\n typed = input\n }\n const result = typed.map((obj) => {\n const item = { ...obj }\n item.name = encodeQueryString(item.name)\n item.value = encodeValue((item.value as string) || '')\n return item\n })\n if (isArray) {\n return result\n }\n return formArrayToString(result)\n}\n\n/**\n * URL decodes a value.\n *\n * @param value Value to decode. Either string or array of strings.\n * @returns Decoded value. The same type as the input.\n */\nexport function decodeValue(value: string[] | string): string[] | string {\n if (Array.isArray(value)) {\n let cp = [...value]\n cp = cp.map((item) => decodeQueryString(item))\n return cp\n }\n return decodeQueryString(value)\n}\n\n/**\n * Decode x-www-form-urlencoded data.\n *\n * @param input An input data.\n */\nexport function decodeUrlEncoded(input: IProperty[] | string): IProperty[] | string {\n if (!input || !input.length) {\n return input\n }\n const isArray = Array.isArray(input)\n let typed: IProperty[]\n if (!isArray) {\n typed = createViewModel(String(input))\n } else {\n typed = input\n }\n typed.forEach((obj) => {\n obj.name = decodeQueryString(obj.name)\n\n obj.value = decodeValue((obj.value as string) || '')\n })\n if (isArray) {\n return typed\n }\n return formArrayToString(typed)\n}\n"]}
|
|
1
|
+
{"version":3,"file":"UrlEncodeUtils.js","sourceRoot":"","sources":["../../../../src/elements/http/UrlEncodeUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,QAAQ,EAAE,MAAM,qCAAqC,CAAA;AAE9E;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,GAAG,CAAA;IACZ,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAA;IACrB,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AACrD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,GAAG,CAAA;IACZ,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAA;IACpB,OAAO,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;AACvD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAkB,EAAE,IAAY,EAAE,KAAa;IAC/E,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;IAC/C,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACxB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAClC,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;QAC5C,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAA;IACxB,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,IAAI,MAAM,GAAgB,EAAE,CAAA;IAC5B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,MAAM,CAAA;IACf,CAAC;IACD,IAAI,KAAK,GAAG,CAAC,CAAA,CAAC,sCAAsC;IACpD,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,IAAI,QAAQ,GAAG,EAAE,CAAA;IACjB,IAAI,SAAS,GAAG,EAAE,CAAA;IAClB,MAAM,IAAI,GAAG,IAAI,CAAA;IACjB,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAA;QACrB,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACrB,IAAI,SAAS,IAAI,QAAQ,EAAE,CAAC;gBAC1B,MAAM,GAAG,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;YACzD,CAAC;YACD,MAAK;QACP,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChB,KAAK,GAAG,CAAC,CAAA;gBACT,SAAQ;YACV,CAAC;QACH,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,KAAK,GAAG,CAAC,CAAA;YACT,MAAM,GAAG,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;YACvD,QAAQ,GAAG,EAAE,CAAA;YACb,SAAS,GAAG,EAAE,CAAA;YACd,SAAQ;QACV,CAAC;QACD,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChB,QAAQ,IAAI,EAAE,CAAA;QAChB,CAAC;aAAM,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YACvB,SAAS,IAAI,EAAE,CAAA;QACjB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAC/C,OAAO,EAAE,CAAA;IACX,CAAC;IACD,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,6EAA6E;IAC7E,gEAAgE;IAChE,MAAM,cAAc,GAAG,sBAAsB,CAAA;IAC7C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACjC,iCAAiC;QACjC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,uBAAuB,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAC9E,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACjD,CAAC;IACD,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAA;AAClC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,KAAwB;IAClD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAA;QACnB,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAA;QAC9C,OAAO,EAAE,CAAA;IACX,CAAC;IACD,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAA;AACjC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,MAAM,CAAC,EAAE,CAAC,CAAA;IACnB,CAAC;IACD,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IACzB,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IACpB,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAgB;IACxD,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACnC,IAAI,KAAK,GAAG,KAAK,CAAC,KAAe,CAAA;IACjC,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACrE,CAAC;IACD,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IACzB,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACpB,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;QACvC,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,GAAG,IAAI,IAAI,KAAK,EAAE,CAAA;AAC3B,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAgB;IAChD,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,CAAA;IACX,CAAC;IACD,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACnB,MAAM,IAAI,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAA;QAC5C,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;QAC9B,CAAC;IACH,CAAC,CAAC,CAAA;IACF,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACzB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAA2B;IAC1D,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAA;IACd,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACpC,IAAI,KAAkB,CAAA;IACtB,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IACxC,CAAC;SAAM,CAAC;QACN,KAAK,GAAG,KAAK,CAAA;IACf,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAC/B,MAAM,IAAI,GAAG,EAAE,GAAG,GAAG,EAAE,CAAA;QACvB,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACxC,IAAI,CAAC,KAAK,GAAG,WAAW,CAAE,IAAI,CAAC,KAAgB,IAAI,EAAE,CAAC,CAAA;QACtD,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,CAAA;IACF,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,MAAM,CAAA;IACf,CAAC;IACD,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAA;AAClC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,KAAwB;IAClD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAA;QACnB,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAA;QAC9C,OAAO,EAAE,CAAA;IACX,CAAC;IACD,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAA;AACjC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAA2B;IAC1D,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAA;IACd,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACpC,IAAI,KAAkB,CAAA;IACtB,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IACxC,CAAC;SAAM,CAAC;QACN,KAAK,GAAG,KAAK,CAAA;IACf,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACpB,GAAG,CAAC,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAEtC,GAAG,CAAC,KAAK,GAAG,WAAW,CAAE,GAAG,CAAC,KAAgB,IAAI,EAAE,CAAC,CAAA;IACtD,CAAC,CAAC,CAAA;IACF,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAA;AACjC,CAAC","sourcesContent":["import { type IProperty, Property } from '@api-client/core/models/Property.js'\n\n/**\n * Returns a string where all characters that are not valid for a URL\n * component have been escaped. The escaping of a character is done by\n * converting it into its UTF-8 encoding and then encoding each of the\n * resulting bytes as a %xx hexadecimal escape sequence.\n *\n * Note: this method will convert any space character into its escape\n * short form, '+' rather than %20. It should therefore only be used for\n * query-string parts.\n *\n * The following character sets are **not** escaped by this method:\n * - ASCII digits or letters\n * - ASCII punctuation characters: ```- _ . ! ~ * ' ( )</pre>```\n *\n * Notice that this method <em>does</em> encode the URL component delimiter\n * characters:<blockquote>\n *\n * ```\n * ; / ? : & = + $ , #\n * ```\n *\n * @param str A string containing invalid URL characters\n * @returns a string with all invalid URL characters escaped\n */\nexport function encodeQueryString(str: string): string {\n if (!str) {\n return str\n }\n const regexp = /%20/g\n return encodeURIComponent(str).replace(regexp, '+')\n}\n\n/**\n * Returns a string where all URL component escape sequences have been\n * converted back to their original character representations.\n *\n * Note: this method will convert the space character escape short form, '+',\n * into a space. It should therefore only be used for query-string parts.\n *\n * @param {string} str string containing encoded URL component sequences\n * @return {string} string with no encoded URL component encoded sequences\n */\nexport function decodeQueryString(str: string): string {\n if (!str) {\n return str\n }\n const regexp = /\\+/g\n return decodeURIComponent(str.replace(regexp, '%20'))\n}\n\n/**\n * Appends form data parameter to an array.\n * If the parameter already exists on the array it creates an array for\n * the value instead of appending the same parameter.\n *\n * @param array An array to append the parameter\n * @param name Name of the form data parameter\n * @param value Value of the form data parameter\n * @return Updated array\n */\nexport function appendArrayResult(array: IProperty[], name: string, value: string): IProperty[] {\n const item = array.find((i) => i.name === name)\n if (item) {\n if (Array.isArray(item.value)) {\n item.value.push(value)\n } else {\n item.value = [item.value, value]\n }\n } else {\n const p = Property.String(name, value, true)\n array.push(p.toJSON())\n }\n return array\n}\n\n/**\n * Converts a string to an array with objects containing name and value keys\n *\n * @param input An input string\n * @returns An array of params with `name` and `value` keys.\n */\nexport function createParamsArray(input: string): IProperty[] {\n let result: IProperty[] = []\n if (!input) {\n return result\n }\n let state = 0 // 0 - reading name, 1 - reading value\n let i = 0\n let _tmpName = ''\n let _tmpValue = ''\n const cond = true\n while (cond) {\n const ch = input[i++]\n if (ch === undefined) {\n if (_tmpValue || _tmpName) {\n result = appendArrayResult(result, _tmpName, _tmpValue)\n }\n break\n }\n if (ch === '=') {\n if (state !== 1) {\n state = 1\n continue\n }\n }\n if (ch === '&') {\n state = 0\n result = appendArrayResult(result, _tmpName, _tmpValue)\n _tmpName = ''\n _tmpValue = ''\n continue\n }\n if (state === 0) {\n _tmpName += ch\n } else if (state === 1) {\n _tmpValue += ch\n }\n }\n return result\n}\n\n/**\n * Parse input string to array of x-www-form-urlencoded form parameters.\n *\n * This function will not url-decode names and values. Please, use\n * `decodeUrlEncoded(createViewModel(str))` to create an array of decoded parameters.\n *\n * @param input A string of HTTP x-www-form-urlencoded parameters\n * @returns An array of params with `name` and `value` keys.\n */\nexport function createViewModel(input: string): IProperty[] {\n if (typeof input !== 'string' || !input.trim()) {\n return []\n }\n let result = input\n // Chrome inspector has FormData output in format: `param-name`:`param-value`\n // When copying from inspector the ':' must be replaced with '='\n const htmlInputCheck = /^([^\\\\=]{1,})=(.*)$/m\n if (!htmlInputCheck.test(result)) {\n // replace chrome inspector data.\n result = result.replace(/^([^\\\\:]{1,}):(.*)$/gm, '$1=$2&').replace(/\\n/gm, '')\n result = result.substring(0, result.length - 1)\n }\n return createParamsArray(result)\n}\n\n/**\n * URL encodes a value.\n *\n * @param value Value to encode. Either string or array of strings.\n * @returns Encoded value. The same type as the input.\n */\nexport function encodeValue(value: string | string[]): string | string[] {\n if (Array.isArray(value)) {\n let cp = [...value]\n cp = cp.map((item) => encodeQueryString(item))\n return cp\n }\n return encodeQueryString(value)\n}\n\n/**\n * Parse input string as a payload param key or value.\n *\n * @param input An input to parse.\n */\nexport function paramValue(input: string): string {\n if (!input) {\n return String('')\n }\n let typed = String(input)\n typed = typed.trim()\n return typed\n}\n\n/**\n * Creates a form data string for a single item.\n * @param model The model with `name` and `value` properties.\n * @returns Generated value string for x-www-form-urlencoded form.\n */\nexport function modelItemToFormDataString(model: IProperty): string | undefined {\n if (model.enabled === false) {\n return undefined\n }\n const name = paramValue(model.name)\n let value = model.value as string\n if (value && Array.isArray(value)) {\n return value.map((item) => `${name}=${paramValue(item)}`).join('&')\n }\n value = paramValue(value)\n if (!name && !value) {\n return undefined\n }\n if (!value && model.required === false) {\n return undefined\n }\n return `${name}=${value}`\n}\n\n/**\n * Parse input array to string x-www-form-urlencoded.\n *\n * Note that this function doesn't encodes the name and value. Use\n * `formArrayToString(encodeUrlEncoded(arr))`\n * to create a encoded string from the array.\n *\n * @param arr Input array. Each element must contain an\n * object with `name` and `value` keys.\n * @returns A parsed string of `name`=`value` pairs of the input objects.\n */\nexport function formArrayToString(arr: IProperty[]): string {\n if (!arr || !Array.isArray(arr)) {\n return ''\n }\n const result: string[] = []\n arr.forEach((item) => {\n const data = modelItemToFormDataString(item)\n if (data) {\n result[result.length] = data\n }\n })\n return result.join('&')\n}\n\n/**\n * Encode payload to x-www-form-urlencoded string.\n *\n * @param input An input data.\n */\nexport function encodeUrlEncoded(input: IProperty[] | string): IProperty[] | string {\n if (!input || !input.length) {\n return input\n }\n const isArray = Array.isArray(input)\n let typed: IProperty[]\n if (!isArray) {\n typed = createViewModel(String(input))\n } else {\n typed = input\n }\n const result = typed.map((obj) => {\n const item = { ...obj }\n item.name = encodeQueryString(item.name)\n item.value = encodeValue((item.value as string) || '')\n return item\n })\n if (isArray) {\n return result\n }\n return formArrayToString(result)\n}\n\n/**\n * URL decodes a value.\n *\n * @param value Value to decode. Either string or array of strings.\n * @returns Decoded value. The same type as the input.\n */\nexport function decodeValue(value: string[] | string): string[] | string {\n if (Array.isArray(value)) {\n let cp = [...value]\n cp = cp.map((item) => decodeQueryString(item))\n return cp\n }\n return decodeQueryString(value)\n}\n\n/**\n * Decode x-www-form-urlencoded data.\n *\n * @param input An input data.\n */\nexport function decodeUrlEncoded(input: IProperty[] | string): IProperty[] | string {\n if (!input || !input.length) {\n return input\n }\n const isArray = Array.isArray(input)\n let typed: IProperty[]\n if (!isArray) {\n typed = createViewModel(String(input))\n } else {\n typed = input\n }\n typed.forEach((obj) => {\n obj.name = decodeQueryString(obj.name)\n\n obj.value = decodeValue((obj.value as string) || '')\n })\n if (isArray) {\n return typed\n }\n return formArrayToString(typed)\n}\n"]}
|
|
@@ -13,7 +13,7 @@ the License.
|
|
|
13
13
|
*/
|
|
14
14
|
import { TemplateResult } from 'lit';
|
|
15
15
|
import { StyleInfo } from 'lit/directives/style-map.js';
|
|
16
|
-
import type { IUrl } from '@api-client/core/
|
|
16
|
+
import type { IUrl } from '@api-client/core/models/Url.js';
|
|
17
17
|
import ApiElement from '../ApiElement.js';
|
|
18
18
|
import type UiList from '../../md/list/internals/List.js';
|
|
19
19
|
import '../../md/listbox/ui-listbox.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UrlInput.d.ts","sourceRoot":"","sources":["../../../../src/elements/http/UrlInput.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;EAYE;AACF,OAAO,EAAQ,cAAc,EAAE,MAAM,KAAK,CAAA;AAE1C,OAAO,EAAE,SAAS,EAAY,MAAM,6BAA6B,CAAA;AAEjE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"UrlInput.d.ts","sourceRoot":"","sources":["../../../../src/elements/http/UrlInput.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UrlInput.js","sourceRoot":"","sources":["../../../../src/elements/http/UrlInput.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n @license\nCopyright 2018 The Advanced REST client authors <arc@mulesoft.com>\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not\nuse this file except in compliance with the License. You may obtain a copy of\nthe License at\nhttp://www.apache.org/licenses/LICENSE-2.0\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\nWARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\nLicense for the specific language governing permissions and limitations under\nthe License.\n*/\nimport { html, TemplateResult } from 'lit'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { StyleInfo, styleMap } from 'lit/directives/style-map.js'\nimport { eventOptions, property, query, state } from 'lit/decorators.js'\nimport type { IUrl } from '@api-client/core/browser.js'\nimport { sortUrls } from '../../lib/http/Url.js'\nimport { Events } from '../../events/Events.js'\nimport { EventTypes } from '../../events/EventTypes.js'\nimport ApiElement from '../ApiElement.js'\nimport { positionOverlay } from '../../lib/ElementPositioning.js'\nimport type UiList from '../../md/list/internals/List.js'\nimport type UiListItem from '../../md/list/internals/ListItem.js'\n\nimport '../../md/listbox/ui-listbox.js'\nimport '../../md/list/ui-list-item.js'\nimport '../../md/divider/ui-divider.js'\n\nconst NAVIGATION_KEYS = {\n ArrowDown: 'ArrowDown',\n ArrowUp: 'ArrowUp',\n Home: 'Home',\n End: 'End',\n Escape: 'Escape',\n Enter: 'Enter',\n Space: ' ',\n}\n\n/**\n * The request URL editor\n *\n * The element renders an editor for a HTTP request editor.\n *\n * @fires change - When the value change through user interaction. This event does not bubble.\n * @fires requeststateurlchange - When the value change through user interaction. This even bubbles and is cancelable.\n * @fires requestsend - A bubbling event when the user pressed Enter to send the request.\n */\nexport default class UrlInput extends ApiElement {\n /**\n * The current URL value.\n * @attribute\n */\n @property({ type: String }) accessor value = 'http://'\n\n /**\n * When set the editor is in read only mode.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) accessor readOnly = false\n\n /**\n * Whether the URL suggestions are rendered.\n */\n @state() protected accessor suggestionsOpened = false\n\n @state() protected accessor suggestions: IUrl[] | undefined\n\n @state() protected accessor renderedSuggestions: IUrl[] | undefined\n\n protected previousValue?: string\n\n protected isFocused = false\n\n @query('.main-input')\n protected accessor input!: HTMLInputElement\n\n @query('.suggestions')\n protected accessor suggestionsContainer!: HTMLDivElement\n\n @query('ui-listbox.url-autocomplete')\n protected accessor suggestionsList!: UiList\n\n /**\n * Computed positioning styles for the suggestion box.\n */\n protected suggestionStyles?: StyleInfo\n\n constructor() {\n super()\n this.handleUrlChange = this.handleUrlChange.bind(this)\n this.handleHistoryDeleted = this.handleHistoryDeleted.bind(this)\n this.handleHistoryClear = this.handleHistoryClear.bind(this)\n }\n\n override connectedCallback(): void {\n super.connectedCallback()\n const { eventsTarget } = this\n eventsTarget.addEventListener(EventTypes.Http.Request.State.urlChange, this.handleUrlChange)\n eventsTarget.addEventListener(EventTypes.HttpClient.Model.UrlHistory.State.delete, this.handleHistoryDeleted)\n eventsTarget.addEventListener(EventTypes.HttpClient.Model.UrlHistory.State.clear, this.handleHistoryClear)\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback()\n const { eventsTarget } = this\n eventsTarget.removeEventListener(EventTypes.Http.Request.State.urlChange, this.handleUrlChange)\n eventsTarget.removeEventListener(EventTypes.HttpClient.Model.UrlHistory.State.delete, this.handleHistoryDeleted)\n eventsTarget.removeEventListener(EventTypes.HttpClient.Model.UrlHistory.State.clear, this.handleHistoryClear)\n }\n\n /**\n * A handler that is called on input\n */\n override notifyChange(): void {\n Events.Http.Request.State.urlChange(this.value, this)\n super.notifyChange()\n }\n\n /**\n * A handler for the `url-value-changed` event.\n * If this element is not the source of the event then it will update the `value` property.\n * It's to be used besides the Polymer's data binding system.\n */\n protected handleUrlChange(e: Event): void {\n if (e.composedPath()[0] === this || this.readOnly) {\n return\n }\n const { value } = (e as CustomEvent).detail\n if (value !== this.value) {\n this.value = value\n super.notifyChange()\n }\n }\n\n /**\n * Queries the data model for history data and sets the suggestions\n * @param q User query from the input field\n */\n protected async readAutocomplete(q: string): Promise<void> {\n try {\n const value = await Events.HttpClient.Model.UrlHistory.query(q, this)\n this.suggestions = value && value.items.filter((i) => !!i).map((i) => i.doc)\n } catch {\n this.suggestions = undefined\n }\n }\n\n /**\n * Validates the element.\n */\n checkValidity(): boolean {\n const element = this.input\n if (!element) {\n return true\n }\n return element.validity.valid\n }\n\n /**\n * @param e A handler for either main input or the details editor value change\n */\n protected handleInput(e: Event): void {\n if (this.readOnly) {\n return\n }\n const node = e.target as HTMLInputElement\n this.previousValue = this.value\n this.value = node.value\n this.renderSuggestions()\n }\n\n protected handleInputChange(): void {\n if (this.readOnly) {\n return\n }\n this.notifyChange()\n }\n\n protected handlerFocusBlur(e: Event): void {\n this.isFocused = e.type === 'focus'\n // this.requestUpdate();\n if (this.isFocused && !this.suggestionsOpened) {\n this.renderSuggestions()\n } else if (!this.isFocused && this.suggestionsOpened) {\n // requestAnimationFrame(() => {\n // this.suggestionsOpened = false;\n // });\n }\n }\n\n /**\n * Triggers URL suggestions rendering.\n * If there are suggestions to render this will enable the dropdown.\n */\n async renderSuggestions(): Promise<void> {\n const { value = '' } = this\n if (this.previousValue && value.startsWith(this.previousValue || '')) {\n this.filterSuggestions()\n return\n }\n await this.readAutocomplete(value)\n this.filterSuggestions()\n }\n\n /**\n * Performs the query on the current suggestions and, if any, renders them.\n */\n protected async filterSuggestions(): Promise<void> {\n const items = this.suggestions\n if (!Array.isArray(items) || !items.length) {\n this.toggleSuggestions(false)\n return\n }\n const { value = '' } = this\n const q = String(value).toLowerCase()\n const rendered = items.filter((i) => i.key.toLowerCase().includes(q))\n if (!rendered.length) {\n this.toggleSuggestions(false)\n return\n }\n if (rendered.length === 1 && rendered[0].key.toLowerCase() === q) {\n this.toggleSuggestions(false)\n return\n }\n sortUrls(rendered, q)\n this.renderedSuggestions = rendered\n this.toggleSuggestions(true)\n this.requestUpdate()\n }\n\n protected toggleSuggestions(opened: boolean): void {\n if (!opened) {\n this.suggestionsOpened = false\n this.input.focus()\n } else {\n this.suggestionStyles = positionOverlay(this.suggestionsContainer, this.input, {\n vertical: 'top',\n noOverlap: true,\n constrain: true,\n matchAnchorWidth: true,\n })\n this.suggestionsOpened = true\n }\n }\n\n @eventOptions({ capture: true })\n protected handleSuggestionClick(e: Event): void {\n const path = e.composedPath() as HTMLElement[]\n const target = path.find((i) => !!i.classList && i.classList.contains('remove-suggestion'))\n if (!target) {\n return\n }\n e.preventDefault()\n e.stopPropagation()\n e.stopImmediatePropagation()\n const { key } = target.dataset\n if (!key) {\n return\n }\n\n Events.HttpClient.Model.UrlHistory.delete(key, this)\n }\n\n protected handleSuggestionSelect(e: CustomEvent): void {\n const item = e.detail.item as UiListItem\n const { key } = item.dataset\n if (!key) {\n return\n }\n this.selectSuggestion(key)\n }\n\n protected selectSuggestion(key: string): void {\n this.value = key\n this.toggleSuggestions(false)\n this.notifyChange()\n }\n\n /**\n * Removes all stored history URLs.\n */\n protected clearSuggestionsHandler(e: Event): void {\n e.preventDefault()\n e.stopPropagation()\n Events.HttpClient.Model.UrlHistory.clear(this)\n }\n\n protected handleHistoryDeleted(e: Event): void {\n const items = this.suggestions\n if (!Array.isArray(items)) {\n return\n }\n const url = (e as CustomEvent).detail\n const index = items.findIndex((i) => i.key === url)\n if (index >= 0) {\n items.splice(index, 1)\n }\n if (this.suggestionsOpened && this.renderedSuggestions) {\n const renderedIndex = this.renderedSuggestions.findIndex((i) => i.key === url)\n if (renderedIndex >= 0) {\n this.renderedSuggestions.splice(renderedIndex, 1)\n this.requestUpdate()\n }\n }\n }\n\n protected handleHistoryClear(): void {\n this.suggestions = undefined\n this.renderedSuggestions = undefined\n this.toggleSuggestions(false)\n }\n\n /**\n * We handle key events here as we never focus on the list.\n */\n protected handleKeydown(event: KeyboardEvent): void {\n if (Object.values(NAVIGATION_KEYS).indexOf(event.key) === -1) return\n\n if (event.key === NAVIGATION_KEYS.Escape) {\n this.toggleSuggestions(false)\n } else if (event.key === NAVIGATION_KEYS.ArrowDown) {\n event.preventDefault()\n if (this.suggestionsOpened) {\n this.suggestionsList.highlightNext()\n } else {\n this.filterSuggestions()\n }\n } else if (event.key === NAVIGATION_KEYS.ArrowUp) {\n event.preventDefault()\n if (this.suggestionsOpened) {\n this.suggestionsList.highlightPrevious()\n } else {\n this.filterSuggestions()\n }\n } else if (event.key === NAVIGATION_KEYS.Home) {\n if (this.suggestionsOpened) {\n event.preventDefault()\n this.suggestionsList.highlightFirst()\n }\n } else if (event.key === NAVIGATION_KEYS.End) {\n if (this.suggestionsOpened) {\n event.preventDefault()\n this.suggestionsList.highlightLast()\n }\n } else if (event.key === NAVIGATION_KEYS.Enter) {\n event.preventDefault()\n if (this.suggestionsOpened) {\n const list = this.suggestionsList\n const item = list.highlightListItem\n if (item) {\n list.notifySelect(item)\n }\n } else {\n Events.Http.Request.send(this)\n }\n }\n }\n\n override render(): TemplateResult {\n const classes = {\n container: true,\n autocomplete: this.suggestionsOpened,\n }\n return html` <div class=\"${classMap(classes)}\">${this.renderInput()} ${this.renderAutocomplete()}</div>`\n }\n\n /**\n * @returns A template for the main input element\n */\n protected renderInput(): TemplateResult {\n const { value } = this\n return html`\n <div class=\"input-wrapper\">\n <input\n .value=\"${value}\"\n class=\"main-input\"\n required\n placeholder=\"Request URL\"\n id=\"mainInput\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n @focus=\"${this.handlerFocusBlur}\"\n @blur=\"${this.handlerFocusBlur}\"\n @input=\"${this.handleInput}\"\n @change=\"${this.handleInputChange}\"\n @keydown=\"${this.handleKeydown}\"\n aria-label=\"The URL value\"\n ?readonly=\"${this.readOnly}\"\n />\n </div>\n `\n }\n\n /**\n * @returns A template for the autocomplete element\n */\n protected renderAutocomplete(): TemplateResult {\n let opened = this.suggestionsOpened\n const items = this.renderedSuggestions\n if (opened && (!items || !items.length)) {\n opened = false\n }\n const classes = {\n suggestions: true,\n opened,\n }\n return html`\n <div class=\"${classMap(classes)}\" style=\"${styleMap(this.suggestionStyles || {})}\">\n <ui-listbox\n class=\"url-autocomplete\"\n role=\"listbox\"\n aria-label=\"Suggested URLs from your history.\"\n tabindex=\"-1\"\n @select=\"${this.handleSuggestionSelect}\"\n @click=\"${this.handleSuggestionClick}\"\n >\n ${this.renderSuggestionList()}\n </ui-listbox>\n <ui-divider></ui-divider>\n <p class=\"clear-all-history\">\n <span class=\"clear-all-history-label\" @click=\"${this.clearSuggestionsHandler}\">Clear all history</span>\n </p>\n </div>\n `\n }\n\n /**\n * @returns The template for the suggestions list.\n */\n protected renderSuggestionList(): TemplateResult[] | string {\n const items = this.renderedSuggestions\n if (!Array.isArray(items) || !items.length) {\n return ''\n }\n return items.map((i) => this.renderSuggestionItem(i))\n }\n\n /**\n * @returns The template for an URL suggestion item.\n */\n protected renderSuggestionItem(item: IUrl): TemplateResult {\n const { key } = item\n return html` <ui-list-item class=\"suggestion-item\" data-key=\"${item.key}\" role=\"option\" aria-selected=\"false\">\n <div>${key}</div>\n <span slot=\"end-text\" class=\"remove-suggestion\" data-key=\"${key}\">Remove</span>\n </ui-list-item>`\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"UrlInput.js","sourceRoot":"","sources":["../../../../src/elements/http/UrlInput.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n @license\nCopyright 2018 The Advanced REST client authors <arc@mulesoft.com>\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not\nuse this file except in compliance with the License. You may obtain a copy of\nthe License at\nhttp://www.apache.org/licenses/LICENSE-2.0\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\nWARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\nLicense for the specific language governing permissions and limitations under\nthe License.\n*/\nimport { html, TemplateResult } from 'lit'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { StyleInfo, styleMap } from 'lit/directives/style-map.js'\nimport { eventOptions, property, query, state } from 'lit/decorators.js'\nimport type { IUrl } from '@api-client/core/models/Url.js'\nimport { sortUrls } from '../../lib/http/Url.js'\nimport { Events } from '../../events/Events.js'\nimport { EventTypes } from '../../events/EventTypes.js'\nimport ApiElement from '../ApiElement.js'\nimport { positionOverlay } from '../../lib/ElementPositioning.js'\nimport type UiList from '../../md/list/internals/List.js'\nimport type UiListItem from '../../md/list/internals/ListItem.js'\n\nimport '../../md/listbox/ui-listbox.js'\nimport '../../md/list/ui-list-item.js'\nimport '../../md/divider/ui-divider.js'\n\nconst NAVIGATION_KEYS = {\n ArrowDown: 'ArrowDown',\n ArrowUp: 'ArrowUp',\n Home: 'Home',\n End: 'End',\n Escape: 'Escape',\n Enter: 'Enter',\n Space: ' ',\n}\n\n/**\n * The request URL editor\n *\n * The element renders an editor for a HTTP request editor.\n *\n * @fires change - When the value change through user interaction. This event does not bubble.\n * @fires requeststateurlchange - When the value change through user interaction. This even bubbles and is cancelable.\n * @fires requestsend - A bubbling event when the user pressed Enter to send the request.\n */\nexport default class UrlInput extends ApiElement {\n /**\n * The current URL value.\n * @attribute\n */\n @property({ type: String }) accessor value = 'http://'\n\n /**\n * When set the editor is in read only mode.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) accessor readOnly = false\n\n /**\n * Whether the URL suggestions are rendered.\n */\n @state() protected accessor suggestionsOpened = false\n\n @state() protected accessor suggestions: IUrl[] | undefined\n\n @state() protected accessor renderedSuggestions: IUrl[] | undefined\n\n protected previousValue?: string\n\n protected isFocused = false\n\n @query('.main-input')\n protected accessor input!: HTMLInputElement\n\n @query('.suggestions')\n protected accessor suggestionsContainer!: HTMLDivElement\n\n @query('ui-listbox.url-autocomplete')\n protected accessor suggestionsList!: UiList\n\n /**\n * Computed positioning styles for the suggestion box.\n */\n protected suggestionStyles?: StyleInfo\n\n constructor() {\n super()\n this.handleUrlChange = this.handleUrlChange.bind(this)\n this.handleHistoryDeleted = this.handleHistoryDeleted.bind(this)\n this.handleHistoryClear = this.handleHistoryClear.bind(this)\n }\n\n override connectedCallback(): void {\n super.connectedCallback()\n const { eventsTarget } = this\n eventsTarget.addEventListener(EventTypes.Http.Request.State.urlChange, this.handleUrlChange)\n eventsTarget.addEventListener(EventTypes.HttpClient.Model.UrlHistory.State.delete, this.handleHistoryDeleted)\n eventsTarget.addEventListener(EventTypes.HttpClient.Model.UrlHistory.State.clear, this.handleHistoryClear)\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback()\n const { eventsTarget } = this\n eventsTarget.removeEventListener(EventTypes.Http.Request.State.urlChange, this.handleUrlChange)\n eventsTarget.removeEventListener(EventTypes.HttpClient.Model.UrlHistory.State.delete, this.handleHistoryDeleted)\n eventsTarget.removeEventListener(EventTypes.HttpClient.Model.UrlHistory.State.clear, this.handleHistoryClear)\n }\n\n /**\n * A handler that is called on input\n */\n override notifyChange(): void {\n Events.Http.Request.State.urlChange(this.value, this)\n super.notifyChange()\n }\n\n /**\n * A handler for the `url-value-changed` event.\n * If this element is not the source of the event then it will update the `value` property.\n * It's to be used besides the Polymer's data binding system.\n */\n protected handleUrlChange(e: Event): void {\n if (e.composedPath()[0] === this || this.readOnly) {\n return\n }\n const { value } = (e as CustomEvent).detail\n if (value !== this.value) {\n this.value = value\n super.notifyChange()\n }\n }\n\n /**\n * Queries the data model for history data and sets the suggestions\n * @param q User query from the input field\n */\n protected async readAutocomplete(q: string): Promise<void> {\n try {\n const value = await Events.HttpClient.Model.UrlHistory.query(q, this)\n this.suggestions = value && value.items.filter((i) => !!i).map((i) => i.doc)\n } catch {\n this.suggestions = undefined\n }\n }\n\n /**\n * Validates the element.\n */\n checkValidity(): boolean {\n const element = this.input\n if (!element) {\n return true\n }\n return element.validity.valid\n }\n\n /**\n * @param e A handler for either main input or the details editor value change\n */\n protected handleInput(e: Event): void {\n if (this.readOnly) {\n return\n }\n const node = e.target as HTMLInputElement\n this.previousValue = this.value\n this.value = node.value\n this.renderSuggestions()\n }\n\n protected handleInputChange(): void {\n if (this.readOnly) {\n return\n }\n this.notifyChange()\n }\n\n protected handlerFocusBlur(e: Event): void {\n this.isFocused = e.type === 'focus'\n // this.requestUpdate();\n if (this.isFocused && !this.suggestionsOpened) {\n this.renderSuggestions()\n } else if (!this.isFocused && this.suggestionsOpened) {\n // requestAnimationFrame(() => {\n // this.suggestionsOpened = false;\n // });\n }\n }\n\n /**\n * Triggers URL suggestions rendering.\n * If there are suggestions to render this will enable the dropdown.\n */\n async renderSuggestions(): Promise<void> {\n const { value = '' } = this\n if (this.previousValue && value.startsWith(this.previousValue || '')) {\n this.filterSuggestions()\n return\n }\n await this.readAutocomplete(value)\n this.filterSuggestions()\n }\n\n /**\n * Performs the query on the current suggestions and, if any, renders them.\n */\n protected async filterSuggestions(): Promise<void> {\n const items = this.suggestions\n if (!Array.isArray(items) || !items.length) {\n this.toggleSuggestions(false)\n return\n }\n const { value = '' } = this\n const q = String(value).toLowerCase()\n const rendered = items.filter((i) => i.key.toLowerCase().includes(q))\n if (!rendered.length) {\n this.toggleSuggestions(false)\n return\n }\n if (rendered.length === 1 && rendered[0].key.toLowerCase() === q) {\n this.toggleSuggestions(false)\n return\n }\n sortUrls(rendered, q)\n this.renderedSuggestions = rendered\n this.toggleSuggestions(true)\n this.requestUpdate()\n }\n\n protected toggleSuggestions(opened: boolean): void {\n if (!opened) {\n this.suggestionsOpened = false\n this.input.focus()\n } else {\n this.suggestionStyles = positionOverlay(this.suggestionsContainer, this.input, {\n vertical: 'top',\n noOverlap: true,\n constrain: true,\n matchAnchorWidth: true,\n })\n this.suggestionsOpened = true\n }\n }\n\n @eventOptions({ capture: true })\n protected handleSuggestionClick(e: Event): void {\n const path = e.composedPath() as HTMLElement[]\n const target = path.find((i) => !!i.classList && i.classList.contains('remove-suggestion'))\n if (!target) {\n return\n }\n e.preventDefault()\n e.stopPropagation()\n e.stopImmediatePropagation()\n const { key } = target.dataset\n if (!key) {\n return\n }\n\n Events.HttpClient.Model.UrlHistory.delete(key, this)\n }\n\n protected handleSuggestionSelect(e: CustomEvent): void {\n const item = e.detail.item as UiListItem\n const { key } = item.dataset\n if (!key) {\n return\n }\n this.selectSuggestion(key)\n }\n\n protected selectSuggestion(key: string): void {\n this.value = key\n this.toggleSuggestions(false)\n this.notifyChange()\n }\n\n /**\n * Removes all stored history URLs.\n */\n protected clearSuggestionsHandler(e: Event): void {\n e.preventDefault()\n e.stopPropagation()\n Events.HttpClient.Model.UrlHistory.clear(this)\n }\n\n protected handleHistoryDeleted(e: Event): void {\n const items = this.suggestions\n if (!Array.isArray(items)) {\n return\n }\n const url = (e as CustomEvent).detail\n const index = items.findIndex((i) => i.key === url)\n if (index >= 0) {\n items.splice(index, 1)\n }\n if (this.suggestionsOpened && this.renderedSuggestions) {\n const renderedIndex = this.renderedSuggestions.findIndex((i) => i.key === url)\n if (renderedIndex >= 0) {\n this.renderedSuggestions.splice(renderedIndex, 1)\n this.requestUpdate()\n }\n }\n }\n\n protected handleHistoryClear(): void {\n this.suggestions = undefined\n this.renderedSuggestions = undefined\n this.toggleSuggestions(false)\n }\n\n /**\n * We handle key events here as we never focus on the list.\n */\n protected handleKeydown(event: KeyboardEvent): void {\n if (Object.values(NAVIGATION_KEYS).indexOf(event.key) === -1) return\n\n if (event.key === NAVIGATION_KEYS.Escape) {\n this.toggleSuggestions(false)\n } else if (event.key === NAVIGATION_KEYS.ArrowDown) {\n event.preventDefault()\n if (this.suggestionsOpened) {\n this.suggestionsList.highlightNext()\n } else {\n this.filterSuggestions()\n }\n } else if (event.key === NAVIGATION_KEYS.ArrowUp) {\n event.preventDefault()\n if (this.suggestionsOpened) {\n this.suggestionsList.highlightPrevious()\n } else {\n this.filterSuggestions()\n }\n } else if (event.key === NAVIGATION_KEYS.Home) {\n if (this.suggestionsOpened) {\n event.preventDefault()\n this.suggestionsList.highlightFirst()\n }\n } else if (event.key === NAVIGATION_KEYS.End) {\n if (this.suggestionsOpened) {\n event.preventDefault()\n this.suggestionsList.highlightLast()\n }\n } else if (event.key === NAVIGATION_KEYS.Enter) {\n event.preventDefault()\n if (this.suggestionsOpened) {\n const list = this.suggestionsList\n const item = list.highlightListItem\n if (item) {\n list.notifySelect(item)\n }\n } else {\n Events.Http.Request.send(this)\n }\n }\n }\n\n override render(): TemplateResult {\n const classes = {\n container: true,\n autocomplete: this.suggestionsOpened,\n }\n return html` <div class=\"${classMap(classes)}\">${this.renderInput()} ${this.renderAutocomplete()}</div>`\n }\n\n /**\n * @returns A template for the main input element\n */\n protected renderInput(): TemplateResult {\n const { value } = this\n return html`\n <div class=\"input-wrapper\">\n <input\n .value=\"${value}\"\n class=\"main-input\"\n required\n placeholder=\"Request URL\"\n id=\"mainInput\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n @focus=\"${this.handlerFocusBlur}\"\n @blur=\"${this.handlerFocusBlur}\"\n @input=\"${this.handleInput}\"\n @change=\"${this.handleInputChange}\"\n @keydown=\"${this.handleKeydown}\"\n aria-label=\"The URL value\"\n ?readonly=\"${this.readOnly}\"\n />\n </div>\n `\n }\n\n /**\n * @returns A template for the autocomplete element\n */\n protected renderAutocomplete(): TemplateResult {\n let opened = this.suggestionsOpened\n const items = this.renderedSuggestions\n if (opened && (!items || !items.length)) {\n opened = false\n }\n const classes = {\n suggestions: true,\n opened,\n }\n return html`\n <div class=\"${classMap(classes)}\" style=\"${styleMap(this.suggestionStyles || {})}\">\n <ui-listbox\n class=\"url-autocomplete\"\n role=\"listbox\"\n aria-label=\"Suggested URLs from your history.\"\n tabindex=\"-1\"\n @select=\"${this.handleSuggestionSelect}\"\n @click=\"${this.handleSuggestionClick}\"\n >\n ${this.renderSuggestionList()}\n </ui-listbox>\n <ui-divider></ui-divider>\n <p class=\"clear-all-history\">\n <span class=\"clear-all-history-label\" @click=\"${this.clearSuggestionsHandler}\">Clear all history</span>\n </p>\n </div>\n `\n }\n\n /**\n * @returns The template for the suggestions list.\n */\n protected renderSuggestionList(): TemplateResult[] | string {\n const items = this.renderedSuggestions\n if (!Array.isArray(items) || !items.length) {\n return ''\n }\n return items.map((i) => this.renderSuggestionItem(i))\n }\n\n /**\n * @returns The template for an URL suggestion item.\n */\n protected renderSuggestionItem(item: IUrl): TemplateResult {\n const { key } = item\n return html` <ui-list-item class=\"suggestion-item\" data-key=\"${item.key}\" role=\"option\" aria-selected=\"false\">\n <div>${key}</div>\n <span slot=\"end-text\" class=\"remove-suggestion\" data-key=\"${key}\">Remove</span>\n </ui-list-item>`\n }\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PropertyValues, TemplateResult } from 'lit';
|
|
2
|
-
import { IUrlParamPart, UrlProcessor } from '@api-client/core/
|
|
2
|
+
import { type IUrlParamPart, UrlProcessor } from '@api-client/core/lib/parsers/UrlProcessor.js';
|
|
3
3
|
import ApiElement from '../ApiElement.js';
|
|
4
4
|
import '../../md/button/ui-filled-tonal-button.js';
|
|
5
5
|
import '../../md/icon-button/ui-icon-button.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UrlParamsForm.d.ts","sourceRoot":"","sources":["../../../../src/elements/http/UrlParamsForm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"UrlParamsForm.d.ts","sourceRoot":"","sources":["../../../../src/elements/http/UrlParamsForm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAA;AAG1D,OAAO,EAAE,KAAK,aAAa,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAA;AAE/F,OAAO,UAAU,MAAM,kBAAkB,CAAA;AAGzC,OAAO,2CAA2C,CAAA;AAClD,OAAO,wCAAwC,CAAA;AAC/C,OAAO,4CAA4C,CAAA;AACnD,OAAO,0BAA0B,CAAA;AACjC,OAAO,+BAA+B,CAAA;AACtC,OAAO,8BAA8B,CAAA;AACrC,OAAO,gCAAgC,CAAA;AACvC,OAAO,2BAA2B,CAAA;AAClC,OAAO,sCAAsC,CAAA;AAE7C,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,UAAU;;IACnD,SAAS,CAAC,MAAM,eAAwB;IAExC;;;OAGG;IACyC,QAAQ,CAAC,QAAQ,UAAQ;IAErE;;;OAGG;IACyC,QAAQ,CAAC,IAAI,UAAQ;IAIjE;;;OAGG;IACH,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IACI,KAAK,CAAC,KAAK,EAAE,MAAM,EAOtB;IAEQ,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;cAEtC,MAAM,CAAC,EAAE,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAWzD,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAS1C,SAAS,CAAC,SAAS,IAAI,IAAI;IAI3B,YAAY,IAAI,IAAI;cASJ,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB1C,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI;IAa5C;;OAEG;IACH,MAAM,IAAI,IAAI;IAId;;OAEG;IACH,KAAK,IAAI,IAAI;IASb;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAU3E;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IASnC;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAQrD;;OAEG;IACH,gBAAgB,IAAI,IAAI;IAgBxB;;OAEG;IACH,gBAAgB,IAAI,IAAI;IAgBxB,SAAS,CAAC,WAAW,IAAI,IAAI;IAK7B,SAAS,CAAC,gBAAgB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAU1C,SAAS,CAAC,iBAAiB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAU3C,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAStC,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAStC,SAAS,CAAC,YAAY,IAAI,IAAI;IAI9B,SAAS,CAAC,YAAY,IAAI,IAAI;IAI9B,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;cAOjB,MAAM,IAAI,cAAc;IAI3C,SAAS,CAAC,mBAAmB,IAAI,cAAc;IAoC/C,SAAS,CAAC,YAAY,IAAI,cAAc;IAOxC,SAAS,CAAC,UAAU,IAAI,cAAc;IAWtC,SAAS,CAAC,UAAU,IAAI,cAAc;IAQtC,SAAS,CAAC,kBAAkB,IAAI,cAAc;IAI9C,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,cAAc;IAI9D,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc;IASzE,SAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc;IAYhF,SAAS,CAAC,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc;IAa9D,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc;IAoB7E,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc;CAkB/E"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { __esDecorate, __runInitializers } from "tslib";
|
|
2
2
|
import { html } from 'lit';
|
|
3
|
-
import { UrlEncoder, UrlProcessor } from '@api-client/core/browser.js';
|
|
4
3
|
import { property, state } from 'lit/decorators.js';
|
|
5
4
|
import { live } from 'lit/directives/live.js';
|
|
5
|
+
import { UrlProcessor } from '@api-client/core/lib/parsers/UrlProcessor.js';
|
|
6
|
+
import { UrlEncoder } from '@api-client/core/lib/parsers/UrlEncoder.js';
|
|
6
7
|
import ApiElement from '../ApiElement.js';
|
|
7
8
|
import '../../md/button/ui-filled-tonal-button.js';
|
|
8
9
|
import '../../md/icon-button/ui-icon-button.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UrlParamsForm.js","sourceRoot":"","sources":["../../../../src/elements/http/UrlParamsForm.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, PropertyValues, TemplateResult } from 'lit'\nimport { IUrlParamPart, UrlEncoder, UrlProcessor } from '@api-client/core/browser.js'\nimport { property, state } from 'lit/decorators.js'\nimport { live } from 'lit/directives/live.js'\nimport ApiElement from '../ApiElement.js'\nimport type Input from '../../md/input/Input.js'\nimport type SwitchElement from '../../md/switch/internals/SwitchElement.js'\nimport '../../md/button/ui-filled-tonal-button.js'\nimport '../../md/icon-button/ui-icon-button.js'\nimport '../../md/dropdown-list/ui-dropdown-list.js'\nimport '../../md/list/ui-list.js'\nimport '../../md/list/ui-list-item.js'\nimport '../../md/switch/ui-switch.js'\nimport '../../md/divider/ui-divider.js'\nimport '../../md/icons/ui-icon.js'\nimport '../../md/text-field/ui-text-field.js'\n\nexport default class UrlParamsForm extends ApiElement {\n protected parser = new UrlProcessor('/')\n\n /**\n * When set the editor is in read only mode.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) accessor readOnly = false\n\n /**\n * Whether the text editor is rendered instead of the form.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) accessor text = false\n\n #value = ''\n\n /**\n * The current value of the editor.\n * @attribute\n */\n get value(): string {\n return this.#value\n }\n\n @property({ type: String })\n set value(value: string) {\n const old = this.#value\n if (old === value) {\n return\n }\n this.#value = value\n this.setupParser(value)\n }\n\n @state() protected accessor textValue: string | undefined\n\n protected override update(cp: PropertyValues<this>): void {\n if (cp.has('text')) {\n if (this.text) {\n this.textValue = this.parser.search.toParamsString()\n } else {\n this.textValue = undefined\n }\n }\n super.update(cp)\n }\n\n protected setupParser(value: string): void {\n if (value) {\n this.parser = new UrlProcessor(value)\n } else {\n this.parser = new UrlProcessor('/')\n }\n this.requestUpdate()\n }\n\n protected handleAdd(): void {\n this.addParameter()\n }\n\n addParameter(): void {\n if (this.readOnly) {\n return\n }\n this.parser.search.append('', '')\n this.requestUpdate()\n this.focusLast()\n }\n\n protected async focusLast(): Promise<void> {\n await this.updateComplete\n const row = this.shadowRoot?.querySelector('.param-row:last-of-type')\n if (!row) {\n return\n }\n try {\n const node = row.querySelector('.name-input input') as HTMLInputElement | undefined\n if (node) {\n node.focus()\n }\n } catch {\n // ...\n }\n }\n\n protected handleOption(e: CustomEvent): void {\n const element = e.detail.item as HTMLElement\n const { option } = element.dataset\n if (!option) {\n return\n }\n if (option === 'clear') {\n this.clear()\n } else if (option === 'text-editor') {\n this.toggle()\n }\n }\n\n /**\n * Toggles the state between form and text editors.\n */\n toggle(): void {\n this.text = !this.text\n }\n\n /**\n * Removes all parameters.\n */\n clear(): void {\n this.parser.search.clear()\n this.updateValue()\n this.requestUpdate()\n if (this.text) {\n this.textValue = this.parser.search.toParamsString()\n }\n }\n\n /**\n * Updates name/value of a parameter on a specific index.\n */\n updateProperty(index: number, field: 'name' | 'value', value: string): void {\n const list = this.parser.search.list()\n list[index][field] = value\n this.parser.search.update(index, list[index])\n this.updateValue()\n if (this.text) {\n this.textValue = this.parser.search.toParamsString()\n }\n }\n\n /**\n * Removes a parameter from an index.\n */\n removeProperty(index: number): void {\n this.parser.search.delete(index)\n this.updateValue()\n this.requestUpdate()\n if (this.text) {\n this.textValue = this.parser.search.toParamsString()\n }\n }\n\n /**\n * Toggles enabled state of a parameter.\n */\n toggleProperty(index: number, enabled: boolean): void {\n this.parser.search.toggle(index, enabled)\n this.updateValue()\n if (this.text) {\n this.textValue = this.parser.search.toParamsString()\n }\n }\n\n /**\n * Encodes all parameters.\n */\n encodeProperties(): void {\n const { search } = this.parser\n const list = search.list()\n list.forEach((part, index) => {\n part.name = UrlEncoder.encodeQueryString(part.name, true)\n part.value = UrlEncoder.encodeQueryString(part.value, true)\n search.update(index, part)\n })\n // TODO: UrlEncoder.decodeQueryString(part, false) on each path segment\n this.requestUpdate()\n this.updateValue()\n if (this.text) {\n this.textValue = this.parser.search.toParamsString()\n }\n }\n\n /**\n * Decodes all parameters.\n */\n decodeProperties(): void {\n const { search } = this.parser\n const list = search.list()\n list.forEach((part, index) => {\n part.name = UrlEncoder.decodeQueryString(part.name, true)\n part.value = UrlEncoder.decodeQueryString(part.value, true)\n search.update(index, part)\n })\n // TODO: UrlEncoder.encodeQueryString(part, false) on each path segment\n this.requestUpdate()\n this.updateValue()\n if (this.text) {\n this.textValue = this.parser.search.toParamsString()\n }\n }\n\n protected updateValue(): void {\n this.#value = this.parser.toString()\n this.notifyChange()\n }\n\n protected handleNameChange(e: Event): void {\n const input = e.target as Input\n const index = Number(input.dataset.index)\n if (Number.isNaN(index)) {\n return\n }\n this.updateProperty(index, 'name', input.value)\n input.checkValidity()\n }\n\n protected handleValueChange(e: Event): void {\n const input = e.target as Input\n const index = Number(input.dataset.index)\n if (Number.isNaN(index)) {\n return\n }\n this.updateProperty(index, 'value', input.value)\n input.checkValidity()\n }\n\n protected handleRemove(e: Event): void {\n const node = e.currentTarget as HTMLElement\n const index = Number(node.dataset.index)\n if (Number.isNaN(index)) {\n return\n }\n this.removeProperty(index)\n }\n\n protected handleToggle(e: Event): void {\n const node = e.currentTarget as SwitchElement\n const index = Number(node.dataset.index)\n if (Number.isNaN(index)) {\n return\n }\n this.toggleProperty(index, !!node.checked)\n }\n\n protected handleEncode(): void {\n this.encodeProperties()\n }\n\n protected handleDecode(): void {\n this.decodeProperties()\n }\n\n protected handleText(e: Event): void {\n const input = e.target as HTMLTextAreaElement\n const { value } = input\n this.parser.search.fromParamsString(value)\n this.updateValue()\n }\n\n protected override render(): TemplateResult {\n return html` ${this.renderActionButtons()} ${this.renderEditor()} `\n }\n\n protected renderActionButtons(): TemplateResult {\n return html`\n <div class=\"editor-actions\">\n <ui-filled-tonal-button @click=\"${this.handleAdd}\">Add</ui-filled-tonal-button>\n <ui-filled-tonal-button @click=\"${this.handleEncode}\">URL encode</ui-filled-tonal-button>\n <ui-filled-tonal-button @click=\"${this.handleDecode}\">URL decode</ui-filled-tonal-button>\n <ui-dropdown-list @select=\"${this.handleOption}\" closeOnOutsideClick class=\"dropdown\">\n <ui-icon-button aria-label=\"Additional options\"\n ><ui-icon icon=\"moreVert\" role=\"presentation\"></ui-icon\n ></ui-icon-button>\n <ui-list slot=\"dropdown\" role=\"menu\">\n <ui-list-item\n role=\"menuitem\"\n data-option=\"text-editor\"\n image=\"icon\"\n title=\"Toggles between a text editor and a form\"\n >\n <ui-icon role=\"presentation\" slot=\"start\" icon=\"${this.text ? 'checkBox' : 'checkBoxBlank'}\"></ui-icon>\n Text editor\n </ui-list-item>\n <ui-divider type=\"inset\"></ui-divider>\n <ui-list-item\n role=\"menuitem\"\n data-option=\"clear\"\n image=\"icon\"\n title=\"Removes all parameters from the editor\"\n >\n <ui-icon role=\"presentation\" slot=\"start\" icon=\"deleteOutline\"></ui-icon>\n Clear form\n </ui-list-item>\n </ui-list>\n </ui-dropdown-list>\n </div>\n `\n }\n\n protected renderEditor(): TemplateResult {\n if (this.text) {\n return this.renderText()\n }\n return this.renderList()\n }\n\n protected renderText(): TemplateResult {\n const { textValue = '' } = this\n return html`\n <div class=\"text-input\">\n <div class=\"error\" role=\"presentation\">Invalid character</div>\n <div class=\"state\"></div>\n <textarea .value=\"${live(textValue)}\" data-enable-grammarly=\"false\" @change=\"${this.handleText}\"></textarea>\n </div>\n `\n }\n\n protected renderList(): TemplateResult {\n const items = this.parser.search.list()\n if (!Array.isArray(items) || !items.length) {\n return this.renderEmptyMessage()\n }\n return this.renderParams(items)\n }\n\n protected renderEmptyMessage(): TemplateResult {\n return html` <div class=\"empty-message\">No parameters added</div> `\n }\n\n protected renderParams(items: IUrlParamPart[]): TemplateResult {\n return html` ${items.map((item, index) => this.renderParam(item, index))} `\n }\n\n protected renderParam(item: IUrlParamPart, index: number): TemplateResult {\n return html`\n <div class=\"param-row\">\n ${this.renderToggleButton(item, index)} ${this.renderNameField(item, index)}\n ${this.renderValueField(item, index)} ${this.renderDeleteParameter(index)}\n </div>\n `\n }\n\n protected renderToggleButton(item: IUrlParamPart, index: number): TemplateResult {\n return html`\n <ui-switch\n .checked=\"${item.enabled}\"\n @change=\"${this.handleToggle}\"\n aria-label=\"Toggle this parameter\"\n data-index=\"${index}\"\n ?disabled=\"${this.readOnly}\"\n ></ui-switch>\n `\n }\n\n protected renderDeleteParameter(index: number): TemplateResult {\n return html`\n <ui-icon-button\n aria-label=\"Delete this parameter\"\n data-index=\"${index}\"\n @click=\"${this.handleRemove}\"\n ?disabled=\"${this.readOnly}\"\n >\n <ui-icon icon=\"deleteOutline\" role=\"presentation\"></ui-icon>\n </ui-icon-button>\n `\n }\n\n protected renderNameField(item: IUrlParamPart, index: number): TemplateResult {\n return html`\n <div class=\"input-wrapper name-input\">\n <div class=\"error\" role=\"presentation\">Invalid character</div>\n <div class=\"state\"></div>\n <input\n type=\"text\"\n name=\"name\"\n autocomplete=\"off\"\n .value=\"${live(item.name)}\"\n data-index=\"${index}\"\n ?readOnly=\"${this.readOnly}\"\n pattern=\"\\\\S*\"\n aria-label=\"Parameter name value\"\n @change=\"${this.handleNameChange}\"\n />\n </div>\n `\n }\n\n protected renderValueField(item: IUrlParamPart, index: number): TemplateResult {\n return html`\n <div class=\"input-wrapper value-input\">\n <div class=\"error\" role=\"presentation\">Invalid character</div>\n <div class=\"state\"></div>\n <input\n type=\"text\"\n name=\"value\"\n .value=\"${live(item.value)}\"\n data-index=\"${index}\"\n ?readOnly=\"${this.readOnly}\"\n pattern=\"\\\\S*\"\n aria-label=\"Parameter value\"\n @change=\"${this.handleValueChange}\"\n />\n </div>\n `\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"UrlParamsForm.js","sourceRoot":"","sources":["../../../../src/elements/http/UrlParamsForm.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, PropertyValues, TemplateResult } from 'lit'\nimport { property, state } from 'lit/decorators.js'\nimport { live } from 'lit/directives/live.js'\nimport { type IUrlParamPart, UrlProcessor } from '@api-client/core/lib/parsers/UrlProcessor.js'\nimport { UrlEncoder } from '@api-client/core/lib/parsers/UrlEncoder.js'\nimport ApiElement from '../ApiElement.js'\nimport type Input from '../../md/input/Input.js'\nimport type SwitchElement from '../../md/switch/internals/SwitchElement.js'\nimport '../../md/button/ui-filled-tonal-button.js'\nimport '../../md/icon-button/ui-icon-button.js'\nimport '../../md/dropdown-list/ui-dropdown-list.js'\nimport '../../md/list/ui-list.js'\nimport '../../md/list/ui-list-item.js'\nimport '../../md/switch/ui-switch.js'\nimport '../../md/divider/ui-divider.js'\nimport '../../md/icons/ui-icon.js'\nimport '../../md/text-field/ui-text-field.js'\n\nexport default class UrlParamsForm extends ApiElement {\n protected parser = new UrlProcessor('/')\n\n /**\n * When set the editor is in read only mode.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) accessor readOnly = false\n\n /**\n * Whether the text editor is rendered instead of the form.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) accessor text = false\n\n #value = ''\n\n /**\n * The current value of the editor.\n * @attribute\n */\n get value(): string {\n return this.#value\n }\n\n @property({ type: String })\n set value(value: string) {\n const old = this.#value\n if (old === value) {\n return\n }\n this.#value = value\n this.setupParser(value)\n }\n\n @state() protected accessor textValue: string | undefined\n\n protected override update(cp: PropertyValues<this>): void {\n if (cp.has('text')) {\n if (this.text) {\n this.textValue = this.parser.search.toParamsString()\n } else {\n this.textValue = undefined\n }\n }\n super.update(cp)\n }\n\n protected setupParser(value: string): void {\n if (value) {\n this.parser = new UrlProcessor(value)\n } else {\n this.parser = new UrlProcessor('/')\n }\n this.requestUpdate()\n }\n\n protected handleAdd(): void {\n this.addParameter()\n }\n\n addParameter(): void {\n if (this.readOnly) {\n return\n }\n this.parser.search.append('', '')\n this.requestUpdate()\n this.focusLast()\n }\n\n protected async focusLast(): Promise<void> {\n await this.updateComplete\n const row = this.shadowRoot?.querySelector('.param-row:last-of-type')\n if (!row) {\n return\n }\n try {\n const node = row.querySelector('.name-input input') as HTMLInputElement | undefined\n if (node) {\n node.focus()\n }\n } catch {\n // ...\n }\n }\n\n protected handleOption(e: CustomEvent): void {\n const element = e.detail.item as HTMLElement\n const { option } = element.dataset\n if (!option) {\n return\n }\n if (option === 'clear') {\n this.clear()\n } else if (option === 'text-editor') {\n this.toggle()\n }\n }\n\n /**\n * Toggles the state between form and text editors.\n */\n toggle(): void {\n this.text = !this.text\n }\n\n /**\n * Removes all parameters.\n */\n clear(): void {\n this.parser.search.clear()\n this.updateValue()\n this.requestUpdate()\n if (this.text) {\n this.textValue = this.parser.search.toParamsString()\n }\n }\n\n /**\n * Updates name/value of a parameter on a specific index.\n */\n updateProperty(index: number, field: 'name' | 'value', value: string): void {\n const list = this.parser.search.list()\n list[index][field] = value\n this.parser.search.update(index, list[index])\n this.updateValue()\n if (this.text) {\n this.textValue = this.parser.search.toParamsString()\n }\n }\n\n /**\n * Removes a parameter from an index.\n */\n removeProperty(index: number): void {\n this.parser.search.delete(index)\n this.updateValue()\n this.requestUpdate()\n if (this.text) {\n this.textValue = this.parser.search.toParamsString()\n }\n }\n\n /**\n * Toggles enabled state of a parameter.\n */\n toggleProperty(index: number, enabled: boolean): void {\n this.parser.search.toggle(index, enabled)\n this.updateValue()\n if (this.text) {\n this.textValue = this.parser.search.toParamsString()\n }\n }\n\n /**\n * Encodes all parameters.\n */\n encodeProperties(): void {\n const { search } = this.parser\n const list = search.list()\n list.forEach((part, index) => {\n part.name = UrlEncoder.encodeQueryString(part.name, true)\n part.value = UrlEncoder.encodeQueryString(part.value, true)\n search.update(index, part)\n })\n // TODO: UrlEncoder.decodeQueryString(part, false) on each path segment\n this.requestUpdate()\n this.updateValue()\n if (this.text) {\n this.textValue = this.parser.search.toParamsString()\n }\n }\n\n /**\n * Decodes all parameters.\n */\n decodeProperties(): void {\n const { search } = this.parser\n const list = search.list()\n list.forEach((part, index) => {\n part.name = UrlEncoder.decodeQueryString(part.name, true)\n part.value = UrlEncoder.decodeQueryString(part.value, true)\n search.update(index, part)\n })\n // TODO: UrlEncoder.encodeQueryString(part, false) on each path segment\n this.requestUpdate()\n this.updateValue()\n if (this.text) {\n this.textValue = this.parser.search.toParamsString()\n }\n }\n\n protected updateValue(): void {\n this.#value = this.parser.toString()\n this.notifyChange()\n }\n\n protected handleNameChange(e: Event): void {\n const input = e.target as Input\n const index = Number(input.dataset.index)\n if (Number.isNaN(index)) {\n return\n }\n this.updateProperty(index, 'name', input.value)\n input.checkValidity()\n }\n\n protected handleValueChange(e: Event): void {\n const input = e.target as Input\n const index = Number(input.dataset.index)\n if (Number.isNaN(index)) {\n return\n }\n this.updateProperty(index, 'value', input.value)\n input.checkValidity()\n }\n\n protected handleRemove(e: Event): void {\n const node = e.currentTarget as HTMLElement\n const index = Number(node.dataset.index)\n if (Number.isNaN(index)) {\n return\n }\n this.removeProperty(index)\n }\n\n protected handleToggle(e: Event): void {\n const node = e.currentTarget as SwitchElement\n const index = Number(node.dataset.index)\n if (Number.isNaN(index)) {\n return\n }\n this.toggleProperty(index, !!node.checked)\n }\n\n protected handleEncode(): void {\n this.encodeProperties()\n }\n\n protected handleDecode(): void {\n this.decodeProperties()\n }\n\n protected handleText(e: Event): void {\n const input = e.target as HTMLTextAreaElement\n const { value } = input\n this.parser.search.fromParamsString(value)\n this.updateValue()\n }\n\n protected override render(): TemplateResult {\n return html` ${this.renderActionButtons()} ${this.renderEditor()} `\n }\n\n protected renderActionButtons(): TemplateResult {\n return html`\n <div class=\"editor-actions\">\n <ui-filled-tonal-button @click=\"${this.handleAdd}\">Add</ui-filled-tonal-button>\n <ui-filled-tonal-button @click=\"${this.handleEncode}\">URL encode</ui-filled-tonal-button>\n <ui-filled-tonal-button @click=\"${this.handleDecode}\">URL decode</ui-filled-tonal-button>\n <ui-dropdown-list @select=\"${this.handleOption}\" closeOnOutsideClick class=\"dropdown\">\n <ui-icon-button aria-label=\"Additional options\"\n ><ui-icon icon=\"moreVert\" role=\"presentation\"></ui-icon\n ></ui-icon-button>\n <ui-list slot=\"dropdown\" role=\"menu\">\n <ui-list-item\n role=\"menuitem\"\n data-option=\"text-editor\"\n image=\"icon\"\n title=\"Toggles between a text editor and a form\"\n >\n <ui-icon role=\"presentation\" slot=\"start\" icon=\"${this.text ? 'checkBox' : 'checkBoxBlank'}\"></ui-icon>\n Text editor\n </ui-list-item>\n <ui-divider type=\"inset\"></ui-divider>\n <ui-list-item\n role=\"menuitem\"\n data-option=\"clear\"\n image=\"icon\"\n title=\"Removes all parameters from the editor\"\n >\n <ui-icon role=\"presentation\" slot=\"start\" icon=\"deleteOutline\"></ui-icon>\n Clear form\n </ui-list-item>\n </ui-list>\n </ui-dropdown-list>\n </div>\n `\n }\n\n protected renderEditor(): TemplateResult {\n if (this.text) {\n return this.renderText()\n }\n return this.renderList()\n }\n\n protected renderText(): TemplateResult {\n const { textValue = '' } = this\n return html`\n <div class=\"text-input\">\n <div class=\"error\" role=\"presentation\">Invalid character</div>\n <div class=\"state\"></div>\n <textarea .value=\"${live(textValue)}\" data-enable-grammarly=\"false\" @change=\"${this.handleText}\"></textarea>\n </div>\n `\n }\n\n protected renderList(): TemplateResult {\n const items = this.parser.search.list()\n if (!Array.isArray(items) || !items.length) {\n return this.renderEmptyMessage()\n }\n return this.renderParams(items)\n }\n\n protected renderEmptyMessage(): TemplateResult {\n return html` <div class=\"empty-message\">No parameters added</div> `\n }\n\n protected renderParams(items: IUrlParamPart[]): TemplateResult {\n return html` ${items.map((item, index) => this.renderParam(item, index))} `\n }\n\n protected renderParam(item: IUrlParamPart, index: number): TemplateResult {\n return html`\n <div class=\"param-row\">\n ${this.renderToggleButton(item, index)} ${this.renderNameField(item, index)}\n ${this.renderValueField(item, index)} ${this.renderDeleteParameter(index)}\n </div>\n `\n }\n\n protected renderToggleButton(item: IUrlParamPart, index: number): TemplateResult {\n return html`\n <ui-switch\n .checked=\"${item.enabled}\"\n @change=\"${this.handleToggle}\"\n aria-label=\"Toggle this parameter\"\n data-index=\"${index}\"\n ?disabled=\"${this.readOnly}\"\n ></ui-switch>\n `\n }\n\n protected renderDeleteParameter(index: number): TemplateResult {\n return html`\n <ui-icon-button\n aria-label=\"Delete this parameter\"\n data-index=\"${index}\"\n @click=\"${this.handleRemove}\"\n ?disabled=\"${this.readOnly}\"\n >\n <ui-icon icon=\"deleteOutline\" role=\"presentation\"></ui-icon>\n </ui-icon-button>\n `\n }\n\n protected renderNameField(item: IUrlParamPart, index: number): TemplateResult {\n return html`\n <div class=\"input-wrapper name-input\">\n <div class=\"error\" role=\"presentation\">Invalid character</div>\n <div class=\"state\"></div>\n <input\n type=\"text\"\n name=\"name\"\n autocomplete=\"off\"\n .value=\"${live(item.name)}\"\n data-index=\"${index}\"\n ?readOnly=\"${this.readOnly}\"\n pattern=\"\\\\S*\"\n aria-label=\"Parameter name value\"\n @change=\"${this.handleNameChange}\"\n />\n </div>\n `\n }\n\n protected renderValueField(item: IUrlParamPart, index: number): TemplateResult {\n return html`\n <div class=\"input-wrapper value-input\">\n <div class=\"error\" role=\"presentation\">Invalid character</div>\n <div class=\"state\"></div>\n <input\n type=\"text\"\n name=\"value\"\n .value=\"${live(item.value)}\"\n data-index=\"${index}\"\n ?readOnly=\"${this.readOnly}\"\n pattern=\"\\\\S*\"\n aria-label=\"Parameter value\"\n @change=\"${this.handleValueChange}\"\n />\n </div>\n `\n }\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { html } from 'lit';
|
|
2
|
-
import {
|
|
2
|
+
import { nanoid } from 'nanoid';
|
|
3
3
|
import { SplitItem } from './SplitItem.js';
|
|
4
4
|
import { LayoutType, PanelState, SplitCloseDirection, SplitDirection, SplitPanelTarget, SplitRegion, } from './type.js';
|
|
5
5
|
import missingIndexes from '../../lib/MissingIndexes.js';
|
|
@@ -17,7 +17,7 @@ export class SplitPanel {
|
|
|
17
17
|
/**
|
|
18
18
|
* The key used as an internal reference to the definitions map.
|
|
19
19
|
*/
|
|
20
|
-
key =
|
|
20
|
+
key = nanoid();
|
|
21
21
|
layout = SplitDirection.horizontal;
|
|
22
22
|
items = [];
|
|
23
23
|
/**
|
|
@@ -52,7 +52,7 @@ export class SplitPanel {
|
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
new(schema) {
|
|
55
|
-
const { key =
|
|
55
|
+
const { key = nanoid(), layout = SplitDirection.horizontal, items, selected } = schema;
|
|
56
56
|
this.key = key;
|
|
57
57
|
this.layout = layout;
|
|
58
58
|
if (Array.isArray(items)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SplitPanel.js","sourceRoot":"","sources":["../../../../src/elements/layout/SplitPanel.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, TemplateResult } from 'lit'\nimport { uuidV4 } from '@api-client/core/browser.js'\nimport { type ISplitItem, SplitItem } from './SplitItem.js'\nimport {\n IPanelObject,\n LayoutType,\n PanelState,\n SplitCloseDirection,\n SplitDirection,\n SplitItemRenderCallback,\n SplitLayoutAddOptions,\n SplitPanelRemoveItemOptions,\n SplitPanelSplitOptions,\n SplitPanelTarget,\n SplitRegion,\n} from './type.js'\nimport { SplitLayout } from './SplitLayout.js'\nimport missingIndexes from '../../lib/MissingIndexes.js'\nimport '../../define/layout/split-view.js'\n\nexport interface ISplitPanel {\n /**\n * If already generated, the key of the panel.\n */\n key?: string\n\n layout: SplitDirection\n items?: IPanelObject[]\n /**\n * The item being rendered in the panel.\n * Note, this is the `key` of the item and not the `id` of the item.\n */\n selected?: string\n}\n\n/**\n * The class represents a panel model for the split layout.\n * A panel can only hold other panels or layout items. When a panel\n * defines both, items are ignored.\n *\n * A panel can render ony one item at a time. TO view more items\n * the application needs to add panels to this panel and distribute items among them.\n */\nexport class SplitPanel {\n /**\n * The key used as an internal reference to the definitions map.\n */\n key = uuidV4()\n\n layout: SplitDirection = SplitDirection.horizontal\n\n items: IPanelObject[] = []\n\n /**\n * The item being rendered in the panel.\n * Note, this is the `key` of the item and not the `id` of the item.\n */\n selected?: string\n\n /**\n * The current state of the panel.\n */\n state: PanelState = PanelState.idle\n\n get hasPanels(): boolean {\n return this.items.some((i) => i.type === LayoutType.panel)\n }\n\n get hasItems(): boolean {\n return this.items.some((i) => i.type === LayoutType.item)\n }\n\n static fromLayout(manager: SplitLayout, layout = SplitDirection.horizontal): SplitPanel {\n const schema: ISplitPanel = {\n layout,\n }\n return new SplitPanel(manager, schema)\n }\n\n /**\n * @param manager A reference to the manager.\n * @param parentPanel A reference to a parent panel.\n */\n constructor(\n public manager: SplitLayout,\n schema?: ISplitPanel\n ) {\n if (schema) {\n this.new(schema)\n }\n }\n\n new(schema: ISplitPanel): void {\n const { key = uuidV4(), layout = SplitDirection.horizontal, items, selected } = schema\n this.key = key\n this.layout = layout\n if (Array.isArray(items)) {\n this.items = items.map((i) => ({ ...i }))\n } else {\n this.items = []\n }\n if (selected) {\n this.selected = selected\n } else {\n this.selected = undefined\n }\n this.state = PanelState.idle\n }\n\n toJSON(): ISplitPanel {\n const result: ISplitPanel = {\n layout: this.layout,\n key: this.key,\n }\n if (Array.isArray(this.items) && this.items.length) {\n result.items = this.items.map((i) => ({ ...i }))\n }\n if (this.selected) {\n result.selected = this.selected\n }\n return result\n }\n\n getParent(): SplitPanel | undefined {\n return this.manager.getParents(this.key)[0]\n }\n\n /**\n * @returns True when the panel accepts drop events.\n */\n canDrop(): boolean {\n return !!this.items.length\n }\n\n /**\n * @returns Returns a **copy** of the items array sorted by index.\n */\n sortedItems(): SplitItem[] {\n const { items, manager } = this\n const splitItems: SplitItem[] = []\n items.forEach((i) => {\n if (i.type === LayoutType.item) {\n const value = manager.findItem(i.key as string)\n if (value) {\n splitItems.push(value)\n }\n }\n })\n return [...splitItems].sort((a, b) => (a.index || 0) - (b.index || 0))\n }\n\n /**\n * Finds an index where to put an item.\n * This finds \"holes\" in items where an index is not set for a given position.\n * In this case the resulting index is the missing index.\n * Otherwise it returns next after the highest index.\n *\n * @returns The index of the next item\n */\n nextIndex(): number {\n const { items, manager } = this\n if (!items.length) {\n return 0\n }\n const set = new Set<number>()\n for (const item of items) {\n const value = manager.findItem(item.key as string)\n if (!value) {\n continue\n }\n const { index = 0 } = value\n set.add(index)\n }\n const sorted = [...set].sort()\n const missing = missingIndexes(sorted)\n if (missing.length) {\n return missing[0]\n }\n const max = sorted.pop() as number\n return max + 1\n }\n\n /**\n * Checks whether this panel contains an item\n * @param key The key of the item to test.\n * @returns true if the panel contains an item\n */\n hasItem(key: string): boolean {\n return this.items.some((i) => i.key === key)\n }\n\n /**\n * Adds an item to the layout.\n *\n * @param item The item to add\n * @param opts Layout adding item options\n * @returns Whether a new item was added to the layout. false when the item is already in the layout panel.\n */\n addItem(item: ISplitItem | SplitItem, opts: SplitLayoutAddOptions = {}): SplitItem {\n const { region = SplitRegion.center } = opts\n const hasItem = region === SplitRegion.center && this.hasItem(item.key)\n if (hasItem) {\n if (item.key !== this.selected) {\n this.selected = item.key\n this.manager.notifyChange()\n this.updateView()\n }\n return this.manager.findItem(item.key) as SplitItem\n }\n\n const hasOptionIndex = typeof opts.index === 'number'\n const hasItemIndex = typeof item.index === 'number'\n const hasIndex = hasOptionIndex || hasItemIndex\n let index: number\n if (hasOptionIndex) {\n index = opts.index as number\n } else if (hasItemIndex) {\n index = item.index as number\n } else {\n index = this.nextIndex()\n }\n if (region === SplitRegion.center || (!this.hasItems && !this.hasPanels)) {\n if (hasIndex) {\n this.increaseIndex(index) // + 1\n }\n const instance = (item as SplitItem).toJSON ? (item as SplitItem) : new SplitItem(this.manager, item)\n instance.index = index\n this.items.push({\n type: LayoutType.item,\n key: item.key,\n })\n this.manager.definitions.set(item.key, {\n type: LayoutType.item,\n value: instance,\n })\n // this.manager.dispatchNameItem(instance); ???? it's a fresh definition, should have a current name.\n this.selected = item.key\n this.manager.notifyChange()\n this.updateView()\n return instance\n }\n\n const panel = this.splitByRegion(region)\n // we don't call request update here because\n // the app has to redo the view rendering first as\n // the panel purpose has changed.\n return panel.addItem(item, { index })\n }\n\n protected splitByRegion(region: SplitRegion): SplitPanel {\n let panel: SplitPanel\n if (region === 'east') {\n ;[, panel] = this.split({\n layout: SplitDirection.horizontal,\n itemsTarget: SplitPanelTarget.first,\n noSideEffects: true,\n })\n } else if (region === 'west') {\n ;[panel] = this.split({\n layout: SplitDirection.horizontal,\n itemsTarget: SplitPanelTarget.other,\n noSideEffects: true,\n })\n } else if (region === 'south') {\n ;[, panel] = this.split({\n layout: SplitDirection.vertical,\n itemsTarget: SplitPanelTarget.first,\n noSideEffects: true,\n })\n } else {\n ;[panel] = this.split({\n layout: SplitDirection.vertical,\n itemsTarget: SplitPanelTarget.other,\n noSideEffects: true,\n })\n }\n return panel\n }\n\n /**\n * Splits this panel into 2 panels.\n * This to be used when the panel has no other panels. Only items are allowed.\n * It produces 2 new panels and moves the items to the first one leaving the other one available.\n */\n split(opts: SplitPanelSplitOptions = {}): SplitPanel[] {\n const { layout = SplitDirection.horizontal, itemsTarget = SplitPanelTarget.first } = opts\n if (this.hasPanels) {\n throw new Error(`Invalid state. Panels can be split only when containing items only.`)\n }\n this.layout = layout\n const { items, selected } = this\n this.items = []\n this.selected = undefined\n\n const p1 = this.addPanel()\n const p2 = this.addPanel()\n\n // const p1 = new SplitPanel(this.manager);\n // const p2 = new SplitPanel(this.manager);\n // this.manager.definitions.set(p1.key, {\n // type: LayoutType.panel,\n // value: p1,\n // });\n // this.manager.definitions.set(p2.key, {\n // type: LayoutType.panel,\n // value: p2,\n // });\n // this.items.push({\n // type: LayoutType.panel,\n // key: p1.key,\n // });\n // this.items.push({\n // type: LayoutType.panel,\n // key: p2.key,\n // });\n\n const panel = itemsTarget === SplitPanelTarget.first ? p1 : p2\n panel.items = items\n panel.selected = selected\n if (!opts.noSideEffects) {\n this.manager.notifyChange()\n }\n return [p1, p2]\n }\n\n unsplit(): void {\n const panelItem = this.items.find((i) => i.type === LayoutType.panel)\n if (!panelItem) {\n throw new Error('Invalid state. This panel has no panels to unshift.')\n }\n const panel = this.manager.findPanel(panelItem.key)\n if (!panel) {\n throw new Error('Invalid state. This panel is not managed by the SplitManager.')\n }\n const { items, selected } = panel\n this.items = items\n this.selected = selected\n this.manager.notifyChange()\n }\n\n /**\n * Decreases items index by 1 to all items with index at least equal to `fromIndex`.\n * @param fromIndex The minimal index to affect.\n */\n decreaseIndex(fromIndex: number): void {\n for (const item of this.items) {\n if (item.type !== LayoutType.item) {\n continue\n }\n const definition = this.manager.findItem(item.key)\n if (!definition) {\n continue\n }\n if (!definition.index) {\n definition.index = 0\n }\n const { index } = definition\n if (index >= fromIndex && index > 0) {\n definition.index -= 1\n }\n }\n }\n\n /**\n * Increases items index by 1 to all items with index at least equal to `fromIndex`.\n * @param fromIndex The minimal index to affect.\n */\n increaseIndex(fromIndex: number): void {\n for (const item of this.items) {\n if (item.type !== LayoutType.item) {\n continue\n }\n const definition = this.manager.findItem(item.key)\n if (!definition) {\n continue\n }\n if (!definition.index) {\n definition.index = 0\n }\n const { index } = definition\n if (index >= fromIndex) {\n definition.index += 1\n }\n }\n }\n\n removeChildItem(item: SplitItem, opts: SplitPanelRemoveItemOptions = {}): SplitItem | undefined {\n const index = this.items.findIndex((i) => i.key === item.key)\n if (index < 0) {\n return undefined\n }\n const itemInfo = this.items[index]\n this.items.splice(index, 1)\n this.decreaseIndex(item.index || 0)\n const parents = this.manager.getParents(item.key)\n if (!parents.length) {\n // remove the definition since no other panel have this item.\n this.manager.definitions.delete(itemInfo.key)\n }\n\n if (this.items.length === 0) {\n // remove panel (self)\n const parent = this.getParent()\n if (parent) {\n parent.removePanel(this.key)\n // Note, ignore `opts.noSideEffects` for tab close. It won't get dispatched elsewhere.\n this.manager.notifyTabClose(item.key, this.key)\n // no point doing the stuff below as the whole panel is removed.\n return item\n }\n }\n\n if (this.selected === item.key) {\n let nextKey: string | undefined\n if (this.items[index]) {\n nextKey = this.items[index].key\n } else if (this.items[index - 1]) {\n nextKey = this.items[index - 1].key\n } else if (this.items.length) {\n const [other] = this.items\n nextKey = other.key\n }\n this.selected = nextKey\n }\n\n if (!opts.noSideEffects) {\n this.manager.notifyTabClose(item.key, this.key)\n this.manager.notifyChange()\n this.manager.updateView(this.key)\n }\n return item\n }\n\n /**\n * Removes an item from the layout\n * @param key The `key` of the item.\n * @returns The removed item, if any.\n */\n removeItem(key: string, opts?: SplitPanelRemoveItemOptions): SplitItem | undefined {\n const removed = this.manager.findItem(key)\n if (!removed) {\n return undefined\n }\n return this.removeChildItem(removed, opts)\n // const index = this.items.findIndex(i => i.key === key);\n // if (index < 0) {\n // return undefined;\n // }\n // const itemInfo = this.items[index];\n // this.items.splice(index, 1);\n // this.manager.definitions.delete(itemInfo.key);\n // this.decreaseIndex(removed.index || 0);\n\n // if (this.items.length === 0) {\n // // remove panel (self)\n // const parent = this.getParent();\n // if (parent) {\n // parent.removePanel(this.key);\n // // Note, ignore `opts.noSideEffects` for tab close. It won't get dispatched elsewhere.\n // this.manager.notifyTabClose(key);\n // // no point doing the stuff below as the whole panel is removed.\n // return removed;\n // }\n // }\n // if (this.selected === key) {\n // let nextKey: string | undefined;\n // if (this.items[index]) {\n // nextKey = this.items[index].key;\n // } else if (this.items[index - 1]) {\n // nextKey = this.items[index - 1].key;\n // } else if (this.items.length) {\n // const [item] = this.items;\n // nextKey = item.key;\n // }\n // this.selected = nextKey;\n // }\n // if (!opts.noSideEffects) {\n // this.manager.notifyTabClose(key);\n // this.manager.notifyChange();\n // this.manager.updateView(this.key);\n // }\n // return removed;\n }\n\n /**\n * @param key The key of the item to perform a relative operation from.\n * @param dir The direction to which close other items. Default to both directions leaving only the `key` item\n */\n removeRelative(key: string, dir: SplitCloseDirection = SplitCloseDirection.both): void {\n const items = this.sortedItems()\n const index = items.findIndex((i) => i.key === key)\n if (index < 0) {\n return\n }\n\n const item = items[index]\n let removed: string[] = []\n if (dir === SplitCloseDirection.both) {\n removed = items.filter((i) => i !== item).map((i) => i.key)\n } else if (dir === SplitCloseDirection.left) {\n removed = items.slice(0, index).map((i) => i.key)\n } else {\n removed = this.items.slice(index + 1).map((i) => i.key)\n }\n this.items = this.items.filter((i) => !removed.includes(i.key))\n this.selected = item.key\n\n removed.forEach((i) => {\n const parents = this.manager.getParents(i)\n if (!parents.length) {\n this.manager.definitions.delete(i)\n }\n this.manager.notifyTabClose(i, this.key)\n })\n this.manager.notifyChange()\n this.manager.updateView(this.key)\n }\n\n removePanel(id: string, opts: SplitPanelRemoveItemOptions = {}): void {\n const index = this.items.findIndex((p) => p.key === id)\n if (index < 0) {\n return\n }\n const item = this.items[index]\n\n const panel = this.manager.findPanel(item.key) as SplitPanel\n panel.clearItems()\n\n this.items.splice(index, 1)\n this.manager.definitions.delete(item.key)\n if (this.items.length === 1) {\n this.unsplit()\n }\n if (!opts.noSideEffects) {\n this.manager.notifyChange()\n this.manager.updateView(this.key)\n }\n }\n\n clearItems(opts?: SplitPanelRemoveItemOptions): void {\n const { items } = this\n items.forEach((childItem) => {\n if (childItem.type === LayoutType.item) {\n this.removeItem(childItem.key, opts)\n } else {\n this.removePanel(childItem.key, opts)\n }\n })\n }\n\n /**\n * Moves an item to a new index.\n *\n * @param key The item key\n * @param toIndex The new index. When not set it moves the item to the end.\n */\n moveItem(key: string, opts: SplitLayoutAddOptions = {}): void {\n const info = this.items.find((i) => i.key === key)\n if (!info) {\n return\n }\n const item = this.manager.findItem(info.key)\n if (!item) {\n return\n }\n const { index, region } = opts\n if (region) {\n this.moveToRegion(item, region)\n } else if (typeof index === 'number') {\n this.moveToIndex(item, index)\n } else {\n this.moveToEnd(item)\n }\n }\n\n moveToRegion(item: SplitItem, region: SplitRegion): void {\n if (this.items.length < 2) {\n // nothing to split.\n return\n }\n if (region === SplitRegion.center) {\n // the item is already there.\n return\n }\n const itemsIndex = this.items.findIndex((i) => i.key === item.key)\n if (itemsIndex < 0) {\n return\n }\n this.items.splice(itemsIndex, 1)\n const index = typeof item.index === 'number' ? item.index : this.nextIndex()\n const panel = this.splitByRegion(region)\n panel.addItem(item, { index })\n }\n\n moveToIndex(item: SplitItem, index: number): void {\n if (item.index === index) {\n return\n }\n const hasTargetAtTarget = !!this.items[index as number]\n this.decreaseIndex(item.index)\n if (hasTargetAtTarget) {\n this.increaseIndex(index)\n }\n item.index = index\n this.manager.notifyChange()\n this.manager.updateView(this.key)\n }\n\n moveToEnd(item: SplitItem): void {\n if (item.index !== undefined) {\n this.decreaseIndex(item.index)\n }\n item.index = this.nextIndex()\n this.manager.notifyChange()\n this.manager.updateView(this.key)\n }\n\n updateView(): void {\n const layout = this.manager.findView(this.key)\n if (!layout) {\n return\n }\n layout.requestUpdate()\n }\n\n addPanel(layout = SplitDirection.horizontal): SplitPanel {\n return this.manager.addPanel({ layout, parent: this.key })\n }\n\n panelTemplate(panel: SplitPanel, itemCallback: SplitItemRenderCallback): TemplateResult | undefined {\n const { layout, items, selected, manager } = panel\n const renderPanels = items.filter((i) => i.type === LayoutType.panel)\n const renderItems = items.filter((i) => i.type === LayoutType.item)\n if (!renderPanels.length && !renderItems.length) {\n return undefined\n }\n const { dragTypes, constrain } = manager.options\n let content: (TemplateResult | undefined)[]\n\n if (renderPanels.length) {\n content = renderPanels.map((item) => {\n const targetPanel = manager.findPanel(item.key)\n return targetPanel && this.panelTemplate(targetPanel, itemCallback)\n })\n } else {\n content = renderItems.map((item) => {\n const targetItem = manager.findItem(item.key)\n return targetItem && this.itemTemplate(targetItem, targetItem.key === selected, itemCallback)\n })\n }\n const valid = content.filter((i) => !!i)\n if (!valid.length) {\n return undefined\n }\n return html`\n <split-view\n layout=\"${layout}\"\n .dragTypes=\"${dragTypes}\"\n .panel=\"${panel}\"\n .key=\"${panel.key}\"\n ?constrain=\"${constrain}\"\n >\n ${content}\n </split-view>\n `\n }\n\n itemTemplate(item: SplitItem, visible: boolean, itemCallback: SplitItemRenderCallback): TemplateResult {\n return itemCallback(item, visible)\n }\n\n render(itemCallback: SplitItemRenderCallback): TemplateResult | undefined {\n return this.panelTemplate(this, itemCallback)\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"SplitPanel.js","sourceRoot":"","sources":["../../../../src/elements/layout/SplitPanel.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, TemplateResult } from 'lit'\nimport { nanoid } from 'nanoid'\nimport { type ISplitItem, SplitItem } from './SplitItem.js'\nimport {\n IPanelObject,\n LayoutType,\n PanelState,\n SplitCloseDirection,\n SplitDirection,\n SplitItemRenderCallback,\n SplitLayoutAddOptions,\n SplitPanelRemoveItemOptions,\n SplitPanelSplitOptions,\n SplitPanelTarget,\n SplitRegion,\n} from './type.js'\nimport { SplitLayout } from './SplitLayout.js'\nimport missingIndexes from '../../lib/MissingIndexes.js'\nimport '../../define/layout/split-view.js'\n\nexport interface ISplitPanel {\n /**\n * If already generated, the key of the panel.\n */\n key?: string\n\n layout: SplitDirection\n items?: IPanelObject[]\n /**\n * The item being rendered in the panel.\n * Note, this is the `key` of the item and not the `id` of the item.\n */\n selected?: string\n}\n\n/**\n * The class represents a panel model for the split layout.\n * A panel can only hold other panels or layout items. When a panel\n * defines both, items are ignored.\n *\n * A panel can render ony one item at a time. TO view more items\n * the application needs to add panels to this panel and distribute items among them.\n */\nexport class SplitPanel {\n /**\n * The key used as an internal reference to the definitions map.\n */\n key = nanoid()\n\n layout: SplitDirection = SplitDirection.horizontal\n\n items: IPanelObject[] = []\n\n /**\n * The item being rendered in the panel.\n * Note, this is the `key` of the item and not the `id` of the item.\n */\n selected?: string\n\n /**\n * The current state of the panel.\n */\n state: PanelState = PanelState.idle\n\n get hasPanels(): boolean {\n return this.items.some((i) => i.type === LayoutType.panel)\n }\n\n get hasItems(): boolean {\n return this.items.some((i) => i.type === LayoutType.item)\n }\n\n static fromLayout(manager: SplitLayout, layout = SplitDirection.horizontal): SplitPanel {\n const schema: ISplitPanel = {\n layout,\n }\n return new SplitPanel(manager, schema)\n }\n\n /**\n * @param manager A reference to the manager.\n * @param parentPanel A reference to a parent panel.\n */\n constructor(\n public manager: SplitLayout,\n schema?: ISplitPanel\n ) {\n if (schema) {\n this.new(schema)\n }\n }\n\n new(schema: ISplitPanel): void {\n const { key = nanoid(), layout = SplitDirection.horizontal, items, selected } = schema\n this.key = key\n this.layout = layout\n if (Array.isArray(items)) {\n this.items = items.map((i) => ({ ...i }))\n } else {\n this.items = []\n }\n if (selected) {\n this.selected = selected\n } else {\n this.selected = undefined\n }\n this.state = PanelState.idle\n }\n\n toJSON(): ISplitPanel {\n const result: ISplitPanel = {\n layout: this.layout,\n key: this.key,\n }\n if (Array.isArray(this.items) && this.items.length) {\n result.items = this.items.map((i) => ({ ...i }))\n }\n if (this.selected) {\n result.selected = this.selected\n }\n return result\n }\n\n getParent(): SplitPanel | undefined {\n return this.manager.getParents(this.key)[0]\n }\n\n /**\n * @returns True when the panel accepts drop events.\n */\n canDrop(): boolean {\n return !!this.items.length\n }\n\n /**\n * @returns Returns a **copy** of the items array sorted by index.\n */\n sortedItems(): SplitItem[] {\n const { items, manager } = this\n const splitItems: SplitItem[] = []\n items.forEach((i) => {\n if (i.type === LayoutType.item) {\n const value = manager.findItem(i.key as string)\n if (value) {\n splitItems.push(value)\n }\n }\n })\n return [...splitItems].sort((a, b) => (a.index || 0) - (b.index || 0))\n }\n\n /**\n * Finds an index where to put an item.\n * This finds \"holes\" in items where an index is not set for a given position.\n * In this case the resulting index is the missing index.\n * Otherwise it returns next after the highest index.\n *\n * @returns The index of the next item\n */\n nextIndex(): number {\n const { items, manager } = this\n if (!items.length) {\n return 0\n }\n const set = new Set<number>()\n for (const item of items) {\n const value = manager.findItem(item.key as string)\n if (!value) {\n continue\n }\n const { index = 0 } = value\n set.add(index)\n }\n const sorted = [...set].sort()\n const missing = missingIndexes(sorted)\n if (missing.length) {\n return missing[0]\n }\n const max = sorted.pop() as number\n return max + 1\n }\n\n /**\n * Checks whether this panel contains an item\n * @param key The key of the item to test.\n * @returns true if the panel contains an item\n */\n hasItem(key: string): boolean {\n return this.items.some((i) => i.key === key)\n }\n\n /**\n * Adds an item to the layout.\n *\n * @param item The item to add\n * @param opts Layout adding item options\n * @returns Whether a new item was added to the layout. false when the item is already in the layout panel.\n */\n addItem(item: ISplitItem | SplitItem, opts: SplitLayoutAddOptions = {}): SplitItem {\n const { region = SplitRegion.center } = opts\n const hasItem = region === SplitRegion.center && this.hasItem(item.key)\n if (hasItem) {\n if (item.key !== this.selected) {\n this.selected = item.key\n this.manager.notifyChange()\n this.updateView()\n }\n return this.manager.findItem(item.key) as SplitItem\n }\n\n const hasOptionIndex = typeof opts.index === 'number'\n const hasItemIndex = typeof item.index === 'number'\n const hasIndex = hasOptionIndex || hasItemIndex\n let index: number\n if (hasOptionIndex) {\n index = opts.index as number\n } else if (hasItemIndex) {\n index = item.index as number\n } else {\n index = this.nextIndex()\n }\n if (region === SplitRegion.center || (!this.hasItems && !this.hasPanels)) {\n if (hasIndex) {\n this.increaseIndex(index) // + 1\n }\n const instance = (item as SplitItem).toJSON ? (item as SplitItem) : new SplitItem(this.manager, item)\n instance.index = index\n this.items.push({\n type: LayoutType.item,\n key: item.key,\n })\n this.manager.definitions.set(item.key, {\n type: LayoutType.item,\n value: instance,\n })\n // this.manager.dispatchNameItem(instance); ???? it's a fresh definition, should have a current name.\n this.selected = item.key\n this.manager.notifyChange()\n this.updateView()\n return instance\n }\n\n const panel = this.splitByRegion(region)\n // we don't call request update here because\n // the app has to redo the view rendering first as\n // the panel purpose has changed.\n return panel.addItem(item, { index })\n }\n\n protected splitByRegion(region: SplitRegion): SplitPanel {\n let panel: SplitPanel\n if (region === 'east') {\n ;[, panel] = this.split({\n layout: SplitDirection.horizontal,\n itemsTarget: SplitPanelTarget.first,\n noSideEffects: true,\n })\n } else if (region === 'west') {\n ;[panel] = this.split({\n layout: SplitDirection.horizontal,\n itemsTarget: SplitPanelTarget.other,\n noSideEffects: true,\n })\n } else if (region === 'south') {\n ;[, panel] = this.split({\n layout: SplitDirection.vertical,\n itemsTarget: SplitPanelTarget.first,\n noSideEffects: true,\n })\n } else {\n ;[panel] = this.split({\n layout: SplitDirection.vertical,\n itemsTarget: SplitPanelTarget.other,\n noSideEffects: true,\n })\n }\n return panel\n }\n\n /**\n * Splits this panel into 2 panels.\n * This to be used when the panel has no other panels. Only items are allowed.\n * It produces 2 new panels and moves the items to the first one leaving the other one available.\n */\n split(opts: SplitPanelSplitOptions = {}): SplitPanel[] {\n const { layout = SplitDirection.horizontal, itemsTarget = SplitPanelTarget.first } = opts\n if (this.hasPanels) {\n throw new Error(`Invalid state. Panels can be split only when containing items only.`)\n }\n this.layout = layout\n const { items, selected } = this\n this.items = []\n this.selected = undefined\n\n const p1 = this.addPanel()\n const p2 = this.addPanel()\n\n // const p1 = new SplitPanel(this.manager);\n // const p2 = new SplitPanel(this.manager);\n // this.manager.definitions.set(p1.key, {\n // type: LayoutType.panel,\n // value: p1,\n // });\n // this.manager.definitions.set(p2.key, {\n // type: LayoutType.panel,\n // value: p2,\n // });\n // this.items.push({\n // type: LayoutType.panel,\n // key: p1.key,\n // });\n // this.items.push({\n // type: LayoutType.panel,\n // key: p2.key,\n // });\n\n const panel = itemsTarget === SplitPanelTarget.first ? p1 : p2\n panel.items = items\n panel.selected = selected\n if (!opts.noSideEffects) {\n this.manager.notifyChange()\n }\n return [p1, p2]\n }\n\n unsplit(): void {\n const panelItem = this.items.find((i) => i.type === LayoutType.panel)\n if (!panelItem) {\n throw new Error('Invalid state. This panel has no panels to unshift.')\n }\n const panel = this.manager.findPanel(panelItem.key)\n if (!panel) {\n throw new Error('Invalid state. This panel is not managed by the SplitManager.')\n }\n const { items, selected } = panel\n this.items = items\n this.selected = selected\n this.manager.notifyChange()\n }\n\n /**\n * Decreases items index by 1 to all items with index at least equal to `fromIndex`.\n * @param fromIndex The minimal index to affect.\n */\n decreaseIndex(fromIndex: number): void {\n for (const item of this.items) {\n if (item.type !== LayoutType.item) {\n continue\n }\n const definition = this.manager.findItem(item.key)\n if (!definition) {\n continue\n }\n if (!definition.index) {\n definition.index = 0\n }\n const { index } = definition\n if (index >= fromIndex && index > 0) {\n definition.index -= 1\n }\n }\n }\n\n /**\n * Increases items index by 1 to all items with index at least equal to `fromIndex`.\n * @param fromIndex The minimal index to affect.\n */\n increaseIndex(fromIndex: number): void {\n for (const item of this.items) {\n if (item.type !== LayoutType.item) {\n continue\n }\n const definition = this.manager.findItem(item.key)\n if (!definition) {\n continue\n }\n if (!definition.index) {\n definition.index = 0\n }\n const { index } = definition\n if (index >= fromIndex) {\n definition.index += 1\n }\n }\n }\n\n removeChildItem(item: SplitItem, opts: SplitPanelRemoveItemOptions = {}): SplitItem | undefined {\n const index = this.items.findIndex((i) => i.key === item.key)\n if (index < 0) {\n return undefined\n }\n const itemInfo = this.items[index]\n this.items.splice(index, 1)\n this.decreaseIndex(item.index || 0)\n const parents = this.manager.getParents(item.key)\n if (!parents.length) {\n // remove the definition since no other panel have this item.\n this.manager.definitions.delete(itemInfo.key)\n }\n\n if (this.items.length === 0) {\n // remove panel (self)\n const parent = this.getParent()\n if (parent) {\n parent.removePanel(this.key)\n // Note, ignore `opts.noSideEffects` for tab close. It won't get dispatched elsewhere.\n this.manager.notifyTabClose(item.key, this.key)\n // no point doing the stuff below as the whole panel is removed.\n return item\n }\n }\n\n if (this.selected === item.key) {\n let nextKey: string | undefined\n if (this.items[index]) {\n nextKey = this.items[index].key\n } else if (this.items[index - 1]) {\n nextKey = this.items[index - 1].key\n } else if (this.items.length) {\n const [other] = this.items\n nextKey = other.key\n }\n this.selected = nextKey\n }\n\n if (!opts.noSideEffects) {\n this.manager.notifyTabClose(item.key, this.key)\n this.manager.notifyChange()\n this.manager.updateView(this.key)\n }\n return item\n }\n\n /**\n * Removes an item from the layout\n * @param key The `key` of the item.\n * @returns The removed item, if any.\n */\n removeItem(key: string, opts?: SplitPanelRemoveItemOptions): SplitItem | undefined {\n const removed = this.manager.findItem(key)\n if (!removed) {\n return undefined\n }\n return this.removeChildItem(removed, opts)\n // const index = this.items.findIndex(i => i.key === key);\n // if (index < 0) {\n // return undefined;\n // }\n // const itemInfo = this.items[index];\n // this.items.splice(index, 1);\n // this.manager.definitions.delete(itemInfo.key);\n // this.decreaseIndex(removed.index || 0);\n\n // if (this.items.length === 0) {\n // // remove panel (self)\n // const parent = this.getParent();\n // if (parent) {\n // parent.removePanel(this.key);\n // // Note, ignore `opts.noSideEffects` for tab close. It won't get dispatched elsewhere.\n // this.manager.notifyTabClose(key);\n // // no point doing the stuff below as the whole panel is removed.\n // return removed;\n // }\n // }\n // if (this.selected === key) {\n // let nextKey: string | undefined;\n // if (this.items[index]) {\n // nextKey = this.items[index].key;\n // } else if (this.items[index - 1]) {\n // nextKey = this.items[index - 1].key;\n // } else if (this.items.length) {\n // const [item] = this.items;\n // nextKey = item.key;\n // }\n // this.selected = nextKey;\n // }\n // if (!opts.noSideEffects) {\n // this.manager.notifyTabClose(key);\n // this.manager.notifyChange();\n // this.manager.updateView(this.key);\n // }\n // return removed;\n }\n\n /**\n * @param key The key of the item to perform a relative operation from.\n * @param dir The direction to which close other items. Default to both directions leaving only the `key` item\n */\n removeRelative(key: string, dir: SplitCloseDirection = SplitCloseDirection.both): void {\n const items = this.sortedItems()\n const index = items.findIndex((i) => i.key === key)\n if (index < 0) {\n return\n }\n\n const item = items[index]\n let removed: string[] = []\n if (dir === SplitCloseDirection.both) {\n removed = items.filter((i) => i !== item).map((i) => i.key)\n } else if (dir === SplitCloseDirection.left) {\n removed = items.slice(0, index).map((i) => i.key)\n } else {\n removed = this.items.slice(index + 1).map((i) => i.key)\n }\n this.items = this.items.filter((i) => !removed.includes(i.key))\n this.selected = item.key\n\n removed.forEach((i) => {\n const parents = this.manager.getParents(i)\n if (!parents.length) {\n this.manager.definitions.delete(i)\n }\n this.manager.notifyTabClose(i, this.key)\n })\n this.manager.notifyChange()\n this.manager.updateView(this.key)\n }\n\n removePanel(id: string, opts: SplitPanelRemoveItemOptions = {}): void {\n const index = this.items.findIndex((p) => p.key === id)\n if (index < 0) {\n return\n }\n const item = this.items[index]\n\n const panel = this.manager.findPanel(item.key) as SplitPanel\n panel.clearItems()\n\n this.items.splice(index, 1)\n this.manager.definitions.delete(item.key)\n if (this.items.length === 1) {\n this.unsplit()\n }\n if (!opts.noSideEffects) {\n this.manager.notifyChange()\n this.manager.updateView(this.key)\n }\n }\n\n clearItems(opts?: SplitPanelRemoveItemOptions): void {\n const { items } = this\n items.forEach((childItem) => {\n if (childItem.type === LayoutType.item) {\n this.removeItem(childItem.key, opts)\n } else {\n this.removePanel(childItem.key, opts)\n }\n })\n }\n\n /**\n * Moves an item to a new index.\n *\n * @param key The item key\n * @param toIndex The new index. When not set it moves the item to the end.\n */\n moveItem(key: string, opts: SplitLayoutAddOptions = {}): void {\n const info = this.items.find((i) => i.key === key)\n if (!info) {\n return\n }\n const item = this.manager.findItem(info.key)\n if (!item) {\n return\n }\n const { index, region } = opts\n if (region) {\n this.moveToRegion(item, region)\n } else if (typeof index === 'number') {\n this.moveToIndex(item, index)\n } else {\n this.moveToEnd(item)\n }\n }\n\n moveToRegion(item: SplitItem, region: SplitRegion): void {\n if (this.items.length < 2) {\n // nothing to split.\n return\n }\n if (region === SplitRegion.center) {\n // the item is already there.\n return\n }\n const itemsIndex = this.items.findIndex((i) => i.key === item.key)\n if (itemsIndex < 0) {\n return\n }\n this.items.splice(itemsIndex, 1)\n const index = typeof item.index === 'number' ? item.index : this.nextIndex()\n const panel = this.splitByRegion(region)\n panel.addItem(item, { index })\n }\n\n moveToIndex(item: SplitItem, index: number): void {\n if (item.index === index) {\n return\n }\n const hasTargetAtTarget = !!this.items[index as number]\n this.decreaseIndex(item.index)\n if (hasTargetAtTarget) {\n this.increaseIndex(index)\n }\n item.index = index\n this.manager.notifyChange()\n this.manager.updateView(this.key)\n }\n\n moveToEnd(item: SplitItem): void {\n if (item.index !== undefined) {\n this.decreaseIndex(item.index)\n }\n item.index = this.nextIndex()\n this.manager.notifyChange()\n this.manager.updateView(this.key)\n }\n\n updateView(): void {\n const layout = this.manager.findView(this.key)\n if (!layout) {\n return\n }\n layout.requestUpdate()\n }\n\n addPanel(layout = SplitDirection.horizontal): SplitPanel {\n return this.manager.addPanel({ layout, parent: this.key })\n }\n\n panelTemplate(panel: SplitPanel, itemCallback: SplitItemRenderCallback): TemplateResult | undefined {\n const { layout, items, selected, manager } = panel\n const renderPanels = items.filter((i) => i.type === LayoutType.panel)\n const renderItems = items.filter((i) => i.type === LayoutType.item)\n if (!renderPanels.length && !renderItems.length) {\n return undefined\n }\n const { dragTypes, constrain } = manager.options\n let content: (TemplateResult | undefined)[]\n\n if (renderPanels.length) {\n content = renderPanels.map((item) => {\n const targetPanel = manager.findPanel(item.key)\n return targetPanel && this.panelTemplate(targetPanel, itemCallback)\n })\n } else {\n content = renderItems.map((item) => {\n const targetItem = manager.findItem(item.key)\n return targetItem && this.itemTemplate(targetItem, targetItem.key === selected, itemCallback)\n })\n }\n const valid = content.filter((i) => !!i)\n if (!valid.length) {\n return undefined\n }\n return html`\n <split-view\n layout=\"${layout}\"\n .dragTypes=\"${dragTypes}\"\n .panel=\"${panel}\"\n .key=\"${panel.key}\"\n ?constrain=\"${constrain}\"\n >\n ${content}\n </split-view>\n `\n }\n\n itemTemplate(item: SplitItem, visible: boolean, itemCallback: SplitItemRenderCallback): TemplateResult {\n return itemCallback(item, visible)\n }\n\n render(itemCallback: SplitItemRenderCallback): TemplateResult | undefined {\n return this.panelTemplate(this, itemCallback)\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppNavigation.styles.d.ts","sourceRoot":"","sources":["../../../../../src/elements/navigation/internals/AppNavigation.styles.ts"],"names":[],"mappings":";AAEA,
|
|
1
|
+
{"version":3,"file":"AppNavigation.styles.d.ts","sourceRoot":"","sources":["../../../../../src/elements/navigation/internals/AppNavigation.styles.ts"],"names":[],"mappings":";AAEA,wBAoMC"}
|