@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
|
@@ -7,6 +7,9 @@
|
|
|
7
7
|
<title>HTTP Assertions</title>
|
|
8
8
|
<link href="../../../src/styles/m3/tokens.css" rel="stylesheet" type="text/css" />
|
|
9
9
|
<link href="../../../src/styles/m3/theme.css" rel="stylesheet" type="text/css" />
|
|
10
|
+
<style>
|
|
11
|
+
.surface1 { z-index: 0; }
|
|
12
|
+
</style>
|
|
10
13
|
</head>
|
|
11
14
|
|
|
12
15
|
<body class="demo">
|
|
@@ -2,7 +2,7 @@ import { html, TemplateResult } from 'lit';
|
|
|
2
2
|
import { IHttpAssertion } from '@api-client/core/build/browser.js';
|
|
3
3
|
import { DemoPage } from '../../../src/pages/demo/DemoPage.js';
|
|
4
4
|
import { reactive } from '../../../src/lib/decorators.js';
|
|
5
|
-
import HttpAssertions from '../../../src/elements/http/HttpAssertions.js';
|
|
5
|
+
import type HttpAssertions from '../../../src/elements/http/HttpAssertions.element.js';
|
|
6
6
|
import '../../../src/define/http/http-assertions.js';
|
|
7
7
|
|
|
8
8
|
const MODEL_STORE_KEY = 'demo.request-ui.editor.assertions';
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
|
|
4
|
+
<head>
|
|
5
|
+
<meta charset="utf-8">
|
|
6
|
+
<meta name="viewport" content="width=device-width, minimum-scale=1, initial-scale=1, user-scalable=yes">
|
|
7
|
+
<title>HTTP Flows</title>
|
|
8
|
+
<link href="../../../src/styles/m3/tokens.css" rel="stylesheet" type="text/css" />
|
|
9
|
+
<link href="../../../src/styles/m3/theme.css" rel="stylesheet" type="text/css" />
|
|
10
|
+
<style>
|
|
11
|
+
.surface1,
|
|
12
|
+
.surface2 {
|
|
13
|
+
z-index: 0;
|
|
14
|
+
}
|
|
15
|
+
</style>
|
|
16
|
+
</head>
|
|
17
|
+
|
|
18
|
+
<body class="demo">
|
|
19
|
+
<div id="app"></div>
|
|
20
|
+
<script type="module" src="http-flows.ts"></script>
|
|
21
|
+
</body>
|
|
22
|
+
|
|
23
|
+
</html>
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { html, TemplateResult } from 'lit';
|
|
2
|
+
import { IHttpFlow } from '@api-client/core/build/browser.js';
|
|
3
|
+
import { DemoPage } from '../../../src/pages/demo/DemoPage.js';
|
|
4
|
+
import { reactive } from '../../../src/lib/decorators.js';
|
|
5
|
+
import HttpFlows from '../../../src/elements/http/HttpFlows.element.js';
|
|
6
|
+
import '../../../src/define/http/http-flows.js';
|
|
7
|
+
|
|
8
|
+
const MODEL_STORE_KEY = 'demo.request-ui.editor.flows';
|
|
9
|
+
|
|
10
|
+
class ComponentDemoPage extends DemoPage {
|
|
11
|
+
componentName = 'HTTP Flows';
|
|
12
|
+
|
|
13
|
+
@reactive() initialized: boolean;
|
|
14
|
+
|
|
15
|
+
@reactive() model: IHttpFlow[] = [];
|
|
16
|
+
|
|
17
|
+
constructor() {
|
|
18
|
+
super();
|
|
19
|
+
this.initialized = false;
|
|
20
|
+
this.init();
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
async init(): Promise<void> {
|
|
24
|
+
await this.restoreModel();
|
|
25
|
+
this.initialized = true;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
async restoreModel(): Promise<void> {
|
|
29
|
+
const data = localStorage.getItem(MODEL_STORE_KEY);
|
|
30
|
+
if (!data) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
try {
|
|
34
|
+
const tmp = JSON.parse(data);
|
|
35
|
+
if (tmp) {
|
|
36
|
+
const model = tmp as IHttpFlow[];
|
|
37
|
+
this.model = model;
|
|
38
|
+
}
|
|
39
|
+
} catch (e) {
|
|
40
|
+
//
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
storeModel(): void {
|
|
45
|
+
const { model } = this;
|
|
46
|
+
localStorage.setItem(MODEL_STORE_KEY, JSON.stringify(model));
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
handleModelChange(e: Event): void {
|
|
50
|
+
const node = e.target as HttpFlows;
|
|
51
|
+
const { model = [] } = node;
|
|
52
|
+
this.model = model;
|
|
53
|
+
this.storeModel();
|
|
54
|
+
console.log('model changed', model);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
contentTemplate(): TemplateResult {
|
|
58
|
+
if (!this.initialized) {
|
|
59
|
+
return this.renderLoader();
|
|
60
|
+
}
|
|
61
|
+
return this.renderDemo();
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
renderLoader(): TemplateResult {
|
|
65
|
+
return html`
|
|
66
|
+
<a href="./">Back</a>
|
|
67
|
+
<div class="screen-loader">
|
|
68
|
+
<p>Loading demo page</p>
|
|
69
|
+
<progress></progress>
|
|
70
|
+
</div>
|
|
71
|
+
`;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
renderDemo(): TemplateResult {
|
|
75
|
+
return html`
|
|
76
|
+
<a href="./">Back</a>
|
|
77
|
+
<section class="demo-section">
|
|
78
|
+
<h2 class="title-large">HTTP flows editor</h2>
|
|
79
|
+
|
|
80
|
+
<div class="editor-wrapper surface1">
|
|
81
|
+
<http-flows
|
|
82
|
+
.model="${this.model}"
|
|
83
|
+
@change="${this.handleModelChange}"
|
|
84
|
+
></http-flows>
|
|
85
|
+
</div>
|
|
86
|
+
</section>
|
|
87
|
+
`;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
const instance = new ComponentDemoPage();
|
|
92
|
+
instance.render();
|
|
@@ -16,19 +16,18 @@ const demoConfigWorker = new URL('/demo/lib/io/AppConfig.ts', import.meta.url).t
|
|
|
16
16
|
MonacoLoader.createEnvironment(base);
|
|
17
17
|
await MonacoLoader.loadMonaco(base);
|
|
18
18
|
await MonacoLoader.monacoReady();
|
|
19
|
-
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
const http = new WebProxyBindings(AppInfo, env.proxyUri, { authenticate: true });
|
|
19
|
+
|
|
20
|
+
const navigation = new WebNavigationBindings(AppInfo);
|
|
21
|
+
const proxy = new WebProxyBindings(AppInfo, env.proxyUri, { authenticate: true });
|
|
23
22
|
const config = new WebConfigurationBindings(AppInfo, demoConfigWorker);
|
|
24
|
-
|
|
25
23
|
const idb = new WebHttpClientStoreBindings(AppInfo, idbWorker);
|
|
26
24
|
const store = new WebStoreBindings(AppInfo, `http://localhost:8550/v1`);
|
|
27
25
|
const page = new HttpProjectScreen({
|
|
28
26
|
store,
|
|
29
|
-
|
|
27
|
+
proxy,
|
|
30
28
|
idb,
|
|
31
29
|
config,
|
|
30
|
+
navigation,
|
|
32
31
|
});
|
|
33
32
|
await page.initialize();
|
|
34
33
|
})();
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import Element from "../../elements/dialog/DeleteCookieAction.element.js";
|
|
2
|
+
export declare class ConfirmDeleteDialogElement extends Element {
|
|
3
|
+
static styles: import("lit").CSSResult[];
|
|
4
|
+
}
|
|
5
|
+
declare global {
|
|
6
|
+
interface HTMLElementTagNameMap {
|
|
7
|
+
'delete-cookie-action-dialog': Element;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=delete-cookie-action-dialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-cookie-action-dialog.d.ts","sourceRoot":"","sources":["../../../src/define/dialog/delete-cookie-action-dialog.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,qDAAqD,CAAC;AAK1E,qBACa,0BAA2B,SAAQ,OAAO;IACrD,OAAgB,MAAM,4BAA6C;CACpE;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,6BAA6B,EAAE,OAAO,CAAC;KACxC;CACF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { customElement } from "lit/decorators.js";
|
|
3
|
+
import Element from "../../elements/dialog/DeleteCookieAction.element.js";
|
|
4
|
+
import elementStyles from '../../elements/dialog/DeleteCookieAction.styles.js';
|
|
5
|
+
import dialogStyles from '../../ui/dialog/UiDialog.styles.js';
|
|
6
|
+
import typography from '../../styles/m3/typography.module.js';
|
|
7
|
+
let ConfirmDeleteDialogElement = class ConfirmDeleteDialogElement extends Element {
|
|
8
|
+
static { this.styles = [dialogStyles, typography, elementStyles]; }
|
|
9
|
+
};
|
|
10
|
+
ConfirmDeleteDialogElement = __decorate([
|
|
11
|
+
customElement('delete-cookie-action-dialog')
|
|
12
|
+
], ConfirmDeleteDialogElement);
|
|
13
|
+
export { ConfirmDeleteDialogElement };
|
|
14
|
+
//# sourceMappingURL=delete-cookie-action-dialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-cookie-action-dialog.js","sourceRoot":"","sources":["../../../src/define/dialog/delete-cookie-action-dialog.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,OAAO,MAAM,qDAAqD,CAAC;AAC1E,OAAO,aAAa,MAAM,oDAAoD,CAAC;AAC/E,OAAO,YAAY,MAAM,oCAAoC,CAAC;AAC9D,OAAO,UAAU,MAAM,sCAAsC,CAAC;AAGvD,IAAM,0BAA0B,GAAhC,MAAM,0BAA2B,SAAQ,OAAO;aACrC,WAAM,GAAG,CAAC,YAAY,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;;AADxD,0BAA0B;IADtC,aAAa,CAAC,6BAA6B,CAAC;GAChC,0BAA0B,CAEtC;SAFY,0BAA0B","sourcesContent":["import { customElement } from \"lit/decorators.js\";\nimport Element from \"../../elements/dialog/DeleteCookieAction.element.js\";\nimport elementStyles from '../../elements/dialog/DeleteCookieAction.styles.js';\nimport dialogStyles from '../../ui/dialog/UiDialog.styles.js';\nimport typography from '../../styles/m3/typography.module.js';\n\n@customElement('delete-cookie-action-dialog')\nexport class ConfirmDeleteDialogElement extends Element {\n static override styles = [dialogStyles, typography, elementStyles];\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'delete-cookie-action-dialog': Element;\n }\n}\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import Element from "../../elements/dialog/SetCookieAction.element.js";
|
|
2
|
+
export declare class ConfirmDeleteDialogElement extends Element {
|
|
3
|
+
static styles: import("lit").CSSResult[];
|
|
4
|
+
}
|
|
5
|
+
declare global {
|
|
6
|
+
interface HTMLElementTagNameMap {
|
|
7
|
+
'set-cookie-action-dialog': Element;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=set-cookie-action-dialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"set-cookie-action-dialog.d.ts","sourceRoot":"","sources":["../../../src/define/dialog/set-cookie-action-dialog.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,kDAAkD,CAAC;AAKvE,qBACa,0BAA2B,SAAQ,OAAO;IACrD,OAAgB,MAAM,4BAA6C;CACpE;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,0BAA0B,EAAE,OAAO,CAAC;KACrC;CACF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { customElement } from "lit/decorators.js";
|
|
3
|
+
import Element from "../../elements/dialog/SetCookieAction.element.js";
|
|
4
|
+
import elementStyles from '../../elements/dialog/DeleteCookieAction.styles.js';
|
|
5
|
+
import dialogStyles from '../../ui/dialog/UiDialog.styles.js';
|
|
6
|
+
import typography from '../../styles/m3/typography.module.js';
|
|
7
|
+
let ConfirmDeleteDialogElement = class ConfirmDeleteDialogElement extends Element {
|
|
8
|
+
static { this.styles = [dialogStyles, typography, elementStyles]; }
|
|
9
|
+
};
|
|
10
|
+
ConfirmDeleteDialogElement = __decorate([
|
|
11
|
+
customElement('set-cookie-action-dialog')
|
|
12
|
+
], ConfirmDeleteDialogElement);
|
|
13
|
+
export { ConfirmDeleteDialogElement };
|
|
14
|
+
//# sourceMappingURL=set-cookie-action-dialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"set-cookie-action-dialog.js","sourceRoot":"","sources":["../../../src/define/dialog/set-cookie-action-dialog.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,OAAO,MAAM,kDAAkD,CAAC;AACvE,OAAO,aAAa,MAAM,oDAAoD,CAAC;AAC/E,OAAO,YAAY,MAAM,oCAAoC,CAAC;AAC9D,OAAO,UAAU,MAAM,sCAAsC,CAAC;AAGvD,IAAM,0BAA0B,GAAhC,MAAM,0BAA2B,SAAQ,OAAO;aACrC,WAAM,GAAG,CAAC,YAAY,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;;AADxD,0BAA0B;IADtC,aAAa,CAAC,0BAA0B,CAAC;GAC7B,0BAA0B,CAEtC;SAFY,0BAA0B","sourcesContent":["import { customElement } from \"lit/decorators.js\";\nimport Element from \"../../elements/dialog/SetCookieAction.element.js\";\nimport elementStyles from '../../elements/dialog/DeleteCookieAction.styles.js';\nimport dialogStyles from '../../ui/dialog/UiDialog.styles.js';\nimport typography from '../../styles/m3/typography.module.js';\n\n@customElement('set-cookie-action-dialog')\nexport class ConfirmDeleteDialogElement extends Element {\n static override styles = [dialogStyles, typography, elementStyles];\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'set-cookie-action-dialog': Element;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-assertions.d.ts","sourceRoot":"","sources":["../../../src/define/http/http-assertions.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"http-assertions.d.ts","sourceRoot":"","sources":["../../../src/define/http/http-assertions.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,+CAA+C,CAAC;AAIpE,qBACa,qBAAsB,SAAQ,OAAO;IAChD,OAAgB,MAAM,4BAAuB;CAC9C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,iBAAiB,EAAE,OAAO,CAAC;KAC5B;CACF"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
2
|
import { customElement } from 'lit/decorators.js';
|
|
3
|
-
import Element from '../../elements/http/HttpAssertions.js';
|
|
3
|
+
import Element from '../../elements/http/HttpAssertions.element.js';
|
|
4
4
|
import styles from '../../elements/http/HttpAssertions.styles.js';
|
|
5
|
-
import
|
|
5
|
+
import common from '../../elements/http/HttpFlows.common.js';
|
|
6
6
|
let HttpAssertionsElement = class HttpAssertionsElement extends Element {
|
|
7
|
-
static { this.styles = [styles,
|
|
7
|
+
static { this.styles = [styles, ...common]; }
|
|
8
8
|
};
|
|
9
9
|
HttpAssertionsElement = __decorate([
|
|
10
10
|
customElement('http-assertions')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-assertions.js","sourceRoot":"","sources":["../../../src/define/http/http-assertions.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,OAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"http-assertions.js","sourceRoot":"","sources":["../../../src/define/http/http-assertions.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,OAAO,MAAM,+CAA+C,CAAC;AACpE,OAAO,MAAM,MAAM,8CAA8C,CAAC;AAClE,OAAO,MAAM,MAAM,yCAAyC,CAAC;AAGtD,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,OAAO;aAChC,WAAM,GAAG,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC;;AADlC,qBAAqB;IADjC,aAAa,CAAC,iBAAiB,CAAC;GACpB,qBAAqB,CAEjC;SAFY,qBAAqB","sourcesContent":["import { customElement } from 'lit/decorators.js';\nimport Element from '../../elements/http/HttpAssertions.element.js';\nimport styles from '../../elements/http/HttpAssertions.styles.js';\nimport common from '../../elements/http/HttpFlows.common.js';\n\n@customElement('http-assertions')\nexport class HttpAssertionsElement extends Element {\n static override styles = [styles, ...common];\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'http-assertions': Element;\n }\n}\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import Element from '../../elements/http/HttpFlows.element.js';
|
|
2
|
+
export declare class HttpFlowsElement extends Element {
|
|
3
|
+
static styles: import("lit").CSSResult[];
|
|
4
|
+
}
|
|
5
|
+
declare global {
|
|
6
|
+
interface HTMLElementTagNameMap {
|
|
7
|
+
'http-flows': Element;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=http-flows.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-flows.d.ts","sourceRoot":"","sources":["../../../src/define/http/http-flows.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,0CAA0C,CAAC;AAI/D,qBACa,gBAAiB,SAAQ,OAAO;IAC3C,OAAgB,MAAM,4BAAuB;CAC9C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,YAAY,EAAE,OAAO,CAAC;KACvB;CACF"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { customElement } from 'lit/decorators.js';
|
|
3
|
+
import Element from '../../elements/http/HttpFlows.element.js';
|
|
4
|
+
import styles from '../../elements/http/HttpFlows.styles.js';
|
|
5
|
+
import common from '../../elements/http/HttpFlows.common.js';
|
|
6
|
+
let HttpFlowsElement = class HttpFlowsElement extends Element {
|
|
7
|
+
static { this.styles = [styles, ...common]; }
|
|
8
|
+
};
|
|
9
|
+
HttpFlowsElement = __decorate([
|
|
10
|
+
customElement('http-flows')
|
|
11
|
+
], HttpFlowsElement);
|
|
12
|
+
export { HttpFlowsElement };
|
|
13
|
+
//# sourceMappingURL=http-flows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-flows.js","sourceRoot":"","sources":["../../../src/define/http/http-flows.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,OAAO,MAAM,0CAA0C,CAAC;AAC/D,OAAO,MAAM,MAAM,yCAAyC,CAAC;AAC7D,OAAO,MAAM,MAAM,yCAAyC,CAAC;AAGtD,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,OAAO;aAC3B,WAAM,GAAG,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC;;AADlC,gBAAgB;IAD5B,aAAa,CAAC,YAAY,CAAC;GACf,gBAAgB,CAE5B;SAFY,gBAAgB","sourcesContent":["import { customElement } from 'lit/decorators.js';\nimport Element from '../../elements/http/HttpFlows.element.js';\nimport styles from '../../elements/http/HttpFlows.styles.js';\nimport common from '../../elements/http/HttpFlows.common.js';\n\n@customElement('http-flows')\nexport class HttpFlowsElement extends Element {\n static override styles = [styles, ...common];\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'http-flows': Element;\n }\n}\n"]}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import Element from "../../ui/list/
|
|
1
|
+
import Element from "../../ui/list/UiDivider.element.js";
|
|
2
|
+
export declare class UiDividerElement extends Element {
|
|
3
|
+
static styles: import("lit").CSSResult[];
|
|
4
|
+
}
|
|
2
5
|
declare global {
|
|
3
6
|
interface HTMLElementTagNameMap {
|
|
4
7
|
'ui-divider': Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-divider.d.ts","sourceRoot":"","sources":["../../../src/define/ui/ui-divider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ui-divider.d.ts","sourceRoot":"","sources":["../../../src/define/ui/ui-divider.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,oCAAoC,CAAC;AAGzD,qBACa,gBAAiB,SAAQ,OAAO;IAC3C,OAAgB,MAAM,4BAAY;CACnC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,YAAY,EAAE,OAAO,CAAC;KACvB;CACF"}
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { customElement } from "lit/decorators.js";
|
|
3
|
+
import Element from "../../ui/list/UiDivider.element.js";
|
|
4
|
+
import styles from "../../ui/list/UiDivider.styles.js";
|
|
5
|
+
let UiDividerElement = class UiDividerElement extends Element {
|
|
6
|
+
static { this.styles = [styles]; }
|
|
7
|
+
};
|
|
8
|
+
UiDividerElement = __decorate([
|
|
9
|
+
customElement('ui-divider')
|
|
10
|
+
], UiDividerElement);
|
|
11
|
+
export { UiDividerElement };
|
|
3
12
|
//# sourceMappingURL=ui-divider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-divider.js","sourceRoot":"","sources":["../../../src/define/ui/ui-divider.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"ui-divider.js","sourceRoot":"","sources":["../../../src/define/ui/ui-divider.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,OAAO,MAAM,oCAAoC,CAAC;AACzD,OAAO,MAAM,MAAM,mCAAmC,CAAC;AAGhD,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,OAAO;aAC3B,WAAM,GAAG,CAAC,MAAM,CAAC,CAAC;;AADvB,gBAAgB;IAD5B,aAAa,CAAC,YAAY,CAAC;GACf,gBAAgB,CAE5B;SAFY,gBAAgB","sourcesContent":["import { customElement } from \"lit/decorators.js\";\nimport Element from \"../../ui/list/UiDivider.element.js\";\nimport styles from \"../../ui/list/UiDivider.styles.js\";\n\n@customElement('ui-divider')\nexport class UiDividerElement extends Element {\n static override styles = [styles];\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ui-divider': Element;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiElement.d.ts","sourceRoot":"","sources":["../../src/elements/ApiElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAGjC;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,UAAU;IAChD;;;;;OAKG;IACyB,YAAY,EAAE,WAAW,CAAC;;
|
|
1
|
+
{"version":3,"file":"ApiElement.d.ts","sourceRoot":"","sources":["../../src/elements/ApiElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAGjC;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,UAAU;IAChD;;;;;OAKG;IACyB,YAAY,EAAE,WAAW,CAAC;;IAOtD;;OAEG;IACH,YAAY,IAAI,IAAI;CAGrB"}
|
|
@@ -10,6 +10,12 @@ export default class ApiElement extends LitElement {
|
|
|
10
10
|
super();
|
|
11
11
|
this.eventsTarget = window;
|
|
12
12
|
}
|
|
13
|
+
/**
|
|
14
|
+
* A common way for an element to notify a change.
|
|
15
|
+
*/
|
|
16
|
+
notifyChange() {
|
|
17
|
+
this.dispatchEvent(new Event('change'));
|
|
18
|
+
}
|
|
13
19
|
}
|
|
14
20
|
__decorate([
|
|
15
21
|
property({ type: Object })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiElement.js","sourceRoot":"","sources":["../../src/elements/ApiElement.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,UAAU;IAShD;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;IAC7B,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"ApiElement.js","sourceRoot":"","sources":["../../src/elements/ApiElement.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,UAAU;IAShD;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,YAAY;QACV,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1C,CAAC;CACF;AAb6B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gDAA2B","sourcesContent":["import { LitElement } from \"lit\";\nimport { property } from \"lit/decorators.js\";\n\n/**\n * A base element for all elements in the UI library.\n * This allows to introduce global logic or properties for all elements.\n */\nexport default class ApiElement extends LitElement {\n /**\n * Whenever the element wants to listen on global object\n * it uses this as a reference to it.\n * \n * @default window\n */\n @property({ type: Object }) eventsTarget: EventTarget;\n\n constructor() {\n super();\n this.eventsTarget = window;\n }\n\n /**\n * A common way for an element to notify a change.\n */\n notifyChange(): void {\n this.dispatchEvent(new Event('change'));\n }\n}\n"]}
|
|
@@ -93,7 +93,7 @@ export default class ApiAuthorizationEditor extends ApiElement {
|
|
|
93
93
|
*/
|
|
94
94
|
changeHandler() {
|
|
95
95
|
this.validate();
|
|
96
|
-
this.
|
|
96
|
+
this.notifyChange();
|
|
97
97
|
}
|
|
98
98
|
/**
|
|
99
99
|
* Validates state of the editor. It sets `invalid` property when called.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiAuthorizationEditor.element.js","sourceRoot":"","sources":["../../../src/elements/amf/ApiAuthorizationEditor.element.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, TemplateResult } from 'lit';\nimport { property, queryAll } from 'lit/decorators.js';\nimport { ApiDefinitions, IRequestAuthorization } from '@api-client/core/build/browser.js';\nimport { Oauth2Credentials } from '../authorization/types.js';\nimport ApiElement from '../ApiElement.js';\nimport { Authorization } from '../authorization/ui/Authorization.js';\nimport '../../define/amf/authorization/amf-basic-authorization.js';\nimport '../../define/amf/authorization/amf-passthrough-authorization.js';\nimport '../../define/amf/authorization/amf-bearer-authorization.js';\nimport '../../define/amf/authorization/amf-apikey-authorization.js';\nimport '../../define/amf/authorization/amf-ramlcustom-authorization.js';\nimport '../../define/amf/authorization/amf-oauth2-authorization.js';\nimport '../../define/amf/authorization/amf-oidc-authorization.js';\n\nexport interface SecurityMethods {\n types: string[];\n schemes: ApiDefinitions.IApiParametrizedSecurityScheme[];\n}\n\nexport default class ApiAuthorizationEditor extends ApiElement {\n protected securityInternal: ApiDefinitions.IApiSecurityRequirement | undefined;\n\n protected methodsInternal?: SecurityMethods;\n\n get security(): ApiDefinitions.IApiSecurityRequirement | undefined {\n return this.securityInternal;\n }\n\n set security(value: ApiDefinitions.IApiSecurityRequirement | undefined) {\n const old = this.securityInternal;\n if (old === value) {\n return;\n }\n this.securityInternal = value;\n this.processModel();\n this.requestUpdate();\n }\n\n get methods(): SecurityMethods | undefined {\n return this.methodsInternal;\n }\n\n /**\n * Whether or not the element is invalid. The validation state changes\n * when settings change or when the `validate()` function is called.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) invalid?: boolean;\n\n /**\n * List of credentials source\n */\n @property({ type: Array }) credentialsSource?: Oauth2Credentials[];\n\n /**\n * Redirect URL for the OAuth2 authorization.\n * @attribute\n */\n @property({ type: String }) oauth2RedirectUri?: string;\n\n /** \n * When set it overrides the `authorizationUri` in the authorization editor,\n * regardless to the authorization scheme applied to the request.\n * This is to be used with the mocking service.\n * @attribute\n */\n @property({ type: String }) oauth2AuthorizationUri?: string;\n\n /** \n * When set it overrides the `authorizationUri` in the authorization editor,\n * regardless to the authorization scheme applied to the request.\n * This is to be used with the mocking service.\n * @attribute\n */\n @property({ type: String }) oauth2AccessTokenUri?: string;\n\n @queryAll('.auth-editor') readonly editors!: NodeListOf<Authorization>;\n\n /**\n * Reads list of authorization methods from the model.\n */\n protected processModel(): void {\n const security = this.securityInternal;\n if (!security) {\n return;\n }\n this.methodsInternal = this.computeMethods(security.schemes);\n }\n\n /**\n * Computes list of security schemes that can be applied to the element.\n *\n * @param schemes A list of security schemes to process.\n * @returns A list of authorization methods that can be applied to\n * the current endpoint. Each object describes the list of security types\n * that can be applied to the editor. In OAS an auth method may be an union\n * of methods.\n */\n protected computeMethods(schemes: ApiDefinitions.IApiParametrizedSecurityScheme[]): SecurityMethods {\n const result: SecurityMethods = {\n types: [],\n schemes: [],\n };\n schemes.forEach((security) => {\n const type = this.listSchemeLabels(security);\n if (!type) {\n return;\n }\n result.types.push(type);\n result.schemes.push(security);\n });\n return result;\n }\n\n /**\n * Reads authorization scheme's name and type from the AMF model.\n */\n protected listSchemeLabels(security: ApiDefinitions.IApiParametrizedSecurityScheme): string | undefined {\n const { name, scheme } = security;\n if (name === 'null') {\n // RAML allows to define a \"null\" scheme. This means that the authorization\n // for this endpoint is optional.\n return 'No authorization';\n }\n if (!scheme) {\n return undefined;\n }\n let { type } = scheme;\n if (type === 'http') {\n // HTTP type can be `basic` or `bearer`.\n const config = scheme.settings as ApiDefinitions.IApiSecurityHttpSettings;\n if (!config) {\n // this happens when AMF doesn't properly read graph model back to the store.\n // AMF team promised to fix this...\n type = undefined;\n } else {\n type = config.scheme;\n }\n }\n return type;\n }\n\n /**\n * A function called each time anything change in the editor.\n * Revalidates the component and dispatches the `change` event.\n */\n protected changeHandler(): void {\n this.validate();\n this.dispatchEvent(new Event('change'));\n }\n\n /**\n * Validates state of the editor. It sets `invalid` property when called.\n *\n * Exception: OAuth 2 form reports valid even when the `accessToken` is not\n * set. This adjust for this and reports invalid when `accessToken` for OAuth 2\n * is missing.\n *\n * @returns True when the form has valid data.\n */\n validate(): boolean {\n const { editors } = this;\n let valid = true;\n for (let i = 0, len = editors.length; i < len; i++) {\n const node = editors[i];\n const methodValid = node.checkValidity();\n if (!methodValid) {\n valid = methodValid;\n break;\n }\n // if (['amf-oauth2-authorization', 'amf-oidc-authorization'].includes(node.localName)) {\n // const oauth = node as OAuth2Authorization;\n // const { config } = oauth;\n // if (!config.accessToken) {\n // valid = false;\n // break;\n // }\n // }\n }\n this.invalid = !valid;\n return valid;\n }\n\n /**\n * Creates a list of configuration by calling the `serialize()` function on each\n * currently rendered authorization form.\n *\n * @returns List of authorization settings.\n */\n serialize(): IRequestAuthorization[] {\n const { editors } = this;\n return Array.from(editors).map((editor) => {\n const auth = editor.authorization as IRequestAuthorization;\n auth.valid = editor.checkValidity();\n return auth;\n });\n }\n\n /**\n * Calls the `authorize()` function on each rendered authorization methods.\n * Currently only `OAuth 1.0` and `OAuth 2.0` actually perform the authorization. \n * \n * Each method is called in order to make sure the user is not overwhelmed with \n * dialogs or other UI elements.\n * \n * The function rejects when at least one authorization method rejects.\n */\n async authorize(): Promise<void> {\n const { editors } = this;\n const list = Array.from(editors);\n while (list.length) {\n const auth = list.shift();\n if (!auth) {\n break;\n }\n // eslint-disable-next-line no-await-in-loop\n await auth.authorize();\n }\n }\n\n override render(): TemplateResult {\n const methods = this.methodsInternal;\n if (!methods || !methods.schemes.length) {\n return html``;\n }\n return html`\n <section class=\"authorization-union\">\n ${methods.schemes.map((scheme, index) => this.methodTemplate(scheme, methods.types[index]))}\n </section>\n `;\n }\n\n protected methodTemplate(scheme: ApiDefinitions.IApiParametrizedSecurityScheme, type: string): TemplateResult | string {\n switch (type) {\n case 'Basic Authentication':\n case 'basic':\n return this.basicAuthTemplate(scheme);\n case 'Digest Authentication':\n return this.digestAuthTemplate();\n case 'Pass Through':\n return this.passThroughAuthTemplate(scheme);\n case 'OAuth 2.0':\n return this.oa2AuthTemplate(scheme);\n case 'OAuth 1.0':\n return this.oa1AuthTemplate();\n case 'bearer':\n return this.bearerAuthTemplate(scheme);\n case 'Api Key':\n return this.apiKeyTemplate(scheme);\n case 'openIdConnect':\n return this.openIdConnectTemplate(scheme);\n default:\n if (String(type).indexOf('x-') === 0) {\n return this.ramlCustomAuthTemplate(scheme);\n }\n }\n return '';\n }\n\n /**\n * Renders a template for Basic authorization.\n */\n protected basicAuthTemplate(security: ApiDefinitions.IApiParametrizedSecurityScheme): TemplateResult {\n return html`\n <amf-basic-authorization .security=\"${security}\" @change=\"${this.changeHandler}\" class=\"auth-editor\"></amf-basic-authorization>`;\n }\n\n /**\n * Renders a template for Digest authorization.\n */\n protected digestAuthTemplate(): TemplateResult {\n return html`\n <p class=\"no-support digest\">The Digest authorization is not longer supported.</p>\n `;\n }\n\n /**\n * Renders a template for Pass through authorization.\n */\n protected passThroughAuthTemplate(security: ApiDefinitions.IApiParametrizedSecurityScheme): TemplateResult {\n return html`\n <amf-passthrough-authorization .security=\"${security}\" @change=\"${this.changeHandler}\" class=\"auth-editor\"></amf-passthrough-authorization>`;\n }\n\n /**\n * Renders a template for RAML custom authorization.\n */\n protected ramlCustomAuthTemplate(security: ApiDefinitions.IApiParametrizedSecurityScheme): TemplateResult {\n return html`<amf-ramlcustom-authorization .security=\"${security}\" @change=\"${this.changeHandler}\" class=\"auth-editor\"></amf-ramlcustom-authorization>`;\n }\n\n /**\n * Renders a template for Bearer authorization (OAS).\n */\n protected bearerAuthTemplate(security: ApiDefinitions.IApiParametrizedSecurityScheme): TemplateResult {\n return html`\n <amf-bearer-authorization .security=\"${security}\" @change=\"${this.changeHandler}\" class=\"auth-editor\"></amf-bearer-authorization>`;\n }\n\n /**\n * Renders a template for OAuth 1 authorization.\n */\n protected oa1AuthTemplate(): TemplateResult {\n return html`\n <p class=\"no-support oauth1\">The OAuth1 authorization is not longer supported.</p>\n `;\n }\n\n /**\n * Renders a template for OAuth 2 authorization.\n */\n protected oa2AuthTemplate(security: ApiDefinitions.IApiParametrizedSecurityScheme): TemplateResult {\n const {\n oauth2RedirectUri,\n credentialsSource,\n oauth2AuthorizationUri,\n oauth2AccessTokenUri,\n } = this;\n return html`\n <amf-oauth2-authorization\n .defaultRedirectUri=\"${oauth2RedirectUri}\"\n .overrideAuthorizationUri=\"${oauth2AuthorizationUri}\"\n .overrideAccessTokenUri=\"${oauth2AccessTokenUri}\"\n .security=\"${security}\"\n .credentialsSource=\"${credentialsSource}\"\n @change=\"${this.changeHandler}\"\n class=\"auth-editor\"\n ></amf-oauth2-authorization>`;\n }\n\n /**\n * Renders a template for OAuth 2 authorization.\n */\n protected openIdConnectTemplate(security: ApiDefinitions.IApiParametrizedSecurityScheme): TemplateResult {\n const {\n oauth2RedirectUri,\n credentialsSource,\n } = this;\n return html`\n <amf-oidc-authorization\n .defaultRedirectUri=\"${oauth2RedirectUri}\"\n .security=\"${security}\"\n .credentialsSource=\"${credentialsSource}\"\n @change=\"${this.changeHandler}\"\n class=\"auth-editor\"\n ></amf-oidc-authorization>`;\n }\n\n /**\n * Renders a template for Api Keys authorization.\n */\n protected apiKeyTemplate(security: ApiDefinitions.IApiParametrizedSecurityScheme): TemplateResult {\n return html`\n <amf-apikey-authorization .security=\"${security}\" @change=\"${this.changeHandler}\" class=\"auth-editor\"></amf-apikey-authorization>\n `;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ApiAuthorizationEditor.element.js","sourceRoot":"","sources":["../../../src/elements/amf/ApiAuthorizationEditor.element.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, TemplateResult } from 'lit';\nimport { property, queryAll } from 'lit/decorators.js';\nimport { ApiDefinitions, IRequestAuthorization } from '@api-client/core/build/browser.js';\nimport { Oauth2Credentials } from '../authorization/types.js';\nimport ApiElement from '../ApiElement.js';\nimport { Authorization } from '../authorization/ui/Authorization.js';\nimport '../../define/amf/authorization/amf-basic-authorization.js';\nimport '../../define/amf/authorization/amf-passthrough-authorization.js';\nimport '../../define/amf/authorization/amf-bearer-authorization.js';\nimport '../../define/amf/authorization/amf-apikey-authorization.js';\nimport '../../define/amf/authorization/amf-ramlcustom-authorization.js';\nimport '../../define/amf/authorization/amf-oauth2-authorization.js';\nimport '../../define/amf/authorization/amf-oidc-authorization.js';\n\nexport interface SecurityMethods {\n types: string[];\n schemes: ApiDefinitions.IApiParametrizedSecurityScheme[];\n}\n\nexport default class ApiAuthorizationEditor extends ApiElement {\n protected securityInternal: ApiDefinitions.IApiSecurityRequirement | undefined;\n\n protected methodsInternal?: SecurityMethods;\n\n get security(): ApiDefinitions.IApiSecurityRequirement | undefined {\n return this.securityInternal;\n }\n\n set security(value: ApiDefinitions.IApiSecurityRequirement | undefined) {\n const old = this.securityInternal;\n if (old === value) {\n return;\n }\n this.securityInternal = value;\n this.processModel();\n this.requestUpdate();\n }\n\n get methods(): SecurityMethods | undefined {\n return this.methodsInternal;\n }\n\n /**\n * Whether or not the element is invalid. The validation state changes\n * when settings change or when the `validate()` function is called.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) invalid?: boolean;\n\n /**\n * List of credentials source\n */\n @property({ type: Array }) credentialsSource?: Oauth2Credentials[];\n\n /**\n * Redirect URL for the OAuth2 authorization.\n * @attribute\n */\n @property({ type: String }) oauth2RedirectUri?: string;\n\n /** \n * When set it overrides the `authorizationUri` in the authorization editor,\n * regardless to the authorization scheme applied to the request.\n * This is to be used with the mocking service.\n * @attribute\n */\n @property({ type: String }) oauth2AuthorizationUri?: string;\n\n /** \n * When set it overrides the `authorizationUri` in the authorization editor,\n * regardless to the authorization scheme applied to the request.\n * This is to be used with the mocking service.\n * @attribute\n */\n @property({ type: String }) oauth2AccessTokenUri?: string;\n\n @queryAll('.auth-editor') readonly editors!: NodeListOf<Authorization>;\n\n /**\n * Reads list of authorization methods from the model.\n */\n protected processModel(): void {\n const security = this.securityInternal;\n if (!security) {\n return;\n }\n this.methodsInternal = this.computeMethods(security.schemes);\n }\n\n /**\n * Computes list of security schemes that can be applied to the element.\n *\n * @param schemes A list of security schemes to process.\n * @returns A list of authorization methods that can be applied to\n * the current endpoint. Each object describes the list of security types\n * that can be applied to the editor. In OAS an auth method may be an union\n * of methods.\n */\n protected computeMethods(schemes: ApiDefinitions.IApiParametrizedSecurityScheme[]): SecurityMethods {\n const result: SecurityMethods = {\n types: [],\n schemes: [],\n };\n schemes.forEach((security) => {\n const type = this.listSchemeLabels(security);\n if (!type) {\n return;\n }\n result.types.push(type);\n result.schemes.push(security);\n });\n return result;\n }\n\n /**\n * Reads authorization scheme's name and type from the AMF model.\n */\n protected listSchemeLabels(security: ApiDefinitions.IApiParametrizedSecurityScheme): string | undefined {\n const { name, scheme } = security;\n if (name === 'null') {\n // RAML allows to define a \"null\" scheme. This means that the authorization\n // for this endpoint is optional.\n return 'No authorization';\n }\n if (!scheme) {\n return undefined;\n }\n let { type } = scheme;\n if (type === 'http') {\n // HTTP type can be `basic` or `bearer`.\n const config = scheme.settings as ApiDefinitions.IApiSecurityHttpSettings;\n if (!config) {\n // this happens when AMF doesn't properly read graph model back to the store.\n // AMF team promised to fix this...\n type = undefined;\n } else {\n type = config.scheme;\n }\n }\n return type;\n }\n\n /**\n * A function called each time anything change in the editor.\n * Revalidates the component and dispatches the `change` event.\n */\n protected changeHandler(): void {\n this.validate();\n this.notifyChange();\n }\n\n /**\n * Validates state of the editor. It sets `invalid` property when called.\n *\n * Exception: OAuth 2 form reports valid even when the `accessToken` is not\n * set. This adjust for this and reports invalid when `accessToken` for OAuth 2\n * is missing.\n *\n * @returns True when the form has valid data.\n */\n validate(): boolean {\n const { editors } = this;\n let valid = true;\n for (let i = 0, len = editors.length; i < len; i++) {\n const node = editors[i];\n const methodValid = node.checkValidity();\n if (!methodValid) {\n valid = methodValid;\n break;\n }\n // if (['amf-oauth2-authorization', 'amf-oidc-authorization'].includes(node.localName)) {\n // const oauth = node as OAuth2Authorization;\n // const { config } = oauth;\n // if (!config.accessToken) {\n // valid = false;\n // break;\n // }\n // }\n }\n this.invalid = !valid;\n return valid;\n }\n\n /**\n * Creates a list of configuration by calling the `serialize()` function on each\n * currently rendered authorization form.\n *\n * @returns List of authorization settings.\n */\n serialize(): IRequestAuthorization[] {\n const { editors } = this;\n return Array.from(editors).map((editor) => {\n const auth = editor.authorization as IRequestAuthorization;\n auth.valid = editor.checkValidity();\n return auth;\n });\n }\n\n /**\n * Calls the `authorize()` function on each rendered authorization methods.\n * Currently only `OAuth 1.0` and `OAuth 2.0` actually perform the authorization. \n * \n * Each method is called in order to make sure the user is not overwhelmed with \n * dialogs or other UI elements.\n * \n * The function rejects when at least one authorization method rejects.\n */\n async authorize(): Promise<void> {\n const { editors } = this;\n const list = Array.from(editors);\n while (list.length) {\n const auth = list.shift();\n if (!auth) {\n break;\n }\n // eslint-disable-next-line no-await-in-loop\n await auth.authorize();\n }\n }\n\n override render(): TemplateResult {\n const methods = this.methodsInternal;\n if (!methods || !methods.schemes.length) {\n return html``;\n }\n return html`\n <section class=\"authorization-union\">\n ${methods.schemes.map((scheme, index) => this.methodTemplate(scheme, methods.types[index]))}\n </section>\n `;\n }\n\n protected methodTemplate(scheme: ApiDefinitions.IApiParametrizedSecurityScheme, type: string): TemplateResult | string {\n switch (type) {\n case 'Basic Authentication':\n case 'basic':\n return this.basicAuthTemplate(scheme);\n case 'Digest Authentication':\n return this.digestAuthTemplate();\n case 'Pass Through':\n return this.passThroughAuthTemplate(scheme);\n case 'OAuth 2.0':\n return this.oa2AuthTemplate(scheme);\n case 'OAuth 1.0':\n return this.oa1AuthTemplate();\n case 'bearer':\n return this.bearerAuthTemplate(scheme);\n case 'Api Key':\n return this.apiKeyTemplate(scheme);\n case 'openIdConnect':\n return this.openIdConnectTemplate(scheme);\n default:\n if (String(type).indexOf('x-') === 0) {\n return this.ramlCustomAuthTemplate(scheme);\n }\n }\n return '';\n }\n\n /**\n * Renders a template for Basic authorization.\n */\n protected basicAuthTemplate(security: ApiDefinitions.IApiParametrizedSecurityScheme): TemplateResult {\n return html`\n <amf-basic-authorization .security=\"${security}\" @change=\"${this.changeHandler}\" class=\"auth-editor\"></amf-basic-authorization>`;\n }\n\n /**\n * Renders a template for Digest authorization.\n */\n protected digestAuthTemplate(): TemplateResult {\n return html`\n <p class=\"no-support digest\">The Digest authorization is not longer supported.</p>\n `;\n }\n\n /**\n * Renders a template for Pass through authorization.\n */\n protected passThroughAuthTemplate(security: ApiDefinitions.IApiParametrizedSecurityScheme): TemplateResult {\n return html`\n <amf-passthrough-authorization .security=\"${security}\" @change=\"${this.changeHandler}\" class=\"auth-editor\"></amf-passthrough-authorization>`;\n }\n\n /**\n * Renders a template for RAML custom authorization.\n */\n protected ramlCustomAuthTemplate(security: ApiDefinitions.IApiParametrizedSecurityScheme): TemplateResult {\n return html`<amf-ramlcustom-authorization .security=\"${security}\" @change=\"${this.changeHandler}\" class=\"auth-editor\"></amf-ramlcustom-authorization>`;\n }\n\n /**\n * Renders a template for Bearer authorization (OAS).\n */\n protected bearerAuthTemplate(security: ApiDefinitions.IApiParametrizedSecurityScheme): TemplateResult {\n return html`\n <amf-bearer-authorization .security=\"${security}\" @change=\"${this.changeHandler}\" class=\"auth-editor\"></amf-bearer-authorization>`;\n }\n\n /**\n * Renders a template for OAuth 1 authorization.\n */\n protected oa1AuthTemplate(): TemplateResult {\n return html`\n <p class=\"no-support oauth1\">The OAuth1 authorization is not longer supported.</p>\n `;\n }\n\n /**\n * Renders a template for OAuth 2 authorization.\n */\n protected oa2AuthTemplate(security: ApiDefinitions.IApiParametrizedSecurityScheme): TemplateResult {\n const {\n oauth2RedirectUri,\n credentialsSource,\n oauth2AuthorizationUri,\n oauth2AccessTokenUri,\n } = this;\n return html`\n <amf-oauth2-authorization\n .defaultRedirectUri=\"${oauth2RedirectUri}\"\n .overrideAuthorizationUri=\"${oauth2AuthorizationUri}\"\n .overrideAccessTokenUri=\"${oauth2AccessTokenUri}\"\n .security=\"${security}\"\n .credentialsSource=\"${credentialsSource}\"\n @change=\"${this.changeHandler}\"\n class=\"auth-editor\"\n ></amf-oauth2-authorization>`;\n }\n\n /**\n * Renders a template for OAuth 2 authorization.\n */\n protected openIdConnectTemplate(security: ApiDefinitions.IApiParametrizedSecurityScheme): TemplateResult {\n const {\n oauth2RedirectUri,\n credentialsSource,\n } = this;\n return html`\n <amf-oidc-authorization\n .defaultRedirectUri=\"${oauth2RedirectUri}\"\n .security=\"${security}\"\n .credentialsSource=\"${credentialsSource}\"\n @change=\"${this.changeHandler}\"\n class=\"auth-editor\"\n ></amf-oidc-authorization>`;\n }\n\n /**\n * Renders a template for Api Keys authorization.\n */\n protected apiKeyTemplate(security: ApiDefinitions.IApiParametrizedSecurityScheme): TemplateResult {\n return html`\n <amf-apikey-authorization .security=\"${security}\" @change=\"${this.changeHandler}\" class=\"auth-editor\"></amf-apikey-authorization>\n `;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiOperationDocument.element.d.ts","sourceRoot":"","sources":["../../../src/elements/amf/ApiOperationDocument.element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAEpD,OAAO,EAAa,cAAc,EAAmE,MAAM,mCAAmC,CAAC;AAG/I,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAMjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,0CAA0C,CAAC;AAClD,OAAO,2CAA2C,CAAC;AACnD,OAAO,uDAAuD,CAAC;AAC/D,OAAO,4BAA4B,CAAC;AACpC,OAAO,8BAA8B,CAAC;AACtC,OAAO,4BAA4B,CAAC;AACpC,OAAO,2BAA2B,CAAC;AACnC,OAAO,+BAA+B,CAAC;AACvC,OAAO,oCAAoC,CAAC;AAE5C;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,oBAAoB;IACpE,SAAS,CAAC,aAAa,CAAC,EAAE,cAAc,CAAC,YAAY,CAAC;IAEtD,SAAS,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC,aAAa,CAAC;IAExD,SAAS,CAAC,YAAY,CAAC,EAAE,cAAc,CAAC,UAAU,EAAE,CAAC;IAErD,SAAS,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC,YAAY,EAAE,CAAC;IAEzD,SAAS,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEjC,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEhC,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAE5B,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEhC,SAAS,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAEpC,SAAS,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAExC,SAAS,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAExC,SAAS,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAE3C;;;;OAIG;IACH,IACI,QAAQ,IAAI,MAAM,GAAG,SAAS,CAEjC;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EASrC;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,cAAc,CAAC,UAAU,EAAE,GAAG,SAAS,CAErD;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,cAAc,CAAC,UAAU,GAAG,SAAS,CAYlD;IAED,IAAI,SAAS,IAAI,cAAc,CAAC,aAAa,GAAG,SAAS,CAExD;IAED,IAAI,SAAS,CAAC,KAAK,EAJF,cAAc,CAAC,aAAa,GAAG,SAI7B,EAOlB;IAED,IAAI,QAAQ,IAAI,cAAc,CAAC,YAAY,GAAG,SAAS,CAEtD;IAED,IAAI,QAAQ,CAAC,KAAK,EAJF,cAAc,CAAC,YAAY,GAAG,SAI5B,EASjB;IAED;;;;OAIG;IACH,IACI,OAAO,IAAI,MAAM,GAAG,SAAS,CAEhC;IAED,IAAI,OAAO,CAAC,KAAK,EAJF,MAAM,GAAG,SAIP,EAShB;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,IAAI,WAAW,IAAI,MAAM,CAIxB;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,cAAc,CAAC,YAAY,EAAE,GAAG,SAAS,CAEzD;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,MAAM,EAAE,GAAG,SAAS,CAEpC;IAGD,IAAI,OAAO,IAAI,MAAM,GAAG,SAAS,CAEhC;IAED;;;;OAIG;IACwC,UAAU,CAAC,EAAE,MAAM,CAAC;IAE/D;;;OAGG;IACyC,eAAe,CAAC,EAAE,OAAO,CAAC;IAEtE;;;OAGG;IACyC,cAAc,CAAC,EAAE,OAAO,CAAC;IAErE;;;OAGG;IACyC,cAAc,CAAC,EAAE,OAAO,CAAC;IAErE;;;OAGG;IACyB,cAAc,CAAC,EAAE,MAAM,CAAC;IAEpD;;;OAGG;IACyC,eAAe,CAAC,EAAE,OAAO,CAAC;IAEtE;;;OAGG;IACyC,WAAW,CAAC,EAAE,OAAO,CAAC;IAElE;;;OAGG;IACyC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAE/D;;;OAGG;IACyC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAEzE;;;OAGG;IACyC,YAAY,CAAC,EAAE,OAAO,CAAC;IAEnE;;;OAGG;IACyB,eAAe,CAAC,EAAE,MAAM,CAAC;IAErD;;;;;;OAMG;IACyB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEjC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB5C;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBrC;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBpC;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBnC;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAYrC;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAYnC;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAarC;;;OAGG;IACH,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAuBnC;;;OAGG;IACH,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAgBnC;;OAEG;IACH,SAAS,CAAC,eAAe,IAAI,IAAI;IAUjC;;OAEG;IACH,SAAS,CAAC,sBAAsB,IAAI,IAAI;IA2DxC;;OAEG;IACH,SAAS,CAAC,sBAAsB,IAAI,IAAI;IA8CxC;;OAEG;IACH,SAAS,CAAC,sBAAsB,IAAI,IAAI;IAyCxC;;OAEG;IACH,SAAS,CAAC,gBAAgB,CAAC,CAAC,EAAE,WAAW,CAAC,kBAAkB,CAAC,GAAG,IAAI;IASpE;;OAEG;IACH,SAAS,CAAC,uBAAuB,CAAC,CAAC,EAAE,WAAW,CAAC,kBAAkB,CAAC,GAAG,IAAI;IAS3E;;;OAGG;IACH,SAAS,CAAC,WAAW,IAAI,IAAI;IAe7B;;OAEG;IACH,SAAS,CAAC,uBAAuB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAQxC,MAAM,IAAI,cAAc;IAsBjC;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,SAAS,EAAE,cAAc,CAAC,aAAa,GAAG,cAAc;IAoB9E;;OAEG;IACH,SAAS,CAAC,YAAY,CAAC,SAAS,EAAE,cAAc,CAAC,aAAa,GAAG,cAAc,GAAG,MAAM;IAYxF;;OAEG;IACH,SAAS,CAAC,aAAa,CAAC,SAAS,EAAE,cAAc,CAAC,aAAa,GAAG,cAAc,GAAG,MAAM;IAUzF;;OAEG;IACH,SAAS,CAAC,cAAc,CAAC,SAAS,EAAE,cAAc,CAAC,aAAa,GAAG,cAAc,EAAE,GAAG,MAAM;IAY5F;;OAEG;IACH,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,aAAa,GAAG,cAAc,GAAG,MAAM;IAe5F;;OAEG;IACH,SAAS,CAAC,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC,aAAa,GAAG,cAAc,GAAG,MAAM;IAcrF;;OAEG;IACH,SAAS,CAAC,qBAAqB,IAAI,cAAc,GAAG,MAAM;IAiB1D,SAAS,CAAC,eAAe,CAAC,SAAS,EAAE,cAAc,CAAC,aAAa,GAAG,cAAc,GAAG,MAAM;IAS3F;;OAEG;IACH,SAAS,CAAC,cAAc,CAAC,QAAQ,EAAE,cAAc,CAAC,YAAY,GAAG,cAAc;IAyB/E,SAAS,CAAC,cAAc,IAAI,cAAc,GAAG,MAAM;IAYnD;;;OAGG;IACH,SAAS,CAAC,kBAAkB,CAAC,SAAS,EAAE,cAAc,CAAC,YAAY,EAAE,GAAG,cAAc,GAAG,MAAM;IAe/F;;;OAGG;IACH,SAAS,CAAC,qBAAqB,CAAC,SAAS,EAAE,cAAc,CAAC,YAAY,EAAE,GAAG,cAAc;
|
|
1
|
+
{"version":3,"file":"ApiOperationDocument.element.d.ts","sourceRoot":"","sources":["../../../src/elements/amf/ApiOperationDocument.element.ts"],"names":[],"mappings":"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"}
|
|
@@ -732,10 +732,11 @@ export default class ApiOperationDocument extends ApiDocumentationBase {
|
|
|
732
732
|
const { selectedStatus } = this;
|
|
733
733
|
const response = responses.find((item) => item.statusCode === selectedStatus);
|
|
734
734
|
if (!response) {
|
|
735
|
-
return html `<div class="empty-info">Select a response to render the documentation.</div>`;
|
|
735
|
+
return html `<div class="empty-info" id="status${selectedStatus}">Select a response to render the documentation.</div>`;
|
|
736
736
|
}
|
|
737
737
|
return html `
|
|
738
738
|
<api-response-document
|
|
739
|
+
id="status${selectedStatus}"
|
|
739
740
|
.domainId="${response.id}"
|
|
740
741
|
.response="${response}"
|
|
741
742
|
class="method-response"
|