@things-factory/integration-ui 6.1.66 → 6.1.71
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/client/editors/{entity-editor.js → entity-editor.ts} +2 -2
- package/client/editors/{entity-selector.js → entity-selector.ts} +45 -57
- package/client/editors/{property-editor.js → property-editor.ts} +1 -0
- package/client/editors/{things-editor-entity-selector.js → things-editor-entity-selector.ts} +27 -31
- package/client/editors/{things-editor-http-body.js → things-editor-http-body.ts} +43 -48
- package/client/editors/{things-editor-http-headers.js → things-editor-http-headers.ts} +48 -58
- package/client/editors/{things-editor-http-parameters.js → things-editor-http-parameters.ts} +48 -58
- package/client/grist/{connection-selector.js → connection-selector.ts} +2 -2
- package/client/grist/{connector-selector.js → connector-selector.ts} +2 -2
- package/client/grist/{dynamic-selector.js → dynamic-selector.ts} +9 -7
- package/client/grist/{task-type-selector.js → task-type-selector.ts} +4 -2
- package/client/index.ts +2 -0
- package/client/pages/{connection.js → connection.ts} +39 -45
- package/client/pages/{integration-monitor.js → integration-monitor.ts} +54 -56
- package/client/pages/{scenario-detail.js → scenario-detail.ts} +41 -47
- package/client/pages/scenario-importer.ts +107 -0
- package/client/pages/{scenario.js → scenario.ts} +15 -21
- package/client/viewparts/{connections-monitor.js → connections-monitor.ts} +76 -82
- package/client/viewparts/{monitoring-summary.js → monitoring-summary.ts} +55 -61
- package/client/viewparts/{pending-q-monitor.js → pending-q-monitor.ts} +110 -114
- package/client/viewparts/{scenario-instance-log-view.js → scenario-instance-log-view.ts} +31 -35
- package/client/viewparts/{scenario-instance-monitor.js → scenario-instance-monitor.ts} +67 -73
- package/client/viewparts/{scenario-instance-view.js → scenario-instance-view.ts} +100 -104
- package/client/viewparts/{scenario-monitor.js → scenario-monitor.ts} +143 -149
- package/client/viewparts/scenarios-monitor.ts +147 -0
- package/dist-client/bootstrap.d.ts +4 -0
- package/dist-client/bootstrap.js +29 -0
- package/dist-client/bootstrap.js.map +1 -0
- package/dist-client/editors/entity-editor.d.ts +10 -0
- package/dist-client/editors/entity-editor.js +47 -0
- package/dist-client/editors/entity-editor.js.map +1 -0
- package/dist-client/editors/entity-selector.d.ts +34 -0
- package/dist-client/editors/entity-selector.js +305 -0
- package/dist-client/editors/entity-selector.js.map +1 -0
- package/dist-client/editors/property-editor.d.ts +20 -0
- package/dist-client/editors/property-editor.js +61 -0
- package/dist-client/editors/property-editor.js.map +1 -0
- package/dist-client/editors/things-editor-entity-selector.d.ts +15 -0
- package/dist-client/editors/things-editor-entity-selector.js +87 -0
- package/dist-client/editors/things-editor-entity-selector.js.map +1 -0
- package/dist-client/editors/things-editor-http-body.d.ts +22 -0
- package/dist-client/editors/things-editor-http-body.js +130 -0
- package/dist-client/editors/things-editor-http-body.js.map +1 -0
- package/dist-client/editors/things-editor-http-headers.d.ts +29 -0
- package/dist-client/editors/things-editor-http-headers.js +160 -0
- package/dist-client/editors/things-editor-http-headers.js.map +1 -0
- package/dist-client/editors/things-editor-http-parameters.d.ts +29 -0
- package/dist-client/editors/things-editor-http-parameters.js +160 -0
- package/dist-client/editors/things-editor-http-parameters.js.map +1 -0
- package/dist-client/grist/connection-selector.d.ts +5 -0
- package/dist-client/grist/connection-selector.js +31 -0
- package/dist-client/grist/connection-selector.js.map +1 -0
- package/dist-client/grist/connector-selector.d.ts +5 -0
- package/dist-client/grist/connector-selector.js +31 -0
- package/dist-client/grist/connector-selector.js.map +1 -0
- package/dist-client/grist/dynamic-selector.d.ts +8 -0
- package/dist-client/grist/dynamic-selector.js +33 -0
- package/dist-client/grist/dynamic-selector.js.map +1 -0
- package/dist-client/grist/task-type-selector.d.ts +7 -0
- package/dist-client/grist/task-type-selector.js +58 -0
- package/dist-client/grist/task-type-selector.js.map +1 -0
- package/dist-client/index.d.ts +2 -0
- package/dist-client/index.js +3 -0
- package/dist-client/index.js.map +1 -0
- package/dist-client/pages/connection.d.ts +53 -0
- package/dist-client/pages/connection.js +429 -0
- package/dist-client/pages/connection.js.map +1 -0
- package/dist-client/pages/integration-monitor.d.ts +28 -0
- package/dist-client/pages/integration-monitor.js +340 -0
- package/dist-client/pages/integration-monitor.js.map +1 -0
- package/dist-client/pages/scenario-detail.d.ts +1 -0
- package/dist-client/pages/scenario-detail.js +303 -0
- package/dist-client/pages/scenario-detail.js.map +1 -0
- package/dist-client/pages/scenario-importer.d.ts +9 -0
- package/dist-client/pages/scenario-importer.js +116 -0
- package/dist-client/pages/scenario-importer.js.map +1 -0
- package/dist-client/pages/scenario.d.ts +68 -0
- package/dist-client/pages/scenario.js +582 -0
- package/dist-client/pages/scenario.js.map +1 -0
- package/dist-client/route.d.ts +1 -0
- package/dist-client/route.js +14 -0
- package/dist-client/route.js.map +1 -0
- package/dist-client/tsconfig.tsbuildinfo +1 -0
- package/dist-client/viewparts/connections-monitor.d.ts +10 -0
- package/dist-client/viewparts/connections-monitor.js +169 -0
- package/dist-client/viewparts/connections-monitor.js.map +1 -0
- package/dist-client/viewparts/monitoring-summary.d.ts +12 -0
- package/dist-client/viewparts/monitoring-summary.js +135 -0
- package/dist-client/viewparts/monitoring-summary.js.map +1 -0
- package/dist-client/viewparts/pending-q-monitor.d.ts +17 -0
- package/dist-client/viewparts/pending-q-monitor.js +247 -0
- package/dist-client/viewparts/pending-q-monitor.js.map +1 -0
- package/dist-client/viewparts/scenario-instance-log-view.d.ts +21 -0
- package/dist-client/viewparts/scenario-instance-log-view.js +105 -0
- package/dist-client/viewparts/scenario-instance-log-view.js.map +1 -0
- package/dist-client/viewparts/scenario-instance-monitor.d.ts +15 -0
- package/dist-client/viewparts/scenario-instance-monitor.js +171 -0
- package/dist-client/viewparts/scenario-instance-monitor.js.map +1 -0
- package/dist-client/viewparts/scenario-instance-view.d.ts +29 -0
- package/dist-client/viewparts/scenario-instance-view.js +263 -0
- package/dist-client/viewparts/scenario-instance-view.js.map +1 -0
- package/dist-client/viewparts/scenario-monitor.d.ts +16 -0
- package/dist-client/viewparts/scenario-monitor.js +288 -0
- package/dist-client/viewparts/scenario-monitor.js.map +1 -0
- package/dist-client/viewparts/scenarios-monitor.d.ts +16 -0
- package/dist-client/viewparts/scenarios-monitor.js +167 -0
- package/dist-client/viewparts/scenarios-monitor.js.map +1 -0
- package/package.json +10 -7
- package/client/index.js +0 -0
- package/client/pages/scenario-importer.js +0 -118
- package/client/viewparts/scenarios-monitor.js +0 -153
- /package/client/{bootstrap.js → bootstrap.ts} +0 -0
- /package/client/{route.js → route.ts} +0 -0
|
@@ -5,10 +5,12 @@
|
|
|
5
5
|
import './things-editor-entity-selector'
|
|
6
6
|
|
|
7
7
|
import { html } from 'lit'
|
|
8
|
+
import { customElement } from 'lit/decorators.js'
|
|
8
9
|
import cloneDeep from 'lodash-es/cloneDeep'
|
|
9
10
|
|
|
10
11
|
import { OxPropertyEditor } from '@operato/property-editor'
|
|
11
12
|
|
|
13
|
+
@customElement('property-editor-entity-selector')
|
|
12
14
|
export class PropertyEditorEntitySelector extends OxPropertyEditor {
|
|
13
15
|
static get styles() {
|
|
14
16
|
return [...OxPropertyEditor.styles]
|
|
@@ -49,5 +51,3 @@ export class PropertyEditorEntitySelector extends OxPropertyEditor {
|
|
|
49
51
|
this.observe.call(this, this.value)
|
|
50
52
|
}
|
|
51
53
|
}
|
|
52
|
-
|
|
53
|
-
customElements.define('property-editor-entity-selector', PropertyEditorEntitySelector)
|
|
@@ -2,58 +2,58 @@ import '@operato/data-grist'
|
|
|
2
2
|
|
|
3
3
|
import gql from 'graphql-tag'
|
|
4
4
|
import { css, html, LitElement } from 'lit'
|
|
5
|
+
import { customElement, property, query } from 'lit/decorators.js'
|
|
5
6
|
|
|
7
|
+
import { DataGrist } from '@operato/data-grist/ox-grist.js'
|
|
6
8
|
import { buildArgs, client } from '@operato/graphql'
|
|
7
9
|
import { i18next } from '@operato/i18n'
|
|
8
10
|
import { isMobileDevice } from '@operato/utils'
|
|
9
11
|
import { MultiColumnFormStyles } from '@things-factory/form-ui'
|
|
10
12
|
|
|
13
|
+
@customElement('entity-selector')
|
|
11
14
|
export class EntitySelector extends LitElement {
|
|
12
|
-
static
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
basicArgs: Object,
|
|
22
|
-
selectedRecords: Array
|
|
23
|
-
}
|
|
24
|
-
}
|
|
15
|
+
static styles = [
|
|
16
|
+
MultiColumnFormStyles,
|
|
17
|
+
css`
|
|
18
|
+
:host {
|
|
19
|
+
display: flex;
|
|
20
|
+
flex-direction: column;
|
|
21
|
+
|
|
22
|
+
background-color: #fff;
|
|
23
|
+
}
|
|
25
24
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
css`
|
|
30
|
-
:host {
|
|
31
|
-
display: flex;
|
|
32
|
-
flex-direction: column;
|
|
25
|
+
ox-grist {
|
|
26
|
+
flex: 1;
|
|
27
|
+
}
|
|
33
28
|
|
|
34
|
-
|
|
35
|
-
|
|
29
|
+
.button-container {
|
|
30
|
+
display: flex;
|
|
31
|
+
margin-left: auto;
|
|
32
|
+
}
|
|
36
33
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
34
|
+
form {
|
|
35
|
+
position: relative;
|
|
36
|
+
}
|
|
40
37
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
38
|
+
[search] {
|
|
39
|
+
position: absolute;
|
|
40
|
+
right: 0;
|
|
41
|
+
}
|
|
42
|
+
`
|
|
43
|
+
]
|
|
45
44
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
45
|
+
@property({ type: String }) value?: string
|
|
46
|
+
@property({ type: Array }) searchFields: any
|
|
47
|
+
@property({ type: Object }) config: any
|
|
48
|
+
@property({ type: Object }) data: any
|
|
49
|
+
@property({ type: String }) queryName!: string
|
|
50
|
+
@property({ type: Array }) select: any
|
|
51
|
+
@property({ type: Object }) list: any
|
|
52
|
+
@property({ type: Object }) basicArgs: any
|
|
53
|
+
@property({ type: Array }) selectedRecords: any
|
|
49
54
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
right: 0;
|
|
53
|
-
}
|
|
54
|
-
`
|
|
55
|
-
]
|
|
56
|
-
}
|
|
55
|
+
@query('ox-grist') grist!: DataGrist
|
|
56
|
+
@query('search-form') searchForm!: HTMLFormElement
|
|
57
57
|
|
|
58
58
|
render() {
|
|
59
59
|
return html`
|
|
@@ -76,21 +76,17 @@ export class EntitySelector extends LitElement {
|
|
|
76
76
|
></ox-grist>
|
|
77
77
|
|
|
78
78
|
<div class="button-container">
|
|
79
|
-
<mwc-button @click=${this.
|
|
80
|
-
<mwc-button @click=${this.
|
|
79
|
+
<mwc-button @click=${this.onCancel.bind(this)}>${i18next.t('button.cancel')}</mwc-button>
|
|
80
|
+
<mwc-button @click=${this.onConfirm.bind(this)}>${i18next.t('button.confirm')}</mwc-button>
|
|
81
81
|
</div>
|
|
82
82
|
`
|
|
83
83
|
}
|
|
84
84
|
|
|
85
|
-
|
|
86
|
-
return this.shadowRoot.querySelector('ox-grist')
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
oncancel(e) {
|
|
85
|
+
onCancel() {
|
|
90
86
|
history.back()
|
|
91
87
|
}
|
|
92
88
|
|
|
93
|
-
|
|
89
|
+
onConfirm() {
|
|
94
90
|
this.dispatchEvent(
|
|
95
91
|
new CustomEvent('entity-selected', {
|
|
96
92
|
detail: {
|
|
@@ -151,7 +147,7 @@ export class EntitySelector extends LitElement {
|
|
|
151
147
|
handlers: {
|
|
152
148
|
click: 'select-row',
|
|
153
149
|
dblclick: (columns, data, column, record, rowIndex, field) => {
|
|
154
|
-
this.
|
|
150
|
+
this.onConfirm()
|
|
155
151
|
}
|
|
156
152
|
},
|
|
157
153
|
appendable: false
|
|
@@ -310,17 +306,9 @@ export class EntitySelector extends LitElement {
|
|
|
310
306
|
return queryConditions
|
|
311
307
|
}
|
|
312
308
|
|
|
313
|
-
get searchForm() {
|
|
314
|
-
return this.shadowRoot.querySelector('search-form')
|
|
315
|
-
}
|
|
316
|
-
|
|
317
309
|
get selected() {
|
|
318
|
-
var
|
|
319
|
-
|
|
320
|
-
var selected = grist.selected
|
|
310
|
+
var selected = this.grist.selected
|
|
321
311
|
|
|
322
312
|
return selected && selected.length > 0 ? selected[0] : undefined
|
|
323
313
|
}
|
|
324
314
|
}
|
|
325
|
-
|
|
326
|
-
customElements.define('entity-selector', EntitySelector)
|
package/client/editors/{things-editor-entity-selector.js → things-editor-entity-selector.ts}
RENAMED
|
@@ -6,46 +6,44 @@ import '@material/mwc-icon'
|
|
|
6
6
|
import './entity-selector'
|
|
7
7
|
|
|
8
8
|
import { css, html, LitElement } from 'lit'
|
|
9
|
+
import { customElement, property, query } from 'lit/decorators.js'
|
|
9
10
|
|
|
10
11
|
import { i18next } from '@operato/i18n'
|
|
11
12
|
import { openPopup } from '@operato/layout'
|
|
12
13
|
|
|
14
|
+
@customElement('things-editor-entity-selector')
|
|
13
15
|
export default class ThingsEditorEntitySelector extends LitElement {
|
|
14
|
-
static
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
static styles = [
|
|
17
|
+
css`
|
|
18
|
+
:host {
|
|
19
|
+
position: relative;
|
|
20
|
+
display: inline-block;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
input[type='text'] {
|
|
24
|
+
box-sizing: border-box;
|
|
25
|
+
width: 100%;
|
|
26
|
+
height: 100%;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
mwc-icon {
|
|
30
|
+
position: absolute;
|
|
31
|
+
top: 0;
|
|
32
|
+
right: 0;
|
|
33
|
+
}
|
|
34
|
+
`
|
|
35
|
+
]
|
|
20
36
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
position: relative;
|
|
26
|
-
display: inline-block;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
input[type='text'] {
|
|
30
|
-
box-sizing: border-box;
|
|
31
|
-
width: 100%;
|
|
32
|
-
height: 100%;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
mwc-icon {
|
|
36
|
-
position: absolute;
|
|
37
|
-
top: 0;
|
|
38
|
-
right: 0;
|
|
39
|
-
}
|
|
40
|
-
`
|
|
41
|
-
]
|
|
42
|
-
}
|
|
37
|
+
@property({ type: String }) value?: string
|
|
38
|
+
@property({ type: Object }) properties: any
|
|
39
|
+
|
|
40
|
+
popup: any
|
|
43
41
|
|
|
44
42
|
render() {
|
|
45
43
|
return html`
|
|
46
44
|
<input id="text" type="text" .value=${this.value || ''} @change=${e => this._onInputChanged(e)} />
|
|
47
45
|
|
|
48
|
-
<mwc-icon @click=${e => this.openSelector(
|
|
46
|
+
<mwc-icon @click=${e => this.openSelector()}>dashboard</mwc-icon>
|
|
49
47
|
`
|
|
50
48
|
}
|
|
51
49
|
|
|
@@ -96,5 +94,3 @@ export default class ThingsEditorEntitySelector extends LitElement {
|
|
|
96
94
|
})
|
|
97
95
|
}
|
|
98
96
|
}
|
|
99
|
-
|
|
100
|
-
customElements.define('things-editor-entity-selector', ThingsEditorEntitySelector)
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
import { css, html, LitElement } from 'lit'
|
|
6
|
+
import { customElement, property, query } from 'lit/decorators.js'
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
9
|
http body editor element
|
|
@@ -12,54 +13,50 @@ Example:
|
|
|
12
13
|
<things-editor-http-body value=${map}>
|
|
13
14
|
</things-editor-http-body>
|
|
14
15
|
*/
|
|
16
|
+
|
|
17
|
+
@customElement('things-editor-http-body')
|
|
15
18
|
export default class ThingsEditorHttpBody extends LitElement {
|
|
16
|
-
static
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
static styles = [
|
|
20
|
+
css`
|
|
21
|
+
:host {
|
|
22
|
+
display: flex;
|
|
23
|
+
flex-direction: column;
|
|
24
|
+
align-content: center;
|
|
25
|
+
|
|
26
|
+
width: 100%;
|
|
27
|
+
overflow: hidden;
|
|
28
|
+
border: 1px solid #ccc;
|
|
29
|
+
margin: 5px 0;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
div {
|
|
33
|
+
display: flex;
|
|
34
|
+
flex-flow: row nowrap;
|
|
35
|
+
align-items: center;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
div[kind] {
|
|
39
|
+
border-bottom: 1px solid #aaa;
|
|
40
|
+
background-color: #ddd;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
div[accessor] {
|
|
44
|
+
background-color: #eee;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
label {
|
|
48
|
+
margin: 0 12px 0 3px;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
#accessor {
|
|
52
|
+
flex: 1;
|
|
53
|
+
min-height: 20px;
|
|
54
|
+
margin: 2px;
|
|
55
|
+
}
|
|
56
|
+
`
|
|
57
|
+
]
|
|
21
58
|
|
|
22
|
-
|
|
23
|
-
return [
|
|
24
|
-
css`
|
|
25
|
-
:host {
|
|
26
|
-
display: flex;
|
|
27
|
-
flex-direction: column;
|
|
28
|
-
align-content: center;
|
|
29
|
-
|
|
30
|
-
width: 100%;
|
|
31
|
-
overflow: hidden;
|
|
32
|
-
border: 1px solid #ccc;
|
|
33
|
-
margin: 5px 0;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
div {
|
|
37
|
-
display: flex;
|
|
38
|
-
flex-flow: row nowrap;
|
|
39
|
-
align-items: center;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
div[kind] {
|
|
43
|
-
border-bottom: 1px solid #aaa;
|
|
44
|
-
background-color: #ddd;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
div[accessor] {
|
|
48
|
-
background-color: #eee;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
label {
|
|
52
|
-
margin: 0 12px 0 3px;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
#accessor {
|
|
56
|
-
flex: 1;
|
|
57
|
-
min-height: 20px;
|
|
58
|
-
margin: 2px;
|
|
59
|
-
}
|
|
60
|
-
`
|
|
61
|
-
]
|
|
62
|
-
}
|
|
59
|
+
@property({ type: Object }) value: { [key: string]: string } = {}
|
|
63
60
|
|
|
64
61
|
firstUpdated() {
|
|
65
62
|
this.renderRoot.addEventListener('change', this._onChange.bind(this))
|
|
@@ -133,5 +130,3 @@ export default class ThingsEditorHttpBody extends LitElement {
|
|
|
133
130
|
this.dispatchEvent(new CustomEvent('change', { bubbles: true, composed: true }))
|
|
134
131
|
}
|
|
135
132
|
}
|
|
136
|
-
|
|
137
|
-
customElements.define('things-editor-http-body', ThingsEditorHttpBody)
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
import { css, html, LitElement } from 'lit'
|
|
6
|
+
import { customElement, property, query } from 'lit/decorators.js'
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
9
|
http headers editor element
|
|
@@ -12,61 +13,52 @@ Example:
|
|
|
12
13
|
<things-editor-http-headers value=${map}>
|
|
13
14
|
</things-editor-http-headers>
|
|
14
15
|
*/
|
|
16
|
+
@customElement('things-editor-http-headers')
|
|
15
17
|
export default class ThingsEditorHttpHeaders extends LitElement {
|
|
16
|
-
static
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
:
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
width: 100%;
|
|
31
|
-
overflow: hidden;
|
|
32
|
-
border: 1px solid #ccc;
|
|
33
|
-
margin: 5px 0;
|
|
34
|
-
|
|
35
|
-
background-color: #ddd;
|
|
36
|
-
}
|
|
18
|
+
static styles = [
|
|
19
|
+
css`
|
|
20
|
+
:host {
|
|
21
|
+
display: flex;
|
|
22
|
+
flex-direction: column;
|
|
23
|
+
align-content: center;
|
|
24
|
+
|
|
25
|
+
width: 100%;
|
|
26
|
+
overflow: hidden;
|
|
27
|
+
border: 1px solid #ccc;
|
|
28
|
+
margin: 5px 0;
|
|
29
|
+
|
|
30
|
+
background-color: #ddd;
|
|
31
|
+
}
|
|
37
32
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
33
|
+
div {
|
|
34
|
+
display: flex;
|
|
35
|
+
flex-flow: row nowrap;
|
|
36
|
+
align-items: center;
|
|
37
|
+
}
|
|
43
38
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
39
|
+
div > * {
|
|
40
|
+
min-width: 0px;
|
|
41
|
+
min-height: 20px;
|
|
42
|
+
margin: 2px;
|
|
43
|
+
padding: 0;
|
|
44
|
+
}
|
|
50
45
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
46
|
+
button {
|
|
47
|
+
width: 20px;
|
|
48
|
+
text-align: center;
|
|
49
|
+
border-radius: 50%;
|
|
50
|
+
font-size: 1em;
|
|
51
|
+
}
|
|
57
52
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
}
|
|
53
|
+
input {
|
|
54
|
+
flex: 1;
|
|
55
|
+
}
|
|
56
|
+
`
|
|
57
|
+
]
|
|
64
58
|
|
|
65
|
-
|
|
66
|
-
super()
|
|
59
|
+
@property({ type: Object }) value: { [key: string]: string } = {}
|
|
67
60
|
|
|
68
|
-
|
|
69
|
-
}
|
|
61
|
+
_changingNow: boolean = false
|
|
70
62
|
|
|
71
63
|
firstUpdated() {
|
|
72
64
|
this.renderRoot.addEventListener('change', this._onChange.bind(this))
|
|
@@ -87,7 +79,7 @@ export default class ThingsEditorHttpHeaders extends LitElement {
|
|
|
87
79
|
<div data-record-new>
|
|
88
80
|
<input type="text" data-key placeholder="key" value="" />
|
|
89
81
|
<input type="text" data-value placeholder="value" value="" />
|
|
90
|
-
<button class="record-action" @click=${e => this._add(
|
|
82
|
+
<button class="record-action" @click=${e => this._add()} tabindex="-1">+</button>
|
|
91
83
|
</div>
|
|
92
84
|
`
|
|
93
85
|
}
|
|
@@ -122,7 +114,7 @@ export default class ThingsEditorHttpHeaders extends LitElement {
|
|
|
122
114
|
this._changingNow = false
|
|
123
115
|
}
|
|
124
116
|
|
|
125
|
-
_build(includeNewRecord) {
|
|
117
|
+
_build(includeNewRecord?) {
|
|
126
118
|
if (includeNewRecord) var records = this.renderRoot.querySelectorAll('[data-record],[data-record-new]')
|
|
127
119
|
else var records = this.renderRoot.querySelectorAll('[data-record]')
|
|
128
120
|
|
|
@@ -131,11 +123,11 @@ export default class ThingsEditorHttpHeaders extends LitElement {
|
|
|
131
123
|
for (var i = 0; i < records.length; i++) {
|
|
132
124
|
var record = records[i]
|
|
133
125
|
|
|
134
|
-
var key = record.querySelector('[data-key]').value
|
|
126
|
+
var key = (record.querySelector('[data-key]') as HTMLInputElement).value
|
|
135
127
|
var inputs = record.querySelectorAll('[data-value]:not([style*="display: none"])')
|
|
136
128
|
if (!inputs || inputs.length == 0) continue
|
|
137
129
|
|
|
138
|
-
var input = inputs[inputs.length - 1]
|
|
130
|
+
var input = inputs[inputs.length - 1] as HTMLInputElement
|
|
139
131
|
|
|
140
132
|
var value = input.value
|
|
141
133
|
|
|
@@ -148,7 +140,7 @@ export default class ThingsEditorHttpHeaders extends LitElement {
|
|
|
148
140
|
|
|
149
141
|
/* map아이템들을 template(dom-repeat)용 배열로 변환하는 함수 */
|
|
150
142
|
_toArray(map) {
|
|
151
|
-
var array = []
|
|
143
|
+
var array: { key: any; value: any }[] = []
|
|
152
144
|
|
|
153
145
|
for (var key in map) {
|
|
154
146
|
array.push({
|
|
@@ -160,17 +152,17 @@ export default class ThingsEditorHttpHeaders extends LitElement {
|
|
|
160
152
|
return array
|
|
161
153
|
}
|
|
162
154
|
|
|
163
|
-
_add(
|
|
155
|
+
_add() {
|
|
164
156
|
this._build(true)
|
|
165
157
|
|
|
166
158
|
var inputs = this.renderRoot.querySelectorAll('[data-record-new] input:not([style*="display: none"])')
|
|
167
159
|
|
|
168
160
|
for (var i = 0; i < inputs.length; i++) {
|
|
169
|
-
let input = inputs[i]
|
|
161
|
+
let input = inputs[i] as HTMLInputElement
|
|
170
162
|
input.value = ''
|
|
171
163
|
}
|
|
172
164
|
|
|
173
|
-
inputs[0].focus()
|
|
165
|
+
;(inputs[0] as HTMLInputElement).focus()
|
|
174
166
|
}
|
|
175
167
|
|
|
176
168
|
_delete(e) {
|
|
@@ -179,5 +171,3 @@ export default class ThingsEditorHttpHeaders extends LitElement {
|
|
|
179
171
|
this._build()
|
|
180
172
|
}
|
|
181
173
|
}
|
|
182
|
-
|
|
183
|
-
customElements.define('things-editor-http-headers', ThingsEditorHttpHeaders)
|