@api-client/ui 0.2.13 → 0.3.0
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/.vscode/settings.json +1 -0
- package/build/src/core/ModalActivity.d.ts +1 -1
- package/build/src/core/ModalActivity.d.ts.map +1 -1
- package/build/src/core/ModalActivity.js +6 -5
- package/build/src/core/ModalActivity.js.map +1 -1
- package/build/src/core/ThemeManager.d.ts +4 -2
- package/build/src/core/ThemeManager.d.ts.map +1 -1
- package/build/src/core/ThemeManager.js.map +1 -1
- package/build/src/demo/DemoPage.d.ts +1 -4
- package/build/src/demo/DemoPage.d.ts.map +1 -1
- package/build/src/demo/DemoPage.js +2 -5
- package/build/src/demo/DemoPage.js.map +1 -1
- package/build/src/elements/authorization/ui/CcAuthorization.d.ts +1 -1
- package/build/src/elements/authorization/ui/CcAuthorization.d.ts.map +1 -1
- package/build/src/elements/authorization/ui/CcAuthorization.js +2 -2
- package/build/src/elements/authorization/ui/CcAuthorization.js.map +1 -1
- package/build/src/elements/authorization/ui/OAuth2Authorization.d.ts +1 -1
- package/build/src/elements/authorization/ui/OAuth2Authorization.d.ts.map +1 -1
- package/build/src/elements/authorization/ui/OAuth2Authorization.js +11 -5
- package/build/src/elements/authorization/ui/OAuth2Authorization.js.map +1 -1
- package/build/src/elements/authorization/ui/OidcAuthorization.d.ts +1 -2
- package/build/src/elements/authorization/ui/OidcAuthorization.d.ts.map +1 -1
- package/build/src/elements/authorization/ui/OidcAuthorization.js +10 -8
- package/build/src/elements/authorization/ui/OidcAuthorization.js.map +1 -1
- package/build/src/elements/code/HttpSnippets.d.ts +1 -1
- package/build/src/elements/code/HttpSnippets.d.ts.map +1 -1
- package/build/src/elements/code/HttpSnippets.js +5 -5
- package/build/src/elements/code/HttpSnippets.js.map +1 -1
- package/build/src/elements/dialog/internals/ConfirmDelete.d.ts +1 -1
- package/build/src/elements/dialog/internals/ConfirmDelete.d.ts.map +1 -1
- package/build/src/elements/dialog/internals/ConfirmDelete.js +5 -5
- package/build/src/elements/dialog/internals/ConfirmDelete.js.map +1 -1
- package/build/src/elements/dialog/internals/Rename.d.ts +1 -1
- package/build/src/elements/dialog/internals/Rename.d.ts.map +1 -1
- package/build/src/elements/dialog/internals/Rename.js +6 -5
- package/build/src/elements/dialog/internals/Rename.js.map +1 -1
- package/build/src/elements/environment/EnvironmentEditor.d.ts +1 -1
- package/build/src/elements/environment/EnvironmentEditor.d.ts.map +1 -1
- package/build/src/elements/environment/EnvironmentEditor.js +5 -4
- package/build/src/elements/environment/EnvironmentEditor.js.map +1 -1
- package/build/src/elements/http/BodyEditor.d.ts +1 -3
- package/build/src/elements/http/BodyEditor.d.ts.map +1 -1
- package/build/src/elements/http/BodyEditor.js +25 -20
- package/build/src/elements/http/BodyEditor.js.map +1 -1
- package/build/src/elements/http/BodyMultipartEditor.d.ts +1 -1
- package/build/src/elements/http/BodyMultipartEditor.d.ts.map +1 -1
- package/build/src/elements/http/BodyMultipartEditor.js +3 -3
- package/build/src/elements/http/BodyMultipartEditor.js.map +1 -1
- package/build/src/elements/http/CertificateAdd.element.d.ts +1 -3
- package/build/src/elements/http/CertificateAdd.element.d.ts.map +1 -1
- package/build/src/elements/http/CertificateAdd.element.js +6 -10
- package/build/src/elements/http/CertificateAdd.element.js.map +1 -1
- package/build/src/elements/http/HeadersForm.d.ts +1 -1
- package/build/src/elements/http/HeadersForm.d.ts.map +1 -1
- package/build/src/elements/http/HeadersForm.js +3 -3
- package/build/src/elements/http/HeadersForm.js.map +1 -1
- package/build/src/elements/http/HttpAssertions.element.d.ts +1 -1
- package/build/src/elements/http/HttpAssertions.element.d.ts.map +1 -1
- package/build/src/elements/http/HttpAssertions.element.js +2 -2
- package/build/src/elements/http/HttpAssertions.element.js.map +1 -1
- package/build/src/elements/http/HttpFlows.element.d.ts +1 -1
- package/build/src/elements/http/HttpFlows.element.d.ts.map +1 -1
- package/build/src/elements/http/HttpFlows.element.js +6 -6
- package/build/src/elements/http/HttpFlows.element.js.map +1 -1
- package/build/src/elements/http/RequestEditor.d.ts +1 -3
- package/build/src/elements/http/RequestEditor.d.ts.map +1 -1
- package/build/src/elements/http/RequestEditor.js +10 -11
- package/build/src/elements/http/RequestEditor.js.map +1 -1
- package/build/src/elements/http/UrlParamsForm.d.ts +1 -1
- package/build/src/elements/http/UrlParamsForm.d.ts.map +1 -1
- package/build/src/elements/http/UrlParamsForm.js +4 -4
- package/build/src/elements/http/UrlParamsForm.js.map +1 -1
- package/build/src/elements/project/HttpProjectRequest.d.ts +1 -1
- package/build/src/elements/project/HttpProjectRequest.d.ts.map +1 -1
- package/build/src/elements/project/HttpProjectRequest.js +3 -3
- package/build/src/elements/project/HttpProjectRequest.js.map +1 -1
- package/build/src/elements/project/HttpProjectRequestHistory.d.ts +1 -2
- package/build/src/elements/project/HttpProjectRequestHistory.d.ts.map +1 -1
- package/build/src/elements/project/HttpProjectRequestHistory.js +5 -6
- package/build/src/elements/project/HttpProjectRequestHistory.js.map +1 -1
- package/build/src/elements/project/ProjectRunReport.d.ts +1 -1
- package/build/src/elements/project/ProjectRunReport.d.ts.map +1 -1
- package/build/src/elements/project/ProjectRunReport.js +7 -7
- package/build/src/elements/project/ProjectRunReport.js.map +1 -1
- package/build/src/elements/project/ProjectRunner.d.ts +1 -2
- package/build/src/elements/project/ProjectRunner.d.ts.map +1 -1
- package/build/src/elements/project/ProjectRunner.js +4 -5
- package/build/src/elements/project/ProjectRunner.js.map +1 -1
- package/build/src/md/button/internals/base.d.ts +98 -0
- package/build/src/md/button/internals/base.d.ts.map +1 -0
- package/build/src/md/button/internals/base.js +353 -0
- package/build/src/md/button/internals/base.js.map +1 -0
- package/build/src/md/button/internals/button.d.ts +7 -75
- package/build/src/md/button/internals/button.d.ts.map +1 -1
- package/build/src/md/button/internals/button.js +18 -247
- package/build/src/md/button/internals/button.js.map +1 -1
- package/build/src/md/button/internals/{button-styles.d.ts → button.styles.d.ts} +1 -1
- package/build/src/md/button/internals/button.styles.d.ts.map +1 -0
- package/build/src/md/button/internals/button.styles.js +319 -0
- package/build/src/md/button/internals/button.styles.js.map +1 -0
- package/build/src/md/button/internals/group.d.ts +54 -0
- package/build/src/md/button/internals/group.d.ts.map +1 -0
- package/build/src/md/button/internals/group.js +157 -0
- package/build/src/md/button/internals/group.js.map +1 -0
- package/build/src/md/button/internals/{text-button.styles.d.ts → group.styles.d.ts} +1 -1
- package/build/src/md/button/internals/group.styles.d.ts.map +1 -0
- package/build/src/md/button/internals/group.styles.js +102 -0
- package/build/src/md/button/internals/group.styles.js.map +1 -0
- package/build/src/md/button/ui-button-group.d.ts +11 -0
- package/build/src/md/button/ui-button-group.d.ts.map +1 -0
- package/build/src/md/{icon-button/ui-filled-icon-button.js → button/ui-button-group.js} +10 -11
- package/build/src/md/button/ui-button-group.js.map +1 -0
- package/build/src/md/button/ui-button.d.ts +14 -0
- package/build/src/md/button/ui-button.d.ts.map +1 -0
- package/build/src/md/button/{ui-text-button.js → ui-button.js} +10 -11
- package/build/src/md/button/ui-button.js.map +1 -0
- package/build/src/md/dialog/internals/Dialog.d.ts +5 -5
- package/build/src/md/dialog/internals/Dialog.d.ts.map +1 -1
- package/build/src/md/dialog/internals/Dialog.js +14 -9
- package/build/src/md/dialog/internals/Dialog.js.map +1 -1
- package/build/src/md/dropdown-list/internals/UiDropdownList.d.ts +1 -1
- package/build/src/md/dropdown-list/internals/UiDropdownList.js +1 -1
- package/build/src/md/dropdown-list/internals/UiDropdownList.js.map +1 -1
- package/build/src/md/icon-button/internals/IconButton.d.ts +12 -36
- package/build/src/md/icon-button/internals/IconButton.d.ts.map +1 -1
- package/build/src/md/icon-button/internals/IconButton.js +32 -144
- package/build/src/md/icon-button/internals/IconButton.js.map +1 -1
- package/build/src/md/{button/internals/filled-button.styles.d.ts → icon-button/internals/IconButton.styles.d.ts} +1 -1
- package/build/src/md/icon-button/internals/IconButton.styles.d.ts.map +1 -0
- package/build/src/md/icon-button/internals/IconButton.styles.js +286 -0
- package/build/src/md/icon-button/internals/IconButton.styles.js.map +1 -0
- package/build/src/md/icon-button/ui-icon-button.d.ts.map +1 -1
- package/build/src/md/icon-button/ui-icon-button.js +2 -3
- package/build/src/md/icon-button/ui-icon-button.js.map +1 -1
- package/build/src/md/ripple/internals/ripple.d.ts +2 -0
- package/build/src/md/ripple/internals/ripple.d.ts.map +1 -1
- package/build/src/md/ripple/internals/ripple.js +20 -10
- package/build/src/md/ripple/internals/ripple.js.map +1 -1
- package/build/src/md/ripple/internals/ripple.styles.d.ts.map +1 -1
- package/build/src/md/ripple/internals/ripple.styles.js +8 -20
- package/build/src/md/ripple/internals/ripple.styles.js.map +1 -1
- package/build/src/md/snackbar/internals/Snackbar.d.ts +1 -1
- package/build/src/md/snackbar/internals/Snackbar.d.ts.map +1 -1
- package/build/src/md/snackbar/internals/Snackbar.js +4 -2
- package/build/src/md/snackbar/internals/Snackbar.js.map +1 -1
- package/build/src/md/text-field/internals/filled.styles.d.ts.map +1 -1
- package/build/src/md/text-field/internals/filled.styles.js +3 -0
- package/build/src/md/text-field/internals/filled.styles.js.map +1 -1
- package/build/src/styles/m3/dialog.module.d.ts +2 -2
- package/build/src/styles/m3/dialog.module.js +2 -2
- package/build/src/styles/m3/dialog.module.js.map +1 -1
- package/build/src/styles/m3/tokens.d.ts.map +1 -1
- package/build/src/styles/m3/tokens.js +208 -182
- package/build/src/styles/m3/tokens.js.map +1 -1
- package/demo/elements/authorization/oauth-authorize.html +1 -1
- package/demo/elements/authorization/oauth-authorize.ts +1 -1
- package/demo/elements/environment/variables-editor.ts +2 -2
- package/demo/elements/http/url-editing.ts +3 -3
- package/demo/elements/project/request-editor.ts +4 -4
- package/demo/layout/index.ts +5 -5
- package/demo/md/buttons/button.html +121 -0
- package/demo/md/buttons/button.ts +246 -0
- package/demo/md/buttons/{index.html → group.html} +15 -2
- package/demo/md/buttons/group.ts +171 -0
- package/demo/md/checkbox/index.ts +1 -1
- package/demo/md/dialog/dialog.ts +8 -9
- package/demo/md/dropdown-list/index.ts +68 -71
- package/demo/md/icon-button/index.html +97 -7
- package/demo/md/icon-button/index.ts +97 -201
- package/demo/md/index.html +3 -1
- package/demo/md/inputs/input.ts +1 -1
- package/demo/md/inputs/radio.ts +1 -1
- package/demo/md/inputs/switch.ts +1 -1
- package/demo/md/notification/snack.ts +5 -5
- package/demo/md/progress/progress.ts +4 -3
- package/package.json +2 -2
- package/src/core/ModalActivity.ts +6 -5
- package/src/core/ThemeManager.ts +5 -4
- package/src/demo/DemoPage.ts +2 -5
- package/src/elements/authorization/ui/CcAuthorization.ts +2 -2
- package/src/elements/authorization/ui/OAuth2Authorization.ts +11 -5
- package/src/elements/authorization/ui/OidcAuthorization.ts +10 -8
- package/src/elements/code/HttpSnippets.ts +5 -5
- package/src/elements/dialog/internals/ConfirmDelete.ts +5 -5
- package/src/elements/dialog/internals/Rename.ts +6 -5
- package/src/elements/environment/EnvironmentEditor.ts +5 -4
- package/src/elements/http/BodyEditor.ts +25 -20
- package/src/elements/http/BodyMultipartEditor.ts +3 -3
- package/src/elements/http/CertificateAdd.element.ts +6 -10
- package/src/elements/http/HeadersForm.ts +3 -3
- package/src/elements/http/HttpAssertions.element.ts +2 -2
- package/src/elements/http/HttpFlows.element.ts +6 -6
- package/src/elements/http/RequestEditor.ts +10 -11
- package/src/elements/http/UrlParamsForm.ts +4 -4
- package/src/elements/project/HttpProjectRequest.ts +3 -3
- package/src/elements/project/HttpProjectRequestHistory.ts +5 -6
- package/src/elements/project/ProjectRunReport.ts +7 -7
- package/src/elements/project/ProjectRunner.ts +4 -5
- package/src/md/button/internals/base.ts +299 -0
- package/src/md/button/internals/button.styles.ts +319 -0
- package/src/md/button/internals/button.ts +8 -234
- package/src/md/button/internals/group.styles.ts +102 -0
- package/src/md/button/internals/group.ts +121 -0
- package/src/md/button/ui-button-group.ts +15 -0
- package/src/md/button/ui-button.ts +18 -0
- package/src/md/dialog/internals/Dialog.ts +14 -9
- package/src/md/dropdown-list/internals/UiDropdownList.ts +1 -1
- package/src/md/icon-button/internals/IconButton.styles.ts +286 -0
- package/src/md/icon-button/internals/IconButton.ts +15 -139
- package/src/md/icon-button/ui-icon-button.ts +2 -3
- package/src/md/ripple/internals/ripple.styles.ts +8 -20
- package/src/md/ripple/internals/ripple.ts +21 -13
- package/src/md/snackbar/internals/Snackbar.ts +4 -2
- package/src/md/text-field/internals/filled.styles.ts +3 -0
- package/src/styles/m3/dialog.module.ts +2 -2
- package/src/styles/m3/native.css +270 -0
- package/src/styles/m3/tokens.css +208 -182
- package/src/styles/m3/tokens.ts +208 -182
- package/test/ui/button/UiButton.test.ts +51 -29
- package/test/ui/button/UiIconButton.test.ts +25 -19
- package/test/ui/dialog/UiDialog.test.ts +10 -10
- package/build/src/md/button/internals/button-styles.d.ts.map +0 -1
- package/build/src/md/button/internals/button-styles.js +0 -143
- package/build/src/md/button/internals/button-styles.js.map +0 -1
- package/build/src/md/button/internals/elevated-button.d.ts +0 -4
- package/build/src/md/button/internals/elevated-button.d.ts.map +0 -1
- package/build/src/md/button/internals/elevated-button.js +0 -4
- package/build/src/md/button/internals/elevated-button.js.map +0 -1
- package/build/src/md/button/internals/elevated-button.styles.d.ts +0 -3
- package/build/src/md/button/internals/elevated-button.styles.d.ts.map +0 -1
- package/build/src/md/button/internals/elevated-button.styles.js +0 -38
- package/build/src/md/button/internals/elevated-button.styles.js.map +0 -1
- package/build/src/md/button/internals/filled-button.d.ts +0 -4
- package/build/src/md/button/internals/filled-button.d.ts.map +0 -1
- package/build/src/md/button/internals/filled-button.js +0 -4
- package/build/src/md/button/internals/filled-button.js.map +0 -1
- package/build/src/md/button/internals/filled-button.styles.d.ts.map +0 -1
- package/build/src/md/button/internals/filled-button.styles.js +0 -30
- package/build/src/md/button/internals/filled-button.styles.js.map +0 -1
- package/build/src/md/button/internals/filled-tonal-button.d.ts +0 -4
- package/build/src/md/button/internals/filled-tonal-button.d.ts.map +0 -1
- package/build/src/md/button/internals/filled-tonal-button.js +0 -4
- package/build/src/md/button/internals/filled-tonal-button.js.map +0 -1
- package/build/src/md/button/internals/filled-tonal-button.styles.d.ts +0 -3
- package/build/src/md/button/internals/filled-tonal-button.styles.d.ts.map +0 -1
- package/build/src/md/button/internals/filled-tonal-button.styles.js +0 -30
- package/build/src/md/button/internals/filled-tonal-button.styles.js.map +0 -1
- package/build/src/md/button/internals/outlined-button.d.ts +0 -4
- package/build/src/md/button/internals/outlined-button.d.ts.map +0 -1
- package/build/src/md/button/internals/outlined-button.js +0 -4
- package/build/src/md/button/internals/outlined-button.js.map +0 -1
- package/build/src/md/button/internals/outlined-button.styles.d.ts +0 -3
- package/build/src/md/button/internals/outlined-button.styles.d.ts.map +0 -1
- package/build/src/md/button/internals/outlined-button.styles.js +0 -31
- package/build/src/md/button/internals/outlined-button.styles.js.map +0 -1
- package/build/src/md/button/internals/text-button.d.ts +0 -4
- package/build/src/md/button/internals/text-button.d.ts.map +0 -1
- package/build/src/md/button/internals/text-button.js +0 -4
- package/build/src/md/button/internals/text-button.js.map +0 -1
- package/build/src/md/button/internals/text-button.styles.d.ts.map +0 -1
- package/build/src/md/button/internals/text-button.styles.js +0 -30
- package/build/src/md/button/internals/text-button.styles.js.map +0 -1
- package/build/src/md/button/ui-elevated-button.d.ts +0 -14
- package/build/src/md/button/ui-elevated-button.d.ts.map +0 -1
- package/build/src/md/button/ui-elevated-button.js +0 -31
- package/build/src/md/button/ui-elevated-button.js.map +0 -1
- package/build/src/md/button/ui-filled-button.d.ts +0 -14
- package/build/src/md/button/ui-filled-button.d.ts.map +0 -1
- package/build/src/md/button/ui-filled-button.js +0 -31
- package/build/src/md/button/ui-filled-button.js.map +0 -1
- package/build/src/md/button/ui-filled-tonal-button.d.ts +0 -14
- package/build/src/md/button/ui-filled-tonal-button.d.ts.map +0 -1
- package/build/src/md/button/ui-filled-tonal-button.js +0 -31
- package/build/src/md/button/ui-filled-tonal-button.js.map +0 -1
- package/build/src/md/button/ui-outlined-button.d.ts +0 -14
- package/build/src/md/button/ui-outlined-button.d.ts.map +0 -1
- package/build/src/md/button/ui-outlined-button.js +0 -31
- package/build/src/md/button/ui-outlined-button.js.map +0 -1
- package/build/src/md/button/ui-text-button.d.ts +0 -14
- package/build/src/md/button/ui-text-button.d.ts.map +0 -1
- package/build/src/md/button/ui-text-button.js.map +0 -1
- package/build/src/md/icon-button/ui-filled-icon-button.d.ts +0 -11
- package/build/src/md/icon-button/ui-filled-icon-button.d.ts.map +0 -1
- package/build/src/md/icon-button/ui-filled-icon-button.js.map +0 -1
- package/build/src/md/icon-button/ui-filled-tonal-icon-button.d.ts +0 -11
- package/build/src/md/icon-button/ui-filled-tonal-icon-button.d.ts.map +0 -1
- package/build/src/md/icon-button/ui-filled-tonal-icon-button.js +0 -28
- package/build/src/md/icon-button/ui-filled-tonal-icon-button.js.map +0 -1
- package/build/src/md/icon-button/ui-outlined-icon-button.d.ts +0 -11
- package/build/src/md/icon-button/ui-outlined-icon-button.d.ts.map +0 -1
- package/build/src/md/icon-button/ui-outlined-icon-button.js +0 -28
- package/build/src/md/icon-button/ui-outlined-icon-button.js.map +0 -1
- package/demo/md/buttons/index.ts +0 -279
- package/src/md/button/internals/button-styles.ts +0 -143
- package/src/md/button/internals/elevated-button.styles.ts +0 -38
- package/src/md/button/internals/elevated-button.ts +0 -3
- package/src/md/button/internals/filled-button.styles.ts +0 -30
- package/src/md/button/internals/filled-button.ts +0 -3
- package/src/md/button/internals/filled-tonal-button.styles.ts +0 -30
- package/src/md/button/internals/filled-tonal-button.ts +0 -3
- package/src/md/button/internals/outlined-button.styles.ts +0 -31
- package/src/md/button/internals/outlined-button.ts +0 -3
- package/src/md/button/internals/text-button.styles.ts +0 -30
- package/src/md/button/internals/text-button.ts +0 -3
- package/src/md/button/ui-elevated-button.ts +0 -19
- package/src/md/button/ui-filled-button.ts +0 -19
- package/src/md/button/ui-filled-tonal-button.ts +0 -19
- package/src/md/button/ui-outlined-button.ts +0 -19
- package/src/md/button/ui-text-button.ts +0 -19
- package/src/md/icon-button/ui-filled-icon-button.ts +0 -16
- package/src/md/icon-button/ui-filled-tonal-icon-button.ts +0 -16
- package/src/md/icon-button/ui-outlined-icon-button.ts +0 -16
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpFlows.element.js","sourceRoot":"","sources":["../../../../src/elements/http/HttpFlows.element.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IHttpAction, IHttpFlow } from '@api-client/core/models/http-flows/HttpFlows.js'\nimport { type IHttpStep } from '@api-client/core/models/http-flows/HttpStep.js'\nimport { html, nothing, PropertyValues, TemplateResult } from 'lit'\nimport { property, query } from 'lit/decorators.js'\nimport type { UiDropdownListSelection } from '../../md/dropdown-list/internals/UiDropdownList.js'\nimport { SnackNotifications } from '../../md/notification/SnackNotifications.js'\nimport type Input from '../../md/input/Input.js'\nimport type UiDialog from '../../md/dialog/internals/Dialog.js'\nimport type { UiDialogClosingReason } from '../../md/dialog/internals/Dialog.js'\nimport { HttpFlowsUi, StepsTarget } from './HttpFlowsUi.js'\nimport '../../md/list/ui-list.js'\nimport '../../md/list/ui-list-item.js'\nimport '../../md/dropdown-list/ui-dropdown-list.js'\nimport '../../md/button/ui-outlined-button.js'\nimport '../../md/divider/ui-divider.js'\nimport '../../md/dialog/ui-dialog.js'\nimport '../dialog/rename-dialog.js'\n\ntype FlowTrigger = 'request' | 'response'\n\nexport default class HttpFlows extends HttpFlowsUi {\n /**\n * The list of HTTP flows.\n * This is a live list. All changes are propagated in the model.\n */\n @property({ type: Array }) accessor model: IHttpFlow[] = []\n\n /**\n * The setting that renders flows for the given trigger (request or response).\n */\n @property({ type: String }) accessor trigger: FlowTrigger = 'response'\n\n /**\n * The index of the currently selected flow. This is the index on the `model` property.\n * @attribute\n */\n @property({ type: Number }) accessor selectedFlow: number | undefined\n\n @query('#createFlowDialog') accessor flowAddDialog: UiDialog | null = null\n\n /**\n * The currently selected flow definition.\n *\n * If there's no selection it returns the first flow.\n */\n get currentFlow(): IHttpFlow | undefined {\n const { model = [], selectedFlow, trigger = 'response' } = this\n if (selectedFlow === undefined) {\n return undefined\n }\n const item = model[selectedFlow]\n if (!item || item.trigger !== trigger) {\n return undefined\n }\n return item\n }\n\n override connectedCallback(): void {\n super.connectedCallback()\n this.preSelectFlow()\n }\n\n protected override willUpdate(cp: PropertyValues<this>): void {\n if (cp.has('trigger')) {\n this.selectedFlow = undefined\n this.preSelectFlow()\n }\n super.willUpdate(cp)\n }\n\n preSelectFlow(): void {\n const { model = [], trigger = 'response', selectedFlow } = this\n if (Number.isInteger(selectedFlow)) {\n return\n }\n const index = model.findIndex((i) => i.trigger === trigger)\n if (index >= 0) {\n this.selectedFlow = index\n }\n }\n\n addFlow(description?: string): void {\n const flow: IHttpFlow = {\n trigger: this.trigger,\n actions: [],\n }\n if (description) {\n flow.description = description\n }\n const len = this.model.push(flow)\n this.selectedFlow = len - 1\n this.notifyChange()\n this.requestUpdate()\n }\n\n removeFlow(index: number): void {\n const { model } = this\n if (index >= model.length || index < 0) {\n throw RangeError(`Invalid index: ${index}. Expected an index in range from 0 to ${model.length - 1}`)\n }\n const removed = model[index]\n model.splice(index, 1)\n this.requestUpdate()\n this.notifyChange()\n if (!model[index]) {\n this.selectedFlow = 0\n }\n SnackNotifications.notify(`Flow was deleted.`, {\n actionLabel: 'Redo',\n\n actionCallback: () => {\n model.splice(index, 0, removed)\n this.selectedFlow = index\n this.requestUpdate()\n this.notifyChange()\n },\n\n cancellable: true,\n })\n }\n\n removeFlowAction(actionIndex: number): void {\n const { currentFlow } = this\n if (!currentFlow) {\n return\n }\n currentFlow.actions.splice(actionIndex, 1)\n this.notifyChange()\n this.requestUpdate()\n }\n\n renameFlowAction(actionIndex: number): void {\n const { currentFlow } = this\n if (!currentFlow) {\n return\n }\n const action = currentFlow.actions[actionIndex]\n if (!action) {\n return\n }\n const dialog = document.createElement('rename-dialog')\n dialog.name = action.description\n dialog.modal = true\n document.body.appendChild(dialog)\n dialog.open = true\n dialog.addEventListener('close', (ev: Event) => {\n document.parentElement?.removeChild(dialog)\n const event = ev as CustomEvent<UiDialogClosingReason>\n const { cancelled, value } = event.detail\n if (!cancelled && value) {\n action.description = value as string\n this.notifyChange()\n this.requestUpdate()\n }\n })\n }\n\n protected handleAdd(): void {\n const { flowAddDialog } = this\n if (!flowAddDialog) {\n return\n }\n flowAddDialog.open = true\n }\n\n protected handleTriggerSelect(e: CustomEvent<UiDropdownListSelection>): void {\n const target = e.detail.item as HTMLElement | undefined\n if (!target) {\n return\n }\n const { trigger } = target.dataset\n if (!trigger) {\n return\n }\n this.trigger = trigger as FlowTrigger\n }\n\n protected handleFlowSelect(e: CustomEvent<UiDropdownListSelection>): void {\n const target = e.detail.item as HTMLElement | undefined\n if (!target) {\n return\n }\n const { trigger = 'response', model = [] } = this\n const option = target.dataset.option as string | undefined\n if (option === 'create') {\n this.handleAdd()\n } else if (option === 'delete') {\n const { currentFlow } = this\n if (!currentFlow) {\n return\n }\n const index = model.indexOf(currentFlow)\n if (index >= 0) {\n this.removeFlow(index)\n }\n } else if (option === 'select') {\n const index = Number(target.dataset.index)\n if (Number.isNaN(index)) {\n return\n }\n let current = -1\n for (let i = 0, len = model.length; i < len; i++) {\n const item = model[i]\n if (item.trigger !== trigger) {\n continue\n }\n current += 1\n if (current === index) {\n this.selectedFlow = i\n break\n }\n }\n }\n }\n\n protected handleFlowCreateDialogResult(e: CustomEvent<UiDialogClosingReason>): void {\n if (e.detail.cancelled) {\n return\n }\n const dialog = e.target as UiDialog\n const input = dialog.querySelector('ui-filled-text-field')\n if (!input) {\n return\n }\n const { value } = input\n input.value = ''\n this.addFlow(value)\n }\n\n /**\n * On the editor element we only allow \"flow blocks\" items (conditions and actions).\n * Only one condition can be added so once a condition is set we do not allow to add another condition.\n */\n protected handleEditorDragOver(e: DragEvent): void {\n const { dataTransfer } = e\n if (e.defaultPrevented || !dataTransfer || !this.isValidDropTarget(dataTransfer)) {\n return\n }\n e.preventDefault()\n dataTransfer.dropEffect = 'copy'\n const target = e.currentTarget as HTMLElement\n target.classList.add('dragover')\n }\n\n protected handleEditorDragLeave(e: DragEvent): void {\n if (e.defaultPrevented || !this.isValidDropTarget(e.dataTransfer)) {\n return\n }\n const target = e.currentTarget as HTMLElement\n target.classList.remove('dragover')\n }\n\n protected handleEditorDrop(e: DragEvent): void {\n const { dataTransfer } = e\n if (!dataTransfer || e.defaultPrevented || !this.isValidDropTarget(dataTransfer)) {\n return\n }\n e.preventDefault()\n this.resetDragIndices()\n const group = dataTransfer.getData('flow/group')\n if (group !== 'flow-block') {\n SnackNotifications.notify('Only blocks from the \"Flow blocks\" group can be dropped here.', 2000)\n return\n }\n const kind = dataTransfer.getData('flow/kind')\n if (kind === 'Core#Condition') {\n this.setCondition()\n } else if (kind === 'Core#Action') {\n this.addAction()\n }\n }\n\n /**\n * Adds a condition to the current flow.\n * Note, when the condition already exists this does nothing.\n */\n setCondition(): void {\n const { currentFlow } = this\n if (!currentFlow) {\n SnackNotifications.notify('Select a flow first.', 2000)\n return\n }\n if (currentFlow.condition) {\n SnackNotifications.notify('This flow already have a condition.', 2000)\n return\n }\n currentFlow.condition = {\n steps: [],\n }\n this.requestUpdate()\n this.notifyChange()\n }\n\n addAction(): void {\n const { currentFlow } = this\n if (!currentFlow) {\n SnackNotifications.notify('Select a flow first.', 2000)\n return\n }\n if (!Array.isArray(currentFlow.actions)) {\n currentFlow.actions = []\n }\n currentFlow.actions.push({\n steps: [],\n })\n this.requestUpdate()\n this.notifyChange()\n }\n\n protected stepFromChangeEvent(e: Event): IHttpStep | undefined {\n const input = e.target as Input\n input.checkValidity()\n const { actionIndex: aci, assertionIndex: asi } = input.dataset\n const actionIndex = Number(aci || asi)\n const action = this.getStepsTarget(actionIndex)\n if (!action) {\n return undefined\n }\n const stepIndex = Number(input.dataset.stepIndex)\n if (Number.isNaN(stepIndex)) {\n return undefined\n }\n return action.steps[stepIndex]\n }\n\n protected getStepsTarget(assertionOrActionIndex: number): StepsTarget | undefined {\n if (Number.isNaN(assertionOrActionIndex)) {\n return undefined\n }\n const { currentFlow } = this\n if (!currentFlow) {\n return undefined\n }\n if (assertionOrActionIndex === -1) {\n return currentFlow.condition\n }\n return currentFlow.actions[assertionOrActionIndex]\n }\n\n protected handleConditionOption(e: CustomEvent<UiDropdownListSelection>): void {\n const { currentFlow } = this\n if (!currentFlow) {\n return\n }\n const { item } = e.detail\n const { option } = item.dataset\n if (option === 'delete') {\n delete currentFlow.condition\n this.notifyChange()\n this.requestUpdate()\n }\n }\n\n protected handleActionOption(e: CustomEvent<UiDropdownListSelection>): void {\n const list = e.target as HTMLElement\n const actionIndex = Number(list.dataset.actionIndex)\n if (Number.isNaN(actionIndex)) {\n return\n }\n const { item } = e.detail\n const { option } = item.dataset\n switch (option) {\n case 'delete':\n this.removeFlowAction(actionIndex)\n break\n case 'rename':\n this.renameFlowAction(actionIndex)\n break\n default:\n }\n }\n\n protected isConditionTarget(e: Event): boolean {\n const path = e.composedPath()\n return path.some((i) => {\n const element = i as Element\n return !!element.classList && element.classList.contains('condition-row')\n })\n }\n\n /**\n * We override this method tpo handle conditions which can only accept certain\n * blocks and have index of `-1`\n */\n protected override handleTargetDragOver(e: DragEvent): void {\n if (e.defaultPrevented) {\n return\n }\n const dt = e.dataTransfer as DataTransfer\n if (!this.isConditionTarget(e)) {\n if (dt.types.includes('flow/assertion')) {\n // we do not allow assertions in actions.\n e.preventDefault()\n return\n }\n super.handleTargetDragOver(e)\n return\n }\n if (dt.types.includes('flow/action')) {\n e.preventDefault()\n dt.dropEffect = 'none'\n return\n }\n super.handleTargetDragOver(e)\n }\n\n /**\n * Overrides the method to support conditions.\n */\n protected override handleDrop(e: DragEvent): void {\n if (e.defaultPrevented) {\n return\n }\n const dt = e.dataTransfer as DataTransfer\n if (!this.isConditionTarget(e)) {\n if (dt.types.includes('flow/assertion')) {\n // we do not allow assertions in actions.\n e.preventDefault()\n SnackNotifications.notify(`Assertions cannot be a part of a flow action.`, 3000)\n return\n }\n super.handleDrop(e)\n return\n }\n if (dt.types.includes('flow/action')) {\n e.preventDefault()\n SnackNotifications.notify(`Flow actions cannot be a part of a condition.`, 3000)\n return\n }\n super.handleDrop(e)\n }\n\n protected override render(): TemplateResult {\n return html`\n ${this.renderActionButtons()}\n <div class=\"container\">\n ${this.renderEditor()}\n <ui-divider vertical></ui-divider>\n ${this.renderBuildingBlocks()}\n </div>\n ${this.renderCreateFlowDialog()}\n `\n }\n\n protected renderActionButtons(): TemplateResult {\n return html` <div class=\"editor-actions\">${this.renderTriggerSelector()} ${this.renderFlowSelector()}</div> `\n }\n\n protected renderTriggerSelector(): TemplateResult {\n const { trigger = 'response' } = this\n const label = trigger === 'request' ? 'Pre-request' : 'Post-request'\n return html`\n <ui-dropdown-list @select=\"${this.handleTriggerSelect}\" horizontalAlign=\"right\" closeOnOutsideClick>\n <ui-outlined-button class=\"new-button\">\n <ui-icon icon=\"arrowDropDown\" slot=\"icon\"></ui-icon>\n ${label}\n </ui-outlined-button>\n <ui-list slot=\"dropdown\" role=\"menu\">\n <ui-list-item data-trigger=\"request\" role=\"menuitem\" title=\"Select pre-request flows\"\n >Pre-request</ui-list-item\n >\n <ui-list-item data-trigger=\"response\" role=\"menuitem\" title=\"Select post-request flows\"\n >Post-request</ui-list-item\n >\n </ui-list>\n </ui-dropdown-list>\n `\n }\n\n protected renderFlowSelector(): TemplateResult {\n const { trigger = 'response', currentFlow, model } = this\n const label = currentFlow ? currentFlow.description || 'Unnamed flow' : 'Select a flow'\n const items = model.filter((i) => i.trigger === trigger)\n const hasItems = !!items.length\n return html`\n <ui-dropdown-list @select=\"${this.handleFlowSelect}\" horizontalAlign=\"right\" closeOnOutsideClick>\n <ui-outlined-button class=\"new-button\">\n <ui-icon icon=\"arrowDropDown\" slot=\"icon\"></ui-icon>\n ${label}\n </ui-outlined-button>\n <ui-list slot=\"dropdown\" role=\"menu\">\n ${hasItems\n ? html`\n ${items.map(\n (item, index) =>\n html`<ui-list-item\n data-option=\"select\"\n data-index=\"${index}\"\n role=\"menuitem\"\n title=\"Select this flow\"\n >${item.description || `Flow # ${index}`}</ui-list-item\n >`\n )}\n <ui-divider></ui-divider>\n `\n : nothing}\n ${currentFlow\n ? html` <ui-list-item image=\"icon\" data-option=\"delete\" role=\"menuitem\" title=\"Deletes the current flow\">\n <ui-icon icon=\"deleteOutline\" slot=\"start\"></ui-icon>\n Delete\n </ui-list-item>`\n : nothing}\n <ui-list-item image=\"icon\" data-option=\"create\" role=\"menuitem\" title=\"Adds a new flow\">\n <ui-icon icon=\"add\" slot=\"start\"></ui-icon>\n Create\n </ui-list-item>\n </ui-list>\n </ui-dropdown-list>\n `\n }\n\n protected renderCreateFlowDialog(): TemplateResult {\n return html`\n <ui-dialog\n modal\n id=\"createFlowDialog\"\n class=\"add-dialog\"\n @close=\"${this.handleFlowCreateDialogResult}\"\n dismissLabel=\"Cancel\"\n confirmLabel=\"Add\"\n >\n <span slot=\"title\">New Flow</span>\n\n <ui-filled-text-field\n class=\"input\"\n label=\"Flow name\"\n name=\"name\"\n required\n invalidText=\"Flow name is required\"\n ></ui-filled-text-field>\n </ui-dialog>\n `\n }\n\n protected renderEditor(): TemplateResult {\n const { currentFlow, model = [], trigger } = this\n const content: TemplateResult[] = []\n if (!currentFlow && !model.filter((i) => i.trigger === trigger).length) {\n content.push(this.renderEmptyFlowMessage())\n } else if (!currentFlow) {\n content.push(this.renderSelectFlowMessage())\n } else {\n const { condition, actions } = currentFlow\n if (!condition && (!actions || !actions.length)) {\n content.push(this.renderEmptyActionsMessage())\n } else {\n if (condition) {\n content.push(this.renderCondition(condition))\n }\n if (actions && actions.length) {\n content.push(this.renderList(currentFlow.actions))\n }\n }\n }\n return html`\n <section\n aria-label=\"Flows editor\"\n class=\"editor surface1\"\n @dragover=\"${this.handleEditorDragOver}\"\n @dragleave=\"${this.handleEditorDragLeave}\"\n @drop=\"${this.handleEditorDrop}\"\n >\n ${content}\n </section>\n `\n }\n\n protected renderEmptyFlowMessage(): TemplateResult {\n return html`\n <div class=\"empty-message\">Create a flow to get started.</div>\n <div class=\"empty-message\">\n <ui-outlined-button @click=\"${this.handleAdd}\" class=\"empty-button\">Create</ui-outlined-button>\n </div>\n `\n }\n\n protected renderSelectFlowMessage(): TemplateResult {\n return html` <div class=\"empty-message\">Select a flow to get started.</div> `\n }\n\n protected renderEmptyActionsMessage(): TemplateResult {\n return html` <div class=\"empty-message\">Drop a condition or an action here</div> `\n }\n\n protected renderCondition(condition: IHttpAction): TemplateResult {\n return html`\n <div class=\"step-row condition\">\n <div class=\"action-tab\">\n <span class=\"body-small\">Condition</span>\n ${this.renderConditionTabActions()}\n </div>\n <div class=\"param-row condition-row\">${this.renderSteps(condition, -1)}</div>\n </div>\n `\n }\n\n protected renderList(model: IHttpAction[]): TemplateResult {\n return html` ${model.map((item, index) => this.renderAction(item, index))} `\n }\n\n protected renderAction(item: IHttpAction, index: number): TemplateResult {\n const { description } = item\n const label = description || `Action ${index + 1}`\n return html`\n <div class=\"step-row action\">\n <div class=\"action-tab\">\n <span class=\"body-small\">${label}</span>\n ${this.renderStepTabActions(index)}\n </div>\n <div class=\"param-row action-row\">${this.renderSteps(item, index)}</div>\n </div>\n `\n }\n\n protected renderBuildingBlocks(): TemplateResult {\n const { currentFlow } = this\n return html`\n <section aria-label=\"Flow building block\" class=\"options\">\n ${this.renderFlowBlocksOptions(currentFlow)} ${this.renderDataSourceOptions(currentFlow)}\n ${this.renderTransformationOptions(currentFlow)} ${this.renderActions(currentFlow)}\n ${this.renderAssertionOptions(currentFlow)}\n </section>\n `\n }\n\n protected renderFlowBlocksOptions(currentFlow?: IHttpFlow): TemplateResult {\n const allDisabled = !currentFlow\n const conditionDisabled = allDisabled || (!!currentFlow && !!currentFlow.condition)\n return html`\n <details class=\"action-group\" open>\n <summary>Flow Blocks</summary>\n <div class=\"group-content\">\n ${this.renderBlockChip('Condition', 'flow-block', 'Core#Condition', {\n disabled: conditionDisabled,\n title: 'Adds a condition that is checked before the flow is executed. Only one condition per flow.',\n })}\n ${this.renderBlockChip('Action', 'flow-block', 'Core#Action', {\n disabled: allDisabled,\n title: 'Adds an action to this flow.',\n })}\n </div>\n </details>\n `\n }\n\n protected renderDataSourceOptions(currentFlow?: IHttpFlow): TemplateResult {\n let allDisabled = !currentFlow\n if (currentFlow) {\n const { condition, actions = [] } = currentFlow\n if (!condition && !actions.length) {\n allDisabled = true\n }\n }\n const { trigger = 'response' } = this\n if (trigger === 'request') {\n return this.renderRequestDataSourceSuggestions(allDisabled)\n }\n return this.renderResponseDataSourceSuggestions(allDisabled)\n }\n\n protected renderTransformationOptions(currentFlow?: IHttpFlow): TemplateResult {\n let allDisabled = !currentFlow\n if (currentFlow) {\n const { condition, actions = [] } = currentFlow\n if (!condition && !actions.length) {\n allDisabled = true\n }\n }\n return this.renderTransformationSuggestions(allDisabled)\n }\n\n protected renderActions(currentFlow?: IHttpFlow): TemplateResult {\n let allDisabled = !currentFlow\n if (currentFlow) {\n const { condition, actions = [] } = currentFlow\n if (!condition && !actions.length) {\n allDisabled = true\n }\n }\n return this.renderActionSuggestions(allDisabled)\n }\n\n protected renderAssertionOptions(currentFlow?: IHttpFlow): TemplateResult {\n let allDisabled = !currentFlow\n if (currentFlow) {\n const { condition, actions = [] } = currentFlow\n if (!condition && !actions.length) {\n allDisabled = true\n }\n }\n return this.renderAssertionSuggestions(allDisabled)\n }\n\n protected renderConditionTabActions(): TemplateResult {\n return html`\n <ui-dropdown-list @select=\"${this.handleConditionOption}\" closeOnOutsideClick>\n <ui-icon-button class=\"condition-options-trigger\">\n <ui-icon icon=\"moreVert\"></ui-icon>\n </ui-icon-button>\n <ui-list slot=\"dropdown\" role=\"menu\">\n <ui-list-item data-option=\"delete\" role=\"menuitem\">Remove</ui-list-item>\n </ui-list>\n </ui-dropdown-list>\n `\n }\n\n protected renderStepTabActions(actionIndex: number): TemplateResult {\n return html`\n <ui-dropdown-list @select=\"${this.handleActionOption}\" closeOnOutsideClick data-action-index=\"${actionIndex}\">\n <ui-icon-button class=\"action-options-trigger\">\n <ui-icon icon=\"moreVert\"></ui-icon>\n </ui-icon-button>\n <ui-list slot=\"dropdown\" role=\"menu\">\n <ui-list-item data-option=\"rename\" role=\"menuitem\">Rename</ui-list-item>\n <ui-divider></ui-divider>\n <ui-list-item data-option=\"delete\" role=\"menuitem\">Remove</ui-list-item>\n </ui-list>\n </ui-dropdown-list>\n `\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"HttpFlows.element.js","sourceRoot":"","sources":["../../../../src/elements/http/HttpFlows.element.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IHttpAction, IHttpFlow } from '@api-client/core/models/http-flows/HttpFlows.js'\nimport { type IHttpStep } from '@api-client/core/models/http-flows/HttpStep.js'\nimport { html, nothing, PropertyValues, TemplateResult } from 'lit'\nimport { property, query } from 'lit/decorators.js'\nimport type { UiDropdownListSelection } from '../../md/dropdown-list/internals/UiDropdownList.js'\nimport { SnackNotifications } from '../../md/notification/SnackNotifications.js'\nimport type Input from '../../md/input/Input.js'\nimport type UiDialog from '../../md/dialog/internals/Dialog.js'\nimport type { UiDialogClosingReason } from '../../md/dialog/internals/Dialog.js'\nimport { HttpFlowsUi, StepsTarget } from './HttpFlowsUi.js'\nimport '../../md/list/ui-list.js'\nimport '../../md/list/ui-list-item.js'\nimport '../../md/dropdown-list/ui-dropdown-list.js'\nimport '../../md/button/ui-button.js'\nimport '../../md/divider/ui-divider.js'\nimport '../../md/dialog/ui-dialog.js'\nimport '../dialog/rename-dialog.js'\n\ntype FlowTrigger = 'request' | 'response'\n\nexport default class HttpFlows extends HttpFlowsUi {\n /**\n * The list of HTTP flows.\n * This is a live list. All changes are propagated in the model.\n */\n @property({ type: Array }) accessor model: IHttpFlow[] = []\n\n /**\n * The setting that renders flows for the given trigger (request or response).\n */\n @property({ type: String }) accessor trigger: FlowTrigger = 'response'\n\n /**\n * The index of the currently selected flow. This is the index on the `model` property.\n * @attribute\n */\n @property({ type: Number }) accessor selectedFlow: number | undefined\n\n @query('#createFlowDialog') accessor flowAddDialog: UiDialog | null = null\n\n /**\n * The currently selected flow definition.\n *\n * If there's no selection it returns the first flow.\n */\n get currentFlow(): IHttpFlow | undefined {\n const { model = [], selectedFlow, trigger = 'response' } = this\n if (selectedFlow === undefined) {\n return undefined\n }\n const item = model[selectedFlow]\n if (!item || item.trigger !== trigger) {\n return undefined\n }\n return item\n }\n\n override connectedCallback(): void {\n super.connectedCallback()\n this.preSelectFlow()\n }\n\n protected override willUpdate(cp: PropertyValues<this>): void {\n if (cp.has('trigger')) {\n this.selectedFlow = undefined\n this.preSelectFlow()\n }\n super.willUpdate(cp)\n }\n\n preSelectFlow(): void {\n const { model = [], trigger = 'response', selectedFlow } = this\n if (Number.isInteger(selectedFlow)) {\n return\n }\n const index = model.findIndex((i) => i.trigger === trigger)\n if (index >= 0) {\n this.selectedFlow = index\n }\n }\n\n addFlow(description?: string): void {\n const flow: IHttpFlow = {\n trigger: this.trigger,\n actions: [],\n }\n if (description) {\n flow.description = description\n }\n const len = this.model.push(flow)\n this.selectedFlow = len - 1\n this.notifyChange()\n this.requestUpdate()\n }\n\n removeFlow(index: number): void {\n const { model } = this\n if (index >= model.length || index < 0) {\n throw RangeError(`Invalid index: ${index}. Expected an index in range from 0 to ${model.length - 1}`)\n }\n const removed = model[index]\n model.splice(index, 1)\n this.requestUpdate()\n this.notifyChange()\n if (!model[index]) {\n this.selectedFlow = 0\n }\n SnackNotifications.notify(`Flow was deleted.`, {\n actionLabel: 'Redo',\n\n actionCallback: () => {\n model.splice(index, 0, removed)\n this.selectedFlow = index\n this.requestUpdate()\n this.notifyChange()\n },\n\n cancellable: true,\n })\n }\n\n removeFlowAction(actionIndex: number): void {\n const { currentFlow } = this\n if (!currentFlow) {\n return\n }\n currentFlow.actions.splice(actionIndex, 1)\n this.notifyChange()\n this.requestUpdate()\n }\n\n renameFlowAction(actionIndex: number): void {\n const { currentFlow } = this\n if (!currentFlow) {\n return\n }\n const action = currentFlow.actions[actionIndex]\n if (!action) {\n return\n }\n const dialog = document.createElement('rename-dialog')\n dialog.name = action.description\n dialog.modal = true\n document.body.appendChild(dialog)\n dialog.open = true\n dialog.addEventListener('close', (ev: Event) => {\n document.parentElement?.removeChild(dialog)\n const event = ev as CustomEvent<UiDialogClosingReason>\n const { cancelled, value } = event.detail\n if (!cancelled && value) {\n action.description = value as string\n this.notifyChange()\n this.requestUpdate()\n }\n })\n }\n\n protected handleAdd(): void {\n const { flowAddDialog } = this\n if (!flowAddDialog) {\n return\n }\n flowAddDialog.open = true\n }\n\n protected handleTriggerSelect(e: CustomEvent<UiDropdownListSelection>): void {\n const target = e.detail.item as HTMLElement | undefined\n if (!target) {\n return\n }\n const { trigger } = target.dataset\n if (!trigger) {\n return\n }\n this.trigger = trigger as FlowTrigger\n }\n\n protected handleFlowSelect(e: CustomEvent<UiDropdownListSelection>): void {\n const target = e.detail.item as HTMLElement | undefined\n if (!target) {\n return\n }\n const { trigger = 'response', model = [] } = this\n const option = target.dataset.option as string | undefined\n if (option === 'create') {\n this.handleAdd()\n } else if (option === 'delete') {\n const { currentFlow } = this\n if (!currentFlow) {\n return\n }\n const index = model.indexOf(currentFlow)\n if (index >= 0) {\n this.removeFlow(index)\n }\n } else if (option === 'select') {\n const index = Number(target.dataset.index)\n if (Number.isNaN(index)) {\n return\n }\n let current = -1\n for (let i = 0, len = model.length; i < len; i++) {\n const item = model[i]\n if (item.trigger !== trigger) {\n continue\n }\n current += 1\n if (current === index) {\n this.selectedFlow = i\n break\n }\n }\n }\n }\n\n protected handleFlowCreateDialogResult(e: CustomEvent<UiDialogClosingReason>): void {\n if (e.detail.cancelled) {\n return\n }\n const dialog = e.target as UiDialog\n const input = dialog.querySelector('ui-filled-text-field')\n if (!input) {\n return\n }\n const { value } = input\n input.value = ''\n this.addFlow(value)\n }\n\n /**\n * On the editor element we only allow \"flow blocks\" items (conditions and actions).\n * Only one condition can be added so once a condition is set we do not allow to add another condition.\n */\n protected handleEditorDragOver(e: DragEvent): void {\n const { dataTransfer } = e\n if (e.defaultPrevented || !dataTransfer || !this.isValidDropTarget(dataTransfer)) {\n return\n }\n e.preventDefault()\n dataTransfer.dropEffect = 'copy'\n const target = e.currentTarget as HTMLElement\n target.classList.add('dragover')\n }\n\n protected handleEditorDragLeave(e: DragEvent): void {\n if (e.defaultPrevented || !this.isValidDropTarget(e.dataTransfer)) {\n return\n }\n const target = e.currentTarget as HTMLElement\n target.classList.remove('dragover')\n }\n\n protected handleEditorDrop(e: DragEvent): void {\n const { dataTransfer } = e\n if (!dataTransfer || e.defaultPrevented || !this.isValidDropTarget(dataTransfer)) {\n return\n }\n e.preventDefault()\n this.resetDragIndices()\n const group = dataTransfer.getData('flow/group')\n if (group !== 'flow-block') {\n SnackNotifications.notify('Only blocks from the \"Flow blocks\" group can be dropped here.', 2000)\n return\n }\n const kind = dataTransfer.getData('flow/kind')\n if (kind === 'Core#Condition') {\n this.setCondition()\n } else if (kind === 'Core#Action') {\n this.addAction()\n }\n }\n\n /**\n * Adds a condition to the current flow.\n * Note, when the condition already exists this does nothing.\n */\n setCondition(): void {\n const { currentFlow } = this\n if (!currentFlow) {\n SnackNotifications.notify('Select a flow first.', 2000)\n return\n }\n if (currentFlow.condition) {\n SnackNotifications.notify('This flow already have a condition.', 2000)\n return\n }\n currentFlow.condition = {\n steps: [],\n }\n this.requestUpdate()\n this.notifyChange()\n }\n\n addAction(): void {\n const { currentFlow } = this\n if (!currentFlow) {\n SnackNotifications.notify('Select a flow first.', 2000)\n return\n }\n if (!Array.isArray(currentFlow.actions)) {\n currentFlow.actions = []\n }\n currentFlow.actions.push({\n steps: [],\n })\n this.requestUpdate()\n this.notifyChange()\n }\n\n protected stepFromChangeEvent(e: Event): IHttpStep | undefined {\n const input = e.target as Input\n input.checkValidity()\n const { actionIndex: aci, assertionIndex: asi } = input.dataset\n const actionIndex = Number(aci || asi)\n const action = this.getStepsTarget(actionIndex)\n if (!action) {\n return undefined\n }\n const stepIndex = Number(input.dataset.stepIndex)\n if (Number.isNaN(stepIndex)) {\n return undefined\n }\n return action.steps[stepIndex]\n }\n\n protected getStepsTarget(assertionOrActionIndex: number): StepsTarget | undefined {\n if (Number.isNaN(assertionOrActionIndex)) {\n return undefined\n }\n const { currentFlow } = this\n if (!currentFlow) {\n return undefined\n }\n if (assertionOrActionIndex === -1) {\n return currentFlow.condition\n }\n return currentFlow.actions[assertionOrActionIndex]\n }\n\n protected handleConditionOption(e: CustomEvent<UiDropdownListSelection>): void {\n const { currentFlow } = this\n if (!currentFlow) {\n return\n }\n const { item } = e.detail\n const { option } = item.dataset\n if (option === 'delete') {\n delete currentFlow.condition\n this.notifyChange()\n this.requestUpdate()\n }\n }\n\n protected handleActionOption(e: CustomEvent<UiDropdownListSelection>): void {\n const list = e.target as HTMLElement\n const actionIndex = Number(list.dataset.actionIndex)\n if (Number.isNaN(actionIndex)) {\n return\n }\n const { item } = e.detail\n const { option } = item.dataset\n switch (option) {\n case 'delete':\n this.removeFlowAction(actionIndex)\n break\n case 'rename':\n this.renameFlowAction(actionIndex)\n break\n default:\n }\n }\n\n protected isConditionTarget(e: Event): boolean {\n const path = e.composedPath()\n return path.some((i) => {\n const element = i as Element\n return !!element.classList && element.classList.contains('condition-row')\n })\n }\n\n /**\n * We override this method tpo handle conditions which can only accept certain\n * blocks and have index of `-1`\n */\n protected override handleTargetDragOver(e: DragEvent): void {\n if (e.defaultPrevented) {\n return\n }\n const dt = e.dataTransfer as DataTransfer\n if (!this.isConditionTarget(e)) {\n if (dt.types.includes('flow/assertion')) {\n // we do not allow assertions in actions.\n e.preventDefault()\n return\n }\n super.handleTargetDragOver(e)\n return\n }\n if (dt.types.includes('flow/action')) {\n e.preventDefault()\n dt.dropEffect = 'none'\n return\n }\n super.handleTargetDragOver(e)\n }\n\n /**\n * Overrides the method to support conditions.\n */\n protected override handleDrop(e: DragEvent): void {\n if (e.defaultPrevented) {\n return\n }\n const dt = e.dataTransfer as DataTransfer\n if (!this.isConditionTarget(e)) {\n if (dt.types.includes('flow/assertion')) {\n // we do not allow assertions in actions.\n e.preventDefault()\n SnackNotifications.notify(`Assertions cannot be a part of a flow action.`, 3000)\n return\n }\n super.handleDrop(e)\n return\n }\n if (dt.types.includes('flow/action')) {\n e.preventDefault()\n SnackNotifications.notify(`Flow actions cannot be a part of a condition.`, 3000)\n return\n }\n super.handleDrop(e)\n }\n\n protected override render(): TemplateResult {\n return html`\n ${this.renderActionButtons()}\n <div class=\"container\">\n ${this.renderEditor()}\n <ui-divider vertical></ui-divider>\n ${this.renderBuildingBlocks()}\n </div>\n ${this.renderCreateFlowDialog()}\n `\n }\n\n protected renderActionButtons(): TemplateResult {\n return html` <div class=\"editor-actions\">${this.renderTriggerSelector()} ${this.renderFlowSelector()}</div> `\n }\n\n protected renderTriggerSelector(): TemplateResult {\n const { trigger = 'response' } = this\n const label = trigger === 'request' ? 'Pre-request' : 'Post-request'\n return html`\n <ui-dropdown-list @select=\"${this.handleTriggerSelect}\" horizontalAlign=\"right\" closeOnOutsideClick>\n <ui-button color=\"outlined\" class=\"new-button\">\n <ui-icon icon=\"arrowDropDown\" slot=\"icon\"></ui-icon>\n ${label}\n </ui-button>\n <ui-list slot=\"dropdown\" role=\"menu\">\n <ui-list-item data-trigger=\"request\" role=\"menuitem\" title=\"Select pre-request flows\"\n >Pre-request</ui-list-item\n >\n <ui-list-item data-trigger=\"response\" role=\"menuitem\" title=\"Select post-request flows\"\n >Post-request</ui-list-item\n >\n </ui-list>\n </ui-dropdown-list>\n `\n }\n\n protected renderFlowSelector(): TemplateResult {\n const { trigger = 'response', currentFlow, model } = this\n const label = currentFlow ? currentFlow.description || 'Unnamed flow' : 'Select a flow'\n const items = model.filter((i) => i.trigger === trigger)\n const hasItems = !!items.length\n return html`\n <ui-dropdown-list @select=\"${this.handleFlowSelect}\" horizontalAlign=\"right\" closeOnOutsideClick>\n <ui-button color=\"outlined\" class=\"new-button\">\n <ui-icon icon=\"arrowDropDown\" slot=\"icon\"></ui-icon>\n ${label}\n </ui-button>\n <ui-list slot=\"dropdown\" role=\"menu\">\n ${hasItems\n ? html`\n ${items.map(\n (item, index) =>\n html`<ui-list-item\n data-option=\"select\"\n data-index=\"${index}\"\n role=\"menuitem\"\n title=\"Select this flow\"\n >${item.description || `Flow # ${index}`}</ui-list-item\n >`\n )}\n <ui-divider></ui-divider>\n `\n : nothing}\n ${currentFlow\n ? html` <ui-list-item image=\"icon\" data-option=\"delete\" role=\"menuitem\" title=\"Deletes the current flow\">\n <ui-icon icon=\"deleteOutline\" slot=\"start\"></ui-icon>\n Delete\n </ui-list-item>`\n : nothing}\n <ui-list-item image=\"icon\" data-option=\"create\" role=\"menuitem\" title=\"Adds a new flow\">\n <ui-icon icon=\"add\" slot=\"start\"></ui-icon>\n Create\n </ui-list-item>\n </ui-list>\n </ui-dropdown-list>\n `\n }\n\n protected renderCreateFlowDialog(): TemplateResult {\n return html`\n <ui-dialog\n modal\n id=\"createFlowDialog\"\n class=\"add-dialog\"\n @close=\"${this.handleFlowCreateDialogResult}\"\n dismissLabel=\"Cancel\"\n confirmLabel=\"Add\"\n >\n <span slot=\"title\">New Flow</span>\n\n <ui-filled-text-field\n class=\"input\"\n label=\"Flow name\"\n name=\"name\"\n required\n invalidText=\"Flow name is required\"\n ></ui-filled-text-field>\n </ui-dialog>\n `\n }\n\n protected renderEditor(): TemplateResult {\n const { currentFlow, model = [], trigger } = this\n const content: TemplateResult[] = []\n if (!currentFlow && !model.filter((i) => i.trigger === trigger).length) {\n content.push(this.renderEmptyFlowMessage())\n } else if (!currentFlow) {\n content.push(this.renderSelectFlowMessage())\n } else {\n const { condition, actions } = currentFlow\n if (!condition && (!actions || !actions.length)) {\n content.push(this.renderEmptyActionsMessage())\n } else {\n if (condition) {\n content.push(this.renderCondition(condition))\n }\n if (actions && actions.length) {\n content.push(this.renderList(currentFlow.actions))\n }\n }\n }\n return html`\n <section\n aria-label=\"Flows editor\"\n class=\"editor surface1\"\n @dragover=\"${this.handleEditorDragOver}\"\n @dragleave=\"${this.handleEditorDragLeave}\"\n @drop=\"${this.handleEditorDrop}\"\n >\n ${content}\n </section>\n `\n }\n\n protected renderEmptyFlowMessage(): TemplateResult {\n return html`\n <div class=\"empty-message\">Create a flow to get started.</div>\n <div class=\"empty-message\">\n <ui-button color=\"outlined\" @click=\"${this.handleAdd}\" class=\"empty-button\">Create</ui-button>\n </div>\n `\n }\n\n protected renderSelectFlowMessage(): TemplateResult {\n return html` <div class=\"empty-message\">Select a flow to get started.</div> `\n }\n\n protected renderEmptyActionsMessage(): TemplateResult {\n return html` <div class=\"empty-message\">Drop a condition or an action here</div> `\n }\n\n protected renderCondition(condition: IHttpAction): TemplateResult {\n return html`\n <div class=\"step-row condition\">\n <div class=\"action-tab\">\n <span class=\"body-small\">Condition</span>\n ${this.renderConditionTabActions()}\n </div>\n <div class=\"param-row condition-row\">${this.renderSteps(condition, -1)}</div>\n </div>\n `\n }\n\n protected renderList(model: IHttpAction[]): TemplateResult {\n return html` ${model.map((item, index) => this.renderAction(item, index))} `\n }\n\n protected renderAction(item: IHttpAction, index: number): TemplateResult {\n const { description } = item\n const label = description || `Action ${index + 1}`\n return html`\n <div class=\"step-row action\">\n <div class=\"action-tab\">\n <span class=\"body-small\">${label}</span>\n ${this.renderStepTabActions(index)}\n </div>\n <div class=\"param-row action-row\">${this.renderSteps(item, index)}</div>\n </div>\n `\n }\n\n protected renderBuildingBlocks(): TemplateResult {\n const { currentFlow } = this\n return html`\n <section aria-label=\"Flow building block\" class=\"options\">\n ${this.renderFlowBlocksOptions(currentFlow)} ${this.renderDataSourceOptions(currentFlow)}\n ${this.renderTransformationOptions(currentFlow)} ${this.renderActions(currentFlow)}\n ${this.renderAssertionOptions(currentFlow)}\n </section>\n `\n }\n\n protected renderFlowBlocksOptions(currentFlow?: IHttpFlow): TemplateResult {\n const allDisabled = !currentFlow\n const conditionDisabled = allDisabled || (!!currentFlow && !!currentFlow.condition)\n return html`\n <details class=\"action-group\" open>\n <summary>Flow Blocks</summary>\n <div class=\"group-content\">\n ${this.renderBlockChip('Condition', 'flow-block', 'Core#Condition', {\n disabled: conditionDisabled,\n title: 'Adds a condition that is checked before the flow is executed. Only one condition per flow.',\n })}\n ${this.renderBlockChip('Action', 'flow-block', 'Core#Action', {\n disabled: allDisabled,\n title: 'Adds an action to this flow.',\n })}\n </div>\n </details>\n `\n }\n\n protected renderDataSourceOptions(currentFlow?: IHttpFlow): TemplateResult {\n let allDisabled = !currentFlow\n if (currentFlow) {\n const { condition, actions = [] } = currentFlow\n if (!condition && !actions.length) {\n allDisabled = true\n }\n }\n const { trigger = 'response' } = this\n if (trigger === 'request') {\n return this.renderRequestDataSourceSuggestions(allDisabled)\n }\n return this.renderResponseDataSourceSuggestions(allDisabled)\n }\n\n protected renderTransformationOptions(currentFlow?: IHttpFlow): TemplateResult {\n let allDisabled = !currentFlow\n if (currentFlow) {\n const { condition, actions = [] } = currentFlow\n if (!condition && !actions.length) {\n allDisabled = true\n }\n }\n return this.renderTransformationSuggestions(allDisabled)\n }\n\n protected renderActions(currentFlow?: IHttpFlow): TemplateResult {\n let allDisabled = !currentFlow\n if (currentFlow) {\n const { condition, actions = [] } = currentFlow\n if (!condition && !actions.length) {\n allDisabled = true\n }\n }\n return this.renderActionSuggestions(allDisabled)\n }\n\n protected renderAssertionOptions(currentFlow?: IHttpFlow): TemplateResult {\n let allDisabled = !currentFlow\n if (currentFlow) {\n const { condition, actions = [] } = currentFlow\n if (!condition && !actions.length) {\n allDisabled = true\n }\n }\n return this.renderAssertionSuggestions(allDisabled)\n }\n\n protected renderConditionTabActions(): TemplateResult {\n return html`\n <ui-dropdown-list @select=\"${this.handleConditionOption}\" closeOnOutsideClick>\n <ui-icon-button class=\"condition-options-trigger\">\n <ui-icon icon=\"moreVert\"></ui-icon>\n </ui-icon-button>\n <ui-list slot=\"dropdown\" role=\"menu\">\n <ui-list-item data-option=\"delete\" role=\"menuitem\">Remove</ui-list-item>\n </ui-list>\n </ui-dropdown-list>\n `\n }\n\n protected renderStepTabActions(actionIndex: number): TemplateResult {\n return html`\n <ui-dropdown-list @select=\"${this.handleActionOption}\" closeOnOutsideClick data-action-index=\"${actionIndex}\">\n <ui-icon-button class=\"action-options-trigger\">\n <ui-icon icon=\"moreVert\"></ui-icon>\n </ui-icon-button>\n <ui-list slot=\"dropdown\" role=\"menu\">\n <ui-list-item data-option=\"rename\" role=\"menuitem\">Rename</ui-list-item>\n <ui-divider></ui-divider>\n <ui-list-item data-option=\"delete\" role=\"menuitem\">Remove</ui-list-item>\n </ui-list>\n </ui-dropdown-list>\n `\n }\n}\n"]}
|
|
@@ -22,9 +22,7 @@ import '../../define/http/http-request-config.js';
|
|
|
22
22
|
import '../../md/dropdown-list/ui-dropdown-list.js';
|
|
23
23
|
import '../../md/list/ui-list.js';
|
|
24
24
|
import '../../md/list/ui-list-item.js';
|
|
25
|
-
import '../../md/button/ui-
|
|
26
|
-
import '../../md/button/ui-filled-button.js';
|
|
27
|
-
import '../../md/button/ui-filled-tonal-button.js';
|
|
25
|
+
import '../../md/button/ui-button.js';
|
|
28
26
|
import '../../md/tabs/ui-tabs.js';
|
|
29
27
|
import '../../md/tabs/ui-tab.js';
|
|
30
28
|
import '../../md/divider/ui-divider.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RequestEditor.d.ts","sourceRoot":"","sources":["../../../../src/elements/http/RequestEditor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,KAAK,CAAA;AAGnE,OAAO,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,wCAAwC,CAAA;AACvF,OAAO,EAAE,KAAK,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAA;AAClH,OAAO,EAAE,KAAK,cAAc,EAAiB,MAAM,0CAA0C,CAAA;AAC7F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qDAAqD,CAAA;AACzF,OAAO,EAAE,KAAK,mBAAmB,EAAqB,MAAM,wDAAwD,CAAA;AACpH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iDAAiD,CAAA;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAA;AAC9E,OAAO,KAAK,EAAE,iBAAiB,EAAwB,MAAM,0CAA0C,CAAA;AACvG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AAKpE,OAAO,UAAU,MAAM,kBAAkB,CAAA;AAUzC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAA;AAChF,OAAO,2BAA2B,CAAA;AAClC,OAAO,qCAAqC,CAAA;AAC5C,OAAO,2CAA2C,CAAA;AAClD,OAAO,wCAAwC,CAAA;AAC/C,OAAO,oCAAoC,CAAA;AAC3C,OAAO,uCAAuC,CAAA;AAC9C,OAAO,sCAAsC,CAAA;AAC7C,OAAO,iCAAiC,CAAA;AACxC,OAAO,0CAA0C,CAAA;AACjD,OAAO,4CAA4C,CAAA;AACnD,OAAO,0BAA0B,CAAA;AACjC,OAAO,+BAA+B,CAAA;AACtC,OAAO,
|
|
1
|
+
{"version":3,"file":"RequestEditor.d.ts","sourceRoot":"","sources":["../../../../src/elements/http/RequestEditor.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,9 +24,7 @@ import '../../define/http/http-request-config.js';
|
|
|
24
24
|
import '../../md/dropdown-list/ui-dropdown-list.js';
|
|
25
25
|
import '../../md/list/ui-list.js';
|
|
26
26
|
import '../../md/list/ui-list-item.js';
|
|
27
|
-
import '../../md/button/ui-
|
|
28
|
-
import '../../md/button/ui-filled-button.js';
|
|
29
|
-
import '../../md/button/ui-filled-tonal-button.js';
|
|
27
|
+
import '../../md/button/ui-button.js';
|
|
30
28
|
import '../../md/tabs/ui-tabs.js';
|
|
31
29
|
import '../../md/tabs/ui-tab.js';
|
|
32
30
|
import '../../md/divider/ui-divider.js';
|
|
@@ -805,10 +803,10 @@ let RequestEditor = (() => {
|
|
|
805
803
|
class="verb-dropdown"
|
|
806
804
|
closeOnOutsideClick
|
|
807
805
|
>
|
|
808
|
-
<ui-
|
|
806
|
+
<ui-button color="text" class="button">
|
|
809
807
|
${method}
|
|
810
808
|
<ui-icon icon="arrowDropDown"></ui-icon>
|
|
811
|
-
</ui-
|
|
809
|
+
</ui-button>
|
|
812
810
|
<ui-list slot="dropdown" role="menu"> ${this.renderHttpVerbOptions()} </ui-list>
|
|
813
811
|
</ui-dropdown-list>
|
|
814
812
|
`;
|
|
@@ -847,11 +845,11 @@ let RequestEditor = (() => {
|
|
|
847
845
|
renderSendButton() {
|
|
848
846
|
if (this.loading) {
|
|
849
847
|
return html `
|
|
850
|
-
<ui-
|
|
848
|
+
<ui-button color="filled" title="Abort the request" class="send-button" @click="${this.abort}">Abort</ui-button>
|
|
851
849
|
`;
|
|
852
850
|
}
|
|
853
851
|
return html `
|
|
854
|
-
<ui-
|
|
852
|
+
<ui-button color="filled" title="Send the request" class="send-button" @click="${this.send}">Send</ui-button>
|
|
855
853
|
`;
|
|
856
854
|
}
|
|
857
855
|
/**
|
|
@@ -973,14 +971,15 @@ let RequestEditor = (() => {
|
|
|
973
971
|
const toRender = all.filter((type) => !current.some((i) => i.type === type));
|
|
974
972
|
return html `
|
|
975
973
|
<ui-dropdown-list verticalAlign="top" @select="${this.handleAuthAdd}" class="auth-dropdown" closeOnOutsideClick>
|
|
976
|
-
<ui-
|
|
974
|
+
<ui-button
|
|
975
|
+
color="tonal"
|
|
977
976
|
title="Add authorization option"
|
|
978
977
|
aria-label="Opens a menu to select authorization option"
|
|
979
978
|
?disabled="${!toRender.length}"
|
|
980
979
|
>
|
|
981
980
|
<ui-icon icon="arrowDropDown" slot="icon" role="presentation"></ui-icon>
|
|
982
981
|
Add
|
|
983
|
-
</ui-
|
|
982
|
+
</ui-button>
|
|
984
983
|
<ui-list slot="dropdown" role="menu"> ${this.renderAuthorizationOptions(toRender)} </ui-list>
|
|
985
984
|
</ui-dropdown-list>
|
|
986
985
|
`;
|
|
@@ -1201,8 +1200,8 @@ let RequestEditor = (() => {
|
|
|
1201
1200
|
<p><b>Do you want to continue?</b></p>
|
|
1202
1201
|
</div>
|
|
1203
1202
|
|
|
1204
|
-
<ui-
|
|
1205
|
-
<ui-
|
|
1203
|
+
<ui-button color="text" value="dismiss" slot="button">Cancel request</ui-button>
|
|
1204
|
+
<ui-button color="text" value="confirm" slot="button">Continue</ui-button>
|
|
1206
1205
|
</ui-dialog>`;
|
|
1207
1206
|
}
|
|
1208
1207
|
};
|