@api-client/ui 0.2.3 → 0.2.4
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 +3 -3
- package/build/src/elements/authorization/ui/ApiKeyAuthorization.d.ts +1 -1
- package/build/src/elements/authorization/ui/ApiKeyAuthorization.d.ts.map +1 -1
- package/build/src/elements/authorization/ui/ApiKeyAuthorization.js +7 -7
- package/build/src/elements/authorization/ui/ApiKeyAuthorization.js.map +1 -1
- package/build/src/elements/authorization/ui/Authorization.styles.js +4 -4
- package/build/src/elements/authorization/ui/Authorization.styles.js.map +1 -1
- package/build/src/elements/authorization/ui/BasicAuthorization.d.ts +1 -1
- package/build/src/elements/authorization/ui/BasicAuthorization.d.ts.map +1 -1
- package/build/src/elements/authorization/ui/BasicAuthorization.js +5 -5
- package/build/src/elements/authorization/ui/BasicAuthorization.js.map +1 -1
- package/build/src/elements/authorization/ui/BearerAuthorization.d.ts +1 -1
- package/build/src/elements/authorization/ui/BearerAuthorization.d.ts.map +1 -1
- package/build/src/elements/authorization/ui/BearerAuthorization.js +3 -3
- package/build/src/elements/authorization/ui/BearerAuthorization.js.map +1 -1
- package/build/src/elements/authorization/ui/NtlmAuthorization.d.ts +1 -1
- package/build/src/elements/authorization/ui/NtlmAuthorization.d.ts.map +1 -1
- package/build/src/elements/authorization/ui/NtlmAuthorization.js +7 -7
- package/build/src/elements/authorization/ui/NtlmAuthorization.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 +32 -27
- package/build/src/elements/authorization/ui/OAuth2Authorization.js.map +1 -1
- package/build/src/elements/authorization/ui/OidcAuthorization.js +4 -4
- package/build/src/elements/authorization/ui/OidcAuthorization.js.map +1 -1
- package/build/src/elements/autocomplete/autocomplete-input.d.ts +10 -0
- package/build/src/elements/autocomplete/autocomplete-input.d.ts.map +1 -0
- package/build/src/{md/text-field/ui-text-field.js → elements/autocomplete/autocomplete-input.js} +9 -9
- package/build/src/elements/autocomplete/autocomplete-input.js.map +1 -0
- package/build/src/elements/autocomplete/internals/autocomplete.d.ts +209 -0
- package/build/src/elements/autocomplete/internals/autocomplete.d.ts.map +1 -0
- package/build/src/elements/autocomplete/internals/autocomplete.js +493 -0
- package/build/src/elements/autocomplete/internals/autocomplete.js.map +1 -0
- package/build/src/elements/autocomplete/internals/autocomplete.styles.d.ts +3 -0
- package/build/src/elements/autocomplete/internals/autocomplete.styles.d.ts.map +1 -0
- package/build/src/elements/autocomplete/internals/autocomplete.styles.js +25 -0
- package/build/src/elements/autocomplete/internals/autocomplete.styles.js.map +1 -0
- package/build/src/elements/dialog/internals/DeleteCookieAction.element.d.ts +1 -1
- package/build/src/elements/dialog/internals/DeleteCookieAction.element.d.ts.map +1 -1
- package/build/src/elements/dialog/internals/DeleteCookieAction.element.js +5 -5
- package/build/src/elements/dialog/internals/DeleteCookieAction.element.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 +3 -3
- package/build/src/elements/dialog/internals/Rename.js.map +1 -1
- package/build/src/elements/dialog/internals/SetCookieAction.element.d.ts +1 -1
- package/build/src/elements/dialog/internals/SetCookieAction.element.d.ts.map +1 -1
- package/build/src/elements/dialog/internals/SetCookieAction.element.js +9 -9
- package/build/src/elements/dialog/internals/SetCookieAction.element.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 +3 -3
- package/build/src/elements/environment/EnvironmentEditor.js.map +1 -1
- package/build/src/elements/environment/EnvironmentEditor.styles.js +1 -1
- package/build/src/elements/environment/EnvironmentEditor.styles.js.map +1 -1
- package/build/src/elements/environment/ServerEditor.d.ts +1 -1
- package/build/src/elements/environment/ServerEditor.d.ts.map +1 -1
- package/build/src/elements/environment/ServerEditor.js +7 -7
- package/build/src/elements/environment/ServerEditor.js.map +1 -1
- package/build/src/elements/environment/ServerEditor.styles.js +1 -1
- package/build/src/elements/environment/ServerEditor.styles.js.map +1 -1
- package/build/src/elements/http/BodyMultipartEditor.d.ts.map +1 -1
- package/build/src/elements/http/BodyMultipartEditor.js +4 -0
- package/build/src/elements/http/BodyMultipartEditor.js.map +1 -1
- package/build/src/elements/http/CertificateAdd.element.d.ts +1 -1
- package/build/src/elements/http/CertificateAdd.element.d.ts.map +1 -1
- package/build/src/elements/http/CertificateAdd.element.js +8 -8
- package/build/src/elements/http/CertificateAdd.element.js.map +1 -1
- package/build/src/elements/http/CertificateAdd.styles.js +1 -1
- package/build/src/elements/http/CertificateAdd.styles.js.map +1 -1
- package/build/src/elements/http/HttpAssertions.element.js +3 -3
- package/build/src/elements/http/HttpAssertions.element.js.map +1 -1
- package/build/src/elements/http/HttpFlows.element.js +3 -3
- package/build/src/elements/http/HttpFlows.element.js.map +1 -1
- package/build/src/elements/http/HttpFlowsUi.d.ts +1 -1
- package/build/src/elements/http/HttpFlowsUi.d.ts.map +1 -1
- package/build/src/elements/http/HttpFlowsUi.js +31 -31
- package/build/src/elements/http/HttpFlowsUi.js.map +1 -1
- package/build/src/elements/http/RequestConfigElement.d.ts +1 -1
- package/build/src/elements/http/RequestConfigElement.d.ts.map +1 -1
- package/build/src/elements/http/RequestConfigElement.js +7 -7
- package/build/src/elements/http/RequestConfigElement.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 +1 -1
- package/build/src/elements/http/UrlParamsForm.js.map +1 -1
- package/build/src/elements/project/ProjectRunner.d.ts +1 -1
- package/build/src/elements/project/ProjectRunner.d.ts.map +1 -1
- package/build/src/elements/project/ProjectRunner.js +5 -5
- package/build/src/elements/project/ProjectRunner.js.map +1 -1
- package/build/src/md/input/Input.d.ts +0 -15
- package/build/src/md/input/Input.d.ts.map +1 -1
- package/build/src/md/input/Input.js +7 -42
- package/build/src/md/input/Input.js.map +1 -1
- package/build/src/md/list/internals/List.d.ts +7 -2
- package/build/src/md/list/internals/List.d.ts.map +1 -1
- package/build/src/md/list/internals/List.js +6 -0
- package/build/src/md/list/internals/List.js.map +1 -1
- package/build/src/md/list/internals/ListItem.styles.d.ts.map +1 -1
- package/build/src/md/list/internals/ListItem.styles.js +8 -0
- package/build/src/md/list/internals/ListItem.styles.js.map +1 -1
- package/build/src/md/listbox/internals/Listbox.d.ts +2 -2
- package/build/src/md/listbox/internals/Listbox.d.ts.map +1 -1
- package/build/src/md/listbox/internals/Listbox.js.map +1 -1
- package/build/src/md/text-area/internals/TextAreaElement.d.ts.map +1 -1
- package/build/src/md/text-area/internals/TextAreaElement.js +0 -5
- package/build/src/md/text-area/internals/TextAreaElement.js.map +1 -1
- package/build/src/md/text-area/ui-text-area.d.ts.map +1 -1
- package/build/src/md/text-area/ui-text-area.js +3 -2
- package/build/src/md/text-area/ui-text-area.js.map +1 -1
- package/build/src/md/text-field/internals/{TextFieldElement.d.ts → TextField.d.ts} +2 -2
- package/build/src/md/text-field/internals/TextField.d.ts.map +1 -0
- package/build/src/md/text-field/internals/{TextFieldElement.js → TextField.js} +2 -5
- package/build/src/md/text-field/internals/TextField.js.map +1 -0
- package/build/src/md/text-field/internals/{TextField.styles.d.ts → common.styles.d.ts} +1 -1
- package/build/src/md/text-field/internals/common.styles.d.ts.map +1 -0
- package/build/src/md/text-field/internals/{TextField.styles.js → common.styles.js} +8 -94
- package/build/src/md/text-field/internals/common.styles.js.map +1 -0
- package/build/src/md/text-field/internals/filled.styles.d.ts +3 -0
- package/build/src/md/text-field/internals/filled.styles.d.ts.map +1 -0
- package/build/src/md/text-field/internals/filled.styles.js +107 -0
- package/build/src/md/text-field/internals/filled.styles.js.map +1 -0
- package/build/src/md/text-field/internals/outlined.styles.d.ts +3 -0
- package/build/src/md/text-field/internals/outlined.styles.d.ts.map +1 -0
- package/build/src/md/text-field/internals/outlined.styles.js +43 -0
- package/build/src/md/text-field/internals/outlined.styles.js.map +1 -0
- package/build/src/md/text-field/ui-filled-text-field.d.ts +11 -0
- package/build/src/md/text-field/ui-filled-text-field.d.ts.map +1 -0
- package/build/src/md/text-field/ui-filled-text-field.js +28 -0
- package/build/src/md/text-field/ui-filled-text-field.js.map +1 -0
- package/build/src/md/text-field/ui-outlined-text-field.d.ts +11 -0
- package/build/src/md/text-field/ui-outlined-text-field.d.ts.map +1 -0
- package/build/src/md/text-field/ui-outlined-text-field.js +28 -0
- package/build/src/md/text-field/ui-outlined-text-field.js.map +1 -0
- package/build/src/types/input.d.ts +1 -1
- package/build/src/types/input.d.ts.map +1 -1
- package/build/src/types/input.js.map +1 -1
- package/demo/elements/authorization/oauth-authorize.html +4 -4
- package/demo/elements/authorization/oauth-authorize.ts +1 -1
- package/demo/elements/autocomplete/index.html +24 -0
- package/demo/elements/autocomplete/index.ts +123 -0
- package/demo/elements/http/body-editor.ts +3 -3
- package/demo/elements/index.html +15 -11
- package/demo/md/index.html +1 -1
- package/demo/md/inputs/input.html +10 -15
- package/demo/md/inputs/input.ts +389 -101
- package/demo/page.css +4 -0
- package/package.json +1 -1
- package/src/elements/authorization/ui/ApiKeyAuthorization.ts +7 -7
- package/src/elements/authorization/ui/Authorization.styles.ts +4 -4
- package/src/elements/authorization/ui/BasicAuthorization.ts +5 -5
- package/src/elements/authorization/ui/BearerAuthorization.ts +3 -3
- package/src/elements/authorization/ui/NtlmAuthorization.ts +7 -7
- package/src/elements/authorization/ui/OAuth2Authorization.ts +32 -27
- package/src/elements/authorization/ui/OidcAuthorization.ts +4 -4
- package/src/elements/autocomplete/autocomplete-input.ts +14 -0
- package/src/elements/autocomplete/internals/autocomplete.styles.ts +25 -0
- package/src/elements/autocomplete/internals/autocomplete.ts +490 -0
- package/src/elements/dialog/internals/DeleteCookieAction.element.ts +5 -5
- package/src/elements/dialog/internals/Rename.ts +3 -3
- package/src/elements/dialog/internals/SetCookieAction.element.ts +9 -9
- package/src/elements/environment/EnvironmentEditor.styles.ts +1 -1
- package/src/elements/environment/EnvironmentEditor.ts +3 -3
- package/src/elements/environment/ServerEditor.styles.ts +1 -1
- package/src/elements/environment/ServerEditor.ts +7 -7
- package/src/elements/http/BodyMultipartEditor.ts +4 -0
- package/src/elements/http/CertificateAdd.element.ts +8 -8
- package/src/elements/http/CertificateAdd.styles.ts +1 -1
- package/src/elements/http/HttpAssertions.element.ts +3 -3
- package/src/elements/http/HttpFlows.element.ts +3 -3
- package/src/elements/http/HttpFlowsUi.ts +31 -31
- package/src/elements/http/RequestConfigElement.ts +7 -7
- package/src/elements/http/UrlParamsForm.ts +1 -1
- package/src/elements/project/ProjectRunner.ts +5 -5
- package/src/md/input/Input.ts +6 -21
- package/src/md/list/internals/List.ts +14 -2
- package/src/md/list/internals/ListItem.styles.ts +8 -0
- package/src/md/listbox/internals/Listbox.ts +2 -2
- package/src/md/text-area/internals/TextAreaElement.ts +0 -5
- package/src/md/text-area/ui-text-area.ts +3 -2
- package/src/md/text-field/internals/{TextFieldElement.ts → TextField.ts} +1 -4
- package/src/md/text-field/internals/{TextField.styles.ts → common.styles.ts} +7 -93
- package/src/md/text-field/internals/filled.styles.ts +107 -0
- package/src/md/text-field/internals/outlined.styles.ts +43 -0
- package/src/md/text-field/ui-filled-text-field.ts +16 -0
- package/src/md/text-field/ui-outlined-text-field.ts +16 -0
- package/src/types/input.ts +0 -1
- package/test/elements/authorization/basic-method.test.ts +3 -3
- package/test/elements/authorization/bearer-method.test.ts +2 -2
- package/test/elements/authorization/ntlm-method.test.ts +4 -4
- package/test/elements/autocomplete/autocomplete-input.spec.ts +448 -0
- package/test/elements/http/BodyMultipartEditorElement.test.ts +15 -16
- package/test/elements/http/CertificateAdd.test.ts +11 -11
- package/test/elements/http/HttpAssertions.test.ts +9 -9
- package/test/elements/http/HttpFlows.test.ts +4 -4
- package/build/src/md/text-field/internals/TextField.styles.d.ts.map +0 -1
- package/build/src/md/text-field/internals/TextField.styles.js.map +0 -1
- package/build/src/md/text-field/internals/TextFieldElement.d.ts.map +0 -1
- package/build/src/md/text-field/internals/TextFieldElement.js.map +0 -1
- package/build/src/md/text-field/ui-text-field.d.ts +0 -11
- package/build/src/md/text-field/ui-text-field.d.ts.map +0 -1
- package/build/src/md/text-field/ui-text-field.js.map +0 -1
- package/src/md/text-field/ui-text-field.ts +0 -15
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpAssertions.element.js","sourceRoot":"","sources":["../../../../src/elements/http/HttpAssertions.element.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, nothing, TemplateResult } from 'lit'\nimport { type IHttpAssertion } from '@api-client/core/models/http-flows/HttpAssertion.js'\nimport { type IHttpStep } from '@api-client/core/models/http-flows/HttpStep.js'\nimport { property } from 'lit/decorators.js'\nimport { HttpFlowsUi, StepsTarget } from './HttpFlowsUi.js'\nimport type SwitchElement from '../../md/switch/internals/SwitchElement.js'\nimport type Input from '../../md/input/Input.js'\nimport UiDialog, { UiDialogClosingReason } from '../../md/dialog/internals/Dialog.js'\nimport '../../md/button/ui-filled-tonal-button.js'\nimport '../../md/switch/ui-switch.js'\nimport '../../md/dialog/ui-dialog.js'\nimport '../../md/divider/ui-divider.js'\n\n/**\n * @fires change When the model change\n */\nexport default class HttpAssertions extends HttpFlowsUi {\n /**\n * The list of assertions.\n * This is a live list. All changes are propagated in the model.\n */\n @property({ type: Array }) accessor model: IHttpAssertion[] = []\n\n /**\n * Adds a new empty assertion to the model.\n * Note, this function won't notify the parent element\n * about the change as empty rules can be discarded.\n */\n addAssertion(): void {\n const { model } = this\n model.push({\n enabled: true,\n steps: [],\n })\n this.requestUpdate()\n }\n\n /**\n * Removes an assertion at specified index.\n * @param index The index of the assertion in the `model` to remove.\n */\n removeAssertion(index: number): void {\n const { model } = this\n if (!model[index]) {\n throw new RangeError(`Invalid index: ${index}`)\n }\n model.splice(index, 1)\n this.requestUpdate()\n this.notifyChange()\n }\n\n /**\n * Toggles the enabled state of the assertion.\n * @param index The index of the assertion on the `model` array\n * @param value The `enabled` value.\n */\n toggleAssertion(index: number, value: boolean): void {\n const { model } = this\n if (!model[index]) {\n throw new RangeError(`Invalid index: ${index}`)\n }\n model[index].enabled = value\n this.requestUpdate()\n this.notifyChange()\n }\n\n protected handleAdd(): void {\n this.addAssertion()\n }\n\n protected handleRemove(e: Event): void {\n const node = e.currentTarget as HTMLElement\n const index = Number(node.dataset.index)\n if (Number.isNaN(index)) {\n return\n }\n this.removeAssertion(index)\n }\n\n protected handleToggle(e: Event): void {\n const node = e.currentTarget as SwitchElement\n const index = Number(node.dataset.index)\n if (Number.isNaN(index)) {\n return\n }\n this.toggleAssertion(index, !!node.checked)\n }\n\n protected getStepsTarget(assertionOrActionIndex: number): StepsTarget | undefined {\n if (Number.isNaN(assertionOrActionIndex)) {\n return undefined\n }\n return this.model[assertionOrActionIndex]\n }\n\n protected stepFromChangeEvent(e: Event): IHttpStep | undefined {\n const input = e.target as Input\n input.checkValidity()\n const assertionIndex = Number(input.dataset.assertionIndex)\n const stepIndex = Number(input.dataset.stepIndex)\n if (Number.isNaN(assertionIndex) || Number.isNaN(stepIndex)) {\n return undefined\n }\n const assertion = this.model[assertionIndex]\n if (!assertion) {\n return undefined\n }\n return assertion.steps[stepIndex]\n }\n\n protected handleRenameAssertion(e: Event): void {\n const target = e.currentTarget as HTMLElement\n const assertionIndex = Number(target.dataset.assertionIndex)\n if (Number.isNaN(assertionIndex)) {\n return\n }\n const assertion = this.model[assertionIndex]\n if (!assertion) {\n return\n }\n const { description } = assertion\n const dialog = this.shadowRoot?.querySelector('.rename-dialog') as UiDialog | null\n if (!dialog) {\n return\n }\n const input = dialog.querySelector('ui-text-field') as Input\n input.value = description || ''\n dialog.open = true\n dialog.dataset.assertionIndex = target.dataset.assertionIndex\n }\n\n protected handleRenameDialogResult(e: CustomEvent<UiDialogClosingReason>): void {\n if (e.detail.cancelled) {\n return\n }\n const dialog = e.currentTarget as UiDialog\n const assertionIndex = Number(dialog.dataset.assertionIndex)\n if (Number.isNaN(assertionIndex)) {\n return\n }\n const assertion = this.model[assertionIndex]\n if (!assertion) {\n return\n }\n const input = dialog.querySelector('ui-text-field') as Input\n assertion.description = input.value\n this.requestUpdate()\n this.notifyChange()\n input.value = ''\n delete dialog.dataset.assertionIndex\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.renderAssertions()}\n </div>\n ${this.renderRenameAssertionDialog()}\n `\n }\n\n protected renderActionButtons(): TemplateResult {\n return html`\n <div class=\"editor-actions\">\n <ui-filled-tonal-button @click=\"${this.handleAdd}\" class=\"add-button\">Add</ui-filled-tonal-button>\n </div>\n `\n }\n\n protected renderAssertions(): TemplateResult {\n return html`\n <section aria-label=\"Assertion options\" class=\"options\">\n ${this.renderResponseDataSourceSuggestions()} ${this.renderTransformationSuggestions()}\n ${this.renderAssertionSuggestions()}\n </section>\n `\n }\n\n protected renderEditor(): TemplateResult {\n const { model } = this\n const content = Array.isArray(model) && !!model.length ? this.renderList(model) : this.renderEmptyMessage()\n return html` <section aria-label=\"Assertions editor\" class=\"editor surface1\">${content}</section> `\n }\n\n protected renderEmptyMessage(): TemplateResult {\n return html` <div class=\"empty-message\">No assertions added</div> `\n }\n\n protected renderList(model: IHttpAssertion[]): TemplateResult {\n return html` ${model.map((item, index) => this.renderAssertion(item, index))} `\n }\n\n protected renderAssertion(item: IHttpAssertion, index: number): TemplateResult {\n return html`\n <div class=\"step-row\">\n ${this.renderAssertionDescription(item)}\n <div class=\"param-row\">\n ${this.renderToggleButton(item, index)} ${this.renderSteps(item, index)}\n <div class=\"action-actions\">${this.renderRenameAssertion(index)} ${this.renderDeleteAssertion(index)}</div>\n </div>\n </div>\n `\n }\n\n protected renderAssertionDescription(item: IHttpAssertion): TemplateResult | typeof nothing {\n const { description } = item\n if (!description) {\n return nothing\n }\n return html` <div class=\"assertion-description label-medium\">${description}</div> `\n }\n\n protected renderToggleButton(item: IHttpAssertion, assertionIndex: number): TemplateResult {\n return html`\n <ui-switch\n .checked=\"${!!item.enabled}\"\n @change=\"${this.handleToggle}\"\n aria-label=\"Toggle this assertion\"\n data-index=\"${assertionIndex}\"\n class=\"toggle-button\"\n ></ui-switch>\n `\n }\n\n protected renderRenameAssertion(assertionIndex: number): TemplateResult {\n return html`\n <ui-icon-button\n aria-label=\"Rename this assertion\"\n title=\"Rename this assertion\"\n data-assertion-index=\"${assertionIndex}\"\n @click=\"${this.handleRenameAssertion}\"\n class=\"rename-button\"\n >\n <ui-icon icon=\"rename\" role=\"presentation\"></ui-icon>\n </ui-icon-button>\n `\n }\n\n protected renderDeleteAssertion(assertionIndex: number): TemplateResult {\n return html`\n <ui-icon-button\n aria-label=\"Delete this assertion\"\n title=\"Delete this assertion\"\n data-index=\"${assertionIndex}\"\n @click=\"${this.handleRemove}\"\n class=\"delete-button\"\n >\n <ui-icon icon=\"deleteOutline\" role=\"presentation\"></ui-icon>\n </ui-icon-button>\n `\n }\n\n protected renderRenameAssertionDialog(): TemplateResult {\n return html`\n <ui-dialog\n modal\n class=\"rename-dialog\"\n @close=\"${this.handleRenameDialogResult}\"\n dismissLabel=\"Cancel\"\n confirmLabel=\"Accept\"\n >\n <ui-icon slot=\"icon\" icon=\"rename\"></ui-icon>\n <span slot=\"title\">Rename assertion</span>\n\n <ui-text-field name=\"rename\" label=\"Assertion description\" required class=\"input\"></ui-text-field>\n </ui-dialog>\n `\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"HttpAssertions.element.js","sourceRoot":"","sources":["../../../../src/elements/http/HttpAssertions.element.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, nothing, TemplateResult } from 'lit'\nimport { type IHttpAssertion } from '@api-client/core/models/http-flows/HttpAssertion.js'\nimport { type IHttpStep } from '@api-client/core/models/http-flows/HttpStep.js'\nimport { property } from 'lit/decorators.js'\nimport { HttpFlowsUi, StepsTarget } from './HttpFlowsUi.js'\nimport type SwitchElement from '../../md/switch/internals/SwitchElement.js'\nimport type Input from '../../md/input/Input.js'\nimport UiDialog, { UiDialogClosingReason } from '../../md/dialog/internals/Dialog.js'\nimport '../../md/button/ui-filled-tonal-button.js'\nimport '../../md/switch/ui-switch.js'\nimport '../../md/dialog/ui-dialog.js'\nimport '../../md/divider/ui-divider.js'\n\n/**\n * @fires change When the model change\n */\nexport default class HttpAssertions extends HttpFlowsUi {\n /**\n * The list of assertions.\n * This is a live list. All changes are propagated in the model.\n */\n @property({ type: Array }) accessor model: IHttpAssertion[] = []\n\n /**\n * Adds a new empty assertion to the model.\n * Note, this function won't notify the parent element\n * about the change as empty rules can be discarded.\n */\n addAssertion(): void {\n const { model } = this\n model.push({\n enabled: true,\n steps: [],\n })\n this.requestUpdate()\n }\n\n /**\n * Removes an assertion at specified index.\n * @param index The index of the assertion in the `model` to remove.\n */\n removeAssertion(index: number): void {\n const { model } = this\n if (!model[index]) {\n throw new RangeError(`Invalid index: ${index}`)\n }\n model.splice(index, 1)\n this.requestUpdate()\n this.notifyChange()\n }\n\n /**\n * Toggles the enabled state of the assertion.\n * @param index The index of the assertion on the `model` array\n * @param value The `enabled` value.\n */\n toggleAssertion(index: number, value: boolean): void {\n const { model } = this\n if (!model[index]) {\n throw new RangeError(`Invalid index: ${index}`)\n }\n model[index].enabled = value\n this.requestUpdate()\n this.notifyChange()\n }\n\n protected handleAdd(): void {\n this.addAssertion()\n }\n\n protected handleRemove(e: Event): void {\n const node = e.currentTarget as HTMLElement\n const index = Number(node.dataset.index)\n if (Number.isNaN(index)) {\n return\n }\n this.removeAssertion(index)\n }\n\n protected handleToggle(e: Event): void {\n const node = e.currentTarget as SwitchElement\n const index = Number(node.dataset.index)\n if (Number.isNaN(index)) {\n return\n }\n this.toggleAssertion(index, !!node.checked)\n }\n\n protected getStepsTarget(assertionOrActionIndex: number): StepsTarget | undefined {\n if (Number.isNaN(assertionOrActionIndex)) {\n return undefined\n }\n return this.model[assertionOrActionIndex]\n }\n\n protected stepFromChangeEvent(e: Event): IHttpStep | undefined {\n const input = e.target as Input\n input.checkValidity()\n const assertionIndex = Number(input.dataset.assertionIndex)\n const stepIndex = Number(input.dataset.stepIndex)\n if (Number.isNaN(assertionIndex) || Number.isNaN(stepIndex)) {\n return undefined\n }\n const assertion = this.model[assertionIndex]\n if (!assertion) {\n return undefined\n }\n return assertion.steps[stepIndex]\n }\n\n protected handleRenameAssertion(e: Event): void {\n const target = e.currentTarget as HTMLElement\n const assertionIndex = Number(target.dataset.assertionIndex)\n if (Number.isNaN(assertionIndex)) {\n return\n }\n const assertion = this.model[assertionIndex]\n if (!assertion) {\n return\n }\n const { description } = assertion\n const dialog = this.shadowRoot?.querySelector('.rename-dialog') as UiDialog | null\n if (!dialog) {\n return\n }\n const input = dialog.querySelector('ui-filled-text-field') as Input\n input.value = description || ''\n dialog.open = true\n dialog.dataset.assertionIndex = target.dataset.assertionIndex\n }\n\n protected handleRenameDialogResult(e: CustomEvent<UiDialogClosingReason>): void {\n if (e.detail.cancelled) {\n return\n }\n const dialog = e.currentTarget as UiDialog\n const assertionIndex = Number(dialog.dataset.assertionIndex)\n if (Number.isNaN(assertionIndex)) {\n return\n }\n const assertion = this.model[assertionIndex]\n if (!assertion) {\n return\n }\n const input = dialog.querySelector('ui-filled-text-field') as Input\n assertion.description = input.value\n this.requestUpdate()\n this.notifyChange()\n input.value = ''\n delete dialog.dataset.assertionIndex\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.renderAssertions()}\n </div>\n ${this.renderRenameAssertionDialog()}\n `\n }\n\n protected renderActionButtons(): TemplateResult {\n return html`\n <div class=\"editor-actions\">\n <ui-filled-tonal-button @click=\"${this.handleAdd}\" class=\"add-button\">Add</ui-filled-tonal-button>\n </div>\n `\n }\n\n protected renderAssertions(): TemplateResult {\n return html`\n <section aria-label=\"Assertion options\" class=\"options\">\n ${this.renderResponseDataSourceSuggestions()} ${this.renderTransformationSuggestions()}\n ${this.renderAssertionSuggestions()}\n </section>\n `\n }\n\n protected renderEditor(): TemplateResult {\n const { model } = this\n const content = Array.isArray(model) && !!model.length ? this.renderList(model) : this.renderEmptyMessage()\n return html` <section aria-label=\"Assertions editor\" class=\"editor surface1\">${content}</section> `\n }\n\n protected renderEmptyMessage(): TemplateResult {\n return html` <div class=\"empty-message\">No assertions added</div> `\n }\n\n protected renderList(model: IHttpAssertion[]): TemplateResult {\n return html` ${model.map((item, index) => this.renderAssertion(item, index))} `\n }\n\n protected renderAssertion(item: IHttpAssertion, index: number): TemplateResult {\n return html`\n <div class=\"step-row\">\n ${this.renderAssertionDescription(item)}\n <div class=\"param-row\">\n ${this.renderToggleButton(item, index)} ${this.renderSteps(item, index)}\n <div class=\"action-actions\">${this.renderRenameAssertion(index)} ${this.renderDeleteAssertion(index)}</div>\n </div>\n </div>\n `\n }\n\n protected renderAssertionDescription(item: IHttpAssertion): TemplateResult | typeof nothing {\n const { description } = item\n if (!description) {\n return nothing\n }\n return html` <div class=\"assertion-description label-medium\">${description}</div> `\n }\n\n protected renderToggleButton(item: IHttpAssertion, assertionIndex: number): TemplateResult {\n return html`\n <ui-switch\n .checked=\"${!!item.enabled}\"\n @change=\"${this.handleToggle}\"\n aria-label=\"Toggle this assertion\"\n data-index=\"${assertionIndex}\"\n class=\"toggle-button\"\n ></ui-switch>\n `\n }\n\n protected renderRenameAssertion(assertionIndex: number): TemplateResult {\n return html`\n <ui-icon-button\n aria-label=\"Rename this assertion\"\n title=\"Rename this assertion\"\n data-assertion-index=\"${assertionIndex}\"\n @click=\"${this.handleRenameAssertion}\"\n class=\"rename-button\"\n >\n <ui-icon icon=\"rename\" role=\"presentation\"></ui-icon>\n </ui-icon-button>\n `\n }\n\n protected renderDeleteAssertion(assertionIndex: number): TemplateResult {\n return html`\n <ui-icon-button\n aria-label=\"Delete this assertion\"\n title=\"Delete this assertion\"\n data-index=\"${assertionIndex}\"\n @click=\"${this.handleRemove}\"\n class=\"delete-button\"\n >\n <ui-icon icon=\"deleteOutline\" role=\"presentation\"></ui-icon>\n </ui-icon-button>\n `\n }\n\n protected renderRenameAssertionDialog(): TemplateResult {\n return html`\n <ui-dialog\n modal\n class=\"rename-dialog\"\n @close=\"${this.handleRenameDialogResult}\"\n dismissLabel=\"Cancel\"\n confirmLabel=\"Accept\"\n >\n <ui-icon slot=\"icon\" icon=\"rename\"></ui-icon>\n <span slot=\"title\">Rename assertion</span>\n\n <ui-filled-text-field name=\"rename\" label=\"Assertion description\" required class=\"input\"></ui-filled-text-field>\n </ui-dialog>\n `\n }\n}\n"]}
|
|
@@ -244,7 +244,7 @@ let HttpFlows = (() => {
|
|
|
244
244
|
return;
|
|
245
245
|
}
|
|
246
246
|
const dialog = e.target;
|
|
247
|
-
const input = dialog.querySelector('ui-text-field');
|
|
247
|
+
const input = dialog.querySelector('ui-filled-text-field');
|
|
248
248
|
if (!input) {
|
|
249
249
|
return;
|
|
250
250
|
}
|
|
@@ -528,13 +528,13 @@ let HttpFlows = (() => {
|
|
|
528
528
|
>
|
|
529
529
|
<span slot="title">New Flow</span>
|
|
530
530
|
|
|
531
|
-
<ui-text-field
|
|
531
|
+
<ui-filled-text-field
|
|
532
532
|
class="input"
|
|
533
533
|
label="Flow name"
|
|
534
534
|
name="name"
|
|
535
535
|
required
|
|
536
536
|
invalidText="Flow name is required"
|
|
537
|
-
></ui-text-field>
|
|
537
|
+
></ui-filled-text-field>
|
|
538
538
|
</ui-dialog>
|
|
539
539
|
`;
|
|
540
540
|
}
|
|
@@ -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-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-text-field\n class=\"input\"\n label=\"Flow name\"\n name=\"name\"\n required\n invalidText=\"Flow name is required\"\n ></ui-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-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"]}
|
|
@@ -11,7 +11,7 @@ import '../../md/list/ui-list-item.js';
|
|
|
11
11
|
import '../../md/dropdown-list/ui-dropdown-list.js';
|
|
12
12
|
import '../../md/icons/ui-icon.js';
|
|
13
13
|
import '../../md/icon-button/ui-icon-button.js';
|
|
14
|
-
import '../../md/text-field/ui-text-field.js';
|
|
14
|
+
import '../../md/text-field/ui-filled-text-field.js';
|
|
15
15
|
import '../../md/chip/ui-chip.js';
|
|
16
16
|
import '../../md/dialog/ui-dialog.js';
|
|
17
17
|
import '../dialog/delete-cookie-action-dialog.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpFlowsUi.d.ts","sourceRoot":"","sources":["../../../../src/elements/http/HttpFlowsUi.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACf,MAAM,iDAAiD,CAAA;AACxD,OAAO,KAAK,SAAS,MAAM,wDAAwD,CAAA;AACnF,OAAO,KAAK,cAAc,MAAM,6DAA6D,CAAA;AAC7F,OAAO,KAAK,mBAAmB,MAAM,kEAAkE,CAAA;AAGvG,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,gDAAgD,CAAA;AAE/E,OAAO,EAAiB,cAAc,EAAE,MAAM,KAAK,CAAA;AAEnD,OAAO,UAAU,MAAM,kBAAkB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,iCAAiC,CAAA;AAGzD,OAAO,0BAA0B,CAAA;AACjC,OAAO,+BAA+B,CAAA;AACtC,OAAO,4CAA4C,CAAA;AACnD,OAAO,2BAA2B,CAAA;AAClC,OAAO,wCAAwC,CAAA;AAC/C,OAAO,
|
|
1
|
+
{"version":3,"file":"HttpFlowsUi.d.ts","sourceRoot":"","sources":["../../../../src/elements/http/HttpFlowsUi.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ import '../../md/list/ui-list-item.js';
|
|
|
12
12
|
import '../../md/dropdown-list/ui-dropdown-list.js';
|
|
13
13
|
import '../../md/icons/ui-icon.js';
|
|
14
14
|
import '../../md/icon-button/ui-icon-button.js';
|
|
15
|
-
import '../../md/text-field/ui-text-field.js';
|
|
15
|
+
import '../../md/text-field/ui-filled-text-field.js';
|
|
16
16
|
import '../../md/chip/ui-chip.js';
|
|
17
17
|
import '../../md/dialog/ui-dialog.js';
|
|
18
18
|
import '../dialog/delete-cookie-action-dialog.js';
|
|
@@ -780,7 +780,7 @@ export class HttpFlowsUi extends ApiElement {
|
|
|
780
780
|
const pill = this.renderStepPill('Read value', assertionOrActionIndex, stepIndex);
|
|
781
781
|
return html `
|
|
782
782
|
${pill}
|
|
783
|
-
<ui-text-field
|
|
783
|
+
<ui-filled-text-field
|
|
784
784
|
name="value.${assertionOrActionIndex}.${stepIndex}"
|
|
785
785
|
data-assertion-index="${assertionOrActionIndex}"
|
|
786
786
|
data-step-index="${stepIndex}"
|
|
@@ -789,7 +789,7 @@ export class HttpFlowsUi extends ApiElement {
|
|
|
789
789
|
.value="${live(item.path || '')}"
|
|
790
790
|
class="space-step-left"
|
|
791
791
|
@change="${this.handleReadValueStepChange}"
|
|
792
|
-
></ui-text-field>
|
|
792
|
+
></ui-filled-text-field>
|
|
793
793
|
`;
|
|
794
794
|
}
|
|
795
795
|
renderDeleteCookieStep(item, assertionOrActionIndex, stepIndex) {
|
|
@@ -839,7 +839,7 @@ export class HttpFlowsUi extends ApiElement {
|
|
|
839
839
|
const pill = this.renderStepPill('Set variable', assertionOrActionIndex, stepIndex);
|
|
840
840
|
return html `
|
|
841
841
|
${pill}
|
|
842
|
-
<ui-text-field
|
|
842
|
+
<ui-filled-text-field
|
|
843
843
|
name="variable.${assertionOrActionIndex}.${stepIndex}"
|
|
844
844
|
data-assertion-index="${assertionOrActionIndex}"
|
|
845
845
|
data-step-index="${stepIndex}"
|
|
@@ -850,7 +850,7 @@ export class HttpFlowsUi extends ApiElement {
|
|
|
850
850
|
class="space-step-left"
|
|
851
851
|
pattern="[a-zA-Z0-9_]+"
|
|
852
852
|
aria-label="Variable name"
|
|
853
|
-
></ui-text-field>
|
|
853
|
+
></ui-filled-text-field>
|
|
854
854
|
`;
|
|
855
855
|
}
|
|
856
856
|
renderDeleteVariableStep(item, assertionOrActionIndex, stepIndex) {
|
|
@@ -858,7 +858,7 @@ export class HttpFlowsUi extends ApiElement {
|
|
|
858
858
|
const pill = this.renderStepPill('Delete variable', assertionOrActionIndex, stepIndex);
|
|
859
859
|
return html `
|
|
860
860
|
${pill}
|
|
861
|
-
<ui-text-field
|
|
861
|
+
<ui-filled-text-field
|
|
862
862
|
name="variable.${assertionOrActionIndex}.${stepIndex}"
|
|
863
863
|
data-assertion-index="${assertionOrActionIndex}"
|
|
864
864
|
data-step-index="${stepIndex}"
|
|
@@ -869,7 +869,7 @@ export class HttpFlowsUi extends ApiElement {
|
|
|
869
869
|
class="space-step-left"
|
|
870
870
|
pattern="[a-zA-Z0-9_]+"
|
|
871
871
|
aria-label="Variable name"
|
|
872
|
-
></ui-text-field>
|
|
872
|
+
></ui-filled-text-field>
|
|
873
873
|
`;
|
|
874
874
|
}
|
|
875
875
|
renderRoundStep(item, assertionOrActionIndex, stepIndex) {
|
|
@@ -877,7 +877,7 @@ export class HttpFlowsUi extends ApiElement {
|
|
|
877
877
|
const { precision = 0 } = item;
|
|
878
878
|
return html `
|
|
879
879
|
${pill}
|
|
880
|
-
<ui-text-field
|
|
880
|
+
<ui-filled-text-field
|
|
881
881
|
name="precision.${assertionOrActionIndex}.${stepIndex}"
|
|
882
882
|
data-assertion-index="${assertionOrActionIndex}"
|
|
883
883
|
data-step-index="${stepIndex}"
|
|
@@ -891,7 +891,7 @@ export class HttpFlowsUi extends ApiElement {
|
|
|
891
891
|
max="100"
|
|
892
892
|
step="1"
|
|
893
893
|
title="The number of digits to appear after the decimal point. Should be a value between 0 and 100, inclusive."
|
|
894
|
-
></ui-text-field>
|
|
894
|
+
></ui-filled-text-field>
|
|
895
895
|
`;
|
|
896
896
|
}
|
|
897
897
|
renderSubstringStep(item, assertionOrActionIndex, stepIndex) {
|
|
@@ -899,7 +899,7 @@ export class HttpFlowsUi extends ApiElement {
|
|
|
899
899
|
const { start = 0, end } = item;
|
|
900
900
|
return html `
|
|
901
901
|
${pill}
|
|
902
|
-
<ui-text-field
|
|
902
|
+
<ui-filled-text-field
|
|
903
903
|
name="start.${assertionOrActionIndex}.${stepIndex}"
|
|
904
904
|
data-assertion-index="${assertionOrActionIndex}"
|
|
905
905
|
data-step-index="${stepIndex}"
|
|
@@ -911,9 +911,9 @@ export class HttpFlowsUi extends ApiElement {
|
|
|
911
911
|
type="number"
|
|
912
912
|
step="1"
|
|
913
913
|
title="The index of the first character to include in the returned substring."
|
|
914
|
-
></ui-text-field>
|
|
914
|
+
></ui-filled-text-field>
|
|
915
915
|
|
|
916
|
-
<ui-text-field
|
|
916
|
+
<ui-filled-text-field
|
|
917
917
|
name="end.${assertionOrActionIndex}.${stepIndex}"
|
|
918
918
|
data-assertion-index="${assertionOrActionIndex}"
|
|
919
919
|
data-step-index="${stepIndex}"
|
|
@@ -924,12 +924,12 @@ export class HttpFlowsUi extends ApiElement {
|
|
|
924
924
|
type="number"
|
|
925
925
|
step="1"
|
|
926
926
|
title="The index of the first character to exclude from the returned substring."
|
|
927
|
-
></ui-text-field>
|
|
927
|
+
></ui-filled-text-field>
|
|
928
928
|
`;
|
|
929
929
|
}
|
|
930
930
|
renderEqualAssertion(item, assertionOrActionIndex, stepIndex) {
|
|
931
931
|
return html `
|
|
932
|
-
<ui-text-field
|
|
932
|
+
<ui-filled-text-field
|
|
933
933
|
name="equal.${assertionOrActionIndex}.${stepIndex}"
|
|
934
934
|
data-assertion-index="${assertionOrActionIndex}"
|
|
935
935
|
data-step-index="${stepIndex}"
|
|
@@ -948,12 +948,12 @@ export class HttpFlowsUi extends ApiElement {
|
|
|
948
948
|
data-step-index="${stepIndex}"
|
|
949
949
|
><ui-icon icon="close" role="presentation"></ui-icon
|
|
950
950
|
></ui-icon-button>
|
|
951
|
-
</ui-text-field>
|
|
951
|
+
</ui-filled-text-field>
|
|
952
952
|
`;
|
|
953
953
|
}
|
|
954
954
|
renderNotEqualAssertion(item, assertionOrActionIndex, stepIndex) {
|
|
955
955
|
return html `
|
|
956
|
-
<ui-text-field
|
|
956
|
+
<ui-filled-text-field
|
|
957
957
|
name="not-equal.${assertionOrActionIndex}.${stepIndex}"
|
|
958
958
|
data-assertion-index="${assertionOrActionIndex}"
|
|
959
959
|
data-step-index="${stepIndex}"
|
|
@@ -972,7 +972,7 @@ export class HttpFlowsUi extends ApiElement {
|
|
|
972
972
|
data-step-index="${stepIndex}"
|
|
973
973
|
><ui-icon icon="close" role="presentation"></ui-icon
|
|
974
974
|
></ui-icon-button>
|
|
975
|
-
</ui-text-field>
|
|
975
|
+
</ui-filled-text-field>
|
|
976
976
|
`;
|
|
977
977
|
}
|
|
978
978
|
renderGreaterThanAssertion(item, assertionOrActionIndex, stepIndex) {
|
|
@@ -980,7 +980,7 @@ export class HttpFlowsUi extends ApiElement {
|
|
|
980
980
|
const label = equal ? 'Greater than equal' : 'Greater than';
|
|
981
981
|
const effectiveValue = typeof value === 'number' ? String(value) : '';
|
|
982
982
|
return html `
|
|
983
|
-
<ui-text-field
|
|
983
|
+
<ui-filled-text-field
|
|
984
984
|
name="value.${assertionOrActionIndex}.${stepIndex}"
|
|
985
985
|
data-assertion-index="${assertionOrActionIndex}"
|
|
986
986
|
data-step-index="${stepIndex}"
|
|
@@ -1001,7 +1001,7 @@ export class HttpFlowsUi extends ApiElement {
|
|
|
1001
1001
|
data-step-index="${stepIndex}"
|
|
1002
1002
|
><ui-icon icon="close" role="presentation"></ui-icon
|
|
1003
1003
|
></ui-icon-button>
|
|
1004
|
-
</ui-text-field>
|
|
1004
|
+
</ui-filled-text-field>
|
|
1005
1005
|
`;
|
|
1006
1006
|
}
|
|
1007
1007
|
renderLessThanAssertion(item, assertionOrActionIndex, stepIndex) {
|
|
@@ -1009,7 +1009,7 @@ export class HttpFlowsUi extends ApiElement {
|
|
|
1009
1009
|
const label = equal ? 'Less than equal' : 'Less than';
|
|
1010
1010
|
const effectiveValue = typeof value === 'number' ? String(value) : '';
|
|
1011
1011
|
return html `
|
|
1012
|
-
<ui-text-field
|
|
1012
|
+
<ui-filled-text-field
|
|
1013
1013
|
name="value.${assertionOrActionIndex}.${stepIndex}"
|
|
1014
1014
|
data-assertion-index="${assertionOrActionIndex}"
|
|
1015
1015
|
data-step-index="${stepIndex}"
|
|
@@ -1030,13 +1030,13 @@ export class HttpFlowsUi extends ApiElement {
|
|
|
1030
1030
|
data-step-index="${stepIndex}"
|
|
1031
1031
|
><ui-icon icon="close" role="presentation"></ui-icon
|
|
1032
1032
|
></ui-icon-button>
|
|
1033
|
-
</ui-text-field>
|
|
1033
|
+
</ui-filled-text-field>
|
|
1034
1034
|
`;
|
|
1035
1035
|
}
|
|
1036
1036
|
renderIncludesAssertion(item, assertionOrActionIndex, stepIndex) {
|
|
1037
1037
|
const { value } = item;
|
|
1038
1038
|
return html `
|
|
1039
|
-
<ui-text-field
|
|
1039
|
+
<ui-filled-text-field
|
|
1040
1040
|
name="includes.${assertionOrActionIndex}.${stepIndex}"
|
|
1041
1041
|
data-assertion-index="${assertionOrActionIndex}"
|
|
1042
1042
|
data-step-index="${stepIndex}"
|
|
@@ -1055,13 +1055,13 @@ export class HttpFlowsUi extends ApiElement {
|
|
|
1055
1055
|
data-step-index="${stepIndex}"
|
|
1056
1056
|
><ui-icon icon="close" role="presentation"></ui-icon
|
|
1057
1057
|
></ui-icon-button>
|
|
1058
|
-
</ui-text-field>
|
|
1058
|
+
</ui-filled-text-field>
|
|
1059
1059
|
`;
|
|
1060
1060
|
}
|
|
1061
1061
|
renderNotIncludesAssertion(item, assertionOrActionIndex, stepIndex) {
|
|
1062
1062
|
const { value } = item;
|
|
1063
1063
|
return html `
|
|
1064
|
-
<ui-text-field
|
|
1064
|
+
<ui-filled-text-field
|
|
1065
1065
|
name="not-includes.${assertionOrActionIndex}.${stepIndex}"
|
|
1066
1066
|
data-assertion-index="${assertionOrActionIndex}"
|
|
1067
1067
|
data-step-index="${stepIndex}"
|
|
@@ -1080,13 +1080,13 @@ export class HttpFlowsUi extends ApiElement {
|
|
|
1080
1080
|
data-step-index="${stepIndex}"
|
|
1081
1081
|
><ui-icon icon="close" role="presentation"></ui-icon
|
|
1082
1082
|
></ui-icon-button>
|
|
1083
|
-
</ui-text-field>
|
|
1083
|
+
</ui-filled-text-field>
|
|
1084
1084
|
`;
|
|
1085
1085
|
}
|
|
1086
1086
|
renderMatchesAssertion(item, assertionOrActionIndex, stepIndex) {
|
|
1087
1087
|
const { value } = item;
|
|
1088
1088
|
return html `
|
|
1089
|
-
<ui-text-field
|
|
1089
|
+
<ui-filled-text-field
|
|
1090
1090
|
name="matches.${assertionOrActionIndex}.${stepIndex}"
|
|
1091
1091
|
data-assertion-index="${assertionOrActionIndex}"
|
|
1092
1092
|
data-step-index="${stepIndex}"
|
|
@@ -1107,14 +1107,14 @@ export class HttpFlowsUi extends ApiElement {
|
|
|
1107
1107
|
data-step-index="${stepIndex}"
|
|
1108
1108
|
><ui-icon icon="close" role="presentation"></ui-icon
|
|
1109
1109
|
></ui-icon-button>
|
|
1110
|
-
</ui-text-field>
|
|
1110
|
+
</ui-filled-text-field>
|
|
1111
1111
|
`;
|
|
1112
1112
|
}
|
|
1113
1113
|
renderToBeAssertion(item, assertionOrActionIndex, stepIndex) {
|
|
1114
1114
|
const { value } = item;
|
|
1115
1115
|
const types = Object.values(CoreAssertions.ToBeTypes);
|
|
1116
1116
|
return html `
|
|
1117
|
-
<ui-text-field
|
|
1117
|
+
<ui-filled-text-field
|
|
1118
1118
|
name="to-be.${assertionOrActionIndex}.${stepIndex}"
|
|
1119
1119
|
data-assertion-index="${assertionOrActionIndex}"
|
|
1120
1120
|
data-step-index="${stepIndex}"
|
|
@@ -1134,14 +1134,14 @@ export class HttpFlowsUi extends ApiElement {
|
|
|
1134
1134
|
data-step-index="${stepIndex}"
|
|
1135
1135
|
><ui-icon icon="close" role="presentation"></ui-icon
|
|
1136
1136
|
></ui-icon-button>
|
|
1137
|
-
</ui-text-field>
|
|
1137
|
+
</ui-filled-text-field>
|
|
1138
1138
|
`;
|
|
1139
1139
|
}
|
|
1140
1140
|
renderNotToBeAssertion(item, assertionOrActionIndex, stepIndex) {
|
|
1141
1141
|
const { value } = item;
|
|
1142
1142
|
const types = Object.values(CoreAssertions.ToBeTypes);
|
|
1143
1143
|
return html `
|
|
1144
|
-
<ui-text-field
|
|
1144
|
+
<ui-filled-text-field
|
|
1145
1145
|
name="not-to-be.${assertionOrActionIndex}.${stepIndex}"
|
|
1146
1146
|
data-assertion-index="${assertionOrActionIndex}"
|
|
1147
1147
|
data-step-index="${stepIndex}"
|
|
@@ -1161,7 +1161,7 @@ export class HttpFlowsUi extends ApiElement {
|
|
|
1161
1161
|
data-step-index="${stepIndex}"
|
|
1162
1162
|
><ui-icon icon="close" role="presentation"></ui-icon
|
|
1163
1163
|
></ui-icon-button>
|
|
1164
|
-
</ui-text-field>
|
|
1164
|
+
</ui-filled-text-field>
|
|
1165
1165
|
`;
|
|
1166
1166
|
}
|
|
1167
1167
|
renderResponseDataSourceSuggestions(disabled = false) {
|