@api-client/ui 0.0.5 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/demo/elements/http/http-assertions.html +3 -0
- package/demo/elements/http/http-assertions.ts +1 -1
- package/demo/elements/http/http-flows.html +23 -0
- package/demo/elements/http/http-flows.ts +92 -0
- package/demo/elements/http/index.html +3 -0
- package/demo/pages/http-project/main.ts +5 -6
- package/dist/define/dialog/delete-cookie-action-dialog.d.ts +10 -0
- package/dist/define/dialog/delete-cookie-action-dialog.d.ts.map +1 -0
- package/dist/define/dialog/delete-cookie-action-dialog.js +14 -0
- package/dist/define/dialog/delete-cookie-action-dialog.js.map +1 -0
- package/dist/define/dialog/set-cookie-action-dialog.d.ts +10 -0
- package/dist/define/dialog/set-cookie-action-dialog.d.ts.map +1 -0
- package/dist/define/dialog/set-cookie-action-dialog.js +14 -0
- package/dist/define/dialog/set-cookie-action-dialog.js.map +1 -0
- package/dist/define/http/http-assertions.d.ts +1 -1
- package/dist/define/http/http-assertions.d.ts.map +1 -1
- package/dist/define/http/http-assertions.js +3 -3
- package/dist/define/http/http-assertions.js.map +1 -1
- package/dist/define/http/http-flows.d.ts +10 -0
- package/dist/define/http/http-flows.d.ts.map +1 -0
- package/dist/define/http/http-flows.js +13 -0
- package/dist/define/http/http-flows.js.map +1 -0
- package/dist/define/ui/ui-divider.d.ts +4 -1
- package/dist/define/ui/ui-divider.d.ts.map +1 -1
- package/dist/define/ui/ui-divider.js +11 -2
- package/dist/define/ui/ui-divider.js.map +1 -1
- package/dist/elements/ApiElement.d.ts +4 -0
- package/dist/elements/ApiElement.d.ts.map +1 -1
- package/dist/elements/ApiElement.js +6 -0
- package/dist/elements/ApiElement.js.map +1 -1
- package/dist/elements/amf/ApiAuthorizationEditor.element.js +1 -1
- package/dist/elements/amf/ApiAuthorizationEditor.element.js.map +1 -1
- package/dist/elements/amf/ApiOperationDocument.element.d.ts.map +1 -1
- package/dist/elements/amf/ApiOperationDocument.element.js +2 -1
- package/dist/elements/amf/ApiOperationDocument.element.js.map +1 -1
- package/dist/elements/amf/ApiRequest.element.js +1 -1
- package/dist/elements/amf/ApiRequest.element.js.map +1 -1
- package/dist/elements/amf/ApiRequestEditor.element.d.ts +0 -1
- package/dist/elements/amf/ApiRequestEditor.element.d.ts.map +1 -1
- package/dist/elements/amf/ApiRequestEditor.element.js +0 -3
- package/dist/elements/amf/ApiRequestEditor.element.js.map +1 -1
- package/dist/elements/authorization/ui/Authorization.d.ts +2 -1
- package/dist/elements/authorization/ui/Authorization.d.ts.map +1 -1
- package/dist/elements/authorization/ui/Authorization.js +0 -3
- package/dist/elements/authorization/ui/Authorization.js.map +1 -1
- package/dist/elements/dialog/DeleteCookieAction.element.d.ts +20 -0
- package/dist/elements/dialog/DeleteCookieAction.element.d.ts.map +1 -0
- package/dist/elements/dialog/DeleteCookieAction.element.js +93 -0
- package/dist/elements/dialog/DeleteCookieAction.element.js.map +1 -0
- package/dist/elements/dialog/DeleteCookieAction.styles.d.ts +3 -0
- package/dist/elements/dialog/DeleteCookieAction.styles.d.ts.map +1 -0
- package/dist/elements/dialog/DeleteCookieAction.styles.js +13 -0
- package/dist/elements/dialog/DeleteCookieAction.styles.js.map +1 -0
- package/dist/elements/dialog/Rename.d.ts +7 -6
- package/dist/elements/dialog/Rename.d.ts.map +1 -1
- package/dist/elements/dialog/Rename.js +7 -6
- package/dist/elements/dialog/Rename.js.map +1 -1
- package/dist/elements/dialog/SetCookieAction.element.d.ts +22 -0
- package/dist/elements/dialog/SetCookieAction.element.d.ts.map +1 -0
- package/dist/elements/dialog/SetCookieAction.element.js +173 -0
- package/dist/elements/dialog/SetCookieAction.element.js.map +1 -0
- package/dist/elements/environment/EnvironmentEditor.d.ts +24 -3
- package/dist/elements/environment/EnvironmentEditor.d.ts.map +1 -1
- package/dist/elements/environment/EnvironmentEditor.js +69 -23
- package/dist/elements/environment/EnvironmentEditor.js.map +1 -1
- package/dist/elements/environment/EnvironmentEditor.styles.d.ts.map +1 -1
- package/dist/elements/environment/EnvironmentEditor.styles.js +5 -0
- package/dist/elements/environment/EnvironmentEditor.styles.js.map +1 -1
- package/dist/elements/environment/ServerEditor.d.ts +3 -3
- package/dist/elements/environment/ServerEditor.d.ts.map +1 -1
- package/dist/elements/environment/ServerEditor.js +3 -6
- package/dist/elements/environment/ServerEditor.js.map +1 -1
- package/dist/elements/environment/VariablesEditor.d.ts +0 -1
- package/dist/elements/environment/VariablesEditor.d.ts.map +1 -1
- package/dist/elements/environment/VariablesEditor.js +3 -6
- package/dist/elements/environment/VariablesEditor.js.map +1 -1
- package/dist/elements/highlight/Prism.styles.d.ts.map +1 -1
- package/dist/elements/highlight/Prism.styles.js +12 -5
- package/dist/elements/highlight/Prism.styles.js.map +1 -1
- package/dist/elements/http/BodyEditor.d.ts +0 -4
- package/dist/elements/http/BodyEditor.d.ts.map +1 -1
- package/dist/elements/http/BodyEditor.js +10 -16
- package/dist/elements/http/BodyEditor.js.map +1 -1
- package/dist/elements/http/BodyMultipartEditor.d.ts +3 -16
- package/dist/elements/http/BodyMultipartEditor.d.ts.map +1 -1
- package/dist/elements/http/BodyMultipartEditor.js +3 -19
- package/dist/elements/http/BodyMultipartEditor.js.map +1 -1
- package/dist/elements/http/BodyTextEditor.d.ts +0 -1
- package/dist/elements/http/BodyTextEditor.d.ts.map +1 -1
- package/dist/elements/http/BodyTextEditor.js +0 -3
- package/dist/elements/http/BodyTextEditor.js.map +1 -1
- package/dist/elements/http/BodyUrlEncodedEditor.d.ts +3 -3
- package/dist/elements/http/BodyUrlEncodedEditor.d.ts.map +1 -1
- package/dist/elements/http/BodyUrlEncodedEditor.js +3 -5
- package/dist/elements/http/BodyUrlEncodedEditor.js.map +1 -1
- package/dist/elements/http/HeadersForm.d.ts +0 -4
- package/dist/elements/http/HeadersForm.d.ts.map +1 -1
- package/dist/elements/http/HeadersForm.js +0 -6
- package/dist/elements/http/HeadersForm.js.map +1 -1
- package/dist/elements/http/HttpAssertions.element.d.ts +55 -0
- package/dist/elements/http/HttpAssertions.element.d.ts.map +1 -0
- package/dist/elements/http/HttpAssertions.element.js +264 -0
- package/dist/elements/http/HttpAssertions.element.js.map +1 -0
- package/dist/elements/http/HttpAssertions.styles.d.ts.map +1 -1
- package/dist/elements/http/HttpAssertions.styles.js +7 -156
- package/dist/elements/http/HttpAssertions.styles.js.map +1 -1
- package/dist/elements/http/HttpFlows.common.d.ts +3 -0
- package/dist/elements/http/HttpFlows.common.d.ts.map +1 -0
- package/dist/elements/http/HttpFlows.common.js +181 -0
- package/dist/elements/http/HttpFlows.common.js.map +1 -0
- package/dist/elements/http/HttpFlows.element.d.ts +97 -0
- package/dist/elements/http/HttpFlows.element.d.ts.map +1 -0
- package/dist/elements/http/HttpFlows.element.js +684 -0
- package/dist/elements/http/HttpFlows.element.js.map +1 -0
- package/dist/elements/http/HttpFlows.styles.d.ts +3 -0
- package/dist/elements/http/HttpFlows.styles.d.ts.map +1 -0
- package/dist/elements/http/HttpFlows.styles.js +28 -0
- package/dist/elements/http/HttpFlows.styles.js.map +1 -0
- package/dist/elements/http/HttpFlowsUi.d.ts +172 -0
- package/dist/elements/http/HttpFlowsUi.d.ts.map +1 -0
- package/dist/elements/http/HttpFlowsUi.js +1256 -0
- package/dist/elements/http/HttpFlowsUi.js.map +1 -0
- package/dist/elements/http/RequestConfigElement.d.ts +0 -1
- package/dist/elements/http/RequestConfigElement.d.ts.map +1 -1
- package/dist/elements/http/RequestConfigElement.js +8 -11
- package/dist/elements/http/RequestConfigElement.js.map +1 -1
- package/dist/elements/http/RequestEditor.d.ts +10 -10
- package/dist/elements/http/RequestEditor.d.ts.map +1 -1
- package/dist/elements/http/RequestEditor.js +62 -23
- package/dist/elements/http/RequestEditor.js.map +1 -1
- package/dist/elements/http/UrlInput.d.ts +3 -3
- package/dist/elements/http/UrlInput.d.ts.map +1 -1
- package/dist/elements/http/UrlInput.js +2 -2
- package/dist/elements/http/UrlInput.js.map +1 -1
- package/dist/elements/http/UrlParamsForm.d.ts +0 -1
- package/dist/elements/http/UrlParamsForm.d.ts.map +1 -1
- package/dist/elements/http/UrlParamsForm.js +0 -3
- package/dist/elements/http/UrlParamsForm.js.map +1 -1
- package/dist/elements/layout/SplitView.styles.d.ts.map +1 -1
- package/dist/elements/layout/SplitView.styles.js +1 -0
- package/dist/elements/layout/SplitView.styles.js.map +1 -1
- package/dist/elements/navigation/AppNavigationItem.styles.d.ts.map +1 -1
- package/dist/elements/navigation/AppNavigationItem.styles.js +2 -0
- package/dist/elements/navigation/AppNavigationItem.styles.js.map +1 -1
- package/dist/elements/project/HttpProjectRequest.d.ts +2 -1
- package/dist/elements/project/HttpProjectRequest.d.ts.map +1 -1
- package/dist/elements/project/HttpProjectRequest.js +14 -5
- package/dist/elements/project/HttpProjectRequest.js.map +1 -1
- package/dist/elements/project/ProjectRunner.d.ts +0 -1
- package/dist/elements/project/ProjectRunner.d.ts.map +1 -1
- package/dist/elements/project/ProjectRunner.js +1 -4
- package/dist/elements/project/ProjectRunner.js.map +1 -1
- package/dist/elements/schema-design/AssociationFormElement.d.ts +0 -1
- package/dist/elements/schema-design/AssociationFormElement.d.ts.map +1 -1
- package/dist/elements/schema-design/AssociationFormElement.js +2 -5
- package/dist/elements/schema-design/AssociationFormElement.js.map +1 -1
- package/dist/elements/schema-design/DataEntityEditorElement.d.ts +2 -2
- package/dist/elements/schema-design/DataEntityEditorElement.d.ts.map +1 -1
- package/dist/elements/schema-design/DataEntityEditorElement.js +5 -5
- package/dist/elements/schema-design/DataEntityEditorElement.js.map +1 -1
- package/dist/elements/schema-design/DataSchemaDocument.d.ts +0 -1
- package/dist/elements/schema-design/DataSchemaDocument.d.ts.map +1 -1
- package/dist/elements/schema-design/DataSchemaDocument.js +4 -7
- package/dist/elements/schema-design/DataSchemaDocument.js.map +1 -1
- package/dist/elements/schema-design/EntityFormElement.d.ts +0 -1
- package/dist/elements/schema-design/EntityFormElement.d.ts.map +1 -1
- package/dist/elements/schema-design/EntityFormElement.js +4 -7
- package/dist/elements/schema-design/EntityFormElement.js.map +1 -1
- package/dist/elements/schema-design/PropertyFormElement.d.ts +1 -2
- package/dist/elements/schema-design/PropertyFormElement.d.ts.map +1 -1
- package/dist/elements/schema-design/PropertyFormElement.js +8 -11
- package/dist/elements/schema-design/PropertyFormElement.js.map +1 -1
- package/dist/pages/ApplicationScreen.d.ts +1 -1
- package/dist/pages/ApplicationScreen.d.ts.map +1 -1
- package/dist/pages/ApplicationScreen.js +1 -1
- package/dist/pages/ApplicationScreen.js.map +1 -1
- package/dist/pages/api-client/ApiClient.styles.d.ts.map +1 -1
- package/dist/pages/api-client/ApiClient.styles.js +22 -3
- package/dist/pages/api-client/ApiClient.styles.js.map +1 -1
- package/dist/pages/api-client/Authenticate.screen.d.ts +2 -0
- package/dist/pages/api-client/Authenticate.screen.d.ts.map +1 -1
- package/dist/pages/api-client/Authenticate.screen.js +19 -3
- package/dist/pages/api-client/Authenticate.screen.js.map +1 -1
- package/dist/pages/api-client/StoreConfig.screen.d.ts.map +1 -1
- package/dist/pages/api-client/StoreConfig.screen.js +4 -2
- package/dist/pages/api-client/StoreConfig.screen.js.map +1 -1
- package/dist/pages/api-client/StoreConfig.styles.d.ts.map +1 -1
- package/dist/pages/api-client/StoreConfig.styles.js +5 -0
- package/dist/pages/api-client/StoreConfig.styles.js.map +1 -1
- package/dist/pages/api-client/pages/Files.page.d.ts +1 -0
- package/dist/pages/api-client/pages/Files.page.d.ts.map +1 -1
- package/dist/pages/api-client/pages/Files.page.js +2 -1
- package/dist/pages/api-client/pages/Files.page.js.map +1 -1
- package/dist/pages/http-project/HttpProject.screen.d.ts +0 -8
- package/dist/pages/http-project/HttpProject.screen.d.ts.map +1 -1
- package/dist/pages/http-project/HttpProject.screen.js +14 -15
- package/dist/pages/http-project/HttpProject.screen.js.map +1 -1
- package/dist/pages/http-project/types.d.ts +8 -6
- package/dist/pages/http-project/types.d.ts.map +1 -1
- package/dist/pages/http-project/types.js.map +1 -1
- package/dist/styles/m3/surface.module.d.ts.map +1 -1
- package/dist/styles/m3/surface.module.js +11 -27
- package/dist/styles/m3/surface.module.js.map +1 -1
- package/dist/ui/UiElement.d.ts +4 -0
- package/dist/ui/UiElement.d.ts.map +1 -1
- package/dist/ui/UiElement.js +6 -0
- package/dist/ui/UiElement.js.map +1 -1
- package/dist/ui/button/SegmentedButton.styles.d.ts.map +1 -1
- package/dist/ui/button/SegmentedButton.styles.js +3 -1
- package/dist/ui/button/SegmentedButton.styles.js.map +1 -1
- package/dist/ui/dialog/UiDialog.d.ts +3 -0
- package/dist/ui/dialog/UiDialog.d.ts.map +1 -1
- package/dist/ui/dialog/UiDialog.js +3 -0
- package/dist/ui/dialog/UiDialog.js.map +1 -1
- package/dist/ui/effects/ripple.d.ts.map +1 -1
- package/dist/ui/effects/ripple.js +5 -1
- package/dist/ui/effects/ripple.js.map +1 -1
- package/dist/ui/icons/Icons.d.ts +3 -2
- package/dist/ui/icons/Icons.d.ts.map +1 -1
- package/dist/ui/icons/Icons.js +2 -1
- package/dist/ui/icons/Icons.js.map +1 -1
- package/dist/ui/input/CheckedElement.d.ts +1 -1
- package/dist/ui/input/CheckedElement.d.ts.map +1 -1
- package/dist/ui/input/CheckedElement.js +3 -3
- package/dist/ui/input/CheckedElement.js.map +1 -1
- package/dist/ui/input/Input.js +1 -1
- package/dist/ui/input/Input.js.map +1 -1
- package/dist/ui/list/{DividerElement.d.ts → UiDivider.element.d.ts} +6 -6
- package/dist/ui/list/UiDivider.element.d.ts.map +1 -0
- package/dist/ui/list/UiDivider.element.js +39 -0
- package/dist/ui/list/UiDivider.element.js.map +1 -0
- package/dist/ui/list/UiDivider.styles.d.ts +3 -0
- package/dist/ui/list/UiDivider.styles.d.ts.map +1 -0
- package/dist/ui/list/UiDivider.styles.js +49 -0
- package/dist/ui/list/UiDivider.styles.js.map +1 -0
- package/dist/ui/tabs/UiTabs.d.ts +13 -1
- package/dist/ui/tabs/UiTabs.d.ts.map +1 -1
- package/dist/ui/tabs/UiTabs.js +42 -13
- package/dist/ui/tabs/UiTabs.js.map +1 -1
- package/package.json +1 -1
- package/src/define/dialog/delete-cookie-action-dialog.ts +16 -0
- package/src/define/dialog/set-cookie-action-dialog.ts +16 -0
- package/src/define/http/http-assertions.ts +3 -3
- package/src/define/http/http-flows.ts +15 -0
- package/src/define/ui/ui-divider.ts +7 -2
- package/src/elements/ApiElement.ts +7 -0
- package/src/elements/amf/ApiAuthorizationEditor.element.ts +1 -1
- package/src/elements/amf/ApiOperationDocument.element.ts +2 -1
- package/src/elements/amf/ApiRequest.element.ts +1 -1
- package/src/elements/amf/ApiRequestEditor.element.ts +0 -4
- package/src/elements/authorization/ui/Authorization.ts +3 -5
- package/src/elements/dialog/DeleteCookieAction.element.ts +100 -0
- package/src/elements/dialog/DeleteCookieAction.styles.ts +14 -0
- package/src/elements/dialog/Rename.ts +8 -7
- package/src/elements/dialog/SetCookieAction.element.ts +183 -0
- package/src/elements/environment/EnvironmentEditor.styles.ts +5 -0
- package/src/elements/environment/EnvironmentEditor.ts +81 -22
- package/src/elements/environment/ServerEditor.ts +4 -8
- package/src/elements/environment/VariablesEditor.ts +3 -7
- package/src/elements/highlight/Prism.styles.ts +12 -5
- package/src/elements/http/BodyEditor.ts +10 -17
- package/src/elements/http/BodyMultipartEditor.ts +3 -20
- package/src/elements/http/BodyTextEditor.ts +0 -4
- package/src/elements/http/BodyUrlEncodedEditor.ts +5 -8
- package/src/elements/http/HeadersForm.ts +2 -9
- package/src/elements/http/HttpAssertions.element.ts +286 -0
- package/src/elements/http/HttpAssertions.styles.ts +7 -156
- package/src/elements/http/HttpFlows.common.ts +181 -0
- package/src/elements/http/HttpFlows.element.ts +722 -0
- package/src/elements/http/HttpFlows.styles.ts +29 -0
- package/src/elements/http/HttpFlowsUi.ts +1327 -0
- package/src/elements/http/RequestConfigElement.ts +10 -14
- package/src/elements/http/RequestEditor.ts +77 -35
- package/src/elements/http/UrlInput.ts +6 -6
- package/src/elements/http/UrlParamsForm.ts +2 -6
- package/src/elements/layout/SplitView.styles.ts +1 -0
- package/src/elements/navigation/AppNavigationItem.styles.ts +2 -0
- package/src/elements/project/HttpProjectRequest.ts +16 -5
- package/src/elements/project/ProjectRunner.ts +3 -7
- package/src/elements/schema-design/AssociationFormElement.ts +4 -8
- package/src/elements/schema-design/DataEntityEditorElement.ts +8 -8
- package/src/elements/schema-design/DataSchemaDocument.ts +5 -9
- package/src/elements/schema-design/EntityFormElement.ts +6 -10
- package/src/elements/schema-design/PropertyFormElement.ts +11 -15
- package/src/pages/ApplicationScreen.ts +1 -1
- package/src/pages/api-client/ApiClient.styles.ts +22 -3
- package/src/pages/api-client/Authenticate.screen.ts +19 -3
- package/src/pages/api-client/StoreConfig.screen.ts +4 -2
- package/src/pages/api-client/StoreConfig.styles.ts +5 -0
- package/src/pages/api-client/pages/Files.page.ts +2 -1
- package/src/pages/http-project/HttpProject.screen.ts +14 -26
- package/src/pages/http-project/types.ts +8 -6
- package/src/styles/m3/surface.module.ts +11 -27
- package/src/styles/m3/theme.css +36 -0
- package/src/styles/m3/tokens.css +11 -0
- package/src/ui/UiElement.ts +7 -0
- package/src/ui/button/SegmentedButton.styles.ts +3 -1
- package/src/ui/dialog/UiDialog.ts +3 -0
- package/src/ui/effects/ripple.ts +6 -1
- package/src/ui/icons/Icons.ts +3 -2
- package/src/ui/input/CheckedElement.ts +3 -3
- package/src/ui/input/Input.ts +1 -1
- package/src/ui/list/UiDivider.element.ts +41 -0
- package/src/ui/list/UiDivider.styles.ts +49 -0
- package/src/ui/tabs/UiTabs.ts +55 -13
- package/test/amf/authorization/OAuth2Method.test.ts +1 -1
- package/test/elements/http/HttpAssertions.test.ts +5 -6
- package/test/elements/http/HttpFlows.test.ts +485 -0
- package/dist/elements/http/HttpAssertions.d.ts +0 -114
- package/dist/elements/http/HttpAssertions.d.ts.map +0 -1
- package/dist/elements/http/HttpAssertions.js +0 -1146
- package/dist/elements/http/HttpAssertions.js.map +0 -1
- package/dist/elements/http/internals.d.ts +0 -150
- package/dist/elements/http/internals.d.ts.map +0 -1
- package/dist/elements/http/internals.js +0 -150
- package/dist/elements/http/internals.js.map +0 -1
- package/dist/ui/list/DividerElement.d.ts.map +0 -1
- package/dist/ui/list/DividerElement.js +0 -82
- package/dist/ui/list/DividerElement.js.map +0 -1
- package/src/elements/http/HttpAssertions.ts +0 -1187
- package/src/elements/http/internals.ts +0 -151
- package/src/http-client/docs/Files.md +0 -28
- package/src/ui/list/DividerElement.ts +0 -84
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BodyMultipartEditor.js","sourceRoot":"","sources":["../../../src/elements/http/BodyMultipartEditor.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-param-reassign */\n/* eslint-disable class-methods-use-this */\n/**\n@license\nCopyright 2020 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 { LitElement, html, TemplateResult, nothing } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { IMultipartBody, ISafePayload, PayloadSerializer, IFileMeta, IBlobMeta, HttpDefinitions } from '@api-client/core/build/browser.js';\nimport { live } from 'lit/directives/live.js';\nimport SwitchElement from '../../ui/input/SwitchElement.js';\nimport Input from '../../ui/input/Input.js';\nimport '../../define/ui/ui-icon.js';\nimport '../../define/ui/ui-switch.js';\nimport '../../define/ui/ui-icon-button.js';\nimport '../../define/ui/ui-button.js';\n\nlet hasSupport: boolean;\ntry {\n const fd = new FormData();\n fd.append('test', new Blob(['.'], { type: 'image/jpg' }), 'test.jpg');\n hasSupport = ('entries' in fd);\n} catch (e) {\n /* istanbul ignore next */\n hasSupport = false;\n}\nexport const hasFormDataSupport = hasSupport;\n\nfunction normalizePartValue(item: IMultipartBody): void {\n if (typeof item.value === 'string') {\n const oldValue = item.value;\n // eslint-disable-next-line no-param-reassign\n item.value = {\n type: 'string',\n data: oldValue,\n };\n }\n}\n\nlet mimeSuggestions: string[] = [];\n\n((): void => {\n const items = HttpDefinitions.queryRequestHeaders('content-type');\n const item = items.find(i => i.key.toLowerCase() === 'content-type');\n if (!item || !item.autocomplete) {\n return;\n }\n mimeSuggestions = item.autocomplete;\n})();\n\n/**\n * Multipart payload editor.\n *\n * The element internally uses a generated from a FormData model. It is API Client's `IMultipartBody` array.\n * The FormData is generated on-fly when accessing the `value` getter. It also regenerates the model when \n * the `value` property change. Because of that you should never set the value on the editor but only manipulate the \n * `model` property.\n */\nexport default class BodyMultipartEditor extends LitElement {\n /**\n * When set the editor is in read only mode.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) readOnly = false;\n\n /**\n * When set all controls are disabled in the form\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /**\n * @attribute\n */\n @property({ type: Boolean }) allowFormInfo?: boolean;\n\n /**\n * The value of this form. \n * When reading the `value` it generated the FormData from the model values.\n * When setting this property is regenerates the `model` to the value in the FormData.\n * When setting to anything other than the `FormData` it sets the `model` to an empty array.\n */\n @property({ type: Object }) get value(): FormData {\n return this.toFormData();\n }\n\n set value(value: FormData) {\n this.updateModel(value);\n }\n\n /** \n * The model used by the external application\n */\n protected modelInternal: IMultipartBody[] = [];\n\n /**\n * Computed data model for the view.\n * Don't set both `value` and `model`. If the model exists then\n * set only it or otherwise the `value` setter override the model.\n */\n @property({ type: Array }) get model(): IMultipartBody[] {\n return this.modelInternal;\n }\n\n set model(value: IMultipartBody[] | undefined) {\n const old = this.modelInternal;\n if (old === value) {\n return;\n }\n if (Array.isArray(value)) {\n this.modelInternal = value;\n } else {\n this.modelInternal = [];\n }\n this.requestUpdate('model', old);\n if (value) {\n this.upgradeLegacy(value);\n }\n }\n\n /**\n * @returns The FormData from the current model.\n */\n toFormData(): FormData {\n const validItems = this.modelInternal.filter((item) => {\n const { name, value } = item;\n if (!name) {\n return false;\n }\n if (typeof value === 'string') {\n return true;\n }\n if (value.type === 'string') {\n return true;\n }\n if (value.type === 'blob' || value.type === 'file') {\n return !!value.data && !!value.data.length;\n }\n return true;\n });\n return PayloadSerializer.deserializeFormData(validItems);\n }\n\n /**\n * Makes an attempt to upgrade old definitions of the `IMultipartBody`.\n * If this fails, the form will show error instead of part field.\n * @param value The current model.\n */\n protected async upgradeLegacy(value: IMultipartBody[]): Promise<void> {\n const ps: Promise<void>[] = [];\n for (const part of value) {\n if (part.isFile === undefined) {\n continue;\n }\n if (part.isFile === false && !part.type) {\n delete part.isFile;\n const oldValue = (part.value || '') as string;\n part.value = {\n type: 'string',\n data: oldValue,\n };\n } else if (part.isFile === false && part.type) {\n ps.push(this.upgradeLegacyBlob(part));\n } else {\n ps.push(this.upgradeLegacyFile(part));\n }\n }\n if (ps.length) {\n await Promise.allSettled(ps);\n this.requestUpdate();\n this.notifyChange();\n }\n }\n\n protected async upgradeLegacyBlob(part: IMultipartBody): Promise<void> {\n if (typeof part.value !== 'string') {\n return;\n }\n const readBlob = PayloadSerializer.deserializeBlobLegacy(part.value as string);\n if (!readBlob) {\n return;\n }\n const contents = await readBlob.text();\n part.blobText = contents || '';\n const blob = new Blob([part.blobText as string], { type: part.type });\n part.value = await PayloadSerializer.stringifyBlob(blob);\n delete part.type;\n delete part.isFile;\n }\n\n protected async upgradeLegacyFile(part: IMultipartBody): Promise<void> {\n if (typeof part.value !== 'string') {\n return;\n }\n const readBlob = PayloadSerializer.deserializeBlobLegacy(part.value as string);\n if (!readBlob) {\n return;\n }\n const fname = part.fileName || 'unknown-file.txt';\n const file = new File([readBlob], fname, { type: readBlob.type });\n part.value = await PayloadSerializer.stringifyFile(file);\n delete part.fileName;\n delete part.isFile;\n }\n\n protected async updateModel(value?: unknown): Promise<void> {\n if (!value || !(value instanceof FormData)) {\n this.model = [];\n return;\n }\n const payload = await PayloadSerializer.stringifyFormData(value as FormData);\n this.model = payload.data as IMultipartBody[];\n }\n\n /**\n * Adds an instance of a file to the form data\n */\n async addFile(file: File): Promise<void> {\n if (this.readOnly || this.disabled) {\n return;\n }\n const { model } = this;\n const entry = await PayloadSerializer.serializeFormDataEntry(file.name, file);\n model.push(entry);\n this.notifyChange();\n this.requestUpdate();\n }\n\n protected notifyChange(): void {\n this.dispatchEvent(new Event('change'));\n }\n\n /**\n * Removes all parameters.\n */\n clear(): void {\n this.model = [];\n this.notifyChange();\n }\n\n /**\n * Adds an empty text part item to the form.\n */\n addEmptyText(): void {\n if (this.readOnly || this.disabled) {\n return;\n }\n const { model } = this;\n const obj: IMultipartBody = {\n name: '',\n value: {\n data: '',\n type: 'string',\n },\n enabled: true,\n };\n model.push(obj);\n this.requestUpdate();\n }\n\n /**\n * Adds an empty file part item to the form.\n */\n addEmptyFile(): void {\n if (this.readOnly || this.disabled) {\n return;\n }\n const { model } = this;\n const obj: IMultipartBody = {\n name: '',\n value: {\n data: [],\n type: 'file',\n },\n enabled: true,\n };\n model.push(obj);\n this.requestUpdate();\n }\n\n /**\n * Removes a parameter from an index.\n */\n removeProperty(index: number): void {\n const items = this.modelInternal;\n items.splice(index, 1);\n this.requestUpdate();\n this.notifyChange();\n }\n\n /**\n * Toggles enabled state of a parameter.\n */\n toggleProperty(index: number, enabled: boolean): void {\n const items = this.modelInternal;\n const item = items[index];\n item.enabled = enabled;\n this.notifyChange();\n }\n\n updatePartName(index: number, value: string): void {\n const item = this.modelInternal[index];\n const old = item.name;\n if (old === value) {\n return;\n }\n item.name = value;\n this.notifyChange();\n }\n\n updateTextPartValue(index: number, value: string): void {\n const item = this.modelInternal[index];\n normalizePartValue(item);\n const typedValue = item.value as ISafePayload;\n if (typedValue.data === value) {\n return;\n }\n typedValue.data = value;\n this.notifyChange();\n }\n\n async updateBlobPartValue(index: number, value: string): Promise<void> {\n const item = this.modelInternal[index];\n normalizePartValue(item);\n const typedValue = item.value as ISafePayload;\n if (typedValue.data === value) {\n return;\n }\n item.blobText = value;\n const blob = new Blob([value], { type: typedValue.meta?.mime || 'text/plain' });\n item.value = await PayloadSerializer.stringifyBlob(blob);\n this.notifyChange();\n }\n\n async updateFileValue(index: number, file: File): Promise<void> {\n const item = this.modelInternal[index];\n if (!item || !file) {\n return;\n }\n item.value = await PayloadSerializer.stringifyFile(file);\n this.notifyChange();\n this.requestUpdate();\n }\n\n async changePartMime(index: number, value: string): Promise<void> {\n const item = this.modelInternal[index];\n if (!item) {\n return;\n }\n normalizePartValue(item);\n // change the type from text to blob, if needed\n const typedValue = item.value as ISafePayload;\n\n if (typedValue.type === 'string') {\n item.blobText = typedValue.data as string;\n } else if (!item.blobText && typedValue.data) {\n const restored = PayloadSerializer.deserializeBlob(typedValue) as Blob;\n item.blobText = await restored.text();\n }\n const blob = new Blob([item.blobText || ''], { type: value });\n item.value = await PayloadSerializer.stringifyBlob(blob);\n this.notifyChange();\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 handleFilePick(e: Event): void {\n const node = e.target as HTMLElement;\n const input = node.nextElementSibling as HTMLInputElement;\n input.click();\n }\n\n protected handleFilePartValue(e: Event): void {\n e.stopPropagation();\n const input = e.target as HTMLInputElement;\n if (!input.files) {\n return;\n }\n const index = Number(input.dataset.index);\n this.updateFileValue(index, input.files[0]);\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.updatePartName(index, 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.updateTextPartValue(index, input.value);\n input.checkValidity();\n }\n\n protected handleBlobValueChange(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.updateBlobPartValue(index, input.value);\n input.checkValidity();\n }\n\n protected handleMimeChange(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.changePartMime(index, input.value);\n input.checkValidity();\n }\n\n override render(): TemplateResult {\n if (!hasSupport) {\n return this.renderNoSupport();\n }\n return html`\n ${this.renderList()}\n ${this.renderMimeList()}\n ${this.renderFormInfo()}\n `;\n }\n\n protected renderFormInfo(): TemplateResult | typeof nothing {\n if (!this.allowFormInfo) {\n return nothing;\n }\n return html`\n <p class=\"form-info\">\n Note that the content-type header will be added when the request is sent. \n We encourage you to use variables to insert sensitive data.\n </p>\n `;\n }\n\n protected renderList(): TemplateResult {\n const items = this.model;\n if (!Array.isArray(items) || !items.length) {\n return this.renderEmptyMessage();\n }\n return this.renderParams(items);\n }\n\n protected renderNoSupport(): TemplateResult {\n return html`\n <div class=\"empty-message\">Your browser does not support this editor</div>\n `;\n }\n\n protected renderEmptyMessage(): TemplateResult {\n return html`\n <div class=\"empty-message\">No parameters added</div>\n `;\n }\n\n protected renderParams(items: IMultipartBody[]): TemplateResult {\n return html`\n ${items.map((item, index) => this.renderParam(item, index))}\n `;\n }\n\n protected renderToggleButton(part: IMultipartBody, index: number): TemplateResult {\n return html`\n <ui-switch \n .checked=\"${!!part.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 class=\"delete-button\"\n >\n <ui-icon icon=\"deleteOutline\" role=\"presentation\"></ui-icon>\n </ui-icon-button>\n `;\n }\n\n protected renderNameField(part: IMultipartBody, index: number): TemplateResult {\n return html`\n <div class=\"input-wrapper name-input\">\n <div class=\"error\" role=\"presentation\">Name is required</div>\n <div class=\"state\"></div>\n <input\n type=\"text\"\n name=\"name\"\n required\n autocomplete=\"off\"\n .value=\"${live(part.name)}\" \n data-index=\"${index}\" \n ?readOnly=\"${this.readOnly}\" \n aria-label=\"Part name value\"\n placeholder=\"Part name\"\n @change=\"${this.handleNameChange}\"\n />\n </div>\n `;\n }\n\n protected renderValueField(part: IMultipartBody, index: number): TemplateResult {\n const value = (part.value as ISafePayload).data as string || '';\n return html`\n <div class=\"input-wrapper value-input\">\n <div class=\"error\" role=\"presentation\">Value is required</div>\n <div class=\"state\"></div>\n <input\n type=\"text\"\n name=\"value\"\n required\n .value=\"${live(value)}\" \n data-index=\"${index}\" \n ?readOnly=\"${this.readOnly}\" \n aria-label=\"Text part value\"\n placeholder=\"Part text value\"\n @change=\"${this.handleValueChange}\"\n />\n </div>\n `;\n }\n\n protected renderBlobValueField(part: IMultipartBody, index: number): TemplateResult {\n const { blobText } = part;\n return html`\n <div class=\"input-wrapper value-input\">\n <div class=\"error\" role=\"presentation\">Value is required</div>\n <div class=\"state\"></div>\n <input\n type=\"text\"\n name=\"value\"\n required\n .value=\"${live(blobText || '')}\" \n data-index=\"${index}\" \n ?readOnly=\"${this.readOnly}\" \n aria-label=\"Text part value\"\n placeholder=\"Part text value\"\n @change=\"${this.handleBlobValueChange}\"\n />\n </div>\n `;\n }\n\n protected renderMimeField(index: number, value?: string): TemplateResult {\n return html`\n <div class=\"input-wrapper mime-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(value || '')}\" \n data-index=\"${index}\" \n ?readOnly=\"${this.readOnly}\" \n aria-label=\"Text part mime - optional value\"\n placeholder=\"Part mime (optional)\"\n @change=\"${this.handleMimeChange}\"\n list=\"mime-list\"\n />\n </div>\n `;\n }\n\n protected renderParam(part: IMultipartBody, index: number): TemplateResult {\n if (typeof part.isFile === 'boolean') {\n // When this is still set it means that when setting the model something went wrong. \n // This also mean we can't recover from here so the only option is to remove the part.\n return this.renderIncompatiblePart(index);\n }\n normalizePartValue(part);\n const value = part.value as ISafePayload;\n if (value.type === 'string') {\n return this.renderTextPart(part, index);\n }\n if (value.type === 'blob') {\n return this.renderBlobPart(part, index);\n }\n return this.renderFilePart(part, index); \n }\n\n protected renderTextPart(part: IMultipartBody, index: number): TemplateResult {\n return html`\n <div class=\"param-row\">\n ${this.renderToggleButton(part, index)}\n ${this.renderNameField(part, index)}\n ${this.renderValueField(part, index)}\n ${this.renderMimeField(index)}\n ${this.renderDeleteParameter(index)}\n </div>\n `;\n }\n\n protected renderBlobPart(part: IMultipartBody, index: number): TemplateResult {\n const item = part.value as ISafePayload;\n const meta = item && item.meta as IBlobMeta | undefined;\n return html`\n <div class=\"param-row\">\n ${this.renderToggleButton(part, index)}\n ${this.renderNameField(part, index)}\n ${this.renderBlobValueField(part, index)}\n ${this.renderMimeField(index, meta && meta.mime)}\n ${this.renderDeleteParameter(index)}\n </div>\n `;\n }\n\n protected renderFilePart(part: IMultipartBody, index: number): TemplateResult {\n return html`\n <div class=\"param-row\">\n ${this.renderToggleButton(part, index)}\n ${this.renderNameField(part, index)}\n ${this.renderFileField(part, index)}\n ${this.renderDeleteParameter(index)}\n </div>\n `;\n }\n \n protected renderFileField(part: IMultipartBody, index: number): TemplateResult {\n const { readOnly } = this;\n const item = part.value as ISafePayload;\n const meta = item && item.meta as IFileMeta | undefined;\n return html`\n <div class=\"input-wrapper file-input\">\n <ui-button @click=\"${this.handleFilePick}\" ?disabled=\"${readOnly}\" type=\"text\">Choose file</ui-button>\n <input type=\"file\" hidden data-index=\"${index}\" @change=\"${this.handleFilePartValue}\"/>\n ${meta ? html`<span class=\"file-info\">${meta.name} (${meta.mime}), ${item.data.length} bytes</span>` : ''}\n </div>\n `;\n }\n\n protected renderIncompatiblePart(index: number): TemplateResult {\n return html`\n <div class=\"param-row\">\n <p class=\"incompatible-part\">This part cannot be rendered. Please, remove this part.</p>\n ${this.renderDeleteParameter(index)}\n </div>\n `;\n }\n\n protected renderMimeList(): TemplateResult {\n return html`\n <datalist id=\"mime-list\">\n ${mimeSuggestions.map((i) => html`<option value=\"${i}\"></option>`)}\n </datalist>\n `;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"BodyMultipartEditor.js","sourceRoot":"","sources":["../../../src/elements/http/BodyMultipartEditor.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-param-reassign */\nimport { html, TemplateResult, nothing } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { IMultipartBody, ISafePayload, PayloadSerializer, IFileMeta, IBlobMeta, HttpDefinitions } from '@api-client/core/build/browser.js';\nimport { live } from 'lit/directives/live.js';\nimport SwitchElement from '../../ui/input/SwitchElement.js';\nimport Input from '../../ui/input/Input.js';\nimport ApiElement from '../ApiElement.js';\nimport '../../define/ui/ui-icon.js';\nimport '../../define/ui/ui-switch.js';\nimport '../../define/ui/ui-icon-button.js';\nimport '../../define/ui/ui-button.js';\n\nlet hasSupport: boolean;\ntry {\n const fd = new FormData();\n fd.append('test', new Blob(['.'], { type: 'image/jpg' }), 'test.jpg');\n hasSupport = ('entries' in fd);\n} catch (e) {\n /* istanbul ignore next */\n hasSupport = false;\n}\nexport const hasFormDataSupport = hasSupport;\n\nfunction normalizePartValue(item: IMultipartBody): void {\n if (typeof item.value === 'string') {\n const oldValue = item.value;\n // eslint-disable-next-line no-param-reassign\n item.value = {\n type: 'string',\n data: oldValue,\n };\n }\n}\n\nlet mimeSuggestions: string[] = [];\n\n((): void => {\n const items = HttpDefinitions.queryRequestHeaders('content-type');\n const item = items.find(i => i.key.toLowerCase() === 'content-type');\n if (!item || !item.autocomplete) {\n return;\n }\n mimeSuggestions = item.autocomplete;\n})();\n\n/**\n * Multipart payload editor.\n *\n * The element internally uses a generated from a FormData model. It is API Client's `IMultipartBody` array.\n * The FormData is generated on-fly when accessing the `value` getter. It also regenerates the model when \n * the `value` property change. Because of that you should never set the value on the editor but only manipulate the \n * `model` property.\n */\nexport default class BodyMultipartEditor extends ApiElement {\n /**\n * When set the editor is in read only mode.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) readOnly = false;\n\n /**\n * When set all controls are disabled in the form\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /**\n * @attribute\n */\n @property({ type: Boolean }) allowFormInfo?: boolean;\n\n /**\n * The value of this form. \n * When reading the `value` it generated the FormData from the model values.\n * When setting this property is regenerates the `model` to the value in the FormData.\n * When setting to anything other than the `FormData` it sets the `model` to an empty array.\n */\n @property({ type: Object }) get value(): FormData {\n return this.toFormData();\n }\n\n set value(value: FormData) {\n this.updateModel(value);\n }\n\n /** \n * The model used by the external application\n */\n protected modelInternal: IMultipartBody[] = [];\n\n /**\n * Computed data model for the view.\n * Don't set both `value` and `model`. If the model exists then\n * set only it or otherwise the `value` setter override the model.\n */\n @property({ type: Array }) get model(): IMultipartBody[] {\n return this.modelInternal;\n }\n\n set model(value: IMultipartBody[] | undefined) {\n const old = this.modelInternal;\n if (old === value) {\n return;\n }\n if (Array.isArray(value)) {\n this.modelInternal = value;\n } else {\n this.modelInternal = [];\n }\n this.requestUpdate('model', old);\n if (value) {\n this.upgradeLegacy(value);\n }\n }\n\n /**\n * @returns The FormData from the current model.\n */\n toFormData(): FormData {\n const validItems = this.modelInternal.filter((item) => {\n const { name, value } = item;\n if (!name) {\n return false;\n }\n if (typeof value === 'string') {\n return true;\n }\n if (value.type === 'string') {\n return true;\n }\n if (value.type === 'blob' || value.type === 'file') {\n return !!value.data && !!value.data.length;\n }\n return true;\n });\n return PayloadSerializer.deserializeFormData(validItems);\n }\n\n /**\n * Makes an attempt to upgrade old definitions of the `IMultipartBody`.\n * If this fails, the form will show error instead of part field.\n * @param value The current model.\n */\n protected async upgradeLegacy(value: IMultipartBody[]): Promise<void> {\n const ps: Promise<void>[] = [];\n for (const part of value) {\n if (part.isFile === undefined) {\n continue;\n }\n if (part.isFile === false && !part.type) {\n delete part.isFile;\n const oldValue = (part.value || '') as string;\n part.value = {\n type: 'string',\n data: oldValue,\n };\n } else if (part.isFile === false && part.type) {\n ps.push(this.upgradeLegacyBlob(part));\n } else {\n ps.push(this.upgradeLegacyFile(part));\n }\n }\n if (ps.length) {\n await Promise.allSettled(ps);\n this.requestUpdate();\n this.notifyChange();\n }\n }\n\n protected async upgradeLegacyBlob(part: IMultipartBody): Promise<void> {\n if (typeof part.value !== 'string') {\n return;\n }\n const readBlob = PayloadSerializer.deserializeBlobLegacy(part.value as string);\n if (!readBlob) {\n return;\n }\n const contents = await readBlob.text();\n part.blobText = contents || '';\n const blob = new Blob([part.blobText as string], { type: part.type });\n part.value = await PayloadSerializer.stringifyBlob(blob);\n delete part.type;\n delete part.isFile;\n }\n\n protected async upgradeLegacyFile(part: IMultipartBody): Promise<void> {\n if (typeof part.value !== 'string') {\n return;\n }\n const readBlob = PayloadSerializer.deserializeBlobLegacy(part.value as string);\n if (!readBlob) {\n return;\n }\n const fname = part.fileName || 'unknown-file.txt';\n const file = new File([readBlob], fname, { type: readBlob.type });\n part.value = await PayloadSerializer.stringifyFile(file);\n delete part.fileName;\n delete part.isFile;\n }\n\n protected async updateModel(value?: unknown): Promise<void> {\n if (!value || !(value instanceof FormData)) {\n this.model = [];\n return;\n }\n const payload = await PayloadSerializer.stringifyFormData(value as FormData);\n this.model = payload.data as IMultipartBody[];\n }\n\n /**\n * Adds an instance of a file to the form data\n */\n async addFile(file: File): Promise<void> {\n if (this.readOnly || this.disabled) {\n return;\n }\n const { model } = this;\n const entry = await PayloadSerializer.serializeFormDataEntry(file.name, file);\n model.push(entry);\n this.notifyChange();\n this.requestUpdate();\n }\n\n /**\n * Removes all parameters.\n */\n clear(): void {\n this.model = [];\n this.notifyChange();\n }\n\n /**\n * Adds an empty text part item to the form.\n */\n addEmptyText(): void {\n if (this.readOnly || this.disabled) {\n return;\n }\n const { model } = this;\n const obj: IMultipartBody = {\n name: '',\n value: {\n data: '',\n type: 'string',\n },\n enabled: true,\n };\n model.push(obj);\n this.requestUpdate();\n }\n\n /**\n * Adds an empty file part item to the form.\n */\n addEmptyFile(): void {\n if (this.readOnly || this.disabled) {\n return;\n }\n const { model } = this;\n const obj: IMultipartBody = {\n name: '',\n value: {\n data: [],\n type: 'file',\n },\n enabled: true,\n };\n model.push(obj);\n this.requestUpdate();\n }\n\n /**\n * Removes a parameter from an index.\n */\n removeProperty(index: number): void {\n const items = this.modelInternal;\n items.splice(index, 1);\n this.requestUpdate();\n this.notifyChange();\n }\n\n /**\n * Toggles enabled state of a parameter.\n */\n toggleProperty(index: number, enabled: boolean): void {\n const items = this.modelInternal;\n const item = items[index];\n item.enabled = enabled;\n this.notifyChange();\n }\n\n updatePartName(index: number, value: string): void {\n const item = this.modelInternal[index];\n const old = item.name;\n if (old === value) {\n return;\n }\n item.name = value;\n this.notifyChange();\n }\n\n updateTextPartValue(index: number, value: string): void {\n const item = this.modelInternal[index];\n normalizePartValue(item);\n const typedValue = item.value as ISafePayload;\n if (typedValue.data === value) {\n return;\n }\n typedValue.data = value;\n this.notifyChange();\n }\n\n async updateBlobPartValue(index: number, value: string): Promise<void> {\n const item = this.modelInternal[index];\n normalizePartValue(item);\n const typedValue = item.value as ISafePayload;\n if (typedValue.data === value) {\n return;\n }\n item.blobText = value;\n const blob = new Blob([value], { type: typedValue.meta?.mime || 'text/plain' });\n item.value = await PayloadSerializer.stringifyBlob(blob);\n this.notifyChange();\n }\n\n async updateFileValue(index: number, file: File): Promise<void> {\n const item = this.modelInternal[index];\n if (!item || !file) {\n return;\n }\n item.value = await PayloadSerializer.stringifyFile(file);\n this.notifyChange();\n this.requestUpdate();\n }\n\n async changePartMime(index: number, value: string): Promise<void> {\n const item = this.modelInternal[index];\n if (!item) {\n return;\n }\n normalizePartValue(item);\n // change the type from text to blob, if needed\n const typedValue = item.value as ISafePayload;\n\n if (typedValue.type === 'string') {\n item.blobText = typedValue.data as string;\n } else if (!item.blobText && typedValue.data) {\n const restored = PayloadSerializer.deserializeBlob(typedValue) as Blob;\n item.blobText = await restored.text();\n }\n const blob = new Blob([item.blobText || ''], { type: value });\n item.value = await PayloadSerializer.stringifyBlob(blob);\n this.notifyChange();\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 handleFilePick(e: Event): void {\n const node = e.target as HTMLElement;\n const input = node.nextElementSibling as HTMLInputElement;\n input.click();\n }\n\n protected handleFilePartValue(e: Event): void {\n e.stopPropagation();\n const input = e.target as HTMLInputElement;\n if (!input.files) {\n return;\n }\n const index = Number(input.dataset.index);\n this.updateFileValue(index, input.files[0]);\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.updatePartName(index, 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.updateTextPartValue(index, input.value);\n input.checkValidity();\n }\n\n protected handleBlobValueChange(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.updateBlobPartValue(index, input.value);\n input.checkValidity();\n }\n\n protected handleMimeChange(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.changePartMime(index, input.value);\n input.checkValidity();\n }\n\n override render(): TemplateResult {\n if (!hasSupport) {\n return this.renderNoSupport();\n }\n return html`\n ${this.renderList()}\n ${this.renderMimeList()}\n ${this.renderFormInfo()}\n `;\n }\n\n protected renderFormInfo(): TemplateResult | typeof nothing {\n if (!this.allowFormInfo) {\n return nothing;\n }\n return html`\n <p class=\"form-info\">\n Note that the content-type header will be added when the request is sent. \n We encourage you to use variables to insert sensitive data.\n </p>\n `;\n }\n\n protected renderList(): TemplateResult {\n const items = this.model;\n if (!Array.isArray(items) || !items.length) {\n return this.renderEmptyMessage();\n }\n return this.renderParams(items);\n }\n\n protected renderNoSupport(): TemplateResult {\n return html`\n <div class=\"empty-message\">Your browser does not support this editor</div>\n `;\n }\n\n protected renderEmptyMessage(): TemplateResult {\n return html`\n <div class=\"empty-message\">No parameters added</div>\n `;\n }\n\n protected renderParams(items: IMultipartBody[]): TemplateResult {\n return html`\n ${items.map((item, index) => this.renderParam(item, index))}\n `;\n }\n\n protected renderToggleButton(part: IMultipartBody, index: number): TemplateResult {\n return html`\n <ui-switch \n .checked=\"${!!part.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 class=\"delete-button\"\n >\n <ui-icon icon=\"deleteOutline\" role=\"presentation\"></ui-icon>\n </ui-icon-button>\n `;\n }\n\n protected renderNameField(part: IMultipartBody, index: number): TemplateResult {\n return html`\n <div class=\"input-wrapper name-input\">\n <div class=\"error\" role=\"presentation\">Name is required</div>\n <div class=\"state\"></div>\n <input\n type=\"text\"\n name=\"name\"\n required\n autocomplete=\"off\"\n .value=\"${live(part.name)}\" \n data-index=\"${index}\" \n ?readOnly=\"${this.readOnly}\" \n aria-label=\"Part name value\"\n placeholder=\"Part name\"\n @change=\"${this.handleNameChange}\"\n />\n </div>\n `;\n }\n\n protected renderValueField(part: IMultipartBody, index: number): TemplateResult {\n const value = (part.value as ISafePayload).data as string || '';\n return html`\n <div class=\"input-wrapper value-input\">\n <div class=\"error\" role=\"presentation\">Value is required</div>\n <div class=\"state\"></div>\n <input\n type=\"text\"\n name=\"value\"\n required\n .value=\"${live(value)}\" \n data-index=\"${index}\" \n ?readOnly=\"${this.readOnly}\" \n aria-label=\"Text part value\"\n placeholder=\"Part text value\"\n @change=\"${this.handleValueChange}\"\n />\n </div>\n `;\n }\n\n protected renderBlobValueField(part: IMultipartBody, index: number): TemplateResult {\n const { blobText } = part;\n return html`\n <div class=\"input-wrapper value-input\">\n <div class=\"error\" role=\"presentation\">Value is required</div>\n <div class=\"state\"></div>\n <input\n type=\"text\"\n name=\"value\"\n required\n .value=\"${live(blobText || '')}\" \n data-index=\"${index}\" \n ?readOnly=\"${this.readOnly}\" \n aria-label=\"Text part value\"\n placeholder=\"Part text value\"\n @change=\"${this.handleBlobValueChange}\"\n />\n </div>\n `;\n }\n\n protected renderMimeField(index: number, value?: string): TemplateResult {\n return html`\n <div class=\"input-wrapper mime-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(value || '')}\" \n data-index=\"${index}\" \n ?readOnly=\"${this.readOnly}\" \n aria-label=\"Text part mime - optional value\"\n placeholder=\"Part mime (optional)\"\n @change=\"${this.handleMimeChange}\"\n list=\"mime-list\"\n />\n </div>\n `;\n }\n\n protected renderParam(part: IMultipartBody, index: number): TemplateResult {\n if (typeof part.isFile === 'boolean') {\n // When this is still set it means that when setting the model something went wrong. \n // This also mean we can't recover from here so the only option is to remove the part.\n return this.renderIncompatiblePart(index);\n }\n normalizePartValue(part);\n const value = part.value as ISafePayload;\n if (value.type === 'string') {\n return this.renderTextPart(part, index);\n }\n if (value.type === 'blob') {\n return this.renderBlobPart(part, index);\n }\n return this.renderFilePart(part, index); \n }\n\n protected renderTextPart(part: IMultipartBody, index: number): TemplateResult {\n return html`\n <div class=\"param-row\">\n ${this.renderToggleButton(part, index)}\n ${this.renderNameField(part, index)}\n ${this.renderValueField(part, index)}\n ${this.renderMimeField(index)}\n ${this.renderDeleteParameter(index)}\n </div>\n `;\n }\n\n protected renderBlobPart(part: IMultipartBody, index: number): TemplateResult {\n const item = part.value as ISafePayload;\n const meta = item && item.meta as IBlobMeta | undefined;\n return html`\n <div class=\"param-row\">\n ${this.renderToggleButton(part, index)}\n ${this.renderNameField(part, index)}\n ${this.renderBlobValueField(part, index)}\n ${this.renderMimeField(index, meta && meta.mime)}\n ${this.renderDeleteParameter(index)}\n </div>\n `;\n }\n\n protected renderFilePart(part: IMultipartBody, index: number): TemplateResult {\n return html`\n <div class=\"param-row\">\n ${this.renderToggleButton(part, index)}\n ${this.renderNameField(part, index)}\n ${this.renderFileField(part, index)}\n ${this.renderDeleteParameter(index)}\n </div>\n `;\n }\n \n protected renderFileField(part: IMultipartBody, index: number): TemplateResult {\n const { readOnly } = this;\n const item = part.value as ISafePayload;\n const meta = item && item.meta as IFileMeta | undefined;\n return html`\n <div class=\"input-wrapper file-input\">\n <ui-button @click=\"${this.handleFilePick}\" ?disabled=\"${readOnly}\" type=\"text\">Choose file</ui-button>\n <input type=\"file\" hidden data-index=\"${index}\" @change=\"${this.handleFilePartValue}\"/>\n ${meta ? html`<span class=\"file-info\">${meta.name} (${meta.mime}), ${item.data.length} bytes</span>` : ''}\n </div>\n `;\n }\n\n protected renderIncompatiblePart(index: number): TemplateResult {\n return html`\n <div class=\"param-row\">\n <p class=\"incompatible-part\">This part cannot be rendered. Please, remove this part.</p>\n ${this.renderDeleteParameter(index)}\n </div>\n `;\n }\n\n protected renderMimeList(): TemplateResult {\n return html`\n <datalist id=\"mime-list\">\n ${mimeSuggestions.map((i) => html`<option value=\"${i}\"></option>`)}\n </datalist>\n `;\n }\n}\n"]}
|
|
@@ -79,7 +79,6 @@ export default class BodyTextEditor extends ApiElement {
|
|
|
79
79
|
protected setupActions(inst: editor.IStandaloneCodeEditor): void;
|
|
80
80
|
protected changeTimeout?: number;
|
|
81
81
|
protected valueChanged(): void;
|
|
82
|
-
protected notifyChange(): void;
|
|
83
82
|
/**
|
|
84
83
|
* Generates Monaco configuration
|
|
85
84
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BodyTextEditor.d.ts","sourceRoot":"","sources":["../../../src/elements/http/BodyTextEditor.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;EAYE;AACF,OAAO,EAAQ,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAGpD,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAM1C,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,UAAU;IAE/B,SAAS,EAAG,cAAc,CAAC;IAEhD,SAAS,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC;IAEzB,SAAS,CAAC,aAAa,SAAM;IAE7B;;;OAGG;IACH,IACI,KAAK,IAAI,MAAM,GAAG,SAAS,CAE9B;IAED,IAAI,KAAK,CAAC,KAAK,EAJF,MAAM,GAAG,SAIP,EAUd;IAED,SAAS,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAEvC,SAAS,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAEpC;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,GAAG,SAAS,CAEjC;IAED,SAAS,CAAC,aAAa,UAAS;IAEhC;;;OAGG;IACH,IACI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,IAAI,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAaxC;IAED;;;OAGG;IACH,IACI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAO1B;IAED,SAAS,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,qBAAqB,CAAC;IAExD,IAAI,MAAM,IAAI,MAAM,CAAC,qBAAqB,GAAG,SAAS,CAErD;IAED,SAAS,CAAC,iBAAiB,CAAC,EAAE,YAAY,EAAE,CAAC;IAE7C,IAAI,OAAO,IAAI,YAAY,EAAE,GAAG,SAAS,CAExC;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,SAAS,EAO5C;IAED,SAAS,CAAC,QAAQ,EAAE,cAAc,CAAC;IAEnC;;OAEG;IAC0B,aAAa,CAAC,EAAE,OAAO,CAAC;;IAQ5C,iBAAiB,IAAI,IAAI;IASzB,oBAAoB,IAAI,IAAI;IAU5B,YAAY,IAAI,IAAI;IAe7B,SAAS,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAEpC;;OAEG;IACH,SAAS,CAAC,aAAa,IAAI,IAAI;IAO/B;;;;OAIG;IACH,SAAS,CAAC,aAAa,IAAI,IAAI;IAQ/B;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAY1C;;OAEG;IACH,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,qBAAqB,GAAG,IAAI;IAkBhE,SAAS,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEjC,SAAS,CAAC,YAAY,IAAI,IAAI;IAmB9B
|
|
1
|
+
{"version":3,"file":"BodyTextEditor.d.ts","sourceRoot":"","sources":["../../../src/elements/http/BodyTextEditor.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;EAYE;AACF,OAAO,EAAQ,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAGpD,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAM1C,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,UAAU;IAE/B,SAAS,EAAG,cAAc,CAAC;IAEhD,SAAS,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC;IAEzB,SAAS,CAAC,aAAa,SAAM;IAE7B;;;OAGG;IACH,IACI,KAAK,IAAI,MAAM,GAAG,SAAS,CAE9B;IAED,IAAI,KAAK,CAAC,KAAK,EAJF,MAAM,GAAG,SAIP,EAUd;IAED,SAAS,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAEvC,SAAS,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAEpC;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,GAAG,SAAS,CAEjC;IAED,SAAS,CAAC,aAAa,UAAS;IAEhC;;;OAGG;IACH,IACI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,IAAI,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAaxC;IAED;;;OAGG;IACH,IACI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAO1B;IAED,SAAS,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,qBAAqB,CAAC;IAExD,IAAI,MAAM,IAAI,MAAM,CAAC,qBAAqB,GAAG,SAAS,CAErD;IAED,SAAS,CAAC,iBAAiB,CAAC,EAAE,YAAY,EAAE,CAAC;IAE7C,IAAI,OAAO,IAAI,YAAY,EAAE,GAAG,SAAS,CAExC;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,SAAS,EAO5C;IAED,SAAS,CAAC,QAAQ,EAAE,cAAc,CAAC;IAEnC;;OAEG;IAC0B,aAAa,CAAC,EAAE,OAAO,CAAC;;IAQ5C,iBAAiB,IAAI,IAAI;IASzB,oBAAoB,IAAI,IAAI;IAU5B,YAAY,IAAI,IAAI;IAe7B,SAAS,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAEpC;;OAEG;IACH,SAAS,CAAC,aAAa,IAAI,IAAI;IAO/B;;;;OAIG;IACH,SAAS,CAAC,aAAa,IAAI,IAAI;IAQ/B;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAY1C;;OAEG;IACH,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,qBAAqB,GAAG,IAAI;IAkBhE,SAAS,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEjC,SAAS,CAAC,YAAY,IAAI,IAAI;IAmB9B;;OAEG;IACH,SAAS,CAAC,oBAAoB,IAAI,MAAM,CAAC,oCAAoC;IAmC7E,SAAS,CAAC,iBAAiB,IAAI,YAAY,EAAE;IAS7C,SAAS,CAAC,mBAAmB,IAAI,YAAY;IAS7C,SAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,GAAG,IAAI;IAkB7D;;OAEG;IACH,SAAS,CAAC,uBAAuB,CAAC,IAAI,EAAE,MAAM,MAAM,CAAC,cAAc,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAW1F,SAAS,CAAC,oBAAoB,CAAC,OAAO,EAAE,mBAAmB,EAAE,GAAG,IAAI;IAU3D,MAAM,IAAI,cAAc;IAOjC,SAAS,CAAC,cAAc,IAAI,cAAc,GAAG,OAAO,OAAO;CAW5D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BodyTextEditor.js","sourceRoot":"","sources":["../../../src/elements/http/BodyTextEditor.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/ban-ts-comment */\n/* eslint-disable no-plusplus */\n/* eslint-disable no-bitwise */\n/* eslint-disable class-methods-use-this */\n/**\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, nothing, TemplateResult } from 'lit';\nimport { property, query } from 'lit/decorators.js';\n// import * as monaco from 'monaco-editor'; // /esm/vs/editor/editor.main.js\nimport { editor, Uri } from 'monaco-editor';\nimport { assignTheme } from '../../monaco/theme.js';\nimport { detectLanguage } from '../../monaco/helper.js';\nimport { MonacoSchema } from '../../monaco/types.js';\nimport { ScrollHelper } from '../../ui/lib/ScrollHelper.js';\nimport { Events } from '../../events/Events.js';\nimport ApiElement from '../ApiElement.js';\n\n/* global monaco */\n\nlet modelId = 0;\n\nexport default class BodyTextEditor extends ApiElement {\n\n @query('#container') container!: HTMLDivElement;\n\n protected modelUri?: Uri;\n\n protected valueInternal = '';\n\n /**\n * A HTTP body.\n * @attribute\n */\n @property({ type: String })\n get value(): string | undefined {\n return this.valueInternal;\n }\n\n set value(value) {\n const old = this.valueInternal;\n if (old === value) {\n return;\n }\n this.valueInternal = value || '';\n const { editor: e } = this;\n if (e) {\n e.setValue(value || '');\n }\n }\n\n protected contentTypeInternal?: string;\n\n protected languageInternal?: string;\n\n /**\n * The current language of the editor. It is set via the `contentType`.\n */\n get language(): string | undefined {\n return this.languageInternal;\n }\n\n protected readOnlyValue = false;\n\n /** \n * Uses the current content type to detect language support.\n * @attribute\n */\n @property({ type: String, reflect: true })\n get contentType(): string | undefined {\n return this.contentTypeInternal;\n }\n\n set contentType(value: string | undefined) {\n const old = this.contentTypeInternal;\n if (old === value) {\n return;\n }\n this.contentTypeInternal = value;\n const oldLang = this.languageInternal;\n const lang = detectLanguage(value);\n if (oldLang === lang) {\n return;\n }\n this.languageInternal = lang;\n this.setLanguage(lang);\n }\n\n /**\n * When set the editor is in read only mode.\n * @attribute\n */\n @property({ type: Boolean, reflect: true })\n get readOnly(): boolean {\n return this.readOnlyValue;\n }\n\n set readOnly(value: boolean) {\n const old = this.readOnlyValue;\n if (old === value) {\n return;\n }\n this.readOnlyValue = value;\n this.setEditorConfigProperty('readOnly', value);\n }\n\n protected monacoInstance?: editor.IStandaloneCodeEditor;\n\n get editor(): editor.IStandaloneCodeEditor | undefined {\n return this.monacoInstance;\n }\n\n protected validationSchemas?: MonacoSchema[];\n\n get schemas(): MonacoSchema[] | undefined {\n return this.validationSchemas;\n }\n\n set schemas(value: MonacoSchema[] | undefined) {\n const old = this.validationSchemas;\n if (old === value) {\n return;\n }\n this.validationSchemas = value;\n this.updateEditorSchemas(value);\n }\n\n protected observer: ResizeObserver;\n\n /**\n * @attribute\n */\n @property({ type: Boolean }) allowFormInfo?: boolean;\n\n constructor() {\n super();\n this.valueChanged = this.valueChanged.bind(this);\n this.observer = new ResizeObserver(this.handleObservedResize.bind(this));\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n ScrollHelper.addListeners(this, this.resizeHandler.bind(this));\n const { container } = this;\n if (container) {\n this.observer.observe(container);\n }\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n ScrollHelper.removeListeners(this);\n this.editor?.dispose();\n const { container } = this;\n if (container) {\n this.observer.unobserve(container);\n }\n }\n\n override firstUpdated(): void {\n const config = this.generateEditorConfig();\n const node = this.container;\n // @ts-ignore\n const instance = monaco.editor.create(node, config) as editor.IStandaloneCodeEditor;\n // instance.onDidChangeModelContent(this.valueChanged);\n // We use `onDidBlurEditorText` which is the closest we can get to an input's \n // `change` event. This will reduce the number of updates on the parent \n // editor.\n instance.onDidBlurEditorText(this.valueChanged);\n this.monacoInstance = instance;\n this.setupActions(instance);\n this.observer.observe(node);\n }\n\n protected refreshDebouncer?: number;\n\n /**\n * Handler for the `resize` event provided by the resizable mixin.\n */\n protected resizeHandler(): void {\n if (this.refreshDebouncer) {\n clearTimeout(this.refreshDebouncer);\n }\n this.refreshDebouncer = setTimeout(this.refreshEditor.bind(this)) as unknown as number;\n }\n \n /**\n * A function that is called from the `[resizeHandler]` in a timeout to reduce the number\n * of computations during the application initialization, where it can receive hundreds of\n * the `resize` events.\n */\n protected refreshEditor(): void {\n this.refreshDebouncer = undefined;\n if (!this.monacoInstance) {\n return;\n }\n this.monacoInstance.layout();\n }\n\n /**\n * @param lang New language to set\n */\n protected setLanguage(lang?: string): void {\n const { editor: e } = this;\n if (!e || !lang) {\n return;\n }\n const model = e.getModel();\n if (model) {\n // @ts-ignore\n monaco.editor.setModelLanguage(model, lang);\n }\n }\n\n /**\n * Sets up editor actions\n */\n protected setupActions(inst: editor.IStandaloneCodeEditor): void {\n inst.addAction({\n id: 'send-http-request',\n label: 'Send request',\n keybindings: [\n // @ts-ignore\n monaco.KeyMod.CtrlCmd | monaco.KeyCode.Enter,\n ],\n precondition: undefined,\n keybindingContext: undefined,\n contextMenuGroupId: 'navigation',\n contextMenuOrder: 1.5,\n run: (): void => {\n Events.Http.Request.send(this);\n }\n });\n }\n\n protected changeTimeout?: number;\n\n protected valueChanged(): void {\n const { editor: ed } = this;\n if (!ed) {\n return;\n }\n const editorValue = ed.getValue();\n if (editorValue === this.valueInternal) {\n return;\n }\n this.valueInternal = editorValue;\n if (this.changeTimeout) {\n // window.clearTimeout(this[changeTimeout]);\n window.cancelAnimationFrame(this.changeTimeout);\n }\n this.changeTimeout = window.requestAnimationFrame(() => {\n this.notifyChange();\n });\n }\n\n protected notifyChange(): void {\n this.dispatchEvent(new Event('change'));\n }\n\n /**\n * Generates Monaco configuration\n */\n protected generateEditorConfig(): editor.IStandaloneEditorConstructionOptions {\n const { value = '', readOnly, languageInternal: language } = this;\n // @ts-ignore\n this.modelUri = monaco.Uri.parse(`http://raw-editor/model${++modelId}.json`);\n // @ts-ignore\n const model = monaco.editor.createModel(value, language || 'json', this.modelUri);\n\n const schemas = this.getCurrentSchemas();\n this.updateEditorSchemas(schemas);\n \n let config: editor.IStandaloneEditorConstructionOptions = {\n minimap: {\n enabled: false,\n },\n readOnly,\n formatOnType: true,\n folding: true,\n tabSize: 2,\n detectIndentation: true,\n // value,\n // automaticLayout: true,\n model,\n padding: { top: 0, bottom: 0 },\n scrollBeyondLastLine: false,\n foldingHighlight: true,\n selectionHighlight: true,\n };\n // @ts-ignore\n config = assignTheme(monaco, config);\n if (language) {\n config.language = language;\n }\n return config;\n }\n\n protected getCurrentSchemas(): MonacoSchema[] {\n const { schemas } = this;\n if (Array.isArray(schemas) && schemas.length) {\n schemas[0].fileMatch = [this.modelUri?.toString() || ''];\n return schemas;\n }\n return [this.createDefaultSchema()];\n }\n\n protected createDefaultSchema(): MonacoSchema {\n const schema: MonacoSchema = {\n uri: \"http://raw-editor/default-schema.json\",\n fileMatch: [this.modelUri?.toString() || ''],\n schema: {},\n };\n return schema;\n }\n\n protected updateEditorSchemas(schemas?: MonacoSchema[]): void {\n if (!this.modelUri || !schemas) {\n // the editor is not yet ready. This will be called again when it is ready.\n return;\n }\n let value = schemas;\n if (!Array.isArray(value) || !value.length) {\n value = [this.createDefaultSchema()];\n } else {\n value[0] = { ...value[0], fileMatch: [this.modelUri.toString()] };\n }\n // @ts-ignore\n monaco.languages.json.jsonDefaults.setDiagnosticsOptions({\n validate: true,\n schemas: value,\n });\n }\n\n /**\n * @param prop The property to set\n */\n protected setEditorConfigProperty(prop: keyof editor.IEditorOptions, value: unknown): void {\n const { editor: e } = this;\n if (!e) {\n return;\n }\n const opts = {\n [prop]: value,\n };\n e.updateOptions(opts);\n }\n\n protected handleObservedResize(entries: ResizeObserverEntry[]): void {\n const { editor: e } = this;\n if (!e) {\n return;\n }\n const [entry] = entries;\n const rect = entry.contentRect;\n e.layout({ height: rect.height, width: rect.width });\n }\n \n override render(): TemplateResult {\n return html`\n <div id=\"container\"></div>\n ${this.renderFormInfo()}\n `;\n }\n\n protected renderFormInfo(): TemplateResult | typeof nothing {\n if (!this.allowFormInfo) {\n return nothing;\n }\n return html`\n <p class=\"form-info\">\n Note that the content-type header will be added when the request is sent. \n We encourage you to use variables to insert sensitive data.\n </p>\n `;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"BodyTextEditor.js","sourceRoot":"","sources":["../../../src/elements/http/BodyTextEditor.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/ban-ts-comment */\n/* eslint-disable no-plusplus */\n/* eslint-disable no-bitwise */\n/* eslint-disable class-methods-use-this */\n/**\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, nothing, TemplateResult } from 'lit';\nimport { property, query } from 'lit/decorators.js';\n// import * as monaco from 'monaco-editor'; // /esm/vs/editor/editor.main.js\nimport { editor, Uri } from 'monaco-editor';\nimport { assignTheme } from '../../monaco/theme.js';\nimport { detectLanguage } from '../../monaco/helper.js';\nimport { MonacoSchema } from '../../monaco/types.js';\nimport { ScrollHelper } from '../../ui/lib/ScrollHelper.js';\nimport { Events } from '../../events/Events.js';\nimport ApiElement from '../ApiElement.js';\n\n/* global monaco */\n\nlet modelId = 0;\n\nexport default class BodyTextEditor extends ApiElement {\n\n @query('#container') container!: HTMLDivElement;\n\n protected modelUri?: Uri;\n\n protected valueInternal = '';\n\n /**\n * A HTTP body.\n * @attribute\n */\n @property({ type: String })\n get value(): string | undefined {\n return this.valueInternal;\n }\n\n set value(value) {\n const old = this.valueInternal;\n if (old === value) {\n return;\n }\n this.valueInternal = value || '';\n const { editor: e } = this;\n if (e) {\n e.setValue(value || '');\n }\n }\n\n protected contentTypeInternal?: string;\n\n protected languageInternal?: string;\n\n /**\n * The current language of the editor. It is set via the `contentType`.\n */\n get language(): string | undefined {\n return this.languageInternal;\n }\n\n protected readOnlyValue = false;\n\n /** \n * Uses the current content type to detect language support.\n * @attribute\n */\n @property({ type: String, reflect: true })\n get contentType(): string | undefined {\n return this.contentTypeInternal;\n }\n\n set contentType(value: string | undefined) {\n const old = this.contentTypeInternal;\n if (old === value) {\n return;\n }\n this.contentTypeInternal = value;\n const oldLang = this.languageInternal;\n const lang = detectLanguage(value);\n if (oldLang === lang) {\n return;\n }\n this.languageInternal = lang;\n this.setLanguage(lang);\n }\n\n /**\n * When set the editor is in read only mode.\n * @attribute\n */\n @property({ type: Boolean, reflect: true })\n get readOnly(): boolean {\n return this.readOnlyValue;\n }\n\n set readOnly(value: boolean) {\n const old = this.readOnlyValue;\n if (old === value) {\n return;\n }\n this.readOnlyValue = value;\n this.setEditorConfigProperty('readOnly', value);\n }\n\n protected monacoInstance?: editor.IStandaloneCodeEditor;\n\n get editor(): editor.IStandaloneCodeEditor | undefined {\n return this.monacoInstance;\n }\n\n protected validationSchemas?: MonacoSchema[];\n\n get schemas(): MonacoSchema[] | undefined {\n return this.validationSchemas;\n }\n\n set schemas(value: MonacoSchema[] | undefined) {\n const old = this.validationSchemas;\n if (old === value) {\n return;\n }\n this.validationSchemas = value;\n this.updateEditorSchemas(value);\n }\n\n protected observer: ResizeObserver;\n\n /**\n * @attribute\n */\n @property({ type: Boolean }) allowFormInfo?: boolean;\n\n constructor() {\n super();\n this.valueChanged = this.valueChanged.bind(this);\n this.observer = new ResizeObserver(this.handleObservedResize.bind(this));\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n ScrollHelper.addListeners(this, this.resizeHandler.bind(this));\n const { container } = this;\n if (container) {\n this.observer.observe(container);\n }\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n ScrollHelper.removeListeners(this);\n this.editor?.dispose();\n const { container } = this;\n if (container) {\n this.observer.unobserve(container);\n }\n }\n\n override firstUpdated(): void {\n const config = this.generateEditorConfig();\n const node = this.container;\n // @ts-ignore\n const instance = monaco.editor.create(node, config) as editor.IStandaloneCodeEditor;\n // instance.onDidChangeModelContent(this.valueChanged);\n // We use `onDidBlurEditorText` which is the closest we can get to an input's \n // `change` event. This will reduce the number of updates on the parent \n // editor.\n instance.onDidBlurEditorText(this.valueChanged);\n this.monacoInstance = instance;\n this.setupActions(instance);\n this.observer.observe(node);\n }\n\n protected refreshDebouncer?: number;\n\n /**\n * Handler for the `resize` event provided by the resizable mixin.\n */\n protected resizeHandler(): void {\n if (this.refreshDebouncer) {\n clearTimeout(this.refreshDebouncer);\n }\n this.refreshDebouncer = setTimeout(this.refreshEditor.bind(this)) as unknown as number;\n }\n \n /**\n * A function that is called from the `[resizeHandler]` in a timeout to reduce the number\n * of computations during the application initialization, where it can receive hundreds of\n * the `resize` events.\n */\n protected refreshEditor(): void {\n this.refreshDebouncer = undefined;\n if (!this.monacoInstance) {\n return;\n }\n this.monacoInstance.layout();\n }\n\n /**\n * @param lang New language to set\n */\n protected setLanguage(lang?: string): void {\n const { editor: e } = this;\n if (!e || !lang) {\n return;\n }\n const model = e.getModel();\n if (model) {\n // @ts-ignore\n monaco.editor.setModelLanguage(model, lang);\n }\n }\n\n /**\n * Sets up editor actions\n */\n protected setupActions(inst: editor.IStandaloneCodeEditor): void {\n inst.addAction({\n id: 'send-http-request',\n label: 'Send request',\n keybindings: [\n // @ts-ignore\n monaco.KeyMod.CtrlCmd | monaco.KeyCode.Enter,\n ],\n precondition: undefined,\n keybindingContext: undefined,\n contextMenuGroupId: 'navigation',\n contextMenuOrder: 1.5,\n run: (): void => {\n Events.Http.Request.send(this);\n }\n });\n }\n\n protected changeTimeout?: number;\n\n protected valueChanged(): void {\n const { editor: ed } = this;\n if (!ed) {\n return;\n }\n const editorValue = ed.getValue();\n if (editorValue === this.valueInternal) {\n return;\n }\n this.valueInternal = editorValue;\n if (this.changeTimeout) {\n // window.clearTimeout(this[changeTimeout]);\n window.cancelAnimationFrame(this.changeTimeout);\n }\n this.changeTimeout = window.requestAnimationFrame(() => {\n this.notifyChange();\n });\n }\n\n /**\n * Generates Monaco configuration\n */\n protected generateEditorConfig(): editor.IStandaloneEditorConstructionOptions {\n const { value = '', readOnly, languageInternal: language } = this;\n // @ts-ignore\n this.modelUri = monaco.Uri.parse(`http://raw-editor/model${++modelId}.json`);\n // @ts-ignore\n const model = monaco.editor.createModel(value, language || 'json', this.modelUri);\n\n const schemas = this.getCurrentSchemas();\n this.updateEditorSchemas(schemas);\n \n let config: editor.IStandaloneEditorConstructionOptions = {\n minimap: {\n enabled: false,\n },\n readOnly,\n formatOnType: true,\n folding: true,\n tabSize: 2,\n detectIndentation: true,\n // value,\n // automaticLayout: true,\n model,\n padding: { top: 0, bottom: 0 },\n scrollBeyondLastLine: false,\n foldingHighlight: true,\n selectionHighlight: true,\n };\n // @ts-ignore\n config = assignTheme(monaco, config);\n if (language) {\n config.language = language;\n }\n return config;\n }\n\n protected getCurrentSchemas(): MonacoSchema[] {\n const { schemas } = this;\n if (Array.isArray(schemas) && schemas.length) {\n schemas[0].fileMatch = [this.modelUri?.toString() || ''];\n return schemas;\n }\n return [this.createDefaultSchema()];\n }\n\n protected createDefaultSchema(): MonacoSchema {\n const schema: MonacoSchema = {\n uri: \"http://raw-editor/default-schema.json\",\n fileMatch: [this.modelUri?.toString() || ''],\n schema: {},\n };\n return schema;\n }\n\n protected updateEditorSchemas(schemas?: MonacoSchema[]): void {\n if (!this.modelUri || !schemas) {\n // the editor is not yet ready. This will be called again when it is ready.\n return;\n }\n let value = schemas;\n if (!Array.isArray(value) || !value.length) {\n value = [this.createDefaultSchema()];\n } else {\n value[0] = { ...value[0], fileMatch: [this.modelUri.toString()] };\n }\n // @ts-ignore\n monaco.languages.json.jsonDefaults.setDiagnosticsOptions({\n validate: true,\n schemas: value,\n });\n }\n\n /**\n * @param prop The property to set\n */\n protected setEditorConfigProperty(prop: keyof editor.IEditorOptions, value: unknown): void {\n const { editor: e } = this;\n if (!e) {\n return;\n }\n const opts = {\n [prop]: value,\n };\n e.updateOptions(opts);\n }\n\n protected handleObservedResize(entries: ResizeObserverEntry[]): void {\n const { editor: e } = this;\n if (!e) {\n return;\n }\n const [entry] = entries;\n const rect = entry.contentRect;\n e.layout({ height: rect.height, width: rect.width });\n }\n \n override render(): TemplateResult {\n return html`\n <div id=\"container\"></div>\n ${this.renderFormInfo()}\n `;\n }\n\n protected renderFormInfo(): TemplateResult | typeof nothing {\n if (!this.allowFormInfo) {\n return nothing;\n }\n return html`\n <p class=\"form-info\">\n Note that the content-type header will be added when the request is sent. \n We encourage you to use variables to insert sensitive data.\n </p>\n `;\n }\n}\n"]}
|
|
@@ -11,15 +11,16 @@ WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
|
11
11
|
License for the specific language governing permissions and limitations under
|
|
12
12
|
the License.
|
|
13
13
|
*/
|
|
14
|
-
import {
|
|
14
|
+
import { TemplateResult, PropertyValues, nothing } from 'lit';
|
|
15
15
|
import { IProperty } from '@api-client/core/build/browser.js';
|
|
16
|
+
import ApiElement from '../ApiElement.js';
|
|
16
17
|
import '../../define/ui/ui-icon.js';
|
|
17
18
|
import '../../define/ui/ui-icon-button.js';
|
|
18
19
|
import '../../define/ui/ui-switch.js';
|
|
19
20
|
/**
|
|
20
21
|
* A body editor specializing in URL encoded data.
|
|
21
22
|
*/
|
|
22
|
-
export default class BodyUrlEncodedEditor extends
|
|
23
|
+
export default class BodyUrlEncodedEditor extends ApiElement {
|
|
23
24
|
/**
|
|
24
25
|
* When set the editor is in read only mode.
|
|
25
26
|
* @attribute
|
|
@@ -71,7 +72,6 @@ export default class BodyUrlEncodedEditor extends LitElement {
|
|
|
71
72
|
*/
|
|
72
73
|
updateProperty(index: number, field: 'name' | 'value', value: string): void;
|
|
73
74
|
addParameter(name?: string, value?: string): void;
|
|
74
|
-
protected notifyChange(): void;
|
|
75
75
|
protected updateValue(): void;
|
|
76
76
|
protected modelToValue(): string;
|
|
77
77
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BodyUrlEncodedEditor.d.ts","sourceRoot":"","sources":["../../../src/elements/http/BodyUrlEncodedEditor.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;EAYE;AACF,OAAO,
|
|
1
|
+
{"version":3,"file":"BodyUrlEncodedEditor.d.ts","sourceRoot":"","sources":["../../../src/elements/http/BodyUrlEncodedEditor.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,19 +13,20 @@ WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
|
13
13
|
License for the specific language governing permissions and limitations under
|
|
14
14
|
the License.
|
|
15
15
|
*/
|
|
16
|
-
import {
|
|
16
|
+
import { html, nothing } from 'lit';
|
|
17
17
|
import { property } from 'lit/decorators.js';
|
|
18
18
|
import { live } from 'lit/directives/live.js';
|
|
19
19
|
import { ifDefined } from 'lit/directives/if-defined.js';
|
|
20
20
|
import { Property } from '@api-client/core/build/browser.js';
|
|
21
21
|
import { decodeUrlEncoded, encodeUrlEncoded, createViewModel, formArrayToString, } from './UrlEncodeUtils.js';
|
|
22
|
+
import ApiElement from '../ApiElement.js';
|
|
22
23
|
import '../../define/ui/ui-icon.js';
|
|
23
24
|
import '../../define/ui/ui-icon-button.js';
|
|
24
25
|
import '../../define/ui/ui-switch.js';
|
|
25
26
|
/**
|
|
26
27
|
* A body editor specializing in URL encoded data.
|
|
27
28
|
*/
|
|
28
|
-
export default class BodyUrlEncodedEditor extends
|
|
29
|
+
export default class BodyUrlEncodedEditor extends ApiElement {
|
|
29
30
|
constructor() {
|
|
30
31
|
super(...arguments);
|
|
31
32
|
/**
|
|
@@ -137,9 +138,6 @@ export default class BodyUrlEncodedEditor extends LitElement {
|
|
|
137
138
|
this.requestUpdate();
|
|
138
139
|
this.focusLast();
|
|
139
140
|
}
|
|
140
|
-
notifyChange() {
|
|
141
|
-
this.dispatchEvent(new Event('change'));
|
|
142
|
-
}
|
|
143
141
|
updateValue() {
|
|
144
142
|
if (this.readOnly) {
|
|
145
143
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BodyUrlEncodedEditor.js","sourceRoot":"","sources":["../../../src/elements/http/BodyUrlEncodedEditor.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable class-methods-use-this */\n/**\n@license\nCopyright 2020 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 { LitElement, html, TemplateResult, PropertyValues, nothing } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { live } from 'lit/directives/live.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { IProperty, Property } from '@api-client/core/build/browser.js';\nimport { \n decodeUrlEncoded,\n encodeUrlEncoded,\n createViewModel,\n formArrayToString,\n} from './UrlEncodeUtils.js';\nimport SwitchElement from '../../ui/input/SwitchElement.js';\nimport Input from '../../ui/input/Input.js';\nimport '../../define/ui/ui-icon.js';\nimport '../../define/ui/ui-icon-button.js';\nimport '../../define/ui/ui-switch.js';\n\n/**\n * A body editor specializing in URL encoded data.\n */\nexport default class BodyUrlEncodedEditor extends LitElement {\n /**\n * When set the editor is in read only mode.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) readOnly = false;\n\n /**\n * When set all controls are disabled in the form\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** \n * When set it automatically encodes and decodes values.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) autoEncode = false;\n\n /**\n * @attribute\n */\n @property({ type: Boolean }) allowFormInfo?: boolean;\n\n protected valueInternal = '';\n\n /**\n * The HTTP body.\n */\n @property({ type: String })\n get value(): string | undefined {\n return this.valueInternal;\n }\n\n set value(value: string | undefined) {\n const old = this.valueInternal;\n if (old === value) {\n return;\n }\n this.valueInternal = value || '';\n this.setupModel(value || '');\n }\n\n protected modelInternal: IProperty[] = [];\n\n /**\n * Computed data model for the view.\n * Don't set both `value` and `model`. If the model exists then\n * set only it or otherwise the `value` setter override the model.\n */\n get model(): IProperty[] {\n return this.modelInternal;\n }\n\n set model(value: IProperty[]) {\n const old = this.modelInternal;\n if (old === value) {\n return;\n }\n if (Array.isArray(value)) {\n this.modelInternal = value;\n } else {\n this.modelInternal = [];\n }\n this.valueInternal = this.modelToValue();\n this.requestUpdate();\n }\n\n protected override update(cp: PropertyValues<this>): void {\n if (cp.has('autoEncode')) {\n this.updateValue();\n }\n super.update(cp);\n }\n\n /**\n * Removes all parameters.\n */\n clear(): void {\n this.model = [];\n this.updateValue();\n this.requestUpdate();\n }\n\n /**\n * Removes a parameter from an index.\n */\n removeProperty(index: number): void {\n const items = this.model;\n items.splice(index, 1);\n this.updateValue();\n this.requestUpdate();\n }\n\n /**\n * Toggles enabled state of a parameter.\n */\n toggleProperty(index: number, enabled: boolean): void {\n const items = this.model;\n const item = items[index];\n item.enabled = enabled;\n this.updateValue();\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 item = this.model[index];\n const old = item[field];\n if (old === value) {\n return;\n }\n item[field] = value as string;\n this.updateValue();\n }\n\n addParameter(name = '', value = ''): void {\n if (this.readOnly || this.disabled) {\n return;\n }\n const prop = Property.String(name, value, true);\n const items = this.model;\n items[items.length] = prop.toJSON();\n this.model = items;\n this.requestUpdate();\n this.focusLast();\n }\n\n protected notifyChange(): void {\n this.dispatchEvent(new Event('change'));\n }\n\n protected updateValue(): void {\n if (this.readOnly) {\n return;\n }\n this.valueInternal = this.modelToValue();\n this.notifyChange();\n }\n\n protected modelToValue(): string {\n const { model, autoEncode } = this;\n if (autoEncode) {\n const encoded = encodeUrlEncoded(model) as IProperty[];\n return formArrayToString(encoded);\n }\n return formArrayToString(this.model);\n }\n\n /**\n * Called when the `value` property change. It generates the view model\n * for the editor.\n */\n protected setupModel(value: string): void {\n if (!value) {\n this.model = [];\n return;\n }\n const model = createViewModel(value) as IProperty[];\n if (this.autoEncode) {\n this.modelInternal = decodeUrlEncoded(model) as IProperty[];\n } else {\n this.modelInternal = model;\n }\n this.requestUpdate();\n }\n\n 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 (e) {\n // ...\n }\n }\n\n /**\n * Encodes current parameters in the model, updated the value, and notifies the change\n */\n encodeParameters(): void {\n const encoded = encodeUrlEncoded(this.model) as IProperty[];\n this.modelInternal = encoded;\n this.valueInternal = formArrayToString(encoded);\n this.notifyChange();\n this.requestUpdate();\n }\n\n /**\n * Encodes current parameters in the model, updated the value, and notifies the change\n */\n decodeParameters(): void {\n const decoded = decodeUrlEncoded(this.model) as IProperty[];\n this.modelInternal = decoded;\n this.valueInternal = formArrayToString(decoded);\n this.notifyChange();\n this.requestUpdate();\n }\n\n protected handleAdd(): void {\n this.addParameter();\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 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 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 override render(): TemplateResult {\n const items = this.model;\n if (!Array.isArray(items) || !items.length) {\n return html`${this.renderEmptyMessage()}${this.renderFormInfo()}`;\n }\n return this.renderParams(items);\n }\n\n protected renderFormInfo(): TemplateResult | typeof nothing {\n if (!this.allowFormInfo) {\n return nothing;\n }\n return html`\n <p class=\"form-info\">\n Note that the content-type header will be added when the request is sent. \n We encourage you to use variables to insert sensitive data.\n </p>\n `;\n }\n\n protected renderEmptyMessage(): TemplateResult {\n return html`\n <div class=\"empty-message\">No parameters added</div>\n `;\n }\n\n protected renderParams(items: IProperty[]): TemplateResult {\n return html`\n ${items.map((item, index) => this.renderParam(item, index))}\n ${this.renderFormInfo()}\n `;\n }\n\n protected renderParam(item: IProperty, index: number): TemplateResult {\n return html`\n <div class=\"param-row\">\n ${this.renderToggleButton(item, index)}\n ${this.renderNameField(item, index)}\n ${this.renderValueField(item, index)}\n ${this.renderDeleteParameter(index)}\n </div>\n `;\n }\n\n protected renderToggleButton(item: IProperty, index: number): TemplateResult {\n return html`\n <ui-switch \n .checked=\"${!!item.enabled}\" \n @change=\"${this.handleToggle}\" \n title=\"Enable / disable parameter\"\n aria-label=\"Activate to toggle enabled state of 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 title=\"Removes this parameter\"\n aria-label=\"Deletes 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: IProperty, index: number): TemplateResult {\n const { autoEncode } = this;\n const pattern = !autoEncode ? '\\\\S*' : undefined;\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 as string)}\" \n data-index=\"${index}\" \n ?readOnly=\"${this.readOnly}\" \n pattern=\"${ifDefined(pattern)}\"\n aria-label=\"Parameter name value\"\n @change=\"${this.handleNameChange}\"\n />\n </div>\n `;\n }\n\n protected renderValueField(item: IProperty, index: number): TemplateResult {\n const { autoEncode } = this;\n const pattern = !autoEncode ? '\\\\S*' : undefined;\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 as string)}\" \n data-index=\"${index}\" \n ?readOnly=\"${this.readOnly}\" \n pattern=\"${ifDefined(pattern)}\"\n aria-label=\"Parameter value\"\n @change=\"${this.handleValueChange}\"\n />\n </div>\n `;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"BodyUrlEncodedEditor.js","sourceRoot":"","sources":["../../../src/elements/http/BodyUrlEncodedEditor.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable class-methods-use-this */\n/**\n@license\nCopyright 2020 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, PropertyValues, nothing } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { live } from 'lit/directives/live.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { IProperty, Property } from '@api-client/core/build/browser.js';\nimport { \n decodeUrlEncoded,\n encodeUrlEncoded,\n createViewModel,\n formArrayToString,\n} from './UrlEncodeUtils.js';\nimport type SwitchElement from '../../ui/input/SwitchElement.js';\nimport type Input from '../../ui/input/Input.js';\nimport ApiElement from '../ApiElement.js';\nimport '../../define/ui/ui-icon.js';\nimport '../../define/ui/ui-icon-button.js';\nimport '../../define/ui/ui-switch.js';\n\n/**\n * A body editor specializing in URL encoded data.\n */\nexport default class BodyUrlEncodedEditor extends ApiElement {\n /**\n * When set the editor is in read only mode.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) readOnly = false;\n\n /**\n * When set all controls are disabled in the form\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** \n * When set it automatically encodes and decodes values.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) autoEncode = false;\n\n /**\n * @attribute\n */\n @property({ type: Boolean }) allowFormInfo?: boolean;\n\n protected valueInternal = '';\n\n /**\n * The HTTP body.\n */\n @property({ type: String })\n get value(): string | undefined {\n return this.valueInternal;\n }\n\n set value(value: string | undefined) {\n const old = this.valueInternal;\n if (old === value) {\n return;\n }\n this.valueInternal = value || '';\n this.setupModel(value || '');\n }\n\n protected modelInternal: IProperty[] = [];\n\n /**\n * Computed data model for the view.\n * Don't set both `value` and `model`. If the model exists then\n * set only it or otherwise the `value` setter override the model.\n */\n get model(): IProperty[] {\n return this.modelInternal;\n }\n\n set model(value: IProperty[]) {\n const old = this.modelInternal;\n if (old === value) {\n return;\n }\n if (Array.isArray(value)) {\n this.modelInternal = value;\n } else {\n this.modelInternal = [];\n }\n this.valueInternal = this.modelToValue();\n this.requestUpdate();\n }\n\n protected override update(cp: PropertyValues<this>): void {\n if (cp.has('autoEncode')) {\n this.updateValue();\n }\n super.update(cp);\n }\n\n /**\n * Removes all parameters.\n */\n clear(): void {\n this.model = [];\n this.updateValue();\n this.requestUpdate();\n }\n\n /**\n * Removes a parameter from an index.\n */\n removeProperty(index: number): void {\n const items = this.model;\n items.splice(index, 1);\n this.updateValue();\n this.requestUpdate();\n }\n\n /**\n * Toggles enabled state of a parameter.\n */\n toggleProperty(index: number, enabled: boolean): void {\n const items = this.model;\n const item = items[index];\n item.enabled = enabled;\n this.updateValue();\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 item = this.model[index];\n const old = item[field];\n if (old === value) {\n return;\n }\n item[field] = value as string;\n this.updateValue();\n }\n\n addParameter(name = '', value = ''): void {\n if (this.readOnly || this.disabled) {\n return;\n }\n const prop = Property.String(name, value, true);\n const items = this.model;\n items[items.length] = prop.toJSON();\n this.model = items;\n this.requestUpdate();\n this.focusLast();\n }\n\n protected updateValue(): void {\n if (this.readOnly) {\n return;\n }\n this.valueInternal = this.modelToValue();\n this.notifyChange();\n }\n\n protected modelToValue(): string {\n const { model, autoEncode } = this;\n if (autoEncode) {\n const encoded = encodeUrlEncoded(model) as IProperty[];\n return formArrayToString(encoded);\n }\n return formArrayToString(this.model);\n }\n\n /**\n * Called when the `value` property change. It generates the view model\n * for the editor.\n */\n protected setupModel(value: string): void {\n if (!value) {\n this.model = [];\n return;\n }\n const model = createViewModel(value) as IProperty[];\n if (this.autoEncode) {\n this.modelInternal = decodeUrlEncoded(model) as IProperty[];\n } else {\n this.modelInternal = model;\n }\n this.requestUpdate();\n }\n\n 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 (e) {\n // ...\n }\n }\n\n /**\n * Encodes current parameters in the model, updated the value, and notifies the change\n */\n encodeParameters(): void {\n const encoded = encodeUrlEncoded(this.model) as IProperty[];\n this.modelInternal = encoded;\n this.valueInternal = formArrayToString(encoded);\n this.notifyChange();\n this.requestUpdate();\n }\n\n /**\n * Encodes current parameters in the model, updated the value, and notifies the change\n */\n decodeParameters(): void {\n const decoded = decodeUrlEncoded(this.model) as IProperty[];\n this.modelInternal = decoded;\n this.valueInternal = formArrayToString(decoded);\n this.notifyChange();\n this.requestUpdate();\n }\n\n protected handleAdd(): void {\n this.addParameter();\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 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 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 override render(): TemplateResult {\n const items = this.model;\n if (!Array.isArray(items) || !items.length) {\n return html`${this.renderEmptyMessage()}${this.renderFormInfo()}`;\n }\n return this.renderParams(items);\n }\n\n protected renderFormInfo(): TemplateResult | typeof nothing {\n if (!this.allowFormInfo) {\n return nothing;\n }\n return html`\n <p class=\"form-info\">\n Note that the content-type header will be added when the request is sent. \n We encourage you to use variables to insert sensitive data.\n </p>\n `;\n }\n\n protected renderEmptyMessage(): TemplateResult {\n return html`\n <div class=\"empty-message\">No parameters added</div>\n `;\n }\n\n protected renderParams(items: IProperty[]): TemplateResult {\n return html`\n ${items.map((item, index) => this.renderParam(item, index))}\n ${this.renderFormInfo()}\n `;\n }\n\n protected renderParam(item: IProperty, index: number): TemplateResult {\n return html`\n <div class=\"param-row\">\n ${this.renderToggleButton(item, index)}\n ${this.renderNameField(item, index)}\n ${this.renderValueField(item, index)}\n ${this.renderDeleteParameter(index)}\n </div>\n `;\n }\n\n protected renderToggleButton(item: IProperty, index: number): TemplateResult {\n return html`\n <ui-switch \n .checked=\"${!!item.enabled}\" \n @change=\"${this.handleToggle}\" \n title=\"Enable / disable parameter\"\n aria-label=\"Activate to toggle enabled state of 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 title=\"Removes this parameter\"\n aria-label=\"Deletes 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: IProperty, index: number): TemplateResult {\n const { autoEncode } = this;\n const pattern = !autoEncode ? '\\\\S*' : undefined;\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 as string)}\" \n data-index=\"${index}\" \n ?readOnly=\"${this.readOnly}\" \n pattern=\"${ifDefined(pattern)}\"\n aria-label=\"Parameter name value\"\n @change=\"${this.handleNameChange}\"\n />\n </div>\n `;\n }\n\n protected renderValueField(item: IProperty, index: number): TemplateResult {\n const { autoEncode } = this;\n const pattern = !autoEncode ? '\\\\S*' : undefined;\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 as string)}\" \n data-index=\"${index}\" \n ?readOnly=\"${this.readOnly}\" \n pattern=\"${ifDefined(pattern)}\"\n aria-label=\"Parameter value\"\n @change=\"${this.handleValueChange}\"\n />\n </div>\n `;\n }\n}\n"]}
|
|
@@ -87,10 +87,6 @@ export default class HeadersForm extends ApiElement {
|
|
|
87
87
|
*/
|
|
88
88
|
toggle(): void;
|
|
89
89
|
copyToClipboard(): Promise<void>;
|
|
90
|
-
/**
|
|
91
|
-
* Dispatches the `change` event to notify about the value change
|
|
92
|
-
*/
|
|
93
|
-
protected notifyChange(): void;
|
|
94
90
|
protected handleGlobalContentType(e: CustomEvent): void;
|
|
95
91
|
/**
|
|
96
92
|
* Updates the `value` from the current model and dispatches the value change event
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeadersForm.d.ts","sourceRoot":"","sources":["../../../src/elements/http/HeadersForm.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC3D,OAAO,EAAwB,QAAQ,EAAE,YAAY,EAAmB,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAG7H,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAK1C,OAAO,8BAA8B,CAAC;AACtC,OAAO,mCAAmC,CAAC;AAC3C,OAAO,qCAAqC,CAAC;AAC7C,OAAO,4BAA4B,CAAC;AACpC,OAAO,iCAAiC,CAAC;AACzC,OAAO,8BAA8B,CAAC;AACtC,OAAO,+BAA+B,CAAC;AACvC,OAAO,4BAA4B,CAAC;AAIpC;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,UAAU;IACjD;;;OAGG;IACyC,QAAQ,UAAS;IAE7D;;;OAGG;IACyC,IAAI,UAAS;IAEzD;;OAEG;IACwB,KAAK,EAAE,SAAS,EAAE,CAAM;IAE1C,SAAS,CAAC,aAAa,eAAsB;IAE7C,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEtC,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAM;;IAOhD,iBAAiB,IAAI,IAAI;IAKzB,oBAAoB,IAAI,IAAI;cAKlB,MAAM,CAAC,EAAE,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAoBzD,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAY9C;;;;OAIG;IACH,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAErD;;;;OAIG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAkCpD;;;;OAIG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAEpD;;;;OAIG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IA8BnD,SAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAWnE;;;OAGG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAEhC;;;OAGG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IA4BjC;;OAEG;IACH,SAAS,CAAC,IAAI,SAAK,EAAE,KAAK,SAAK,GAAG,IAAI;IAQtC;;OAEG;IACH,KAAK,IAAI,IAAI;IAWb;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IASnD;;OAEG;IACH,MAAM,IAAI,IAAI;IAIR,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAatC
|
|
1
|
+
{"version":3,"file":"HeadersForm.d.ts","sourceRoot":"","sources":["../../../src/elements/http/HeadersForm.ts"],"names":[],"mappings":"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"}
|
|
@@ -230,12 +230,6 @@ export default class HeadersForm extends ApiElement {
|
|
|
230
230
|
label: 'Headers editor clipboard copy',
|
|
231
231
|
}, this);
|
|
232
232
|
}
|
|
233
|
-
/**
|
|
234
|
-
* Dispatches the `change` event to notify about the value change
|
|
235
|
-
*/
|
|
236
|
-
notifyChange() {
|
|
237
|
-
this.dispatchEvent(new Event('change'));
|
|
238
|
-
}
|
|
239
233
|
handleGlobalContentType(e) {
|
|
240
234
|
const { value } = e.detail;
|
|
241
235
|
this.updateHeaderValue('content-type', value);
|