@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.
Files changed (113) hide show
  1. package/client/editors/{entity-editor.js → entity-editor.ts} +2 -2
  2. package/client/editors/{entity-selector.js → entity-selector.ts} +45 -57
  3. package/client/editors/{property-editor.js → property-editor.ts} +1 -0
  4. package/client/editors/{things-editor-entity-selector.js → things-editor-entity-selector.ts} +27 -31
  5. package/client/editors/{things-editor-http-body.js → things-editor-http-body.ts} +43 -48
  6. package/client/editors/{things-editor-http-headers.js → things-editor-http-headers.ts} +48 -58
  7. package/client/editors/{things-editor-http-parameters.js → things-editor-http-parameters.ts} +48 -58
  8. package/client/grist/{connection-selector.js → connection-selector.ts} +2 -2
  9. package/client/grist/{connector-selector.js → connector-selector.ts} +2 -2
  10. package/client/grist/{dynamic-selector.js → dynamic-selector.ts} +9 -7
  11. package/client/grist/{task-type-selector.js → task-type-selector.ts} +4 -2
  12. package/client/index.ts +2 -0
  13. package/client/pages/{connection.js → connection.ts} +39 -45
  14. package/client/pages/{integration-monitor.js → integration-monitor.ts} +54 -56
  15. package/client/pages/{scenario-detail.js → scenario-detail.ts} +41 -47
  16. package/client/pages/scenario-importer.ts +107 -0
  17. package/client/pages/{scenario.js → scenario.ts} +15 -21
  18. package/client/viewparts/{connections-monitor.js → connections-monitor.ts} +76 -82
  19. package/client/viewparts/{monitoring-summary.js → monitoring-summary.ts} +55 -61
  20. package/client/viewparts/{pending-q-monitor.js → pending-q-monitor.ts} +110 -114
  21. package/client/viewparts/{scenario-instance-log-view.js → scenario-instance-log-view.ts} +31 -35
  22. package/client/viewparts/{scenario-instance-monitor.js → scenario-instance-monitor.ts} +67 -73
  23. package/client/viewparts/{scenario-instance-view.js → scenario-instance-view.ts} +100 -104
  24. package/client/viewparts/{scenario-monitor.js → scenario-monitor.ts} +143 -149
  25. package/client/viewparts/scenarios-monitor.ts +147 -0
  26. package/dist-client/bootstrap.d.ts +4 -0
  27. package/dist-client/bootstrap.js +29 -0
  28. package/dist-client/bootstrap.js.map +1 -0
  29. package/dist-client/editors/entity-editor.d.ts +10 -0
  30. package/dist-client/editors/entity-editor.js +47 -0
  31. package/dist-client/editors/entity-editor.js.map +1 -0
  32. package/dist-client/editors/entity-selector.d.ts +34 -0
  33. package/dist-client/editors/entity-selector.js +305 -0
  34. package/dist-client/editors/entity-selector.js.map +1 -0
  35. package/dist-client/editors/property-editor.d.ts +20 -0
  36. package/dist-client/editors/property-editor.js +61 -0
  37. package/dist-client/editors/property-editor.js.map +1 -0
  38. package/dist-client/editors/things-editor-entity-selector.d.ts +15 -0
  39. package/dist-client/editors/things-editor-entity-selector.js +87 -0
  40. package/dist-client/editors/things-editor-entity-selector.js.map +1 -0
  41. package/dist-client/editors/things-editor-http-body.d.ts +22 -0
  42. package/dist-client/editors/things-editor-http-body.js +130 -0
  43. package/dist-client/editors/things-editor-http-body.js.map +1 -0
  44. package/dist-client/editors/things-editor-http-headers.d.ts +29 -0
  45. package/dist-client/editors/things-editor-http-headers.js +160 -0
  46. package/dist-client/editors/things-editor-http-headers.js.map +1 -0
  47. package/dist-client/editors/things-editor-http-parameters.d.ts +29 -0
  48. package/dist-client/editors/things-editor-http-parameters.js +160 -0
  49. package/dist-client/editors/things-editor-http-parameters.js.map +1 -0
  50. package/dist-client/grist/connection-selector.d.ts +5 -0
  51. package/dist-client/grist/connection-selector.js +31 -0
  52. package/dist-client/grist/connection-selector.js.map +1 -0
  53. package/dist-client/grist/connector-selector.d.ts +5 -0
  54. package/dist-client/grist/connector-selector.js +31 -0
  55. package/dist-client/grist/connector-selector.js.map +1 -0
  56. package/dist-client/grist/dynamic-selector.d.ts +8 -0
  57. package/dist-client/grist/dynamic-selector.js +33 -0
  58. package/dist-client/grist/dynamic-selector.js.map +1 -0
  59. package/dist-client/grist/task-type-selector.d.ts +7 -0
  60. package/dist-client/grist/task-type-selector.js +58 -0
  61. package/dist-client/grist/task-type-selector.js.map +1 -0
  62. package/dist-client/index.d.ts +2 -0
  63. package/dist-client/index.js +3 -0
  64. package/dist-client/index.js.map +1 -0
  65. package/dist-client/pages/connection.d.ts +53 -0
  66. package/dist-client/pages/connection.js +429 -0
  67. package/dist-client/pages/connection.js.map +1 -0
  68. package/dist-client/pages/integration-monitor.d.ts +28 -0
  69. package/dist-client/pages/integration-monitor.js +340 -0
  70. package/dist-client/pages/integration-monitor.js.map +1 -0
  71. package/dist-client/pages/scenario-detail.d.ts +1 -0
  72. package/dist-client/pages/scenario-detail.js +303 -0
  73. package/dist-client/pages/scenario-detail.js.map +1 -0
  74. package/dist-client/pages/scenario-importer.d.ts +9 -0
  75. package/dist-client/pages/scenario-importer.js +116 -0
  76. package/dist-client/pages/scenario-importer.js.map +1 -0
  77. package/dist-client/pages/scenario.d.ts +68 -0
  78. package/dist-client/pages/scenario.js +582 -0
  79. package/dist-client/pages/scenario.js.map +1 -0
  80. package/dist-client/route.d.ts +1 -0
  81. package/dist-client/route.js +14 -0
  82. package/dist-client/route.js.map +1 -0
  83. package/dist-client/tsconfig.tsbuildinfo +1 -0
  84. package/dist-client/viewparts/connections-monitor.d.ts +10 -0
  85. package/dist-client/viewparts/connections-monitor.js +169 -0
  86. package/dist-client/viewparts/connections-monitor.js.map +1 -0
  87. package/dist-client/viewparts/monitoring-summary.d.ts +12 -0
  88. package/dist-client/viewparts/monitoring-summary.js +135 -0
  89. package/dist-client/viewparts/monitoring-summary.js.map +1 -0
  90. package/dist-client/viewparts/pending-q-monitor.d.ts +17 -0
  91. package/dist-client/viewparts/pending-q-monitor.js +247 -0
  92. package/dist-client/viewparts/pending-q-monitor.js.map +1 -0
  93. package/dist-client/viewparts/scenario-instance-log-view.d.ts +21 -0
  94. package/dist-client/viewparts/scenario-instance-log-view.js +105 -0
  95. package/dist-client/viewparts/scenario-instance-log-view.js.map +1 -0
  96. package/dist-client/viewparts/scenario-instance-monitor.d.ts +15 -0
  97. package/dist-client/viewparts/scenario-instance-monitor.js +171 -0
  98. package/dist-client/viewparts/scenario-instance-monitor.js.map +1 -0
  99. package/dist-client/viewparts/scenario-instance-view.d.ts +29 -0
  100. package/dist-client/viewparts/scenario-instance-view.js +263 -0
  101. package/dist-client/viewparts/scenario-instance-view.js.map +1 -0
  102. package/dist-client/viewparts/scenario-monitor.d.ts +16 -0
  103. package/dist-client/viewparts/scenario-monitor.js +288 -0
  104. package/dist-client/viewparts/scenario-monitor.js.map +1 -0
  105. package/dist-client/viewparts/scenarios-monitor.d.ts +16 -0
  106. package/dist-client/viewparts/scenarios-monitor.js +167 -0
  107. package/dist-client/viewparts/scenarios-monitor.js.map +1 -0
  108. package/package.json +10 -7
  109. package/client/index.js +0 -0
  110. package/client/pages/scenario-importer.js +0 -118
  111. package/client/viewparts/scenarios-monitor.js +0 -153
  112. /package/client/{bootstrap.js → bootstrap.ts} +0 -0
  113. /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 get properties() {
13
- return {
14
- value: String,
15
- searchFields: Array,
16
- config: Object,
17
- data: Object,
18
- queryName: String,
19
- select: Array,
20
- list: Object,
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
- static get styles() {
27
- return [
28
- MultiColumnFormStyles,
29
- css`
30
- :host {
31
- display: flex;
32
- flex-direction: column;
25
+ ox-grist {
26
+ flex: 1;
27
+ }
33
28
 
34
- background-color: #fff;
35
- }
29
+ .button-container {
30
+ display: flex;
31
+ margin-left: auto;
32
+ }
36
33
 
37
- ox-grist {
38
- flex: 1;
39
- }
34
+ form {
35
+ position: relative;
36
+ }
40
37
 
41
- .button-container {
42
- display: flex;
43
- margin-left: auto;
44
- }
38
+ [search] {
39
+ position: absolute;
40
+ right: 0;
41
+ }
42
+ `
43
+ ]
45
44
 
46
- form {
47
- position: relative;
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
- [search] {
51
- position: absolute;
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.oncancel.bind(this)}>${i18next.t('button.cancel')}</mwc-button>
80
- <mwc-button @click=${this.onconfirm.bind(this)}>${i18next.t('button.confirm')}</mwc-button>
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
- get grist() {
86
- return this.shadowRoot.querySelector('ox-grist')
87
- }
88
-
89
- oncancel(e) {
85
+ onCancel() {
90
86
  history.back()
91
87
  }
92
88
 
93
- onconfirm(e) {
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.onconfirm()
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 grist = this.shadowRoot.querySelector('ox-grist')
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)
@@ -6,6 +6,7 @@ import './things-editor-http-parameters'
6
6
  import './things-editor-http-body'
7
7
 
8
8
  import { html } from 'lit'
9
+ import { customElement, property, query } from 'lit/decorators.js'
9
10
 
10
11
  import { OxPropertyEditor } from '@operato/property-editor'
11
12
 
@@ -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 get properties() {
15
- return {
16
- value: String,
17
- properties: Object
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
- static get styles() {
22
- return [
23
- css`
24
- :host {
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(e)}>dashboard</mwc-icon>
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 get properties() {
17
- return {
18
- value: Object
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
- static get styles() {
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 get properties() {
17
- return {
18
- value: Object
19
- }
20
- }
21
-
22
- static get styles() {
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
- 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
- div {
39
- display: flex;
40
- flex-flow: row nowrap;
41
- align-items: center;
42
- }
33
+ div {
34
+ display: flex;
35
+ flex-flow: row nowrap;
36
+ align-items: center;
37
+ }
43
38
 
44
- div > * {
45
- min-width: 0px;
46
- min-height: 20px;
47
- margin: 2px;
48
- padding: 0;
49
- }
39
+ div > * {
40
+ min-width: 0px;
41
+ min-height: 20px;
42
+ margin: 2px;
43
+ padding: 0;
44
+ }
50
45
 
51
- button {
52
- width: 20px;
53
- text-align: center;
54
- border-radius: 50%;
55
- font-size: 1em;
56
- }
46
+ button {
47
+ width: 20px;
48
+ text-align: center;
49
+ border-radius: 50%;
50
+ font-size: 1em;
51
+ }
57
52
 
58
- input {
59
- flex: 1;
60
- }
61
- `
62
- ]
63
- }
53
+ input {
54
+ flex: 1;
55
+ }
56
+ `
57
+ ]
64
58
 
65
- constructor() {
66
- super()
59
+ @property({ type: Object }) value: { [key: string]: string } = {}
67
60
 
68
- this.value = {}
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(e)} tabindex="-1">+</button>
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(e) {
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)