@api-client/ui 0.0.12 → 0.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/demo/elements/authorization/cc.ts +56 -27
- package/dist/bindings/base/FileBindings.d.ts +4 -0
- package/dist/bindings/base/FileBindings.d.ts.map +1 -1
- package/dist/bindings/base/FileBindings.js +21 -1
- package/dist/bindings/base/FileBindings.js.map +1 -1
- package/dist/bindings/base/StoreBindings.d.ts +1 -17
- package/dist/bindings/base/StoreBindings.d.ts.map +1 -1
- package/dist/bindings/base/StoreBindings.js +0 -59
- package/dist/bindings/base/StoreBindings.js.map +1 -1
- package/dist/bindings/web/WebFileBindings.js +1 -1
- package/dist/bindings/web/WebFileBindings.js.map +1 -1
- package/dist/define/http/certificate-add.d.ts +9 -0
- package/dist/define/http/certificate-add.d.ts.map +1 -0
- package/dist/define/http/certificate-add.js +10 -0
- package/dist/define/http/certificate-add.js.map +1 -0
- package/dist/define/http/http-body-editor.d.ts.map +1 -1
- package/dist/define/http/http-body-editor.js +1 -1
- package/dist/define/http/http-body-editor.js.map +1 -1
- package/dist/define/ui/ui-segmented-button-set.d.ts +1 -1
- package/dist/define/ui/ui-segmented-button-set.d.ts.map +1 -1
- package/dist/define/ui/ui-segmented-button-set.js.map +1 -1
- package/dist/elements/authorization/ui/CC.styles.d.ts.map +1 -1
- package/dist/elements/authorization/ui/CC.styles.js +4 -9
- package/dist/elements/authorization/ui/CC.styles.js.map +1 -1
- package/dist/elements/authorization/ui/CcAuthorization.d.ts +14 -29
- package/dist/elements/authorization/ui/CcAuthorization.d.ts.map +1 -1
- package/dist/elements/authorization/ui/CcAuthorization.js +67 -158
- package/dist/elements/authorization/ui/CcAuthorization.js.map +1 -1
- package/dist/elements/http/BodyEditor.js +5 -5
- package/dist/elements/http/BodyEditor.js.map +1 -1
- package/dist/elements/http/BodyEditor.styles.d.ts +1 -1
- package/dist/elements/http/BodyEditor.styles.d.ts.map +1 -1
- package/dist/elements/http/BodyEditor.styles.js +5 -19
- package/dist/elements/http/BodyEditor.styles.js.map +1 -1
- package/dist/elements/http/CertificateAdd.element.d.ts +91 -0
- package/dist/elements/http/CertificateAdd.element.d.ts.map +1 -0
- package/dist/elements/http/CertificateAdd.element.js +389 -0
- package/dist/elements/http/CertificateAdd.element.js.map +1 -0
- package/dist/elements/http/CertificateAdd.styles.d.ts +3 -0
- package/dist/elements/http/CertificateAdd.styles.d.ts.map +1 -0
- package/dist/elements/http/CertificateAdd.styles.js +61 -0
- package/dist/elements/http/CertificateAdd.styles.js.map +1 -0
- package/dist/elements/project/ProjectRunReport.d.ts +2 -1
- package/dist/elements/project/ProjectRunReport.d.ts.map +1 -1
- package/dist/elements/project/ProjectRunReport.js.map +1 -1
- package/dist/elements/store/FilePicker.styles.d.ts.map +1 -1
- package/dist/elements/store/FilePicker.styles.js +1 -0
- package/dist/elements/store/FilePicker.styles.js.map +1 -1
- package/dist/elements/store/FilesLib.d.ts +2 -2
- package/dist/elements/store/FilesLib.d.ts.map +1 -1
- package/dist/elements/store/FilesLib.js.map +1 -1
- package/dist/events/EventTypes.d.ts +6 -7
- package/dist/events/EventTypes.d.ts.map +1 -1
- package/dist/events/EventTypes.js +7 -7
- package/dist/events/EventTypes.js.map +1 -1
- package/dist/events/Events.d.ts +6 -1
- package/dist/events/Events.d.ts.map +1 -1
- package/dist/events/Events.js +2 -0
- package/dist/events/Events.js.map +1 -1
- package/dist/events/FilesystemEvents.d.ts +8 -0
- package/dist/events/FilesystemEvents.d.ts.map +1 -0
- package/dist/events/FilesystemEvents.js +59 -0
- package/dist/events/FilesystemEvents.js.map +1 -0
- package/dist/events/HttpClientEvents.d.ts +0 -2
- package/dist/events/HttpClientEvents.d.ts.map +1 -1
- package/dist/events/HttpClientEvents.js +0 -2
- package/dist/events/HttpClientEvents.js.map +1 -1
- package/dist/http-client/idb/Arc18DataUpgrade.d.ts +0 -8
- package/dist/http-client/idb/Arc18DataUpgrade.d.ts.map +1 -1
- package/dist/http-client/idb/Arc18DataUpgrade.js +11 -206
- package/dist/http-client/idb/Arc18DataUpgrade.js.map +1 -1
- package/dist/http-client/store/Cursor.js +2 -2
- package/dist/http-client/store/Cursor.js.map +1 -1
- package/dist/http-client/store/HttpClientIdbDatabase.d.ts.map +1 -1
- package/dist/http-client/store/HttpClientIdbDatabase.js +2 -6
- package/dist/http-client/store/HttpClientIdbDatabase.js.map +1 -1
- package/dist/http-client/store/State.d.ts +1 -3
- package/dist/http-client/store/State.d.ts.map +1 -1
- package/dist/http-client/store/State.js.map +1 -1
- package/dist/http-client/store/StoreBroadcast.d.ts +0 -5
- package/dist/http-client/store/StoreBroadcast.d.ts.map +1 -1
- package/dist/http-client/store/StoreBroadcast.js +0 -7
- package/dist/http-client/store/StoreBroadcast.js.map +1 -1
- package/dist/http-client/store/idb/IdbStore.d.ts +1 -10
- package/dist/http-client/store/idb/IdbStore.d.ts.map +1 -1
- package/dist/http-client/store/idb/IdbStore.js +0 -48
- package/dist/http-client/store/idb/IdbStore.js.map +1 -1
- package/dist/http-client/store/types.d.ts +2 -56
- package/dist/http-client/store/types.d.ts.map +1 -1
- package/dist/http-client/store/types.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/files/FileUtils.d.ts +9 -0
- package/dist/lib/files/FileUtils.d.ts.map +1 -0
- package/dist/lib/files/FileUtils.js +13 -0
- package/dist/lib/files/FileUtils.js.map +1 -0
- package/dist/mixins/RouteMixin.d.ts +4 -0
- package/dist/mixins/RouteMixin.d.ts.map +1 -1
- package/dist/mixins/RouteMixin.js +1 -0
- package/dist/mixins/RouteMixin.js.map +1 -1
- package/dist/pages/api-client/ApiClient.screen.d.ts +8 -4
- package/dist/pages/api-client/ApiClient.screen.d.ts.map +1 -1
- package/dist/pages/api-client/ApiClient.screen.js +25 -4
- package/dist/pages/api-client/ApiClient.screen.js.map +1 -1
- package/dist/pages/api-client/ApiClient.styles.d.ts.map +1 -1
- package/dist/pages/api-client/ApiClient.styles.js +0 -12
- package/dist/pages/api-client/ApiClient.styles.js.map +1 -1
- package/dist/pages/api-client/pages/Files.page.d.ts.map +1 -1
- package/dist/pages/api-client/pages/Files.page.js +13 -0
- package/dist/pages/api-client/pages/Files.page.js.map +1 -1
- package/dist/pages/api-client/pages/Trash.page.d.ts.map +1 -1
- package/dist/pages/api-client/pages/Trash.page.js +3 -11
- package/dist/pages/api-client/pages/Trash.page.js.map +1 -1
- package/dist/ui/button/SegmentedButtonsSet.d.ts +14 -0
- package/dist/ui/button/SegmentedButtonsSet.d.ts.map +1 -1
- package/dist/ui/button/SegmentedButtonsSet.js.map +1 -1
- package/dist/ui/list/UiDropdownList.js +1 -1
- package/dist/ui/list/UiDropdownList.js.map +1 -1
- package/dist/ui/notification/SnackNotifications.d.ts +1 -0
- package/dist/ui/notification/SnackNotifications.d.ts.map +1 -1
- package/dist/ui/notification/SnackNotifications.js +7 -0
- package/dist/ui/notification/SnackNotifications.js.map +1 -1
- package/package.json +2 -2
- package/src/bindings/base/FileBindings.ts +25 -1
- package/src/bindings/base/StoreBindings.ts +1 -73
- package/src/bindings/web/WebFileBindings.ts +1 -1
- package/src/define/http/certificate-add.ts +12 -0
- package/src/define/http/http-body-editor.ts +1 -1
- package/src/define/ui/ui-segmented-button-set.ts +1 -1
- package/src/elements/authorization/ui/CC.styles.ts +4 -9
- package/src/elements/authorization/ui/CcAuthorization.ts +67 -167
- package/src/elements/http/BodyEditor.styles.ts +5 -19
- package/src/elements/http/BodyEditor.ts +5 -5
- package/src/elements/http/CertificateAdd.element.ts +443 -0
- package/src/elements/http/CertificateAdd.styles.ts +61 -0
- package/src/elements/project/ProjectRunReport.ts +2 -1
- package/src/elements/store/FilePicker.styles.ts +1 -0
- package/src/elements/store/FilesLib.ts +2 -2
- package/src/events/EventTypes.ts +7 -7
- package/src/events/Events.ts +2 -0
- package/src/events/FilesystemEvents.ts +63 -0
- package/src/events/HttpClientEvents.ts +0 -2
- package/src/http-client/idb/Arc18DataUpgrade.ts +84 -84
- package/src/http-client/store/Cursor.ts +2 -2
- package/src/http-client/store/HttpClientIdbDatabase.ts +5 -9
- package/src/http-client/store/State.ts +1 -5
- package/src/http-client/store/StoreBroadcast.ts +0 -8
- package/src/http-client/store/idb/IdbStore.ts +1 -51
- package/src/http-client/store/types.ts +2 -57
- package/src/index.ts +3 -0
- package/src/lib/files/FileUtils.ts +12 -0
- package/src/mixins/RouteMixin.ts +8 -1
- package/src/pages/api-client/ApiClient.screen.ts +33 -9
- package/src/pages/api-client/ApiClient.styles.ts +0 -12
- package/src/pages/api-client/pages/Files.page.ts +11 -0
- package/src/pages/api-client/pages/Trash.page.ts +3 -10
- package/src/ui/button/SegmentedButtonsSet.ts +16 -1
- package/src/ui/list/UiDropdownList.ts +1 -1
- package/src/ui/notification/SnackNotifications.ts +8 -0
- package/test/elements/http/BodyFormdataEditorElement.test.ts +458 -454
- package/test/elements/http/BodyMultipartEditorElement.test.ts +609 -605
- package/test/elements/http/BodyRawEditorElement.test.ts +60 -56
- package/test/elements/http/CertificateAdd.test.ts +430 -0
- package/test/events/EventTypes.test.ts +0 -22
- package/test/helpers/UiMock.ts +19 -2
- package/web-test-runner.config.mjs +6 -5
- package/dist/events/http-client/models/CertificatesEvents.d.ts +0 -12
- package/dist/events/http-client/models/CertificatesEvents.d.ts.map +0 -1
- package/dist/events/http-client/models/CertificatesEvents.js +0 -18
- package/dist/events/http-client/models/CertificatesEvents.js.map +0 -1
- package/dist/http-client/idb/AuthDataModel.d.ts +0 -60
- package/dist/http-client/idb/AuthDataModel.d.ts.map +0 -1
- package/dist/http-client/idb/AuthDataModel.js +0 -150
- package/dist/http-client/idb/AuthDataModel.js.map +0 -1
- package/dist/http-client/idb/HostsModel.d.ts +0 -25
- package/dist/http-client/idb/HostsModel.d.ts.map +0 -1
- package/dist/http-client/idb/HostsModel.js +0 -82
- package/dist/http-client/idb/HostsModel.js.map +0 -1
- package/dist/http-client/idb/LegacyMockedStore.d.ts +0 -214
- package/dist/http-client/idb/LegacyMockedStore.d.ts.map +0 -1
- package/dist/http-client/idb/LegacyMockedStore.js +0 -486
- package/dist/http-client/idb/LegacyMockedStore.js.map +0 -1
- package/dist/http-client/store/Validator.d.ts +0 -4
- package/dist/http-client/store/Validator.d.ts.map +0 -1
- package/dist/http-client/store/Validator.js +0 -32
- package/dist/http-client/store/Validator.js.map +0 -1
- package/src/events/http-client/models/CertificatesEvents.ts +0 -23
- package/src/http-client/idb/AuthDataModel.ts +0 -175
- package/src/http-client/idb/HostsModel.ts +0 -125
- package/src/http-client/idb/LegacyMockedStore.ts +0 -544
- package/src/http-client/store/Validator.ts +0 -33
- package/test/apic-ui.test.ts +0 -31
|
@@ -1,19 +1,14 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
2
|
|
|
3
3
|
export default css`
|
|
4
|
-
.cert-meta {
|
|
5
|
-
display: inline-flex;
|
|
6
|
-
align-items: center;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
4
|
:host {
|
|
10
|
-
max-height: 300px;
|
|
11
5
|
display: flex;
|
|
12
6
|
flex-direction: column;
|
|
13
7
|
}
|
|
14
8
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
9
|
+
.certificate-info {
|
|
10
|
+
display: flex;
|
|
11
|
+
align-items: center;
|
|
12
|
+
margin-top: 20px;
|
|
18
13
|
}
|
|
19
14
|
`;
|
|
@@ -1,129 +1,69 @@
|
|
|
1
1
|
import { html, nothing, TemplateResult } from "lit";
|
|
2
|
-
import { state } from "lit/decorators.js";
|
|
3
2
|
import {
|
|
4
|
-
ICCAuthorization, HttpCertificate, Events as CoreEvents,
|
|
5
|
-
ICertificate,
|
|
6
|
-
BroadcastEvent,
|
|
7
|
-
BroadcastCreatedEvent,
|
|
8
|
-
DeletedBroadcastEvent,
|
|
3
|
+
ICCAuthorization, HttpCertificate, Events as CoreEvents, CertificateFileKind, ICertificate, IFile,
|
|
9
4
|
} from '@api-client/core/build/browser.js';
|
|
10
|
-
import
|
|
5
|
+
import { state } from "lit/decorators.js";
|
|
11
6
|
import { Authorization } from "./Authorization.js";
|
|
7
|
+
import type { FilePickerClosingReason } from "../../store/FilePicker.element.js";
|
|
12
8
|
import { Events } from "../../../events/Events.js";
|
|
13
|
-
import
|
|
14
|
-
import { StoreBroadcast } from "../../../http-client/store/StoreBroadcast.js";
|
|
9
|
+
import '../../../define/ui/ui-dropdown-list.js';
|
|
15
10
|
import '../../../define/ui/ui-button.js';
|
|
16
|
-
import '../../../define/ui/ui-
|
|
11
|
+
import '../../../define/ui/ui-icon-button.js';
|
|
12
|
+
import '../../../define/ui/ui-icon.js';
|
|
13
|
+
import '../../../define/store/file-picker.js';
|
|
17
14
|
|
|
18
15
|
export default class CcAuthorization extends Authorization {
|
|
19
|
-
@state()
|
|
20
|
-
|
|
21
|
-
@state() querying = false;
|
|
22
|
-
|
|
23
|
-
@state() loadingError?: string;
|
|
24
|
-
|
|
25
|
-
channel = new BroadcastChannel(StoreBroadcast.certificates);
|
|
26
|
-
|
|
27
|
-
constructor() {
|
|
28
|
-
super();
|
|
29
|
-
|
|
30
|
-
this.handleBroadcast = this.handleBroadcast.bind(this);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
override connectedCallback(): void {
|
|
34
|
-
super.connectedCallback();
|
|
35
|
-
this.channel.addEventListener('message', this.handleBroadcast);
|
|
36
|
-
this.queryCertificates();
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
override disconnectedCallback(): void {
|
|
40
|
-
super.disconnectedCallback();
|
|
41
|
-
this.channel.removeEventListener('message', this.handleBroadcast);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
protected handleBroadcast(e: MessageEvent): void {
|
|
45
|
-
const event = e.data as BroadcastEvent;
|
|
46
|
-
switch (event.operation) {
|
|
47
|
-
case 'created': this.handleCreated(event as BroadcastCreatedEvent); break;
|
|
48
|
-
case 'deleted': this.handleDeleted(event as DeletedBroadcastEvent); break;
|
|
49
|
-
default:
|
|
50
|
-
}
|
|
51
|
-
}
|
|
16
|
+
@state() selectorRendered = false;
|
|
52
17
|
|
|
53
|
-
|
|
54
|
-
const
|
|
55
|
-
if (!
|
|
56
|
-
|
|
18
|
+
get config(): ICCAuthorization {
|
|
19
|
+
const { authorization } = this;
|
|
20
|
+
if (!authorization) {
|
|
21
|
+
return { };
|
|
57
22
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
this.items[index] = cert;
|
|
61
|
-
} else {
|
|
62
|
-
this.items.push(cert);
|
|
23
|
+
if (!authorization.config) {
|
|
24
|
+
authorization.config = {} as ICCAuthorization;
|
|
63
25
|
}
|
|
64
|
-
|
|
26
|
+
return authorization.config as ICCAuthorization;
|
|
65
27
|
}
|
|
66
28
|
|
|
67
|
-
protected
|
|
68
|
-
|
|
29
|
+
protected handleClose(e: CustomEvent<FilePickerClosingReason>): void {
|
|
30
|
+
const { canceled, file } = e.detail;
|
|
31
|
+
if (canceled) {
|
|
69
32
|
return;
|
|
70
33
|
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
}
|
|
34
|
+
this.setCertificate((file as IFile).key);
|
|
35
|
+
CoreEvents.Telemetry.event({
|
|
36
|
+
category: 'Certificates',
|
|
37
|
+
action: 'Authorization',
|
|
38
|
+
label: 'selected-certificate'
|
|
39
|
+
}, this);
|
|
77
40
|
}
|
|
78
41
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
return;
|
|
82
|
-
}
|
|
83
|
-
this.querying = true;
|
|
42
|
+
async setCertificate(key: string): Promise<void> {
|
|
43
|
+
let result: unknown;
|
|
84
44
|
try {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
throw new Error(`Certificates query not handled by the store.`);
|
|
89
|
-
return;
|
|
90
|
-
}
|
|
91
|
-
this.items = data.items;
|
|
92
|
-
} catch (cause) {
|
|
93
|
-
this.loadingError = (cause as Error).message;
|
|
94
|
-
} finally {
|
|
95
|
-
this.querying = false;
|
|
45
|
+
result = await Events.Store.File.read(key, true, this);
|
|
46
|
+
} catch (_) {
|
|
47
|
+
return;
|
|
96
48
|
}
|
|
49
|
+
const { config } = this;
|
|
50
|
+
config.certificate = result as ICertificate;
|
|
51
|
+
this.requestUpdate();
|
|
52
|
+
this.notifyChange();
|
|
97
53
|
}
|
|
98
54
|
|
|
99
|
-
protected
|
|
100
|
-
|
|
101
|
-
if (
|
|
102
|
-
|
|
55
|
+
protected handleDropDownOpen(): void {
|
|
56
|
+
this.selectorRendered = true;
|
|
57
|
+
if (this.isUpdatePending) {
|
|
58
|
+
this.scheduleUpdate();
|
|
103
59
|
}
|
|
60
|
+
}
|
|
104
61
|
|
|
105
|
-
|
|
106
|
-
const {
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
}
|
|
110
|
-
const config = authorization.config as ICCAuthorization || {} as ICCAuthorization;
|
|
111
|
-
if (value === '') {
|
|
112
|
-
delete config.certificate;
|
|
113
|
-
} else {
|
|
114
|
-
const cert = this.items?.find(i => i.key === value);
|
|
115
|
-
if (!cert) {
|
|
116
|
-
return;
|
|
117
|
-
}
|
|
118
|
-
config.certificate = cert;
|
|
119
|
-
}
|
|
62
|
+
protected handleClearCertificate(): void {
|
|
63
|
+
const { config } = this;
|
|
64
|
+
delete config.certificate;
|
|
65
|
+
this.requestUpdate();
|
|
120
66
|
this.notifyChange();
|
|
121
|
-
|
|
122
|
-
CoreEvents.Telemetry.event({
|
|
123
|
-
category: 'Certificates',
|
|
124
|
-
action: 'Authorization',
|
|
125
|
-
label: 'selected-certificate'
|
|
126
|
-
}, this);
|
|
127
67
|
}
|
|
128
68
|
|
|
129
69
|
override render(): TemplateResult {
|
|
@@ -134,81 +74,41 @@ export default class CcAuthorization extends Authorization {
|
|
|
134
74
|
}
|
|
135
75
|
|
|
136
76
|
protected renderEditor(): TemplateResult | typeof nothing {
|
|
137
|
-
const {
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
}
|
|
141
|
-
const hasItems = !!items && !!items.length;
|
|
142
|
-
if (!loadingError && !hasItems) {
|
|
143
|
-
return html`
|
|
144
|
-
${this.renderEmptyState()}
|
|
145
|
-
`;
|
|
146
|
-
}
|
|
147
|
-
const config = authorization.config as ICCAuthorization || {} as ICCAuthorization;
|
|
77
|
+
const { config } = this;
|
|
78
|
+
const { certificate } = config;
|
|
79
|
+
// Note, the <form> element is required by the Authorization class for validation.
|
|
148
80
|
return html`
|
|
149
|
-
|
|
150
|
-
${
|
|
151
|
-
|
|
152
|
-
${this.renderList(items, config.certificate)}
|
|
153
|
-
</form>
|
|
154
|
-
` : ''}
|
|
81
|
+
<form autocomplete="on" class="auth-form cc-auth"></form>
|
|
82
|
+
${this.renderSelector()}
|
|
83
|
+
${certificate ? this.renderSelection(certificate) : nothing}
|
|
155
84
|
`;
|
|
156
85
|
}
|
|
157
86
|
|
|
158
|
-
protected
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
protected renderEmptyState(): TemplateResult {
|
|
163
|
-
return html`<p class="empty-screen body-large">There are no certificates installed in this application.</p>`;
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
protected renderList(items: HttpCertificate[], current?: ICertificate): TemplateResult {
|
|
167
|
-
const currentKey = current && current.key;
|
|
87
|
+
protected renderSelector(): TemplateResult {
|
|
88
|
+
const { selectorRendered } = this;
|
|
89
|
+
const kinds: typeof CertificateFileKind[] = [CertificateFileKind];
|
|
168
90
|
return html`
|
|
169
|
-
|
|
170
|
-
${
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
protected renderNoneItem(selectedKey?: string): TemplateResult {
|
|
175
|
-
return html`
|
|
176
|
-
<label class="label-medium">
|
|
177
|
-
<ui-radio name="certificate" value="" .checked="${!selectedKey}" @change="${this.handleSelected}"></ui-radio>
|
|
178
|
-
None
|
|
179
|
-
</label>
|
|
180
|
-
`;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
/**
|
|
184
|
-
* @param item The item to render
|
|
185
|
-
* @returns The template for the dropdown item.
|
|
186
|
-
*/
|
|
187
|
-
protected renderCertItem(item: HttpCertificate, selectedKey?: string): TemplateResult {
|
|
188
|
-
return html`
|
|
189
|
-
<div class="cert-item">
|
|
190
|
-
<label>
|
|
191
|
-
<ui-radio name="certificate" value="${item.key}" .checked="${item.key === selectedKey}" @change="${this.handleSelected}"></ui-radio>
|
|
192
|
-
<div class="cert-meta">
|
|
193
|
-
<span class="label-medium">${item.name}</span>
|
|
194
|
-
<span class="body-small">Added: ${this.renderDateTime(item.created)}</span>
|
|
195
|
-
</div>
|
|
196
|
-
</label>
|
|
91
|
+
<div class="selector">
|
|
92
|
+
<ui-dropdown-list @open="${this.handleDropDownOpen}">
|
|
93
|
+
<ui-button class="dropdown-trigger" type="tonal">Select a certificate</ui-button>
|
|
94
|
+
${selectorRendered ? html`<file-picker slot="dropdown" .kinds="${kinds}" @close="${this.handleClose}"></file-picker>` : nothing}
|
|
95
|
+
</ui-dropdown-list>
|
|
197
96
|
</div>
|
|
198
97
|
`;
|
|
199
98
|
}
|
|
200
99
|
|
|
201
|
-
|
|
202
|
-
* @param created The certificate created time.
|
|
203
|
-
* @returns The template for the cert time element.
|
|
204
|
-
*/
|
|
205
|
-
protected renderDateTime(created?: number): TemplateResult {
|
|
206
|
-
if (!created) {
|
|
207
|
-
return html`<span>Unknown</span>`;
|
|
208
|
-
}
|
|
209
|
-
const d = new Date(created);
|
|
100
|
+
protected renderSelection(certificate: HttpCertificate): TemplateResult {
|
|
210
101
|
return html`
|
|
211
|
-
<
|
|
102
|
+
<div class="certificate-info body-medium">
|
|
103
|
+
Current certificate: ${certificate.name}
|
|
104
|
+
<ui-icon-button
|
|
105
|
+
aria-label="Remove certificate from authorization"
|
|
106
|
+
title="Remove certificate from authorization"
|
|
107
|
+
@click="${this.handleClearCertificate}"
|
|
108
|
+
>
|
|
109
|
+
<ui-icon role="presentation" icon="deleteOutline"></ui-icon>
|
|
110
|
+
</ui-icon-button>
|
|
111
|
+
</div>
|
|
212
112
|
`;
|
|
213
113
|
}
|
|
214
114
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
+
import typography from '../../styles/m3/typography.module.js';
|
|
2
3
|
|
|
3
|
-
export default css`
|
|
4
|
+
export default [typography, css`
|
|
4
5
|
:host {
|
|
5
6
|
display: flex;
|
|
6
7
|
flex-direction: column;
|
|
@@ -32,7 +33,8 @@ http-body-text-editor {
|
|
|
32
33
|
background-color: #FFEB3B;
|
|
33
34
|
color: #000;
|
|
34
35
|
padding: 0 8px;
|
|
35
|
-
border-radius:
|
|
36
|
+
border-radius: var(--md-sys-shape-corner-small);
|
|
37
|
+
margin-bottom: 20px;
|
|
36
38
|
}
|
|
37
39
|
|
|
38
40
|
.invalid-mime .warning-icon {
|
|
@@ -54,14 +56,6 @@ http-body-text-editor {
|
|
|
54
56
|
.form-info {
|
|
55
57
|
margin: 20px 0 0 0;
|
|
56
58
|
color: var(--md-sys-color-on-surface);
|
|
57
|
-
font-family: var(--md-sys-typescale-body-small-font-family-name);
|
|
58
|
-
font-style: var(--md-sys-typescale-body-small-font-family-style);
|
|
59
|
-
font-weight: var(--md-sys-typescale-body-small-font-weight);
|
|
60
|
-
font-size: var(--md-sys-typescale-body-small-font-size);
|
|
61
|
-
letter-spacing: var(--md-sys-typescale-body-small-tracking);
|
|
62
|
-
line-height: var(--md-sys-typescale-body-small-height);
|
|
63
|
-
text-transform: var(--md-sys-typescale-body-small-text-transform);
|
|
64
|
-
text-decoration: var(--md-sys-typescale-body-small-text-decoration);
|
|
65
59
|
}
|
|
66
60
|
|
|
67
61
|
.file-picker {
|
|
@@ -73,13 +67,5 @@ http-body-text-editor {
|
|
|
73
67
|
display: flex;
|
|
74
68
|
align-items: center;
|
|
75
69
|
margin-left: 8px;
|
|
76
|
-
font-family: var(--md-sys-typescale-label-medium-font-family-name);
|
|
77
|
-
font-style: var(--md-sys-typescale-label-medium-font-family-style);
|
|
78
|
-
font-weight: var(--md-sys-typescale-label-medium-font-weight);
|
|
79
|
-
font-size: var(--md-sys-typescale-label-medium-font-size);
|
|
80
|
-
letter-spacing: var(--md-sys-typescale-label-medium-tracking);
|
|
81
|
-
line-height: var(--md-sys-typescale-label-medium-height);
|
|
82
|
-
text-transform: var(--md-sys-typescale-label-medium-text-transform);
|
|
83
|
-
text-decoration: var(--md-sys-typescale-label-medium-text-decoration);
|
|
84
70
|
}
|
|
85
|
-
|
|
71
|
+
`];
|
|
@@ -683,7 +683,7 @@ export default class BodyEditor extends ApiElement {
|
|
|
683
683
|
>
|
|
684
684
|
URL decode
|
|
685
685
|
</ui-button>
|
|
686
|
-
<label title="When set it automatically encodes the values before sending the request">
|
|
686
|
+
<label title="When set it automatically encodes the values before sending the request" class="label-medium">
|
|
687
687
|
<ui-checkbox .checked="${autoEncode}" @change="${this.handleUrlEncodeAutoChange}"></ui-checkbox>
|
|
688
688
|
Encode on send
|
|
689
689
|
</label>
|
|
@@ -803,7 +803,7 @@ export default class BodyEditor extends ApiElement {
|
|
|
803
803
|
|
|
804
804
|
protected renderFormInfo(): TemplateResult {
|
|
805
805
|
return html`
|
|
806
|
-
<p class="form-info">
|
|
806
|
+
<p class="form-info body-small">
|
|
807
807
|
Note that the content-type header will be added when the request is sent.
|
|
808
808
|
</p>
|
|
809
809
|
`;
|
|
@@ -829,7 +829,7 @@ export default class BodyEditor extends ApiElement {
|
|
|
829
829
|
const { value } = this;
|
|
830
830
|
const { size, name } = value as File;
|
|
831
831
|
return html`
|
|
832
|
-
<div class="file-info">
|
|
832
|
+
<div class="file-info label-medium">
|
|
833
833
|
<span class="file-name">${name || 'unknown name'}</span>
|
|
834
834
|
<span class="file-size">${size} bytes</span>
|
|
835
835
|
<ui-icon-button
|
|
@@ -850,7 +850,7 @@ export default class BodyEditor extends ApiElement {
|
|
|
850
850
|
}
|
|
851
851
|
const id = this.invalidMimeMessage;
|
|
852
852
|
return html`
|
|
853
|
-
<div class="invalid-mime">
|
|
853
|
+
<div class="invalid-mime body-medium">
|
|
854
854
|
<ui-icon icon="warning" class="warning-icon"></ui-icon>
|
|
855
855
|
${id === 1 ? this.renderFixableInvalidMime('multipart/form-data') : ''}
|
|
856
856
|
${id === 2 ? this.renderFixableInvalidMime('application/x-www-form-urlencoded') : ''}
|
|
@@ -863,7 +863,7 @@ export default class BodyEditor extends ApiElement {
|
|
|
863
863
|
*/
|
|
864
864
|
protected renderFixableInvalidMime(suggested: string): TemplateResult {
|
|
865
865
|
return html`
|
|
866
|
-
<p class="message">
|
|
866
|
+
<p class="message body-medium">
|
|
867
867
|
The <code>content-type</code> header has different value than <b>${suggested}</b>.
|
|
868
868
|
</p>
|
|
869
869
|
<ui-button class="fix" type="tonal" title="Updates the content type header for the request" @click="${this.autoFixMime}">Fix</ui-button>
|